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))
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)
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)
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))
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))