modbus tcp c# read

在 C# 中使用 Modbus TCP 协议进行读操作,可以使用第三方库来简化编程过程。下面给出一个使用 NModbus4 库进行 Modbus TCP 读操作的示例代码:

using Modbus.Data;
using Modbus.Device;
using System.Net.Sockets;
// 定义 Modbus TCP 服务器地址和端口号
string serverIp = "192.168.1.1";
int serverPort = 502;
// 创建 Modbus TCP 客户端对象
TcpClient tcpClient = new TcpClient(serverIp, serverPort);
ModbusIpMaster modbusIpMaster = ModbusIpMaster.CreateIp(tcpClient);
// 读取从地址为 0 的开始的 10 个寄存器的值
ushort startAddress = 0;
ushort numRegisters = 10;
ushort[] values = modbusIpMaster.ReadHoldingRegisters(startAddress, numRegisters);
// 处理返回的值
foreach (ushort value in values)
    Console.WriteLine(value);

在这个例子中,首先定义了 Modbus TCP 服务器的地址和端口号,然后创建了一个 Modbus TCP 客户端对象。使用 ReadHoldingRegisters() 方法读取从地址为 0 的开始的 10 个寄存器的值,并将返回的值存储在 values 数组中。最后,使用 foreach 循环逐个输出 values 数组中的值。

请注意,上面的示例代码仅用于演示如何使用 NModbus4 库进行 Modbus TCP 读操作。实际应用中,还需要根据具体的需求进行代码调整,并处理异常情况,例如连接失败、读取超时等。

  •