c# Nmodbus 如何使用 tcp slave

c# Nmodbus how to tcp slave

我正在从 NModbus4 to NModbus 转换一个项目(因为 NModbus4 最后一次提交是在 5 年前)但是我找不到任何 modbus slave tcp 实现示例所以我坚持使用这段代码并且不不知道如何进一步。我整个上午都在寻找解决方案,但是

    applicationLog.Info("Initializing modbus slave");
    TcpListener tcpListener = new TcpListener(new IPAddress(new byte[] { 127, 0, 0, 1 }), Properties.Settings.Default.TcpModbusPort);
    modbusSlave = modbusFactory.CreateSlave(1, new SlaveDataStore());
    modbusSlaveTransport = modbusFactory.CreateSlaveNetwork(tcpListener);
    applicationLog.Info("Modbus slave listening on port " + Properties.Settings.Default.TcpModbusPort);

谁能帮帮我?

使用这个包,我已经成功连接到与测量设备通信的 Modbus RTU<->TCP 转换器:

https://www.nuget.org/packages/NModbus/

这里有一些可能有用的代码示例(尤其是第 466 行):

https://github.com/NModbus/NModbus/blob/develop/Samples/Program.cs

我测试了一种读取保持寄存器的方法(但作为 master),它似乎有效。