MODBUS協(xié)議是工業(yè)上常用的的軟件協(xié)議,通過這種協(xié)議可以將控制其與其他電氣設(shè)備進(jìn)行通訊,它是一種通用工業(yè)標(biāo)準(zhǔn),不同廠家的設(shè)備都可以通過MODBUS協(xié)議組網(wǎng)集中監(jiān)控。
MODBUS協(xié)議的的傳輸數(shù)據(jù)方式有兩種,ASCII模式和RTU模式,在同一個(gè)MODBUS網(wǎng)絡(luò),所有的通訊參數(shù)必須一致。
MODBUS接口有RS232、RS422、RS485等,現(xiàn)在常用的是485接口,有全雙工、半雙工工作方式,半雙工方式就是數(shù)據(jù)發(fā)送與接受不能同時(shí)。
1RTU模式
在 RTU 模式中,新幀總是以至少 3.5 個(gè)字節(jié)的傳輸時(shí)間靜默作為開始。在以波特率計(jì)算傳輸速率的網(wǎng)絡(luò)上,3.5 個(gè)字節(jié)的傳輸時(shí)間可以輕松把握。緊接著傳輸?shù)臄?shù)據(jù)域依次為:從機(jī)地址、操作命令碼、數(shù)據(jù)和 CRC 校驗(yàn)字,每個(gè)域傳輸字節(jié)都是十六進(jìn)制的 0…9,A…F。網(wǎng)絡(luò)設(shè)備始終監(jiān)視著通訊總線的活動(dòng)。當(dāng)接收到第一個(gè)域(地址信息),每個(gè)網(wǎng)絡(luò)設(shè)備都對該字節(jié)進(jìn)行確認(rèn)。隨著最后一個(gè)字節(jié)的傳輸完成,又有一段類似的 3.5 個(gè)字節(jié)的傳輸時(shí)間間隔,用來表識(shí)本幀的結(jié)束,在此以后,將開始一個(gè)新幀的傳送。
2 ASCII模式
在 ASCII 模式中,幀頭為“:”(“0x3A”),幀尾缺省為“CRLF”(“0x0D”“0x0A”)。在 ASCII 方式下,除了幀頭和幀尾之外,其余的數(shù)據(jù)字節(jié)全部以 ASCII 碼方式發(fā)送,先發(fā)送高 4 位位元組,然后發(fā)送低 4位位元組。ASCII 方式下數(shù)據(jù)為 8 位長度。對于‘A’~‘F’,采用其大寫字母的 ASCII 碼。此時(shí)數(shù)據(jù)采用 LRC校驗(yàn),校驗(yàn)涵蓋從從機(jī)地址到數(shù)據(jù)的信息部分。校驗(yàn)和等于所有參與校驗(yàn)數(shù)據(jù)的字符和(舍棄進(jìn)位位)的補(bǔ)碼。
了解這些基本數(shù)據(jù)內(nèi)容,我們還需要了解變頻器端的功能碼及通訊數(shù)據(jù),包括變頻器的正反停指令、調(diào)速變頻指令、變頻器狀態(tài)監(jiān)控等。
以上內(nèi)容全部清楚后,就要在PLC上寫程序了,程序部分大致有三部分,(1)通訊參數(shù),包括數(shù)據(jù)格式、波特率、校驗(yàn)位、停止位等;(2)數(shù)據(jù)轉(zhuǎn)換,各種16進(jìn)制、ASCII碼間的轉(zhuǎn)換、(3)根據(jù)變頻器手冊輸入相應(yīng)的控制指令,變頻器的控制指令、頻率指令的發(fā)送,監(jiān)控?cái)?shù)據(jù)的接受。