Files
allmende_ems/test.py

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()