modbus.tcp_request
modbus.tcp_request
功能
构建 Modbus TCP 请求帧,包含 MBAP 头和 PDU。
语法
modbus.tcp_request(config)
参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| config | Object | 是 | 无 | 请求配置对象。 |
配置字段
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| transaction_id | Int | 否 | 1 | TCP 事务编号。 |
| protocol_id | Int | 否 | 0 | Modbus TCP 协议编号,通常为 0。 |
| unit_id | Int | 否 | 1 | 单元标识。 |
| function_code/function/address/quantity/value/values/pdu/data | 同 rtu_request | 按功能决定 | 无 | PDU 构建字段。 |
返回值
| 类型 | 说明 |
|---|---|
| Bytes | Modbus TCP ADU 完整请求帧。 |
代码示例
packet = modbus.tcp_request({ transaction_id: 1, unit_id: 1, function: 'read_holding_registers', address: 0, quantity: 2 }) // 输出:000100000006010300000002 print packet.to_hex()
注意事项
- MBAP length 字段会自动按
unit_id + pdu长度写入。