# modbus protocol auxiliary library ## Function `modbus()` provides Modbus RTU/TCP frame construction, CRC16 checksum response parsing capabilities. It only handles protocol bytes and does not directly open a serial port or TCP connection. ## Syntax ```bt modbus.method(args) modbus().method(args) ``` ## Parameters are determined according to the specific method. ## Return Value is determined by the specific method. ## Method | Method | Description | |------|------| | [rtu_request](/en/docs/modbus/rtu_request) | Constructs a Modbus RTU request frame. | | [tcp_request](/en/docs/modbus/tcp_request) | Construct a Modbus TCP request frame. | | [parse_rtu](/en/docs/modbus/parse_rtu) | Parse Modbus RTU response frame. | | [parse_tcp](/en/docs/modbus/parse_tcp) | Parse Modbus TCP response frames. | | [crc16](/en/docs/modbus/crc16) | Calculate Modbus RTU CRC16. | ## Code Examples ```bt packet = modbus.tcp_request({ transaction_id: 1, unit_id: 1, function: 'read_holding_registers', address: 0, quantity: 2 }) // Output: 000100000006010300000002 print packet.to_hex() ``` ## Notes - The generated request frame returns Bytes and can be passed directly to `serial.write()`, `tcp.write()` or `ws.send()`. -Supported function names: `read_coils`, `read_discrete_inputs`, `read_holding_registers`, `read_input_registers`, `write_single_coil`, `write_single_register`, `write_multiple_coils`, `write_multiple_registers`. - Pass in `pdu: bytes(...)` when you need to customize PDU.