本文通過艾默生PLC和多臺變頻器組網通信控制編程(以MODBUS協議方式)為例,說明PLC和多臺變頻器網絡控制的通信程序的設計方法。
Serves to illuminate design of communication program based on PLC and multi converter network control, by taking the match under MODBUS mode
關鍵詞:艾默生PLC,變頻器,MODBUS協議,連續命令序列,隨機命令序列
KEY WORDS:EMERSON PLC,INVERTER,MODBUS PROTOCOL, a series of orders, incidental orders
引言
隨著PLC技術的不斷發展,越來越顯示其強大的核心控制功能,PLC和其他設備之間的連接已經從比較煩瑣的傳統I/O方式向越來越受歡迎的簡潔先進的通信方式過渡,不僅為設計者節省了大量的硬件成本,更能為遠程控制,組網提供了可能,使控制系統更加無縫地融為一體。
本文主要通過艾默生PLC和多臺變頻器組網通信(以MODBUS協議方式)為例,說明PLC和多臺變頻器網絡控制的通信程序的設計方法。
一、 MODBUS協議簡要介紹
Modbus協議由美國著名的MODICON公司提出,通過此協議,控制器相互之間、控制器經由網絡(例如以太網)和其它設備之間可以通信,不同廠商生產的控制設備可以連成工業網絡,進行集中監控,它已經成為一通用工業標準。控制器通信使用主—從技術,即僅一設備(主設備)能初始化傳輸(查詢)。其它設備(從設備)根據主設備查詢提供的數據作出相應反應。典型的主設備:IPC,HMI,PLC等;典型的從設備:各種儀表,PLC,變頻器等。主設備可單獨和從設備通信,也能以廣播方式和所有從設備通信。如果單獨通信,從設備返回一消息作為回應,如果是以廣播方式查詢的,則不作任何回應。Modbus協議建立了主設備查詢和從設備回應的格式:設備(或廣播)地址、功能代碼、所有要發送的數據、錯誤檢測域。Modbus協議同時支持RTU模式和ASCII模式,RTU模式對應的幀格式如下:(ASCII模式介紹省略)

更詳細的說明請查閱MODBUS協議的有關資料(或登陸網站 www.modbus.org)。
二、 艾默生PLC集成的MODBUS協議功能
艾默生EC20系列PLC的通信口COM 1集成了MODBUS主站協議, 在編程時先在編程軟件的系統塊里進行設置具體如下:系統塊—>“通信口”菜單—>“通信口1參數設置”菜單—> 選“MODBUS協議”—> 進行“MODBUS設置”—> 進行通信參數和(主模式)站號等設置即可。
然后利用MODBUS指令進行編程-----------MODBUS (S1) (S2)(S3)各參數含義如下:
S1 指定的通訊通道;
S2 發送數據起始地址;
S3 接收數據起始地址;
MODBUS指令發送過程中,自動加上所需的起始字符,結束字符和校驗和;發送的數據,不需設定發送的數據長度,系統會根據功能碼自動按系統內部設定長度進行發送。
2個重要的通信標志:SM135-- MODBUS的通訊成功標志位,通訊成功時置位,不會自動復位,所以在發送數據的時候要進行一次復位;SM136—MODBUS的通信錯誤標志位,通信錯誤(包括從設備沒有回應)時置位,不會自動復位,所以在接收數據的時候要進行一次復位;
三、 艾默生變頻器通信協議
艾默生公司生產的EV系列變頻器都集成MODBUS協議,且提供RS232C和RS485通信口供用戶選擇,所以通過PLC和變頻器通信的方式完成控制比較簡單經濟,而且顯得系統比較高檔,下面簡單介紹其協議:
1. 支持MODBUS RTU和ASCII格式;
2. 參數的MODBUS協議地址影射規則:變頻器的功能碼參數、控制參數和狀態參數都映射為Modbus的讀寫寄存器。變頻器功能碼的組號映射為寄存器地址的高字節,組內索引映射為寄存器地址的低字節。變頻器的控制參數和狀態參數均虛擬為變頻器功能碼組。功能碼組號與其映射的寄存器地址高字節的對應關系如下:F0組:0x00;F1組:0x01;F2組:0x02;F3組:0x03;F4組:0x04;F5組:0x05;F6組:0x06;F7組:0x07;F8組:0x08;F9組:0x09;FA組:0x0A;Fb組:0x0B;FC組:0x0C;Fd組:0x0D;FE組:0x0E;FF組:0x0F;FH組:0x10;FL組:0x11;Fn組:0x12;FP組:0x13;FU組:0x14;變頻器控制參數組:0x32;變頻器狀態參數組:0x33。例如變頻器功能碼參數F3.02的寄存器地址為0x302,變頻器功能碼參數FF.01的寄存器地址為0xF01。
3. 支持的功能碼如下:

4. 具體的協議介紹請參考艾默生變頻器用戶手冊;
四、 程序流程圖
主設備對從設備的消息查詢命令主要分為2大類,連續命令序列和隨機命令序列。
連續命令序列: 主設備需要定時或連續向從設備發送的命令序列.特點是周期性,連續性.如PLC對變頻器讀取運行頻率命令,運行狀態命令等。
隨機命令序列: 主設備不定時或隨機向從設備發送的命令序列.特點是不定時性,隨機性.如PLC對變頻器的啟停控制,改寫頻率或其他參數等。

五、 程序清單:( 子程序和主程序 )
本程序主要介紹1臺EC20PLC(作為主站)按照MODBUS協議網絡對3臺變頻器(從站號分別是2,3,4)進行通信控制的簡單范例,本例中:
連續命令序列 包括對2,3,4號變頻器的運行頻率的讀取;
隨機命令序列 包括對2,3,4號變頻器進行啟動,停止,更改頻率的命令操作;
1) “變頻器正轉”子程序清單如下:
//主程序中用M1993作為各發送輔助使能,主要用于 MODBUS指令的上升沿觸發無其他用
LD LM0 //位輸入參數型—發送輔助使能
RST SM135 //復位成功標志
RST SM136 //復位失敗標志
LD SM0//運行標志
MOV Z0 V9 //保存Z0值到V9
LD SM0//運行標志
MOV V0 V10 //從機地址
MOV 16#6 V11 //功能碼
MOV 16#32 V12 //寄存器地址高字節
MOV 16#0 V13//寄存器地址低字節
MOV 1 V14 //寫入數據高字節
MOV 16#C7 V15 //寫入數據低字節
//以下把發送數據轉移到D7940-D7945里
LD SM0
MOV 0 Z0
LD SM0
FOR 6
LD SM0
MOV V10Z0 D7940Z0
LD SM0
INC Z0
NEXT
//發送接收數據,數據放在D7970開始區域
LD LM0
MODBUS 1 D7940 D7970
RST LM0//馬上復位發送輔助使能