from pyModbusTCP.client import ModbusClient from pyModbusTCP.constants import MODBUS_RTU from config.modbus import * from time import sleep ### MODBUS INITIALIZATION c = ModbusClient() c.mode(MODBUS_RTU) # enable MODBUS_RTU mode c.timeout(1) c.debug(True) c.auto_open(True) c.auto_close(True) reg_value={'dum':None} # DUMMY FOR RECORDING REGISTRY LISTS ### END MODBUS INITIALIZATION ### INTERNAL FUNCTIONS def loc_id(loc): device=loc.split('.') modmap,conn_id = MODBUS_MAP[device[2]],CONNECTIONS[device[0]][device[1]] return modmap,conn_id # [slave_id,reg_values],[IP_addr,port,slave_id_modifier] def reg_add(modmap,color): reg=[0x0,0x0,0x0] for cl in COLOR_LIST[color]: mapcol=modmap[1][cl] # [0xXXXX,0xXXXX,0xXXXX] for i in range(0,3): reg[i]+=mapcol[i] return reg def open_comm(): # MODBUS AUTO-RECONNECT