盧振羽
(航空工業(yè)貴陽萬江航空機電有限公司,貴陽 550003)
隨著人工智能的進一步發(fā)展,利用西門子WCC組態(tài)開發(fā)控制系統(tǒng)已經(jīng)越來越廣泛,在開發(fā)控制系統(tǒng)的過程中,如何通過文本列表的運用進行程序的選擇、指令的執(zhí)行、數(shù)據(jù)的讀取和顯示尤其重要[1-2]。本文通過兩個工程實踐的例子,通過西門子WCC設計文本列表,利用西門子PLC及VBS編制程序,實現(xiàn)了在西門子WCC的操作界面上進行程序選擇、數(shù)據(jù)導入,其他一些功能可參照設計。
在某控制系統(tǒng)設計過程中,需要對文本列表中的不同車型選擇不同的試驗標準進行試驗[3],不同的試驗標準已在PLC中設計了不同的子程序,需要在上位機WCC中選擇文本列表框中的主機廠試驗標準如“神龍”,將執(zhí)行下位機PLC中對應的“神龍”子程序,如圖1所示。
圖1 利用文本列表選擇不同的程序
設計過程介紹如下。
(1)先在WCC的操作界面創(chuàng)建文本列表,并設置外部變量VW1014,該文本列表與外部變量VW1014鏈接,對于VW1014的使用,后面的PLC編程將會用到,根據(jù)西門子PLC 200對“VW”的定義,“VW”是變量存儲器,代表“字”,共16位,包括低8位和高8位,故VW1014代表如下。
低8位:V1015.0 V1015.1 V1015.2 V1015.3 V1015.4 V1015.5 V1015.6 V1015.7。
高8位:V1014.0 V1014.1 V1014.2 V1014.3 V1014.4 V1014.5 V1014.6 V1014.7。
(2)對WCC中的文本列表創(chuàng)建完后,必須對數(shù)值(0、1、2、3、4…)進行分配,這時,可以通過“附加”的方式增加試驗項目(“0”代表“按下雙擊選擇車型”、“1”代表“凱越”、“2”代表“神龍”、“3”代表“NCS”),如圖2所示。
圖2 WCC文本列表的數(shù)值分配
(3)編制PLC程序,本工程設計的目的是點擊WCC中的文本列表VW1014“1凱越”、“2神龍”、“3 NCS”后,執(zhí)行下位機PLC中的子程序,這時,需要對VW1014對應的低8位、高8位按順序組合編程,共可以編出65 536個子程序出來,實際工程中用不了那么多。根據(jù)這一思路,編制PLC程序,如圖3所示,這時WCC文本列表中的“2神龍”與下位機PLC中的子程序“神龍”實現(xiàn)了對應關系,也就是說,在點擊上位機WCC操作界面的“神龍”時,就可以執(zhí)行下位機PLC中的子程序“神龍”了。
(4)給下位機PLC下載程序,運行上位機WCC,在WCC的操作界面文本列表中點擊想要運行的程序如“神龍”,點擊后就可以執(zhí)行對應的PLC子程序,就可以開展需要的試驗了。
在某系統(tǒng)開發(fā)中,需要將文本列表中產(chǎn)品型號如GZD-70H產(chǎn)品(文本列表中已設置多個產(chǎn)品型號)的“產(chǎn)品電流”的“上限值”和“下限值”顯示在WCC的操作界面上,以及“產(chǎn)品轉速”的“上限值”和“下限值”顯示在WCC的操作界面上,方便檢測人員目視觀察[4-5],同時將在檢測過程中檢測到的“產(chǎn)品電流”及“產(chǎn)品轉速”的值和“上限值”和“下限值”進行比較,當檢測值超過“上限值”及檢測值低于“下限值”時進行報警,防止不合格產(chǎn)品流出,如圖4所示。
圖3 PLC程序圖
圖4 對應產(chǎn)品數(shù)據(jù)的讀取
設計過程介紹如下。
(1)先將要顯示的數(shù)據(jù)存放于某一文件中,在電腦D盤下建立excel文件,并命名“設置產(chǎn)品合格限.xlsx”,該文件中每個產(chǎn)品型號對應“電流”的“上限值”和“下限值”及“轉速”的“上限值”和“下限值”,如產(chǎn)品名稱是“GZD-70H”的產(chǎn)品的電流“上限值”是3.4 A,“下限值”是0.4 A,轉速“上限值”是40,下限值是21。這個表格上的數(shù)值將是在WCC操作界面上要顯示的數(shù)值,如圖5所示。
圖5 利用Excel建立需要顯示的數(shù)值
(2)在WCC的操作界面創(chuàng)建文本列表,按1.1節(jié)的方式設計,設置外部變量“CPXZ”與該文本列表進行鏈接,并對文本列表的數(shù)值進行分配,其中值“0”對應文本列表中的“GZD-70H”,值“1”對應文本列表中的“GZD-70AH”,依次進行設計。
(3)此時,可以在WCC中利用VBS編制程序[6],編程思路“打開d:設置產(chǎn)品合格限.xlsx文件,讀取該excel中的電流“上限值”在WCC操作界面“產(chǎn)品電流”的“上限值”既“dlsx”處寫入,其他的參數(shù),電流“下限值”及轉速的“上限值”及“下限值”也按該方式讀取,既讀取預先在excel表格中設置的參數(shù)“轉速”和“電流”值的“上限值”和“下限值”,并將這些參數(shù)值顯示在WCC的操作界面上(圖4)。部分程序如下:
Dim cpxz,app,a
cpxz=HMIRuntime.tags("CPXZ").read
Set app=CreateObject("excel.application")
app.workbooks.open"d:設置產(chǎn)品合格限.xlsx"
a=cpxz+2
HMIRuntime.tags("dlsx").write app.worksheets("sheet1").cells(a,2).value
HMIRuntime.tags("dlxx").write app.worksheets("sheet1").cells(a,3).value
HMIRuntime.tags("zssx").write app.worksheets("sheet1").cells(a,4).value
HMIRuntime.tags("zsxx").write app.worksheets("sheet1").cells(a,5).value
app.quit
End Function
(4)在VBS程序設計完后,需要設置觸發(fā)器,觸發(fā)器分周期性觸發(fā)和變量有變化時觸發(fā),根據(jù)本工程的目的,當點擊WCC操作界面文本列表“CPXZ”時,需要顯示所選擇的產(chǎn)品的參數(shù),故設置觸發(fā)器為“變量變化時”,當選擇任一產(chǎn)品如“GZD-70H”時,即可顯示所選擇的產(chǎn)品的參數(shù)[7-8]。
(5)程序設計完后,運行WCC程序(圖4),在文本列表框中點擊GZD-70H,實現(xiàn)了在WCC的操作界面上顯示了轉速值及電流值的上下限值,方便檢測人員觀察,同時將在檢測過程中檢測到的“產(chǎn)品電流”及“產(chǎn)品轉速”的值和“上限值”和“下限值”進行比較,當檢測值超過“上限值”及檢測值低于“下限值”時進行報警,防止不合格產(chǎn)品流出。
通過兩個工程例子的探索研究,在掌握了西門子WCC文本列表運用的同時,還需要掌握西門子PLC編程、VBS語言編程、變量的定義、數(shù)據(jù)庫的使用、觸發(fā)器的使用。本文通過西門子WCC、西門子PLC、VBS及相關知識的綜合使用,實現(xiàn)了程序選擇、數(shù)據(jù)導入顯示的功能。毋庸置疑,WCC文本列表在工程設計中還可以實現(xiàn)非常多的功能,這需要在工程設計時靈活運用各軟件及相關知識,才能達到工程設計的目的。