45 lines
1,013 B
Python
45 lines
1,013 B
Python
import easymodbus.modbusClient
|
|
|
|
ipaddr, port = ('192.168.1.21', 502)
|
|
uid = 240
|
|
|
|
modbusclient = easymodbus.modbusClient.ModbusClient(ipaddr, port)
|
|
# modbusclient.timeout = 5000
|
|
modbusclient.unitidentifier = uid
|
|
modbusclient.connect()
|
|
|
|
modbusclient.is_connected()
|
|
|
|
# holdingRegisters = easymodbus.modbusClient.convert_registers_to_float(modbusclient.read_holdingregisters(2038,8))
|
|
# print (holdingRegisters)
|
|
|
|
def reg2str (r):
|
|
ms = (r & 0xff00) >> 8
|
|
ls = (r & 0xff)
|
|
return chr(ms) + chr(ls)
|
|
|
|
from functools import reduce
|
|
|
|
holdingRegisters = modbusclient.read_holdingregisters(296,1)
|
|
print(hex(holdingRegisters[0]))
|
|
|
|
holdingRegisters = modbusclient.read_holdingregisters(297,1)
|
|
print(holdingRegisters)
|
|
|
|
modbusclient.close()
|
|
|
|
from stabiliti import StabilitiController as SC
|
|
|
|
sc = SC(ipaddr)
|
|
|
|
sc.getNetworkConfigs()
|
|
|
|
sc.printAllFaults(sc.readFaultActivity())
|
|
|
|
sc.printAllFaults(sc.readFaultOccurence())
|
|
|
|
print (
|
|
list(filter (lambda x: x[1] == '1', enumerate(sc.readFaultActivity())))
|
|
)
|
|
|
|
sc.checkClose()
|