基于SOA的MES系统及其应用
随着MES的深入应用,制造型企业对系统集成的要求也越来越高。据统计,全球40%的IT预算是应用于系统集成的,而系统集成问题在MES方面显得更为突出,这是因为,MES是一个将企业的ERP系统和底层的自动化系统集成在一起的中间层管理软件,主要用于对车间的生产、质量、设备等方面进行详细计划、信息反馈和数据分析,是一个承上启下的软件,需要与ERP系统和自动化系统实现双向的信息集成,接收ERP下达的车间生产计划,并进行详细计划和任务分配,向ERP系统反馈生产、质量等信息,对自动化系统进行控制,读取相应的数据,并进行分析。MES涉及底层的硬件系统、实时数据库等专业技术,属于一种复杂的集成技术。由于数据结构和信息系统的异构性,离散的制造车间信息和控制流程管理仍然十分困难。从高层次的ERP系统到底层的控制系统之间的纵向集成较难实现。现有的解决方案可以在MES系统中通过静态的过程逻辑编程来实现集成,但是这种集成方法往往缺乏适应性和可拓展性。因而,这种集成方式不能满足当今动态制造环境的需求。
面向服务的体系结构或面向服务架构SOA是指为了解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。SOA(面向服务的体系)采用面向服务的商业建模技术和Web服务技术,实现系统之间的松耦合,实现系统之间的整合与协同。Web服务和SOA的本质思路在于使得信息系统个体在能够沟通的基础上形成协同工作。因而,融合SOA的基于Internet的制造可以实现分布式的信息系统,这种解决方案可能使静态的或动态的车间管理系统集成进人整个企业架构。将MES系统构建在SOA架构的基础上,不但使整个企业应用系统紧密集成在一起,而且可以实现动态的应用组合,从而满足当前动态制造的环境的需求。罗克韦尔自动化的FactoryTalk集成化生产与绩效套件正是提供了基于SOA的MES解决方案,通过应用SOA架构将所有通用需求因素集中起来放到FactoryTalk服务平台上,成为一个统一的工厂生产模式。本文介绍了SOA相关的关键技术,并结合这些技术描述了如何应用SOA实现可集成的、可扩展和通用的MES系统,并以九江昌河汽车总装MES系统为例,介绍了MES系统的应用。
关键技术
1. SOA
SOA服务具有平台独立的自我描述XML文档。Web服务描述语言WSDL是用于描述服务的标准语言。SOA服务用消息进行通信,该消息通常使用XML Schema来定义,也叫做XSD(XML schema definITion)。消费者和提供者或消费者和服务之间的通信多见于不知道提供者的环境中。服务间的通信也可以看作企业内部处理的关键商业文档。在一个企业内部,SOA服务通过一个扮演目录列表(directory listing)角色的注册中心(registry)来进行维护。应用程序在注册中心寻找并调用某项服务。
统一描述、发现和集成UDDI(universald escription,discovery,and integration)是服务登记的标准。每项SOA服务都有一个与之相关的服务品质QoS(qualITy of service)。QoS的一些关键元素包括安全需求(例如认证和授权)、可靠通信、以及谁能调用服务的策略。如图1所示,基本的SOA架构包含了SOAP、WSDL、UDDI等支持服务请求者和服务提供者进行交互,以及用于Web服务发现的规范。服务提供者通常用WSDL来描述它所提供的Web服务,然后将该WSDL描述发布;服务请求者可以通过UDDI或者其他注册中心来获取WSDL描述,请通过向服务提供者发送一个SOAP消息来请求执行服务。基于SOA的MES系统的关键是如何对服务进行合理描述,描述后发不到UDDI中,服务的请求者则要调用服务发现引擎找到需要使用的服务。
2. ESB
企业服务总线ESB(enterprise service bus)是一种可以提供可靠的、有保证的消息技术的新方法。ESB中间件产品利用的是Web Service标准和公认的可靠消息接口协议MOM。ESB产品的共有特性包括连接异构的MOM、利用Web Service描述语言接口WSDL封装MOM协议,以及在MOM传输层上传送简单对象应用协议(SOAP)传输流的能力。大多数ESB产品支持在分布式应用之间通过中间层如集成代理实现直接对等沟通。
ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案。同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并提供了一系列的标准接口。
ESB不是一个应用程序框架,也不是一个企业应用的解决方案,它只是一个基于消息的调用企业服务的通信模块,它可以嵌入到应用程序框架中,例如嵌入到spring容器里面,或者嵌入到工作流系统中。ESB为实现可集成的MES系统提供了一个框架和简便的方法。
3. BPEL
面向Web服务的业务流程执行语言BPEL(或BPEL4WS)是一种使用Web服务定义和执行业务流程的语言。BPEL使您可以通过组合、编排和协调Web服务自上而下地实现SOA。BPEL提供了一种相对简单易懂的方法,可将多个Web服务组合到一个新的复合服务(称作业务流程)中。
BPEL基于XML和Web服务构建,它使用一种基于Web的语言,该语言支持Web服务技术系列,包括SOAP、WSDL、UDDI、Web服务可靠性消息、Web服务寻址、Web服务协调以及Web服务事务。
在企业内部,BPEL用于标准化企业应用程序集成以及将此集成扩展到先前孤立的系统。在企业之间,BPEL使与业务合作伙伴的集成变得更容易、更高效。BPEL激发企业进一步定义它们的业务流程,从而导致业务流程的优化、重新设计以及选择最合适的流程,进而实现了组织的进一步优化。BPEL中描述的业务流程定义并不影响现有系统,因此,对升级产生了促进作用。在已经或将要通过Web服务公开功能的环境中,BPEL是一项重要的技术。随着Web服务的不断普及,BPEL的重要性也随之提高。
由此可见,为了实现可集成的、通用的MES系统,BPEL的重要性是显而易见的。以生产任务分排为例,简单介绍BPEL在MES系统中的应用。ERP系统只制定生产计划,而没有将具体的生产执行计划制定出来,MES系统得到ERP系统的生产计划后,需要对生产计划进行分解,将其分解为若干个生产请求。因此可以将生产任务分派的流程描述为:
计划分解―→预定生产产品需要的资源―→更新处理的状态―→开始生产
而这个流程可以通过应用BPEL来进行描述,从而可以实现现有Web服务的重用。
基于SOA的MES系统
随着Web服务技术的发展,控制层的供应商以及标准制定者逐渐遵循基于服务的体系结构,典型代表是OPC组织推出了基于Web服务的OPC XML-DA,并于2003年的7月份发布了OPC XML-DA的说明文档1.0。OPC XML DA用基于XML的Web服务概念,用SOAP(简单对象访问协议)作为对应用程序共享消息进行包装的标准协议。OPC客户端和服务器之间通过HTTP协议传输Web服务。OPC XML提供一种比较容易的方式用于通过Internet发布OPC数据信息,为企业自动化过程控制系统集成提供广泛的连接特性。最新定义的OPC UA更是通过应用SOA,定义了一套集成的服务集,解决了现有的OPC规范在应用时服务重叠的问题。而所有的这些都为实现基于SOA的MES系统提供了可能。因此,图2描述了在企业不同层次(企业层、车间层和控制层)的服务提供者,应用他们提供的服务,可以构建动态的应用系统,而用户则需要业务流程的建模。在车间层,实际上这里就是MES系统,包含了多个模块,如车间数据采集SFDC(shop floor data collection)、库存管理、有限资源计划、工作单元控制、运输、工具管理和工厂监控系统(FMCS)等,通过应用SOA的架构,这些模块都可以由Web服务接口、ESB消息传输机制以及应用BPEL动态建模来创建一个上与企业层系统(ERP、数据仓库或MIS)、与控制层系统(PLC、SCADA、RFID或HMI等)集成的MES系统。如图2把MES系统放到整个企业环境中,描述了基于SOA的系统架构是如何实现整个企业应用系统的集成。企业的供应商提供了维护、培训、维护计划或者设备故障诊断等服务,在客户需求方面,客户要求企业提供产品追踪和回溯的服务,此外客户服务方面还要求企业提供可承诺量ATP(available to promise)服务,而企业内部本身也包含了很多私有服务。通过将这些服务组合在一起,则可以创建符合企业业务流程的MES应用系统。同时,采用Web服务适配器可以使得Web服务可以与没有用Web服务开发的系统相通信。以下几种示例系统可以用Web适配器:内部开发的系统、打包的软件、数据库系统、CORBA和DCOM。如图3所示,当消息路由使用Web服务的时候,消息路由只需要和Web服务连接而不需要和每一个系统连接。由于目前企业内部有可能实施了部分的MES功能,这是因为企业是功能型驱动的业务模式,企业不可能在一开始就完全规划好整个MES的系统,如企业发现需要将内部的工具包括切削刀具等进行管理,从而实施了刀具管理,但随着业务需求的增加,企业有可能需要实施其他的功能模块,这个时候原有的系统模块就需要与整个MES系统集成。为了保护原有的投资,则可以将刀具管理系统应用Web服务适配器封装工具(如iWay软件的通用适配器套件)封装成Web服务,从而可以将已有的应用系统集成到整个SOA架构的应用系统中。
罗克韦尔自动化提供的MES系统,应用FactoryTalk应用服务平台,运行在FactoryTalk/SOA上,FactoryTalk/SOA服务平台提供一套通用的软件服务程序,包括安全控制、诊断、审计、数据模型、授权、实时数据采集、历史数据记录、配置、报警和事件等服务,这些通用的服务可以为工作订单、物料管理、工作流、追踪与回溯、异常处理、测试与采集、SPC等MES应用模块所重用。这样做的好处是,这些服务只需一次部署,以后可多次重复使用,大大节省了用户的培训和学习时间。由于所有的产品都使用SOA使能的功能,因此,这些功能包括了通用的组件、应用界面等。同时对于软件供应商来说,采用这种架构可以缩短软件开发周期并提高上市速度。在部署MES应用的时候,MES系统应用相关的服务与通用服务一起动态地构建满足企业需求的MES应用系统,其体系结构如图4所示。
应用实例
江西九江昌河汽车有限责任公司总装车间采用了罗克韦尔的MES(制造执行系统),该系统是昌河汽车总装车间进行生产管理的重要系统。它接收上层ERP系统的计划数据,监控整车在线状态,控制生产进程,提供物料需求信息;反映各种设备运行状态,提供生产数据的统计与查询。该MES系统主要分为ANDON系统、AVI系统和物料呼叫系统。
以ANDON系统为例,介绍基于SOA的MES系统在汽车总装车间的应用。安装在汽车生产线上的ANDON系统,是用来帮助流水线上的工人在一定生产节拍内,完成质量可靠的汽车装配任务,起到了在生产流水线上传递信息、提高生产效率的作用。
在由传送带控制的流水线上,各个工位上应安装拉绳,每条生产线段安装一块ANDON显示板。当操作工发现质量问题或需要请求班组长的帮助时,操作工拉下拉绳。此时ANDON显示板上的指示灯应点亮,ANDON系统会播放音乐来提示班组长。如果这个质量问题在给定的生产节拍时间内还无法解决,ANDON系统应向传送带控制装置发出联锁信号,要求传送带停送,以获得足够的时间来解决问题。
ANDON系统将一些重要的生产数据,如目标产量、上线产量、下线产量等显示在LED型ANDON显示板上。ANDON系统中会记录每个工位发出的质量报警,上位计算机还应提供生产报表供用户作质量问题汇总和进一步的分析。
ANDON系统的工作流程是:首先装配制造工人根据经验发现装配问题从而按了急停按钮,按钮发送信号给Flex I/0,Flex I/0进而发送信号给ANDON PLC,PLC立即发送信号使得工作站灯开始闪烁,进而工作站的灯开始闪烁。与此同时,PLC发送“Super Point”消息给ANDON PDU,而ANDON软件则将错误登记到DTR并生成消息发送到电子显示板上,显示板接收到消息,将消息进行显示。
为了实现上述ANDON系统,采用基于SOA的MES系统结构,应用BPEL设计业务流程图,根据BPEL的流程图调用相应的Web服务,系统根据BPEL的流程图在UDDI中发现相关的服务(WSDL),通过调用Web服务实现ANDON系统的业务流程。