public void TestaBunchOfMultiReads() { var db = 10; var operations = new List <ReadOperationParameter> { new ReadOperationParameter { Area = PlcArea.DB, Offset = 0, Type = typeof(byte), Args = new int[] { 1, db } }, new ReadOperationParameter { Area = PlcArea.DB, Offset = 1, Type = typeof(bool), Args = new int[] { 1, db } }, }; for (int i = 0; i < 100; i++) { operations.Add(new ReadOperationParameter { Area = PlcArea.DB, Offset = 1 + i, Type = typeof(bool), Args = new int[] { 1, db } }); } var client = new Dacs7Client(); client.Connect(ConnectionString); var result = client.ReadAnyRaw(operations); Assert.Equal(operations.Count(), result.Count()); operations.RemoveAt(0); result = client.ReadAnyRaw(operations); Assert.Equal(operations.Count(), result.Count()); client.Disconnect(); Assert.False(client.IsConnected); }
public void TestMulti() { var operations = new List <ReadOperationParameter> { new ReadOperationParameter { Area = PlcArea.DB, Offset = TestByteOffset, Type = typeof(byte), Args = new int[] { 1, TestDbNr } }, new ReadOperationParameter { Area = PlcArea.DB, Offset = TestBitOffset, Type = typeof(bool), Args = new int[] { 1, TestDbNr } } }; var writeOperations = new List <WriteOperationParameter> { new WriteOperationParameter { Area = PlcArea.DB, Offset = TestByteOffset, Type = typeof(byte), Args = new int[] { 1, TestDbNr }, Data = (byte)0x05 }, new WriteOperationParameter { Area = PlcArea.DB, Offset = TestBitOffset, Type = typeof(bool), Args = new int[] { 1, TestDbNr }, Data = true } }; var client = new Dacs7Client(); client.Connect(ConnectionString); client.WriteAny(writeOperations); var result = client.ReadAnyRaw(operations); client.Disconnect(); Assert.False(client.IsConnected); }
public static void MultiValuesSample() { var operations = new List <ReadOperationParameter> { new ReadOperationParameter { Area = PlcArea.DB, Offset = TestByteOffset, Type = typeof(byte), Args = new int[] { 1, TestDbNr } }, new ReadOperationParameter { Area = PlcArea.DB, Offset = TestBitOffset, Type = typeof(bool), Args = new int[] { 1, TestDbNr } } }; var result = _client.ReadAnyRaw(operations); //result is IEnumerable<byte[]> var writeOperations = new List <WriteOperationParameter> { new WriteOperationParameter { Area = PlcArea.DB, Offset = TestByteOffset, Type = typeof(byte), Args = new int[] { 1, TestDbNr }, Data = (byte)0x05 }, new WriteOperationParameter { Area = PlcArea.DB, Offset = TestBitOffset, Type = typeof(bool), Args = new int[] { 1, TestDbNr }, Data = true } }; _client.WriteAny(writeOperations); }