java实现modbus rtu协议与 modscan等工具
modbus協(xié)議rtu版,使用串口,當(dāng)對(duì)接數(shù)碼人,使用rs485
第二篇:https://blog.csdn.net/weixin_42240941/article/details/121674377
======================
1 串口
? ? ? ? 主機(jī)的物理連接口,類似于USB等,不一定每個(gè)主機(jī)都有,查看設(shè)備管理器。
? ? ? ? 注意:如果此時(shí)有物理口com1,之后創(chuàng)建的成對(duì)虛擬口會(huì)是com2與com3.不要混淆。
2 工具
?2.1 創(chuàng)建虛擬端口
?建議使用vspd6.9
使用vspd9.0時(shí),界面信息簡(jiǎn)略。創(chuàng)建的虛擬端口能在設(shè)備管理器查看(但我沒(méi)能測(cè)試通)
使用vsod6.9,界面如上,創(chuàng)建虛擬口com2 com3.但是設(shè)備管理器不能看到虛擬端口,如圖1(modcsan能通)
2.2 modscan與modsim
創(chuàng)建端口后,下載這兩個(gè)模擬軟件(注意,我下載modsim時(shí),兩個(gè)軟件在一個(gè)包,且modscan在外層,所以錯(cuò)誤的啟動(dòng)了modscan。對(duì)后面的模擬造成了困擾,不用混淆)
這要說(shuō)modbus協(xié)議,modbus是主從協(xié)議,主設(shè)備會(huì)向從設(shè)備發(fā)信息。
modscan為模擬主設(shè)備,會(huì)不停發(fā)心跳消息,所以有人會(huì)看到 modscan 報(bào)消息沒(méi)有返回,或者消息超時(shí)的錯(cuò)。
modsim為模擬從設(shè)備,?
啟動(dòng)兩模擬軟件,設(shè)置如下,注意,所有的測(cè)試中,主設(shè)備端口都是com2,從設(shè)備com3
如果測(cè)試成功,modscan的信息次數(shù)記錄 會(huì)上漲,且發(fā)出與返回一致。
且vspd的端口 send 與recieve會(huì)不停上漲。
2.3 串口調(diào)試助手
現(xiàn)在想知道m(xù)odscan發(fā)出的心跳是什么,先關(guān)閉modsim的連接。
以調(diào)試助手,連接com3端口,當(dāng)modscan發(fā)送信息,會(huì)接收到
[17:08:13.655] 01 03 00 63 00 18 B5 DE
想知道m(xù)odsim回了什么心跳,關(guān)閉modscan,切換調(diào)試助手到com2端口。
打開(kāi)modsim(com3)
然后在下框發(fā)送 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
=================
如此,工具,體驗(yàn)與測(cè)試就連通了。
java代碼預(yù)計(jì)參考
??????????????使用java的modbus4j的Rtu方式獲取監(jiān)測(cè)數(shù)據(jù)_玩火的稻草人的博客-CSDN博客
==================
注意:使用以上連接的java代碼與模擬數(shù)據(jù) 程序報(bào)錯(cuò)。
錯(cuò)誤碼2
百度02是非法數(shù)據(jù)地址,看到代碼寫(xiě)的起始地址為9,讀取長(zhǎng)度24.但是modsim內(nèi)的起始地址是100.所以是的時(shí)候,地址是有錯(cuò)的。
總結(jié)
以上是生活随笔為你收集整理的java实现modbus rtu协议与 modscan等工具的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 警惕Oracle DB操作高压线
- 下一篇: cesium billboard 设置距