大家好,本節(jié)主要介紹使用PLC實(shí)現(xiàn)modbus RTU通訊的兩種常用方法,在電氣工程師的工作中,此協(xié)議可以說(shuō)是用的最多的了,不管是各種儀表、上位機(jī)、觸摸屏等等均支持此協(xié)議。
本節(jié)就簡(jiǎn)單介紹下modbus RTU協(xié)議,大家最好從網(wǎng)上檢索詳細(xì)資料,理解此協(xié)議是使用PLC的最基本的要求,本節(jié)側(cè)重給大家介紹最常使用的兩種方法。
Modbus 一個(gè)工業(yè)上常用的通訊協(xié)議、一種通訊約定。Modbus協(xié)議包括RTU、ASCII、TCP。其中MODBUS-RTU最常用,比較簡(jiǎn)單。
modbus RTU主要包括以下格式:
1、報(bào)文一個(gè)報(bào)文就是一幀數(shù)據(jù),一個(gè)數(shù)據(jù)幀就一個(gè)報(bào)文:指的是一串完整的指令數(shù)據(jù),就像上面的一串?dāng)?shù)據(jù)。
2、CRC校驗(yàn)意義:例如上面的 98 04 是它前面的數(shù)據(jù)(01 06 00 01 00 17)通過一算法(見附錄2,很簡(jiǎn)單的)計(jì)算出來(lái)的結(jié)果,其實(shí)就像是計(jì)算累加和那樣。(累加和:就是010600010017加起來(lái)的值,然后它的算法就是加法)。作用:在數(shù)據(jù)傳輸過程中可能數(shù)據(jù)會(huì)發(fā)生錯(cuò)誤,CRC檢驗(yàn)檢測(cè)接收的數(shù)據(jù)是否正確。比如主機(jī)發(fā)出01 06 00 01 00 17 98 04,那么從機(jī)接收到后要根據(jù)01 06 00 01 00 17 再計(jì)算CRC校驗(yàn)值,從機(jī)判斷自己計(jì)算出來(lái)的CRC校驗(yàn)是否與接收的CRC校驗(yàn)(98 04主機(jī)計(jì)算的)相等,如果不相等那么說(shuō)明數(shù)據(jù)傳輸有錯(cuò)誤這些數(shù)據(jù)不能要。( **此步驟可以不用理解,大體知道即可** )
3、功能碼意義:modbus 定義。( 很重要,重點(diǎn)學(xué)習(xí)下 )。
01 (0x01) 讀線圈 相當(dāng)于西門子PLC的Q點(diǎn)
02 (0x02) 讀離散量輸入 相當(dāng)于西門子PLC的I點(diǎn)
03 (0x03) 讀保持寄存器 相當(dāng)于西門子PLC的V區(qū)
04(0x04) 讀輸入寄存器
05 (0x05) 寫單個(gè)線圈
06 (0x06) 寫單個(gè)寄存器
15 (0x0F) 寫多個(gè)線圈
16 (0x10) 寫多個(gè)寄存器
以下為本人經(jīng)常用到的兩種modbus RTU通訊程序,請(qǐng)大家根據(jù)個(gè)人需求理解:
方法一:
上面的程序邏輯為建立通訊主站,然后觸發(fā)第一條通訊指令,使用第一條通訊指令的結(jié)束標(biāo)志,作為下一條通訊指令的觸發(fā)條件。其中通訊主站可以設(shè)置波特率、校驗(yàn)位、超時(shí)時(shí)間等,而下面的每一條指令可以設(shè)置讀或者寫,從站站號(hào)、從站地址以及讀取數(shù)據(jù)后的存放位置。
方法二:
此方法原理與第一種方法是一樣的,不過此方法只建立了一條讀寫指令,然后給此指令的各項(xiàng)值均定義為變量,配合計(jì)數(shù)器一起使用,當(dāng)計(jì)數(shù)器為1時(shí),賦予變量特定的值,計(jì)數(shù)器等于其他值時(shí),再賦予其他的值,此種方法個(gè)人感覺雖然節(jié)省了程序結(jié)構(gòu),但是在理解和直觀性上就差了不少,當(dāng)然了具體使用哪種方法,需要根據(jù)現(xiàn)場(chǎng)的使用要求。
相信大家在稍微了解此協(xié)議的基礎(chǔ)上,能夠很容易的明白這幾步程序多代表的意義,當(dāng)然了,不理解的同學(xué)也可以私信我。
-
plc
+關(guān)注
關(guān)注
5037文章
13931瀏覽量
474824 -
MODBUS
+關(guān)注
關(guān)注
28文章
2127瀏覽量
79632 -
RTU
+關(guān)注
關(guān)注
0文章
437瀏覽量
29556
發(fā)布評(píng)論請(qǐng)先 登錄
各種PLC通訊介質(zhì)和協(xié)議介紹
物聯(lián)網(wǎng)中常用的通訊協(xié)議介紹
PLC串口通訊概述、使用及常用接口
PLC的通訊介質(zhì)和協(xié)議內(nèi)容介紹
plc通訊模塊的作用
PLC常見通訊接口和協(xié)議
工業(yè)通訊應(yīng)用中主流的常用協(xié)議Modbus協(xié)議

評(píng)論