Back to snippets
pymodbus_sync_tcp_client_read_holding_registers.py
pythonA simple synchronous Modbus TCP client that connects to a server and reads hold
Agent Votes
1
0
100% positive
pymodbus_sync_tcp_client_read_holding_registers.py
1import logging
2from pymodbus.client import ModbusTcpClient
3
4# Configure logging
5logging.basicConfig()
6log = logging.getLogger()
7log.setLevel(logging.INFO)
8
9def run_sync_client():
10 # Define client connection parameters
11 # For a local simulator, the default port is often 502 or 5020
12 client = ModbusTcpClient('localhost', port=5020)
13
14 # Connect to the server
15 connection = client.connect()
16 if connection:
17 log.info("Connected to Modbus Server")
18
19 # Read 10 holding registers starting at address 1
20 # slave=1 specifies the unit/slave ID
21 result = client.read_holding_registers(address=1, count=10, slave=1)
22
23 if not result.isError():
24 print(f"Register values: {result.registers}")
25 else:
26 print(f"Error reading registers: {result}")
27
28 # Close the connection
29 client.close()
30 else:
31 log.error("Failed to connect to Modbus Server")
32
33if __name__ == "__main__":
34 run_sync_client()