任凱斌,曾鵬飛,郝永平
(1.沈陽理工大學(xué) 機械工程學(xué)院,遼寧 沈陽 110159;2.沈陽理工大學(xué) CAD/CAM技術(shù)研究與開發(fā)中心,遼寧 沈陽 110159)
電子郵件系統(tǒng)的功能是借助于網(wǎng)絡(luò)使得計算機之間實現(xiàn)數(shù)據(jù)的傳遞。隨著互聯(lián)網(wǎng)的普及,各企業(yè)之間的業(yè)務(wù)交流越來越多地依賴于網(wǎng)絡(luò)通信,電子郵件系統(tǒng)因此也成為企業(yè)之間進行溝通的主流應(yīng)用。
近年來,國內(nèi)外許多學(xué)者就郵件系統(tǒng)與諸多其他領(lǐng)域的集成應(yīng)用進行了大量研究。例如:譚德才[1]為了使船舶運輸與陸上企業(yè)之間永遠保持網(wǎng)絡(luò)在線,應(yīng)用電子郵件使用簡單、性能穩(wěn)定等特點來實現(xiàn)數(shù)據(jù)遠程同步復(fù)制,設(shè)計了一種遠程異構(gòu)數(shù)據(jù)庫的郵件系統(tǒng);金艷[2]針對企業(yè)電子郵件系統(tǒng)的模塊管理獨立、電子郵件的效率低下,提出建設(shè)一個規(guī)范的電子郵件系統(tǒng)來實現(xiàn)對企業(yè)電子郵件信息的管理,進而設(shè)計了基于REST的企業(yè)電子郵件系統(tǒng);李紅濤[3]針對某公司為了加強對一線員工的關(guān)懷和心理疏導(dǎo),提出了解決這一問題的最佳方法為開發(fā)郵件系統(tǒng),因而設(shè)計了業(yè)務(wù)協(xié)同平臺的郵件系統(tǒng)。然而將電子郵件系統(tǒng)應(yīng)用于制造業(yè),尤其像生產(chǎn)車間這種信息量大、信息變化頻繁的制造業(yè)現(xiàn)場,卻很少有研究。
本文針對某兵工企業(yè)需要實現(xiàn)數(shù)字化生產(chǎn)車間內(nèi)部與外部其他部門以及質(zhì)量監(jiān)管部門的實時數(shù)據(jù)共享這一需求,以該企業(yè)彈藥分廠離散型車間生產(chǎn)為背景,應(yīng)用信息集成技術(shù)與可視化管理技術(shù)相結(jié)合,研究開發(fā)出一個基于數(shù)字化生產(chǎn)車間的郵件系統(tǒng)。以發(fā)送郵件的方式將現(xiàn)場產(chǎn)生的實時數(shù)據(jù)及時地進行遠距離傳輸,從而達到遠程審核管理、異地協(xié)同監(jiān)控和數(shù)據(jù)共享的效果。
圖1 數(shù)字化車間業(yè)務(wù)模型
數(shù)字化生產(chǎn)車間管理系統(tǒng)的核心是質(zhì)量管理的數(shù)字化[4]。數(shù)字化質(zhì)量管理是在現(xiàn)代質(zhì)量管理技術(shù)的基礎(chǔ)上,以信息論、系統(tǒng)論和控制論為基礎(chǔ)理論指導(dǎo),綜合運用計算機、數(shù)字化、網(wǎng)絡(luò)通信以及先進制造等一系列現(xiàn)代化技術(shù),建立了以數(shù)字化質(zhì)量管理信息系統(tǒng)為核心的管理工具。通過質(zhì)量數(shù)據(jù)的實時采集、傳遞、分析和反饋控制,規(guī)范了質(zhì)量信息的收集與管理[5]。產(chǎn)品的質(zhì)量出現(xiàn)問題,其并不是檢驗出來的,而是在生產(chǎn)制造過程中產(chǎn)生的。因此必須把質(zhì)量管理的重點放在制造過程上。數(shù)字化車間不僅是制造系統(tǒng)的基本組成部分,更是生產(chǎn)過程的重要樞紐[6]。數(shù)字化車間管理內(nèi)容包括下面5個方面:生產(chǎn)計劃的數(shù)字化管理、生產(chǎn)質(zhì)量的數(shù)字化管理、技術(shù)文檔的數(shù)字化管理、制造物流的數(shù)字化管理和制造資源的數(shù)字化管理[7]。在我國傳統(tǒng)的數(shù)字化生產(chǎn)車間中,這5部分內(nèi)容的大多數(shù)數(shù)據(jù)都是以工藝卡片的方式人工進行傳遞,車間的信息化程度很低,很難有效地對資源進行合理配置和優(yōu)化管理。因此,只有運用現(xiàn)代的生產(chǎn)管理方法,依靠信息技術(shù)來解決這一問題。應(yīng)用Web郵件系統(tǒng)很大程度上實現(xiàn)了制造過程的信息化、自動化,加工過程的有序化和網(wǎng)絡(luò)化管理。離散型生產(chǎn)車間主要是根據(jù)用戶提出的產(chǎn)品性能要求和結(jié)構(gòu)特點來安排生產(chǎn),企業(yè)接收到的訂單具有隨機性,企業(yè)必須每接收一份訂單就做一次安排,并及時地將生產(chǎn)計劃傳達給生產(chǎn)車間,以便在交貨期能按時交貨。圖1為彈藥數(shù)字化生產(chǎn)車間與郵件系統(tǒng)集成后的業(yè)務(wù)模型圖。
通過Web郵件技術(shù)在數(shù)字化生產(chǎn)車間管理系統(tǒng)中的應(yīng)用,總廠可以以郵件發(fā)送的形式給各分廠發(fā)送生產(chǎn)部制定的年度、季度、月度生產(chǎn)計劃文件;數(shù)字化生產(chǎn)車間內(nèi)部的質(zhì)量報表、工藝文檔、技術(shù)文檔、派工單、工藝卡片都可通過郵件發(fā)送系統(tǒng)進行數(shù)據(jù)傳輸,這樣大大減少了人員流動量,節(jié)省了不必要的工作時間。除此之外,數(shù)字化生產(chǎn)車間可以將車間生產(chǎn)現(xiàn)場采集來的實時數(shù)據(jù)以發(fā)送郵件的方式傳遞給遠程有關(guān)管理部門,以便接受審查。
JavaMail API是SUN公司為Java開發(fā)者提供的公用郵件API框架[8],支持各種電子郵件的通信協(xié)議,如SMTP、IMAP和POP3,它為Java應(yīng)用程序提供了處理電子郵件的通用接口[9]。系統(tǒng)在設(shè)計Web郵件系統(tǒng)時,應(yīng)用了JavaMail API的核心3大類:Message類、Transport類和Store類,采用Message類的實例化對象來創(chuàng)建解析郵件,用Transport類中的SMTP協(xié)議來實現(xiàn)郵件的發(fā)送功能,然后用Store類中的POP3協(xié)議實現(xiàn)郵件的接收。除此之外郵件發(fā)送還用到了Session類,Session類主要用于對整個郵件收發(fā)的應(yīng)用程序所需的環(huán)境信息進行定義,并收集客戶端與郵件服務(wù)器建立網(wǎng)絡(luò)連接的通信信息,譬如郵件服務(wù)器的主機名、端口號、采取的郵件發(fā)送和接收協(xié)議等主要內(nèi)容。Session對象把這些環(huán)境信息和通信內(nèi)容用于郵件收發(fā)的Transport和Store對象,以及為客戶端創(chuàng)建Message對象時提供信息支撐。
系統(tǒng)在創(chuàng)建電子郵件時,代碼編寫的思路過程為:首先創(chuàng)建郵件;然后創(chuàng)建MimeBodyPart對象對數(shù)字化生產(chǎn)車間產(chǎn)生的圖片、聲音、動畫和附件等進行封裝;之后再創(chuàng)建MimeMultiPart對象來描述各MimeBodyPart數(shù)據(jù)之間的關(guān)系;最后再把保存所有數(shù)據(jù)的容器加入到郵件中去。其中用到的JavaMail API之間的關(guān)系如圖2所示。
圖2 JavaMail API對郵件收發(fā)原理示意圖
數(shù)字化車間管理系統(tǒng)采用B/S(瀏覽器/服務(wù)器)結(jié)構(gòu)的MVC(模型—視圖—控制器)設(shè)計模式。B/S結(jié)構(gòu)具有瘦客戶端的優(yōu)點,便于系統(tǒng)的維護與擴展[10]。MVC程序開發(fā)設(shè)計模式可以實現(xiàn)顯示模塊與功能模塊的分離,提高程序的可維護性、可移植性、可擴展性與可重用性,降低程序的開發(fā)難度[11]。圖3為該數(shù)字化車間管理系統(tǒng)的B/S結(jié)構(gòu)圖。Web郵件系統(tǒng)與數(shù)字化車間管理系統(tǒng)應(yīng)用服務(wù)器層中的多個管理模塊實現(xiàn)了集成,其中最為重要的是實現(xiàn)了質(zhì)量控制管理模塊與Web郵件的集成,因為對于彈藥生產(chǎn)來說,質(zhì)量就是生命線,對于出錯是零容忍的。
圖3 B/S結(jié)構(gòu)圖
系統(tǒng)的整個運行環(huán)境為瀏覽器運行環(huán)境和Web服務(wù)器運行環(huán)境。
(1)瀏覽器運行環(huán)境為:操作系統(tǒng)Windows XP或Windows 7;Web瀏覽器IE6.0及以上版本。
(2)Web服務(wù)器運行環(huán)境為:操作系統(tǒng)Windows XP;Java EE版本JDK1.6。
(3)Web服務(wù)器為Apache Tomcat 7.0,數(shù)據(jù)庫采用Microsoft SQL Server 2008。
系統(tǒng)在視圖層采用JSP技術(shù)、JavaScript技術(shù)對數(shù)字化生產(chǎn)車間應(yīng)用服務(wù)器層中的工藝管理模塊、設(shè)備管理模塊、工具管理模塊、人員管理模塊、產(chǎn)品管理模塊、報表管理模塊、庫存管理模塊、質(zhì)量控制管理模塊、計劃與調(diào)度管理等模塊的Web網(wǎng)頁視圖界面進行編寫。當(dāng)用戶從不同模塊界面發(fā)送來請求時,MVC設(shè)計模式中的Struts框架會根據(jù)Struts.xml中的映射配置將用戶的請求交給相應(yīng)的Action類,基于AOP面向切面編程的思想來為請求提供各種預(yù)處理和切面處理的應(yīng)用功能[12]。在控制層,系統(tǒng)根據(jù)Spring框架中Spring-context.xml配置文件中的Action與Service的依賴注入關(guān)系,將業(yè)務(wù)處理功能交給Service進行處理,如SPC質(zhì)量控制圖的生成、實現(xiàn)報表的下載、電子郵件的收發(fā)等。在模型層,由Hibernate框架中的對象關(guān)系映射(Object Relation Mapping,ORM)將實體類中的對象自動持久化到關(guān)系數(shù)據(jù)庫中[13]。下面以質(zhì)量控制管理模塊與郵件系統(tǒng)集成為例,用戶進入到數(shù)字化生產(chǎn)車間的質(zhì)量控制管理模塊界面,如圖4所示。該質(zhì)量控制管理模塊對產(chǎn)品質(zhì)量的數(shù)字化管理主要是通過SPC技術(shù)相應(yīng)算法對生產(chǎn)過程中實時采集的數(shù)據(jù)進行計算,然后通過基于Web服務(wù)的SPC控制圖對數(shù)據(jù)進行顯示來實現(xiàn)的。
圖4 實時數(shù)據(jù)顯示界面
控制圖控制界限采用3σ法則,控制圖上的點應(yīng)落入(μ-3σ,μ+3σ)之內(nèi),如圖5所示,上控制界限為UCL,下控制界限為LCL,若控制圖上的點處于控制圖界限之外,則可以認(rèn)為生產(chǎn)過程質(zhì)量處于異常狀態(tài)。
圖5 SPC質(zhì)量控制圖
控制圖中主要參數(shù)的計算公式如下:
(1)基本參數(shù)計算公式
R=每組的(最大值-最小值)=xmax-xmin
(2)控制圖界限參數(shù)計算公式
R控制圖控制線:
其中,A2、D3、D4的值為均值—極差控制圖的3σ控制界限系數(shù),由表1可查。
表1 控制圖系數(shù)表
圖5中,SPC控制圖中有個“郵件發(fā)送”按鈕,點擊“郵件發(fā)送”按鈕時,服務(wù)器會根據(jù)Struts.xml中的映射配置找到質(zhì)量控制管理模塊(QualityControlAction.java)這個類里面的下載(downLoad)方法先實現(xiàn)下載功能,以便發(fā)送郵件時的附件上傳,然后將返回結(jié)果根據(jù)Struts.xml文件中的result配置跳轉(zhuǎn)到郵件發(fā)送頁面。在進入郵件系統(tǒng)進行郵件發(fā)送時,調(diào)用郵件發(fā)送(sendMail)方法來實現(xiàn)郵件發(fā)送功能,具體實現(xiàn)過程如圖6所示。
圖6 郵件發(fā)送流程圖
由于軍工產(chǎn)品信息屬于保密信息,為了監(jiān)視文件在傳輸過程中是否有被截取篡改,在文件上傳時需要對上傳文件進行加密處理,本系統(tǒng)應(yīng)用了MD5碼技術(shù)對附件進行了加密,在加密完成后便可獲得相對應(yīng)文件的MD5碼,然后點擊發(fā)送按鈕即可完成郵件發(fā)送。MD5碼主要加密代碼如下:
private static string GetMd5String(string msg)
{
StringBuilder sb = new StringBuilder();
using (MD5 md5 = MD5.Create())
{
byte[] bytes = System.Text.Encoding.Default.GetBytes(msg);
byte[] md5Byte = md5.ComputeHash(bytes);
for(int i =0;i { sb.Append(md5Byte[i].ToString("x2")); } } return sb.ToString(); } private static string GetMd5StringFromFile(string filePath) { StringBuilder sb = new StringBuilder(); using (MD5 md5 = MD5.Create()) { using (FileStream fs = File.OpenRead(filePath)) { byte[] md5Bytes = md5.ComputeHash(fs); for (int i = 0; i < md5Bytes.Length;i++ ) { sb.Append(md5Bytes[i].ToString("x2")); } } } return sb.ToString(); } 分廠對數(shù)字化車間生產(chǎn)現(xiàn)場的質(zhì)量管理是通過審查SPC質(zhì)量控制圖來實現(xiàn)的,總廠通過接收分廠實時發(fā)送過來的郵件,進而實現(xiàn)對數(shù)字化生產(chǎn)車間的實時監(jiān)控。圖7為總廠收到分廠發(fā)送過來的月完成月報表和數(shù)字化生產(chǎn)車間現(xiàn)場根據(jù)采集來的實時數(shù)據(jù)生成的SPC質(zhì)量控制圖。 圖7 總廠接收到分廠發(fā)送過來的郵件圖 本系統(tǒng)將郵件發(fā)送功能與Web應(yīng)用進行了集成,將數(shù)字化生產(chǎn)車間管理系統(tǒng)與郵件系統(tǒng)進行了集成,利用Java語言的“一次編譯,處處運行”的特點及Spring AOP面向切面編程思想和IOC依賴注入的方法,使得該系統(tǒng)具有了平臺無關(guān)、很強的擴展性和低耦合的特點。通過郵件客戶端工具可以連接互聯(lián)網(wǎng)上的任意一臺主機,最后實現(xiàn)了向遠程用戶發(fā)送復(fù)雜電子郵件的功能。通過該郵件集成系統(tǒng)可以實現(xiàn)企業(yè)領(lǐng)導(dǎo)對各部門的監(jiān)控以及上級集團公司、地方政府、質(zhì)量認(rèn)證機構(gòu)對企業(yè)的監(jiān)控等,從而實現(xiàn)多方位對數(shù)字化生產(chǎn)車間的監(jiān)控與協(xié)同處理。 參考文獻 [1] 譚德才.基于郵件系統(tǒng)的遠程異構(gòu)數(shù)據(jù)庫同步設(shè)計與實現(xiàn)[D].廣州:華南理工大學(xué),2010. [2] 金艷.基于REST的企業(yè)電子郵件系統(tǒng)的設(shè)計與實現(xiàn)[D].長春:吉林大學(xué),2015. [3] 李紅濤.業(yè)務(wù)協(xié)同平臺郵件子系統(tǒng)的設(shè)計與實現(xiàn)[D].西安:西安電子科技大學(xué),2015. [4] 張根保.數(shù)字化質(zhì)量管理系統(tǒng)及其關(guān)鍵技術(shù)[J].中國計量學(xué)院學(xué)報,2005,16(2):85-92. [5] 楊緒紅.企業(yè)數(shù)字化管理模式研究[D].北京:北京交通大學(xué),2003. [6] 孫會海,郝永平,孫會花.基于web的離散型車間管理系統(tǒng)研究[J].機械設(shè)計與制造,2011(10):238-240. [7] 曹軍,尹超,劉飛,等.機械加工車間數(shù)字化制造描述模型及總體框架[J].重慶大學(xué)學(xué)報,2012,35(9):48-55. [8] 鐘珞,劉玲,夏紅霞.基于JavaMail API的Web郵件系統(tǒng)開發(fā)[J].武漢理工大學(xué)學(xué)報,2006,28(6):84-86. [9] DEBBABI M, SALCH M, TALHI C, et al. Security evaluation of J2ME CLDC embedded Java platform[J].Journal of Object Technology,2006,5(2):125-154. [10] 康雷,張樹本,楊堅.基于B/S模式的GPU集群管理系統(tǒng)設(shè)計[J].計算機工程,2015,41(10):6-9. [11] 張俐.基于MVC模式的分頁組件應(yīng)用[J].計算機工程,2011,37(21):255-257. [12] ELRAD T, AKSIT M,KICZALES G, et al. Discussing aspects of AOP[J].Communications of the ACM,2011,44(10):33-38. [13] 嚴(yán)成武.支持分庫分表和讀寫分離的ORM框架的設(shè)計與實現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2016.4 結(jié)論