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