楊 洋,葉愛(ài)萍,王之恒,范 維YANG Yang, YE Ai-ping, WANG Zhi-heng, FAN Wei(北京機(jī)械工業(yè)自動(dòng)化研究所,北京 100120)
WinCC腳本系統(tǒng)在MES系統(tǒng)中的應(yīng)用
楊洋,葉愛(ài)萍,王之恒,范維
YANG Yang,YE Ai-ping,WANG Zhi-heng,F(xiàn)AN Wei
(北京機(jī)械工業(yè)自動(dòng)化研究所,北京 100120)
以某汽車裝配線為例,介紹WinCC腳本系統(tǒng)如何協(xié)助MES系統(tǒng)管理車間生產(chǎn),為輕量化開發(fā)和部署MES系統(tǒng)提供一種解決方案。通過(guò)該方案,能夠快速、簡(jiǎn)便地和MES系統(tǒng)進(jìn)行集成。
WinCC;腳本;MES
在某汽車廠的前后懸架總成裝配線實(shí)施過(guò)程中需要和該廠自行開發(fā)的MES系統(tǒng)進(jìn)行集成,而裝配線已配有基于WinCC開發(fā)的二級(jí)系統(tǒng)。為此依托WinCC腳本系統(tǒng)提出了一套集成方案,針對(duì)MES系統(tǒng)所需功能選擇性開發(fā),實(shí)現(xiàn)了二者的快速集成。
WinCC提供了兩種腳本:ANSI-C和VBScript[1]。WinCC可以通過(guò)使用函數(shù)和動(dòng)作使WinCC項(xiàng)目中的過(guò)程動(dòng)態(tài)化[1]。ANSI-C和VBScript都可以集成到圖形編輯器運(yùn)行系統(tǒng)和全局腳本運(yùn)行系統(tǒng)中。由于全局腳本過(guò)多會(huì)降低WinCC的響應(yīng)速度,以及VBScript開發(fā)速度快、便于調(diào)試,因此采用VBScript動(dòng)作實(shí)現(xiàn)集成。
針對(duì)MES系統(tǒng)需要的計(jì)劃下發(fā)及數(shù)據(jù)上傳兩項(xiàng)要求,本方案提供計(jì)劃讀取、數(shù)據(jù)記錄、數(shù)據(jù)發(fā)送、數(shù)據(jù)追溯四項(xiàng)功能。其中,計(jì)劃讀取能夠自動(dòng)/手動(dòng)讀取計(jì)劃,最大限度的保證生產(chǎn);數(shù)據(jù)記錄通過(guò)合理設(shè)計(jì)記錄方式、優(yōu)化記錄流程提供簡(jiǎn)便高效的記錄方案;數(shù)據(jù)發(fā)送功能在裝配完成自動(dòng)將生產(chǎn)數(shù)據(jù)發(fā)送到MES中間數(shù)據(jù)庫(kù);數(shù)據(jù)追溯提供本地/遠(yuǎn)程追溯功能,既能在WinCC服務(wù)器查看所有生產(chǎn)數(shù)據(jù),也能在MES系統(tǒng)內(nèi)查看定制的生產(chǎn)數(shù)據(jù)。
二級(jí)系統(tǒng)和MES系統(tǒng)之間的數(shù)據(jù)交互采用中間數(shù)據(jù)庫(kù)方式,和全廠的MES數(shù)據(jù)交互接口保持一致,降低了該廠MES系統(tǒng)開發(fā)難度。
所有功能通過(guò)I/O域輸出值更改的VBScript動(dòng)作實(shí)現(xiàn),PLC通過(guò)該I/O連接的變量觸發(fā)相關(guān)功能;所有動(dòng)作均存放在WinCC啟動(dòng)畫面,保證在運(yùn)行系統(tǒng)激活期間能夠隨時(shí)響應(yīng);所有動(dòng)作均置于底層且隱藏,確保不會(huì)影響正常操作且不產(chǎn)生誤操作。
2.1計(jì)劃讀取
托盤進(jìn)入線體到達(dá)上線工位后自動(dòng)觸發(fā)WinCC讀取生產(chǎn)計(jì)劃腳本:若本地緩存的計(jì)劃列表中還有未執(zhí)行的計(jì)劃,則直接將下一個(gè)計(jì)劃寫入PLC;若本地緩存的計(jì)劃列表沒(méi)有未執(zhí)行的計(jì)劃,根據(jù)下批自動(dòng)/手動(dòng)標(biāo)志位確定讀取中間數(shù)據(jù)庫(kù)計(jì)劃或讀取手動(dòng)錄入的計(jì)劃,并更新本地計(jì)劃緩存。
若車間需要緊急生產(chǎn)某個(gè)型號(hào)的車型而MES系統(tǒng)已將計(jì)劃下發(fā)無(wú)法更改,可以在WinCC輸入緊急計(jì)劃,在需要生產(chǎn)時(shí)單擊緊急計(jì)劃,此時(shí)WinCC將該計(jì)劃寫入PLC。
針對(duì)生產(chǎn)時(shí)會(huì)有需要重新裝配的情況,可以通過(guò)重走計(jì)劃功能實(shí)現(xiàn)該功能。車間手動(dòng)生產(chǎn)時(shí)PLC無(wú)法觸發(fā)WinCC讀取計(jì)劃腳本,期間生產(chǎn)的計(jì)劃在恢復(fù)自動(dòng)生產(chǎn)后可以通過(guò)跳過(guò)計(jì)劃功能跳過(guò)已生產(chǎn)的計(jì)劃。生產(chǎn)計(jì)劃畫面如圖1所示。
圖1 生產(chǎn)計(jì)劃畫面
2.2數(shù)據(jù)記錄
對(duì)于裝配線而言,每種型號(hào)需要記錄的數(shù)據(jù)類型及數(shù)量各不相同。通過(guò)為每臺(tái)設(shè)備建立各自獨(dú)立的數(shù)據(jù)表存儲(chǔ)數(shù)據(jù),并在各數(shù)據(jù)表建立總成ID或裝配時(shí)間的索引,可以使得數(shù)據(jù)庫(kù)減少空白字段,提高整體易維護(hù)性、擴(kuò)展性。
根據(jù)設(shè)備特點(diǎn)以及所記錄數(shù)據(jù)的實(shí)際需求編寫相應(yīng)設(shè)備的數(shù)據(jù)記錄腳本。PLC程序在完成每項(xiàng)操作時(shí)給出完成信號(hào),以此觸發(fā)WinCC對(duì)應(yīng)的腳本。為提高響應(yīng)速度、防范數(shù)據(jù)丟失,雖然該線設(shè)備可以劃分為幾類,數(shù)據(jù)記錄時(shí)仍按設(shè)備數(shù)量編寫腳本;為降低開發(fā)難度、提高后期程序維護(hù)性,參考C語(yǔ)言宏定義,在定義WinCC變量時(shí)采用“設(shè)備名+序號(hào)”方式,在腳本起始定義變量指示序號(hào),腳本中使用WinCC變量時(shí)使用“&”將序號(hào)與變量名中其他固定字符相連接。以第3號(hào)電動(dòng)扳手的最終力矩為例,定義WinCC變量為ETool3. FinalAngle,在腳本起始定義“gun_num”變量并賦值為3,在腳本中使用該變量的格式為“"ETool" & gun_ num & ". FinalAngle"”。
2.3數(shù)據(jù)發(fā)送
總成裝配完畢,觸發(fā)發(fā)送數(shù)據(jù)信號(hào)。根據(jù)總成ID在數(shù)據(jù)庫(kù)各個(gè)數(shù)據(jù)表中查詢MES需要的數(shù)據(jù),組成SQL語(yǔ)句,填入SQL語(yǔ)句數(shù)組。連接MES中間數(shù)據(jù)庫(kù),逐條執(zhí)行SQL語(yǔ)句數(shù)組中的語(yǔ)句,將數(shù)據(jù)發(fā)送到中間數(shù)據(jù)庫(kù)。
2.4數(shù)據(jù)追溯
由于MES系統(tǒng)僅需要各總成的條碼信息,其他擰緊數(shù)據(jù)、檢測(cè)數(shù)據(jù)等需要存儲(chǔ)在本地WinCC服務(wù)器。在WinCC服務(wù)器提供分類查詢,可以同一時(shí)間集中查看產(chǎn)品的某一類信息。查詢時(shí)可以根據(jù)需要選擇按時(shí)間查詢、按總成查詢以及按零部件查詢?nèi)N。查詢結(jié)果可以導(dǎo)出到CSV文件中。遠(yuǎn)程追溯借助MES系統(tǒng),在其系統(tǒng)內(nèi)進(jìn)行追溯。數(shù)據(jù)追溯如圖2所示。
圖2 數(shù)據(jù)追溯畫面
WinCC腳本系統(tǒng)和MES集成后,加快了MES系統(tǒng)的部署進(jìn)度,降低了MES系統(tǒng)與車間PLC控制系統(tǒng)之間的維護(hù)復(fù)雜度,取得了較好效果。
[1] 西門子(中國(guó))有限公司自動(dòng)化與驅(qū)動(dòng)集團(tuán).深入淺出西門子WinCC V6(附光盤)[M].北京:北京航空航天大學(xué)出版社,2004.
Application of winCC script system in MES
TP29
A
1009-0134(2016)06-0013-02
2016-04-20
楊洋(1987 -),女,河北衡水人,助理工程師,本科,研究方向制造業(yè)MS系統(tǒng)的開發(fā)與部署。