相關(guān)鏈接: 中國安全網(wǎng) 中國質(zhì)量網(wǎng) 中國論文網(wǎng) 中國資訊網(wǎng)
郭光文張 馳李培杰安肇勇
(1.清華大學(xué)機械工程系;2.廣東鴻圖科技股份有公司)
摘 要某壓鑄車間監(jiān)測系統(tǒng)支持的通信接口有OPC、DDE和ODBC,其中OPC接口更適用于監(jiān)測系統(tǒng)與外部程序的通信。為了開發(fā)監(jiān)測系統(tǒng)客戶端,詳細分析了OPC自動化接口規(guī)范及3種數(shù)據(jù)通信方式,最終通過VB語言和OPC接口開發(fā)了監(jiān)測系統(tǒng)的客戶端。企業(yè)管理網(wǎng)絡(luò)中的計算機可通過該客戶端與被監(jiān)測壓鑄單元進行實時數(shù)據(jù)交互,顯示壓鑄設(shè)備運行情況。
壓力鑄造廣泛應(yīng)用于熔點較低的鋁、鎂、鋅合金的生產(chǎn),并在航空、航天、汽車、摩托車、機械裝備、3C產(chǎn)品等對輕量化有要求的領(lǐng)域得到廣泛應(yīng)用。近年來,壓鑄機及其周邊設(shè)備的自動化程度也在不斷提高,形成了以壓鑄機為主體,噴霧機、給湯機、取件機器人、保溫爐、切邊機等周邊設(shè)備為輔助的自動化壓鑄生產(chǎn)單元,可實現(xiàn)壓鑄件的全自動化連續(xù)生產(chǎn),提高了壓鑄生產(chǎn)的效率。
但對于大型壓鑄廠,由于設(shè)備數(shù)量較多,難以及時發(fā)現(xiàn)工作異常的設(shè)備并進行維護,設(shè)備管理難度較大。在這樣的趨勢下,通過自動化集成,使企業(yè)管理人員能夠?qū)囬g內(nèi)多個壓鑄單元覆蓋設(shè)備的運行情況進行監(jiān)控,可實時了解壓鑄車間內(nèi)的生產(chǎn)狀況,提高壓鑄件的質(zhì)量與生產(chǎn)效率,提高管理的及時性與科學(xué)性。為達到信息化管理的目的,企業(yè)提出了對各個壓鑄生產(chǎn)單元實現(xiàn)遠程監(jiān)控的要求。
在企業(yè)的三級工業(yè)網(wǎng)絡(luò)中,監(jiān)控系統(tǒng)所在的計算機需要與其他聯(lián)網(wǎng)計算機通訊,將監(jiān)控系統(tǒng)采集的數(shù)據(jù)傳輸?shù)狡渌嬎銠C上并進行顯示,即需要開發(fā)監(jiān)控系統(tǒng)的客戶端,使其他計算機通過客戶端訪問監(jiān)控系統(tǒng),能實時了解壓鑄現(xiàn)場設(shè)備的運行情況及相關(guān)生產(chǎn)信息。鑄件縮松、夾雜的問題與澆注系統(tǒng)、模具溫度、澆注溫度和速度相關(guān),因此根據(jù)管理需求,開發(fā)出直觀簡潔、能投入實際生產(chǎn)應(yīng)用的客戶端的人機界面,實現(xiàn)壓鑄設(shè)備狀態(tài)監(jiān)控、溫度與速度等工藝參數(shù)監(jiān)控、生產(chǎn)數(shù)量統(tǒng)計、壓射異常報警等功能,對壓鑄生產(chǎn)實現(xiàn)自動化、智能化具有重要作用。
1 監(jiān)控系統(tǒng)的外部接口
壓鑄企業(yè)的內(nèi)部管理網(wǎng)絡(luò)采用以太網(wǎng)進行聯(lián)網(wǎng)通訊。圖1為管理網(wǎng)絡(luò)中計算機對現(xiàn)場設(shè)備的控制。
監(jiān)控系統(tǒng)采用組態(tài)軟件——組態(tài)王開發(fā),能使用的外部接口為組態(tài)王支持的以太網(wǎng)通訊接口,常用類型有DDE、OPC以及ODBC接口。
DDE(Dynamic Data Exchange)采用客戶端/服務(wù)器通信模式,通過共享內(nèi)存實現(xiàn)信息共享,但是DDE接口并不支持大量數(shù)據(jù)的實時通信,使得DDE通信無法作為監(jiān)控系統(tǒng)的外部接口。
ODBC(Open Database Connectivity)接口是開放性數(shù)據(jù)庫接口標(biāo)準(zhǔn),通過ODBC接口通常可實現(xiàn)組態(tài)王與數(shù)據(jù)庫之間的數(shù)據(jù)交互。但是監(jiān)控系統(tǒng)客戶端的開發(fā)目的是獲取監(jiān)控系統(tǒng)采集到的現(xiàn)場設(shè)備實時狀態(tài)信息,而非數(shù)據(jù)庫內(nèi)的歷史數(shù)據(jù)。ODBC接口更適合用于監(jiān)控系統(tǒng)與企業(yè)管理系統(tǒng)的對接,并不適用于監(jiān)控系統(tǒng)與客戶端的實時通訊。
OPC技術(shù)采用客戶端/服務(wù)器通信模式,并且是一種支持以太網(wǎng)網(wǎng)絡(luò)通訊的數(shù)據(jù)接口,在工業(yè)領(lǐng)域應(yīng)用廣泛。組態(tài)王支持OPC接口,并可作為OPC服務(wù)器,與網(wǎng)絡(luò)中的OPC客戶端建立通信連接。只需要開發(fā)出OPC客戶端,即可實現(xiàn)監(jiān)控系統(tǒng)與客戶端的實時通信。
基于上述分析,組態(tài)王支持的3種通信接口中,OPC接口更適用于監(jiān)控系統(tǒng)與客戶端之間數(shù)據(jù)訪問通道的構(gòu)建。
2 通信接口標(biāo)準(zhǔn)
組態(tài)王可作為OPC服務(wù)器,向與其連接的OPC客戶端傳遞數(shù)據(jù)。監(jiān)控系統(tǒng)的客戶端要求必須符合OPC規(guī)范。目前,OPC規(guī)范為客戶端的開發(fā)提供了2種接口格式,自定義接口和自動化接口。由于自定義接口開發(fā)需要詳細了解COM技術(shù),難度較大,而自動化接口的開發(fā)難度相對較小,可通過VB( Visual Basic)、Delphi語言進行開發(fā),因此本系統(tǒng)采用VB作為編程語言來開發(fā)壓鑄單元監(jiān)控系統(tǒng)的客戶端,通過自動化接口實現(xiàn)客戶端與OPC服務(wù)器之間的通訊。
OPC客戶端開發(fā)建立在自動化接口標(biāo)準(zhǔn)之上,自動化接口的結(jié)構(gòu)可以用圖2中的對象模型表示。構(gòu)成該對象模型的主要有6類數(shù)據(jù)對象。OPCServer是OPC服務(wù)器建立的一個實例,是創(chuàng)建對象模型中其他對象的重要基礎(chǔ);OPCGroups通過已建立的OPCServ-er獲得,是OPCGroup的集合,負責(zé)創(chuàng)建、刪除和管理組別( OPCGroup);OPCGroup用于組織管理數(shù)據(jù)項;OPCItems是數(shù)據(jù)項的集合體,并對集合體內(nèi)的數(shù)據(jù)項進行管理;OPCItem描述了數(shù)據(jù)寄存器與服務(wù)器之間的連接;OPCBrowser是提供自動化接口對象模型中的樹形分支結(jié)構(gòu)的工具。
3 客戶端程序開發(fā)
3.1 OPC客戶端實現(xiàn)步驟
為實現(xiàn)客戶端對監(jiān)控系統(tǒng)開發(fā)平臺組態(tài)王上的OPC服務(wù)器的數(shù)據(jù)訪問,首先需要確定被訪問的OPC服務(wù)器所在的計算機名(或IP地址),通過OPCServer對象獲取OPC服務(wù)器名稱,使用OPCBrowser取得項目名稱。確定了計算機、服務(wù)器以及項目名稱后,可按以下步驟開發(fā)OPC客戶端:①通過OPCServer對象建立被訪問的OPC服務(wù)器的一個實例,并實現(xiàn)通訊連接;②通過OPCBrowser對象取得該OPC服務(wù)器的組列表和數(shù)據(jù)項列表,創(chuàng)建OPC組對象并設(shè)置屬性,添加數(shù)據(jù)項并設(shè)置屬性;③訪問數(shù)據(jù)項并進行讀、寫操作;④刪除組對象和數(shù)據(jù)項,斷開與OPC服務(wù)器的連接,釋放資源。OPC客戶端開發(fā)步驟示意圖見圖3。
OPC客戶端與OPC服務(wù)器之間的數(shù)據(jù)項讀、寫等交互方式可分為同步通信和異步通信。相比同步通信,異步方式可減少程序的等待時間,提高系統(tǒng)效率。訂閱是異步讀取中較為特殊的一種方式,客戶端無需請求,服務(wù)器自動將發(fā)生變化的數(shù)據(jù)發(fā)送給客戶端。對于客戶端與服務(wù)器需要長期通信的應(yīng)用場合,訂閱方式具有更高的效率,并可減輕兩者之間的通信負擔(dān)。
3.2 0PC客戶端程序開發(fā)
根據(jù)OPC自動化接口的標(biāo)準(zhǔn)和對象模型,開發(fā)了動態(tài)鏈接庫OPCDAAuto. dll,實現(xiàn)了OPC服務(wù)器定制接口和自動化接口之間的通信,為基于自動化接口的OPC客戶端開發(fā)提供了基礎(chǔ)。之后,啟動VB,新建工程,單擊主菜單的“工程”-“引用”,在彈出的選項欄中選擇OPC Automation2.0,見圖4。之后,系統(tǒng)可加載OPC自動化接口。
VB客戶端的開發(fā)首先需要進行接口的定義,定義自動化接口對應(yīng)的6類數(shù)據(jù)對象,以及服務(wù)器和客戶端的OPC數(shù)據(jù)項的句柄。
其次需要通過OPCServer創(chuàng)建OPC服務(wù)器的一個實例,并實現(xiàn)OPC客戶端與OPC服務(wù)器的通訊連接。本客戶端需要連接的OPC服務(wù)器為組態(tài)王自帶的服務(wù)器KingView. View。
然后需要創(chuàng)建OPC組并設(shè)置屬性,添加數(shù)據(jù)項并初始化OPC連接。
最后需要讀取OPC數(shù)據(jù)項的數(shù)值(Value),由組對象( OPCGroup)定義的組MyGroup可通過Dat-aChange事件讀取數(shù)據(jù)項數(shù)值,即采用訂閱方式讀取數(shù)據(jù)。訂閱方式讀取數(shù)據(jù)的效率高于同步讀取數(shù)據(jù)和異步讀取數(shù)據(jù),能充分發(fā)揮OPC服務(wù)器的性能。Dat-aChange事件可在客戶端與OPC服務(wù)器建立通訊連接時,讀取需要訪問的OPC數(shù)據(jù)項數(shù)值。此后,該事件只在數(shù)據(jù)項數(shù)值發(fā)生變化時,讀取發(fā)生了變化的數(shù)據(jù)。
以上是使用VB編程語言定義自動化接口開發(fā)OPC客戶端的關(guān)鍵步驟以及相應(yīng)步驟的程序,可實現(xiàn)客戶端對服務(wù)器數(shù)據(jù)的訪問。
4 客戶端界面開發(fā)
在開發(fā)OPC客戶端后,為了使企業(yè)管理網(wǎng)絡(luò)層內(nèi)的其他計算機能監(jiān)控現(xiàn)場設(shè)備的運行情況,根據(jù)壓鑄企業(yè)管理層的需求,開發(fā)了監(jiān)控系統(tǒng)客戶端的人機界面。開發(fā)的監(jiān)控界面應(yīng)滿足企業(yè)高層管理人員對壓鑄生產(chǎn)信息的需求,并且應(yīng)該直觀簡潔、便于操作。客戶端界面主要包括登入界面、主界面、監(jiān)控界面和報警界面。
4.1登入界面
為了保障監(jiān)控系統(tǒng)所采集數(shù)據(jù)的安全性,監(jiān)控系統(tǒng)客戶端設(shè)定了訪問權(quán)限。用戶需要通過密碼登人監(jiān)控系統(tǒng)客戶端,以獲取現(xiàn)場設(shè)備的生產(chǎn)信息
4.2主界面
主界面顯示所有被監(jiān)控壓鑄生產(chǎn)單元的廠家和噸位信息,通過界面上每個壓鑄單元上方的按鍵可進入這個單元的監(jiān)控界面,見圖5。
4.3監(jiān)控界面
相關(guān)研究表明,壓射行程、壓射速度、壓射壓力等實
際壓射參數(shù)對壓鑄件的質(zhì)量有重大影響。因此監(jiān)控
界面設(shè)計的功能有:①實時顯示壓鑄單元內(nèi)設(shè)備的動作
狀態(tài);②監(jiān)控壓鑄設(shè)備設(shè)定的工藝參數(shù)和運行參數(shù);③
每次壓射后可顯示當(dāng)前該次壓射的壓射數(shù)據(jù);④統(tǒng)計當(dāng)
日各班次的產(chǎn)量信息并實時顯示。開發(fā)的監(jiān)控界面見
圖6。
4.4報警界面
報警界面可選擇性開啟實時壓射數(shù)據(jù)中某幾個數(shù)據(jù)項的報警功能,并設(shè)置報警上限和下限。當(dāng)實時壓射數(shù)據(jù)不在上限和下限之間的范圍內(nèi),說明該次壓射的壓射數(shù)據(jù)出現(xiàn)異常,壓射過程不穩(wěn)定。同時,報警提示界面將出現(xiàn)在報警界面中,提醒使用者壓鑄設(shè)備工作異常,并將異常的數(shù)據(jù)項字體顏色變?yōu)榧t色,方便用戶進行查看。
5 系統(tǒng)實際運行
試運行OPC客戶端,通過點擊選項“登陸界面”進入“主界面”,然后點擊“38號機”選項,通過客戶端監(jiān)控界面可以實現(xiàn)38號壓鑄機設(shè)備狀態(tài)監(jiān)控、工藝參數(shù)監(jiān)控、生產(chǎn)數(shù)量統(tǒng)計的實時參數(shù)顯示。當(dāng)報警界面彈出“24號壓鑄機壓射異常”、“38號壓鑄機壓射異常”的報警提示界面,同時報警界面中24號壓鑄機的“最大速度”數(shù)據(jù)項字體顏色變?yōu)榧t色、38號壓鑄機的“行程”數(shù)據(jù)項字體顏色變?yōu)榧t色,通過檢查壓鑄車間24號壓鑄機與38號壓鑄機運行情況,證實在OPC客戶端報警時刻,企業(yè)壓鑄車間現(xiàn)場的24號壓鑄機因壓射最大速度超出正常值而出現(xiàn)壓射異常,38號壓鑄機因壓射行程超出正常值范圍而出現(xiàn)壓射異常,與設(shè)計的系統(tǒng)報警界面顯示的報警信息一致。
6 結(jié) 語
壓鑄生產(chǎn)信息OPC客戶端通過列舉企業(yè)監(jiān)控系統(tǒng)支持的外部通訊接口,并分析了每種通信接口的特點和應(yīng)用場合,最終選取了OPC接口作為監(jiān)控系統(tǒng)與客戶端數(shù)據(jù)交互的通信接口;介紹了OPC規(guī)范提供的自動化接口和自定義接口的主要特點,并選用Visual Basic作為編程語言,通過自動化接口開發(fā)OPC客戶端。根據(jù)OPC客戶端的開發(fā)需求,簡要分析了OPC自動化接口的對象模型,并比較了OPC客戶端與服務(wù)器之間的幾種通信方式;基于OPC接口規(guī)范,闡述了OPC客戶端開發(fā)的關(guān)鍵步驟,并完成了這些步驟的VB代碼開發(fā)與測試;最后,根據(jù)壓鑄企業(yè)的管理需求,開發(fā)了客戶端的監(jiān)控界面。根據(jù)試運行結(jié)果顯示,開發(fā)的OPC客戶端能夠正常運行,并實現(xiàn)了設(shè)備狀態(tài)監(jiān)控、工藝參數(shù)監(jiān)控、生產(chǎn)數(shù)量統(tǒng)計、壓射異常報警等功能。