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(); // 断开连接
相关推荐
pt104334 分钟前
Cisco设备网络安全系列-18:SIEM与SOAR安全解决方案
网络·安全
Tel199253080041 小时前
温度湿度信号转WiFi/MQTT/Modbus TCP采集模块 无线传输
网络·网络协议·tcp/ip·工业自动化·工控设备
yyuuuzz2 小时前
云服务器安全组规则优先级的机制记录
运维·服务器·网络·安全·阿里云·aws
youce_1232 小时前
测速跑满,但是打开网页、刷视频总转圈?问题不在带宽
网络·智能路由器
吃一碗粉只付一碗钱3 小时前
10-令牌里的用户主键不要明文
服务器·数据库·sql·sqlserver·c#
lazy H4 小时前
【计算机网络】第 13 篇:NAT 和端口映射是什么?为什么本地服务外网访问不了?
java·网络·网络协议·学习·计算机网络·408
Linux运维技术栈4 小时前
WAF部署在防火墙后面,获取不到真实IP怎么办?
服务器·网络·tcp/ip·安全·防火墙·waf
低慢小uav4 小时前
(已解决)Zynq芯片lwip协议栈,使用tcp作为服务器Service,接收大量数据时,长度接收正常,接收对数据校验,校验和异常分析
网络协议·tcp/ip·fpga开发
垆边人似月.4 小时前
RDMA项目踩坑(一):为什么最后一块数据必须使用实际长度?
网络·c/c++·rdma·高性能io·tcp与rdma
YH_Analytics5 小时前
2026 高压 E-House 市场深度分析报告市场格局
网络·数据库