陳逸維,夏琴香*,蔡國旗,馬 駿
(1. 華南理工大學機械與汽車工程學院,廣東 廣州 510640;2. 珠海格力精密模具有限公司,廣東 珠海 519070)
模具是現代工業生產的基礎工藝裝備,其帶來的高精度、高生產率和低消耗,是其他加工制造方法所不能比擬的[1]。模具的生產管理水平直接影響模具制造的生產效率及經濟效益[2]。模具生產管理系統的應用能優化模具生產的資源分配,減少生產成本[3]。模具管理是一個復雜的系統工程,傳統的模具生產管理主要依靠人工記錄、統計生產數據,制作統計報表,其效率、質量受限于生產管理人員的水平。
為解決傳統模具生產管理效率低、生產數據統計周期長、信息滯后等問題,開發具有數據集成、數據管理、智能分析計算、數據可視化等功能的信息化管理系統,已成為模具生產管理的研究熱點[4]。俞志軍[5]基于數據庫集成技術,對注塑模具從設計到生產的流程進行分析,構建了集成的模具生產定制模型,解決了設計與生產脫節、數據集成水平低等問題。li等[6]基于面向對象的方法,提出了生產數據結構管理概念,并建立了集成數據結構規則,實現了模具生產過程數據的集成管理。將模具生產數據進行可視化展示有助于用戶快速地、直觀地理解模具的生產過程和生產狀態[7],然而關于模具生產管理的數據可視化方面的研究鮮有報道。
本文設計了一款具有數據集成、自動分析、可視化展示等功能的模具生產運維管理系統,并通過實例運行驗證了該系統的實用性,實現了對模具生產過程中的計劃信息、零件信息、加工信息、物料信息的集成、分析、可視化應用,為模具生產管理提供科學有效的數據依據,從而提高了模具生產管理的信息化水平。
本文所開發的模具生產運維管理系統的核心模塊包括生產計劃、生產執行及齊套組裝管理等,可實現企業服務器數據庫與生產計劃文檔文件的數據集成,并讀取所集成的零件信息、加工信息、計劃信息等;基于統計學原理,通過數學模型對導入的各類信息進行趨勢分析、對比分析和比例分析,最后基于可視化技術生成統計圖和數據列表,實現對某企業模具生產運維的數字化把控。
模具是單件生產的產品,模具企業的產品種類繁多、生產任務量大。要對模具的生產運維進行把控,一是必須熟悉模具的生產流程,準確劃分系統功能模塊;二是必須熟悉模具公司的數據流,確定各類信息數據的存儲載體以及存儲地址。基于上述兩點來構建出符合實際生產需求的模具生產運維管理系統。
1) 系統運行的基礎首先要連接各類信息的數據源。各類生產數據大多存放在服務器數據庫內或是指定地址下的文檔文件中,為了實現各類信息的準確獲取與高效集成,所開發的模具生產運維管理系統需要具備將文檔文件信息導入和自動集成到數據庫的功能。
2) 從模具生產過程中獲得的數據,只是錄入在服務器數據庫和文檔文件中,并沒有基于這些數據對模具生產進行深層次的分析。為給管理人員提供科學、合理的生產管理決策支持,所開發的模具生產運維管理系統應能對各類原始生產數據進行處理、計算、統計和分析。
3) 模具生產的計劃員和制造員常常需要提取出各類生產數據,制作各類生產概況圖表并遞交上級管理人員。為實現各類生產概況圖表的自動生成和定時更新,所開發的模具生產運維管理系統應能夠自動繪制可視化圖形,對獲得的生產數據進行可視化展示。
模具生產有以下3個主要流程: 制定生產計劃、模具零件生產、模具齊套組裝。因而,將模具生產運維管理系統劃分出以下3個功能模塊: ①生產計劃管理模塊,可以對模具項目日程計劃、車間計劃的就緒度、落實情況以及完成情況進行統計分析;②生產執行管理模塊,可以對各項加工作業的就緒度、模具及零件的加工進度,及生產產出情況進行統計分析;③齊套組裝管理模塊,可以對模具的齊套狀態、組裝狀態及庫存狀態進行統計分析。
B/S(browser/server)是一種瀏覽器/服務器架構,具有共享性強、分布性強、開發簡單、維護方便且成本低等多種優點,常用于構建企業層級的系統[8]。作者構建了基于B/S結構的模具生產運維管理系統(圖1),系統總體框架可分為相互關聯的四大部分。其中,信息導入集成模塊能將文檔文件的數據統一集成到數據庫;數據計算處理模塊可對各類原始數據進行計算、統計、分析;格式轉換模塊可以對計算分析后的數據進行格式轉換;數據可視化模塊能將格式轉換后的數據借助可視化圖形和列表展示出來。

圖1 模具生產運維管理系統總體框架設計
通過NPOI技術,加載指定路徑下的文檔文件,提取文檔文件內的信息并寫入數據庫[9]。通過ADO.NET技術,創建數據庫連接對象,以實現數據庫數據源及文檔文件類數據源的統一集成[10];SQL語言是一種高級的非過程化編程語言[11],常用于存取數據以及查詢、管理數據庫系統,采用SQL語言對數據庫內的數據進行讀取、關聯、計算、輸出,可以對原始數據進行統計分析。Echarts是一種基于計算機圖形學知識的圖像處理技術[12],可以利用可交互式圖形化方法將目標數據轉化為圖形,實現數據在系統中的可視化展示。
為實現對模具生產數據的高效集成管理。首先,基于NPOI技術和ADO.NET技術,獲取文檔文件的路徑地址以及數據庫的服務器地址,提取文件信息并寫入數據庫,實現數據源訪問以及數據集成。其次,基于SQL語言對構建的數據處理分析數學模型進行改寫,計算核心的模具生產管理指標,使原始數據轉換為具有實際意義的目標數據。再者,采用JSON數據協議對目標數據進行格式轉換,將結構化格式的數據轉換為半結構化格式的數據。采用Echarts圖像處理技術,繪制可視化圖形,將目標數據映射到可視化圖形中,實現數據在系統前端的可視化展示。本文設計的模具生產運維管理系統的運行原理如圖2所示。

圖2 模具生產運維管理系統總體框架設計
SNMP是一種專門用于在IP網絡上管理網絡設備的標準協議,可以管理接入局域網的設備[13]。NETBIOS是用于局域網通信的一套接口,可以方便地實現消息通信及資源的共享[14]。基于SNMP協議及NETBIOS接口,用戶可以連接服務器并訪問共享文件夾,完成文件的上傳和下載。由于模具的生產計劃具有變更頻繁、時效性強等特點,因此大多模具企業計劃員會將生產計劃寫入文檔文件并上傳到企業共享文件夾。生產計劃的下載是不斷的人工重復動作,操作繁瑣、效率低。如果能通過計算機將指定的共享文件夾內文檔文件中的生產計劃信息讀取出來,并寫入數據庫中,就能實現生產計劃信息的高效集成。
NPOI是一個開源的基于.NET的讀寫文檔文件的組件[15],基于NPOI技術,可以將文檔文件中的生產計劃信息讀取到內存中,并寫入數據庫。由于生產計劃文檔每次更改后,都要對數據庫內的數據進行更新,基于循環遍歷的搜索算法可以高效地實現這項作業。每當生產計劃文檔更改后,系統便會遍歷文檔內的所有數據,識別出新增的數據和更改的數據,然后將這些增量數據寫入數據庫中。程序流程圖如圖3所示。
Visual Studio是微軟公司發布的一個開發工具集,具有功能完備、編譯穩健等特點[16]。Visual Studio提供了ADO.NET組件,能快速、便利地實現應用程序對數據庫的訪問。因此選擇Visual Studio作為開發平臺,結合NPOI組件編寫循環遍歷的搜索算法,并基于ADO.NET組件編寫數據庫訪問語句,實現文檔文件數據的導入并集成至數據庫。數據導入集成模塊的核心代碼如下:
string savePath=Server.MapPath(filename);//獲得服務器相對路徑
string filename=FileUpload1.FileName;//獲取服務器中的文件名稱
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();//循環將文件內的數據寫入cell()數組
……

SqlConnection cn=DB.OpenConnection_DB();
SqlCommand cmd=new SqlCommand(insert1,cn);//執行數據庫操作
}

圖3 程序流程圖
數據計算處理是模具生產運維管理系統的核心和智能化的重要體現[17]。它對模具生產制造過程中的計劃信息、零件信息、加工信息等進行統計分析,獲得能反映出模具生產計劃落實情況、生產執行狀態、生產齊套概況的目標數據,能為企業管理者提供生產決策上的科學依據。數據的計算處理,是通過調用系統API函數及數學模型函數,提取出數據庫內的特定數據并進行計算處理,獲取目標數據的過程。
針對模具品種規格多樣、數量小、加工工序復雜等特點,對某模具公司的生產流程和管理模式進行調研,確定了各生產環節所需把控的各類生產指標。基于統計學原理和生產管理指標,計算模具生產計劃完成率、零件加工完成率、模具加工完成率、產出完成率、齊套率等多項生產指標,應用于模具生產計劃、生產執行、齊套組裝的管理。其次,分析各個數學模型中輸入參數的數據定義及數據類型,構建零件信息、加工信息、物料信息及計劃信息的元數據模型。采用SQL技術從服務器數據庫內獲取零件信息、加工信息、計劃信息、物料信息,對獲取的數據進行計算、處理,獲得各類生產指標的目標數據。構建的元數據模型如下:
1) 零件信息元數據模型(表1)提供了模具零件的詳細信息,包括零件所屬的模具編號、零件編號、名稱、設計狀態和零件類型。

表1 零件信息元數據模型
2) 加工信息元數據模型(表2)提供了加工作業的詳細信息,包括零件監控編號、工序名稱、工序描述、額定工時、工序狀態、開工時間、報工時間、實際工時、加工設備編號、加工員編號、程序編號。

表2 加工信息元數據模型
3) 物料信息元數據模型(表3)提供了零件的采購信息及回廠信息,包括物料編號、采購需求、回廠時間、備料狀態。

表3 物料信息元數據模型
4) 計劃信息元數據模型(表4)提供了模具計劃的詳細信息,包括模具生產大日程節點、計劃下達時間、發布時間。

表4 計劃信息元數據模型
數據可視化是模具生產運維管理系統的關鍵功能模塊,具有數據格式轉換、數據映射、可視化展示能力,可以繪制圖形和圖表幫助用戶更快地理解復雜的數據、獲得決策支持基于圖像處理技術,構建數據可視化的載體。基于數據轉換技術,借助數據轉換協議對數據的結構進行過濾和轉換,獲得目標結構的數據。
Echarts是一種基于計算機圖形學知識的圖像處理技術,可以快速繪制各種交互式的圖形。根據對目標數據分析的維度,需要繪制多種圖形來完成數據的可視化。模具生產可從趨勢分析、對比分析、比例分析3個維度進行。趨勢分析把控目標數據的時間走向趨勢;對比分析把控目標數據的橫向對比;比例分析把控目標數據的局部比例狀態。
集成后的數據儲存在系統的數據庫中,其結構、排列都是符合特定規律的,是典型的結構化數據。然而結構化數據在編碼和表達方面不如半結構化數據,因此需要將結構化數據轉換成半結構化數據。JSON是一種輕量級的半結構化數據,具有清晰的層次結構,是理想的數據交換語言[18]。AJAX是一種創建交互式動態應用的開發技術,可以快速地獲取指定路徑的半結構化數據[19]。基于JSON數據處理協議,聲明標準JSON字符串,從目標數據中分離出數據的屬性和值,并寫入JSON字符串中,實現JSON字符串的實例化,將結構化數據轉換為半結構化的JSON數據。采用AJAX技術和動態拼接表單方法建立數據映射,將JSON字符串轉換為JSON對象,并加載到Echarts繪制的圖形中。可視化過程如圖4所示。
以某企業的模具生產過程為例,模具生產運維管理系統運行時將指定路徑的文件信息寫入數據庫,實現數據導入集成,對原始數據進行計算獲得目標數據,并繪制成可視化圖表載入前端界面,用戶登錄系統后,可以點擊關注功能模塊,查看對應的數據信息。系統通過對零件信息、加工信息、計劃信息、物料信息進行統一集成,計算出各類生產管理指標,實現模具生產過程的計劃管理、執行管理、齊套組裝管理,為用戶和管理者提供生產決策支持,如圖5所示。

圖4 可視化過程
通過使用所開發的模具生產運維管理系統,每天從各數據源獲取、集成各類生產數據,分析計算統計后自動繪制可視化圖表。各功能模塊頁面的數據定時刷新,且頁面數據加載、可視化制圖時間不超過10 s,代替傳統的人工導出數據后統計制表的作業模式,極大地提高了模具生產管理的數據集成水平和模具生產過程的信息化水平。

圖5 模具生產運維管理系統運行實例
針對傳統模具管理系統存在的數據集成程度低、人工制表數據實時性低、數據統計周期長等問題,開發了一種具有數據導入集成、自動分析計算、可視化展示等功能的模具生產運維管理系統,并通過實例對其可靠性進行了驗證,結論如下:
1) 基于NPOI技術及循環遍歷的搜索算法,可實現文檔文件的數據識別和數據獲取;基于ADO.NET組件編寫數據接口,可實現文檔文件數據信息的自動導入并統一集成至數據庫。
2) 基于統計學方法結合模具生產過程,構建元數據模型;針對模具生產過程的零件信息、加工信息、計劃信息、物料信息進行計算、統計,獲得應用于模具生產管理的各類目標數據。
3) 結合Echarts可視化技術,開發了模具生產運維管理系統,代替了傳統的人工統計制表,實現了可視化圖表的自動生成,直觀地向用戶展示模具生產計劃落實情況、作業執行情況、齊套組裝情況。