C#操作modbus

本文深入解析Modbus协议,包括其应用、优点和常见类型如ModbusRTU和ModbusTCP。通过使用mthings、ModbusPoll等调试软件进行主站从站模拟,并介绍了如何利用C#操作Modbus。此外,文章详述了如何通过kepserver实现ModbusRTU到OPCDA服务器的转换,涉及通道配置、变量创建和通讯测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

modbus使用范围广泛,广泛应用于各类仪表,PLC等。

modbus的好处是免费,属于应用层协议,底层硬件基于485/以太网。

modbus协议本质还是自定义协议。

modbus调试软件:

mthings:

modbuspoll:

主站/从站,客户端/服务端,其中主站相当于客户端,主动发送命令以获取数据,从站被动提供数据,相当于服务器端。

 其中03,06,10使用较多。

modbus协议分类:

modbus不是具体协议。

其中,最常用的是ModbusRTU和ModbusTCP。

仿真软件测试。

需要安装以下软件:

 ModbusPollSetup64Bit.exe安装:

点击安装即可:

ModbusSlaveSetup64Bit.exe安装:

vspdpro原版.exe安装:

 

 添加虚拟串口:

模拟modbusRTU通讯:

打开Modbus Slave:

此时就模拟了一个从站了。

模拟的从站信息。

然后在模拟一个主站。

使用Modbus Poll软件。

该区默认是以寄存器为单位的,即对应一个地址为16位,还存在大小端问题,需要注意。

 modbus通讯成功。

 什么是报文,由若干个字节组成。

使用C#操作modbus:

安装nmodbus4依赖。

使用kepserver作为主站读取从站数据(服务端)。

 

然而使用该软件是ok的。 

修改方法:

kepserver端的方法:

解决办法,删除设备后重新创建即可。

或者直接删除通道重新开始,这里因为已经修改了通道的端口号,所以选择重新创建设备即可。

该方法尝试后发现无用,还是删除通道后重新开始。

在通道配置的时候记得配置该端口。 

modbusTCP测试失败,改用modbusRTU进行测试。

在配置kepserver之前进行。虚拟串口软件的配置。

创建变量:

保存并开启连接:

通讯成功。

即实现了modbusRTU转opcserver的功能。这里的opcserver为opc da。

运行原理:此时kepserver软件具有2个身份,一个身份是作为modbusrtu主站,负责发送命令到从站以获取数据,发送命令的触发条件为开启opc client的时候,即只有在opc客户端去请求数据的时候,才会发生modbusRTU通讯。一个身份是作为opc da服务器端,负责将从modbusRTU获取的数据存入内部内存中,并对外发布服务。 

注意:以上思维导图截图来自付工,感谢。对本人自研的工业数据采集及交互软件感兴趣的朋友可私信我,谢谢支持。

目前支持的功能有如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荒先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值