基于数字化生产车间的邮件系统设计与集成*
2018-05-23任凯斌曾鹏飞郝永平
任凯斌,曾鹏飞,郝永平
(1.沈阳理工大学 机械工程学院,辽宁 沈阳 110159;2.沈阳理工大学 CAD/CAM技术研究与开发中心,辽宁 沈阳 110159)
0 引言
电子邮件系统的功能是借助于网络使得计算机之间实现数据的传递。随着互联网的普及,各企业之间的业务交流越来越多地依赖于网络通信,电子邮件系统因此也成为企业之间进行沟通的主流应用。
近年来,国内外许多学者就邮件系统与诸多其他领域的集成应用进行了大量研究。例如:谭德才[1]为了使船舶运输与陆上企业之间永远保持网络在线,应用电子邮件使用简单、性能稳定等特点来实现数据远程同步复制,设计了一种远程异构数据库的邮件系统;金艳[2]针对企业电子邮件系统的模块管理独立、电子邮件的效率低下,提出建设一个规范的电子邮件系统来实现对企业电子邮件信息的管理,进而设计了基于REST的企业电子邮件系统;李红涛[3]针对某公司为了加强对一线员工的关怀和心理疏导,提出了解决这一问题的最佳方法为开发邮件系统,因而设计了业务协同平台的邮件系统。然而将电子邮件系统应用于制造业,尤其像生产车间这种信息量大、信息变化频繁的制造业现场,却很少有研究。
本文针对某兵工企业需要实现数字化生产车间内部与外部其他部门以及质量监管部门的实时数据共享这一需求,以该企业弹药分厂离散型车间生产为背景,应用信息集成技术与可视化管理技术相结合,研究开发出一个基于数字化生产车间的邮件系统。以发送邮件的方式将现场产生的实时数据及时地进行远距离传输,从而达到远程审核管理、异地协同监控和数据共享的效果。
图1 数字化车间业务模型
1 数字化生产车间管理系统
数字化生产车间管理系统的核心是质量管理的数字化[4]。数字化质量管理是在现代质量管理技术的基础上,以信息论、系统论和控制论为基础理论指导,综合运用计算机、数字化、网络通信以及先进制造等一系列现代化技术,建立了以数字化质量管理信息系统为核心的管理工具。通过质量数据的实时采集、传递、分析和反馈控制,规范了质量信息的收集与管理[5]。产品的质量出现问题,其并不是检验出来的,而是在生产制造过程中产生的。因此必须把质量管理的重点放在制造过程上。数字化车间不仅是制造系统的基本组成部分,更是生产过程的重要枢纽[6]。数字化车间管理内容包括下面5个方面:生产计划的数字化管理、生产质量的数字化管理、技术文档的数字化管理、制造物流的数字化管理和制造资源的数字化管理[7]。在我国传统的数字化生产车间中,这5部分内容的大多数数据都是以工艺卡片的方式人工进行传递,车间的信息化程度很低,很难有效地对资源进行合理配置和优化管理。因此,只有运用现代的生产管理方法,依靠信息技术来解决这一问题。应用Web邮件系统很大程度上实现了制造过程的信息化、自动化,加工过程的有序化和网络化管理。离散型生产车间主要是根据用户提出的产品性能要求和结构特点来安排生产,企业接收到的订单具有随机性,企业必须每接收一份订单就做一次安排,并及时地将生产计划传达给生产车间,以便在交货期能按时交货。图1为弹药数字化生产车间与邮件系统集成后的业务模型图。
通过Web邮件技术在数字化生产车间管理系统中的应用,总厂可以以邮件发送的形式给各分厂发送生产部制定的年度、季度、月度生产计划文件;数字化生产车间内部的质量报表、工艺文档、技术文档、派工单、工艺卡片都可通过邮件发送系统进行数据传输,这样大大减少了人员流动量,节省了不必要的工作时间。除此之外,数字化生产车间可以将车间生产现场采集来的实时数据以发送邮件的方式传递给远程有关管理部门,以便接受审查。
2 邮件系统设计与数字化生产车间管理系统设计
2.1 基于JavaMail的Web邮件系统设计
JavaMail API是SUN公司为Java开发者提供的公用邮件API框架[8],支持各种电子邮件的通信协议,如SMTP、IMAP和POP3,它为Java应用程序提供了处理电子邮件的通用接口[9]。系统在设计Web邮件系统时,应用了JavaMail API的核心3大类:Message类、Transport类和Store类,采用Message类的实例化对象来创建解析邮件,用Transport类中的SMTP协议来实现邮件的发送功能,然后用Store类中的POP3协议实现邮件的接收。除此之外邮件发送还用到了Session类,Session类主要用于对整个邮件收发的应用程序所需的环境信息进行定义,并收集客户端与邮件服务器建立网络连接的通信信息,譬如邮件服务器的主机名、端口号、采取的邮件发送和接收协议等主要内容。Session对象把这些环境信息和通信内容用于邮件收发的Transport和Store对象,以及为客户端创建Message对象时提供信息支撑。
系统在创建电子邮件时,代码编写的思路过程为:首先创建邮件;然后创建MimeBodyPart对象对数字化生产车间产生的图片、声音、动画和附件等进行封装;之后再创建MimeMultiPart对象来描述各MimeBodyPart数据之间的关系;最后再把保存所有数据的容器加入到邮件中去。其中用到的JavaMail API之间的关系如图2所示。
图2 JavaMail API对邮件收发原理示意图
2.2 数字化生产车间管理系统的设计
数字化车间管理系统采用B/S(浏览器/服务器)结构的MVC(模型—视图—控制器)设计模式。B/S结构具有瘦客户端的优点,便于系统的维护与扩展[10]。MVC程序开发设计模式可以实现显示模块与功能模块的分离,提高程序的可维护性、可移植性、可扩展性与可重用性,降低程序的开发难度[11]。图3为该数字化车间管理系统的B/S结构图。Web邮件系统与数字化车间管理系统应用服务器层中的多个管理模块实现了集成,其中最为重要的是实现了质量控制管理模块与Web邮件的集成,因为对于弹药生产来说,质量就是生命线,对于出错是零容忍的。
图3 B/S结构图
3 数字化生产车间管理系统与邮件系统的集成与实现
3.1 系统的运行测试环境
系统的整个运行环境为浏览器运行环境和Web服务器运行环境。
(1)浏览器运行环境为:操作系统Windows XP或Windows 7;Web浏览器IE6.0及以上版本。
(2)Web服务器运行环境为:操作系统Windows XP;Java EE版本JDK1.6。
(3)Web服务器为Apache Tomcat 7.0,数据库采用Microsoft SQL Server 2008。
3.2 系统的实现过程
系统在视图层采用JSP技术、JavaScript技术对数字化生产车间应用服务器层中的工艺管理模块、设备管理模块、工具管理模块、人员管理模块、产品管理模块、报表管理模块、库存管理模块、质量控制管理模块、计划与调度管理等模块的Web网页视图界面进行编写。当用户从不同模块界面发送来请求时,MVC设计模式中的Struts框架会根据Struts.xml中的映射配置将用户的请求交给相应的Action类,基于AOP面向切面编程的思想来为请求提供各种预处理和切面处理的应用功能[12]。在控制层,系统根据Spring框架中Spring-context.xml配置文件中的Action与Service的依赖注入关系,将业务处理功能交给Service进行处理,如SPC质量控制图的生成、实现报表的下载、电子邮件的收发等。在模型层,由Hibernate框架中的对象关系映射(Object Relation Mapping,ORM)将实体类中的对象自动持久化到关系数据库中[13]。下面以质量控制管理模块与邮件系统集成为例,用户进入到数字化生产车间的质量控制管理模块界面,如图4所示。该质量控制管理模块对产品质量的数字化管理主要是通过SPC技术相应算法对生产过程中实时采集的数据进行计算,然后通过基于Web服务的SPC控制图对数据进行显示来实现的。
图4 实时数据显示界面
控制图控制界限采用3σ法则,控制图上的点应落入(μ-3σ,μ+3σ)之内,如图5所示,上控制界限为UCL,下控制界限为LCL,若控制图上的点处于控制图界限之外,则可以认为生产过程质量处于异常状态。
图5 SPC质量控制图
控制图中主要参数的计算公式如下:
(1)基本参数计算公式
R=每组的(最大值-最小值)=xmax-xmin
(2)控制图界限参数计算公式
R控制图控制线:
其中,A2、D3、D4的值为均值—极差控制图的3σ控制界限系数,由表1可查。
表1 控制图系数表
图5中,SPC控制图中有个“邮件发送”按钮,点击“邮件发送”按钮时,服务器会根据Struts.xml中的映射配置找到质量控制管理模块(QualityControlAction.java)这个类里面的下载(downLoad)方法先实现下载功能,以便发送邮件时的附件上传,然后将返回结果根据Struts.xml文件中的result配置跳转到邮件发送页面。在进入邮件系统进行邮件发送时,调用邮件发送(sendMail)方法来实现邮件发送功能,具体实现过程如图6所示。
图6 邮件发送流程图
由于军工产品信息属于保密信息,为了监视文件在传输过程中是否有被截取篡改,在文件上传时需要对上传文件进行加密处理,本系统应用了MD5码技术对附件进行了加密,在加密完成后便可获得相对应文件的MD5码,然后点击发送按钮即可完成邮件发送。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(); } 分厂对数字化车间生产现场的质量管理是通过审查SPC质量控制图来实现的,总厂通过接收分厂实时发送过来的邮件,进而实现对数字化生产车间的实时监控。图7为总厂收到分厂发送过来的月完成月报表和数字化生产车间现场根据采集来的实时数据生成的SPC质量控制图。 图7 总厂接收到分厂发送过来的邮件图 本系统将邮件发送功能与Web应用进行了集成,将数字化生产车间管理系统与邮件系统进行了集成,利用Java语言的“一次编译,处处运行”的特点及Spring AOP面向切面编程思想和IOC依赖注入的方法,使得该系统具有了平台无关、很强的扩展性和低耦合的特点。通过邮件客户端工具可以连接互联网上的任意一台主机,最后实现了向远程用户发送复杂电子邮件的功能。通过该邮件集成系统可以实现企业领导对各部门的监控以及上级集团公司、地方政府、质量认证机构对企业的监控等,从而实现多方位对数字化生产车间的监控与协同处理。 参考文献 [1] 谭德才.基于邮件系统的远程异构数据库同步设计与实现[D].广州:华南理工大学,2010. [2] 金艳.基于REST的企业电子邮件系统的设计与实现[D].长春:吉林大学,2015. [3] 李红涛.业务协同平台邮件子系统的设计与实现[D].西安:西安电子科技大学,2015. [4] 张根保.数字化质量管理系统及其关键技术[J].中国计量学院学报,2005,16(2):85-92. [5] 杨绪红.企业数字化管理模式研究[D].北京:北京交通大学,2003. [6] 孙会海,郝永平,孙会花.基于web的离散型车间管理系统研究[J].机械设计与制造,2011(10):238-240. [7] 曹军,尹超,刘飞,等.机械加工车间数字化制造描述模型及总体框架[J].重庆大学学报,2012,35(9):48-55. [8] 钟珞,刘玲,夏红霞.基于JavaMail API的Web邮件系统开发[J].武汉理工大学学报,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集群管理系统设计[J].计算机工程,2015,41(10):6-9. [11] 张俐.基于MVC模式的分页组件应用[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] 严成武.支持分库分表和读写分离的ORM框架的设计与实现[D].哈尔滨:哈尔滨工业大学,2016.4 结论