我們需要一款支持Modbus RTU通信的PLC和一根USB轉(zhuǎn)串口線。
然后電腦這邊準(zhǔn)備一個(gè)工具軟件。
1 我們確認(rèn)下PLC的串口參數(shù)。
PLC當(dāng)前的串口,支持了Modbus協(xié)議。
串口參數(shù)是115200波特率,數(shù)據(jù)位為8,停止位為1,無校驗(yàn)。
2 打開Modbus Poll工具。
設(shè)置參數(shù)也是115200,8,1,無即可。
3 選擇寄存器變量。
點(diǎn)擊圖中按鈕,即可選擇要讀寫的寄存器。
Slave ID 是從站設(shè)備的ID。設(shè)置為1,和PLC對(duì)應(yīng)上。
Function: 也就是功能碼。0X寄存器對(duì)應(yīng)的功能就是01為read.
Address: 要讀的寄存器地址。設(shè)置為0,也就是從0開始讀,剛好對(duì)應(yīng)PLC上面的輸出點(diǎn)。
Quantity: 寄存器個(gè)數(shù)。設(shè)置10,我們先讀10個(gè)。
Sacn Rate: 掃描周期。默認(rèn)1000ms。也就是每1000ms讀一次。
其它參數(shù)不關(guān)心,默認(rèn),然后點(diǎn)OK。
然后就顯示都通信上了。
我們?cè)囍门紨?shù)地址都設(shè)置為1看一下。
對(duì)里面的值雙擊,會(huì)出來設(shè)置值界面。因?yàn)槭菃为?dú)寫,可以默認(rèn)使用05功能碼。
可以看到PLC里相應(yīng)的輸出點(diǎn),也被置1了。
這就是很基本的一個(gè)Modbus RTU通信的demo。
如果你認(rèn)為到此就結(jié)束了,那可能你猜對(duì)了。
我們上手學(xué)Modbus 協(xié)議,沒必要搞那么復(fù)雜。一天收獲一點(diǎn)點(diǎn),慢慢消化Modbus 協(xié)議。
先學(xué)會(huì)怎么使用的,再進(jìn)一步了解協(xié)議。
好了,如果前面的內(nèi)容已經(jīng)消化的,我們可以繼續(xù)往下了。如果還沒有消化的,那下面的內(nèi)容,建議你先收藏,改天再繼續(xù)看。
在剛才的實(shí)驗(yàn)中,我們看到通過電腦的Modbus Poll對(duì)PLC進(jìn)行讀寫操作了。
難道我們不想知道,他們是怎么起使用的么。
Modbus Poll 有一個(gè)功能,可以顯示發(fā)送和接收的報(bào)文,對(duì)于我們學(xué)習(xí)Modbus 協(xié)議非常有幫助。
我們找到Display->Communication選項(xiàng),就可以看到發(fā)送和接收的報(bào)文了。
Tx:072-01 01 00 00 00 0A BC 0D
Rx:073-01 01 02 55 01 47 6C
我們復(fù)制一個(gè)報(bào)文。
對(duì)于剛?cè)腴T的,不管是使用者,還是開發(fā)者,建議還是找個(gè)支持Modbus 的設(shè)備以及工具,比如Modbus Poll,進(jìn)行通信測(cè)試,看一下Modbus的報(bào)文是什么樣的,看一下讀寫的情況。
因?yàn)橛龅接行┤腴T者,自己上來就拿個(gè)串口工具,給單片機(jī)或者PLC發(fā)送數(shù)據(jù),發(fā)現(xiàn)對(duì)方怎么都不回。除了串口參數(shù)要設(shè)置正常之外,要確保你的報(bào)文是正確的Modbus 協(xié)議才可以哦。
比如讀0X寄存器,讀10個(gè),報(bào)文為01 01 00 00 00 0A BC 0D
前面的報(bào)文01 01 00 00 00 0A 估計(jì)很多人都會(huì)了。
然后用工具或者在線計(jì)算CRC,要么計(jì)算出來是錯(cuò)誤的,要么計(jì)算正常了,卻拼成這樣的報(bào)文 01 01 00 00 00 0A 0D BC。CRC的字節(jié)反了。
怎么發(fā),PLC就是不回復(fù)。
這是很多新手,入門者常犯的錯(cuò)誤。
所以不要小看一個(gè)簡(jiǎn)單的Modbus, 要怎么把它用好,還不是件簡(jiǎn)單的事。
有時(shí)候,你的設(shè)備和對(duì)方設(shè)備進(jìn)行通信,就是有問題,你都說不清楚是你設(shè)備的問題還是對(duì)方設(shè)備的問題,就容易產(chǎn)生不必要的誤會(huì)和工作了。
Modbus Poll還提供了不同功能碼的讀寫測(cè)試。
-
寄存器
+關(guān)注
關(guān)注
31文章
5434瀏覽量
124527 -
PLC控制
+關(guān)注
關(guān)注
9文章
254瀏覽量
28041 -
RTU
+關(guān)注
關(guān)注
0文章
435瀏覽量
29544 -
USB轉(zhuǎn)串口
+關(guān)注
關(guān)注
0文章
40瀏覽量
12009 -
ModBus通信
+關(guān)注
關(guān)注
0文章
34瀏覽量
2822
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論