新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MODBUS協(xié)議實(shí)現(xiàn)PLC“主或從通訊”的自我理解

MODBUS協(xié)議實(shí)現(xiàn)PLC“主或從通訊”的自我理解

作者: 時(shí)間:2016-12-19 來源:網(wǎng)絡(luò) 收藏
Modbus協(xié)議將寄存器分成了4個(gè)區(qū)域,但每一個(gè)寄存器都是16位的數(shù)據(jù)存儲(chǔ)器,00000~09999代表線圈(DO)類地址,10000~19999代表觸點(diǎn)(DI)類地址、 30000~39999代表輸入寄存器(AI)類地址、40000~49999代表輸出寄存器(AO)類地址。
當(dāng)PLC主站和變頻器、私服驅(qū)動(dòng)器、溫控器或其他遵從MODBUS的從站通訊時(shí),會(huì)出現(xiàn)3種情況:
(1)比如"臺(tái)達(dá)",它沒有能力自己開發(fā)專用協(xié)議,就用Modbus作為自己的協(xié)議,這樣的話,它有Modbus指令,只需要設(shè)置通訊格式字后,用指令直接讀從站寄存器地址就可以了。(臺(tái)達(dá)主站)
(2)比如“西門子”,它有自己開發(fā)的PPI、MPI、Profibus、工業(yè)以太網(wǎng)等專用協(xié)議,但為了和支持MODBUS的設(shè)備通訊,它就開發(fā)了Modbus通訊協(xié)議庫,我們只需要初始化“通訊格式字”,不需要知道“通訊數(shù)據(jù)信息幀”的格式,直接讀寫從站寄存器的地址就可。(西門子主站)
    (3)比如“三菱”,它有自己開發(fā)的"CC-LINK"專用協(xié)議,但沒有支持和MODBUS設(shè)備通訊的協(xié)議庫,那和支持MODBUS協(xié)議的設(shè)備通訊就要編寫通訊程序了,這就是“自由口通訊”,在保證硬件通訊口連接正確的情況下,遵從“從站的通訊格式字”和“從站的數(shù)據(jù)信息幀”。在PLC中不但要設(shè)置通訊格式字,還要編寫數(shù)據(jù)發(fā)送幀的通訊程序,比較長。(三菱主站)
PLC通過指令寫程序發(fā)送幀"01H 03H 21H 02H00H 02H 6FH F7H"中,03H(功能碼)和21H 02H(數(shù)據(jù)起始地址)就決定對從站4區(qū)寄存器中的48451進(jìn)行處理

當(dāng)PLC為從站時(shí),上位或組態(tài)軟件為主站時(shí),軟件一般添加了相應(yīng)PLC的驅(qū)動(dòng)程序,PLC廠家定義了PLC變量地址和MODBUS寄存器的映射關(guān)系,讀和寫相應(yīng)MODBUS的寄存器地址就可讀寫plc相應(yīng)變量的參數(shù)。


評論


技術(shù)專區(qū)

關(guān)閉