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(); // 断开连接
相关推荐
爱装代码的小瓶子12 分钟前
安工大Linux考点分类真题解析(含知识点是试卷原题了)
linux·服务器·网络·c
三84419 分钟前
OSPF优化作业
网络
Dynadot_tech20 分钟前
域名常见问题集(二十一)——域名删除宽限期
网络·域名·域名注册·dynadot·网站域名·域名管理
惊鸿一博22 分钟前
网络端口开放访问权限_Windows 11 上确保防火墙允许指定端口如3001可被访问
网络·windows
盛世宏博北京39 分钟前
瑞士进口探头 工业级 RJ45 温湿度传感器 支持 POE 供电与远程联动
网络·传感器·机房·温湿度
Eloudy1 小时前
ns-3 网络仿真简介
网络·机器学习·量子计算·量子力学
xiaoshuaishuai81 小时前
C# vCenter跨云迁移的核心问题
开发语言·c#
旧物有情1 小时前
C#异步编程
网络·rpc·c#
2401_873479401 小时前
如何用IP离线库阻断挖矿和僵尸网络?DNS层防护实战指南
网络·网络协议·tcp/ip·ip
MXsoft6181 小时前
**配置自动备份与变更告警:杜绝“黑变更”风险**
网络·数据库