modbus protocol auxiliary library
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
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 | Constructs a Modbus RTU request frame. |
| tcp_request | Construct a Modbus TCP request frame. |
| parse_rtu | Parse Modbus RTU response frame. |
| parse_tcp | Parse Modbus TCP response frames. |
| crc16 | Calculate Modbus RTU CRC16. |
Code Examples
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()orws.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.