徐 兵,丁健生, 李學(xué)光,馮偉東
XU Bing1, DING Jian-sheng2, LI Xue-guang3, FENG Wei-dong3
(1. 長春工業(yè)大學(xué) 機電工程學(xué)院,長春 130022;2. 長春工業(yè)大學(xué) 軟件職業(yè)技術(shù)學(xué)院,長春 130022;3. 長春理工大學(xué) 機電工程學(xué)院,長春 130012)
基于OPC XML DA 標準的機床監(jiān)控系統(tǒng)研究
Research on machine tools monitoring system based on OPC XML DA standard
徐 兵1,丁健生2, 李學(xué)光3,馮偉東3
XU Bing1, DING Jian-sheng2, LI Xue-guang3, FENG Wei-dong3
(1. 長春工業(yè)大學(xué) 機電工程學(xué)院,長春 130022;2. 長春工業(yè)大學(xué) 軟件職業(yè)技術(shù)學(xué)院,長春 130022;3. 長春理工大學(xué) 機電工程學(xué)院,長春 130012)
本文建立了基于OPC XML DA標準的機床網(wǎng)絡(luò)監(jiān)控系統(tǒng),數(shù)控機床通過IOLogic接入局域網(wǎng),實現(xiàn)基本的對數(shù)控機床的數(shù)據(jù)采集功能,在此基礎(chǔ)上通過一個Web服務(wù)器以Web Service的方式發(fā)布采集到的機床數(shù)據(jù)。本文以統(tǒng)一建模語言(UML)做為工具,以面向?qū)ο蟮乃枷敕治龊驮O(shè)計了該系統(tǒng)。通過該系統(tǒng)的實施和應(yīng)用可以實現(xiàn)對機床的狀態(tài)信息數(shù)據(jù)遠程訪問,從而實現(xiàn)對生產(chǎn)狀況的監(jiān)控、分析、報表,進而改進生產(chǎn)計劃,提高生產(chǎn)效率。
數(shù)據(jù)采集;OPC;UML;IOLogic
網(wǎng)絡(luò)化制造已成為一種新的用戶驅(qū)動的制造方法,制造的全球化和網(wǎng)絡(luò)化是現(xiàn)代制造業(yè)的發(fā)展趨勢[1],這就要求作為重要制造資源的數(shù)控機床能夠?qū)崿F(xiàn)全球共享,通過Internet/Intranet支持本地和異地制造,包括接收遠程查詢、發(fā)布自身參數(shù)、接收遠程數(shù)控程序和指令、提供現(xiàn)場數(shù)據(jù)。同時為了實現(xiàn)離散加工制造業(yè)的管控一體化,在車間設(shè)備底層,必須對一些重點設(shè)備和生產(chǎn)線進行實時監(jiān)控,以便進行設(shè)備狀態(tài)監(jiān)控和生產(chǎn)工藝參數(shù)的采集,從而給管理層提供實時信息供其進行決策管理[2]。
然而由于數(shù)控設(shè)備的種類繁多,通信規(guī)則與通信參數(shù)設(shè)置往往互不相同,導(dǎo)致對這些互異的數(shù)控設(shè)備進行聯(lián)網(wǎng)信息采集十分困難。
OPC(OLE for process control)是由OPC基金會提出的新一代工控軟件規(guī)范,其中OPC DA(Data Access)標準提供在控制系統(tǒng)中應(yīng)用程序與控制設(shè)備之間進行數(shù)據(jù)交換的規(guī)范方法。
但是,OPC DA是基于微軟的COM/DCOM技術(shù)的,COM/DCOM技術(shù)可以在局域網(wǎng)內(nèi)方便地快捷地實現(xiàn)數(shù)據(jù)交換,但卻并不適合通過Internet來訪問。而在DNC系統(tǒng)中,用戶對機床設(shè)備監(jiān)控、維護、管理等方面正朝著基于Web、基于Internet/Intranet的一體化集成的方向發(fā)展,為滿足這種對設(shè)備異地遠程訪問的需求,本機床監(jiān)控系統(tǒng)的實現(xiàn)采用了OPC XML DA標準。
系統(tǒng)采用OPC XML DA標準后,具有如下優(yōu)點:
1)支持Internet/Intranet訪問。由于OPC XML DA采用SOAP/HTTP協(xié)議傳輸數(shù)據(jù),克服了傳統(tǒng)的基于COM/DCOM技術(shù)的OPC DA標準不能在Internet上遠程訪問的缺點,因而使得本系統(tǒng)可以方便的在局域網(wǎng)或廣域網(wǎng)內(nèi)訪問到機床的狀態(tài)數(shù)據(jù)。
2)跨平臺。由于OPC XML DA在本質(zhì)上是一個Web服務(wù),可以在任何支持Internet的操作系統(tǒng)上進行訪問,包括Windows、Linux、Unix等主流操作系統(tǒng),解決了以往僅能在Windows操作系統(tǒng)上訪問OPC數(shù)據(jù)信息的限制。
DNC系統(tǒng)部署在企業(yè)局域網(wǎng)內(nèi),每臺數(shù)控設(shè)備通過一個IOLogic接入局域網(wǎng)。IOLogic一端通過機床引線與數(shù)控設(shè)備連接,另一端通過以太網(wǎng)口接入局域網(wǎng)。IOLogic支持TCP/IP協(xié)議,為IOLogic指定一個IP地址即可實現(xiàn)數(shù)控設(shè)備信息聯(lián)網(wǎng)采集,同時IOLogic也為上位機提供編程接口,可通過調(diào)用IOLogic提供的API接口實現(xiàn)上位機對數(shù)控設(shè)備的信號采集。對于上位機,需要以下配置:OPC服務(wù)器一臺,運行信號采集程序,即OPC XML DA 服務(wù)器端;數(shù)據(jù)庫服務(wù)器一臺,存儲設(shè)備配置參數(shù);普通PC機若干臺,運行信號顯示程序,即OPC XML DA客戶端。系統(tǒng)的硬件架構(gòu)如圖1所示。
圖1 機床監(jiān)控系統(tǒng)硬件架構(gòu)圖
系統(tǒng)的軟件架構(gòu)及開發(fā)環(huán)境如下:開發(fā)工具:Microsoft Visual Studio 2005;開發(fā)語言:C#;業(yè)務(wù)數(shù)據(jù)庫:Microsoft SQL Server 2000; OPC XML DA服務(wù)器:Microsoft Internet Information Service 6.0;操作系統(tǒng):OPC 服務(wù)器及數(shù)據(jù)庫服務(wù)器采用Windows Server 2003操作系統(tǒng);上位機采用Windows XP Professional操作系統(tǒng);網(wǎng)絡(luò)環(huán)境:10M/100M局域網(wǎng)。
信息采集程序由配置數(shù)據(jù)庫、信息采集程序客戶端、OPC XML DA Server構(gòu)成。其中配置數(shù)據(jù)庫部署在數(shù)據(jù)庫服務(wù)器上,用于存儲設(shè)備參數(shù)。信息采集程序客戶端部署在上位機上,負責以圖形界面顯示設(shè)備的狀態(tài)信息。OPC XML DA Server部署在OPC服務(wù)器上,負責從IOLogic中實時讀取設(shè)備狀態(tài)信息,并通過Web Service對外發(fā)布八個接口(OPC XML DA1.0標準中規(guī)定),信息采集程序客戶端通過這八個接口間接獲取IOLogic提供的機床狀態(tài)信息。程序的軟件架構(gòu)如圖2所示。
圖2 機床監(jiān)控系統(tǒng)軟件架構(gòu)圖
本系統(tǒng)的使用人員按權(quán)限劃分包括普通的車間監(jiān)控人員和系統(tǒng)管理員兩類。監(jiān)控人員登錄系統(tǒng)后便可通過信息采集程序客戶端以圖形界面實時監(jiān)控車間內(nèi)各聯(lián)網(wǎng)數(shù)控設(shè)備的運行狀態(tài)。監(jiān)控系統(tǒng)會自動根據(jù)采集到的機床狀態(tài)信息,判斷設(shè)備的運行情況,對于運行時出現(xiàn)異常(故障)的設(shè)備,將根據(jù)管理員設(shè)定的閾值報警并記錄在歷史記錄中,供監(jiān)控人員在故障診斷時使用。
系統(tǒng)管理員除擁有常規(guī)的機床監(jiān)控功能外,還可對設(shè)備、日志及系統(tǒng)參數(shù)進行設(shè)置。通過對監(jiān)控日志的分析,管理員可以得到機床利用率、設(shè)備負載情況等統(tǒng)計信息,從而科學(xué)合理地安排生產(chǎn)計劃,進而提高生產(chǎn)效率。根據(jù)對以上用例分析,本文采用統(tǒng)一建模語言(UML)中的用例圖來構(gòu)建系統(tǒng)的功能分析模型,如圖3所示。
圖3 機床監(jiān)控系統(tǒng)功能分析模型
客戶端主要由權(quán)限認證模塊及設(shè)備數(shù)據(jù)讀取/呈現(xiàn)模塊組成。其中權(quán)限模塊保證只有經(jīng)過授權(quán)的合法用戶才能訪問服務(wù)器。數(shù)據(jù)讀取/呈現(xiàn)模塊通過引用OPC XMLDA服務(wù)器所提供的八個接口,從OPC XML DA服務(wù)器獲取數(shù)控設(shè)備的狀態(tài)信息數(shù)據(jù),并以圖形化界面實時顯示給用戶。統(tǒng)計分析模塊通過讀取監(jiān)控日志中的內(nèi)容,得出機床工作時間、等待時間、使用率,設(shè)備負載等情況的統(tǒng)計報表。
由于OPC XML DA標準對客戶端的編程語言及實現(xiàn)形式并沒不做要求,無論采用何種編程語言,也不論采用C/S還是B/S架構(gòu),只要按照OPC XML規(guī)范進行數(shù)據(jù)讀取,均可以實現(xiàn)客戶端。考慮對圖形界面編程的有力支持,本系統(tǒng)采用了C/S架構(gòu)。
OPC XML DA服務(wù)器是整個機床監(jiān)控系統(tǒng)的核心,需要完成兩個主要功能,一是對機床數(shù)據(jù)的實時采集,二是對外發(fā)布Web服務(wù)接口,供客戶端調(diào)用。OPC XML DA服務(wù)器由管理模塊、實時數(shù)據(jù)采集模塊、數(shù)據(jù)緩沖區(qū)以及OPC XML DA接口四個部分組成。OPC XML DA服務(wù)器的結(jié)構(gòu)如圖4所示。
圖4 OPC XML DA服務(wù)器結(jié)構(gòu)圖
管理模塊負責維護機床的參數(shù)信息,如IOLogic節(jié)點的IP地址、端口號、連接超時時間、信道描述等。
實時數(shù)據(jù)采集模塊通過調(diào)用IOLogic提供的API完成實際的數(shù)據(jù)采集功能。當服務(wù)器加載時,首先通過管理模塊在配置數(shù)據(jù)庫中讀取所有數(shù)控機床配置參數(shù),然后根據(jù)讀取到的參數(shù)初始化數(shù)據(jù)采集模塊,嘗試建立與IOLogic的連接,如果建立連接成功,則數(shù)據(jù)采集模塊便進入采集狀態(tài),實時采集設(shè)備的狀態(tài)信息。當程序退出時,數(shù)據(jù)采集模塊自動關(guān)閉之前與IOLogic建立的連接。
由于數(shù)據(jù)采集較為耗時,尤其當需要采集的數(shù)控設(shè)備較多時,會嚴重影響服務(wù)器的響應(yīng)速度。為解決上述問題,本系統(tǒng)利用了Windows多線程多任務(wù)機制,對數(shù)據(jù)采集工作實施多線程分配,為每一個設(shè)備創(chuàng)建一個獨立線程,緩解高速的CPU與低速的數(shù)控設(shè)備之間的矛盾。
數(shù)據(jù)采集模塊取出的數(shù)據(jù)是實時的,在通過OPC XML DA接口發(fā)布之前,數(shù)據(jù)采集模塊會將采集到的數(shù)據(jù)寫入一個內(nèi)存緩沖區(qū)內(nèi)。該緩沖區(qū)模塊負責設(shè)備數(shù)據(jù)的臨時存儲,數(shù)據(jù)在緩沖區(qū)中按照服務(wù)器對象組對象項對象的格式存儲。緩沖區(qū)在數(shù)據(jù)采集程序與Web服務(wù)程序之間以共享內(nèi)存的形式實現(xiàn)數(shù)據(jù)交換。
OPC XML DA接口模塊是架設(shè)在微軟的IIS服務(wù)器上的一個Web服務(wù),通過Web Service的形式對外提供八個調(diào)用接口。該模塊負責接收來自O(shè)PC XML DA客戶端的請求并根據(jù)請求將數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)封裝成SOAP消息回饋給客戶端,從而對客戶端的請求做出應(yīng)答,為客戶端提供數(shù)據(jù)來源。
機床監(jiān)控系統(tǒng)提供了強大的數(shù)據(jù)采集功能和實時的分析能力,并可以根據(jù)管理者的選擇顯示多種統(tǒng)計報表,如機床利用率、機床實時工作狀態(tài)等。這此統(tǒng)計數(shù)據(jù)可以做為管理者制定生產(chǎn)計劃、安排生產(chǎn)任務(wù)的基礎(chǔ)。通過分析統(tǒng)計數(shù)據(jù),管理者可以更容易發(fā)現(xiàn)生產(chǎn)過程中的瓶頸因素,及時糾正生產(chǎn)過程中潛在的錯誤,從而優(yōu)化生產(chǎn)計劃,提高生產(chǎn)效率。
圖5 機床實時工作狀態(tài)截圖
本文建立了基于OPC XML DA標準的機床網(wǎng)絡(luò)監(jiān)控系統(tǒng),建立了系統(tǒng)的體系結(jié)構(gòu)模型及軟硬件架構(gòu)模型,通過測試,該系統(tǒng)達到了較好的使用效果,通過本系統(tǒng)的實施與應(yīng)用,能夠大大提高企業(yè)的生產(chǎn)效率,具體實現(xiàn)的功能如下:
1)實現(xiàn)數(shù)控設(shè)備聯(lián)網(wǎng)。通過IOLogicE2210將原本分散獨立的數(shù)控設(shè)備以網(wǎng)絡(luò)結(jié)點的形式連接于企業(yè)局域網(wǎng)內(nèi);
2) 建立了具有實時數(shù)采功能的OPC XML DA服務(wù)器。通過局域網(wǎng),實現(xiàn)上位機對多臺(255臺以內(nèi))聯(lián)網(wǎng)數(shù)控設(shè)備的信號采集。
3)開發(fā)了OPC XML DA客戶端,以圖形界面實時顯示數(shù)采服務(wù)器中的設(shè)備數(shù)據(jù)。
[1] 李治,王敏杰,閆偉國.一種基于Web的DNC數(shù)控機床信息采集系統(tǒng)[J].組合機床與自動化加工技術(shù),2005,9.
[2] 黃志輝,張利,龍賽瓊.基于RS - 485 現(xiàn)場總線的機床監(jiān)測系統(tǒng)設(shè)計[J].組合機床與自動化加工技術(shù),2005,10.
[3] 康靈燕.基于OPC.XML的生產(chǎn)過程信息集成方法及應(yīng)用研究.北京:北京化工大學(xué),2008,3.
TP277
B
1009-0134(2010)11(上)-0035-03
10.3969/j.issn.1009-0134.2010.11(上).12
2010-06-20
吉林省科技廳發(fā)展規(guī)劃資助項目
徐兵(1965 -),男,副教授,研究方向為制造業(yè)信息化、柔性制造、敏捷制造。