diff --git a/Tests/Modbus.Net.PersistedTests/Program.cs b/Tests/Modbus.Net.PersistedTests/Program.cs index 81171a4..ec6ee60 100644 --- a/Tests/Modbus.Net.PersistedTests/Program.cs +++ b/Tests/Modbus.Net.PersistedTests/Program.cs @@ -12,7 +12,7 @@ namespace Modbus.Net.PersistedTests { Log.Logger = new LoggerConfiguration().MinimumLevel.Verbose().WriteTo.Console().CreateLogger(); - IMachineProperty machine = new ModbusMachine(1, ModbusType.Ascii, "COM5", + IMachineProperty machine = new ModbusMachine(1, ModbusType.Rtu, "COM1", new List() { new AddressUnit() @@ -40,9 +40,65 @@ namespace Modbus.Net.PersistedTests DataType = typeof(ushort) }, }, true, 2, 1); - + IMachineProperty machine2 = new ModbusMachine(2, ModbusType.Rtu, "COM1", + new List() + { + new AddressUnit() + { + Id = "1", + Area = "4X", + Address = 11, + Name = "test 1", + DataType = typeof(ushort) + }, + new AddressUnit() + { + Id = "2", + Area = "4X", + Address = 12, + Name = "test 2", + DataType = typeof(ushort) + }, + new AddressUnit() + { + Id = "3", + Area = "4X", + Address = 13, + Name = "test 3", + DataType = typeof(ushort) + }, + }, true, 3, 1); + IMachineProperty machine3 = new ModbusMachine(3, ModbusType.Rtu, "COM1", + new List() + { + new AddressUnit() + { + Id = "1", + Area = "4X", + Address = 21, + Name = "test 1", + DataType = typeof(ushort) + }, + new AddressUnit() + { + Id = "2", + Area = "4X", + Address = 22, + Name = "test 2", + DataType = typeof(ushort) + }, + new AddressUnit() + { + Id = "3", + Area = "4X", + Address = 23, + Name = "test 3", + DataType = typeof(ushort) + }, + }, true, 4, 1); + TaskManager manager = new TaskManager(20, true); - manager.AddMachines(new List>{machine}); + manager.AddMachines(new List> { machine, machine2, machine3 }); Random r = new Random(); manager.InvokeTimerForMachine(1, new TaskItemSetData(() => new Dictionary { @@ -79,7 +135,7 @@ namespace Modbus.Net.PersistedTests { "4X 23.0", r.Next() % 65536 }, - }, MachineSetDataType.Address, 10000, 10000)); + }, MachineSetDataType.Address, 10000, 10000)); Thread.Sleep(5000); manager.InvokeTimerAll(new TaskItemGetData(data => { @@ -87,7 +143,7 @@ namespace Modbus.Net.PersistedTests { Console.WriteLine(dataInner.Key + " " + dataInner.Value.PlcValue); } - + }, MachineGetDataType.Address, 10000, 10000)); Console.Read();