# modbus 协议辅助库 ## 功能 `modbus()` 提供 Modbus RTU/TCP 帧构建、CRC16 校验和响应解析能力。它只处理协议字节,不直接打开串口或 TCP 连接。 ## 语法 ```bt modbus.method(args) modbus().method(args) ``` ## 参数 按具体方法决定。 ## 返回值 按具体方法决定。 ## 方法 | 方法 | 说明 | |------|------| | [rtu_request](/zh-hans/docs/modbus/rtu_request) | 构建 Modbus RTU 请求帧。 | | [tcp_request](/zh-hans/docs/modbus/tcp_request) | 构建 Modbus TCP 请求帧。 | | [parse_rtu](/zh-hans/docs/modbus/parse_rtu) | 解析 Modbus RTU 响应帧。 | | [parse_tcp](/zh-hans/docs/modbus/parse_tcp) | 解析 Modbus TCP 响应帧。 | | [crc16](/zh-hans/docs/modbus/crc16) | 计算 Modbus RTU CRC16。 | ## 代码示例 ```bt 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(...)`。