隨著科學(xué)技術(shù)的不斷提高,,設(shè)備管理系統(tǒng)作為制造執(zhí)行系統(tǒng)MES中一個(gè)重要的子系統(tǒng),,是現(xiàn)代企業(yè)物質(zhì)技術(shù)的基礎(chǔ),是生產(chǎn)經(jīng)營順利進(jìn)行的前提以及提高經(jīng)濟(jì)效益的保證,。目前,,我國大部分企業(yè)的數(shù)控設(shè)備信息化程度不高,導(dǎo)致在企業(yè)執(zhí)行層的MES設(shè)備管理系統(tǒng)不能及時(shí),、準(zhǔn)確的獲取設(shè)備控制層的相關(guān)信息,,造成管理鴻溝。其次,,現(xiàn)有的MES設(shè)備管理系統(tǒng)雖然方便了數(shù)控設(shè)備臺(tái)帳管理,、基本信息記錄等一些靜態(tài)信息管理,,但不能針對(duì)數(shù)控設(shè)備的實(shí)時(shí)狀態(tài)變化進(jìn)行動(dòng)態(tài)管理。
網(wǎng)絡(luò)化分布式數(shù)字控制DNC可以把數(shù)控設(shè)備作為一個(gè)信息節(jié)點(diǎn)連接到企業(yè)的信息管網(wǎng)中,,實(shí)時(shí),、準(zhǔn)確、自動(dòng)的為整個(gè)信息系統(tǒng)提供及時(shí),、有效的數(shù)據(jù),,為網(wǎng)絡(luò)化制造提供技術(shù)支撐。本文將網(wǎng)絡(luò)化DNC融入到MES設(shè)備管理系統(tǒng)的目的在于可以使企業(yè)執(zhí)行層與控制層無縫連接,,消除底層設(shè)備的信息孤島,,同時(shí)獲取數(shù)控設(shè)備的實(shí)時(shí)狀態(tài)信息,對(duì)控制層設(shè)備進(jìn)行動(dòng)態(tài)管理,,實(shí)現(xiàn)企業(yè)執(zhí)行層與控制層之間的信息交換和協(xié)同工作,。
1 系統(tǒng)總體框架結(jié)構(gòu)及功能設(shè)計(jì)
系統(tǒng)主要是針對(duì)工業(yè)現(xiàn)場的數(shù)控設(shè)備開發(fā)的,選用的網(wǎng)絡(luò)主要用于承載數(shù)控加工程序,、設(shè)備運(yùn)行狀態(tài)等信息,,為了滿足高實(shí)時(shí)性、可靠性和可擴(kuò)展性的網(wǎng)絡(luò)要求,,系統(tǒng)通過工業(yè)以太網(wǎng)與企業(yè)管理層進(jìn)行連接,,采用TCP/IP協(xié)議,,很容易集成到管理辦公網(wǎng)絡(luò),。同時(shí),系統(tǒng)通過串口服務(wù)器與數(shù)控系統(tǒng)的RS-2232串行口進(jìn)行連接通信,。串口服務(wù)器將來自TCP/IP協(xié)議的數(shù)據(jù)包解析為串口數(shù)據(jù)流;反之也可以將串口數(shù)據(jù)流打成TCP/IP協(xié)議的數(shù)據(jù)包,,從而實(shí)現(xiàn)數(shù)據(jù)的網(wǎng)絡(luò)傳輸。系統(tǒng)利用串口服務(wù)器虛擬串口的功能,,可將數(shù)控系統(tǒng)的數(shù)據(jù)信息透明的傳輸?shù)缴衔粰C(jī),。也就是說,將串口服務(wù)器連接到網(wǎng)絡(luò)中,,上位機(jī)對(duì)數(shù)控系統(tǒng)的串口通信就相當(dāng)于對(duì)上位機(jī)本身的串口通信一樣,。
系統(tǒng)采用客戶端/服務(wù)器的通訊方式,上位機(jī)為融入網(wǎng)絡(luò)化DNC的MES設(shè)備管理系統(tǒng)的客戶端,,系統(tǒng)的服務(wù)器端安裝在數(shù)控系統(tǒng)上,。系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)圖
由圖1可以看出,,系統(tǒng)由通訊管理模塊,、機(jī)床狀態(tài)監(jiān)控模塊、設(shè)備數(shù)據(jù)查詢模塊,、設(shè)備故障維修管理模塊和系統(tǒng)資料管理模塊這五大模塊組成,,數(shù)據(jù)庫為整個(gè)系統(tǒng)提供數(shù)據(jù)支持,。
通訊管理模塊和機(jī)床狀態(tài)監(jiān)控模塊屬于網(wǎng)絡(luò)化DNC的控制層模塊。通訊管理模塊主要對(duì)控制命令及數(shù)控程序進(jìn)行傳輸和管理,??刂泼畹膫鬏斨饕钱?dāng)客戶端需要對(duì)數(shù)控設(shè)備下達(dá)命令時(shí),先從客戶端傳送命令到服務(wù)器端,,當(dāng)服務(wù)器端接收到該命令后,,利用數(shù)控系統(tǒng)的內(nèi)部命令控制數(shù)控設(shè)備。數(shù)控程序的傳輸是雙向的,,可以從客戶端向服務(wù)器端傳輸,,也可以將服務(wù)器端的數(shù)控程序傳輸?shù)娇蛻舳恕?/span>
機(jī)床狀態(tài)監(jiān)控模塊主要是客戶端對(duì)數(shù)控設(shè)備運(yùn)行狀態(tài)的數(shù)據(jù)采集、控制,。此功能模塊的實(shí)現(xiàn)可以及時(shí)快速地使執(zhí)行層和管理層全面了解設(shè)備狀態(tài)信息和加工操作信息,,并合理的做出決策控制。另外機(jī)床狀態(tài)監(jiān)控模塊也為企業(yè)生產(chǎn)的統(tǒng)計(jì)分析工作提供了重要的數(shù)據(jù)來源,。
機(jī)床數(shù)據(jù)查詢模塊從數(shù)據(jù)庫中獲取機(jī)床狀態(tài)監(jiān)控模塊采集來的數(shù)據(jù),,根據(jù)用戶需要將數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,生成報(bào)表,,并完成打印和管理功能,。
設(shè)備故障維修管理模塊對(duì)設(shè)備維修計(jì)劃進(jìn)行管理、對(duì)設(shè)備維修情況進(jìn)行錄入,,并保存在數(shù)據(jù)庫之中,。
系統(tǒng)資料管理模塊主要是對(duì)數(shù)控設(shè)備資料、參數(shù)資料,、部門資料和人員資料進(jìn)行錄入及日常管理,。
2 關(guān)鍵技術(shù)的研究與實(shí)現(xiàn)
由于控制命令傳輸?shù)男畔?shù)據(jù)較短,可以一次性的將控制命令傳送給系統(tǒng)的服務(wù)器端,,因此控制命令的傳輸相對(duì)簡單,。只需把控制命令信息轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)后,在其前后加上特定的標(biāo)識(shí)信息,,然后發(fā)送給服務(wù)器端,。服務(wù)器端辨識(shí)到首尾標(biāo)識(shí)后按照約定提取二進(jìn)制數(shù)據(jù)信息,再轉(zhuǎn)換為控制命令控制數(shù)控設(shè)備,。
數(shù)控文件的傳輸相對(duì)比較復(fù)雜,。數(shù)控文件的長度較長,超出了通信鏈路的限制,,因此要將數(shù)控文件拆分成若干個(gè)數(shù)據(jù)包,。在傳輸?shù)臅r(shí)候,首先將文件名,、文件長度等與文件有關(guān)的相關(guān)信息打成一個(gè)包,,發(fā)送給服務(wù)器端,。服務(wù)器端接收到該信息包后,將收到的信息保存起來并根據(jù)文件名創(chuàng)建對(duì)應(yīng)的文件,。接下來客戶端將要傳輸?shù)奈募D(zhuǎn)換成二進(jìn)制數(shù)據(jù),,按數(shù)據(jù)包的限定長度將文件分為若干個(gè)數(shù)據(jù)塊,再將數(shù)據(jù)塊按一定的格式打成數(shù)據(jù)包,,一包一包地發(fā)送給服務(wù)器端,。服務(wù)器端將接收來的數(shù)據(jù)包進(jìn)行拆包,提取數(shù)據(jù)塊信息,,保存到對(duì)應(yīng)的文件中,,直到文件傳輸完成。服務(wù)器端發(fā)送數(shù)據(jù)的方法類似,,不再詳述,。整個(gè)傳輸過程是按照事先規(guī)定好的通信協(xié)議執(zhí)行的,發(fā)送與接收數(shù)據(jù)的流程圖如圖2,、圖3所示,。
圖2 通訊管理模塊發(fā)送數(shù)據(jù)流程圖
圖3 通訊管理模塊接收數(shù)據(jù)流程圖
考慮到客戶端和服務(wù)器端同時(shí)互傳數(shù)據(jù)的情況,為了避免單線程不能及時(shí)處理連接請(qǐng)求,,系統(tǒng)采用多線程技術(shù),。系統(tǒng)設(shè)置主線程為監(jiān)視線程,負(fù)責(zé)響應(yīng)連接請(qǐng)求,。當(dāng)有請(qǐng)求連接時(shí),,創(chuàng)建一個(gè)新的線程負(fù)責(zé)發(fā)送或接收數(shù)據(jù),這樣便可使兩端同時(shí)進(jìn)行數(shù)據(jù)傳輸,,提高傳輸效率,。
對(duì)數(shù)控程序的管理是MES設(shè)備管理系統(tǒng)中網(wǎng)絡(luò)化DNC的核心功能之一,,有效的數(shù)控程序管理,,可以保證程序的準(zhǔn)確性,避免事故損壞機(jī)床,,提高生產(chǎn)效率,,達(dá)到安全生產(chǎn)的目的。本系統(tǒng)對(duì)在生命周期內(nèi)的數(shù)控程序進(jìn)行內(nèi)部信息管理,。數(shù)控程序管理流程圖如圖4所示,。
圖4 數(shù)控程序管理流程圖
從程序的生成到程序的消亡,系統(tǒng)對(duì)數(shù)控程序有一套嚴(yán)格的管理方法,。編程人員首先編輯數(shù)控程序,,然后將程序相關(guān)信息填入數(shù)據(jù)庫中作為備份,此狀態(tài)下的數(shù)控程序是不能上傳到數(shù)控系統(tǒng)的,。管理人員有權(quán)查看數(shù)控程序,,若程序有錯(cuò)誤,,則重新編輯;若程序正確,則可以進(jìn)行試切,。如果試切失敗需返回重新編輯,,如果試切成功,管理人員將程序定型,,程序一旦定型便無法修改,,需要在數(shù)據(jù)庫中更新程序相關(guān)信息,此時(shí)的程序可以上傳到數(shù)控系統(tǒng),。數(shù)控程序的相關(guān)信息主要通過數(shù)據(jù)庫進(jìn)行管理,,包括程序號(hào)、程序名稱,、所加工的零件號(hào),、零件圖號(hào)、加工工序號(hào),、機(jī)床信息,、程序狀態(tài)等信息。
機(jī)床狀態(tài)監(jiān)控功能是網(wǎng)絡(luò)化DNC中不可缺少的一部分,,是MES設(shè)備管理的核心內(nèi)容之一,。本系統(tǒng)的機(jī)床狀態(tài)監(jiān)控主要是通過用于過程控制的OLE技術(shù)實(shí)現(xiàn)的。用于過程控制的OLE(OLE for Process Control,,OPC)是工控行業(yè)的軟件接口標(biāo)準(zhǔn),,它試圖按照標(biāo)準(zhǔn)的方法完成不同設(shè)備之間數(shù)據(jù)的交換。OPC規(guī)范提供了兩套接口方案,,即定制化接口和自動(dòng)化接口,。由于OPC的定制化接口效率高,可以使OPC服務(wù)器發(fā)揮其性能,,因此系統(tǒng)采用定制化接口,。
OPC數(shù)據(jù)訪問可以提供一種通過OPC客戶端讀取和寫入數(shù)控系統(tǒng)特定數(shù)據(jù)的手段。利用OPC技術(shù),,機(jī)床狀態(tài)監(jiān)控模塊的開發(fā)流程如圖5所示,。
圖5 機(jī)床狀態(tài)監(jiān)控模塊OPC類模型的開發(fā)流程
在開發(fā)過程中,首先要在工程中包含四個(gè)OPC基金會(huì)提供的OPC標(biāo)準(zhǔn)庫文件,,對(duì)開發(fā)環(huán)境進(jìn)行相關(guān)配置;OPC是基于COM技術(shù)制定的,,接著初始化COM庫用以使用其接口類;通過OPC服務(wù)器的ProgID得到其唯一的CLSID;只有當(dāng)用戶連接到OPC服務(wù)器后才能對(duì)組對(duì)象和項(xiàng)對(duì)象進(jìn)行操作,因此連接OPC服務(wù)器是獲取機(jī)床狀態(tài)數(shù)據(jù)的必要過程;應(yīng)用QueryInterface()方法請(qǐng)求IOPCSever接口指針,,創(chuàng)建OPC組對(duì)象;通過AddItem()添加想要訪問的特定數(shù)據(jù)項(xiàng);添加數(shù)據(jù)項(xiàng)后,,便可獲取機(jī)床狀態(tài)數(shù)據(jù)或?qū)C(jī)床狀態(tài)進(jìn)行控制;,需要?jiǎng)h除對(duì)象、釋放內(nèi)存,,值得一提的是,,刪除對(duì)象要先刪除項(xiàng)對(duì)象,刪除OPC服務(wù)器對(duì)象,。