一种基于Petri网的含有不可观事件的无死锁控制方法技术

技术编号:21297697 阅读:17 留言:0更新日期:2019-06-12 07:14
本发明专利技术属于自动制造系统技术领域,涉及一种基于Petri网的含有不可观事件的无死锁控制方法,其特征是:至少包括如下步骤:(1)获取自动制造系统中自动控制过程可行步长;(2)依据自动控制过程可行步长得到最优步长;(3)获取最优步长的节点信息,根据节点信息判断节点中是否有死锁状态,如果没有,返回步骤(3)开始,有进入避免死锁步骤。它提供一种适应于自动制造系统的基于Petri网的含有不可观事件的无死锁控制方法,以解决自动制造系统含有不可观事件(但事件可控)的自动制造系统离线死锁。

【技术实现步骤摘要】
一种基于Petri网的含有不可观事件的无死锁控制方法
本专利技术属于自动制造系统
,涉及一种基于Petri网的含有不可观事件的无死锁控制方法。
技术介绍
死锁是自动化生产系统控制设计时必须考虑和解决的问题。死锁造成的整个或部分系统的停顿,有些情况下,并不是单纯地降低生产率,而是可能造成重大的经济损失甚至灾难性的后果。对死锁问题的系统研究,始于二十世纪下半叶,源于计算机操作系统的资源分配问题。上个世纪八十年代以后,制造系统完成了从大批量、品种单一的生产模式向以小批量、多品种以及具备适应市场快速变化能力为目标的现代自动柔性制造系统的转变,自动制造系统的死锁研究也受到了广泛重视和研究。随着系统复杂性的提高,考虑到安全性和观测成本高等一些原因,因此在系统中会不可避免的存在不可观事件;比如:核反应是我们所熟知的一个反应,其内部的反应是相当的复杂,有好多反应也是不可观测的,那么工作人员是采取怎样的控制策略才能使核反应最终到达一个理想的状态呢?因此我们可以联想到我们所研究的自动制造系统,如果系统中有不可观变迁的存在,那么我们将采取怎样的控制策略对系统加以控制,使系统始终处在一个理想的状态,从而保证系统的正常运行(即不会走到死锁状态)。截止到目前为止,研究者研究了含有不可观事件的自动制造系统的死锁避免策略,还是存在一些缺陷,具体体现在:1.大部分都是对所有事件都是可观可控的或者只含有不可控事件的自动制造系统的研究,对只含有不可观事件(但事件可控)的自动制造系统的研究很少。2.大部分的控制方法是离线的计算机制,离线的加控制器来进行死锁的避免。
技术实现思路
本专利技术的目的是提供一种适应于自动制造系统的基于Petri网的含有不可观事件的无死锁控制方法,以解决自动制造系统含有不可观事件(但事件可控)的自动制造系统离线死锁。为实现上述目的,一种基于Petri网的含有不可观事件的无死锁控制方法,其特征是:至少包括如下步骤:(1)获取自动制造系统中自动控制过程可行步长;(2)依据自动控制过程可行步长得到最优步长;(3)获取最优步长的节点信息,根据节点信息判断节点中是否有死锁状态,如果没有,返回步骤(3)开始,有进入避免死锁步骤。所述的步骤(1)包括如下步骤:步骤1:输入PN的初始状态M0以及预测步长stepsize,不可观变迁集合TUO;步骤2:初始化,令M=M0,stepsize=1,给一个时间T0;步骤3:从当前状态M(可能是一个状态也可能是多个状态的集合),以步长stepsize预测,得到M下可以使能的变迁集合Ten及预测到的可达状态集合Q;步骤4:将可达状态集合Q中同一不可观变迁相连的连续的状态划分状态集合为Quo;步骤5:若在M下则根据步骤4得到状态集合为Quo,更新当前状态M,即令M=Quo,回到步骤3重新向下执行;步骤6:直到M≠Quo,依据变迁集合Ten是否为空,为空回到步骤2重新执行,不为空,继续执行;步骤7:若M是Quo,根据Quo中状态是否有可以使能的变迁,决定回到2重新执行还是执行步骤6中部分内容;步骤8:若程序运行的时间T<T0,更新当前状态M即M=M*,回到步骤2重新执行,否则令suofs=stepsize,输出suofs。所述步骤6,根据Ten的两种可能情况分别讨论如下:6.1若Ten为则令stepsize=stepsize*2,更新步长stepsize,回到2重新执行;6.2若Ten不为则随机发射t∈Ten,到达新的状态M*。上述6.2步骤中,若再分为以下两种情况:6.2.1若则stepsize=stepsize*2,更新步长stepsize,回到2重新执行。6.2.2若考虑M∈Mgood则随机发射t∈Ten,到达新的状态M*。M∈MCR则从Ten中将发射到达坏死或者死锁状态的变迁剔除掉的集合中随机选择一个变迁t进行发射,到达新的状态M*。所述步骤7,根据Quo中状态是否使能,分两种情况讨论入下:7.1若Quo中有至少一个状态没有可以使能的变迁,则令stepsize=stepsize*2,更新步长stepsize,回到步骤2重新执行;7.2若Quo中每一个状态都有可以使能的变迁,从上述步骤6.2开始向下执行。所述的步骤(2)包括:步骤21:输入PN的初始状态M0以及初始步长stepsize,不可观变迁集合TUO,步骤(1)中的t0及步骤(1)中的输出Suofs;步骤22:初始化,令M=M0,stepsize=1;步骤23:令S1=Suofs。步骤24:若Suofs≤2则Suop=Suofs则输出Suop,结束。步骤25:若Suofs>2则重新计算预测步长,输出Suop或者回到步骤3。所述步骤25,根据的值是否为0,分两种情况讨论如下:5.1若则参考算法一,从初始状态M0,以步长预测。5.2若则从初始状态M0,以步长预测。其中,5.1步骤中,根据系统是否进入死锁,有以下几种情况:5.1.1如果在T0时间内一旦系统走到了死锁状态则令5.1.2如果在T0时间内,系统没有走入死锁状态,则令5.1.3输出Suop,结束。同样的,5.2步骤中,根据系统是否进入死锁,有以下几种情况:5.2.1如果在T0时间内一旦系统走到了死锁状态则令更新S0,回到步骤23,重新执行。5.2.2如果在T0时间内系统没有走入死锁状态,则令更新S1,回到步骤23,重新执行。所述的步骤(3)包括:步骤31:输入PN的初始状态M0,不可控变迁集合TUO及步骤(2)的输出Suop;步骤32:初始化,令M=M0,stepsize=Suop。步骤33:从当前状态M,以步长stepsize预测,得到M下可以使能的变迁集合Ten及预测到的可达状态集合Q。步骤34:将Q中同一不可观变迁相连的连续的状态划分为一类,称这类状态集合为Quo。步骤35:若在M下则根据步骤34得到的Quo,更新当前状态M,即令M=Quo,回到步骤33重新向下执行。步骤36:若则随机发射t∈Ten,到达新的状态M*。步骤37:若则选择Ten,到达新的状态M*。步骤38:更新当前状态M即M=M*,回到33重新执行。所述步骤36,若分两种情况讨论:6.1若M∈Mgood则随机发射t∈Ten,到达新的状态M*。6.2若M∈MCR则从Ten中将发射到达坏死或者死锁状态或者含有坏死或者死锁状态的Quo的变迁剔除掉的集合中随机选择一个变迁t进行发射,到达新的状态M*。与现有的技术相比,本专利技术具有有益的效果,具有体现在以下几个方面:1.本专利技术对只含有不可观可控变迁的PetriNet进行了研究并提出了一种死锁避免的方法。2.本专利技术的死锁避免方法不需要检测全局信息,只需要关注当前状态预测的局部信息,避免了穷举所有的状态,从而计算和存储复杂度大大地简化。3.本专利技术采用边预测、边控制的实时在线运行方针,不需要提前设计控制器。根据在当前状态下预测到的状态进行分析判断,根据判断的结果及时地反馈给控制器。控制器做出恰当的控制决策,来决定在当前状态下需要发射那个变迁,从而避免在加工过程中出现死锁状态,导致生产线停滞,造成巨大的损失。4.本专利技术的方法是根据上边的算法随机发射变迁的性质从而极大地改善系统的许可性,使系统的许可性尽可能的达到最大。下面结合附图和具体实施方式对本专利技术进行详细说明。附图说明本文档来自技高网...

【技术保护点】
1.一种基于Petri网的含有不可观事件的无死锁控制方法,其特征是:至少包括如下步骤:(1)获取自动制造系统中自动控制过程可行步长;(2)依据自动控制过程可行步长得到最优步长,所谓的最优步长就是从当前的状态预测到的信息不是太多也不是太少,以这个步长预测的信息正好能够对系统进行控制从而避免系统发生死锁,而可行步长虽然也能避免死锁但是其预测的信息有点多,会造成不必要的计算和分析;(3)获取最优步长的节点信息,根据节点信息判断节点中是否有死锁状态,如果没有,返回步骤(3)开始,有进入避免死锁步骤。

【技术特征摘要】
1.一种基于Petri网的含有不可观事件的无死锁控制方法,其特征是:至少包括如下步骤:(1)获取自动制造系统中自动控制过程可行步长;(2)依据自动控制过程可行步长得到最优步长,所谓的最优步长就是从当前的状态预测到的信息不是太多也不是太少,以这个步长预测的信息正好能够对系统进行控制从而避免系统发生死锁,而可行步长虽然也能避免死锁但是其预测的信息有点多,会造成不必要的计算和分析;(3)获取最优步长的节点信息,根据节点信息判断节点中是否有死锁状态,如果没有,返回步骤(3)开始,有进入避免死锁步骤。2.根据权利要求1所述的一种基于Petri网的含有不可观事件的无死锁控制方法,其特征是:所述的步骤(1)包括如下步骤:步骤1:输入PN的初始状态M0以及预测步长stepsize,不可观变迁集合TUO;步骤2:初始化,令M=M0,stepsize=1,给一个时间T0;步骤3:从当前状态M,以步长stepsize预测,得到M下可以使能的变迁集合Ten及预测到的可达状态集合Q;步骤4:将可达状态集合Q中同一不可观变迁相连的连续的状态划分状态集合为Quo;步骤5:若在M下则根据步骤4得到状态集合为Quo,更新当前状态M,即令M=Quo,回到步骤3重新向下执行;步骤6:直到M≠Quo,依据变迁集合Ten是否为空,为空回到步骤2重新执行,不为空,继续执行;步骤7:若M是Quo,根据Quo中状态是否有可以使能的变迁,决定回到步骤3重新执行还是执行步骤6中部分内容;步骤8:若程序运行的时间T<T0,更新当前状态M即M=M*,M*表示的是一个新的状态,回到步骤2重新执行,否则令suofs=stepsize,输出可行步长suofs。3.根据权利要求2所述的一种基于Petri网的含有不可观事件的无死锁控制方法,其特征是:所述步骤6,包括:6.1若可以使能的变迁集合Ten为空:则令步长stepsize=stepsize*2,更新步长stepsize,回到步骤2重新执行;6.2若Ten不为则随机发射t∈Ten,到达新的状态M*;若按下面步骤:6.2.1若则stepsize=stepsize*2,更新步长stepsize,回到2重新执行;6.2.2若考虑M∈Mgood则随机发射t∈Ten,到达新的状态M*;M∈MCR则从Ten中将发射到达坏死或者死锁状态的变迁剔除掉的集合中随机选择一个变迁t进行发射,到达新的状态M*。4.根据权利要求2所述的一种基于Petri网的含有不可观事件的无死锁控制方法,其特征是:所述步骤7,包括如下步骤:7.1若Quo中有至少一个状态没有可以使能的变迁,则令stepsize=stepsize*2,更新...

【专利技术属性】
技术研发人员:王升升胡核算王慧霞
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1