Beispiel #1
0
 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)
Beispiel #2
0
 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)
Beispiel #3
0
 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)
Beispiel #4
0
 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
Beispiel #5
0
 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
Beispiel #6
0
 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