def testModbusDataBlockOther(self):
     ''' Test a base data block store '''
     block = BaseModbusDataBlock()
     self.assertRaises(NotImplementedException,
                       lambda: block.validate(1, 1))
     self.assertRaises(NotImplementedException,
                       lambda: block.getValues(1, 1))
     self.assertRaises(NotImplementedException,
                       lambda: block.setValues(1, 1))
Ejemplo n.º 2
0
    def testModbusDataBlockIterate(self):
        ''' Test a base data block store '''
        block = BaseModbusDataBlock()
        block.default(10, False)
        for idx,value in block:
            self.assertEqual(value, False)

        block.values = {0 : False, 2 : False, 3 : False }
        for idx,value in block:
            self.assertEqual(value, False)
Ejemplo n.º 3
0
    def testModbusDataBlockIterate(self):
        ''' Test a base data block store '''
        block = BaseModbusDataBlock()
        block.default(10, False)
        for idx,value in block:
            self.assertEqual(value, False)

        block.values = {0 : False, 2 : False, 3 : False }
        for idx,value in block:
            self.assertEqual(value, False)
Ejemplo n.º 4
0
    def testModbusDataBlock(self):
        ''' Test a base data block store '''
        block = BaseModbusDataBlock()
        block.default(10, True)

        self.assertNotEqual(str(block), None)
        self.assertEqual(block.default_value, True)
        self.assertEqual(block.values, [True]*10)

        block.default_value = False
        block.reset()
        self.assertEqual(block.values, [False]*10)
Ejemplo n.º 5
0
def run_server(esmart_serial_port_path: str, device_addr: int, modbus_host: str, modbus_port: int) -> None:
    mon = ESmartMonitor(esmart_serial_port_path, device_addr)

    th = threading.Thread(target=mon.run)
    th.daemon = True
    th.start()

    ir_block = RegistersBlock(mon, ModbusRegisterType.InputRegister)
    co_block = RegistersBlock(mon, ModbusRegisterType.Coil)
    hr_block = RegistersBlock(mon, ModbusRegisterType.HoldingRegister)
    empty = BaseModbusDataBlock()
    store = ModbusSlaveContext(di=empty, co=co_block, hr=hr_block, ir=ir_block, zero_mode=True)
    context = ModbusServerContext(slaves=store, single=True)

    StartTcpServer(context, address=(modbus_host, modbus_port))
Ejemplo n.º 6
0
    def testModbusDataBlock(self):
        ''' Test a base data block store '''
        block = BaseModbusDataBlock()
        block.default(10, True)

        self.assertNotEqual(str(block), None)
        self.assertEqual(block.default_value, True)
        self.assertEqual(block.values, [True]*10)

        block.default_value = False
        block.reset()
        self.assertEqual(block.values, [False]*10)
Ejemplo n.º 7
0
 def testModbusDataBlockOther(self):
     ''' Test a base data block store '''
     block = BaseModbusDataBlock()
     self.assertRaises(NotImplementedException, lambda: block.validate(1,1))
     self.assertRaises(NotImplementedException, lambda: block.getValues(1,1))
     self.assertRaises(NotImplementedException, lambda: block.setValues(1,1))