第3章MES生产建模与可重构平台技术 生产建模是MES运行管控的基础,也是实现MES平台化、可配置、可重构的核心关键技术。本章首先概述MES生产模型与平台运行机制,然后重点介绍基于事件驱动的MES生产过程建模技术。在MES可重构平台技术方面,首先分析MES重构要素,然后介绍几种可重构MES体系结构,最后介绍MES配置平台技术以及基于配置平台的可重构MES应用系统解决方案。在本章末尾可通过二维码扫描链接一个MES可重构平台案例。 3.1MES生产模型与平台运行机制 数字化生产模型是支撑MES运行与可视化生产管控的基础,MES主要业务功能的实现都是基于MES生产模型的驱动。MES生产模型正确与否,直接影响执行层功能的实现。基于生产模型,MES从工厂生产设备等资源中收集信息,建成一个随时随地可以访问的“虚拟工厂”,并根据一些关键性的指标,实现对每个生产工序的跟踪、生产绩效的实时评估和监测。 MES生产模型包括工厂模型、产品模型、事件模型和执行模型,其中事件模型和执行模型统称为过程模型。产品模型用于定义产品材料、规范配方和工艺过程。对离散装配制造而言,产品建模主要是构建装配BOM。装配BOM包含产品的零部件组成结构和工序信息,为物料配送及在制品跟踪提供基础信息。产品模型中的装配BOM反映出产品在某一工序的装配信息、料位料架及特殊零部件厂家信息等,并描述装配零部件与料位料架的对应关系。工厂建模完成工厂、生产线的设备和相应的组织模式定义,建立MES物理工厂模型。工厂模型定义完成后可在模型的基础上定义生产过程中的生产事件。生产事件是控制生产活动的基础单元,通过生产事件模型的建立,可以描述MES系统控制生产活动的过程。生产执行模型定义生产运作规则,以此控制生产过程的物料流和信息流。MES生产建模可参照ISASP95标准中的相关规范。MES生产模型之间的关系如图31所示。 图31MES生产模型之间的关系示意图 在MES生产模型设计中,一般采用面向对象的分析与设计方法(objectoriented analysis and design,OOA & D)对工厂模型、产品模型、过程模型进行建模,其建模过程主要是对工厂的资源、企业生产活动及车间业务进行抽象和分类,将其描述为一系列具有一定特性的基本语义元对象,并最终将相关模型抽象为由若干语义元对象组成的复合对象。在上述生产建模技术基础上,开发出可视化建模工具,最终将工厂资源建模为工厂模型,将生产活动建模为事件模型,将制造业务建模为执行模型。 MES生产建模完成后,生产过程的控制由各种事件触发来完成相应的后台业务处理模块,最终完成生产制造流程。以装配制造为例,基于生产模型驱动的MES平台运行机制如图32所示,其处理流程为: ①建立企业的产品模型、工厂模型、事件模型和执行模型; ②MES接收装配计划,下达装配生产指令; ③触发相应的生产开始事件,系统控制交给后台处理; ④MES执行相应的业务处理程序,完成事件发生后的业务功能; ⑤MES平台继续监测生产事件的发生; ⑥循环重复③~⑤的过程。 图32基于生产模型驱动的MES平台运行机制 事件模型是对生产过程中生产活动的一种抽象描述。生产事件可以有多种表现形式,如将物料配送到现场料架时产生的物料配送事件; 也可以表示抽象的实体,如生产过程中的计划更改会产生计划变更事件; 还可以基于事件对产品的生产过程进行跟踪。实际生产中事件的发生一般以某一个或一系列数据标签的变化为触发条件。执行模型以事件模型为基础,是对事件响应业务逻辑的封装。当系统侦测到事件发生后,系统服务会调用执行模型,对产生的事件进行处理。事件模型配置在生产单元中,可根据实际需要配置不同的事件,例如计划变更事件、报警事件、停机事件等,并将事件同触发标签相关联。执行模型主要是针对在生产单元中配置好的事件编写业务流程处理脚本,并与事件模型相关联。 3.2基于事件驱动的MES生产过程建模 MES生产过程建模就是用一种描述方式为一个特定的生产过程构造系统蓝图。生产过程模型是对生产过程系统化、结构化的描述,需采用结构化的建模方法,能够反映出生产流程以及各个流程之间的关系。该模型不仅能够根据用户生产管控的需要反映生产过程各个部分的细节,还能够展示各个部分之间的联系。生产过程模型本质上是反映工艺流程的模型,生产过程建模的目的一方面可以对系统调度策略进行仿真、验证和优化,另一方面是为了实现生产过程的可视化,进而对生产过程进行管理和控制。 事件是生产过程中生产活动的一种抽象,是描述生产过程的最基本元素。生产系统的动态过程是基于事件驱动的,生产过程中事件的发生一般以某一个或一系列数据标签的变化为触发条件。因为实际生产过程中的很多事件都与时间有关(只与时间有关的事件则称为必然事件),因此时间也是触发条件之一。生产过程事件之间存在一定的触发规则,事件和触发规则的集合就组成了生产过程模型,亦即生产过程事件的执行模型。例如,在装配生产事件中,工件在工位上的装配操作可以定义为一类生产过程事件; 在流程工业中,需要按照配方定时送料,时间就是重要的事件属性。 3.2.1生产过程事件模型 1. 生产过程中的事件分类 在制造行业中,一般有离散型、流程型、混合型3种生产类型,相应的生产过程可分为离散生产过程、连续生产过程、混合生产过程。归纳起来,可以将上述3类生产过程中的事件分为6大类: 计划事件、加工事件、物料事件、设备事件、工艺事件、报警事件。 (1) 计划事件(EP)。计划事件是外部输入事件,指详细生产计划事件。这里的生产计划是指到达每一个加工单元或工位的生产安排,是加工单元或者工位的工序级生产计划。而MES计划事件是指按照产品的工艺要求和生产调度,将主生产计划分解成详细的生产计划,并将生产计划分派到相应的生产单元。 (2) 加工事件(EW)。当生产计划下达到生产单元后,原料已送达并开始进行产品生产的事件称为加工事件。加工事件需要记录相关的生产信息,包括产品名称、所属计划、所需事件、生产数量、使用的材料和人力、开始运行的时间和结束的时间等。加工事件是生产过程中的关键事件,因为生产过程中的事件大部分都是加工事件。 (3) 物料事件(EM)。在生产过程中,当生产计划下达到生产单元,或者生产单元有物料需求的时候,需要将原材料送达生产单元,这类事件叫作物料事件。物料事件可能在加工事件之前发生,这时需要将原材料送达后才可以开工; 物料事件也可以在加工事件之后发生,此时若在生产过程中出现废料、缺料等报警事件,就需要根据情况将物料送达。 (4) 设备事件(EE)。生产过程中,设备需要根据生产计划进行开、停机,或者为处理紧急情况而进行停、开机,这就是设备事件。设备事件也包括设备自身的属性,如生产能力和运行情况等。在流程工业中,对设备的依赖性很高,其设备事件除了开、停机之外还包括其他事件,如设备监测等。 (5) 工艺事件(ET)。MES中生产不同的产品往往需要对应不同的生产过程、不同的物料、不同的设备,以及不同的加工工序,在部分流程工业还需要对应不同的生产条件和生产环境。工艺事件就是将这一类约束集合在一起,进行统一管理,将生产计划分解为子生产计划,其中子生产计划的分解粒度原则为具体到加工工序和加工设备。 (6) 报警事件(EA)。在生产过程中可能会出现一些突发事件(如缺料、废料、废品等,以及其他影响生产完成或产品质量的异常事件),需要打断或者介入生产过程,这一类事件叫作报警事件。 2. 建立生产过程事件模型 所谓生产过程,是由一系列按照一定规则联系在一起的生产过程事件ei组成的,它反映了一道工序或者一个工段的生产流程。将生产过程事件按照一定的事件触发规则建立连接,据此所组成的模型就是生产过程事件模型。 事件属性可对实际生产过程中的特定事件特性进行抽象描述。事件通常具有多个属性,这些属性构成了事件的属性集。事件属性的作用在于标记事件状态,确定事件之间的关系,从而完善模型表达。生产过程事件的重要属性有事件ID、事件状态、事件等级、生产计划号、产品信息(如产品编号、生产序号)、设备信息(如工位ID、生产线ID)、时间信息(如生产时间、时间戳)、物料信息、生产优先级等。将这些重要属性进行扩展,就可以较完整地描述生产过程事件了,其中事件状态用于控制事件的生命周期。 事件触发规则可描述事件之间的触发机制。当生产过程中进行某一加工时会产生生产事件,如果该事件能成功开启另一个生产过程,则说明在满足一定的触发规则情况下,前一生产事件是后面生产事件的前驱事件,并且它们之间存在一定的触发规则,使得后一事件被触发。 实际生产过程事件模型中往往含有前驱事件和后继事件,如图33所示。设有生产事件集合E={e1,e2,…,ei,ej,…,en},若有生产事件 ei 必定在生产事件ej之前发生,则称生产事件ei是生产事件ej的前驱事件,ej是ei的后继事件。事件集合是有序的,ei及其前驱事件的集合构成了ej的前驱事件集,ej及其后继事件的集合构成了ei的后继事件集。 在图33中,e1是e2的前驱事件,e2是e1的后继事件,e2,e3,e4同时是e5的前驱事件,e5是e2,e3,e4的后继事件。 图33具有前驱事件和后继事件的生产过程事件模型 ei的前驱事件集为 Epre(ei)={em,em+1,em+2,…,ei-1,ei} ei的后继事件集为 Enxt(ei)={ei+1,ei+2,ei+3,…,en-1,en} ei的生产过程表示为 OP(ei)={Epre,Details,Enxt} 其中,Details表示事件ei的具体细节。 根据事件中一些关键属性之间的关联,可以顺利找到任何一个事件的前驱和后继,将其连接起来就可以得到生产追踪和产品回溯模型。事件的关键属性包括生产计划号、生产序号、产品编号、设备工位号、生产事件以及时间戳等。 3.2.2生产过程执行模型 生产过程模型需要通过配置才能实现对实际生产过程的映射,配置的过程需要通过对生产过程事件的触发规则定义来实现。在任何类型的生产过程中,每一个生产过程事件都是通过前驱事件触发的。按照触发规则建立起来的事件模型称为生产过程执行模型,它反映了实际的生产执行流程。 生产过程事件的执行模型就是事件的处理流程模型,也是事件的关系模型,它用来描述生产过程或者事件的执行过程。通过执行模型,我们可以将产品的生产加工过程完整地描述出来。图34所示是一个典型的生产过程事件的执行流程。其具体描述如下: 当生产计划下达到加工设备或者工位时,便产生相应的计划事件。在生产过程中,首先要将物料送达设备或工位,同时产生相应的物料事件。在生产进行时,产生加工事件记录生产过程的状态。在生产过程中,还可能会出现异常情况而产生报警事件,需要系统或人工进行干预,这时根据具体情况,设备可能会停机或暂停,从而产生设备事件。在有些行业或产品的生产过程中,还需要记录设备能耗、能源使用效率等数据,还有可能会按照生产工艺对应的业务逻辑关系触发其他事件。 图34生产过程事件执行流程示例 生产过程事件执行模型将所有的生产过程事件按照产品的业务逻辑连接起来,从而对整个产品的生产过程建立模型。在执行模型中,所有的事件通过触发规则连接到一起。在实际生产过程中,各种各样的生产活动产生了大量不同类型的生产事件,这些生产事件相互影响、互相关联,形成一个复杂的生产系统事件网络。按照生产事件之间的触发规则,该网络中的事件联系在一起。最后会发现产品的所有生产事件形成了一张网状有向图,这就是基于生产事件的生产过程模型。 如前所述,触发规则是构成MES生产过程模型的重要组成部分。为了实现生产过程事件模型的可配置,需要对不同行业的生产过程事件触发规则进行定义,因为不同的触发规则可以满足不同行业的不同配置需求。在所有的触发规则中,存在着通用规则和行业特有的规则,我们可以将它们进行总结和分类,建立一个规则库进行统一管理。有些触发规则适用于相同或者类似的行业,有时候甚至适用于所有的生产过程事件,所以,我们可以根据规则的适用程度将触发规则分类,以提高事件处理的效率。一般将生产过程事件触发规则库中的规则分为通用规则、行业规则、企业规则3类。其中,通用规则是指适用于所有生产过程的规则,行业规则是指适用于离散、流程或者混合行业中某一个生产类型的生产过程的规则,企业规则是指根据企业的生产特点单独建立的企业特有的生产过程规则。针对实际应用对象的要求,可以调用或者更改规则库中的触发规则。 基于规则库的事件触发处理机制如图35所示。当一个生产过程事件被触发时,需要在规则库中寻找对应的规则,并调用解析方法,触发执行后续的事件或者操作。生产过程事件规则库在接收到模型发送过来的事件触发消息后,首先对事件类型进行判断并从规则库中获得该类型事件的触发规则,然后进行解析,建立规则树单元,通过事件触发执行器对规则进行执行,生成新的生产过程事件。在规则的执行过程中,需要判断前驱事件和后继事件的有效性,以及它们之间规则的有效性,防止触发错误事件或者无效事件。 图35基于规则库的事件触发处理机制 3.2.3建模实例 在对实际生产过程建模时,需要对模型进行配置以满足实际工艺流程和使用的需要。模型配置的最终目的是使模型执行流程符合实际生产的工艺流程,从而使模型更真实地反映实际生产过程。模型的配置主要包括两个方面: 事件属性的配置和触发规则的配置。事件属性的配置主要是对事件实例化后属性的调整。例如,在汽车整车装配生产中,下线时间尤为重要,因此需要在下线事件的属性中添加下线时间作为关键监测数据。事件触发规则的配置主要是根据工艺流程调整规则,使事件的触发顺序符合实际生产的工艺流程。例如,在汽车装配生产中需要加入新的触发规则,以判断车体装配下线时间是否超过规定时间,如果超过则需要触发报警事件,进行人工介入,同时触发设备事件,在后续的设备管理中进行分析。 在模型的配置过程中必须重点考虑产品的工艺属性,工艺属性为生产过程事件提供约束条件。不同行业,不同产品的生产工艺不同,生产过程也就不同。工艺属性记录了每一件产品的工艺信息,包括生产顺序、生产设备、生产环境等。这些关键属性为触发规则的确定提供了硬性规定,所有的触发规则必须严格按照这些属性所确定的范围和标准来制定。 作为生产过程事件模型实例,我们对某客车厂的客车转向架装配生产过程进行建模。在转向架装配过程中,有以下几道重要工序,即机加、焊接、装配、防腐、中装以及检验。其中,绝大多数的物料都采用上工序到下工序,就是原料进行加工后又作为原料进入下一道工序的工位。整个客车装配过程具有离散工业的典型特征,其关键生产工艺流程如图36所示。 图36客车转向架关键生产工艺流程 针对图36的生产流程,我们对生产过程事件进行抽取和分类,分别定义了以下生产过程事件: (1) 计划事件,包括主生产计划事件和子生产计划事件,其中子生产计划事件是由主生产计划事件分解得到的。 (2) 加工事件,包括上线事件和下线事件,它们分别代表了机加、焊接、装配、防腐和检验工序的开工上线和完工下线。 (3) 物料事件,包括物料配送事件、缺料事件和废料事件。 (4) 报警事件,包括废品事件、异常事件,其中废品事件可以在检验工序中由不合格产品生成。 (5) 设备事件,包括停机事件和能源效率事件,其中能源效率事件是对生产过程中的加工工序包括能源消耗进行记录统计和分析。生产过程中有些事件的属性需要做细微调整,例如在总装过程中,构架、轮对、电机和其他部件的来料时间非常重要,需要在事件属性中体现出来。 由于是典型的离散工业生产,所以对于事件的触发规则可以直接套用离散工业的触发规则库,产品本身特有的一些规则,例如来料时间的约束,需要在企业触发规则库中进行定义。对于本产品特定的生产工艺,可以在生产事件工艺属性中明确,并在此基础上对触发规则库中的规则进行配置。确定事件模型中的事件和触发规则以后,接下来就是建立事件执行模型,如图37所示。 图37客车转向架装配生产过程事件执行模型 本节介绍了一种基于事件驱动的生产过程建模方法。该建模方法包括对生产过程事件的定义与分类、事件属性的定义以及事件间触发规则的定义,实现了对生产过程的建模。通过对事件的相关属性和触发规则进行配置,使生产过程事件模型的构建可以针对不同行业、不同产品的生产工艺过程,从而满足MES系统可配置性和可适应性的要求。 3.3MES可重构平台技术 市场需求的动态多变导致现代制造环境不断变化,包括企业业务流程的变化、车间组织机构的变化、车间制造资源的变化等,这就要求MES能够根据制造环境的变化快速进行系统配置和调整。MES 体系结构从集成化(integrated)朝可集成(integratable)和可配置/可重构(reconfigurable)方向发展正是为了适应制造环境变化的需求。国际主流MES产品的形态已由MES专用产品过渡到由“MES基础平台+行业通用构件+企业定制化构件”构成的MES应用解决方案的MES平台化产品。 3.3.1MES重构要素 企业业务流程、业务目标的变更和车间环境的变化始终是实施MES重构的原动力。在实施MES重构过程中,会不同程度地涉及车间生产组织结构、制造资源及生产流程3大要素。 1. 车间生产组织结构的重构 为了加强各生产部门之间的协作,提高车间的管理运行效率和车间生产的柔性,需要不断调整或精简车间各生产职能部门,重构原有的车间组织结构。如车间典型的3层管理模式为车间主任—工段长—班组长,随着生产能力的升级和管理效率的需要,可通过增强车间主任的向下管理职能和班组长的向上管理职能,取消工段长。组织结构的重构在MES系统里的最直接反映是系统用户和用户权限的变更,这在目前的 MES系统里比较容易实现。 2. 车间制造资源的重构 车间制造资源包括设备、工具、人员等物理制造资源、在制品信息、质量等制造过程信息资源,以及订单计划、工艺、图纸、库存信息等外部集成制造信息资源。这些制造资源在实际生产中都能发生动态变化,具体表现为: 增加或减少设备、工具、人员,设备制造能力增强,增添质量跟踪信息,添加或取消与外部系统的集成等。MES必须具备对车间制造资源重构的能力,及时反映车间制造资源的变化。 3. 车间生产流程的重构 生产流程就是将车间各种功能性生产活动有机地组织起来完成生产制造过程,各功能性生产活动涉及相应的车间制造资源。企业业务目标的变更和车间环境的变化使得先前运行良好的生产流程会变得过时,不再适应变化的环境,MES必须对其重构。生产流程的重构必然在一段时间内带来适应性和生产平稳性问题,如果过高频度地对关键生产流程进行重构容易使车间生产发生动荡,因此应适时、适度地对生产流程进行重构。要实现这一点,就需要在MES系统里建立相应的流程评价机制,通过对生产流程的评价,找到需要重构的关键点,提高流程重构的水平和效率。 3.3.2可重构MES体系结构 建立可重构MES体系结构的主要支撑技术有组件技术、工作流技术、多智能体系统、业务流程管理(business process management,BPM)等。此外,先进的IT架构也