0引言
隨著科學技術的不斷提高,設備管理系統作為制造執行系統(Manufacturing Execution System,MES)中一個重要的子系統,是現代企業物質技術的基礎,是生產經營順利進行的前提以及提高經濟效益的保證。目前,我國大部分企業的數控設備信息化程度不高,導致在企業執行層的MES設備管理系統不能及時、準確的獲取設備控制層的相關信息,造成管理鴻溝。其次,現有的MES設備管理系統雖然方便了數控設備臺帳管理、基本信息記錄等一些靜態信息管理,但不能針對數控設備的實時狀態變化進行動態管理。
網絡化分布式數字控制(Distributed NumericalControl,DNC)可以把數控設備作為一個信息節點連接到企業的信息管網中,實時、準確、自動的為整個信息系統提供及時、有效的數據,為網絡化制造提供技術支撐。本文將網絡化DNC融入到MES設備管理系統的目的在于可以使企業執行層與控制層無縫連接,消除底層設備的信息孤島,同時獲取數控設備的實時狀態信息,對控制層設備進行動態管理,實現企業執行層與控制層之間的信息交換和協同工作。
1 系統總體框架結構及功能設計
系統主要是針對工業現場的數控設備開發的,選用的網絡主要用于承載數控加工程序、設備運行狀態等信息,為了滿足高實時性、可靠性和可擴展性的網絡要求,系統通過工業以太網與企業管理層進行連接,采用TCP/IP協議,很容易集成到管理辦公網絡。同時,系統通過串口服務器與數控系統的RS一232串行口進行連接通信。串口服務器將來自TCP/IP協議的數據包解析為串口數據流;反之也可以將串口數據流打成TCP/IP協議的數據包,從而實現數據的網絡傳輸。系統利用串口服務器虛擬串口的功能,可將數控系統的數據信息透明的傳輸到上位機。也就是說,將串口服務器連接到網絡中,上位機對數控系統的串口通信就相當于對上位機本身的串口通信一樣。
系統采用客戶端/服務器的通訊方式,上位機為融入網絡化DNC的MES設備管理系統的客戶端,系統的服務器端安裝在數控系統上。系統結構如圖1所示。
圖1 系統結構圖
由圖1可以看出,系統由通訊管理模塊、機床狀態監控模塊、設備數據查詢模塊、設備故障維修管理模塊和系統資料管理模塊這五大模塊組成,數據庫為整個系統提供數據支持。
通訊管理模塊和機床狀態監控模塊屬于網絡化DNC的控制層模塊。通訊管理模塊主要對控制命令及數控程序進行傳輸和管理。控制命令的傳輸主要是當客戶端需要對數控設備下達命令時,先從客戶端傳送命令到服務器端,當服務器端接收到該命令后,利用數控系統的內部命令控制數控設備。數控程序的傳輸是雙向的,可以從客戶端向服務器端傳輸,也可以將服務器端的數控程序傳輸到客戶端。
機床狀態監控模塊主要是客戶端對數控設備運行狀態的數據采集、控制。此功能模塊的實現可以及時快速地使執行層和管理層全面了解設備狀態信息和加工操作信息,并合理的做出決策控制。另外機床狀態監控模塊也為企業生產的統計分析工作提供了重要的數據來源。
機床數據查詢模塊從數據庫中獲取機床狀態監控模塊采集來的數據,根據用戶需要將數據進行統計分析,生成報表,并完成打印和管理功能。
設備故障維修管理模塊對設備維修計劃進行管理、對設備維修情況進行錄入,并保存在數據庫之中。系統資料管理模塊主要是對數控設備資料、參數資料、部門資料和人員資料進行錄入及日常管理。
2 關鍵技術的研究與實現
由于控制命令傳輸的信息數據較短,可以一次性的將控制命令傳送給系統的服務器端,因此控制命令的傳輸相對簡單。只需把控制命令信息轉換成二進制數據后,在其前后加上特定的標識信息,然后發送給服務器端。服務器端辨識到首尾標識后按照約定提取二進制數據信息,再轉換為控制命令控制數控設備。
數控文件的傳輸相對比較復雜。數控文件的長度較長,超出了通信鏈路的限制,因此要將數控文件拆分成若干個數據包。在傳輸的時候,首先將文件名、文件長度等與文件有關的相關信息打成一個包,發送給服務器端。服務器端接收到該信息包后,將收到的信息保存起來并根據文件名創建對應的文件。接下來客戶端將要傳輸的文件轉換成二進制數據,按數據包的限定長度將文件分為若干個數據塊,再將數據塊按一定的格式打成數據包,一包一包地發送給服務器端。服務器端將接收來的數據包進行拆包,提取數據塊信息,保存到對應的文件中,直到文件傳輸完成。服務器端發送數據的方法類似,不再詳述。整個傳輸過程是按照事先規定好的通信協議執行的,發送與接收數據的流程圖如圖2、圖3所示。
圖2 通訊管理模塊發送數據流程圖
圖3 通訊管理模塊接收數據流程圖
考慮到客戶端和服務器端同時互傳數據的情況,為了避免單線程不能及時處理連接請求,系統采用多線程技術。系統設置主線程為監視線程,負責響應連接請求。當有請求連接時,創建一個新的線程負責發送或接收數據,這樣便可使兩端同時進行數據傳輸,提高傳輸效率。
對數控程序的管理是MES設備管理系統中網絡化DNC的核心功能之一,有效的數控程序管理,可以保證程序的準確性,避免事故損壞機床,提高生產效率,達到安全生產的目的。本系統對在生命周期內的數控程序進行內部信息管理。數控程序管理流程圖如圖4所示。
圖4 數控程序冒理流程圖
從程序的生成到程序的消亡,系統對數控程序有一套嚴格的管理方法。編程人員首先編輯數控程序,然后將程序相關信息填人數據庫中作為備份,此狀態下的數控程序是不能上傳到數控系統的。管理人員有權查看數控程序,若程序有錯誤,則重新編輯;若程序正確,則可以進行試切。如果試切失敗需返回重新編輯,如果試切成功,管理人員將程序定型,程序一旦定型便無法修改,需要在數據庫中更新程序相關信息,此時的程序可以上傳到數控系統。數控程序的相關信息主要通過數據庫進行管理,包括程序號、程序名稱、所加工的零件號、零件圖號、加工工序號、機床信息、程序狀態等信息。
機床狀態監控功能是網絡化DNC中不可缺少的一部分,是MES設備管理的核心內容之一。本系統的機床狀態監控主要是通過用于過程控制的OLE技術實現的。用于過程控制的OLE(OLE for Process Con—trol,OPC)是工控行業的軟件接口標準,它試圖按照標準的方法完成不同設備之間數據的交換。OPC規范提供了兩套接口方案。即定制化接口和自動化接口。由于OPC的定制化接口效率高,可以使OPC服務器發揮其最佳性能,因此系統采用定制化接口。OPC數據訪問可以提供一種通過OPC客戶端讀取和寫入數控系統特定數據的手段。利用OPC技術,機床狀態監控模塊的開發流程如圖5所示。
圖5 機床狀態監控模塊OPC類模型的開發流程
在開發過程中,首先要在工程中包含四個OPC基金會提供的OPC標準庫文件,對開發環境進行相關配置;OPC是基于COM技術制定的,接著初始化COM庫用以使用其接口類;通過OPC服務器的ProgID得到其唯一的CLSID;只有當用戶連接到OPC服務器后才能對組對象和項對象進行操作,因此連接OPC服務器是獲取機床狀態數據的必要過程;應用QueryInterface()方法請求IOPCSever接口指針,創建OPC組對象;通過AddItem()添加想要訪問的特定數據項;添加數據項后,便可獲取機床狀態數據或對機床狀態進行控制;最后,需要刪除對象、釋放內存,值得一提的是,刪除對象要先刪除項對象,最后刪除OPC服務器對象。
3 實例驗證
本系統開發環境選用VC++6.0及SQL Server2000,采用裝有Windows 95操作系統的西門子840D數控系統對融入網絡化DNC的MES設備管理系統進行實例驗證。
設置串口參數如下:波特率9600Bps、數據位8位、停止位1位、無校驗碼。分別選取控制命令及三個不同長度的數控程序,在系統客戶端和服務器之間傳輸數據,每個程序發送或接收20次并取其平均值,結果如表1所示。由表1可以看出,系統客戶端能向服務器快速發送控制命令使數控系統做出較快的反應,同時對于一個給定的數控程序,平均每行數據發送和接收的時間幾乎相同,說明數據傳輸穩定,達到了執行層與控制層信息交互的目的。
表1 數控程序傳輸性能
圖6為數控程序管理界面。系統根據用戶權限,可對數控程序進行管理。通過低權限用戶身份登陸系統,無權修改程序狀態,保證了程序的安全,滿足設計要求。系統可以對數控機床的狀態變化快速做出反應。
圖6 數控程序管理的實現界面
準確捕獲數控設備實時狀態信息,使執行層與控制層協同工作。如圖7所示。系統客戶端檢測到數控系統當前主軸工作模式值為2(自動),正在發送控制命令set opMode 0改變其工作模式值為0(手動),服務器端接收到該命令后正確執行。
圖7 機床監控模塊的實現界面
以上實例表明,在MES設備管理系統中可以簡單、方便地使用網絡化DNC的功能,證明了網絡化DNC在MES設備管理系統中的設計具有可行性,其實現具有實用性。
4 結束語
本文分析了MES設備管理系統對網絡化DNC的需求,提出了融入網絡化DNC的MES設備管理系統的體系結構,采用模塊化設計方法設計了MES設備管理系統中的網絡化DNC系統,并詳細論述了其關鍵技術的實現。通過在西門子840D數控系統上的實例驗證進一步表明了系統工作狀態良好,運行安全可靠,有效地保障和促進了企業執行層與控制層之間的信息交換和協同工作,達到了預期的設計要求,具有良好的應用價值。
(審核編輯: 智匯小新)
分享