高 月 飛, 程 金 石, 王 德 權(quán)
(大連工業(yè)大學(xué) 機(jī)械工程與自動化學(xué)院, 遼寧 大連 116034)
發(fā)動機(jī)再制造是以舊發(fā)動機(jī)或部分損壞的發(fā)動機(jī)為原料,采用一系列特殊工藝使發(fā)動機(jī)的零部件恢復(fù)到與新機(jī)相同的尺寸、精度及性能,然后重新組裝成完整的發(fā)動機(jī)的特殊過程。發(fā)動機(jī)再制造是有利于節(jié)約資源和能源、減少環(huán)境污染的“綠色工程”。 大力發(fā)展發(fā)動機(jī)的再制造符合我國循環(huán)經(jīng)濟(jì)和可持續(xù)發(fā)展的要求[1-2]。
發(fā)動機(jī)再制造是一項(xiàng)系統(tǒng)工程,既包括再制造技術(shù)和生產(chǎn)線等“硬件系統(tǒng)”的研究與開發(fā),也包括生產(chǎn)線監(jiān)控系統(tǒng)等“軟件系統(tǒng)”的設(shè)計與開發(fā)。就軟件系統(tǒng)而言,汽車發(fā)動機(jī)再制造與新汽車發(fā)動機(jī)信息化處理由于生產(chǎn)方式不同,決定了二者在生產(chǎn)計劃、生產(chǎn)周期、成本統(tǒng)計、車間調(diào)度、數(shù)據(jù)采集等方面的不同特征[3-5]。隨著發(fā)動機(jī)再制造技術(shù)的不斷發(fā)展和逐漸成熟,適用于發(fā)動機(jī)再制造生產(chǎn)線的監(jiān)控系統(tǒng)應(yīng)運(yùn)而生。然而國內(nèi)大多數(shù)相關(guān)軟件都是針對某一工程項(xiàng)目特定的工作流程定制的,造成信息和數(shù)據(jù)交換極為不便,形成非常明顯的信息孤島現(xiàn)象。作者基于OPC技術(shù)及Microsoft Visual Studio 2010開發(fā)環(huán)境開發(fā)了發(fā)動機(jī)再制造生產(chǎn)線監(jiān)控系統(tǒng),有效解決了上述問題。
監(jiān)控系統(tǒng)主要用來監(jiān)控現(xiàn)場設(shè)備的運(yùn)行狀態(tài)和采集試漏數(shù)據(jù)。采集數(shù)據(jù)時可以有2種采集方式:可以在發(fā)動機(jī)每經(jīng)過一個質(zhì)量數(shù)據(jù)采集工位,數(shù)據(jù)就會被自動上傳到數(shù)據(jù)庫中;亦可以在經(jīng)過每個工位時,將裝配數(shù)據(jù)存入該發(fā)動機(jī)所在托盤的Moby中,在發(fā)動機(jī)下線工位通過無線射頻傳輸一次性讀出到數(shù)據(jù)庫中。本生產(chǎn)線中,試漏工位比較少,數(shù)據(jù)量小,所以采用第一種采集方式。在系統(tǒng)實(shí)現(xiàn)的過程中,主要應(yīng)用OPC技術(shù)及Microsoft Visual Studio 2010開發(fā)環(huán)境中的窗體應(yīng)用程序。
OPC是一個工業(yè)標(biāo)準(zhǔn),它基于微軟的Active X、部件對象模型和分布式部件對象模型技術(shù)。OPC最大的使用領(lǐng)域就是Windows操作系統(tǒng)的過程控制系統(tǒng)的開發(fā)和應(yīng)用[6]。OPC技術(shù)主要有以下優(yōu)點(diǎn):
(1)支持復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。在OPC UA中,數(shù)據(jù)模型都是可擴(kuò)展的,也就是可以添加、刪除它們之間的相互關(guān)聯(lián)。因此,通過對數(shù)據(jù)模型的詳細(xì)信息描述,客戶端軟件無需對數(shù)據(jù)意義進(jìn)行識別,這樣便于客戶端軟件的開發(fā),同時也大幅度提高了控制層數(shù)據(jù)意義的準(zhǔn)確性[7]。
(2)多平臺支持。OPC基金會目前提供了基于C/C++、C#和Java 3種不同平臺的開發(fā)包??梢栽赪indows、Linux和嵌入式設(shè)備上進(jìn)行開發(fā)。
Microsoft Visual Studio 2010采用拖拽式便能完成軟件的開發(fā),簡單的操作便可以實(shí)現(xiàn)一個界面的生成,但拖拽的界面也應(yīng)當(dāng)有相應(yīng)的代碼來實(shí)現(xiàn)功能。Microsoft Visual Studio 2010支持C#、C++、VB等計算機(jī)語言,系統(tǒng)均采用C#語言編程。應(yīng)用C#語言可以進(jìn)行跨平臺開發(fā),開發(fā)效率高,可以快速實(shí)現(xiàn)相應(yīng)的功能。
如圖1所示,該系統(tǒng)主要由服務(wù)器和工控機(jī)組成,是典型的C/S(Client/Server)結(jié)構(gòu)。設(shè)備層:共有2臺工控機(jī),一臺服務(wù)器和一把掃描槍。
圖1 監(jiān)控系統(tǒng)結(jié)構(gòu)圖
其中一臺工控機(jī)安裝生產(chǎn)線監(jiān)控系統(tǒng),實(shí)現(xiàn)對現(xiàn)場設(shè)備運(yùn)行狀態(tài)的監(jiān)控和試漏數(shù)據(jù)的采集[8],生產(chǎn)線各設(shè)備為監(jiān)控對象。服務(wù)器層:采用C/S結(jié)構(gòu),通過Microsoft.NET技術(shù)建立實(shí)時數(shù)據(jù)庫系統(tǒng),實(shí)時訪問PLC中數(shù)據(jù)和控制變量,把實(shí)時數(shù)據(jù)保存到服務(wù)器數(shù)據(jù)庫中。
本系統(tǒng)結(jié)構(gòu)具有以下優(yōu)點(diǎn):
(1)監(jiān)控系統(tǒng)的運(yùn)算和質(zhì)量數(shù)據(jù)合理地分配在工控機(jī)和服務(wù)器兩端,有效地降低了網(wǎng)絡(luò)通信量和服務(wù)器運(yùn)算量。
(2)所有數(shù)據(jù)集中存放在服務(wù)器數(shù)據(jù)庫中,數(shù)據(jù)實(shí)時傳輸、實(shí)時同步,不存在普通C/S結(jié)構(gòu)中的數(shù)據(jù)一致性問題。
(3)生產(chǎn)線監(jiān)控系統(tǒng)與擰緊數(shù)據(jù)采集系統(tǒng)安裝在不同的工控機(jī)上,避免了數(shù)據(jù)混淆,確保了數(shù)據(jù)的準(zhǔn)確性。
本系統(tǒng)以SQL Server 2008作為后臺數(shù)據(jù)庫,主要用于存儲質(zhì)量數(shù)據(jù)、工件信息、監(jiān)控系統(tǒng)與PLC通信所需變量及相關(guān)基礎(chǔ)數(shù)據(jù)信息。基于此目的設(shè)計數(shù)據(jù)庫表。根據(jù)用戶的需求設(shè)計[測量數(shù)據(jù)合格]、[發(fā)動機(jī)號]、[基本變量]等表。為了便于數(shù)據(jù)庫后期的管理及維護(hù),設(shè)計并編寫對各表進(jìn)行維護(hù)的存儲過程 [發(fā)動機(jī)號_增加]、[發(fā)動機(jī)號_修改]、[發(fā)動機(jī)號_刪除]、[發(fā)動機(jī)號_查詢]等,存儲過程可以被無數(shù)次調(diào)用,用戶可以獨(dú)立于應(yīng)用程序而對存儲過程進(jìn)行修改。
數(shù)據(jù)庫的表設(shè)計完成之后就可以繪制出系統(tǒng)的關(guān)系圖(圖2)。經(jīng)過如此設(shè)計的數(shù)據(jù)庫將符合數(shù)據(jù)庫設(shè)計的第三范式,避免數(shù)據(jù)冗余。
圖2 監(jiān)控系統(tǒng)數(shù)據(jù)庫關(guān)系圖
系統(tǒng)流程基于業(yè)務(wù)流程而設(shè)計,通過實(shí)際調(diào)研,確定業(yè)務(wù)流程如圖3所示。
圖3 監(jiān)控系統(tǒng)業(yè)務(wù)流程圖
根據(jù)業(yè)務(wù)流程確定系統(tǒng)流程,監(jiān)控系統(tǒng)需要實(shí)時與設(shè)備進(jìn)行通信,監(jiān)控設(shè)備的運(yùn)行狀態(tài),同時實(shí)時采集試漏數(shù)據(jù)。當(dāng)發(fā)動機(jī)試漏結(jié)束后,PLC將試漏數(shù)據(jù)放入規(guī)定的DB內(nèi)后給監(jiān)控系統(tǒng)保存數(shù)據(jù)信號。監(jiān)控系統(tǒng)獲得PLC的保存數(shù)據(jù)信號后,從PLC中讀取試漏數(shù)據(jù)并換算成壓差。
監(jiān)控系統(tǒng)通過執(zhí)行數(shù)據(jù)庫存儲過程實(shí)現(xiàn)數(shù)據(jù)計算,將計算出的壓差值存儲到數(shù)據(jù)庫相應(yīng)表中。保存數(shù)據(jù)成功后,給PLC返回保存完成信號,PLC收到保存完成信號將DB清空,自動將工件放行。
監(jiān)控系統(tǒng)保存數(shù)據(jù)的過程在后臺完成,不需要顯示到界面,界面需要顯示生產(chǎn)線的基本形狀、各工位的相對位置以及各工位的運(yùn)行狀態(tài)。本系統(tǒng)應(yīng)用Microsoft Visual Studio 2010窗體應(yīng)用程序進(jìn)行開發(fā),通過拖拽及用戶控件完成界面的設(shè)計,如圖4所示。
設(shè)備不同的運(yùn)行狀態(tài)通過圓形及正方形的用戶控件顯示到界面上,在界面的上方對各種狀態(tài)進(jìn)行注釋,便于操作者判斷。當(dāng)某工位的某個狀態(tài)為亮?xí)r,表示該設(shè)備狀態(tài)正常;當(dāng)某工位的某個狀態(tài)為暗時,表示該設(shè)備狀態(tài)不正常。
監(jiān)控系統(tǒng)使整個生產(chǎn)線的運(yùn)行狀態(tài)和通信狀態(tài)一目了然。如果某個工位運(yùn)行不正常,操作者可以及時發(fā)現(xiàn)并快速確定發(fā)生故障的位置,及時解決問題,有效縮短故障時間,提高生產(chǎn)效率,進(jìn)而降低生產(chǎn)成本。
圖4 監(jiān)控系統(tǒng)界面
該系統(tǒng)以O(shè)PC技術(shù)和Microsoft Visual Studio 2010開發(fā)環(huán)境為基礎(chǔ),實(shí)時采集質(zhì)量數(shù)據(jù)、監(jiān)控現(xiàn)場設(shè)備運(yùn)行狀態(tài),便于操作者及時發(fā)現(xiàn)問題、解決問題。本系統(tǒng)現(xiàn)已實(shí)際應(yīng)用于大連某汽車發(fā)動機(jī)再制造生產(chǎn)線,能夠用于多種型號的發(fā)動機(jī)再制造過程。在大批量發(fā)動機(jī)再制造過程中本系統(tǒng)運(yùn)行穩(wěn)定,從數(shù)據(jù)采集、現(xiàn)場狀態(tài)監(jiān)控到數(shù)據(jù)存儲的過程中未出現(xiàn)數(shù)據(jù)丟失等問題,大大提高了發(fā)動機(jī)再制造生產(chǎn)線的生產(chǎn)率。
[1] 楊曉云,王德權(quán),張南,等. 基于MES的發(fā)動機(jī)裝配生產(chǎn)線管理系統(tǒng)的開發(fā)[J]. 計算機(jī)應(yīng)用與軟件, 2009, 26(1):34-38.
[2] 夏雨,江寧,王麗萍. 汽車發(fā)動機(jī)再制造的信息化處理特點(diǎn)及解決方法[J]. 中南林業(yè)科技大學(xué)學(xué)報, 2009, 29(3):176-179.
[3] 韋洪亮. 汽車發(fā)動機(jī)再制造技術(shù)發(fā)展現(xiàn)狀及其應(yīng)用前瞻[J]. 汽車運(yùn)用, 2002(2):12-13.
[4] 陸宇衡,黃德. 發(fā)動機(jī)再制造技術(shù)及產(chǎn)業(yè)發(fā)展[J]. 裝備制造技術(shù), 2010(12):99-102.
[5] 石慶豐. 淺談我國汽車發(fā)動機(jī)再制造技術(shù)的應(yīng)用與發(fā)展[J]. 裝備制造技術(shù), 2007(4):78-79.
[6] 王曉飛,李月強(qiáng). 基于PLC的汽車生產(chǎn)線管理系統(tǒng)[J]. 儀器儀表學(xué)報, 2004, 25(4):894-895.
[7] 陸會明,閻志峰. OPC UA服務(wù)器地址空間關(guān)鍵技術(shù)研究與開發(fā)[J]. 電力自動化設(shè)備, 2010, 30(7):109-113.
[8] 王國興,何方. 基于以太網(wǎng)的現(xiàn)場總線設(shè)計與實(shí)現(xiàn)[J]. 組合機(jī)床與自動換加工技術(shù), 2010(4):22-24.