基于消息中间件的制造执行系统的设计与实现

2016-11-08 08:34侍守创
计算机应用与软件 2016年10期
关键词:产线服务端报表

张 政 侍守创

(连云港杰瑞深软科技有限公司 江苏 连云港 222006)



基于消息中间件的制造执行系统的设计与实现

张政侍守创

(连云港杰瑞深软科技有限公司江苏 连云港 222006)

通过分析传统离散型制造的生产特点以及国内外制造执行系统(MES)在自定义程度和开放性等方面的优缺点,结合消息中间件原理机制,提出基于消息中间件的MES体系结构。该MES可实现分布式部署、消息服务代理和消息统一管理等功能,具有报表自定义、流程自定义、产线虚拟化及生产看板自定义等关键技术。通过对发动机前盖板零部件加工生产车间的生产看板信息的测试获取,证明基于消息中间件的MES设计能够为多品种小批量的生产模式提供高效可靠的解决方案。

消息中间件制造执行系统(MES)离散型制造

0 引 言

随着智能制造的发展,越来越多的国内企业开始重视生产车间与其他环节之间的协同联系,制造执行系统MES是生产车间执行的重要载体,负责连接上层的计划管理和底层的控制设备[1]。目前我国的离散型制造业具备“多品种、小批量”的生产特点,计划变更较为频繁,生产过程存在的临时问题因素也不确定,生产管理还多数处于原始的凭经验、人工干预的方式,人员、设备不能最大程度地发挥各自潜能,经常导致交货期延误,产品质量无法有效控制,生产成本居高不下,给企业整体发展带来一定的阻碍与影响。而MES主要解决生产车间的生产任务的执行与管理问题,是生产企业信息化、自动化以及智能化发展过程中关键的组成部分。国外研究MES较早,且已经形成一套比较成熟的理论模型和标准,比较知名的厂商有美国盖普勒MES系统和德国西门子MES系统,其系统功能丰富,在排产计算方面作用突出,但价格相对较高。国内MES的理论体系和标准研究较晚,随着研究的深入,MES研究取得长足进步,如在钢铁行业的MES、石化行业的MES以及航空制造的MES,其优点在于能够对特定行业进行深入应用,但在一定程度上不适用跨行业的制造需求,而且多数是对行业的定制开发,开放性和扩展性受到影响。离散型制造企业面临价格、系统通用性、自定义程度等方面的选择,当前MES定制化开发无法满足企业不断变化的生产需求和产线调整,尤其在报表自定义、流程自定义以及产线虚拟化方面。如何构建可快速配置、自定义程度高、通用性强和安全性可靠的MES成为当前生产企业关注的重点。通过引入消息中间件技术[2],设计了一个可面向离散制造业的多车间、客户端/服务器架构的开放式MES,最大程度的实现数据的集中管理和数据安全。该系统可进行分布式异构环境搭建,可实现消息服务代理、消息统一管理等功能,具有报表自定义、流程自定义、产线虚拟化、看板自定义等关键技术,对提高企业生产效率、降低生产成本、快速响应生产任务计划等具有重要影响,为企业实现智能制造奠定坚实基础。

1 消息中间件

消息中间件是一种消息代理,是统一消息收发的接口,通过高效可靠的消息传递机制可跨平台、跨语言进行数据交换[3],消除各种平台及协议之间的特性。企业可通过消息中间件接入所有的信息系统,实现信息系统之间的集成,减少开发平台和开发语言带来的困扰。通过消息中间件进行客户端与服务端的连接,不同的对象之间通过传递消息来激活对方的事件,从而使MES具有开放性高、扩展性强等特点,其中客户端负责业务数据显示和功能操作,服务端负责统一的业务逻辑处理。同时MES服务器端也可接收来自其他信息系统的服务调用。

消息中间件支持主题和消息队列两种消息模式,目前主流的MES只支持队列模式的访问,而在实际应用中主题也是比较常使用的消息模式,如发布通知消息、系统更新提醒等。利用主题消息模式,可以产生更灵活、更松散耦合的系统。消息中间件支持的两种消息模式如图1所示。

图1 消息中间件消息模式图

主题模式:发布消息的应用程序将消息以主题方式发送出去,通过消息管理器将消息传递给订阅该主题的接收应用程序,实现一对多的消息传输特点。

队列模式:发布消息的应用程序将消息放入消息队列中,由消息路由将消息异步的方式传递给相应的接收应用程序,实现一对一的消息传输特点。

消息中间件主要由接口处理、消息管理器、消息通道代理等部分组成。其中接口处理负责处理来自客户端的服务请求,将数据进行封装处理和将数据转换成消息;消息管理器是消息中间件核心,负责创建和删除消息队列/消息主题,控制队列/主题的行为和调整优先级;消息通道代理负责将消息传送给响应的消息队列/主题。

客户端通过调用消息中间件的统一接口,实现与服务端的通信。首先是客户端发起请求信息,经消息中间件封装成统一服务请求,此后消息进入消息管理器,由管理器进行消息的写入、发送和封装,并由消息通道代理发送模块将消息发送至服务端进行解析应答。当服务器接收到请求消息后,进行相应的业务处理,将应答包通过消息通道代理接收模块接收应答包,同时由消息管理器进行下一步写入、接收和读取,通过消息解包将业务处理结果返回至客户端,最终完成数据的请求和应答。

通过消息中间件两种消息模式的使用,进一步提升MES的扩展性和实用性,同时消息中间件支持异步传输和负载均衡,并且在任何时刻都可以将消息进行传送或者存储转发,可以在分布式环境下扩展进程间的通信[4]。MES的分布式部署,使其处理能力得到大幅提升,为MES作为数据集中采集器提供了支持,基于消息中间件的MES架构如图2所示。

图2 基于消息中间件MES架构图

在MES架构设计中,采用了服务端代理模式,分离了业务处理和操作调用,所有相同的业务使用统一的方法,保证业务结果一致性。服务器端代理封装了消息中间件,透明化消息中间件的调用。在服务端标注服务方法,通过服务端代理程序自动产生客户端代码,客户端调用生成的代码即可实现与服务端的通信和服务调用,其他应用程序同样可以通过公开的服务端方法调用服务。服务端代理模式的使用,减少了程序开发量,使服务接口管理操作更简便。

2 MES体系结构与关键技术

美国先进制造研究机构AMR(AdvancedManufacturingResearch)将企业集成模型分为计划层、执行层和控制层[5],而MES是执行层的载体,负责连接计划层和控制层。MES一方面将计划层的生产计划根据车间实际情况进行最小单元分解;另一方面通过实时获取控制层设备状态和反馈数据进一步指导计划层对任务的安排,从而实现生产的闭环控制。

设计的MES采用C/S架构,通过消息中间件处理业务逻辑,MES客户端通过相应模块的服务代理将请求发送至消息中间件,经过消息中间件内部处理后将请求传递给模块解析服务,再次将请求通过相应模块服务的服务接口进行MES服务端处理,处理完成后将应答信息按照相反顺序依次传递直至MES客户端,完成一次请求和应答,其体系结构如图3所示。

MES除了图中包含的工艺流程模块、报表模块、权限模块、产品-标签模块、产线-看板模块外,还包括基础数据模块、排产模块、设备模块、警报模块、质量模块、数据采集模块等。所有模块的业务请求和应答均由消息中间件统一管理和处理。

MES是企业实现精益生产的主要信息载体,是企业向智能工厂转变必不可少的关键环节。MES根据计划层相关信息以及控制层生产设备、智能装备的状态进行作业排产计划,将生产任务具体分配到每一个设备上。生产任务开始后,MES可实时监控到当前生产设备的状态、生产任务进度以及对产品的质量追溯。计划层、执行层和控制层的相互配合,打通了数据流转的空间界限,使整个生产过程无缝对接起来。

图3 MES体系图

传统MES在报表设计、流程设计、产线显示、看板定义等方面的自定义程度和开放性程度上受到了定制化的影响,因此在MES设计开发中采用了报表自定义、流程自定义、虚拟化产线和看板自定义等关键技术[6-8]。MES客户端负责自定义(如报表/看板SQL语句编写、工艺流程图绘制和产线虚拟绘制)请求,MES服务端负责应答并将所需数据传回,消息中间件负责将请求和应答内部处理后进行消息传递,其优点在于通过消息中间件的统一管理和处理,一方面保证自定义消息的持久化以及服务请求的负载均衡,不会因某一请求中断而导致其他请求不可用;另一方面可允许其他应用程序(如OA、信息门户等)直接调用自定义服务,获取相应业务数据。系统在权限管理、产品追踪、SQL微型ORM等功能方面也进行进一步优化和性能提升,保证MES在应用过程中的时效性和实用性。

(1) 报表自定义

Excel的操作灵活性和强大的功能性使Excel成为报表广泛开发使用的工具,但是在系统集成方面有很大的缺点,数据源不能直接有效地传递到Excel中,而且在导出报表时出现数字、文本、日期、公式等在转换时出现的错误以及访问权限控制的问题。因此,在MES开发过程中,将Excel报表直接嵌入程序中,使报表与程序之间无缝对接。

通过引入Excel报表模板和数据引擎,将报表样式、格式和数据进行彻底分离,报表模板负责数据显示,数据引擎负责数据采集,用户在自定义报表时,可先用Excel设计报表模板,然后在数据引擎中定义数据源(通过编写SQL查询)即可完成表报的设计,无需重新进行程序开发,运行显示如图4所示。

图4 报表自定义运行显示图

(2) 流程自定义

在传统的产品工艺流程设计过程中,往往单独对工艺流程进行编制,以纸质的方式下发给生产人员,而在离散型制造过程中,工艺流程变更频繁,传统的编制方式已无法满足生产需求,大大降低了生产效率。

通过系统“类组态”可视化的方式对工艺流程进行自定义设计,使用简单的拖拽及属性设置即可完成工艺流程的编制,生产人员通过系统可以实时产看到工艺流程的更改,也更加直观的体现产品的加工路线,大大简化了用户编制工艺流程的方式,也便于发现设计中存在的问题。运行显示如图5所示。

图5 流程自定义运行显示图

(3) 虚拟化产线

虚拟化产线是将真实的生产产线映射到虚拟环境中,是对真是产线的实际仿真模拟,包括设备形状、设备运行状态、设备所属工位、设备加工信息等,通过虚拟化将实际生产过程中的各个环节在系统中实时体现。

通过自定义的图形绘制和产品图库,将产线、设备等按照等同效果绘制,并可动态对应显示PLC实时采集的设备状态和反馈数据。同时物料接收、批次进出站等事件产生的物料信息、生产信息也相应体现在虚拟产线中。通过鼠标悬停操作可以实时查看生产线当前的批次信息、设备当前使用的物料信息以及设备运行的必要参数信息等。运行显示如图6所示。

图6 虚拟化产线运行图

(4) 权限管理

现有权限管理往往通过单一的授权方式(如人员职能)进行权限分配,而且需要在管理后台进行功能菜单的逐一添加。随着企业精益生产的细化分工,要求对系统权限的设置越来越灵活,用户的自定义管理程度不断提高。

通过将功能菜单在程序发布时自动存储于数据库中来减少管理人员在后台进行配置的操作步骤以及因缺少配置引发的功能错误;同时可根据用户本身、用户角色、用户权限等不同的方式进行功能菜单的权限分配,大大提高管理人员在系统配置时的使用效率。

(5) 产品追踪

在生产时对产品追踪成为当前离散型中小企业面临的一个难题,“多品种、小批量”的生产特点决定了产品的追踪和管理困难。通过标签及随工单的追踪模式来解决产品的追踪问题。使用标签打印和随工单打印功能对物料及产品本身、产品外包装、产品箱号、产品批次等进行标签贴入,并与工艺流程、生产产线进行绑定处理,实现逆向追溯产品加工过程、使用的物料信息、工位生产人员信息、订单的生产信息、当前所在生产线、当前生产数量、当前不合格数量及原因、当前订单交货日期等,确保产品能够追溯到每一个环节。

(6) SQL微型ORM

通过采用轻型对象关系映射器微型ORM的方式进行SQL语句的编写和封装,即简单又高效,其优点如下:

• 没有依赖性,单个的C#文件可以方便的添加到任何项目中;

• 支持参数替换,包括从对象属性中抓取命名的参数;

• 性能高效,通过Dynamic方法快速为属性赋值;

• 自动生成T4模板;

• 低耦合的SQLBuilder类,让内联的SQL更容易编写;

• 为异常记录、值转换器安装和数据映射提供钩子;

• 支持单元测试。

通过编写代码段,在服务端编写业务逻辑时可以自动生成所需服务,只需根据实际需要进行部分的业务逻辑的编写。

(7) 生产看板自定义

生产看板是生产过程动态监控的重要辅助手段,生产人员和管理可以通过生产看板实时看到生产信息。生产看板内容的产生与计划层、执行层和控制层均有关联,因此动态生成看板内容成为当前车间生成关注的重点。采用与报表自定义的相同原理,使用Excel设计模板和数据引擎的模式进行看板动态的生成,用户可根据不同的需求来重新定义显示内容,解决看板内容难以自定义的问题。

3 MES测试

MES测试主要针对某厂制造的发动机前盖板零部件加工生产车间的管控测试。该厂已上线ERP系统和机床联网系统,但车间生产流程中生产计划的排产、产品加工和质量信息的传递、工序、工艺卡以及加工信息统计等均是由人工完成的,生产人员及主管部门无法及时了解生产实时情况,只能通过人工纸质统计进行查看,效率低下。通过MES的应用,连接ERP和机床联网系统,可通过生产看板查看当前生产信息,实现对车间生产任务的实时监控。

通过获取当前车间盖前板生产的批次、当前工位、投产数量、当前加工数量以及生产良率来验证MES的功能效果,并将获取的信息显示在生产看板上,如图7所示。通过MES客户端发起当前车间盖前板不同批次的生产信息请求,消息中间件服务监控到请求的生产看板服务类SignBoardServer中SignBoardView方法,将其解析后把消息传递给MES服务端,MES服务端通过请求将相应数据返回至MES客户端来填充生产看板相应的生产信息内容,消息中间件并以True的状态来标识MES客户端与MES服务端的请求-应答消息通信机制的正确性,同时通过消息中间件可以查看当前服务端的连接状态是否正常。通过对MES的测试,证明其能够完全满足生产车间生产任务的执行。

图7 MES测试实际效果图

4 结 语

随着“互联网+中国制造2025”的开展,对企业生产车间的MES提出了更高的要求。以离散型制造企业需求为出发点,通过消息中间件技术的使用,使MES具有高度的开放性,能够与其他信息系统高效集成。同时报表自定义、流程自定义、虚拟化产线和生产看板自定义的应用让MES更加适应于离散型制造企业,为解决“多品种、小批量”的生产难题提供了良好的解决途径。

当然,MES要想得到更好的应用,还有大量工作要做,如基于智能算法的排产、工作流技术的使用以及知识库的构建等。

[1] 魏乐,舒红平.基于中间件的可配置MES平台的设计与实现[J].四川理工学院学报,2008,21(6):56-59.

[2]IbrahimNajhanM,HassanMohdFadzil.Agent-basedMessageOrientedMiddleware(MOM)forcross-platformcommunicationinSOAsystems[C]//2012InternationalConferenceonComputerandInformationScience,2012,1:547-552.

[3] 徐晶,许炜.消息中间件综述[J].计算机工程,2005,31(16):73-76.

[4] 王重楠,王宗陶,鲍忠贵,等.发布/订阅模式测控消息中间件系统设计[J].计算机应用,2015,35(3):878-881.

[5] 张德胜,马正元,王伟玲.多品种小批量机械制造企业MES的研究[J].控制工程,2005,12(3):210-212.

[6] 宋晓宇,刘蔚然,刘天波.基于组件的自定义报表系统的设计与实现[J].计算机工程与设计,2008,29(11):2963-2966.

[7] 王琳,梁平,刘明周,等.基于MES的可视化生产监测与控制平台设计[J].合肥工业大学学报,2013,36(11):1304-1308.

[8]GaoF,ShaoZ,WangXJ.AnalysisanddesignofcuttingstockoptimizationsystemofMESindiscretemanufacturingenterprisebasedoncloudcomputing[J].JournalofHefeiUniversityofTechnology,2013,36(1):104-108.

DESIGNANDIMPLEMENTATIONOFMESSAGE-ORIENTEDMIDDLEWARE-BASEDMANUFACTURINGEXECUTIONSYSTEM

ZhangZhengShiShouchuang

(LianyungangJariDeepSoftTechnologyCo.,Ltd,Lianyungang222006,Jiangsu,China)

Throughanalysingthecharacteristicsoftraditionaldiscretemanufacturingproductionandtheadvantages&disadvantagesofmanufacturingexecutionsystem(MES)athomeandabroadinitsuser-defineddegreeandopenness,combiningtheprincipleandmechanismofmessage-orientedmiddlewareweproposedthemessage-orientedmiddleware-basedMESarchitecture.TheMEScanrealisefunctionssuchasdistributeddeployment,messageserviceagentandunifiedmessagingmanagement.Besides,ithasthekeytechnologiesincludingreportself-defining,processself-defining,productionlinesvirtualisationandmanufacturingKanbanself-defining,etc.ThroughtestingandacquiringthemanufacturingKanbaninformationintheworkshopmanufacturingandprocessingsparepartsofaheadblindflangeofengines,itisprovedthatthedesignofMESbasedonmessage-orientedmiddlewarecanprovideefficientandreliablesolutionfortheproductionmodewithmultiplevarietiesandsmallbatch.

Message-orientedmiddlewareManufacturingexecutionsystem(MES)Discretemanufacturing

2015-07-07。张政,工程师,主研领域:软件工程,室内定位。侍守创,工程师。

TP

ADOI:10.3969/j.issn.1000-386x.2016.10.026

猜你喜欢
产线服务端报表
昆玉棒材轧制产线提速增效工艺改进措施
梅钢1780产线高速钢轧辊使用维护
多品种小批量智能制造产线关键技术及应用探讨
宽厚板钢轧一体化智能制造示范产线推进实践
LabWindows/CVI中Excel报表技术研究
新时期《移动Web服务端开发》课程教学改革的研究
从三大报表读懂养猪人的成绩单
在Windows Server 2008上创建应用
摸清黑客套路防范木马侵入
月度报表