Petri网建模及Flexsim仿真摘要:自Petri网创建以来,便以其简单、直观、层次清晰深受用户青睐。随着Petri网的发展,Petri网技术现已在建模领域得到广泛的应用。本文首先简单介绍了Petri网及其经典模型架构;然后将Petri网应用于实际系统,对系统进行建模与分析;最后应用Flexsim对系统进行仿真。关键字:Petri网;Petri经典模型;Petri网运行规则;Petri网建模;Flexsim仿真1.Petri网概述Petri网是对离散并行系统的数学表示。Petri网是20世纪60年代由卡尔·A·佩特里发明的,适合于描述异步的、并发的计算机系统模型。Petri网既有严格的数学表述方式,也有直观的图形表达方式,既有丰富的系统描述手段和系统行为分析技术,又为计算机科学提供坚实的概念基础。多年来Petri网的理论日臻完善,己发展成为具有严密的数学基础,多种抽象层次的通用网论。Petri网的应用涉及各个领域,特别适用于模拟这样的一类系统,即系统中含有相互作用的并行分支。由于Petri网对带有并发性、异步性、分布式、非确定性、并行性系统的有力描述,已成为目前最有前途的建模工具。2.Petri网的经典模型一个Petri网的结构元素包括:库所(place)、变迁(translation)和有向弧(arc)。库所使用圆来标识,用于描述可能的系统局部状态。变迁使用矩形标识,用于描述修改系统状态的事件。有向弧可以从库所节点指向变迁节点,或者从变迁节点指向库所节点。通过有向弧描述库所和变迁之间的联系,等价于自动机中的状态转移函数,表示使事件发生的局部状态(因)或事件发生所引起的局部状态的变化(果)。在Petri网模型中,系统的动态特性用令牌(token)标识,令牌表示为包含在库所节点中的圆点,它反映着库所代表的局部状态实现的动态情况。若某库所中包含一个令牌,则表示库所代表的局部状态的一次实现(条件或结果为真);若库所中无令牌,则表示库所代表的局部状态尚未实现(条件或结果为假)。3.Petri网的运行规则⑴有向弧是有方向的⑵两个库所或变迁之间不允许有弧⑶库所可以拥有任意数量的令牌⑷如果一个变迁的每个输入库所(inputplace)都拥有令牌,该变迁即为被允许(enable)。一个变迁被允许时,变迁将发生(fire),输入库所(inputplace)的令牌被消耗,同时为输出库所(outputplace)产生令牌。⑸变迁的发生是完整的,也就是说,没有一个变迁只发生了一半的可能性。⑹有两个或多个变迁都被允许的可能,但是一次只能发生一个变迁。这种情况下变迁发生的顺序没有定义。⑺如果出现一个变迁,其输入库所的个数与输出库所的个数不相等,令牌的个数将发生变化,也就是说,令牌数目不守恒。⑻Petri网络是静态的,也就是说,不存在发生了一个变迁之后忽然冒出另一个变迁或者库所,从而改变Petri网结构的可能。⑼Petri网的状态由令牌在库所的分布决定。也就是说,变迁发生完毕、下一个变迁等待发生的时候才有确定的状态,正在发生变迁的时候是没有一个确定的状态的。⑾两个变迁争夺一个令牌的情形被称之为冲突。当发生冲突的时候,由于Petri网的时序是不确定的,因此具体哪个变迁得以发生也是不确定的。实际应用中,往往需要避免这种情形。⑿多个弧连接两个节点的情况。在输入库所和变迁之间的弧的个数决定了该变迁变为被允许需要的令牌的个数。弧的个数决定了消耗/产生的令牌的个数。4.Petri网建模实例图1为一物流系统实例图,一生产单元由2台机器M1与M2组成。分别用机器人R1和R2上下工件。一输入传输带输送载有工件的托盘,1个托盘上仅载1个工件。机器人R1从其上抓取工件,并装载到机器M1上,机器人R2将成品从机器M2上卸下,并送到输出传输带上由其送走。2台机器间有一缓冲区,可存放2个中间工件。共有3个托盘可使用,工件安装在其中之一上,先后由机器M1与M2加工。加工完毕后,托盘与成品自动脱离,然后转载新的工件再回到输入传输带上。选用Hips软件对系统进行Petri网的建模。图1物流系统实例图⑴确定系统的所有资源该系统资源包括:3个装载工件的托盘;机器M1与M2;机器人R1和R2及缓冲区。⑵确定与各资源有关所有活动(操作)及其先后顺序,并建立其子模型。a.装载工件的托盘历经以下状态与活动:被R1装载至机器M1;其上工件被M1加工;由R1从M1上卸载;正在中间工件的托盘存放于缓冲区中;由R2装载至M2;其上中间工件被M2加工;由R2从M2上卸载。p1代表载有工件的托盘可使用(其中含有托肯表示可用);p2与p4分别表示托盘上工件在被M1与M2加工之中;p3表示载有中间工件的托盘放置在缓冲区中;t1~t4分别表示R1向M1装载、从M1卸载,R2向M2装载及从M2卸载载有工件的托盘。3个载有工件的托盘的子模型如图2所示。图2b.机器M1/M2历经以下活动与状态:R1/R2装载工件至机器M1/M2由t1/t3表示;工件被M1/M2加工由p2/p4表示;R1/R2将工件从M1/M2上卸载由t2/t4表示;M1与M2的PN子模型如图3与图4所示。图中用p5/p7表示机器M1/M2是否可使用。图3图4c.缓冲区历经以下活动与状态:R1将工件送入缓冲区由t2表示;载有中间工件的托盘存放于缓冲区中用p3表示;R2将工件从堆料区装载至M2用t3表示。缓冲区的PN子模型如图5所示。p6表示空余的缓冲区空位。图5d.机器人历经以下活动与状态:将工件装载至机器M1或M2(由t1或t3表示);机器人在使用之中,即工件在被M1或M2加工之中(用p2或p4表示);将工件从机器M1或M2上卸载(由t2或t4表示);机器人的PN子模型如图6所示。图中用p8/p9表示机器人R1/R2是否可使用。图6⑶根据各资源之间的关系,合并所有子模型得到系统模型,如图7所示。图7⑷部分运行结果图图8图9图10图115.Flexsim仿真图12Flexsim系统仿真图参考文献[1]李歧强,贾雷.物流系统三色Petri网建模与分析.系统工程理论与实践,2003(2)[2]王文学.用Petri网分析离散事件动态系统.控制与决策,2002(3)[3]张蕾,王运峰,王宾.CIMS环境下基于Petri网的物流系统模型MSPN.物流技术,2001(1)[4]刘靓,黄立葵.物流仿真系统构建技术研究.公路交通科技,2004(9)