modbus 协议辅助库
modbus 协议辅助库
功能
modbus() 提供 Modbus RTU/TCP 帧构建、CRC16 校验和响应解析能力。它只处理协议字节,不直接打开串口或 TCP 连接。
语法
modbus.method(args) modbus().method(args)
参数
按具体方法决定。
返回值
按具体方法决定。
方法
| 方法 | 说明 |
|---|---|
| rtu_request | 构建 Modbus RTU 请求帧。 |
| tcp_request | 构建 Modbus TCP 请求帧。 |
| parse_rtu | 解析 Modbus RTU 响应帧。 |
| parse_tcp | 解析 Modbus TCP 响应帧。 |
| crc16 | 计算 Modbus RTU CRC16。 |
代码示例
packet = modbus.tcp_request({ transaction_id: 1, unit_id: 1, function: 'read_holding_registers', address: 0, quantity: 2 }) // 输出:000100000006010300000002 print packet.to_hex()
注意事项
- 生成的请求帧返回 Bytes,可直接传给
serial.write()、tcp.write()或ws.send()。 - 支持功能名:
read_coils、read_discrete_inputs、read_holding_registers、read_input_registers、write_single_coil、write_single_register、write_multiple_coils、write_multiple_registers。 - 需要自定义 PDU 时可传入
pdu: bytes(...)。