Module pyModbusTCP.client¶
pyModbusTCP Client
This module provide the ModbusClient class used to deal with modbus server.
class ModbusClient¶
-
class
pyModbusTCP.client.
ModbusClient
(host='localhost', port=502, unit_id=1, timeout=30.0, debug=False, auto_open=True, auto_close=False)¶ Modbus TCP client
-
__init__
(host='localhost', port=502, unit_id=1, timeout=30.0, debug=False, auto_open=True, auto_close=False)¶ Constructor.
Parameters: - host (str) – hostname or IPv4/IPv6 address server address
- port (int) – TCP port number
- unit_id (int) – unit ID
- timeout (float) – socket timeout in seconds
- debug (bool) – debug state
- auto_open (bool) – auto TCP connect
- auto_close (bool) – auto TCP close)
Returns: Object ModbusClient
Return type:
-
auto_close
¶ Get or set automatic TCP close after each request mode (True = turn on).
-
auto_open
¶ Get or set automatic TCP connect mode (True = turn on).
-
close
()¶ Close current TCP connection.
-
custom_request
(pdu)¶ Send a custom modbus request.
Parameters: pdu (bytes) – a modbus PDU (protocol data unit) Returns: modbus frame PDU or None if error Return type: bytes or None
-
debug
¶ Get or set the debug flag (True = turn on).
-
host
¶ Get or set the server to connect to.
This can be any string with a valid IPv4 / IPv6 address or hostname. Setting host to a new value will close the current socket.
-
is_open
¶ Get current status of the TCP connection (True = open).
-
last_error
¶ Last error code.
-
last_error_as_txt
¶ Human-readable text that describe last error.
-
last_except
¶ Return the last modbus exception code.
-
last_except_as_full_txt
¶ Verbose human-readable text that describe last modbus exception.
-
last_except_as_txt
¶ Short human-readable text that describe last modbus exception.
-
open
()¶ Connect to modbus server (open TCP connection).
Returns: connect status (True on success) Return type: bool
-
port
¶ Get or set the current TCP port (default is 502).
Setting port to a new value will close the current socket.
-
read_coils
(bit_addr, bit_nb=1)¶ Modbus function READ_COILS (0x01).
Parameters: - bit_addr (int) – bit address (0 to 65535)
- bit_nb (int) – number of bits to read (1 to 2000)
Returns: bits list or None if error
Return type: list of bool or None
-
read_discrete_inputs
(bit_addr, bit_nb=1)¶ Modbus function READ_DISCRETE_INPUTS (0x02).
Parameters: - bit_addr (int) – bit address (0 to 65535)
- bit_nb (int) – number of bits to read (1 to 2000)
Returns: bits list or None if error
Return type: list of bool or None
-
read_holding_registers
(reg_addr, reg_nb=1)¶ Modbus function READ_HOLDING_REGISTERS (0x03).
Parameters: - reg_addr (int) – register address (0 to 65535)
- reg_nb (int) – number of registers to read (1 to 125)
Returns: registers list or None if fail
Return type: list of int or None
-
read_input_registers
(reg_addr, reg_nb=1)¶ Modbus function READ_INPUT_REGISTERS (0x04).
Parameters: - reg_addr (int) – register address (0 to 65535)
- reg_nb (int) – number of registers to read (1 to 125)
Returns: registers list or None if fail
Return type: list of int or None
-
timeout
¶ Get or set requests timeout (default is 30 seconds).
The argument may be a floating point number for sub-second precision. Setting timeout to a new value will close the current socket.
-
unit_id
¶ Get or set the modbus unit identifier (default is 1).
Any int from 0 to 255 is valid.
-
version
¶ Return the current package version as a str.
-
write_multiple_coils
(bits_addr, bits_value)¶ Modbus function WRITE_MULTIPLE_COILS (0x0F).
Parameters: - bits_addr (int) – bits address (0 to 65535)
- bits_value (list) – bits values to write
Returns: True if write ok
Return type: bool
-
write_multiple_registers
(regs_addr, regs_value)¶ Modbus function WRITE_MULTIPLE_REGISTERS (0x10).
Parameters: - regs_addr (int) – registers address (0 to 65535)
- regs_value (list) – registers values to write
Returns: True if write ok
Return type: bool
-
write_single_coil
(bit_addr, bit_value)¶ Modbus function WRITE_SINGLE_COIL (0x05).
Parameters: - bit_addr (int) – bit address (0 to 65535)
- bit_value (bool) – bit value to write
Returns: True if write ok
Return type: bool
-
write_single_register
(reg_addr, reg_value)¶ Modbus function WRITE_SINGLE_REGISTER (0x06).
Parameters: - reg_addr (int) – register address (0 to 65535)
- reg_value (int) – register value to write
Returns: True if write ok
Return type: bool
-