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(); // 断开连接
相关推荐
Piko6142 小时前
H3C IRF2 堆叠实战:打造高可靠核心交换网络
运维·网络·笔记
贪玩的蛋挞2 小时前
C#与闭包
开发语言·c#
茯苓gao5 小时前
嵌入式开发笔记:CANopen相关移位运算与通信协议术语详解
网络·嵌入式硬件·学习·信息与通信
万联WANFLOW5 小时前
SD-WAN 控制平面高可用怎么做?SDWAN 控制器挂了,全网会发生什么
运维·网络·分布式·架构
酱学编程5 小时前
【从零到一实现一个 AI Agent 框架 · 第四篇】04. 任务规划:拆解复杂目标 -
服务器·网络·数据库·人工智能
风行南方7 小时前
密码学之分组密码
网络·密码学
忧郁的紫菜7 小时前
基础实现:单篇 Markdown 转 Word
开发语言·c#·word
甜美的小天鹅7 小时前
Swifter C#之inline还是不inline,这是个问题
开发语言·c#
艾莉丝努力练剑7 小时前
OpenCode AI 编程:Ubuntu 24.04 环境安装与使用指南
linux·服务器·网络·人工智能·tcp/ip·ubuntu
谷雪_6588 小时前
Linux 网络命名空间:从内核原理到企业级容器网络架构全景实战
linux·网络·架构