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(); // 断开连接
相关推荐
黄筱筱筱筱筱筱筱19 分钟前
LINUX-防火墙
linux·服务器·网络
CPETW4 小时前
RS-232 Sniffer 嗅探器 ---- UNI-T电子负载通讯协议抓取-C
网络
baivfhpwxf20235 小时前
c# 中对像之间频繁的转换会慢吗?
开发语言·c#
liulilittle5 小时前
TCP UCP 卡尔曼滤波器
网络·网络协议·tcp/ip·通信
GOTXX5 小时前
SenseNova U1 实战体验:API 调用 + OpenClaw 接入全流程
服务器·网络·人工智能·语言模型
liulilittle5 小时前
TCP UCP:基于卡尔曼滤波的BBR增强型拥塞控制算法
linux·网络·c++·tcp/ip·算法·c·通讯
fortydusk6 小时前
3DMark v2.32.8426 专业授权版|专业显卡跑分工具
网络
清欢渡---6 小时前
三次握手四次挥手(对话场景)
运维·服务器·网络·hcia
XiYang-DING6 小时前
【Java EE】IP协议
网络·tcp/ip·java-ee
加号36 小时前
【C#】 实现 XRC 异或冗余校验:原理与实践
c#·xrc