【IT168 信息化】
作为企业上层计划决策系统和底层过程控制系统之间的桥梁,制造执行系统(MES)在车间生产的计划调度、过程管理等方面起到了越来越重要的作用。在当今敏捷制造与网络化制造的模式下,传统的制造执行系统难以满足车间生产管理的需求,主要表现在:a)集成困难。通常是在设计开发完成后,再着手解决与其他企业应用系统集成的问题,由于企业各应用系统没有统一的标准和成熟的技术支持,集成起来格外困难。b)可重构性差。普遍采用的紧耦合、僵硬脆弱的架构往往固化了系统的大部分功能,只余小部分可以进行参数的配置,难以保证企业的敏捷性,无法支持企业快速适应市场和生产环境的变化。c)开发周期长。传统MES普遍存在定制工作量大、成本高、周期长的问题,阻碍了MES应用于不同类型、特点的企业和车间。
面向服务架构(SOA)的制造执行系统基于开放的工业标准,具有语言独立性、松散耦合、跨平台、良好的封装性、位置透明等特点。这些特点使得制造执行系统能够快速地按需应变以满足制造管理的需求。面向服务架构的制造执行系统已经成为研究的热点,目前的研究尚未提出较为完整的面向服务制造执行系统体系架构,对面向服务在MES集成、配置和产品化中的作用分析不足。针对以上问题与现状,本文基于SOA的核心标准,建立了MES的面向服务技术体系,深入研究面向服务的关键技术在MES中的应用。
1 面向服务的制造执行系统
面向服务的制造执行系统体系结构如图1所示。系统表示层主要是MES的人机交互界面,提供Web、无线等多种方式的访问。系统平台层包括企业数据库、车间遗留系统、应用服务器和ISA95领域标准等。在服务构件层,车间业务按照SCA(服务构件体系)规范被封装为一系列粗粒度的服务,这些服务相对独立。自包含、可重用,其接口采用中立的、基于标准的方式。MES服务通过服务总线层进行交互、调用。服务流程层以BPEL(业务流程执行语言)与BPMN(business process modeling notation,业务流程建模符号)为标准,对MES服务进行复合、编排,以实现端到端的车间业务流程建模与执行。
图1 基于SOA的制造执行系统
2 基于SCA的MES服务设计与装配
SCA是OpenSOA组织提出的一种全新的编程模型。服务构件是SOA中的基本构件单位,封装了MES的业务功能与逻辑规则。服务构件具有比面向对象更好的重用效率,使得MES能够以一种搭积木的方式快速地开发实施。服务构件将MES服务分为接口与实现两部分。服务接口使用WSDL(web service description language,Web服务描述语言)描述该服务的所有功能方法和相关信息。服务实现是服务对接口定义功能的具体实现方式,具有跨平台的特点,Java、C++等语言以及EJB、CORBA、.NET等技术体系都可以作为MES服务构件的实现。例如,自动排产算法构件通过服务接口为MES系统提供算法生成的详细作业计划,通过接口引用从其他MES服务得到任务信息、产品信息和加工能力信息等作为算法约束。服务的实现可以是自适应离散粒子群算法、改进的遗传算法、模拟退火算法等,算法代码所采用的语言平台不受限制(图2)。
图2 MES自动排产算法服务构件
根据SCA规范,多个关联的服务构件装配得到MES服务模块(composite)。服务模块是MES最小的部署单位,能够将模块内构件的部分接口提升作为自身服务。一个服务模块可以作为另一模块内部构件的服务实现进行嵌套式的装配。在MES的设计开发过程中,选择合适的装配对象、设计合理的装配方式,可以对应实现MES层次化的功能模型。
MES通过服务构件的封装与装配,提高了服务的粒度,便于系统的重用。以航天系统的离散制造车间为例,典型的MES服务有:a)多层生产计划服务。依据主生产计划以及产品、资源等基础数据对任务项进行批次分解得到批次生产计划,并进一步手动或自动地制定详细作业计划。b)动态调度服务。按照生产计划向工位或工人实际派发加工任务;针对加工过程中出现的质量超差、紧急任务、设备故障等问题协调质检员、工艺员等角色进行生产异常处理。c)加工状态服务。(工人)接收加工任务,报告加工过程中出现的异常,并在加工完毕后提交;(调度员)在必要时直接修改加工状态,中断或停止当前任务。d)质量管理服务。查询并记录加工任务首件三检、总监、军检的结果,作为计划制订和统计分析的依据。e)条码标志/RFlD服务。对物料、工装等资源的条码号或射频卡进行查询、管理。f)在制品追踪服务。对在制品所处的位置(工位、缓存区、库房)进行精确定位,以缩短周转时间。除此之外,还包括资源管理、基础数据、系统集成、外协生产等服务。
3 基于总线的MES服务集成与系统集成
传统的分布式MES架构中,各项业务功能之间相互依赖、密不可分,导致重构困难,原因在于功能构件之间的调用存在着明确的指向性。功能构件的URL等位置信息需要修改或者整个构件被删除时,依赖于该构件的其他部分必将出现运行异常。另外,构件通信技术往往也是固定的,新加入的构件传输协议不匹配也会阻碍系统的重构,如EJB只能接收RMI,无法兼容JMS协议的构件。
面向服务的MES系统采用总线模式对系统内各种服务进行集成、注册和管理,并保证系统的扩展性和兼容性。服务总线主要有两个组成部分:一是服务注册表,保存连接在该服务总线上所有服务的注册信息;二是服务路由器,负责消息转发、格式转换、协议映射等功能。服务总线思想的核心是服务消费者和提供者之间松散耦合、彼此透明。尤其是对于跨子系统的MES服务调用,服务消费者能在协议不限(SOAP、EJB、JMS)且无须了解提供者位置的前提下,与特定协议特定位置的服务提供者进行交互。在服务总线的支持下,MES应用可以根据车间的业务需求对系统中的功能进行添加、删除、修改等操作而不会造成系统整体的异常。除了内部的服务集成,服务总线还可以支持MES与ERP、SCM、PDM等企业应用系统的集成。MES通过服务总线提供服务供其他系统调用,并调用其他应用系统的服务,以实现系统间的互操作。
图3描述的是MES与ERP集成的典型场景。服务总线首先为ERP(服务消费者)和MES(服务提供者)分别创建入站和出站端口。MES在服务注册表发布WSDL描述文件,ERP检索注册表后向服务总线发布请求信息,经路由器中转交给MES。MES收到请求后完成服务内容,并将包含了生产进度的响应信息沿相反路径返回。在该场景中,MES向ERP提供了以下服务:订单进度监控服务负责在ERP系统发出服务请求后,反馈某零件产品的当前生产进度信息;物料消耗反馈服务根据车间物料库存情况与生产计划的对比结果向ERP提出集中配送要求;短期生产计划服务提供车间当前一段时间的任务安排与加工能力状态,作为企业级决策的依据。
图3 基于服务总线的MES与ERP集成
4 基于BPEL/BPMN的MES业务流程模板
车间生产过程从收到订单开始,进行生产计划、部署、执行等基本活动,最终得到成品完成订单。MES系统需要在此整体过程中支持若干具体的车间业务流程,如某车间的生产准备流程先由车间计划员分解订单,根据分解要求,工艺员、物料管理员等角色分头准备相应的生产材料,最后交给计划员汇总准备结果。
为了在流程层次上实现MES系统的重构与重用,将BPEL与BPMN标准引入到MES系统的设计中。BPEL和BPMN正在成为SOA架构中业务流程管理技术的事实标准,获得了工业界主流企业的广泛支持。MES开发或管理人员通过BPEL/BPMN可视化建模工具对业务流程进行建模,流程中涉及的服务构件、业务对象等元素被表示为直观形象的建模符号供选择使用。建好的BPEL模板可以存储在流程模板库中,在需要时交给BPEL流程引擎实例化,驱动车间生产管理的自动流转。相比经典的工作流技术,BPEL/BPMN标准具有语义丰富、扩展灵活、柔性较高的特点。BPEL提供了异常、事务和补偿等高级概念机制,并使用合作伙伴链接(partnerLink)抽象了作为流程节点的MES服务,具体的绑定协议和服务端点由底层BPEL容器在部署时生成。这样相当于在流程模型中定义了“黑盒”部分,流程实际使用的合作伙伴服务能够在执行时得到动态决定或者修改。
批次零件的加工任务流转是JobShop型零部件生产车间的典型流程,其中包含了计划、派工等关键业务环节。图4所示的是该流程的BPEL模板部分,模板调用了详细作业计划服务、自动派工服务、生产异常处理服务,以及加工检验子过程等,其中加工检验子过程也是由MES服务编排而成。模板通过合作伙伴链接和WSDL接口来实现对这些MES服务的调用。加工流转BPEL模板部分代码如下:
5 面向服务的制造执行系统开发方法
不同行业、不同企业的车间层在业务规则上存在较大的区别,这样就要求MES在诸多方面适应本地的生产模式与管理体系。从通用性的角度出发,需要提出一套针对制造执行系统的开发方法。
根据通用的程度将MES应用分为标准、行业、个性三个层次(图4)。标准应用主要是参考ISA95规范,设计制造执行系统的工厂/车间、过程、服务、功能、信息与集成模型。行业级应用是在标准应用的基础上,充分考虑行业内典型的生产组织模式与管理特点,提出面向汽车、船舶、航空、航天、冶金、石化等具体垂直产业的解决方案。个性应用则是从行业应用出发,针对企业和车间的实际情况,对生产组织模式、业务流程、功能需求作进一步的配置和扩展,提供界面表示和数据结构的定制。
图4 面向服务的制造执行系统开发
模板构件资源库和配置管理平台是对MES三层应用的支撑平台。MES的流程模板、服务构件根据其通用程度分别存储在相应的资源库中。实践证明,具有代表性的模板和构件包含了不同行业、不同类型车间的业务知识和规则。因此,模板和构件的资源库同时也是知识和规则的资源库。在MES的设计开发中,根据设计的应用需要从资源库中检索模板和构件,经过定制和配置后可以快速地搭建实际应用。配置管理平台是一套支持MES可配置的实用工具集,具体包括业务建模、流程定制、服务治理、插件开发、应用集成、界面定制、报表定制、组织建模和权限配置等,覆盖了MES生命周期的各个阶段。MES的可配置不仅是面向开发者的,而且是面向实施企业的。当车间进行业务流程莺组、组织结构调整时,实施企业可以灵活快速地自行配置管理MES系统,实现系统维护的本地化。
图5 模板、构件的抽取和沉淀
6 结束语
面向服务是制造执行系统必然的发展趋势。本文基于SOA关键技术深入研究了MES的服务设计、装配、集成和流程自动化,相关理论方法已经在某航天机械厂多个车间的MES系统中得到应用。经验证,面向服务的MES具有可集成、可重构的优点,提升了机加、装配各车间的业务敏捷程度;基于构件/模板和配置平台的快速开发模式有力地推动了MES在该制造企业的快速实施和推广,有较高的实用价值。