制造执行系统(manufacturing execution system,MES)是面向车间层的管理信息系统,其是上层计划系统和下层生产控制系统的信息链路叫.现代企业集成制造、环境中,面对工业生产的多变性,需要MES框架有良好的可扩展性和可重配性,以面对变化能够做-出迅速的反应,进而实现敏捷和灵活的定制生产.设计一种可重配性高的MES,已经成为现代MES研究的重点.因此,需要一种完整的、高可重配性的MES架构,使系统在稳定完成任务的同时,能够面对多变的生产而快速变化。
对于可重配MES的研究目前有两个挑战,即如何快速构建MES系统初始模型,以及面对变化如何从现有的系统快速得到目标模型.目前MES建模仿真主要有3种方法:DES(discrete event simulation)方法、SD(system dynamics)方法和AB(agent—based)方法,其中,基于DES方法和AB方法的系统有很多研究成果.文献提出了基于事件系统的制造系统框架.文献提出了一种对事件(event)的管理方法,并使用CEP(complex event processing)方法对车间进行实时控制.目前,大多的研究基于某种特定的方法进行系统模型及框架的构建,对于基于一个特定的中心结构来构建可重配MES的研究较少.
本文主要针对可重配MES的构建和运行中心的结构进行研究.整个研究重点在于提出一种高内聚的中心,控制MES的流程以及与ERP(entERPrise resource planning)、PCS(process control system)的信息集成,使MES的运行以及变化的执行以一种轻便敏捷的方式进行.本文提出基于事件驱动的MES消息中心,作为可重配MES构建、运行时的中心.通过建立消息中心的模型库和规则库并应用CEP方法对系统进行监测和决策,构建敏捷、轻便以及持续可重配的MES.
1 可重配MES的消息中心
可重配MES的构建关注一些指标:系统的柔性、适应性以及可扩展性;同时可重配系统有一些特征:可模块化、可集成化、用户可定制性等.通过一个核心,将系统完整联系起来,构建一种结构松耦合的MES是完成上述指标和特征的关键.传统基于事件的系统结构较松散,但是没有处理核心,没有很好的方法管理MES中的逻辑,不能有效处理系统的变化.因此在基于事件驱动系统模型基础上,应构建核心结构消息中心,作为可重配MES的构建和重配的管理中心.对于MES的消息中心要形成一种高内聚、有独立消息生成以及规则处理的系统,形成独立系统而非孤立的处理模块.
对于消息中心,主要任务是消息的通知,不包括具体业务处理.针对MES的特点,消息中心与业务系统采用消息机制来通知,消息中心与PCS信息的交互采用同步通信.
综上所述,消息中心要面对的问题为通信以及系统逻辑管理.针对以往遇到的问题以及上述需求,提出集中处理和管理逻辑规则,即基于事件驱动的MES消息中心.消息中心在MES中的位置以及与MES和PCS的关系如图1所示.
图1 消息中心在MES中的位置
消息中心嵌入MES中并与其紧密结合.消息中心中采用消息机制及事件驱动方式.消息是一种描述信息的数据结构,在消息机制中,系统所有通知、动作由消息告知.消息中心中使用消息机制与MES和ERP进行信息交互,解决了通信的数据结构耦合的问题.事件驱动方式是一种有很好灵活性和扩展性的信息推动方式,采用发布/订阅的推送模式,与SOA的拉动模式形成对比,消息中心采用发布/订阅模式,实现了时间、空间、流程方面的解耦.其中对于异步模式,从长期利益来看,系统和组织的状态变得更精准,对实时变化的响应接近于同步,因此,发布/订阅推送模式适合应用于对实时性要求较高的MES消息中心.
消息中心在构建阶段,需要建立MES静态模型和Petri Net模型,并根据Petri Net模型的映射得到消息中心的模型库与规则库,即采用Petri Net模型来管理系统的事件和逻辑.在运行阶段通信中,消息中心与PCS进行实时的信息交互,与MES业务以及ERP系统进行异步的通信,以事件驱动的异步方式,驱动消息在系统间的交互.在事件的监测及逻辑事件的生成方面,根据建立的规则库,使用CEP引擎,对消息中心的事件流进行分析和处理,对系统进行监测和决策,产生逻辑事件.
2 消息中心的构建及运作
可重构MES消息中心的研究包括静态模型的构建和动态的运作,两者不可分割但描述不同的方面.静态模型描述系统的结构,动态模型描述系统的运作.采用Petri Net方法能够将静态模型和动态模型联系起来,管理系统的过程,又能通过过程模型得到系统规则和模型的映射.系统过程的修改,通过在Petri Net上的反映,进行规则库、模型库的动态修改,完成系统可重配.
2.1 消息中心静态模型的构建
静态模型描述消息中心内部以及外部系统的环境,揭示系统的结构,反映各对象间的关系.静态模型包括设备模型和事件模型,前者描述了PCS中的设备,后者描述了消息中心处理的基本单元.在MES的快速构建以及重配中,消息中心的静态模型是基础.
2.1.1 设备模型
设备模型对应于PCS中的实际设备实体.定义设备通用模型,需从属性到行为完整地对设备进行描述.参考Wonderware Factorysuit系统对设备建立的模型,并根据消息中心应用的机制,得到消息中心的设备模型的定义.
定义1 设备实体(device)的定义:DV={CONN,PROP},其中,CONN代表连接器,PROP代表设备属性.连接器描述了与PCS通信相关的信息,设备属性描述设备自身的性质.
定义2 连接器(CONN)的定义:CONN={C_METHOD,C_PROTOCOL),其中,C_METHOD代表连接方式,C_PROTOCOL代表连接协议.连接协议描述了通信的类型以及通信连接中所需要的参数.
定义3 连接方式定义:C_METHOD={C_METHOD_TYPE,C_METHOD PARAMS),其中,C_METHOD_TYPE代表连接方式的类型,C_METHOD-PARAMS代表连接所需的参数.
定义4 连接协议:C_PROTOCOL={C_TIMES,CONFIRM,TIMEOUT,ARRAY C_RWTYPES,LIST PACKAGES,RESULT},其中,C_TIMES代表连接次数,CONFIRM代表连接进行确认的条件,TIMEOUT代表连接超时时间,ARRAY C_RWTYPES代表每次连接的读写类型,LIST PACKAGES代表每次连接发送或接收的数据包信息,RESULT代表完成一次通信获得的数据包.
定义5 设备属性:PROP={P_DISPLAY,P_PARSE,P_EVENT,P_SAVE),其中,P_DISPLAY代表显示属性,P_PARSE代表解析属性,P_EVENT代表触发事件属性,P_SAVE代表存储属性.设备的属性完整地描述了设备数据模型.显示属性是设备在前端显示层所需的属性.存储属性是持久层有关设备数据存储的属性,同时也对应数据采集时采集的信息片段.解析属性是业务层中对采集的信息进行解析所需要的属性.触发事件属性是在解析中判断事件是否触发的属性.
定义6 事件属性:P_EVENT={P_SAVE,P_PARSE,EVENT}.事件属性定义了采集的设备信息在经过解析,满足触发条件而触发事件的属性,绑定了存储属性、解析属性以及事件.
例1 以液晶面板生产线中清洗机来构建设备模型作为实例.其中,连接方式:C_METHOD={TCP/IP,{IP,PORT)),连接协议为C_PROTOCOL,则连接器CONN={C_METHOD,C_PROTOCOL).对于清洗机而言,存储属性P_SAVE_{AUTORUN, AUTOMODE,STOP,ALARM,PAUSED,…),解析属性P_PARSE_{AUTOMODE=1,自动模式;0,手动模式#ALARM=1,报警;0,正常#…),当设备不正常时进行报警,定义事件AlarmEvent为报警事件,事件属性P_EVENT={ALarm,ALARM=1,AlarmEvent},显示属性为P_DISPLAY={displayColor,buttonBlink,…),则清洗机属性PROP={P_PARSE,P_DISPLAY,P_EVENT,P_SAVE).最终得到清洗机静态设备模型device_qXj={PROP,CONN}.
2.1.2 事件模型
事件模型定义事件系统处理的实体,包括事件头(EVENT_HEAD)和事件主体(EVENT-BODY).
事件头对事件本身信息进行描述,包括事件的标识(EVENT_ID)、事件的产生时间戳(EVENT_TIME)、采集源(EVENT_RID)、事件的发向(EVENT_DIRECT)以及事件的类型(EVENTTYPE).事件主体包含了事件的内容描述,包括发生事件的内容信息(EVENT_CONTENT)以及事件附属的数据(EVENT_DATA).
例2 以清洗机报警事件AlarmEvent为例.根据例1中清洗机的模型,当ALARM值为1时报警,并停止此工艺运行,事件发向CEP引擎以及PCS控制系统,事件内容信息EVENT_CONTENT=“清洗机报警”,事件发向CEP引擎进行复杂事件的监测,发向PCS控制命令.其中向PCS发送的事件带有数据,则EVENT_DATA={pcs:STOP=1},数据为通过连接器向PCS发送的控制命令.
2.2 动态模型的构建
动态模型描述了与操作时间和顺序有关的系统特征.通过系统Petri Net过程模型与事件模型的对应映射,得到系统规则库以及模型库中模型的关系,以使用CEP方法对系统进行监测和决策.在MES的快速构建及重配中,动态模型是纽带.
2.2.1 系统Petri Net模型映射
在事件驱动的系统中,将状态的变化看作事件,同样Petri Net模型描述了系统的状态变化,也描述了系统的逻辑.通过系统Petri Net过程模型与事件的匹配映射,将事件静态模型和过程模型联系起来,得到事件的关系模型,同时也是CEP引擎做决策的规则模型.
图2 MES生产线的Petri Net建模
图2为Petri Net对液晶面板生产线一个阶段的建模.当3条生产线都完成(S5压合、S7压合完成状态),才可以完成最后的生产(S8测试状态).将模型中所有的状态库和事件一一映射,可得到事件的关系.玻璃清洗E2=SEQ E1,清洗完成E6=NOTE4,E5一E2 OR E3,清洗完成2次E7=Times(E6,2),测试E8=E5 AND E7.根据模型中事件的层次,定义几种事件类型.
定义7 基本事件BASIC—EVENT:设备与消息中心的通信获得设备信息的事件.由于与设备通信的实时、采集不问断的特点,设备信息的采集作为特殊的事件独立处理,定义为基本事件.
定义8 简单事件SIMPLE_EVENT:采集的设备信息经过解析而触发的事件以及业务系统传入消息中心的事件.在设备的建模中,事件属性中的事件就是简单事件.同时,事件建模中可以定义由业务系统发来的事件为简单事件.
定义9复杂事件COMPLE—EVENT:系统中简单事件的逻辑组合构成的事件.基本逻辑关系有5种,分别为或关系(OR)、与关系(AND)、非关系(NOT)、事件E的发生次数T的关系(Times(E,T)),以及t时间内发生事件E的关系(WITHIN(E,t)).
根据图2中的模型,E1,E3,E4为简单事件,通过简单事件以一些规则复合在一起产生的事件E2,E5,E6,E7,E8为复杂事件.通过过程模型的映射得到了事件的逻辑关系,并将事件的关系映射到CEP引擎的规则中,CEP引擎根据规则来进行监测和决策.
例3 以一台清洗机出错“发生报警”过程为例.生产场地有多台清洗机,一台清洗机停止,则此工艺停止,备用工艺中清洗机开始接手后续工作,将此过程的过程模型与事件系统的事件进行映射.系统根据监测,如果一台清洗机出错,则生成报警事件AlarmEvent并发出;如果没有出错,则发出非逻辑NOT AlarmEvent事件.CEP引擎监测到AlarmEvent事件的发生,进行决策生成BackupStartEvent“启动备用设备”事件,并派遣此事件到相应目的地.
2.2.2 系统事件的派遣
事件是通过对系统的监测而决策产生的,然后被发送到派遣中心,派遣中心根据规则,对事件进行不同方向的派送.派送的方向有CEP引擎、消息中间件、PCS.发往消息中间件的消息则根据参数发向不同的通道,包括设备通道、显示通道、业务通道.在事件引擎中对每个设备设有事件通道,方便CEP引擎对事件系统的监测和决策.根据派送的方向,定义两种事件.
定义10上行事件UP—EVENT:向业务系统、数据库发送的事件.上行事件产生消息,发往消息中间件,根据消息中间件通道订阅情况,进行数据的持久化以及发往业务系统的行为.
定义11 下行事件DOWN—EVENT:向PCS发送的事件.下行事件产生行为,与PCS进行信息交换,驱动生产线按照规则运转.
图3为事件关系以及事件的派遣机制.上行事件发送至消息中间件,根据订阅情况,推送消息至订阅系统,订阅系统收到消息并进行相应的处理,即采用消息驱动的机制驱动业务的进行.下行事件通过与设备实时通信,直接与控制系统进行信息交换,使PCS联动运行.发往事件引擎的事件,通过CEP引擎对事件进行监测并进行决策.
图3 事件关系以及事件派遣机制
其中派遣算法如下:
Void dispatch(EVENT)
If EVENT_TYPE=BASIC—EVENT
dispatchToCEPEngine(EVENT);
If EVENT—TYPE—SIMPLE_EVENT
or COMPLEX—EVENT
If EVENT_DIRECT=Display
dispatchToDisplayMOM(EVENT);
If EVENT—DIRECT=Device
dispatchToDeviceMOM(EVENT);
If EVENT—DIRECT=Engine
dispatchToCEPEngine(EVENT);
If EVENT_DIRECT=Service
dispatchToServiceMOM(EVENT);
If EVENT—DIRECT=PCS
dispatchToPCSConn(EVENT);
2.3 MES的运作及可重配
MES的快速构建阶段需对消息中心进行静态建模,建立设备模型与事件模型,并通过Petri Net建立的过程模型,对事件系统及规则进行映射,得到消息中心的规则库.在基于事件驱动的消息中心中,通过过程模型的映射形成了MES的完整模拟,构建了MES的驱动中心.
系统运作阶段,面对外界环境的变化,需要对MES消息中心进行重配以适应生产.对于PCS设备以及事件模型的变化,修改模型库中相应的模型.对于系统业务的变化,通过Petri Net过程模型,修改规则库中的事件以及逻辑,从而得到目标MES模型.CEP引擎根据新规则,动态地进行新规则的监测和决策,并派遣到不同处理程序,驱动生产以及业务的进行.
3 验证及实现方案
本文以一个太阳能电池液晶面板自动化生产工厂的需求为基础,构建基于消息中心的可重配MES,并对该系统可重配性的性能指标进行验证.生产线通过PCS来控制生产,并在PCS之上构建MES,进行协调生产.消息中心作为MES信息采集和消息发送中心,与外部系统进行通信,同时也作为监测和决策中心,根据逻辑进行事件的监测和生成,并派送到生产系统及业务系统,保证生产及业务的持续进行.根据上述需求,构建基于消息中心的MES,系统架构如图4所示,并以MES中的系统监控模块以及设备重用流程作为可重用的展示.
图4 基于消息中心的MES架构图
首先在消息中心中根据生产线的环境以及业务的逻辑,建立生产线设备模型以及事件及规则模型,完成系统的快速构建.消息中心持续与建立的外部系统进行通信,推动生产和业务的进行.其中与PCS的通信,采用TCP/IP协议与控制器的路由,由其采集PCS信息,并根据模型对采集的数据进行分析,产生事件,驱动业务、生产的进行.
在系统搭建上,前台使用flex3技术,后台使用Java语言,并使用struts2,spring,hibernate框架.监控程序以及设备重用流程运行结果如图5所示.
图5 基于消息中心可重配MES运行结果
由图5可知,当一个设备出现问题,消息中心监测到此事件,并发出报警事件通知业务系统,在监控界面进行显示,同时向事件引擎发出事件通知,引擎根据系统过程逻辑,通知PCS选用后备工艺的运行,变更生产流程,轻便地完成流程的重配,得到目标流程.表1为对不同类型MES的比较.
表1 不同类型MES的比较
通过对表1中不同MES的对比,结合基于消息中心MES实例的运行结果来看,应用事件驱动以及消息机制有很好的灵活性和轻便性,使用Petri Net进行系统的建模,对于系统的规则生成以及管理有较好的可维护性.以事件驱动消息中心为核心的MES有好的适应性、开放性,系统耦合度低,有较好的可重配性,满足可重配MES的要求.
4 结语
本文提出了一个基于消息中心构建可重配MES的方法,建立了基于消息中心的MES,并将其应用于自动化生产工厂对可重构系统的指标进行了验证.从实例分析以及对比的结果来看,以消息中心为基础构建的MES有较好的柔性、适应性以及开放性,解决了快速构建初始模型以及面对变化快速得到目标模型的问题.本文提出的基于事件驱动消息中心的可重配MES框架,较好地解决了集成制造系统中的可重配问题.
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:基于消息中心的可重配MES/ERP的研究
本文网址:http://www.toberp.com/html/consultation/10820511424.html