https://blog.csdn.net/weixin_42240941/article/details/121659848
https://blog.csdn.net/weixin_42240941/article/details/121674377
https://blog.csdn.net/weixin_42240941/article/details/121857113
https://blog.csdn.net/weixin_42240941/article/details/122117914
modbus协议rtu版,使用串口,当对接数码人,使用rs485
第二篇:https://blog.csdn.net/weixin_42240941/article/details/121674377
======================
1 串口
主机的物理连接口,类似于USB等,不一定每个主机都有,查看设备管理器。
注意:如果此时有物理口com1,之后创建的成对虚拟口会是com2与com3.不要混淆。
2 工具
2.1 创建虚拟端口
建议使用vspd6.9
使用vspd9.0时,界面信息简略。创建的虚拟端口能在设备管理器查看(但我没能测试通)
使用vsod6.9,界面如上,创建虚拟口com2 com3.但是设备管理器不能看到虚拟端口,如图1(modcsan能通)
2.2 modscan与modsim
创建端口后,下载这两个模拟软件(注意,我下载modsim时,两个软件在一个包,且modscan在外层,所以错误的启动了modscan。对后面的模拟造成了困扰,不用混淆)
这要说modbus协议,modbus是主从协议,主设备会向从设备发信息。
modscan为模拟主设备,会不停发心跳消息,所以有人会看到 modscan 报消息没有返回,或者消息超时的错。
modsim为模拟从设备,
启动两模拟软件,设置如下,注意,所有的测试中,主设备端口都是com2,从设备com3
如果测试成功,modscan的信息次数记录 会上涨,且发出与返回一致。
且vspd的端口 send 与recieve会不停上涨。
2.3 串口调试助手
现在想知道modscan发出的心跳是什么,先关闭modsim的连接。
以调试助手,连接com3端口,当modscan发送信息,会接收到
[17:08:13.655] 01 03 00 63 00 18 B5 DE
想知道modsim回了什么心跳,关闭modscan,切换调试助手到com2端口。
打开modsim(com3)
然后在下框发送 01 03 00 63 00 18 B5 DE
接收到[17:08:13.748] 01 03 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C0 BC
=================
如此,工具,体验与测试就连通了。
java代码预计参考
使用java的modbus4j的Rtu方式获取监测数据_玩火的稻草人的博客-CSDN博客
==================
注意:使用以上连接的java代码与模拟数据 程序报错。
错误码2
百度02是非法数据地址,看到代码写的起始地址为9,读取长度24.但是modsim内的起始地址是100.所以是的时候,地址是有错的。
版权归原作者 pzdogjs 所有, 如有侵权,请联系我们删除。