張學(xué)輝(遼寧軌道交通職業(yè)學(xué)院,遼寧 沈陽 110036)
基于WinCC的自動化生產(chǎn)線監(jiān)控系統(tǒng)
張學(xué)輝(遼寧軌道交通職業(yè)學(xué)院,遼寧 沈陽 110036)
自動化生產(chǎn)線是集電氣控制技術(shù)、PLC技術(shù)、傳感器技術(shù)、氣動技術(shù)、伺服電機(jī)驅(qū)動技術(shù)及工業(yè)網(wǎng)絡(luò)技術(shù)于一體,在結(jié)構(gòu)設(shè)計上改變傳統(tǒng)的控制系統(tǒng)各工作站間單一的串行結(jié)構(gòu)模式,通過傳輸帶為橋梁,實現(xiàn)工作站間的串行與并行綜合的結(jié)構(gòu)模式。從根本上克服串行結(jié)構(gòu)“牽一發(fā)而動全身”的弊端,增強(qiáng)系統(tǒng)工作的可靠性和柔性,并應(yīng)用總線技術(shù)實現(xiàn)網(wǎng)絡(luò)化控制。
自動化生產(chǎn)線上位機(jī)監(jiān)控是通過一臺工控機(jī)與西門子S7-300 PLC的通信實現(xiàn)的。PLC和計算機(jī)一起構(gòu)成自動化生產(chǎn)線的自動監(jiān)控系統(tǒng),該系統(tǒng)中PLC可直接控制各個單元并向計算機(jī)傳遞現(xiàn)場數(shù)據(jù),計算機(jī)通過PLC可遠(yuǎn)程控制現(xiàn)場設(shè)備,并通過圖形畫面實時顯示自動化生產(chǎn)線的運行狀況。監(jiān)控系統(tǒng)的主要功能:監(jiān)視自動化生產(chǎn)線的運行狀況,具體地說,上位機(jī)應(yīng)能實時顯示自動化生產(chǎn)線的運行步序及驅(qū)動元件的具體動作;通過監(jiān)控系統(tǒng),操作人員可以對自動化生產(chǎn)線進(jìn)行遠(yuǎn)程控制;監(jiān)控程序具備故障報警功能。
自動生產(chǎn)線由上位監(jiān)控機(jī)及自動上料、傳輸檢測、真空分揀、顏色分揀、位置調(diào)整、配件供給和裝配下料功能的七個分站組成。以自動上料站為主站建立主從通訊,主站的控制采用西門子公司的中大型PLC S7-300,其他六個分站的控制采用西門子的小型PLC S7-200,S7-200增加通信擴(kuò)展模塊EM277,實現(xiàn)S7-300和S7-200之間的通訊,建立PROFIBUS網(wǎng)絡(luò),用順序控制設(shè)計的方法編寫系統(tǒng)各個工作站的程序。根據(jù)系統(tǒng)要求,對各站進(jìn)行動作過程的分析,設(shè)計氣動回路,選擇氣動元器件,設(shè)計PLC的硬件連接。除了總站可以通過網(wǎng)絡(luò)通訊的方式進(jìn)行總線控制之外,各工作站可以獨立控制,實現(xiàn)手動和自動控制,編寫各工作站的PLC程序。整個自動化生產(chǎn)線建立基于PROFIBUS現(xiàn)場總線和HMI組態(tài)軟件WinCC的監(jiān)控系統(tǒng),通過工控機(jī)與PLC的總線通信實現(xiàn)遠(yuǎn)程監(jiān)控。自動生產(chǎn)線控制系統(tǒng)組成如圖1所示。

圖1 自動生產(chǎn)線控制系統(tǒng)組成
3.1建立通訊連接
建立WinCC與PLC間通訊的步驟:
(1)創(chuàng)建WinCC站與自動化系統(tǒng)間的物理連接;
(2)在WinCC項目中添加適當(dāng)?shù)耐ǖ莉?qū)動程序;
(3)在通道驅(qū)動程序適當(dāng)?shù)耐ǖ绬卧陆⑴c指定通訊伙伴的連接;
(4)在連接下建立變量。
運行WinCC監(jiān)控程序的上位機(jī)通過CP5611卡的PROFIBUS接口連接到PROFIBUS網(wǎng)絡(luò)中,通訊卡CP561l主要完成PLC和上位機(jī)之間的數(shù)據(jù)交換。
WinCC變量管理器運行時的WinCC變量的任務(wù)是從過程中取出請求的變量值。這個過程通過集成在WinCC項目中的通訊驅(qū)動程序來完成。在WinCC中通訊驅(qū)動程序也指通道,它是一個軟件組織,可以在自動化系統(tǒng)和WinCC中的變量管理器之間設(shè)置連接,以便能向WinCC提供過程值。本系統(tǒng)要實現(xiàn)WinCC與PLC的通訊,選擇WinCC提供的SIMATIC S7 Protocol Suite的通訊驅(qū)動程序,此通訊驅(qū)動程序支持多種網(wǎng)絡(luò)結(jié)構(gòu)和類型,它的通道單元提供與各種SIMATIC S7-300 PLC的通訊。由于本系統(tǒng)中PLC之間建立的是PROFIBUS-DP的通訊方式,因此選擇PROFIBUS通道單元實現(xiàn)與現(xiàn)場總線PROFIBUS上的PLC通訊。
3.2組態(tài)變量
(1)建立內(nèi)部變量
過程沒有為其提供變量值的變量,稱為內(nèi)部變量。內(nèi)部變量沒有對應(yīng)的過程驅(qū)動程序和通道單元,不需要建立相應(yīng)的通道連接。內(nèi)部變量在“內(nèi)部變量”目錄中創(chuàng)建,所組態(tài)的內(nèi)部變量數(shù)目不受限制。打開WinCC資源管理器→變量管理器,雙擊“變量管理”子目錄,右擊“內(nèi)部變量”圖標(biāo),在快捷菜單中選擇“新建變量”菜單項來建立內(nèi)部變量,也可以選擇“新建組”來建立一個組,組的建立便于變量的管理。
(2)建立外部變量
外部變量是與外界設(shè)備信息交換的關(guān)鍵,本系統(tǒng)將所有從PLC采集來的數(shù)據(jù)和要發(fā)給PLC的指令都定義成外部變量。在配置通訊驅(qū)動程序的基礎(chǔ)上,在SIMATIC S7 Protocol Suite的PROFIBUS通道單元建立驅(qū)動連接,選中 “PROFIBUS”項,右鍵單擊選擇“新驅(qū)動程序的連接”,打開連接屬性,輸入控制器的站地址、機(jī)架號、插槽號等,注意S7-300 CPU的插槽號為2,其他根據(jù)相應(yīng)的配置輸入正確的參數(shù)。
在建立的連接(此處為NewConnection)中可以添加外部變量或變量組。右鍵單擊“NewConnection”新建變量,打開“變量屬性”對話框,選擇數(shù)據(jù)類型。單擊 “選擇”按鈕,打開“地址屬性”對話框,在此設(shè)置S7 PLC中變量對應(yīng)的地址,特別要注意變量的外部連接地址要與PLC的存儲器地址中的數(shù)據(jù)一一對應(yīng)。如:自動上料站下降限位PLC的地址為I1.0,WinCC中自動上料站的下降限位變量為外部變量Down_limit,通過地址選擇將變量Down_limit與S7-300PLC中的輸入地址I1.0對應(yīng)起來。自動上料站監(jiān)控畫面變量定義如表1所示。

表1 變量定義表
3.3創(chuàng)建監(jiān)控畫面
在組態(tài)期間,圖形系統(tǒng)用于創(chuàng)建在運行系統(tǒng)中顯示的監(jiān)控畫面。圖形編輯器是圖形系統(tǒng)的組態(tài)軟件,是用于創(chuàng)建監(jiān)控畫面的編輯器。右擊WinCC資源管理器的圖形編輯器,從快捷菜單中選擇“新建畫面”菜單項,將創(chuàng)建的新畫面命名為“自動上料站”、“真空分揀站”和“裝配下料站”。制作的監(jiān)控畫面如圖2所示。

圖2 自動上料站監(jiān)控畫面
3.4監(jiān)控畫面動態(tài)組態(tài)
上一節(jié)創(chuàng)建的“自動上料站”、“真空分揀站”和“裝配下料站”的過程畫面未動態(tài)組態(tài)前都是靜態(tài)的,那么它們?nèi)绾尾拍芊从彻I(yè)現(xiàn)場的狀況呢?這就需要通過實時數(shù)據(jù)庫,因為只有數(shù)據(jù)庫中的變量才是與現(xiàn)場狀況同步變化的。數(shù)據(jù)庫變量的變化又如何導(dǎo)致畫面的動畫效果?通過“動態(tài)組態(tài)”來實現(xiàn)。所謂“動態(tài)組態(tài)”就是建立畫面的圖素與數(shù)據(jù)庫變量的對應(yīng)關(guān)系。這樣,工業(yè)現(xiàn)場的數(shù)據(jù),比如溫度、液面高度等,當(dāng)它們發(fā)生變化時,通過I/O接口,將引起實時數(shù)據(jù)庫中變量的變化。
圖形對象可以按動畫連接的要求改變顏色、尺寸、位置、填充百分?jǐn)?shù)等,一個圖形對象又可以同時定義多個連接。把這些動畫連接組合起來,應(yīng)用程序?qū)⒊尸F(xiàn)出令人難以想象的圖形動畫效果。WinCC畫面中的動態(tài)效果可以由多種方法來實現(xiàn),主要包括:組態(tài)動畫框、動態(tài)向?qū)А⒆兞窟B接、動態(tài)對話框、直接連接、C動作和VBS動作等。
“自動上料站”監(jiān)控畫面的動態(tài)組態(tài)如下:
(1)界面切換按鈕的動態(tài)組態(tài)
如圖1所示,有“上料站”、“分揀站”和“下料站”三個按鈕,這三個按鈕的作用是在三個監(jiān)控界面之間進(jìn)行切換。“上料站”按鈕右鍵→選擇動態(tài)對話框→單擊鼠標(biāo)組態(tài)畫面→選擇“自動上料站.Pdl”。“分揀站”和“下料站”按鈕組態(tài)與“上料站”按鈕相同。
(2)退出按鈕的動態(tài)組態(tài)
選擇“退出按鈕”,雙擊動態(tài)向?qū)е小癊xit WinCC Runtime”,單擊下一步按鈕,選擇觸發(fā)器,單擊完成。
(3)限位開關(guān)的動態(tài)組態(tài)
(4)控制開關(guān)、按鈕的動態(tài)組態(tài)
“自動上料站”監(jiān)控畫面有2個控制開關(guān)分別是“遠(yuǎn)程/近地”、“手動/自動”和2個控制按鈕“啟動”、“停止”。“遠(yuǎn)程/近地”是進(jìn)行自動上料站系統(tǒng)控制權(quán)的選擇,打到遠(yuǎn)程時,通過WinCC監(jiān)控畫面的開關(guān)或者按鈕來啟、停系統(tǒng),打到近地則通過上料站旁的操縱臺上的實際開關(guān)或者按鈕來啟、停系統(tǒng)。“啟動”、“停止”只在遠(yuǎn)程且手動狀態(tài)下有效。
? 開關(guān)的組態(tài),右鍵單擊“遠(yuǎn)程/近地”開關(guān)選擇對象屬性→“屬性”→“UserDfined1” →“Toggle” →右鍵單擊圖標(biāo)→選擇變量為“Long_Near”。“手動/自動”開關(guān)的動態(tài)組態(tài)過程與“遠(yuǎn)程/近地”開關(guān)一樣。
? 控制按鈕的組態(tài),右鍵單擊“啟動”按鈕選擇對象屬性→“事件”→“鼠標(biāo)”→按左鍵→直接連接→將常數(shù)1賦值給變量“Start”,釋放左鍵的時候?qū)⒊?shù)0賦值給變量“Start”。“停止”控制按鈕的組態(tài)過程與“啟動”控制按鈕相同。
(5)動態(tài)顯示文本的組態(tài)
“自動上料站”監(jiān)控畫面有個動態(tài)顯示文本來顯示機(jī)械手當(dāng)前的動作,借助內(nèi)部變量“Word”進(jìn)行動態(tài)文本的組態(tài),當(dāng)變量“Word”取不同的值的時候顯示不同的文本用來監(jiān)視機(jī)械手當(dāng)前的動作。
#include "apdefap.h"
void OnOpenPicture(char *lpszPictureName,char *lpszObjectName,char *lpszPropertyName)
{unsigned int x1,x2,x3,x4,x5,x6,x7,x8;
unsigned int y;
x1=GetTagBit("Open_action"); //Return-type:BOOL
x2=GetTagBit("Close_action"); //Return-type:BOOL
x3=GetTagBit("On_action"); //Return-type:BOOL
x4=GetTagBit("Off_action"); //Return-type:BOOL
x5=GetTagBit("Up_action"); //Return-type:BOOL
x6=GetTagBit("Down_action"); //Return-type:BOOL
x7=GetTagBit("Lift_action"); //Return-type:BOOL
x8=GetTagBit("Right_action"); //Return-type:BOOL
if(x1==1)
y=1;
else if(x2==1)
y=2;
else if(x3==1)
y=3;
else if(x4==1)
y=4;
else if(x5==1)
y=5;
else if(x6==1)
y=6;
else if(x7==1)
y=7;
else if(x8==1)
y=8;
else
y=0;
SetTagWord("Word",y);}
3.5運行系統(tǒng)設(shè)置
如果希望對過程進(jìn)行監(jiān)控,則必須激活項目,并激活與外部PLC及其他控制器的通訊。激活WinCC項目即是啟動WinCC運行系統(tǒng)。運行系統(tǒng)啟動后,所有的過程數(shù)據(jù)都存儲在服務(wù)器運行系統(tǒng)數(shù)據(jù)庫中。
激活項目時,將裝載運行系統(tǒng)所需要的附加程序模塊。在瀏覽窗口中選擇“計算機(jī)”→“屬性”,進(jìn)行“啟動”、“參數(shù)”、“圖形運行系統(tǒng)”和“運行系統(tǒng)”的設(shè)置。對運行系統(tǒng)的修改,大部分設(shè)置在重新激活后即可生效;部分設(shè)置重新啟動后才能生效。
[1] 楊路明, 雷亞軍. 組態(tài)軟件WinCC在自動監(jiān)控系統(tǒng)中的應(yīng)用[J]. 計算技術(shù)與自動化, 2003, (12): 21 – 24.
[2] 朱勇, 葉華, 劉成良. 使用WinCC在機(jī)電一體化系統(tǒng)中實現(xiàn)過程監(jiān)控[J].儀表技術(shù)與傳感器, 2004, (6):19 – 25.
Application of WinCC in Automation Monitor System
本文針對自動化生產(chǎn)線設(shè)備,介紹了自動監(jiān)控系統(tǒng)的軟硬件構(gòu)成,分析了WinCC與PLC之間的通訊機(jī)制,并對利用組態(tài)軟件WinCC設(shè)計自動監(jiān)控系統(tǒng)的方法以及開發(fā)過程中遇到的問題和解決途徑進(jìn)行了討論。
組態(tài)軟件;WinCC;PLC;生產(chǎn)線
According to the device of the automatic production line, this paper introduces software and hardware configurations of automation monitor system, and analyzes the communication principle between WinCC and PLC. The design method of the automation monitor system using the configuration software WinCC, and the encountered problem and solution methods during the process of development are also discussed in this paper.
Configuration software; WinCC; PLC; Product line
B 文章編號:1003-0492(2015)01-0096-04 中圖分類號:TP273
張學(xué)輝(1978- ),男,遼寧北票人,講師,研究生,現(xiàn)就職于遼寧軌道交通職業(yè)學(xué)院,主要研究方向為系統(tǒng)集成及自動化。