Nothing Special   »   [go: up one dir, main page]

CN109739196B - 含有不可观与不可控事件的自动制造系统无死锁控制方法 - Google Patents

含有不可观与不可控事件的自动制造系统无死锁控制方法 Download PDF

Info

Publication number
CN109739196B
CN109739196B CN201910026513.2A CN201910026513A CN109739196B CN 109739196 B CN109739196 B CN 109739196B CN 201910026513 A CN201910026513 A CN 201910026513A CN 109739196 B CN109739196 B CN 109739196B
Authority
CN
China
Prior art keywords
state
deadlock
transition
steps
uncontrollable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910026513.2A
Other languages
English (en)
Other versions
CN109739196A (zh
Inventor
王升升
胡核算
王慧霞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201910026513.2A priority Critical patent/CN109739196B/zh
Publication of CN109739196A publication Critical patent/CN109739196A/zh
Application granted granted Critical
Publication of CN109739196B publication Critical patent/CN109739196B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

本发明属于自动制造系统技术领域,涉及一种含有不可观与不可控事件的自动制造系统无死锁控制方法,至少包括如下步骤:步骤一,生成自动制造系统在线可行步长;步骤二,依据生成自动制造系统在线可行步长获取最优步长;步骤三,依据最优步长进行避免死锁控制。它提出一种含有不可观与不可控事件的自动制造系统无死锁控制方法,以便能在不可控与不可观的情况下实现许可性最大的无死锁控制。

Description

含有不可观与不可控事件的自动制造系统无死锁控制方法
技术领域
本发明属于自动制造系统技术领域,涉及一种含有不可观与不可控事件的自动制造系统无死锁控制方法。
背景技术
在Petri网模型下的自动制造系统中,人们提出了很多死锁预防策略,这些策略被广泛用于解决Petri网中的死锁问题。然而,大部分策略都是在假设所有变迁都可控并且可观的情况下得出。而在实际系统中,不可控和不可观变迁是非常常见的,例如:化学反应,化学反应的在进行的时候过程中有许多不可观与不可控的反应。当存在不可控变迁或不可观变迁时,由现有的针对可观可控的策略得到的控制器可能无法阻止系统进入死锁状态。这是因为控制器无法控制不可控变迁,也无法观测不可观变迁。因此已有的控制策略不能用于处理存在不可控和不可观变迁的系统。所以在为系统设计控制器时必须同时考虑不可控变迁以及不可观变迁的影响。但目前并没有一种普遍适用或者较好的控制方法来对含有不可观与不可控事件的自动制造系统进行控制。
到目前为止,研究者研究了含有不可观与不可控事件的自动制造系统的死锁避免策略,还是存在一些缺陷,具体体现在:1.大部分无死锁控制策略都是在假设所有变迁都可控并且可观的情况下得出,并没有考虑系统中存在不可控与不可观的事件的情况。2.针对含有不可控与不可观事件的自动制造系统的无死锁控制的研究,大部分的控制方法是离线的计算机制,离线的加控制器来进行死锁的避免。3.考虑了自动制造系统中不可观与不可控事件的存在,但控制方法具有保守性,导致系统的许可性没有达到最大。
发明内容
为解决现有研究中存在的问题,本发明的目的是提出一种含有不可观与不可控事件的自动制造系统无死锁控制方法,以便能在不可控与不可观的情况下实现许可性最大的无死锁控制。
为实现上述目的,本发明所采用的技术方案是:一种含有不可观与不可控事件的自动制造系统无死锁控制方法,至少包括如下步骤:
步骤一,生成自动制造系统在线可行步长;
步骤二,依据生成自动制造系统在线可行步长获取最优步长;
步骤三,依据最优步长进行避免死锁控制。
所述的步骤一包括:
步骤1:输入PN的初始状态M0以及初始步长stepsize,不可观变迁集合TUO,不可控变迁集合TUC
步骤2:初始化,令M=M0,stepsize=1,给一个时间T0
步骤3:从当前状态M(可能是一个状态也可能是多个状态的集合),以步长stepsize预测,得到M下可以使能的变迁集合Ten及预测到的可达状态集合Q;
步骤4:将Q中不可观变迁相连的连续的状态划为一类,称这类状态集合为Quo
步骤5:若在M下
Figure BDA0001942692070000031
则根据步骤4得到含有状态M的Quo,更新当前状态M,即令M=Quo,回到步骤3重新向下执行;
步骤6:若M不是Quo,根据Ten是否为空,决定回到2重新执行还是继续执行到达新的状态;
步骤7:若M是Quo,根据Quo中状态是否有可以使能的变迁,决定回到2重新执行还是执行步骤6中部分内容;
步骤8:若程序运行的时间T<T0,更新当前状态M即M=M*,回到2重新执行。否则令suoucfs=stepsize,输出令suoucfs
所述步骤6,包括:
6.1,若Ten
Figure BDA0001942692070000032
令stepsize=stepsize*2,更新步长stepsize,回到2重新执行;
6.2若Ten不为
Figure BDA0001942692070000033
考虑Mdead和Q的关系,发射变迁到达新状态;
其中6.2步骤中,包括:
6.2.1
Figure BDA0001942692070000034
Figure BDA0001942692070000035
且t∈Ten,则随机发射变迁t∈Ten,到达新的状态M*
Figure BDA0001942692070000036
且t∈Ten,则随机发射变迁t∈Tuc,到达新的状态M*
6.2.2若
Figure BDA0001942692070000037
根据
Figure BDA0001942692070000038
是否为空,决定更新步长回到步骤2执行还是发射变迁到达新的状态;
上述6.2.2步骤中,包括:
6.2.2.1若
Figure BDA0001942692070000041
则stepsize=stepsize*2,更新步长stepsize,回到2重新执行;
6.2.2.2若临界状态集合
Figure BDA0001942692070000042
包括步骤:
1)若当前状态M∈Mgood
2)若当前状态M∈MCR
其中,1)若
Figure BDA0001942692070000045
且t∈Ten,则随机发射t∈Ten,到达新的状态M*
Figure BDA0001942692070000046
且t∈Ten,则随机发射t∈Tuc,到达新的状M*
2)若当前状态M∈MCR
Figure BDA0001942692070000043
且t∈Ten,则从Ten中将发射到达坏死或者死锁状态的变迁剔除掉的集合中随机选择一个变迁t进行发射,到达新的状态M*
Figure BDA0001942692070000044
且t∈Ten,则随机发射t∈Tuc,到达新的状态M*
所述步骤7,包括步骤:
7.1若Quo中有至少一个状态没有可以使能的变迁,则令stepsize=stepsize*2,更新步长stepsize,回到2重新执行;
7.2若Quo中每一个状态都有可以使能的变迁,从上述步骤6的2)开始向下执行。
所述的步骤二包括如下步骤:
步骤1:输入PN的初始状态M0以及初始步长stepsize,不可观变迁集合TUO,不可控变迁集合TUC,步骤一的T0及的输出suoucfs
步骤2:初始化:令M=M0
Figure BDA0001942692070000051
S1=suoucfs
步骤3:若suoucfs≤2则Suop=Suofs则输出Suop,结束;
步骤4:若Suofs>2则重新计算预测步长,输出Suop或者回到步骤3;
所述步骤5,根据
Figure BDA0001942692070000052
的值是否为0,分两种情况讨论如下:
4.1若
Figure BDA0001942692070000053
则参考步骤一,从初始状态M0,以步长
Figure BDA0001942692070000054
预测;
4.2若
Figure BDA0001942692070000055
则从初始状态M0,以步长
Figure BDA0001942692070000056
预测;
其中4.1步骤中:根据系统是否进入死锁,包括如下步骤:
4.1.1如果在T0时间内一旦系统走到了死锁状态则令
Figure BDA0001942692070000057
Figure BDA0001942692070000058
4.1.2如果在T0时间内,系统没有走入死锁状态,则令
Figure BDA0001942692070000059
4.1.3输出Suop,结束;
同样的,4.2步骤中,根据系统是否进入死锁,包括如下步骤:
4.2.1如果在T0时间内一旦系统走到了死锁状态则令
Figure BDA00019426920700000510
更新S0,回到步骤3,重新执行;
4.2.2在T0时间内系统没有走入死锁状态,则令
Figure BDA00019426920700000511
更新S1,回到步骤3,重新执行。
所述的步骤三包括:
步骤1:输入PN的初始状态M0,不可控变迁集合TUO,不可控变迁集合TUC及步骤二的输出Suop
步骤2:初始化,令M=M0,stepsize=Suop
步骤3:从当前状态M,以步长stepsize预测,得到M下可以使能的变迁集合Ten及预测到的可达状态集合Q;
步骤4:将Q中不可观变迁相连的连续的状态划分为一类,称这类状态集合为Quo
步骤5:若在M下
Figure BDA0001942692070000061
则根据步骤4得到含有状态M的Quo,更新当前状态M,即令M=Quo,回到步骤3重新向下执行;
步骤6:若
Figure BDA0001942692070000062
选择发射t,到达新的状态M*
步骤7:若
Figure BDA0001942692070000063
对M进行分类讨论,确定发射的t,到达新的状态M*
步骤8:更新当前状态M即M=M*,回到3重新执行。
所述步骤6,包括:选择发射t和如下步骤:
6.1若
Figure BDA0001942692070000064
且t∈Ten,则随机发射t∈Ten,到达新的状态M*
6.2若
Figure BDA0001942692070000065
且t∈Ten,则随机发射t∈Tuc,到达新的状态M*
所述步骤7,依据
Figure BDA0001942692070000066
分两种步骤:
7.1若M∈Mgood,选择发射t;
7.2若M∈MCR,选择发射t';
其中7.1步骤中,根据t变迁发射进行:
7.1.1若
Figure BDA0001942692070000067
且t∈Ten,则随机发射t∈Ten,到达新的状态M*
7.1.2若
Figure BDA0001942692070000068
且t∈Ten,则随机发射t∈Tuc,到达新的状态M*
其中7.2步骤中,根据t变迁发射进行:
7.2.1若
Figure BDA0001942692070000071
且t∈Ten,则从Ten中将发射到达坏死或者死锁状态,或者是到达含有坏死或者死锁状态的Quo的变迁剔除掉的集合中随机选择一个变迁t进行发射,到达新的状态M*
7.2.2若
Figure BDA0001942692070000072
且t∈Ten,则随机发射t∈Tuc,到达新的状态M*
与现有的技术相比,本发明具有有益的效果为:
1.本发明考虑了自动制造系统中存在不可观与不可控事件的情况。
2.本发明的死锁避免方法不需要检测全局信息,只需要关注当前状态预测的局部信息,避免了穷举所有的状态,从而计算和存储复杂度大大地简化。
3.本发明采用边预测、边控制的实时在线运行方针,不需要提前设计控制器。根据在当前状态下预测到的状态进行分析判断,根据判断的结果及时地反馈给控制器。控制器做出恰当的控制决策,来决定在当前状态下需要发射那个变迁,从而避免在加工过程中出现死锁状态,导致生产线停滞,造成巨大的损失。
4.本发明的方法是根据算法随机发射变迁的性质从而极大地改善系统的许可性,使系统的许可性尽可能的达到最大。
附图说明
图1是S4R模型示意图。
具体实施方式
一种含有不可观与不可控事件的自动制造系统无死锁控制方法,其特征是:至少包括如下步骤:
步骤一,生成自动制造系统在线可行步长;
步骤二,依据生成自动制造系统在线可行步长获取最优步长;
步骤三,依据最优步长进行避免死锁控制。
所述的步骤一包括如下步骤:
步骤1:输入自动制造生产开始时所有节点信息M0(这个M0里面包含的是六台机器和托盘的信息)及从M0开始工件后续可能进行那几步装载或者卸载,将这个装载和卸载的次数称为步数并记为stepsize;工件向机器(M1,M2)的装载是看不见的,因此称我们将这个事件为不可观事件,这里的不可观变迁集合TUO里面就包含了这一个不可观事件;进程2中工件是否能装载到机器M5,M6上是不可控制,我们将这个事件称为不可控事件,这里的不可控变迁集合TUO里面就包含了这一个不可控事件;
步骤2:初始化:令当前生产过程的信息记为M,刚开始时我们令M=M0,在M这个状态下,我们预测后续如果进行一次装载或者卸载我们整个系统将可能到达的状态,因此我们令stepsize=1,如果进行两次那么stepsize=2,依次类推。我们给一个时间T0,这个T0是用计算机实现模拟这个系统进行的流程,让系统运行的时间;
步骤3:从当前状态M(可能是一个状态也可能是多个状态的集合,因为该系统中有不可观测事件的存在,所以我们有时无法判断当前系统处于哪一个具体的状态),用步长stepsize预测,我们可以知道在M下有哪些事件(比如工件的装载或卸载)可以发生,我们将这些可以发生的事件集合称为Ten;在stepsize次的装载和卸载这个过程中系统所能到达的所有状态,我们称这个状态集合为Q;
步骤4:将Q中同一个不可观事件相连的系统的状态划分为一类(即不可观事件发生前和发生后系统所处的状态分为一类),称这类状态集合为Quo
步骤5:若在M下可能发生的事件中包含不可观的事件即
Figure BDA0001942692070000091
Figure BDA0001942692070000092
则根据步骤4得到该不可观变迁对应的Quo,更新当前状态M,即令M=Quo,回到步骤3重新向下执行;
步骤6:当前的系统所处的状态是可观的即M≠Quo;根据Ten是否为空,决定回到2重新执行还是继续执行到达新的状态;
步骤7:若M是Quo,根据Quo中的状态下是否有可以发生的事件,决定回到2重新执行还是执行步骤6中部分内容;
步骤8:若计算机程序模拟运行的时间T<T0,更新当前状态M即M=M*,回到2重新执行。否则令suoucfs=stepsize,输出suoucfs
所述步骤6,根据在当前状态是否有事件发生即Ten是否为空,进行讨论如下:
6.1若Ten
Figure BDA0001942692070000093
令stepsize=stepsize*2,更新步长stepsize,回到2重新执行;
6.2若Ten不为
Figure BDA0001942692070000094
Q中是否含有死锁状态来判断发生那些事件然后到达新的状态M*
其中6.2步骤中,分为以下两种情况讨论:
6.2.1在Q中没有死锁状态即
Figure BDA0001942692070000095
6.2.1.1若当前可以发生的事件集合Ten中不含有不可控的事件,则按照正常的加工流程走,到达新的状态M*
6.2.1.2若当前可以发生的事件集合Ten中含有不可控的事件,则让不可控的事件发生,到达新的状态M*
6.2.2若Q中含有死锁状态,则从预测到的死锁状态进行反推,推到在stepsize步系统经历的状态是否存在某些状态不是不可避免的到达死锁的状态,其可以到达其它正常的状态,我们称这样的状态集合为临界状态MCR,根据
Figure BDA0001942692070000101
是否为空再做进一步的判断;
上述6.2.2步骤中,包括:
6.2.2.1若
Figure BDA0001942692070000102
则stepsize=stepsize*2,更新步长stepsize,回到2重新执行;
6.2.2.2若临界状态集合
Figure BDA0001942692070000103
分以下两种情况执行:
1)若当前状态是系统所处的正常状态;
2)若当前状态是一个临界状态,即系统在下一步有可能进入死锁状态,也有可能依然处于正常运行状态;
其中,1)若在当前状态下,可能发生的事件集合中不含有不可控的事件,则系统正常运行,到达新的状态M*;可能发生的事件集合中含有不可控的事件,则让不可控的事件发生,系统到达新的状M*
2)若在当前状态下,可能发生的事件集合中不含有不可控的事件,则从Ten中将发射到达坏死或者死锁状态的事件剔除掉的集合中随机选择一个变迁t进行发射,到达新的状态M*;若可能发生的事件集合中含有不可控的事件,则让不可控的事件发生,系统到达新的状M*
所述步骤7,根据Quo中状态是否有可以使能的变迁,分两种步骤:
7.1若Quo中有至少一个状态没有可以使能的变迁,则令stepsize=stepsize*2,更新步长stepsize,回到2重新执行;
7.2若Quo中每一个状态都有可以使能的变迁,从上述步骤6.2开始向下执行;
所述的步骤二包括:
步骤1:输入PN的初始状态M0以及初始步长stepsize,不可观变迁集合TUO,不可控变迁集合TUC,步骤一的T0及步骤一的输出suoucfs
步骤2:初始化:令M=M0
Figure BDA0001942692070000111
S1=suoucfs
步骤3:若suoucfs≤2则Suoucop=suoucfs则输出Suoicop,结束;
步骤4:若Suofs>2则重新计算预测步长,输出Suoucop或者回到步骤3。
所述步骤5,根据
Figure BDA0001942692070000112
的值是否为0,分两种步骤:
4.1若
Figure BDA0001942692070000113
则参考算法一,从初始状态M0,以步长
Figure BDA0001942692070000114
预测;
4.2若
Figure BDA0001942692070000115
则从初始状态M0,以步长
Figure BDA0001942692070000116
预测;
其中4.1步骤中:根据系统是否进入死锁,有以下几种情况:
4.1.1如果在T0时间内一旦系统走到了死锁状态则令
Figure BDA0001942692070000121
Figure BDA0001942692070000122
4.1.2如果在T0时间内,系统没有走入死锁状态,则令
Figure BDA0001942692070000123
4.1.3输出Suop,结束;
同样的,4.2步骤中,包括:
4.2.1如果在T0时间内一旦系统走到了死锁状态则令
Figure BDA0001942692070000124
更新S0,回到步骤3,重新执行;
4.2.2在T0时间内系统没有走入死锁状态,则令
Figure BDA0001942692070000125
更新S1,回到步骤3,重新执行。
所述的步骤三包括:
步骤1:输入自动制造生产开始时所有节点信息M0(这个M0里面包含的是六台机器和托盘的信息)及从M0开始工件后续可能进行那几步装载或者卸载,将这个装载和卸载的次数称为步数并记为stepsize;工件向机器(M1,M2)的装载是看不见的,因此称我们将这个事件为不可观事件,这里的不可观变迁集合TUO里面就包含了这一个不可观事件;进程2中工件是否能装载到机器M5,M6上是不可控制,我们将这个事件称为不可控事件,这里的不可控变迁集合TUO里面就包含了这一个不可控事件。算法二的输出Suoucop
步骤2:初始化:令M=M0,stepsize=Suoucop
步骤3:从当前状态M(可能是一个状态也可能是多个状态的集合,因为该系统中有不可观测事件的存在,所以我们有时无法判断当前系统处于哪一个具体的状态),用步长stepsize预测,我们可以知道在M下有哪些事件(比如工件的装载或卸载)可以发生,我们将这些可以发生的事件集合称为Ten;在stepsize次的装载和卸载这个过程中系统所能到达的所有状态,我们称这个状态集合为Q;
步骤4:将Q中同一个不可观事件相连的系统的状态划分为一类(即不可观事件发生前和发生后系统所处的状态分为一类),称这类状态集合为Quo
步骤5:若在M下可能发生的事件中包含不可观的事件即
Figure BDA0001942692070000131
Figure BDA0001942692070000132
则根据步骤4得到该不可观变迁对应的Quo,更新当前状态M,即令M=Quo,回到步骤3重新向下执行;
步骤6:若Q没有死锁状态,则按照正常的加工流程进行,到达新的状态M*
步骤7:若Q有死锁状态,则根据当前所处的状态进行判断,然后决定让那个事件发生从而让系统进入一个新的状态M*
步骤8:更新当前状态M即M=M*,回到3重新执行;
所述步骤6,选择发射t,包括步骤:
6.1若在系统当前状态下,可以发生的事件集合中不含有不可控的事件则按照正常的流程走,到达新的状态M*
6.2若在系统当前状态下,可以发生的事件集合中含有不可控的事件则可以让不可控的事件发生,到达新的状态M*
所述步骤7,根据Q中是否含有死锁状态分两种步骤:
7.1若当前系统所处的状态是一个正常运转的状态,我们也称这种状态为好状态,下来需要发生哪一个事件需遵循一定规则;
7.2若当前系统所处的状态是一个临界状态,下来需要发生哪一个事件需遵循一定规则;
其中7.1步骤中:
7.1.1在系统当前状态下,可以发生的事件集合中不含有不可控的事件则按照正常的流程走,到达新的状态M*
7.1.2在系统当前状态下,可以发生的事件集合中含有不可控的事件则可以让不可控的事件发生,到达新的状态M*
其中7.2步骤中,根据t变迁发射规则如下:
7.2.1在系统当前状态下,则从Ten中将发射到达坏死或者死锁状态,或者是到达含有坏死或者死锁状态的Quo的变迁剔除掉的集合中随机选择一个事件让其发生,到达新的状态M*
7.2.2在系统当前状态下,可以发生的事件集合中含有不可控的事件则可以让不可控的事件发生,到达新的状态M*
本发明中的符号说明:
PN Petri网
stepsize 预测步长
Sfs 可行步长
M0 初始状态
M 当前状态
Ten 在M下可以使能的变迁集合
Mdead 死锁状态
Q 在M下以stepsize预测到的所有状态
MCR 临界状态集合
TUO 不可观变迁集合
TUC 不可控变迁集合;
Tuc 在当前状态M可以使能的不可控的变迁集合
T0 由系统本身决定
T 实现算法的程序运行的时间
t 变迁
tuo 不可观的变迁
Suoucfs 含有不可观与不可控事件的自动制造系统可行步长
Suop 含有不可观与不可控事件的自动制造系统最优步长
本发明的说明和定义1:
一个Petri网(结构)N是一个四原组(P,T,F,W),P和T分别称为库所和变迁的集合,P和T非空、有限且不相交。也就是说,
Figure BDA0001942692070000151
Figure BDA0001942692070000152
Figure BDA0001942692070000153
称为流关系或有向弧的集合。W:(P×T)∪(T×P)→N是一个映射,该映射为每一条弧分配一个权值,即W(f)>0若f∈F,则W(f)=0若
Figure BDA0001942692070000161
称W为Petri网N的权函数。
定义2:标识(状态)PN为一5要元:
PN={PNS,m}
此处:
(1)PNS={P,T,F,W}为PN结构,它由定义1确定。
(2)m:P→N为标识PN的标识,它为一列向量,其第i个元素表示,第i个库所中的托肯的数目。特别地,m0为初始标识,表示系统的初始状态。
定义3:不可控变迁与不可观变迁
(1)不可控变迁:系统在运行的时候我们不能人为的控制变迁是否发射,变迁想发射就发射了,不想发射就不发射,我们控制不住。这样的变迁我们称为不可控变迁。反之,我们可以人为控制变迁的发射,这类变迁称为可控变迁。
(2)不可观变迁:变迁是否发射我们是不知道的,因此我们不能判断我们是处在当前状态还是发射了不可观变迁到达的下一个状态。
实施例说明:
一生产单元由6台机器(M1,M2,M3,M4,M5,M6)进行工件的加工,其中机器M1,M2的功能一样,M3,M4的功能一样,M5,M6的功能一样。一输入传送带传送载有工件的托盘(1个托盘上仅载有1个工件),工件自动被装载(当然也可人工控制不让其装载,稍后进行装载)到机器上进行加工,加工完成后进行自动传输给下一类机器然后进行后续的加工。为了提高生产的效率,该加工分成两个进程进行加工,第一个进程共有8个托盘可以使用,工件安装在其中之一上,先后由机器人(M1,M2),(M3,M4),(M5,M6)依次进行加工。加工完毕后,托盘与成品自动脱离,然后转载新的工件,再回到输入传输带上,但在这个进程中,工件向机器(M1,M2)的装载是看不见的,也就是将工件放在托以后我们就不知道工件装载没装载到机器(M1,M2)上,是否正在加工。进程2同样也有8个托盘可以使用,工件安装在其中之一上先后由机器人(M5,M6),(M3,M4),(M1,M2)依次进行加工。加工完毕后,托盘与成品自动脱离,然后转载新的工件,再回到输入传输带上。但是在两个进程中的不断加工中,有可能导致进程1需要机器M5,M6进行工件的加工而被进程2的工件加工所占用,而进程2需要M1,M2而被进程1所占用,从而导致两个进程都停止最终导致生产线崩掉。
为了解决这种问题我们可以给以上问题建立系统的PN模型,如图1所示:
(1)首先确定系统的所有资源:该系统资源包括:16个装载工件的托盘、两个进程,每个进程各8个、机器M1,M2,M3,M4,M5,M6
(2)确定与各资源有关所有活动(操作)及其先后顺序并建立其子模型:
(a)装载工件的托盘经历以下状态与活动:
进程1:
·装载到机器M1,M2
·其上的工件被M1,M2加工;
·装载到机器M3,M4
·其上的工件被M3,M4加工;
·装载到机器M5,M6
·其上的工件被M5,M6加工;
·加工完毕工件从M5,M6进行卸载。
用p1带表载有工件的托盘可使用(若其中含有托肯,表示可用);p2,p3,p4分别表示托盘上的工件在被机器p9(M1,M2),机器p10(M3,M4),机器p11(M5,M6)加工之中;t1,t2,t3分别表示向机器(M1,M2),(M3,M4),(M5,M6)中装载工件,令t1为不可观变迁,t4表示从机器(M5,M6)中卸载工件。
(b)机器M1,M2,M3,M4,M5,M6经历以下活动和状态:
·工件被M1/M2(由p9表示)加工;
·工件被M3/M4(由p10表示)加工;
·工件被M5/M6(由p11表示)加工;
·工件从M5/M6卸载(由t4表示)。
进程2的模型简化和上面进程1类似,有一点不同的是进程2的t5是不可控的,也就是说进程2工件是否能装载到机器M5,M6上是不可控制的,有可能能装载上,有可能不能装载上。

Claims (5)

1.一种含有不可观与不可控事件的自动制造系统无死锁控制方法,其特征是:至少包括如下步骤:
步骤一,生成自动制造系统在线可行步长;
步骤二,依据生成自动制造系统在线可行步长获取最优步长;
步骤三,依据最优步长进行避免死锁控制;
所述的步骤一包括如下步骤:
步骤1:输入自动制造生产开始时所有节点信息M0,这个M0里面包含的是六台机器和托盘的信息及从M0开始工件后续可能进行那几步装载或者卸载,将这个装载和卸载的次数称为步数并记为stepsize;工件向机器M1,M2的装载是看不见的,将这个事件为不可观事件,这里的不可观变迁集合TUO里面就包含了这一个不可观事件;进程2中工件是否能装载到机器M5,M6上是不可控制,将这个事件称为不可控事件,这里的不可控变迁集合TUC里面就包含了这一个不可控事件;
步骤2:初始化:令当前生产过程的信息记为M,刚开始时令M=M0,在M这个状态下,预测后续如果进行一次装载或者卸载整个系统将可能到达的状态,因此令stepsize=1,如果进行两次那么stepsize=2,依次类推;给一个时间T0,这个T0是用计算机实现模拟这个系统进行的流程,让系统运行的时间;
步骤3:从当前状态M用步长stepsize预测,在M下有工件的装载或卸载发生,将这些发生的事件集合称为Ten;在stepsize次的装载和卸载这个过程中系统所能到达的所有状态,称这个状态集合为Q;
步骤4:将Q中同一个不可观事件相连的系统的状态划分为一类,即不可观事件发生前和发生后系统所处的状态分为一类,称这类状态集合为Quo
步骤5:若在M下可能发生的事件中包含不可观的事件即
Figure FDA0003019599020000021
则根据步骤4得到该不可观变迁对应的Quo,更新当前状态M,即令M=Quo,回到步骤3重新向下执行;
步骤6:当前的系统所处的状态是可观的即M≠Quo;根据Ten是否为空,决定回到2重新执行还是继续执行到达新的状态;
步骤7:若M是Quo,根据Quo中的状态下是否有可以发生的事件,决定回到2重新执行还是执行步骤6中部分内容;
步骤8:若计算机程序模拟运行的时间T<T0,更新当前状态M即M=M*,回到2重新执行;否则令suoucfs=stepsize,输出suoucfs
所述的步骤二包括如下步骤:
步骤1:输入PN的初始状态M0以及初始步长stepsize,不可观变迁集合TUO,不可控变迁集合TUC,步骤一的T0及步骤一的输出suoucfs
步骤2:初始化:令M=M0
Figure FDA0003019599020000022
S1=suoucfs
步骤3:若suoucfs≤2则Suop=suoucfs则输出Suop,结束;
步骤4:若suoucfs>2则重新计算预测步长,输出Suop或者回到步骤3;
步骤5,根据
Figure FDA0003019599020000031
的值是否为0,分两种情况讨论如下:
5.1若
Figure FDA0003019599020000032
则参考步骤一,从初始状态M0,以步长
Figure FDA0003019599020000033
预测;
5.2若
Figure FDA0003019599020000034
则从初始状态M0,以步长
Figure FDA0003019599020000035
预测;
其中5.1步骤中:根据系统是否进入死锁,包括如下步骤:
5.1.1如果在T0时间内一旦系统走到了死锁状态则令
Figure FDA0003019599020000036
5.1.2如果在T0时间内,系统没有走入死锁状态,则令
Figure FDA0003019599020000037
5.1.3输出Suop,结束;
同样的,5.2步骤中,根据系统是否进入死锁,包括如下步骤:
5.2.1如果在T0时间内一旦系统走到了死锁状态则令
Figure FDA0003019599020000038
更新S0,回到步骤3,重新执行;
5.2.2在T0时间内系统没有走入死锁状态,则令
Figure FDA0003019599020000039
更新S1,回到步骤3,重新执行;
所述的步骤三包括:
步骤1:输入PN的初始状态M0,不可观变迁集合TUO,不可控变迁集合TUC及步骤二的输出Suop
步骤2:初始化,令M=M0,stepsize=Suop
步骤3:从当前状态M,以步长stepsize预测,得到M下可以使能的变迁集合Ten及预测到的可达状态集合Q;
步骤4:将Q中不可观变迁相连的连续的状态划分为一类,称这类状态集合为Quo
步骤5:若在M下
Figure FDA0003019599020000041
则根据步骤4得到含有状态M的Quo,更新当前状态M,即令M=Quo,回到步骤3重新向下执行;
步骤6:若
Figure FDA0003019599020000042
选择发射t,到达新的状态M*
步骤7:若
Figure FDA0003019599020000043
对M进行分类讨论,确定发射的t,到达新的状态M*
步骤8:更新当前状态M即M=M*,回到3重新执行;
采用该方法对生产单元由6台分别为M1,M2,M3,M4,M5,M6的机器进行工件的加工,其中机器M1,M2的功能一样,M3,M4的功能一样,M5,M6的功能一样;具体步骤如下:
(1)首先确定所有资源:所述资源包括:16个装载工件的托盘、两个进程,每个进程各8个、机器M1,M2,M3,M4,M5,M6
(2)确定与各资源有关所有操作及其先后顺序并建立其子模型:
(a)装载工件的托盘经历以下状态与活动:
进程1:
装载到机器M1,M2
其上的工件被M1,M2加工;
装载到机器M3,M4
其上的工件被M3,M4加工;
装载到机器M5,M6
其上的工件被M5,M6加工;
加工完毕工件从M5,M6进行卸载;
用p1代表载有工件的托盘可使用,若其中含有托肯,表示可用的;p2,p3,p4分别表示托盘上的工件在被机器p9(M1,M2),机器p10(M3,M4),机器p11(M5,M6)加工之中;t1,t2,t3分别表示机器(M1,M2),(M3,M4),(M5,M6)中装载工件,令t1为不可观变迁,t4表示从机器(M5,M6)中卸载工件;
(b)机器M1,M2,M3,M4,M5,M6经历以下活动和状态:
进程2的模型简化和上面进程1类似,有一点不同的是进程2的t5是不可控的,也就是说进程2工件是否能装载到机器M5,M6上是不可控制的,有可能装载上,有可能不能装载上。
2.根据权利要求1所述的一种含有不可观与不可控事件的自动制造系统无死锁控制方法,其特征是:所述的步骤一中步骤6,包括:
6.1,若Ten为空:令stepsize=stepsize*2,更新步长stepsize,回到2重新执行;
6.2若Ten不为
Figure FDA0003019599020000051
考虑死锁状态Mdead和Q的关系,发射变迁到达新状态;
其中6.2步骤中,包括:
6.2.1
Figure FDA0003019599020000052
Figure FDA0003019599020000053
且t∈Ten,则随机发射变迁t∈Ten,到达新的状态M*
Figure FDA0003019599020000054
且t∈Ten,则随机发射变迁t∈Tuc,到达新的状态M*
6.2.2若
Figure FDA0003019599020000055
根据
Figure FDA0003019599020000056
是否为空,决定更新步长回到步骤2执行还是发射变迁到达新的状态;
上述6.2.2步骤中,包括:
6.2.2.1若
Figure FDA0003019599020000061
则stepsize=stepsize*2,更新步长stepsize,回到步骤3重新执行;
6.2.2.2若临界状态集合
Figure FDA0003019599020000062
包括步骤:
1)若当前状态M是好状态即M∈Mgood
2)若当前状态M是临界状态即M∈MCR
其中,1)若
Figure FDA0003019599020000063
且t∈Ten,则随机发射t∈Ten,到达新的状态M*
Figure FDA0003019599020000064
且t∈Ten,则随机发射t∈Tuc,到达新的状M*
2)若当前状态M∈MCR
Figure FDA0003019599020000065
且t∈Ten,则从Ten中将发射到达坏死或者死锁状态的变迁剔除掉的集合中随机选择一个变迁t进行发射,到达新的状态M*
Figure FDA0003019599020000066
且t∈Ten,则随机发射t∈Tuc,到达新的状态M*
3.根据权利要求1所述的一种含有不可观与不可控事件的自动制造系统无死锁控制方法,其特征是:所述的步骤一中步骤7,包括步骤:
7.1若Quo中有至少一个状态没有可以使能的变迁,则令stepsize=stepsize*2,更新步长stepsize,回到步骤3重新执行;
7.2若Quo中每一个状态都有可以使能的变迁,从上述步骤6的6.2开始向下执行。
4.根据权利要求1所述的一种含有不可观与不可控事件的自动制造系统无死锁控制方法,其特征是:所述的步骤三中步骤6,包括:选择发射t和如下步骤:
6.1若
Figure FDA0003019599020000071
且t∈Ten,则随机发射t∈Ten,到达新的状态M*
6.2若
Figure FDA0003019599020000072
且t∈Ten,则随机发射t∈Tuc,到达新的状态M*
5.根据权利要求1所述的一种含有不可观与不可控事件的自动制造系统无死锁控制方法,其特征是:所述的步骤三中步骤7,依据
Figure FDA0003019599020000073
分两种步骤:
7.1若M∈Mgood,选择发射t;
7.2若M∈MCR,选择发射t;
其中7.1步骤中,根据t变迁发射进行:
7.1.1若
Figure FDA0003019599020000074
且t∈Ten,则随机发射t∈Ten,到达新的状态M*
7.1.2若
Figure FDA0003019599020000075
且t∈Ten,则随机发射t∈Tuc,到达新的状态M*
其中7.2步骤中,根据t变迁发射进行:
7.2.1若
Figure FDA0003019599020000076
且t∈Ten,则从Ten中将发射到达坏死或者死锁状态,或者是到达含有坏死或者死锁状态的Quo的变迁剔除掉的集合中随机选择一个变迁t进行发射,到达新的状态M*
7.2.2若
Figure FDA0003019599020000077
且t∈Ten,则随机发射t∈Tuc,到达新的状态M*
CN201910026513.2A 2019-01-11 2019-01-11 含有不可观与不可控事件的自动制造系统无死锁控制方法 Active CN109739196B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910026513.2A CN109739196B (zh) 2019-01-11 2019-01-11 含有不可观与不可控事件的自动制造系统无死锁控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910026513.2A CN109739196B (zh) 2019-01-11 2019-01-11 含有不可观与不可控事件的自动制造系统无死锁控制方法

Publications (2)

Publication Number Publication Date
CN109739196A CN109739196A (zh) 2019-05-10
CN109739196B true CN109739196B (zh) 2021-07-13

Family

ID=66364480

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910026513.2A Active CN109739196B (zh) 2019-01-11 2019-01-11 含有不可观与不可控事件的自动制造系统无死锁控制方法

Country Status (1)

Country Link
CN (1) CN109739196B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110308700B (zh) * 2019-05-11 2021-09-24 西安电子科技大学 一种存在不可控行为的加工路径规划方法
CN110568826B (zh) * 2019-08-03 2022-03-29 西安电子科技大学 基于不可控事件的自动制造系统最大许可行为控制方法
CN110727249B (zh) * 2019-08-26 2022-10-04 西安电子科技大学 基于不可观事件自动制造系统最大许可行为信息控制方法
CN113359650B (zh) * 2021-07-02 2022-04-05 河北大学 含有不可控事件自动制造系统的控制方法
CN114509942B (zh) * 2022-01-17 2024-04-02 河北大学 一种基于Petri网的柔性制造系统禁止状态控制器设计方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825981A (en) * 1996-03-11 1998-10-20 Komatsu Ltd. Robot system and robot control device
CN1806213A (zh) * 2003-05-16 2006-07-19 Fsi国际公司 调度多机器人加工系统
CN102202835A (zh) * 2008-09-09 2011-09-28 K&S芯片键合设备产业有限公司 控制设备的运动尤其是芯片键合设备的放置工具的运动的方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853201A (zh) * 2010-05-24 2010-10-06 南京航空航天大学 一种基于着色petri网的软件并行测试方法及工具
CN103699104B (zh) * 2013-12-30 2017-01-25 苏州大学 一种死锁避免控制方法、装置和自动化生产系统
CN104461871B (zh) * 2014-11-18 2017-07-11 合肥康捷信息科技有限公司 一种基于petri网的死锁检测方法
CN105184385B (zh) * 2015-07-22 2018-07-03 西安电子科技大学 一种自动制造系统的分布式控制方法
US20170061313A1 (en) * 2015-09-02 2017-03-02 Infineon Technologies Ag System and Method for Estimating a Performance Metric
CN108604310B (zh) * 2015-12-31 2022-07-26 威拓股份有限公司 用于使用神经网络架构来控制分配系统的方法、控制器和系统
CN106200575B (zh) * 2016-07-07 2018-07-20 西安电子科技大学 一种基于Petri网的自动制造系统的稳健性控制方法
CN108563425B (zh) * 2018-02-27 2019-10-01 北京邮电大学 一种事件驱动的多流程协同处理系统
CN108762221B (zh) * 2018-07-09 2021-05-11 西安电子科技大学 含有不可控事件的自动制造系统的无死锁控制方法
CN108919644B (zh) * 2018-07-09 2021-05-11 西安电子科技大学 存在不可观行为的自动制造系统的稳健性控制方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825981A (en) * 1996-03-11 1998-10-20 Komatsu Ltd. Robot system and robot control device
CN1806213A (zh) * 2003-05-16 2006-07-19 Fsi国际公司 调度多机器人加工系统
CN102202835A (zh) * 2008-09-09 2011-09-28 K&S芯片键合设备产业有限公司 控制设备的运动尤其是芯片键合设备的放置工具的运动的方法

Also Published As

Publication number Publication date
CN109739196A (zh) 2019-05-10

Similar Documents

Publication Publication Date Title
CN109739196B (zh) 含有不可观与不可控事件的自动制造系统无死锁控制方法
CN109857083B (zh) 一种基于Petri网的含有不可观事件的无死锁控制方法
Fontes et al. A hybrid particle swarm optimization and simulated annealing algorithm for the job shop scheduling problem with transport resources
Fattahi et al. A mathematical model and extension algorithm for assembly flexible flow shop scheduling problem
CN106363622B (zh) 人协作型机器人系统的机器人模拟装置
Rauf et al. A smart algorithm for multi-criteria optimization of model sequencing problem in assembly lines
Holton A PEPA specification of an industrial production cell
CN113867275B (zh) 一种分布式车间预防维修联合调度的优化方法
Jolai et al. A genetic algorithm for solving no-wait flexible flow lines with due window and job rejection
CN110554673B (zh) 智能rgv加工系统调度方法和装置
CN111260144B (zh) 一种差异工件随机到达情况下单机批调度问题的求解方法
CN108229853B (zh) 一种基于静态调度预测的智慧工厂动态协同调度方法
Aksyonov et al. Rules for construction of simulation models for production processes optimization
Guan et al. Deadlock-free multi-attribute dispatching method for AGV systems
CN111290360B (zh) 一种铸造生产线多目标优化方法
Chincholkar et al. Simultaneous optimisation of control factors in automated storage and retrieval systems and FMS using stochastic coloured Petri nets and the Taguchi method
Wang et al. The printed-circuit-board electroplating parallel-tank scheduling with hoist and group constraints using a hybrid guided tabu search algorithm
Hatono et al. Modeling of FMS under certainty using stochastic Petri nets-an application to rule-based on-line scheduling
Basile et al. Modeling of AS/RS via coloured Petri nets
JP2000141181A (ja) 板金加工ラインの割り込み制御方法およびその装置
Kaoud et al. Scheduling of automated guided vehicles and machines in flexible manufacturing systems: a simulation study
Scott Jr et al. Hierarchical control model for automated manufacturing systems
Bao et al. A Matheuristic Approach for the Aircraft Final Assembly Line Balancing Problem Considering Learning Curve
Ye Load Balancing Job Shop Scheduling with AGVs: A Multi-Objective Optimization Approach
Shneor et al. Fuzzy dispatching of automated guided vehicles

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant