Petri网建模与其仿真软件20-sim钟黔1.Petri网概况2.经典Petri网3.20-sim离散事件系统(DES)理论方法1.形式与自动机2.极大-加法代数3.排队论4.算数与布尔函数5.马科夫链6.摄动分析7.Petri网Petri网概述Petri网(PN)最早由CarlA.Petri博士与1962年提出。是离散事件动态系统(DiscreteEventDynamicSystem,DEDS)的描述工具,可描述异步、同步、并行逻辑关系,是描述、分析和控制DEDS的最有效和应用最广泛的方法大量研究(10.000publications),至1985年,它主要被用于理论界;自从80年中期后,实际的应用越来越多,这主要是由于引入高阶Petrinets和许多工具;最早是应用于计算机信息处理、然后工程方面(自动制造系统)、目前在计算机、自动化、通信、交通、电力与电子、服务与制造都得到广泛应用。Petri网定义Petri网的规则有向弧是有方向的两个库所或变迁之间不允许有弧库所可以拥有任意数量的令牌行为:如果一个变迁的每个输入库所(inputplace)都拥有令牌,该变迁即为被允许(enable)。一个变迁被允许时,变迁将发生(fire),输入库所(inputplace)的令牌被消耗,同时为输出库所(outputplace)产生令牌。Petri网的规则没有一个变迁只发生了一半的可能性。有两个或多个变迁都被允许的可能,但是一次只能发生一个变迁。这种情况下变迁发生的顺序没有定义。如果出现一个变迁,其输入库所的个数与输出库所的个数不相等,令牌的个数将发生变化,也就是说,令牌数目不守恒。Petri网络是静态的,也就是说,不存在发生了一个变迁之后忽然冒出另一个变迁或者库所,从而改变Petri网结构的可能。Petri网的规则Petri网的状态由令牌在库所的分布决定。也就是说,变迁发生完毕、下一个变迁等待发生的时候才有确定的状态,正在发生变迁的时候是没有一个确定的状态的。两个变迁争夺一个令牌的情形被称之为冲突。当发生冲突的时候,由于Petri网的时序是不确定的,因此具体哪个变迁得以发生也是不确定的。实际应用中,往往需要避免这种情形多个弧连接两个节点的情况。在输入库所和变迁之间的弧的个数决定了该变迁变为被允许需要的令牌的个数。弧的个数决定了消耗/产生的令牌的个数冲突并发Petri网特点1.PN采用可视化图形描述DES的静态结构及动态结构2.PN是一种结构化的DES描述工具,它能够充分描述DES局部及局部之间的联系3.可以用于检查防止诸如锁死、堆栈溢出等不期望的系统行为性能4.能够直接从可视的PN模型动态产生DES监控控制编码,还可以构建PN模型运行算法实现DES的实时控制Petri网特点5.用于DES的仿真,从而对系统进行分析与评估6.可以通过模块化与层次化描述复杂的DES7.同时支持数学上形式化描述与分析DES8.PN模型可转化为其他DES模型Petri网建模的缺点Petri网实际上是在模型构成上增加了模型的组成元素,因此往往导致组成模型的元素数量过多Petri网不如基于活动网络容易理解Petri网的建模中不能在网中体现数据流,尽管基于状态建模的Petri网能够精确、方便地对过程的控制逻辑进行定义,在这种情况下,数据流就与控制流完全混合,当两者不一样的时候,Petri网就无法显式地表示这种独立于控制流之外的控制流Petri网应用1.基于Petri网的制造系统建模与仿真2.Petri网控制器3.基于Petri网模型的制造系统生产调度4.基于Petri网模型的制造系统分析经典Petri网经典的Petri网是一个由库所places()和转移transitions()构成的网络t2p1p2p3p4t3t1连接具有方向,并在库所和转换之间。令牌Token是动态对象。Petri网的状态由分布在库所中的令牌决定Petri网的组成元素Petri网简称PNG(PetriNetGraph),它有库所和转移两种结点库所(Place)小圆圈P转移(Transition)小方块T连接(Connection)是库所和转移之间的有向边,流关系F,K令牌(Token)是库所中的动态对象,可以从一个库所移动到另一个库所•顺序流程迭代(循环)流程并发流程选择流程令牌迁移的例子库所代表缓存,渠道,地理位置,条件或者状态转移代表时间,传输或者转换令牌表示对象(humans,goods,machines),信息或者对象的状态过程的状态用位于库所的令牌来表示,状态之间的变换用转移来表示基于PetriNet的流程建模rg1red1yellow1green1yr1gy1rg2red2yellow2green2yr2gy2safe例子:两个安全的交通灯20-sim的总体论述建模的平台是一种通用键合图自动仿真软件20-sim。20-sim是由荷兰的Twente大学的控制实验室所开发的一个主要面向机电系统设计的一体化建模仿真平台,可以运行在Windows和Sun-Unix操作系统下,其前身是TUTSIM。SIDOPS+仿真语言20-Sim提供了一种叫做SIDOPS+的仿真语言来书写方程。这种语言和数学方程的形式非常相似而且很容易掌握。SIDOPS+语言有它完整的规范,包括100多个保留字、数据类型定义、操作符、流程控制、常用函数和特殊函数。特别是一些与仿真有关的函数是非常高效的,往往是用通用算法语言需要大段程序才能完成的功能。仿真环境20-sim提供了6种先进的积分算法,从而保证了最快的仿真速度和正确的仿真结果。利用其自身的仿真器对系统模型进行检验和纠错,然后编译成可运行的仿真模型并可生成标准的C语言代码。在仿真器中可以设置子模型的实际参数、选择绘图变量、选择积分方法、设定仿真初始条件和仿真运行方式等。仿真运行结果可分别显示在曲线绘图窗口和动画演示窗口。1.方程模型2.方框图模型3.键合图模型4.标志图模型20-SIM支持的4种模型示例图方程模型,是最低水平的模型层(子),它适合进入各种线性和非线性方程组。方框图模型可以是单机(主要模式),或形成一个子。框图有一个清晰的信息流,并可以分开在不同的层次。键合图模型可单机(主要模式),或形成一个子。键图模型,适合相当理想的物理模拟系统,因为它们表现出一个明确的相似性与组件的物理系统标志图模型,可以独立(主要模式),或形成一个子。标志图表模型,适合相当理想的物理模拟系统。20-sim实例控制对象如图1所示,这是Twente大学控制实验室的一个机电一体化实验系统模型,中间带有弹簧装置的两个小车,通过齿条-齿轮传动机构,由电动机加以驱动。整个装置可以通过旋转译码器来实现对位置的测量。在20-SIM编辑窗和机械元件库函数中,合理选择子模型,拖拽连接成所需要的实物模型。20-SIM可自动检查模型的正确性,整个模型封装在一个上级模型PLANT中,在此基础上,实际的控制策略通过编程的方式得以实现。图1机电一体化系统的20-SIM模型图2LQR控制方式下的20-SIM模型系统的状态空间模型