宮迎輝,何宏宏,王中會(huì),楊春青,李 芳
(1.北京機(jī)械工業(yè)自動(dòng)化研究所,北京 100120;2.安徽合肥師范附小二小,合肥 230601)
電鍍鉻鋼板是用于金屬包裝的重要產(chǎn)品,隨著自動(dòng)化控制的發(fā)展,生產(chǎn)線要求更加精密和完善的自控控制。Wincc作為可視化窗口,除了要實(shí)現(xiàn)以往的圖形數(shù)據(jù)的顯示功能,根據(jù)現(xiàn)場(chǎng)要求還需要通過(guò)腳本及結(jié)構(gòu)來(lái)實(shí)現(xiàn)更加具有用戶(hù)特點(diǎn)的功能。
監(jiān)控畫(huà)面是上位監(jiān)控系統(tǒng)設(shè)計(jì)的主要環(huán)節(jié),塊圖表和設(shè)備則是組成上位監(jiān)控的主要元素。
在電鍍鉻生產(chǎn)線中有大量的電機(jī)、水泵、電磁閥等設(shè)備。他們的各個(gè)類(lèi)型的設(shè)備功能和外觀相似。因此,塊圖標(biāo)是WINCC畫(huà)面組態(tài)的重要環(huán)節(jié)。但在制作和設(shè)計(jì)眾多塊圖標(biāo)和監(jiān)控畫(huà)面需要大量的時(shí)間,步驟如下:
1)首先在畫(huà)面編輯器里為每個(gè)塊新建一個(gè)畫(huà)面,并以設(shè)備名稱(chēng)命名。
2)調(diào)整和布局每個(gè)畫(huà)面中塊的監(jiān)控內(nèi)容。
3)然后在監(jiān)控畫(huà)面中調(diào)用畫(huà)面窗口對(duì)象,確定好畫(huà)面窗口在整個(gè)畫(huà)面中的位置寬度高度等屬性。保持畫(huà)面的協(xié)調(diào)性。
4)然后設(shè)定畫(huà)面窗口的屬性,指定畫(huà)面名稱(chēng),例如“motor.pdl”,在對(duì)變量前綴屬性項(xiàng)指定過(guò)程變量,但只取結(jié)構(gòu)變量中設(shè)備的命名并加.為后綴。例如:open1.
1)首先在結(jié)構(gòu)變量里新建一個(gè)結(jié)構(gòu)變量,在結(jié)構(gòu)屬性中將控制設(shè)備的變量全部建立,形成一個(gè)結(jié)構(gòu)。以電機(jī)為例如圖1所示。
圖1 電機(jī)的結(jié)構(gòu)變量
2)設(shè)備操作模板的設(shè)計(jì)方法步驟參見(jiàn)塊圖標(biāo)的描述。本項(xiàng)目中電機(jī)的操作模板如圖2所示。
圖2 電機(jī)的操作模板
腳本代碼是實(shí)現(xiàn)生產(chǎn)線監(jiān)控畫(huà)面動(dòng)態(tài)屬性的關(guān)鍵和核心。由于WINCC腳本函數(shù)操控性強(qiáng)大而靈活,所以我們使用了VBS腳本。
在電鍍鉻生產(chǎn)線中鋼帶的焊縫跟蹤是非常必要的。根據(jù)實(shí)際焊縫檢測(cè)信號(hào),及鋼帶運(yùn)行速度進(jìn)而計(jì)算鋼帶長(zhǎng)度,再根據(jù)實(shí)際情況分段處理,使其實(shí)現(xiàn)圖中正確的焊縫位置顯示。為了相對(duì)準(zhǔn)確的知道焊縫的位置,我們將整條生產(chǎn)線分為:入口段、前活套、前處理、電鍍鉻、后活套、出口段六個(gè)部分。在各段中我們將根據(jù)運(yùn)行速度計(jì)算其實(shí)際直線長(zhǎng)度,再根據(jù)一定得比例設(shè)定來(lái)準(zhǔn)確的顯示在焊縫跟蹤曲線上。而比例設(shè)定我們將作為一個(gè)類(lèi)似于前面講到的結(jié)構(gòu)來(lái)完成,其實(shí)現(xiàn)方法如圖3所示。以每個(gè)部分為單元,其開(kāi)始位置與結(jié)束位置為參考,通過(guò)VB腳本實(shí)現(xiàn)計(jì)算,完成比例及運(yùn)行軌跡的實(shí)時(shí)跟蹤。根據(jù)實(shí)際鋼板長(zhǎng)度值得實(shí)時(shí)變化來(lái)觸發(fā)以上的VB腳本程序。具體的實(shí)現(xiàn)方法如下:在焊縫實(shí)際鋼帶長(zhǎng)度的輸出域?qū)傩浴笆录薄拜敵鲋怠敝袑?xiě)入以下腳本:
Dim x1,x2,x3,x4,x5,x6,x
Dim a1,a2,a3,a4,a5,a6,b
Dim k1,k2,k3,k4,k5,k6
b=HMIRuntime.Tags("a3").Read
k1=HMIRuntime.Tags("ka").Read
k2=HMIRuntime.Tags("kb").Read
k3=HMIRuntime.Tags("kc").Read
k4=HMIRuntime.Tags("kd").Read
k5=HMIRuntime.Tags("ke").Read
k6=HMIRuntime.Tags("kf").Read
x1 = ScreenItems("juxing1").Left
a1 = ScreenItems("juxing1").Width
x2 = ScreenItems("juxing2").Left
a2 = ScreenItems("juxing2").Width
x3 = ScreenItems("juxing3").Left
a3 = ScreenItems("juxing3").Width
x4 = ScreenItems("juxing4").Left
a4 = ScreenItems("juxing4").Width
圖3 電鍍鉻生產(chǎn)線焊縫追蹤
x5 = ScreenItems("juxing5").Left
a5 = ScreenItems("juxing5").Width
x6 = ScreenItems("juxing6").Left
a6 = ScreenItems("juxing6").Width
x = ScreenItems("juxing").Left
If x1 ScreenItems("juxing").Left=k1*b+x1 Else If x2 ScreenItems("juxing").Left=k2*b+x2 Else If x3 ScreenItems("juxing").Left=k3*b+x3 Else If x4 ScreenItems("juxing").Left=k4*b+x4 Else If x5 ScreenItems("juxing").Left=k5*b+x5 Else If x6 ScreenItems("juxing").Left=k6*b+x6 Else End If End If End If End If End If End If End Sub Wincc是一款功能靈活的監(jiān)控和數(shù)據(jù)采集組態(tài)軟件。全局腳本代碼的靈活操作性,以及豐富而美觀的圖標(biāo)庫(kù)為設(shè)備塊圖標(biāo)和操作模板組態(tài)設(shè)計(jì)提供了強(qiáng)大的技術(shù)支撐。雖然塊圖標(biāo)和操作模板的設(shè)計(jì)是要花費(fèi)一些時(shí)間,但是建立好后,對(duì)于整個(gè)監(jiān)控畫(huà)面的設(shè)計(jì)和更改卻是非常簡(jiǎn)單與快捷,節(jié)省大量的時(shí)間與精力。 [1] 西門(mén)子公司. 用戶(hù)手冊(cè). [2] 2011西門(mén)子自動(dòng)化專(zhuān)家會(huì)議論文集(上冊(cè)).3 結(jié)束語(yǔ)