public void NModbusSerialRtuSlave_BonusCharacter_VerifyTimeout() { SerialPort masterPort = ModbusMasterFixture.CreateAndOpenSerialPort(ModbusMasterFixture.DefaultMasterSerialPortName); SerialPort slavePort = ModbusMasterFixture.CreateAndOpenSerialPort(ModbusMasterFixture.DefaultSlaveSerialPortName); using (var master = ModbusSerialMaster.CreateRtu(masterPort)) using (var slave = ModbusSerialSlave.CreateRtu(1, slavePort)) { master.Transport.ReadTimeout = master.Transport.WriteTimeout = 1000; slave.DataStore = DataStoreFactory.CreateTestDataStore(); Thread slaveThread = new Thread(slave.Listen); slaveThread.IsBackground = true; slaveThread.Start(); // assert successful communication Assert.AreEqual(new bool[] { false, true }, master.ReadCoils(1, 1, 2)); // write "bonus" character masterPort.Write("*"); // assert successful communication Assert.AreEqual(new bool[] { false, true }, master.ReadCoils(1, 1, 2)); } }
public void NModbusUsbRtuMaster_ReadTimeout() { using (FtdUsbPort port = ModbusMasterFixture.CreateAndOpenUsbPort(ModbusMasterFixture.DefaultMasterUsbPortId)) { IModbusSerialMaster master = ModbusSerialMaster.CreateRtu(port); master.ReadCoils(100, 1, 1); } }
public void NModbusAsciiMaster_ReadTimeout() { using (SerialPort port = ModbusMasterFixture.CreateAndOpenSerialPort(ModbusMasterFixture.DefaultMasterSerialPortName)) { IModbusSerialMaster master = ModbusSerialMaster.CreateAscii(port); master.ReadCoils(100, 1, 1); } }
public void NModbusRtuMaster_ReadTimeout() { SerialPort port = ModbusMasterFixture.CreateAndOpenSerialPort(ModbusMasterFixture.DefaultMasterSerialPortName); using (var master = ModbusSerialMaster.CreateRtu(port)) { master.Transport.ReadTimeout = master.Transport.WriteTimeout = 1000; master.ReadCoils(100, 1, 1); } }
public void NModbusUsbAsciiMaster_ReadTimeout() { var port = ModbusMasterFixture.CreateAndOpenUsbPort(ModbusMasterFixture.DefaultMasterUsbPortId); using (var master = ModbusSerialMaster.CreateAscii(port)) { master.Transport.ReadTimeout = master.Transport.WriteTimeout = 1000; master.ReadCoils(100, 1, 1); } }
public void NModbusAsciiMaster_ReadTimeout() { SerialPort port = ModbusMasterFixture.CreateAndOpenSerialPort(ModbusMasterFixture.DefaultMasterSerialPortName); using (IModbusSerialMaster master = ModbusSerialMaster.CreateAscii(port)) { master.Transport.ReadTimeout = master.Transport.WriteTimeout = 1000; Assert.Throws <TimeoutException>(() => master.ReadCoils(100, 1, 1)); } }