| 123456789101112131415161718192021222324252627282930313233343536 |
- using ModbusSimulationProtocol.Interface;
- using ModbusSimulationProtocol.Services;
- using NModbus;
- using System.Net.Sockets;
- namespace ModbusMasterSlaveSim;
- internal class Program
- {
- static void Main(string[] args)
- {
- IModbusLogger logger =new ModbusLogger();
- IModbusSlaveService modbusSlaveService =new ModbusSlaveService(logger);
- modbusSlaveService.Initialize("127.0.0.1", 1502);
- modbusSlaveService.AddSlave(1, 64, 64, 64, 64);
- modbusSlaveService.AddSlave(2, 128, 128, 128, 128);
- modbusSlaveService.ActivateNetwork();
- TcpClient masterTcpClient = new TcpClient("127.0.0.1", 1502);
- var factory = new ModbusFactory();
- var master = factory.CreateMaster(masterTcpClient);
- Task.Factory.StartNew(async () =>
- {
- Console.WriteLine("Waiting for 3s...");
- await Task.Delay(3000);
- master.WriteSingleCoil(1, 0, true);
- var rst = master.ReadCoils(1, 0, 2);
- });
- Task.Delay(Timeout.Infinite).GetAwaiter().GetResult();
- }
- }
|