public void RtuOverIsolatedTest() { var model = new ModbusModel(); var scanner = new ModbusRTUScanner(); using (var server = new SerialModel(SlaveCOM, model, scanner)) using (var master = ModbusMaster.IsolatedRTU(new SerialSettings(MasterCOM))) { //race condition avoided by access order H.SharedSlaveTest(model, master); } }
public void RtuExceptionOverIsolatedTest() { var model = new ModbusModel(); var scanner = new ModbusRTUScanner(); using (var server = new SerialModel(SlaveCOM, model, scanner)) using (var master = ModbusMaster.IsolatedRTU(new SerialSettings(MasterCOM))) { var ex = Assert.Throws <ModbusException>(() => H.SharedExceptionTest(master)); Assert.AreEqual("Modbus exception 2", ex.Message); Assert.AreEqual(2, ex.Code); } }
public void RtuOverSocketTest() { var model = new ModbusModel(); var scanner = new ModbusRTUScanner(); using (var server = new TcpServerModel(model, scanner)) using (var client = new TcpClient()) { client.Connect(IPAddress.Loopback, server.Port); var stream = new ModbusSocketStream(client, 400); var master = new ModbusMaster(stream, new ModbusRTUProtocol()); //race condition avoided by access order H.SharedSlaveTest(model, master); } }
public void RtuExceptionOverSocketTest() { var model = new ModbusModel(); var scanner = new ModbusRTUScanner(); using (var server = new TcpServerModel(model, scanner)) using (var client = new TcpClient()) { client.Connect(IPAddress.Loopback, server.Port); var stream = new ModbusSocketStream(client, 400); var master = new ModbusMaster(stream, new ModbusRTUProtocol()); var ex = Assert.Throws <ModbusException>(() => H.SharedExceptionTest(master)); Assert.AreEqual("Modbus exception 2", ex.Message); Assert.AreEqual(2, ex.Code); } }