c#使用Modbus TCP

c#使用Modbus TCP

在C#中,使用第三方库来实现Modbus TCP通讯。其中比较常用的是EasyModbusTCP库。

以下是使用EasyModbusTCP库进行Modbus TCP通讯的示例代码:

首先需要安装EasyModbusTCP库,可以通过NuGet包管理器来安装。

1.创建一个ModbusClient对象,并设置连接参数:

csharp 复制代码
using EasyModbus;

// 创建ModbusClient对象
ModbusClient modbusClient = new ModbusClient();

// 设置连接参数
modbusClient.IPAddress = "192.168.1.100"; // 服务器IP地址
modbusClient.Port = 502; // 端口号
modbusClient.Connect(); // 建立连接

2.读取数据:

csharp 复制代码
// 读取保持寄存器的数据
int[] registers = modbusClient.ReadHoldingRegisters(0, 10); // 从地址0开始读取10个保持寄存器的数据

// 读取输入寄存器的数据
int[] inputRegisters = modbusClient.ReadInputRegisters(0, 10); // 从地址0开始读取10个输入寄存器的数据

3.写入数据:

csharp 复制代码
复制代码运行
// 写入保持寄存器的数据
modbusClient.WriteSingleRegister(0, 1234); // 将值1234写入地址为0的保持寄存器

// 写入多个保持寄存器的数据
int[] values = new int[] { 1, 2, 3, 4, 5 };
modbusClient.WriteMultipleRegisters(0, values); // 将数组values中的值写入从地址0开始的连续5个保持寄存器

4.断开连接:

csharp 复制代码
modbusClient.Disconnect(); // 断开连接
相关推荐
数据的世界017 分钟前
C#4.0权威指南第10章:继承
c#
WJ.Polar1 小时前
华为交换机VLAN配置实战指南
网络·智能路由器
白云千载尽1 小时前
a800上gazebo无法使用gpu的问题修复
网络·git·github
mzhan0171 小时前
Linux: netlink 内核网络数据变化通知应用
linux·网络·netlink
廋到被风吹走2 小时前
gRPC 深度解析:Protocol Buffers、HTTP/2、流式传输与拦截器设计
网络·网络协议·http
双层吉士憨包2 小时前
如何注册Talkatone免费美国号码?实测有效方案
大数据·运维·网络
小熊熊知识库2 小时前
MinIO文件对象存储使用(C#)
c#
BHXDML2 小时前
TCP/IP 协议栈深度解析:互联网的神经系统
网络·网络协议·tcp/ip
CS创新实验室2 小时前
《计算机网络》深入学:点对点协议 (PPP)
网络·计算机网络·php·ppp协议·点对点协议
Python_Study20253 小时前
工程材料企业如何通过智慧获客软件破解市场困局:方法论、架构与实践
大数据·网络·数据结构·人工智能·架构