MODBUS通信的底層為RS485信號(hào),采用雙絞線進(jìn)行聯(lián)接就可以了,因此傳輸距離較遠(yuǎn),可達(dá)1000米,抗干擾性能比較好,且成本低,在工業(yè)控制設(shè)備的通信中被廣泛使用,現(xiàn)在眾多廠家的變頻器、控制器都采用了該協(xié)議。傳送數(shù)據(jù)格式有HEX碼數(shù)據(jù)和ASCII碼兩種,分別稱為MODBUS-RTU和MODBUS-ASC協(xié)議,前者為數(shù)據(jù)直接傳送,而后者需將數(shù)據(jù)變換為ASCII碼后傳送,因此MODBUS-RTU協(xié)議的通信效率較高,處理簡(jiǎn)單,使用得更多。MODBUS為單主多從通信方式,采用的是主問(wèn)從答方式,每次通信都是由主站首先發(fā)起,從站被動(dòng)應(yīng)答。因此,如變頻器之類的被控設(shè)備,一般內(nèi)置的是從站協(xié)議,而PLC之類的控制設(shè)備,則需具有主站協(xié)議、從站協(xié)議。
1、MODBUS主站通信應(yīng)用
2、用戶可通過(guò)MODBUS指令編程,把PLC作為主站與MODBUS從站設(shè)備通信。MODBUS指令可以同時(shí)存在多條并且全部被驅(qū)動(dòng),系統(tǒng)內(nèi)部會(huì)協(xié)調(diào)指令的順序執(zhí)行,MODBUS協(xié)議要求無(wú)論寫(xiě)還是讀,從站均需要有應(yīng)答(廣播除外)。一條MODBUS指令可能需要執(zhí)行較長(zhǎng)時(shí)間,一般需要多個(gè)掃描周期。在一個(gè)掃描周期內(nèi),指令被驅(qū)動(dòng),但不一定被執(zhí)行。若存在多條MODBUS指令,其執(zhí)行順序是這樣的:從開(kāi)機(jī)開(kāi)始,掃描第一條被驅(qū)動(dòng)的MODBUS指令,若掃描到,把該MODBUS的參數(shù)記錄下來(lái),在后臺(tái)執(zhí)行。執(zhí)行完后,返回用戶程序,從剛執(zhí)行的MODBUS指令位置開(kāi)始掃描下一條被驅(qū)動(dòng)的MODBUS指令并執(zhí)行,周而復(fù)始。
3、梯形圖:
4、MODBUS功能碼及數(shù)據(jù)編址
作為MODBUS從站時(shí),支持MODBUS協(xié)議功能碼0x01,0x03,0x05,0x06,0x0f,0x10;通過(guò)這些功能碼,可讀寫(xiě)的線圈有M,S,T,C,X(只讀),Y等變量;寄存器有D,T,C。MODBUS通信主機(jī)在訪問(wèn)(讀取或改寫(xiě))PLC從機(jī)的內(nèi)部變量時(shí),必須遵循如下的通信命令幀定義,以及變量地址索引方法,才能進(jìn)行正常的通信操作。
責(zé)任編輯人:CC
-
MODBUS
+關(guān)注
關(guān)注
28文章
1805瀏覽量
77003 -
ModBus協(xié)議
+關(guān)注
關(guān)注
3文章
177瀏覽量
33428
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論