敘述:現(xiàn)為大家講解一下MODBUS的應(yīng)用,現(xiàn)在工業(yè)控制上位機(jī)和下位機(jī)通信大部分采用通信協(xié)議為MODBUS.可想而知機(jī)器與機(jī)器通信的重要性。
一:MODBUS系統(tǒng)框架圖
二:MODBUS運(yùn)用
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-ASCII 協(xié) 議,前者為數(shù)據(jù)直接傳送,而后者需將數(shù)據(jù)變換為 ASCII 碼后傳送,因此 MODBUS-RTU 協(xié)議的 通訊效率較高,處理簡(jiǎn)單,使用得更多
MODBUS 為單主多從通訊方式,采用的是主問從答方式,每次通訊都是由主站首先發(fā)起, 從站被動(dòng)應(yīng)答。因此,如變頻器之類的被控設(shè)備,一般內(nèi)置的是從站協(xié)議,而 PLC 之類的控 制設(shè)備,則需具有主站協(xié)議、從站協(xié)議
現(xiàn)在以 MODBUS-RTU 協(xié)議為例,說明通訊幀的典型格式: 請(qǐng)求幀格式:從機(jī)地址+0x03+寄存器起始地址+寄存器數(shù)量+CRC 檢驗(yàn)
正常響應(yīng)幀格式:從機(jī)地址+0x03+字節(jié)數(shù)+寄存器值+CRC 檢驗(yàn)
三:PLC 編程時(shí)應(yīng)該注意以下信息:
從機(jī)地址:主站發(fā)送幀中,該地址表示目標(biāo)接收從機(jī)的地址;從機(jī)應(yīng)答幀中,表示本機(jī) 地址;從機(jī)地址的設(shè)定范圍為 1~247,0 為廣播通信地址。
操作類型:表示讀或?qū)懖僮鳎?x1=讀線圈操作;0x03=讀寄存器操作;0x05=改寫線圈 操作;0x06=改寫寄存器操作。
對(duì)于變頻器而言,只支持 0x03 讀、0x06 寫的操作。 寄存器起始地址:表示對(duì)從機(jī)中要訪問的寄存器地址,對(duì)于 MD280、MD320 系列變頻器的 訪問時(shí),對(duì)應(yīng)的就是'功能碼號(hào)'、'命令地址'、'運(yùn)行參數(shù)地址'; 數(shù)據(jù)個(gè)數(shù):即從'寄存器起始地址'開始要連續(xù)訪問的數(shù)據(jù)個(gè)數(shù),對(duì)于寄存器變量,以 word 為單位。
寄存器參數(shù)(數(shù)據(jù)):要改寫的數(shù)據(jù)(主機(jī)改寫),或讀取的數(shù)據(jù)(從機(jī)應(yīng)答);
四: 程序編程編寫及講解,三菱plc通訊