java实现modbus rtu协议与 modscan等工具
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.所以是的时候,地址是有错的。
相关文章
- 深入探讨Java中的异常与错误处理
- 研究学习Kotlin的一些方法
- 数据显示Java热度持续下落,日子屈指可数?
- 2017年5月编程语言排行榜:Java与C语言优势正开始缩小
- Java多线程之内置锁与显示锁
- Java线程池的理论与实践
- 白话阿里巴巴Java开发手册(编程规约)
- 关于Java你不知道的十件事
- Java服务化系统线上应急和技术攻关,你必须掌握的Linux命令
- Java实现高斯模糊和图像的空间卷积
- Java阻塞队列实现原理分析
- NPM使用技巧
- Node.js对Java开发者而言是什么?
- Java反射机制应用实践
- 理解RxJava中的Single和Completable
- 2017年你不能错过的Java类库
- 大规模集群下的Hadoop NameNode
- 从源码解密Spark内存管理
- 2017年3月编程语言排行榜:Swift首次进入前十
- JVM热点技术:Java类的加载机制