馮小雷,王學慧,崔忠信
(河鋼材料技術研究院,河北 石家莊 050000)
隨著智能制造技術的高速發展,PLC 自動化控制技術的作用越來越重要,在線材拉拔生產過程中,使用可編程控制器,對多臺收卷機進行集中控制,通過上位機操控界面對各個收卷機的轉速進行分別控制。需要采用基于MODBUS 協議的通訊連接,實現PLC 對多臺收券機速度的控制,不但節約了硬件成本,又具有集成化程度高、控制能力強、硬件連接簡單、容易操作等特點。結合操控界面,使用PLC 與收券機之間的通訊,實現對多臺收卷機的遠程控制和集中控制,同時增強了收券機控制系統的數據處理能力,實現故障報警等功能。
MODBUS 通信協議是由美國MODICON 公司推出的基于RS485 總線的通訊協議。該協議是一種串行半雙工通信協議,廣泛采用在工業控制領域,能夠實現不同控制設備之間、控制設備與其他功能設備之間的數據通信。通過該協議,可以將不同廠家的控制設備和智能儀表連成一個工業互聯網,通過上位機對生產設備進行集中控制。
一臺主機設備,可以通過MODBUS 通信協議連接多臺從機設備,并且順序讀取各個從站設備的數據。另外,主機設備還可以直接向從機發送指令,修改數據,實現對從機設備的完全控制。
本文使用的Modbus RTU 通信模式,2 個十六進制字符組成一條消息報文由。在RTU 通信方式下,消息報文以字符形式進行連續傳輸,報文中2 個十六進制字符組成1 個字節,單個字節包含有1 個起始位、1 個校驗位、8 個數據位和1 個停止位。
在拉拔線材生產車間,擁有多臺收卷機,實現對不同規格的拉拔線材產品的收集。對于不同規格參數,不同材質的成品線材,需要給收卷機匹配不同的轉速,這就需要用變頻器來控制每臺收卷機的運轉。通過人機界面對變頻器的輸出進行控制和監測,從而直觀有效的控制收卷電機的轉速。基于Modbus 通訊協議,構建可編程控制器對多臺電機變頻器的控制,從而實現收卷機速度調節的自動化。
首先,對于多臺收卷機的操控,采用集散控制的方式,即使用一個安裝在收卷機附近的觸摸屏,對多臺收卷機進行分別控制,給不同的收卷機設定不同的轉動速度;HMI 是操作人員與機器之間的畫面接口,HMI 操控界面選用西門子WinCC flexible 組態軟件進行組態,用于組態用戶界面,方便操作和監視設備。通過可視化界面,監控收卷電機的運行狀態,并且通過對變頻器參數進行修改進而控制收卷機的旋轉速度。HMI 控制系統主要承擔以下任務:(1)過程可視化;(2)報警并顯示;(3)歸檔報警值和過程值;(4)過程和設備的參數管理。
采用西門子S7-200 Smart PLC 作為控制系統核心;配有高速處理芯片,擁有較強的數據運算和數據處理功能,滿足控制系統對數據處理速度的要求。S7-200 SMART CPU 模塊本身集成1 個RS485 接口和1 個以太網接口,滿足小型自動化系統設備連接觸摸屏、變頻器第設備的眾多需求。
為了調整收卷機的速度,需要使用變頻器對收卷電機進行速度控制。變頻器采用匯川技術公司生產的MD200 系列變頻器,采用書型結構設計的MD200 系列變頻器,該系列變頻器內置了輸入濾波器,提高了抗干擾能力。
該系列變頻器配有485 通訊接口,可與Smart PLC直接鏈接,利用MODBUS 通信協議對變頻器參數進行讀取和控制。控制系統組成為:HMI 人機界面、可編程控制器、MD200 變頻器(多臺)、收卷電機(多臺)。
可編程控制器,對多臺變頻器實現系統控制,使用屏蔽雙絞線連接多個變頻器的485 通訊接口,防止環境中的電磁干擾對信號的傳遞造成影響。
將變頻器的運行模式設置為外部控制,即PLC 使能,通信波特率設置為9600bps。主站程序初始化如圖1 所示,在控制程序上調用MBUS_CTRL庫文件,將Mode置為1,將CPU 端口分配給Modbus 協議并啟用該協議,EN 使能端SM0.0 需要一直保持為1 狀態,保證主站在每一個掃描周期都能被使能;奇偶校驗參數(Parity)設置與Modbus 從站設備的奇偶校驗匹配,使用一個起始位和一個停止位,將該參數設置為0(無奇偶校驗);由于使用S7-200 Smart PLC 本體集成RS485 通信端口,所以將通信端口Port 設置為0;參數(Timeout)設為等待從站做出響應的時間,Timeout 值可以為1 ~32767ms 之間。典型值為1000ms,Timeout 參數應設置得合理,以便從站設備有足夠的時間在所選的波特率下傳輸數據;Done為完成標志位,完成初始化其自動置為1;Error 為錯誤代碼,存放在MB1 中,若為0 則代表無錯誤。
另外,PLC 主站程序初始化時,Modbus 地址、站地址、波特率、功能碼、校驗方式、通信數據長度等參數必須和從站通信協議一致,否則主從站之間無法建立通信。
在變頻器上,設置電機參數,包括電機的額定電流、額定功率,轉速等。由于存在多臺變頻器,在變頻器上設定變頻器的編號,根據此編號在控制程序上設定變頻器的通訊地址,需要對不同編號的變頻器使用Modbus協議分別進行參數讀取和指令控制,從站控制程序段如圖2 從站變頻器Modbus 通訊程序所示。

圖2 從站變頻器Modbus 通訊程序
調用MBUS_MSG 庫文件。在程序塊中,Slave 為不同變頻器的編號,最多可以有32 臺設備;當EN 端和First 端輸入同時為正電平時,MBUS_MSG 指令會向主站發出請求。程序在處理請求、等待響應和處理響應的過程時間需要多個PLC 掃描周期,所以EN 輸入必須保持在接通狀態,直到指令為Done 置1。
由于某個時間內只能有一條MBUS_MSG 或MB_MSG2指令處于激活狀態,采集多個從站需要循環掃描,這就需要通過控制First 端口的電平來實現。有新請求發送時,將參數First 設置為高電平,并保持一個掃描周期。First 輸入以脈沖上升沿檢測為控制條件,當有上升沿信號觸發的時候,程序發送一次掃描請求,在程序段中,通過一個定時器程序控制V200.1 的接通,進而得到了觸發First 端口的上升沿信號。
通過控制VB10 的數值,控制該程序段是讀取還是寫入數據,RW 為1 時,通過PLC 給定變頻器控制參數,RW 為0 時,讀取變頻器的狀態參數;參數DataPtr 為間接地址指針,指向CPU 中與相關的數據的存儲器。對于讀請求,控制程序將DataPtr 值以間接地址指針的形式從Modbus 從站讀取的數據的第一個存儲單元。對于寫請求,將DataPtr 設置成為要發送到Modbus 從站數據的第一個存儲單元。通過其他程序段的控制,PLC 讀取多臺變頻器的參數狀態或者對多臺變頻器發出不同的控制指令,控制變頻器的輸出。而變頻器的輸出直接作用于收卷電機,達到了對收卷速度的分別控制。
為了控制電機的速度,要精準的控制變頻器的輸出。為了實現對變頻器的控制,需要傳送一個控制命令給變頻器地址Add 40001,若要實現變頻器不同輸出,就需在變頻器Modbus 地址4001 中輸入不同的控制命令,以便于實現不同的性能。例如,變頻器的準備/停止命令符16#047E,正轉啟動命令符16#047F,反轉啟動命令符16#0C7F。
變頻器的準備停止命令、正向反向點動、故障確認等控制點,都需傳送不同的命令符,以控制變頻器的輸出,變頻器的輸出接到收卷電機上,從而使得收卷電機處于不同的工作狀態。
電機的速度給定,也即是變頻器的頻率給定。需要給Modbus 從站寫入頻率設定值,查閱MD200 變頻器的運行手冊,變頻器的速度給定通訊地址為1007,MD200 變頻器頻率上限為50Hz,通過計算得每1Hz 為327.68。若以設定頻率運行,設定值通過HMI 傳輸到實數變量VD300,設定值乘以327.68 即為當前設定頻率的十進制實數值,將此數值傳送到累加器AC0 中。運用轉換模塊將AC0 數值轉換為整數,存放到VW500,將VW500 中的數值傳送給變頻器Modbus 速度設定值地址1007 中,完成速度值設定,設計的控制程序如圖3所示。

圖3 速度給定程序設計
同樣,可利用類似的程序段,讀取變頻器的其他狀態值。如電壓值、電流值等,實現不同運行狀態設定和監控。當需要調用多個指令讀取變頻器參數時,或給的變頻器參數時,各個從站程序同一個掃描周期只能有一個導通,需要輪回讀取和設定,此時,可利用前一個掃描周期讀寫指令的完成標志位,作為使能信號,使能下一個掃描周期的讀寫指令,依次執行各個變頻器控制程序段。
上文闡述了基于 MODBUS 通信方式下 PLC 控制多臺電機變頻器的設計和控制方法。在工業控制領域使用該通信協議可以方便地將可編程控制器與變頻器組合成工業通信網絡。由于 MODBUS 通訊協議在硬件上只需2根導線,簡化了設備的硬件連接。基于該通訊協議,通過操作界面對多臺收卷機采取集中控制分散管理,簡化了控制流程,提高了生產效率。