陳逸維,夏琴香*,蔡國旗,馬 駿
(1. 華南理工大學(xué)機械與汽車工程學(xué)院,廣東 廣州 510640;2. 珠海格力精密模具有限公司,廣東 珠海 519070)
模具是現(xiàn)代工業(yè)生產(chǎn)的基礎(chǔ)工藝裝備,其帶來的高精度、高生產(chǎn)率和低消耗,是其他加工制造方法所不能比擬的[1]。模具的生產(chǎn)管理水平直接影響模具制造的生產(chǎn)效率及經(jīng)濟效益[2]。模具生產(chǎn)管理系統(tǒng)的應(yīng)用能優(yōu)化模具生產(chǎn)的資源分配,減少生產(chǎn)成本[3]。模具管理是一個復(fù)雜的系統(tǒng)工程,傳統(tǒng)的模具生產(chǎn)管理主要依靠人工記錄、統(tǒng)計生產(chǎn)數(shù)據(jù),制作統(tǒng)計報表,其效率、質(zhì)量受限于生產(chǎn)管理人員的水平。
為解決傳統(tǒng)模具生產(chǎn)管理效率低、生產(chǎn)數(shù)據(jù)統(tǒng)計周期長、信息滯后等問題,開發(fā)具有數(shù)據(jù)集成、數(shù)據(jù)管理、智能分析計算、數(shù)據(jù)可視化等功能的信息化管理系統(tǒng),已成為模具生產(chǎn)管理的研究熱點[4]。俞志軍[5]基于數(shù)據(jù)庫集成技術(shù),對注塑模具從設(shè)計到生產(chǎn)的流程進行分析,構(gòu)建了集成的模具生產(chǎn)定制模型,解決了設(shè)計與生產(chǎn)脫節(jié)、數(shù)據(jù)集成水平低等問題。li等[6]基于面向?qū)ο蟮姆椒?,提出了生產(chǎn)數(shù)據(jù)結(jié)構(gòu)管理概念,并建立了集成數(shù)據(jù)結(jié)構(gòu)規(guī)則,實現(xiàn)了模具生產(chǎn)過程數(shù)據(jù)的集成管理。將模具生產(chǎn)數(shù)據(jù)進行可視化展示有助于用戶快速地、直觀地理解模具的生產(chǎn)過程和生產(chǎn)狀態(tài)[7],然而關(guān)于模具生產(chǎn)管理的數(shù)據(jù)可視化方面的研究鮮有報道。
本文設(shè)計了一款具有數(shù)據(jù)集成、自動分析、可視化展示等功能的模具生產(chǎn)運維管理系統(tǒng),并通過實例運行驗證了該系統(tǒng)的實用性,實現(xiàn)了對模具生產(chǎn)過程中的計劃信息、零件信息、加工信息、物料信息的集成、分析、可視化應(yīng)用,為模具生產(chǎn)管理提供科學(xué)有效的數(shù)據(jù)依據(jù),從而提高了模具生產(chǎn)管理的信息化水平。
本文所開發(fā)的模具生產(chǎn)運維管理系統(tǒng)的核心模塊包括生產(chǎn)計劃、生產(chǎn)執(zhí)行及齊套組裝管理等,可實現(xiàn)企業(yè)服務(wù)器數(shù)據(jù)庫與生產(chǎn)計劃文檔文件的數(shù)據(jù)集成,并讀取所集成的零件信息、加工信息、計劃信息等;基于統(tǒng)計學(xué)原理,通過數(shù)學(xué)模型對導(dǎo)入的各類信息進行趨勢分析、對比分析和比例分析,最后基于可視化技術(shù)生成統(tǒng)計圖和數(shù)據(jù)列表,實現(xiàn)對某企業(yè)模具生產(chǎn)運維的數(shù)字化把控。
模具是單件生產(chǎn)的產(chǎn)品,模具企業(yè)的產(chǎn)品種類繁多、生產(chǎn)任務(wù)量大。要對模具的生產(chǎn)運維進行把控,一是必須熟悉模具的生產(chǎn)流程,準確劃分系統(tǒng)功能模塊;二是必須熟悉模具公司的數(shù)據(jù)流,確定各類信息數(shù)據(jù)的存儲載體以及存儲地址。基于上述兩點來構(gòu)建出符合實際生產(chǎn)需求的模具生產(chǎn)運維管理系統(tǒng)。
1) 系統(tǒng)運行的基礎(chǔ)首先要連接各類信息的數(shù)據(jù)源。各類生產(chǎn)數(shù)據(jù)大多存放在服務(wù)器數(shù)據(jù)庫內(nèi)或是指定地址下的文檔文件中,為了實現(xiàn)各類信息的準確獲取與高效集成,所開發(fā)的模具生產(chǎn)運維管理系統(tǒng)需要具備將文檔文件信息導(dǎo)入和自動集成到數(shù)據(jù)庫的功能。
2) 從模具生產(chǎn)過程中獲得的數(shù)據(jù),只是錄入在服務(wù)器數(shù)據(jù)庫和文檔文件中,并沒有基于這些數(shù)據(jù)對模具生產(chǎn)進行深層次的分析。為給管理人員提供科學(xué)、合理的生產(chǎn)管理決策支持,所開發(fā)的模具生產(chǎn)運維管理系統(tǒng)應(yīng)能對各類原始生產(chǎn)數(shù)據(jù)進行處理、計算、統(tǒng)計和分析。
3) 模具生產(chǎn)的計劃員和制造員常常需要提取出各類生產(chǎn)數(shù)據(jù),制作各類生產(chǎn)概況圖表并遞交上級管理人員。為實現(xiàn)各類生產(chǎn)概況圖表的自動生成和定時更新,所開發(fā)的模具生產(chǎn)運維管理系統(tǒng)應(yīng)能夠自動繪制可視化圖形,對獲得的生產(chǎn)數(shù)據(jù)進行可視化展示。
模具生產(chǎn)有以下3個主要流程: 制定生產(chǎn)計劃、模具零件生產(chǎn)、模具齊套組裝。因而,將模具生產(chǎn)運維管理系統(tǒng)劃分出以下3個功能模塊: ①生產(chǎn)計劃管理模塊,可以對模具項目日程計劃、車間計劃的就緒度、落實情況以及完成情況進行統(tǒng)計分析;②生產(chǎn)執(zhí)行管理模塊,可以對各項加工作業(yè)的就緒度、模具及零件的加工進度,及生產(chǎn)產(chǎn)出情況進行統(tǒng)計分析;③齊套組裝管理模塊,可以對模具的齊套狀態(tài)、組裝狀態(tài)及庫存狀態(tài)進行統(tǒng)計分析。
B/S(browser/server)是一種瀏覽器/服務(wù)器架構(gòu),具有共享性強、分布性強、開發(fā)簡單、維護方便且成本低等多種優(yōu)點,常用于構(gòu)建企業(yè)層級的系統(tǒng)[8]。作者構(gòu)建了基于B/S結(jié)構(gòu)的模具生產(chǎn)運維管理系統(tǒng)(圖1),系統(tǒng)總體框架可分為相互關(guān)聯(lián)的四大部分。其中,信息導(dǎo)入集成模塊能將文檔文件的數(shù)據(jù)統(tǒng)一集成到數(shù)據(jù)庫;數(shù)據(jù)計算處理模塊可對各類原始數(shù)據(jù)進行計算、統(tǒng)計、分析;格式轉(zhuǎn)換模塊可以對計算分析后的數(shù)據(jù)進行格式轉(zhuǎn)換;數(shù)據(jù)可視化模塊能將格式轉(zhuǎn)換后的數(shù)據(jù)借助可視化圖形和列表展示出來。
圖1 模具生產(chǎn)運維管理系統(tǒng)總體框架設(shè)計
通過NPOI技術(shù),加載指定路徑下的文檔文件,提取文檔文件內(nèi)的信息并寫入數(shù)據(jù)庫[9]。通過ADO.NET技術(shù),創(chuàng)建數(shù)據(jù)庫連接對象,以實現(xiàn)數(shù)據(jù)庫數(shù)據(jù)源及文檔文件類數(shù)據(jù)源的統(tǒng)一集成[10];SQL語言是一種高級的非過程化編程語言[11],常用于存取數(shù)據(jù)以及查詢、管理數(shù)據(jù)庫系統(tǒng),采用SQL語言對數(shù)據(jù)庫內(nèi)的數(shù)據(jù)進行讀取、關(guān)聯(lián)、計算、輸出,可以對原始數(shù)據(jù)進行統(tǒng)計分析。Echarts是一種基于計算機圖形學(xué)知識的圖像處理技術(shù)[12],可以利用可交互式圖形化方法將目標數(shù)據(jù)轉(zhuǎn)化為圖形,實現(xiàn)數(shù)據(jù)在系統(tǒng)中的可視化展示。
為實現(xiàn)對模具生產(chǎn)數(shù)據(jù)的高效集成管理。首先,基于NPOI技術(shù)和ADO.NET技術(shù),獲取文檔文件的路徑地址以及數(shù)據(jù)庫的服務(wù)器地址,提取文件信息并寫入數(shù)據(jù)庫,實現(xiàn)數(shù)據(jù)源訪問以及數(shù)據(jù)集成。其次,基于SQL語言對構(gòu)建的數(shù)據(jù)處理分析數(shù)學(xué)模型進行改寫,計算核心的模具生產(chǎn)管理指標,使原始數(shù)據(jù)轉(zhuǎn)換為具有實際意義的目標數(shù)據(jù)。再者,采用JSON數(shù)據(jù)協(xié)議對目標數(shù)據(jù)進行格式轉(zhuǎn)換,將結(jié)構(gòu)化格式的數(shù)據(jù)轉(zhuǎn)換為半結(jié)構(gòu)化格式的數(shù)據(jù)。采用Echarts圖像處理技術(shù),繪制可視化圖形,將目標數(shù)據(jù)映射到可視化圖形中,實現(xiàn)數(shù)據(jù)在系統(tǒng)前端的可視化展示。本文設(shè)計的模具生產(chǎn)運維管理系統(tǒng)的運行原理如圖2所示。
圖2 模具生產(chǎn)運維管理系統(tǒng)總體框架設(shè)計
SNMP是一種專門用于在IP網(wǎng)絡(luò)上管理網(wǎng)絡(luò)設(shè)備的標準協(xié)議,可以管理接入局域網(wǎng)的設(shè)備[13]。NETBIOS是用于局域網(wǎng)通信的一套接口,可以方便地實現(xiàn)消息通信及資源的共享[14]?;赟NMP協(xié)議及NETBIOS接口,用戶可以連接服務(wù)器并訪問共享文件夾,完成文件的上傳和下載。由于模具的生產(chǎn)計劃具有變更頻繁、時效性強等特點,因此大多模具企業(yè)計劃員會將生產(chǎn)計劃寫入文檔文件并上傳到企業(yè)共享文件夾。生產(chǎn)計劃的下載是不斷的人工重復(fù)動作,操作繁瑣、效率低。如果能通過計算機將指定的共享文件夾內(nèi)文檔文件中的生產(chǎn)計劃信息讀取出來,并寫入數(shù)據(jù)庫中,就能實現(xiàn)生產(chǎn)計劃信息的高效集成。
NPOI是一個開源的基于.NET的讀寫文檔文件的組件[15],基于NPOI技術(shù),可以將文檔文件中的生產(chǎn)計劃信息讀取到內(nèi)存中,并寫入數(shù)據(jù)庫。由于生產(chǎn)計劃文檔每次更改后,都要對數(shù)據(jù)庫內(nèi)的數(shù)據(jù)進行更新,基于循環(huán)遍歷的搜索算法可以高效地實現(xiàn)這項作業(yè)。每當生產(chǎn)計劃文檔更改后,系統(tǒng)便會遍歷文檔內(nèi)的所有數(shù)據(jù),識別出新增的數(shù)據(jù)和更改的數(shù)據(jù),然后將這些增量數(shù)據(jù)寫入數(shù)據(jù)庫中。程序流程圖如圖3所示。
Visual Studio是微軟公司發(fā)布的一個開發(fā)工具集,具有功能完備、編譯穩(wěn)健等特點[16]。Visual Studio提供了ADO.NET組件,能快速、便利地實現(xiàn)應(yīng)用程序?qū)?shù)據(jù)庫的訪問。因此選擇Visual Studio作為開發(fā)平臺,結(jié)合NPOI組件編寫循環(huán)遍歷的搜索算法,并基于ADO.NET組件編寫數(shù)據(jù)庫訪問語句,實現(xiàn)文檔文件數(shù)據(jù)的導(dǎo)入并集成至數(shù)據(jù)庫。數(shù)據(jù)導(dǎo)入集成模塊的核心代碼如下:
string savePath=Server.MapPath(filename);//獲得服務(wù)器相對路徑
string filename=FileUpload1.FileName;//獲取服務(wù)器中的文件名稱
try{for(int i=0;i<=ds1.Rows.Count-1;i++)
{string cell1=ds1.Rows[i][0].ToString();
string cell2=ds1.Rows[i][1].ToString();
string cell3=ds1.Rows[i][3].ToString();//循環(huán)將文件內(nèi)的數(shù)據(jù)寫入cell()數(shù)組
……
SqlConnection cn=DB.OpenConnection_DB();
SqlCommand cmd=new SqlCommand(insert1,cn);//執(zhí)行數(shù)據(jù)庫操作
}
圖3 程序流程圖
數(shù)據(jù)計算處理是模具生產(chǎn)運維管理系統(tǒng)的核心和智能化的重要體現(xiàn)[17]。它對模具生產(chǎn)制造過程中的計劃信息、零件信息、加工信息等進行統(tǒng)計分析,獲得能反映出模具生產(chǎn)計劃落實情況、生產(chǎn)執(zhí)行狀態(tài)、生產(chǎn)齊套概況的目標數(shù)據(jù),能為企業(yè)管理者提供生產(chǎn)決策上的科學(xué)依據(jù)。數(shù)據(jù)的計算處理,是通過調(diào)用系統(tǒng)API函數(shù)及數(shù)學(xué)模型函數(shù),提取出數(shù)據(jù)庫內(nèi)的特定數(shù)據(jù)并進行計算處理,獲取目標數(shù)據(jù)的過程。
針對模具品種規(guī)格多樣、數(shù)量小、加工工序復(fù)雜等特點,對某模具公司的生產(chǎn)流程和管理模式進行調(diào)研,確定了各生產(chǎn)環(huán)節(jié)所需把控的各類生產(chǎn)指標。基于統(tǒng)計學(xué)原理和生產(chǎn)管理指標,計算模具生產(chǎn)計劃完成率、零件加工完成率、模具加工完成率、產(chǎn)出完成率、齊套率等多項生產(chǎn)指標,應(yīng)用于模具生產(chǎn)計劃、生產(chǎn)執(zhí)行、齊套組裝的管理。其次,分析各個數(shù)學(xué)模型中輸入?yún)?shù)的數(shù)據(jù)定義及數(shù)據(jù)類型,構(gòu)建零件信息、加工信息、物料信息及計劃信息的元數(shù)據(jù)模型。采用SQL技術(shù)從服務(wù)器數(shù)據(jù)庫內(nèi)獲取零件信息、加工信息、計劃信息、物料信息,對獲取的數(shù)據(jù)進行計算、處理,獲得各類生產(chǎn)指標的目標數(shù)據(jù)。構(gòu)建的元數(shù)據(jù)模型如下:
1) 零件信息元數(shù)據(jù)模型(表1)提供了模具零件的詳細信息,包括零件所屬的模具編號、零件編號、名稱、設(shè)計狀態(tài)和零件類型。
表1 零件信息元數(shù)據(jù)模型
2) 加工信息元數(shù)據(jù)模型(表2)提供了加工作業(yè)的詳細信息,包括零件監(jiān)控編號、工序名稱、工序描述、額定工時、工序狀態(tài)、開工時間、報工時間、實際工時、加工設(shè)備編號、加工員編號、程序編號。
表2 加工信息元數(shù)據(jù)模型
3) 物料信息元數(shù)據(jù)模型(表3)提供了零件的采購信息及回廠信息,包括物料編號、采購需求、回廠時間、備料狀態(tài)。
表3 物料信息元數(shù)據(jù)模型
4) 計劃信息元數(shù)據(jù)模型(表4)提供了模具計劃的詳細信息,包括模具生產(chǎn)大日程節(jié)點、計劃下達時間、發(fā)布時間。
表4 計劃信息元數(shù)據(jù)模型
數(shù)據(jù)可視化是模具生產(chǎn)運維管理系統(tǒng)的關(guān)鍵功能模塊,具有數(shù)據(jù)格式轉(zhuǎn)換、數(shù)據(jù)映射、可視化展示能力,可以繪制圖形和圖表幫助用戶更快地理解復(fù)雜的數(shù)據(jù)、獲得決策支持基于圖像處理技術(shù),構(gòu)建數(shù)據(jù)可視化的載體?;跀?shù)據(jù)轉(zhuǎn)換技術(shù),借助數(shù)據(jù)轉(zhuǎn)換協(xié)議對數(shù)據(jù)的結(jié)構(gòu)進行過濾和轉(zhuǎn)換,獲得目標結(jié)構(gòu)的數(shù)據(jù)。
Echarts是一種基于計算機圖形學(xué)知識的圖像處理技術(shù),可以快速繪制各種交互式的圖形。根據(jù)對目標數(shù)據(jù)分析的維度,需要繪制多種圖形來完成數(shù)據(jù)的可視化。模具生產(chǎn)可從趨勢分析、對比分析、比例分析3個維度進行。趨勢分析把控目標數(shù)據(jù)的時間走向趨勢;對比分析把控目標數(shù)據(jù)的橫向?qū)Ρ龋槐壤治霭芽啬繕藬?shù)據(jù)的局部比例狀態(tài)。
集成后的數(shù)據(jù)儲存在系統(tǒng)的數(shù)據(jù)庫中,其結(jié)構(gòu)、排列都是符合特定規(guī)律的,是典型的結(jié)構(gòu)化數(shù)據(jù)。然而結(jié)構(gòu)化數(shù)據(jù)在編碼和表達方面不如半結(jié)構(gòu)化數(shù)據(jù),因此需要將結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)換成半結(jié)構(gòu)化數(shù)據(jù)。JSON是一種輕量級的半結(jié)構(gòu)化數(shù)據(jù),具有清晰的層次結(jié)構(gòu),是理想的數(shù)據(jù)交換語言[18]。AJAX是一種創(chuàng)建交互式動態(tài)應(yīng)用的開發(fā)技術(shù),可以快速地獲取指定路徑的半結(jié)構(gòu)化數(shù)據(jù)[19]?;贘SON數(shù)據(jù)處理協(xié)議,聲明標準JSON字符串,從目標數(shù)據(jù)中分離出數(shù)據(jù)的屬性和值,并寫入JSON字符串中,實現(xiàn)JSON字符串的實例化,將結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)換為半結(jié)構(gòu)化的JSON數(shù)據(jù)。采用AJAX技術(shù)和動態(tài)拼接表單方法建立數(shù)據(jù)映射,將JSON字符串轉(zhuǎn)換為JSON對象,并加載到Echarts繪制的圖形中??梢暬^程如圖4所示。
以某企業(yè)的模具生產(chǎn)過程為例,模具生產(chǎn)運維管理系統(tǒng)運行時將指定路徑的文件信息寫入數(shù)據(jù)庫,實現(xiàn)數(shù)據(jù)導(dǎo)入集成,對原始數(shù)據(jù)進行計算獲得目標數(shù)據(jù),并繪制成可視化圖表載入前端界面,用戶登錄系統(tǒng)后,可以點擊關(guān)注功能模塊,查看對應(yīng)的數(shù)據(jù)信息。系統(tǒng)通過對零件信息、加工信息、計劃信息、物料信息進行統(tǒng)一集成,計算出各類生產(chǎn)管理指標,實現(xiàn)模具生產(chǎn)過程的計劃管理、執(zhí)行管理、齊套組裝管理,為用戶和管理者提供生產(chǎn)決策支持,如圖5所示。
圖4 可視化過程
通過使用所開發(fā)的模具生產(chǎn)運維管理系統(tǒng),每天從各數(shù)據(jù)源獲取、集成各類生產(chǎn)數(shù)據(jù),分析計算統(tǒng)計后自動繪制可視化圖表。各功能模塊頁面的數(shù)據(jù)定時刷新,且頁面數(shù)據(jù)加載、可視化制圖時間不超過10 s,代替?zhèn)鹘y(tǒng)的人工導(dǎo)出數(shù)據(jù)后統(tǒng)計制表的作業(yè)模式,極大地提高了模具生產(chǎn)管理的數(shù)據(jù)集成水平和模具生產(chǎn)過程的信息化水平。
圖5 模具生產(chǎn)運維管理系統(tǒng)運行實例
針對傳統(tǒng)模具管理系統(tǒng)存在的數(shù)據(jù)集成程度低、人工制表數(shù)據(jù)實時性低、數(shù)據(jù)統(tǒng)計周期長等問題,開發(fā)了一種具有數(shù)據(jù)導(dǎo)入集成、自動分析計算、可視化展示等功能的模具生產(chǎn)運維管理系統(tǒng),并通過實例對其可靠性進行了驗證,結(jié)論如下:
1) 基于NPOI技術(shù)及循環(huán)遍歷的搜索算法,可實現(xiàn)文檔文件的數(shù)據(jù)識別和數(shù)據(jù)獲?。换贏DO.NET組件編寫數(shù)據(jù)接口,可實現(xiàn)文檔文件數(shù)據(jù)信息的自動導(dǎo)入并統(tǒng)一集成至數(shù)據(jù)庫。
2) 基于統(tǒng)計學(xué)方法結(jié)合模具生產(chǎn)過程,構(gòu)建元數(shù)據(jù)模型;針對模具生產(chǎn)過程的零件信息、加工信息、計劃信息、物料信息進行計算、統(tǒng)計,獲得應(yīng)用于模具生產(chǎn)管理的各類目標數(shù)據(jù)。
3) 結(jié)合Echarts可視化技術(shù),開發(fā)了模具生產(chǎn)運維管理系統(tǒng),代替了傳統(tǒng)的人工統(tǒng)計制表,實現(xiàn)了可視化圖表的自動生成,直觀地向用戶展示模具生產(chǎn)計劃落實情況、作業(yè)執(zhí)行情況、齊套組裝情況。