def readRTC(self): register = registerByName('Real time clock 1') sizeAddress = 3 result = self.client.read_holding_registers(register.address, sizeAddress, unit=self.unit) return self.decodeRTC(result.registers)
def read_input(self, name): register = registerByName(name) if register.is_coil(): response = self.client.read_coils(register.address, register.size, unit=self.unit) elif register.is_discrete_input(): response = self.client.read_discrete_inputs(register.address, register.size, unit=self.unit) elif register.is_input_register(): response = self.client.read_input_registers(register.address, register.size, unit=self.unit) else: response = self.client.read_holding_registers(register.address, register.size, unit=self.unit) return register.decode(response)
def read_input(self, name): register = registerByName(name) if register.is_coil(): response = self.client.read_coils(register.address, register.size, unit = self.unit) elif register.is_discrete_input(): response = self.client.read_discrete_inputs(register.address, register.size, unit = self.unit) elif register.is_input_register(): response = self.client.read_input_registers(register.address, register.size, unit = self.unit) else: response = self.client.read_holding_registers(register.address, register.size, unit = self.unit) return register.decode(response)
def write_output(self, name, value): register = registerByName(name) values = register.encode(value) response = False if register.is_coil(): self.client.write_coil(register.address, values, unit=self.unit) response = True elif register.is_discrete_input(): log.error("Cannot write discrete input " + repr(name)) pass elif register.is_input_register(): log.error("Cannot write input register " + repr(name)) pass else: self.client.write_registers(register.address, values, unit=self.unit) response = True return response
def write_output(self, name, value): register = registerByName(name) values = register.encode(value) response = False if register.is_coil(): self.client.write_coil(register.address, values, unit = self.unit) response = True elif register.is_discrete_input(): _logger.error("Cannot write discrete input " + repr(name)) pass elif register.is_input_register(): _logger.error("Cannot write input register " + repr(name)) pass else: self.client.write_registers(register.address, values, unit = self.unit) response = True return response
def writeRTC(self, datetime): register = registerByName('Real time clock 1') values = self.encodeRTC(datetime) self.client.write_registers(register.address, values, unit=self.unit) return True