李強

【摘 要】針對機電專業(yè)學生對三菱PLC的控制的變頻器可以Modbust通信協(xié)議來控制分析比較困難,我從什么是ModBus通信協(xié)議和ModBus通信協(xié)議有兩種傳送方式進行了分析和講解,對怎樣控制變頻器還例舉了例題,對機電專業(yè)學生以后進一步用Modbust協(xié)議編寫三菱PLC的控制的變頻器梯形圖有關(guān)鍵的引導作用。
【關(guān)鍵詞】ModBus通信協(xié)議 兩種傳送方式 編程分析 舉例
Modbust是現(xiàn)在Modbus是由Modicon(現(xiàn)為施耐德電氣公司的一個品牌)在1979年發(fā)明的,是全球第一個真正用于工業(yè)現(xiàn)場的總線協(xié)議。ModBus網(wǎng)絡是一個工業(yè)通信系統(tǒng),由帶智能終端的可編程序控制器和計算機通過公用線路或局部專用線路連接而成。其系統(tǒng)結(jié)構(gòu)既包括硬件、亦包括軟件。它可應用于各種數(shù)據(jù)采集和過程監(jiān)控。ModBus網(wǎng)絡只有一個主機,所有通信都由他發(fā)出。網(wǎng)絡可支持247個之多的遠程從屬控制器,但實際所支持的從機數(shù)要由所用通信設備決定。采用這個系統(tǒng),各PC可以和中心主機交換信息而不影響各PC執(zhí)行本身的控制任務。
三菱PLC的控制的變頻器可以Modbust通信協(xié)議控制,Modbust是現(xiàn)在應用廣泛串行通訊協(xié)議,其物理量采用RS232、RS485等異步串行標準,由于開放性而被大量的PLC及RTU廠家采用。
ModBus通信方式采用主從方式的查詢一相應機制,只有主站發(fā)出查詢時,從站才能給出響應,從站不能主動發(fā)出發(fā)送數(shù)據(jù),主站可以向某一個從站發(fā)出查詢,也可以向所有從站廣播消息,從站只響應,單獨發(fā)給它的查詢,而不能響應廣播消息。
ModBus通信協(xié)議有兩種傳送方式:ASCII方式和RTU方式。
ASCII模式特點:每個8-bit信息由兩個ASCII字符所組成。例如一個字節(jié)的“64H”,以ASCII碼表示分為兩個字節(jié),第一個是“6”轉(zhuǎn)化為ASCII碼為(36H),第一個是“4” 轉(zhuǎn)化為ASCII碼為(34H),占2個數(shù)據(jù)寄存器。
RTU模式特點,每一個8-bitx信息由兩個4-bit十六進制的數(shù)組成。例如:64H只點一個數(shù)據(jù)字存器。6轉(zhuǎn)化為ASCII碼是(36H),4轉(zhuǎn)化為ASCII碼是(34H),ASCII模式采用LRC(Longitudinal Rcdudancey Check)偵誤值。LRC)偵誤值。LRC偵誤值是將ADR1至最后一個資料內(nèi)容加總和,得到的結(jié)果保留低8位(例如得到的結(jié)果為16進制位128H,則只取28H,)然后取和的補碼(就是取反加一),即為LRC偵誤值。例如,從地址為01H的交流電機驅(qū)動器0.401H地址中讀取一個字 01H+03H+04H001H+00H001H=0AH OAH的補碼為F6H RTU模式采用CRC(Cyclical Redundancy Check)偵誤值。
生成一個CRC的流程為:(1)預置一個16位寄存器為(FFFFH),全部為“1”,稱為CRC寄存器。(2)把數(shù)據(jù)的第一個字節(jié)的8位與CRC寄存器中的低字節(jié)進行異或運算,結(jié)果存回CRC寄存器。(3)把CRC寄存器向右移一位,最高位填以“0”,最低位異或運算,結(jié)果存回CRC寄存器。(4)如果最低位為“0”,重復第三步(下一次移位),如果最位為“1”,將CRC 寄存器與一個預設的固定的(AOO1H)進行異或運算。(5)重復第二步和第四步直到8次移位,這樣就處理了一個完整的八位。(6)重復第二步和第五步步驟處理下一個8位直到所有的字節(jié)處理結(jié)束。(7)最最終CRC寄存器的值就是CRC的值。
例題:三菱PLC通過Modbust通信協(xié)議ASCII模式控制臺達變頻器正轉(zhuǎn),反轉(zhuǎn),停止,和調(diào)速。分析根據(jù)指令信息協(xié)議,套用Modbust指令信息的格式表1所示:
STX 是報文開始,轉(zhuǎn)化為ASCII碼03H是固定的,ADR1和ADR0是變頻器的賬號,設定ADR1是“0”,ADR0是“1”。CMD1和CMD0是指令代碼,是做什么的操作,由于PLC正轉(zhuǎn),反轉(zhuǎn),停止是放在一個寄存器中,調(diào)速是放在另一個寄存器中,兩個都是數(shù)據(jù)的寫入操作,因此CMD0是指令代碼選H06的操作,選重啟始資料地址,在資料數(shù)中運行,最后得到兩個校驗碼LRC CHK1和 LRC CHK0和有兩個結(jié)束符號END1和END0,三菱PLC通過Modbust通信協(xié)議ASCII模式控制變頻器的梯形圖就按這用套用編程。代碼功能表2所示:
表2 代碼功能
表3所示,是臺達變頻器的參數(shù)手冊的一部分,它的參數(shù)地址正常參數(shù)是用00nn來表示,nn代表參數(shù)號,如變頻器的參數(shù)號P100由16進制0064H來表示,反過來對啟動器的指令0064H來表示參數(shù)P100,對驅(qū)動器的指令是2000H,它有16位,0-1位是控制運行的,01B是停止,10B是啟動,2-3位是保留,4-5位是控制運行方向,01B是正轉(zhuǎn),10B是反轉(zhuǎn),6-15位是保留不用。控制變頻器正轉(zhuǎn),反轉(zhuǎn)和停止,就是對參數(shù)2000H寫數(shù)字,如對變頻器正轉(zhuǎn)啟動操作的16進制數(shù)位000000000010010轉(zhuǎn)化為ASCII碼是0012H,對變頻器反轉(zhuǎn)啟動操作的16進制數(shù)位000000000100010轉(zhuǎn)化為ASCII碼是0022H,對變頻器停止操作的16進制數(shù)位000000000000001轉(zhuǎn)化為ASCII碼是0001H,變頻器正轉(zhuǎn)啟動時在2000H中寫入0012H,變頻器反轉(zhuǎn)啟動時在2000H中寫入0022H,變頻器停止時在變頻器參數(shù)2000H中寫入0001H,運行后得得到兩個校驗碼LRC CHK1和 LRC CHK0。調(diào)速在變頻器參數(shù)2001H中改變數(shù)據(jù),變頻器頻率就會改變。
表3 變頻器通信協(xié)定協(xié)議的參數(shù)地址及定義
參考文獻:
[1] 程子華.PLC原理與編程實例分析[M],國防工業(yè)出版社,2006-07-15.
[2] 李江全.三菱PLC通信與控制應用編程實例[M].中國電力出版社,2010-10-12.
[3] 李江全.西門子PLC通信與控制應用編程實例[M].中國電力出版社,2012-06-10.