路婷婷,周麗娟
(沈陽(yáng)飛機(jī)工業(yè)(集團(tuán))有限公司數(shù)控加工廠,遼寧 沈陽(yáng) 110034)
隨著科學(xué)技術(shù)進(jìn)步的日新月異,新型科研飛機(jī)技術(shù)水平不斷提升,推動(dòng)飛機(jī)結(jié)構(gòu)件數(shù)控機(jī)加生產(chǎn)線向信息化、智能化發(fā)展轉(zhuǎn)變,從而保證飛機(jī)零部件加工優(yōu)質(zhì)化、高效化。分布式數(shù)控系統(tǒng)(DNC)通過(guò)將數(shù)控設(shè)備聯(lián)網(wǎng),能夠?qū)崿F(xiàn)生產(chǎn)現(xiàn)場(chǎng)最底層加工信息的采集和交互,目前被國(guó)內(nèi)外大多數(shù)數(shù)控制造企業(yè)采用,作為數(shù)控程序管理和提升設(shè)備利用率的工具。由于技術(shù)比較成熟,功能豐富的商業(yè)軟件也層出不窮,國(guó)外和國(guó)內(nèi)的軟件開(kāi)發(fā)商把目光都聚集在SIEMENS、NUM、FIDIA、FANUC 等普及型的數(shù)控控制系統(tǒng),DNC傳輸性能和功能上基本不分上下??刂葡到y(tǒng)的制造商也同樣看到了商機(jī),如SIEMENS、GE、FANUC也都有自己的DNC及監(jiān)控采集系統(tǒng)。在監(jiān)控和采集數(shù)據(jù)上各家軟件供應(yīng)商設(shè)計(jì)的功能各有千秋,主要集中在數(shù)據(jù)采集豐富程度的差別上,控制系統(tǒng)的供應(yīng)商為保護(hù)自己的監(jiān)控軟件,避免其他軟件商撬取其技術(shù),提供的監(jiān)控?cái)?shù)據(jù)十分有限,造成目前該行業(yè)內(nèi)沒(méi)有一家軟件公司支持全部的控制系統(tǒng)型號(hào),對(duì)國(guó)產(chǎn)系統(tǒng)的支持更是鳳毛麟角。
因此,希望利用對(duì)該系統(tǒng)的設(shè)計(jì)與研究突破當(dāng)前DNC和監(jiān)控系統(tǒng)不支持國(guó)產(chǎn)數(shù)控設(shè)備的瓶頸,實(shí)現(xiàn)國(guó)產(chǎn)數(shù)控系統(tǒng)的物聯(lián)網(wǎng),杜絕程序傳輸錯(cuò)誤率,提高設(shè)備信息采集數(shù)據(jù)的客觀性和準(zhǔn)確性。
國(guó)產(chǎn)數(shù)控系統(tǒng)配備網(wǎng)絡(luò)接口[1],直接通過(guò)網(wǎng)線連接車間交換機(jī),再利用光纖劃分出獨(dú)立的通道經(jīng)過(guò)防火墻與公司網(wǎng)絡(luò)連接,數(shù)據(jù)傳輸模式為單向下行模式,增強(qiáng)了網(wǎng)絡(luò)的安全性[2]。采用網(wǎng)線、光纖、以太網(wǎng)組合的連接方式,保證了服務(wù)器與數(shù)控機(jī)床之問(wèn)的距離不受限制,網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)與應(yīng)用工作模式靈活多樣,同時(shí)支持?jǐn)?shù)據(jù)的遠(yuǎn)程高效傳輸。系統(tǒng)網(wǎng)絡(luò)架構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)圖
系統(tǒng)由基礎(chǔ)數(shù)據(jù)采集模塊、數(shù)據(jù)統(tǒng)計(jì)模塊和客戶端管理模塊三大功能模塊組成?;A(chǔ)數(shù)據(jù)采集模塊集成了必備的機(jī)床MDC功能接口軟件,包括動(dòng)態(tài)鏈接庫(kù)、靜態(tài)鏈接庫(kù)、頭文件等[3-4],通過(guò)調(diào)用相應(yīng)的接口函數(shù)實(shí)現(xiàn)基礎(chǔ)參數(shù)信息的讀取。參數(shù)信息經(jīng)過(guò)簡(jiǎn)單的邏輯判斷處理,存儲(chǔ)到數(shù)據(jù)庫(kù)服務(wù)器中。數(shù)據(jù)統(tǒng)計(jì)模塊集成在MES系統(tǒng)中,根據(jù)每臺(tái)設(shè)備的基礎(chǔ)數(shù)據(jù),結(jié)合MES系統(tǒng)的班次、請(qǐng)假和加班等作業(yè)信息,計(jì)算出設(shè)備的利用情況,生成各類統(tǒng)計(jì)圖形報(bào)表。可視化的客戶端管理模塊用于管理設(shè)備的一些基礎(chǔ)信息,可進(jìn)行增刪改查等基本操作,同時(shí)也可以用于查看數(shù)控設(shè)備實(shí)時(shí)運(yùn)行情況。該模塊進(jìn)行了一定的訪問(wèn)權(quán)限劃分,避免因不必要的信息修改,造成數(shù)據(jù)采集不及時(shí)、不準(zhǔn)確。系統(tǒng)軟件結(jié)構(gòu)如圖2所示。
圖2 軟件結(jié)構(gòu)圖
考慮到實(shí)際情況,系統(tǒng)采用C/S和B/S相結(jié)合的結(jié)構(gòu)?;A(chǔ)數(shù)據(jù)采集模塊只在本地計(jì)算機(jī)存在一定的計(jì)算量,且需要頻繁對(duì)設(shè)備的個(gè)體情況分別計(jì)算及寫(xiě)入數(shù)據(jù)庫(kù)。另外,該模塊不需要廣泛的部署,僅在DNC/MDC服務(wù)器運(yùn)行即可,因此采用C/S結(jié)構(gòu)。可視化的客戶端管理模塊主要負(fù)責(zé)設(shè)備信息的管理,對(duì)于安全性和保密性方面要求較高,因此也采用C/S結(jié)構(gòu)。而數(shù)據(jù)處理模塊為了便于與MES等生產(chǎn)信息系統(tǒng)集成,同時(shí)也便于管理者查看,為滿足分布性和共享性要求,采用B/S結(jié)構(gòu)。
設(shè)備狀態(tài)監(jiān)控系統(tǒng)要對(duì)數(shù)控設(shè)備制造零件過(guò)程中產(chǎn)生的各種信息進(jìn)行獲取、傳輸并存入數(shù)據(jù)庫(kù)中。這些數(shù)據(jù)由多種類型的信息組成,如與設(shè)備狀態(tài)相關(guān)的信息、與工序進(jìn)度相關(guān)的信息等。主要包括以下幾類:設(shè)備開(kāi)關(guān)機(jī)狀態(tài);設(shè)備部件信息,如主軸轉(zhuǎn)速及倍率、進(jìn)給速度及倍率等;工件和加工信息,如執(zhí)行程序名稱、當(dāng)前執(zhí)行程序代碼等;是否發(fā)生報(bào)警、故障以及報(bào)警號(hào)、故障代碼。
3.1.1 利用多線程技術(shù)實(shí)現(xiàn)多臺(tái)機(jī)床并行監(jiān)控
系統(tǒng)要同時(shí)采集并存取幾臺(tái)、幾十臺(tái)甚至上百臺(tái)機(jī)床的狀態(tài)參數(shù),且需要長(zhǎng)時(shí)間不間斷運(yùn)行,是多任務(wù)同時(shí)進(jìn)行的,對(duì)軟件運(yùn)行效率要求很高。多線程技術(shù)是實(shí)現(xiàn)多任務(wù)并行運(yùn)行的重要手段。應(yīng)用多線程技術(shù),能夠保證系統(tǒng)的穩(wěn)定性、連續(xù)性、安全性[5]。
在數(shù)據(jù)采集存儲(chǔ)模塊進(jìn)程中包含主線程和監(jiān)控線程。主線程負(fù)責(zé)查詢?nèi)蝿?wù)表,監(jiān)聽(tīng)監(jiān)控任務(wù)。一旦啟動(dòng)某臺(tái)設(shè)備的監(jiān)控功能,則主線程創(chuàng)建一個(gè)對(duì)應(yīng)設(shè)備的監(jiān)控線程,并將其設(shè)定的ID值,存入標(biāo)志字符串變量中。監(jiān)控多個(gè)設(shè)備即對(duì)應(yīng)建立多個(gè)監(jiān)控線程。由于在—個(gè)進(jìn)程環(huán)境中,多個(gè)線程可共享單個(gè)地址空間,所以線程需要的系統(tǒng)資源比進(jìn)程少很多,這樣也就提高了服務(wù)器端應(yīng)用程序的效率。主線程工作流程如圖3所示。
圖3 主線程流程圖
啟動(dòng)子監(jiān)控線程,首先連接數(shù)控設(shè)備,連接失敗進(jìn)行自動(dòng)重連,一旦連接成功,則調(diào)用讀取函數(shù)開(kāi)始采集數(shù)據(jù)。在程序中為每個(gè)機(jī)床定義了一個(gè)類對(duì)象,該對(duì)象包含機(jī)床的全部采集信息的變量和必要的數(shù)據(jù)處理方法,為了避免不同機(jī)床之間采集參數(shù)發(fā)生混淆,這些變量和方法設(shè)置為private類型。同時(shí)考慮線程的安全性,使用互斥量的方式進(jìn)行線程同步。子監(jiān)控線程工作流程如圖4所示。
圖4 子監(jiān)控線程流程圖
3.1.2 基礎(chǔ)數(shù)據(jù)處理
為滿足實(shí)時(shí)監(jiān)控的需要,設(shè)備狀態(tài)監(jiān)控系統(tǒng)需24 h不間斷的連續(xù)采集數(shù)控機(jī)床參數(shù)信息。如果將采集數(shù)據(jù)全部存儲(chǔ)起來(lái),對(duì)數(shù)據(jù)庫(kù)服務(wù)器會(huì)造成巨大壓力,甚至使其崩潰。因此對(duì)數(shù)據(jù)進(jìn)行相應(yīng)的處理并合理存儲(chǔ)是十分必要的[6]。
設(shè)備的實(shí)時(shí)信息中,如當(dāng)前加工程序名稱、當(dāng)前加工程序代碼、機(jī)床主軸轉(zhuǎn)速及其倍率、當(dāng)前進(jìn)給速度及其倍率等基礎(chǔ)信息實(shí)時(shí)存儲(chǔ)在基本數(shù)據(jù)表當(dāng)中,作為歷史參考數(shù)據(jù),機(jī)床工作狀態(tài)、故障報(bào)警情況則要經(jīng)過(guò)邏輯判斷之后方可得到。本系統(tǒng)數(shù)據(jù)處理過(guò)程如圖5所示。每次采集到的基礎(chǔ)數(shù)據(jù),進(jìn)行一次判斷獲得機(jī)床當(dāng)前的最新?tīng)顟B(tài),之后采集的數(shù)據(jù)與上一次的歷史信息進(jìn)行比較,如果有變化,則將相關(guān)狀態(tài)信息存入歷史信息表中,否則轉(zhuǎn)入下一次采集。
圖5 數(shù)據(jù)處理流程圖
設(shè)備狀態(tài)監(jiān)控系統(tǒng)客戶端管理模塊如圖6所示,以良好的人機(jī)交互可視化界面,為用戶提供了設(shè)備的管理功能、機(jī)床的實(shí)時(shí)運(yùn)行狀態(tài)監(jiān)控功能。系統(tǒng)按照不同的車間、部門(mén)、職務(wù)賦予一定的管理角色,再根據(jù)角色特性劃分對(duì)應(yīng)權(quán)限。
圖6 系統(tǒng)界面
數(shù)據(jù)處理模塊集成于MES系統(tǒng)當(dāng)中,根據(jù)已有的基礎(chǔ)數(shù)據(jù),生成豐富的統(tǒng)計(jì)報(bào)告看板,方便、直觀地顯示各種統(tǒng)計(jì)數(shù)據(jù),使管理者準(zhǔn)確地掌握數(shù)控設(shè)備的當(dāng)前運(yùn)行狀態(tài),利用效率,隨時(shí)查詢歷史工作情況。如圖7所示是單臺(tái)設(shè)備利用率統(tǒng)計(jì)圖和某部門(mén)利用率統(tǒng)計(jì)表。
圖7 數(shù)據(jù)統(tǒng)計(jì)圖表
本文利用多線程技術(shù)、數(shù)據(jù)采集技術(shù)研究和開(kāi)發(fā)了一套國(guó)產(chǎn)數(shù)控設(shè)備狀態(tài)監(jiān)控系統(tǒng)。對(duì)GJ400型、GJ401型、華中8型數(shù)控設(shè)備應(yīng)用該系統(tǒng)進(jìn)行狀態(tài)監(jiān)控,該系統(tǒng)連續(xù)穩(wěn)定運(yùn)行,不間斷采集機(jī)床運(yùn)行參數(shù),數(shù)據(jù)準(zhǔn)確有效。隨著數(shù)控設(shè)備國(guó)產(chǎn)化的不斷深入,該系統(tǒng)能夠發(fā)揮更大的作用,幫助管理者更加有效、更加全面地對(duì)生產(chǎn)設(shè)備進(jìn)行監(jiān)控管理,提高設(shè)備利用率,消除信息孤島,提升生產(chǎn)效率,也進(jìn)一步推進(jìn)了企業(yè)向信息化、網(wǎng)絡(luò)化、智能化方向發(fā)展。