Exemple #1
0
        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);
     }
 }
Exemple #3
0
 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));
            }
        }