C#操作modbus

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

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

C#操作modbus_第1张图片

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

modbus调试软件:

mthings:

modbuspoll:

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

C#操作modbus_第2张图片

C#操作modbus_第3张图片

C#操作modbus_第4张图片

C#操作modbus_第5张图片

C#操作modbus_第6张图片

C#操作modbus_第7张图片

C#操作modbus_第8张图片

C#操作modbus_第9张图片

C#操作modbus_第10张图片

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

modbus协议分类:

modbus不是具体协议。

C#操作modbus_第11张图片

C#操作modbus_第12张图片

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

仿真软件测试。

需要安装以下软件:

 ModbusPollSetup64Bit.exe安装:

点击安装即可:

C#操作modbus_第13张图片

C#操作modbus_第14张图片

C#操作modbus_第15张图片

C#操作modbus_第16张图片

C#操作modbus_第17张图片

C#操作modbus_第18张图片

C#操作modbus_第19张图片

C#操作modbus_第20张图片

ModbusSlaveSetup64Bit.exe安装:

C#操作modbus_第21张图片

C#操作modbus_第22张图片

C#操作modbus_第23张图片

C#操作modbus_第24张图片

C#操作modbus_第25张图片

C#操作modbus_第26张图片

C#操作modbus_第27张图片

C#操作modbus_第28张图片

vspdpro原版.exe安装:

C#操作modbus_第29张图片

C#操作modbus_第30张图片

C#操作modbus_第31张图片

C#操作modbus_第32张图片

C#操作modbus_第33张图片

C#操作modbus_第34张图片

C#操作modbus_第35张图片

C#操作modbus_第36张图片

C#操作modbus_第37张图片

 C#操作modbus_第38张图片

 添加虚拟串口:

C#操作modbus_第39张图片

模拟modbusRTU通讯:

打开Modbus Slave:

C#操作modbus_第40张图片

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

模拟的从站信息。

C#操作modbus_第41张图片

然后在模拟一个主站。

使用Modbus Poll软件。

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

C#操作modbus_第42张图片 modbus通讯成功。

C#操作modbus_第43张图片

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

C#操作modbus_第44张图片

使用C#操作modbus:

安装nmodbus4依赖。

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

C#操作modbus_第45张图片

C#操作modbus_第46张图片

C#操作modbus_第47张图片

C#操作modbus_第48张图片

C#操作modbus_第49张图片

C#操作modbus_第50张图片

C#操作modbus_第51张图片

C#操作modbus_第52张图片

C#操作modbus_第53张图片

C#操作modbus_第54张图片

C#操作modbus_第55张图片

C#操作modbus_第56张图片

C#操作modbus_第57张图片

C#操作modbus_第58张图片

C#操作modbus_第59张图片

C#操作modbus_第60张图片

C#操作modbus_第61张图片

C#操作modbus_第62张图片

C#操作modbus_第63张图片

C#操作modbus_第64张图片

C#操作modbus_第65张图片

C#操作modbus_第66张图片

 C#操作modbus_第67张图片

C#操作modbus_第68张图片

C#操作modbus_第69张图片

C#操作modbus_第70张图片

然而使用该软件是ok的。 

修改方法:

C#操作modbus_第71张图片

C#操作modbus_第72张图片

C#操作modbus_第73张图片

kepserver端的方法:

C#操作modbus_第74张图片

C#操作modbus_第75张图片

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

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

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

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

C#操作modbus_第76张图片

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

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

C#操作modbus_第77张图片

C#操作modbus_第78张图片

C#操作modbus_第79张图片

C#操作modbus_第80张图片

C#操作modbus_第81张图片

C#操作modbus_第82张图片

C#操作modbus_第83张图片

C#操作modbus_第84张图片

C#操作modbus_第85张图片

C#操作modbus_第86张图片

C#操作modbus_第87张图片

C#操作modbus_第88张图片

C#操作modbus_第89张图片

C#操作modbus_第90张图片

C#操作modbus_第91张图片

C#操作modbus_第92张图片

C#操作modbus_第93张图片

C#操作modbus_第94张图片

C#操作modbus_第95张图片

C#操作modbus_第96张图片

C#操作modbus_第97张图片

C#操作modbus_第98张图片

C#操作modbus_第99张图片

创建变量:

C#操作modbus_第100张图片

保存并开启连接:

通讯成功。

C#操作modbus_第101张图片

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

C#操作modbus_第102张图片

C#操作modbus_第103张图片

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

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

目前支持的功能有如下:

C#操作modbus_第104张图片

软件包:

链接:https://pan.baidu.com/s/1Q3J8A-Cc9tpPQ9ivI9H4dQ 
提取码:4sz7 
--来自百度网盘超级会员V4的分享

你可能感兴趣的:(软件安装操作教程,opc)