一、先介绍NModbus4,NuGet安装NModbus4稳定版v2.1.0
1.新建类NModbus4Helper.cs
添加命名空间
using Modbus.Device;
using Modbus.Message;
byte _DeviceId = 8;
ModbusMaster master;
/// <summary>
/// 读取单个寄存器
/// </summary>
/// <param name="regAddr"></param>
/// <param name="value"></param>
/// <returns></returns>
public byte[] ReadSingleRegister(ushort regAddr)
{
try
{
ReadHoldingInputRegistersRequest readRegistersReq = new ReadHoldingInputRegistersRequest(0x03, _DeviceId, regAddr, 1);
//获取响应报文
ReadHoldingInputRegistersResponse readRegistersRes = master.ExecuteCustomMessage<ReadHoldingInputRegistersResponse>(readRegistersReq);
return readRegistersRes.ProtocolDataUnit;
}
catch

这篇博客介绍了如何在C#中使用NModbus4和EasyModbusTCP库进行Modbus通信。首先,通过NuGet安装了两个库的稳定版本,并创建了NModbus4Helper类,实现读取单个和多个寄存器的功能。接着,展示了如何使用EasyModbusTCP打开串口连接,并提供了写入单个寄存器及读取寄存器的方法。这些代码示例对于理解和应用Modbus通信协议具有指导意义。

1242

被折叠的 条评论
为什么被折叠?



