19 lines
493 B
Python
19 lines
493 B
Python
from pymodbus.client import ModbusTcpClient
|
|
import struct
|
|
|
|
MODBUS_IP="10.0.0.40"
|
|
client=ModbusTcpClient(MODBUS_IP, port=502)
|
|
client.connect()
|
|
|
|
try:
|
|
rr = client.read_input_registers(30, count=3, slave=1)
|
|
print("Raw 30..32:", rr.registers)
|
|
|
|
def as_int16(x):
|
|
return struct.unpack(">h", struct.pack(">H", x))[0]
|
|
|
|
for i, raw in enumerate(rr.registers, start=30):
|
|
print(i, "raw", raw, "int16", as_int16(raw), "scaled", as_int16(raw)/10.0)
|
|
finally:
|
|
client.close()
|