邹佳霖,范宝德,韩兆玉
(烟台大学计算机与控制工程学院,山东 烟台 264005)
作为先进车间管理技术的载体,执行制造系统(Manufacture Execute System,MES)上承ERP(Enterprise Resource Planning)系统,下接车间控制系统,在企业自上而下的管理模式中架起了一座桥梁[1].它针对整个制造过程进行优化,需要收集并处理生产过程中产生的大部分实时数据,同时要与计划层和控制层保持双向的通信能力,完成数据的交互并将计划层的意见反馈至车间落实,整个系统的运行由事件来进行驱动,属于典型的离散事件动态系统(Discrete Event Dynamic Systems,DEDS).MES系统是制造技术、信息技术和管理模式发展与应用的产物,对于车间管理方式的发展提供了强有力的信息技术支持.因此,降低MES系统的模型复杂度,提升运行效率,减少设计成本,对于企业发展有着重大的现实价值.
对于易受市场需求与生产资源影响的多品种小型制造企业,MES系统对其意义显得更为重要.本文以水产加工MES系统为研究对象,通过分析水产加工行业中通用的工艺流程,建立MES基础功能模型,对MES系统开发前期的系统复杂程度进行计算,研究技术可行性.
为了完成水产加工MES系统一系列复杂的离散控制,采用了Petri网这一先进的形式化建模工具来构造系统模型[2].Petri网理论是通过直观的图形来表达信息的一种建模语言,它以数学的理论知识作为依据,借助图形化的表示,形象地描述各操作间的并发、因果及约束关系,明了地展示系统中每个模块的特性.Petri网拥有丰富的分析技术,可以对建立的模型进行活性、复杂性等特点的分析,对系统的不适性进行优化,进而改进消除系统中存在的问题[3].Petri网的一系列优点使其能够用于离散事件系统的建模研究,在实际领域应用Petri网已经成为一种常见的离散事件系统建模分析方法,它在生产追溯[4]、调度优化[5]、工作流建模[6]、故障诊断[7]等方面都有很好的表现.
本文将MES系统中传输的数据类型以及功能结点进行统计分析,依据整体功能将其划分为3个功能模块,将数据结点与功能结点进行集成,建立相应的Petri网模型,并根据结点数量与联结关系对整体复杂度进行求解.
由于水产加工的产品类型不同,使得实际需求与生产流程都存在一定的差异,因此本文针对水产加工行业的基础功能,以常见的鱼类产品为目标设计该MES系统,其整体运作流程如下:
(1)根据订单信息定制生产计划,设计工艺路由的流程,对设备进行分配,制定BOM物料清单,规定工站、工序、员工在路由上的对应关系等.
(2)根据生产要求制定相应的质量标准,并对可能出现的质量问题提出相应的追溯方法,对生产中的违规现象进行说明.
(3)根据工人的岗位制定相应的绩效核算方式,对工时以及计数单位进行统一规范.
(4)追踪产品的生产情况,对生产中出现的残次品信息、设备故障信息、设备保养信息进行上报,对生产中订单的进度信息实时跟踪.
(5)将系统采集的相关数据进行统计,生成相应的质量报表、设备管理报表、工人绩效报表、BOM物料清单报表等.
(6)管理人员通过所获得的相应权限对相应的报表进行查看与分析.
基本运行流程如图1.
图1 水产加工MES系统运作流程
功能是组成信息系统模型的基本要素之一,在设计信息系统时,必须明确系统的实现目标,通过功能定义诠释所对应问题的理解[8].针对水产车间的加工流程特点,将传统的水产加工MES系统功能进行细化,划分为8个功能单位:机构管理,工艺路由设计,产品追踪,物料管理,订单管理,质量管理,绩效管理,设备管理.水产加工MES基础功能模型如图2.
功能结点采用符号tab进行定义,a表示功能模块的编号,b表示功能模块下的功能结点.图2所示的所有的叶子结点可视为MES的基本功能合集T,则可得到:
T={tab}(a∈(1,2,…,8),b∈N+).
(1)
功能模块中的报表以及设备的分类涉及到生产中的具体工序.以常见的鱼类产品为例,水产品加工的种类虽然复杂,但是生产所历经的工序以及每道工序所使用的设备大致相同,工序大致分为如下几步:去头工序、开片工序、挑刺工序、切段工序、烘烤工序、包装工序.每道工序所使用的设备及其功能如表1[9].
图2 水产加工MES系统基础功能模型
表1 设备功能表
MES功能的设计覆盖了整个车间生产流程,实现了从订单到原材料、产品到质量、设备到工序等关键点管理,同时为确保信息的安全性,对不同的用户进行了权限的分配,从而实现安全的数据共享,确保生产的每一步都能够被系统所记录及约束.
MES系统作为企业集成模型的中间一环,负责与ERP、SCADA等外部环境进行数据的交换,外部交换数据采用符号if(f∈N+)进行定义,数据资源符号的表示以及名称定义如表2.
表2 外部交换数据
这些数据可视为Petri网模型的起点和终点,根据MES系统的运作流程,与外部环境的数据交换如图3.
图3 MES数据交换接口
MES系统的目标是进行全局优化,单个生产单元的优化不一定能够产生全局优化,因此,可以将车间生产流程分解为几个大模块,在模块内部进行优化,以利于求解,但同时这些模块之间也需要保持关联.根据水产品加工的工作流程,按照功能关联性将其分为3个模块:基础资料管理模块M1,物料产品管理模块M2,质量绩效管理模块M3.其中,模块总数据集采用符号pn(n∈(1,2,3))表示,模块内部交换数据集采用符号pm(m>100)表示,总数据集为内部交换数据pm与外部数据if之和,即:
pn={pm}∪{if}.
(2)
(1) 基础资料管理模块M1包括订单管理、机构管理、工艺路由设计与设备管理,数据资源符号的表示及名称定义如表3.
将M1的总数据集定义为p1,由公式(2)可知:
∪{i1,i2,i5,i6,i7,i9,i14,i16,i17}.
(3)
(2)物料产品管理模块M2包括BOM物料管理与产品管理,数据资源符号的表示及名称定义如表4.
将M2的总数据集定义为p2,由公式(2)可知:
p2={p105,p202,p203,p204,p205,p206,p207}∪{i3,i4,i13}.
(4)
(3)质量绩效管理模块M3包括质量管理与绩效管理,数据资源符号的表示及名称定义如表5.
表3 模块一数据资源
表4 模块二数据资源
表5 模块三数据资源
将M3的总数据集定义为p3,由公式(2)可知:
{i8,i10,i11,i12,i15}.
(5)
Petri 网建模的过程主要是建立一种解决监测调度过程中共享资源(主要是加工设备)的冲突使用和任务排序的逻辑约束问题的方法.为了降低系统的复杂性,提高系统的可靠性,水产加工MES系统建模采用了自上而下的一种层次化的构造方法[10-11],采用Petri网建立水产加工MES系统的原始流程模型步骤如下:
(1)对模型所要表示的功能对象进行界定,即明确系统所要实现的功能;
(2)分析该模型的运行流程与结构,对模型内包含的要素(例如资源、动作、流程等)进行分类注释,建立实体与行为所对应的库所和变迁映射;
(3)建立完整的模型,定义输入/输出消息,消息模型体现了结点与外部联系的方式.
2.1.1 Petri网结构定义 Petri网系统是一个六元组[14],以符号∑表示,即∑=(Ps,Ts;F,K,W,M),其中:
(1)N=(Ps,Ts;F)为网,称为∑的基网,由三类元素组成:数据资源Ps、系统功能Ts、流关系F,其中:
Ps={p1,…,pn}为有限数据资源集合,pn具体组成见公式(2);
Ts={t11,t12,…,tab}为有限系统功能集合;
F⊆(Ps×Ts)∪(Ts×Ps)为流关系,并且:
Ps∪Ts≠∅,Ps∩Ts=∅.
(2)K:Ps→Z+∪{∞}是位置上的容量函数(Z+是正整数合集),规定了位置上可以包含的令牌的最大数目,对任一位置p∈Ps,以K(p)表示向量K中位置p所对应的分量,若K(p)=∞,表示位置p的容量无穷.
(3)W:F→Z+,是流关系上的权函数.
(4)M:Ps→Z(非负整数集合),是位置集合上的标识向量.
2.1.2 Petri网模型元素定义 Petri网中涉及到的过程模型元素如图4.
图4 过程模型元素
库所输入/输出“与”表示活动执行时数据所需的输入/输出条件并行路径;变迁输入/输出“与”表示行为输入/输出的并行路径;并行输入/输出表示活动执行时数据和行为的输入/输出并行路径.库所if与库所pm意义相同,图4所示库所pm的图形元素对于库所if同样适用.
针对MES系统的功能,分别对3个系统功能模型进行集成建模,得到MES的Petri网模型.
(1)基础资料管理模块M1
订单管理:将订单下达至系统,根据生产计划(i1)完成订单的排单(t51),生成作业计划(p101);当订单的生产计划发生变更(t52),接收订单变更通知(i2),生成新的作业计划(p101),并将对订单数据进行追踪,得到生产报表(i17).
机构管理:根据员工信息(i7),对员工进行岗位分配(t11),获得员工排班信息表(p102);将员工排班信息表(p102)与权限分配(i6)结合,对员工进行相应的权限分配(t12),得到员工管理报表(i9).
工艺路由设计:根据作业计划(p101)对工艺路由中包含的工序进行设计(t21),生成工序记录表(p104);将工序与对应工站进行记录(t24),生成工序与工站的关联表(p105),该关联表内包含6个子表:去头工站(p106)、开片工站(p107)、挑刺工站(p108)、切段工站(p109)、烘烤工站(p110)、包装工站(p111);将p102与p105进行关联,生成工站与员工关联报表(p103),将得到的路由数据进行整理,得到路由信息(i16).
设备管理:将设备资源(i5)统计录入(t86)生成设备父类信息表(p119),并进行设备分配(t85),生成相应的设备记录表(例如ID卡与读卡器p115);对设备信息进行采集(t84)生成设备采集数据表(p114);对于设备中出现的故障问题进行设备故障记录(t82),生成设备故障记录信息(p112);对设备进行的保养(t83)生成设备保养记录(p113),将设备获取的信息进行整理(t81),生成最终的设备信息报表(i14).
M1的工序工站关联表(p105)与模块二M2的物料出库信息(p205)通过物料投放相连接(t444),设备采集数据表(p114)与模块三M3的单位数据信息(p308)通过设备数据提交(t872)相连接.M1与M2、M3的连接在图5中用虚线箭头与虚线方框表示.
M1得到的功能集成模型m1如图5.
图5 M1的Petri网集成模型m1
(2)物料产品管理模块M2
BOM物料管理:从生产报表(i3)处对所得物料进行盘点(t41),获得物料库存信息(p204);对物料进行入库处理(t43),获得物料入库信息(p206),在投入生产后进行物料出库管理(t44),获得物料出库信息(p205),将信息整理(t42)后生成物料报表(i4).
产品管理:根据物料出库信息(p205)与工序工站信息(p105)进行物料投放(t444),生成物料投放表(p207);对产品的上线(t32)与下线(t33)以及所在工序、所用原料进行记录,生成产品上线记录表(p202)和产品下线记录表(p203),通过对产品进行生产追踪(t31)生成最终产品报表(i13).
M2的物料出库信息(p205)与M1的工序工站关联表(p105)通过物料投放(t444)相连接,在图6中用虚线箭头与虚线方框表示.
模块M2得到的功能集成模型m2如图6.
图6 M2的Petri网集成模型m2
(3)质量绩效管理模块M3
质量管理:根据质量标准(i8)对生产中的异常工序进行记录(t62),生成异常工序记录表(p302);对于生产中出现的员工违规现象进行违规处理(t64),生成违规处理表(p303),将其关联至员工的绩效报表(t672),对绩效报表(i11)中的绩效进行扣除,并生成违规信息报表(i10);对产品生产流程中出现的残次品进行记录(t61),生成残次品记录表(p301);对于后期出现的质量问题进行源头追溯(t65)并记录(p304),分为原料(t651)、工艺(t652)、订单(t653)3种途径,将质量信息统计(t63)生成质量报表(i12).
绩效管理:将违规处理表(p303)进行违规处理情况统计(t672)生成员工数据记录表(p309);对生产中涉及到的单位根据单位数据(i15)进行规范(t71),生成单位数据信息(p308),结合设备所采集到的数据(p114)将其提交(t872)至员工数据记录表(p309),并结合通过绩效统计(t72),生成绩效报表(i11).
M3通过单位数据信息(p308)与M1的设备采集数据表(p114)通过设备数据提交(t872)相连接,在图7中用虚线箭头与虚线方框表示.
模块M3得到的功能集成模型m3如图7.
(4)总体系统集成模型
由3个模块的模型图可知,M1通过t444与M2相连,通过t872与M3相连.将3个模块的Petri网模型进行集成得到基于Petri网的水产加工MES系统的总体模型图,如图8.
图7 M3的Petri网集成模型m3
图8 Petri网总体集成模型
系统模型复杂性包括系统的内部结构与外部特性两方面.内部结构反映了系统的静态复杂性,主要是通过结点数量以及结点间的相互关系表现出来,而外部复杂性则反映了系统的动态复杂性.
水产加工MES系统是一个动态的复杂系统,动态复杂性受到多种外部因素的影响,处于一个动态变化的过程,因此,本文主要从系统的内部结构出发,讨论其静态复杂性.Petri网模型由库所结点和功能结点及其之间的相互关系构成,MES系统的复杂性主要受以下两方面影响:
(1)组成Petri网的结点称为系统的结点集合N,其形成的结点复杂度用Sn表示.
(2)组成Petri网的结点之间的相互关系称为系统的关系集合R,其形成的关系复杂度用Sm表示.
设Sa为系统整体模型复杂度,则有
Sa=f(Sm,Sn).
(6)
Sn与Sm对于Sa的影响程度不同,假设不考虑其他影响因素,则Sn与Sm对Sa影响比例之和为1,即
Sn=aSn+bSm,
(7)
a+b=1.
(8)
在MES的Petri网模型中,结点对于系统的影响在于每个结点所连接的入度与出度,因此,每个结点的影响系数ai可视为该结点的入度与出度之和跟Petri网模型的流关系总数|F|之比,而Sn的影响系数a是对所有结点的出入度之比的和取平均值,即
(9)
|C|=|T|+|P|.
(10)
结点复杂度Sn与内部资源结点和功能结点的数量相关,设Sn=f(|T|+|P|),则有[15]
(11)
关系复杂度Sm中包含了内部资源结点集P和功能结点集T两者间的输入输出关系,每个结点对于资源的竞争使得整个系统容易产生冲突结构,因此,对于结点间的关系复杂度进行分析是十分必要的.
定义1[15]Petri网中的任意结点pi与其相连接的结点的关系复杂度为spi,则有
(12)
(13)
定义2[15]设Petri网中的任意结点tj自身的关系复杂度为sti,则有
(14)
(15)
整个MES系统的关系复杂度Sm可通过定义2进行计算.
定义3[15]给定Petri网∑=(P,T;F),定义其关系复杂度Sm为
(16)
根据上述公式对图5、图6、图7的Petri网复杂度进行分析,可知内部资源结点集合|P|=36,功能结点|T|=40,有向弧的集合|F|=106,前后集不为空的结点集合|X|=76,求得Sa,Sn,Sm,a,Spi,Sti的如表6.
表6 MES模型复杂度分析
通常,一个模型的整体结构复杂度是由其关系复杂度决定的,因此,Sm的值的大小决定了该系统模型是否复杂.Sm与MES模型复杂度的参照表如表2.
表7 MES模型复杂度参照表
关系复杂度代表了结点之间的关系密切程度,由该表可知,该MES模型的关系复杂度Sm介于0与0.5之间,结构理想,具有一定的复杂性,结点之间的连接较为简单,便于对其进行功能的扩展或者修改.
本文通过解析水产加工MES系统的特点对其建立了Petri模型,该模型较好地描述了MES系统各组件之间的关系与数据流向,使各组件之间的关系更加清楚,系统结构更加严密.通过对模型的复杂度进行分析,便于在建模时对其进行控制和调整,在数据的指导下提高建模的质量.该模型结构较为简单,复杂性较低,结点之间的连接关系密切程度较低,功能上具有很大的扩展空间,在不影响整体结构稳定性的前提下,很多具体的功能细节可以根据实际应用进行修改,整体模型可随着技术与生产条件的变化而不断调整,在保持系统稳定性与可靠性的前提下,提高了系统的灵活性与可扩充性.