CN103699104B - 一种死锁避免控制方法、装置和自动化生产系统 - Google Patents
一种死锁避免控制方法、装置和自动化生产系统 Download PDFInfo
- Publication number
- CN103699104B CN103699104B CN201310744989.2A CN201310744989A CN103699104B CN 103699104 B CN103699104 B CN 103699104B CN 201310744989 A CN201310744989 A CN 201310744989A CN 103699104 B CN103699104 B CN 103699104B
- Authority
- CN
- China
- Prior art keywords
- automat
- deadlock
- workpiece
- modules
- dog
- 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.)
- Expired - Fee Related
Links
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
在本发明中根据循环等待彼此所占用资源的工件,将自动化生产系统划分为一个或多个系统子模块。进而,为各个系统子模块构建死锁监控器,以进行死锁监控。系统的控制器根据各个监控器的状态和系统的当前状态输出控制指令,达到死锁避免的目的。在本发明中各系统子模块均是自动化生产系统的子集,因而构建各系统子模块死锁监控器的复杂性和难度要远小于构建系统集中式死锁监控器,从而提高了死锁监控建模和运算的效率。
Description
技术领域
本发明涉及自动生产领域,更具体的说是涉及一种死锁避免控制方法、装置和自动化生产系统。
背景技术
死锁是指两个或两个以上的进程在执行过程中,由于争夺共享资源而造成一种互相等待状态。在自动化生产系统中,死锁将会导致系统部分或全部出现瘫痪。
为了避免自动化生产系统出现死锁,本领域的技术人员基于自动机(一种描述系统动态行为的形式化建模工具)理论,通过对系统整体建模获得系统监控器,以达到死锁避免的目的。
然而随着系统规模的不断增加,现有的技术方案的由于受到系统规模的影响,建模和运算的效率低。
发明内容
有鉴于此,本发明提供一种死锁避免控制方法、装置和自动化生产系统,以提高自动化生产系统中死锁监控的建模和运算效率。
为实现上述目的,本发明提供如下技术方案:
一种死锁避免控制方法,所述方法应用于自动化生产系统,包括:
按照预设算法,确定自动化生产系统中循环等待彼此所占用资源的工件;
根据循环等待彼此所占用资源的工件,将自动化生产系统划分为若干个具有死锁倾向的系统子模块;
构建所述系统子模块各自的死锁监控器,对各个系统子模块进行实时监控;
其中,所述构建所述系统子模块各自的死锁监控器,对各个系统子模块进行实时监控具体包括:
按照自动机的建模方法,构建各个系统子模块的加工资源层自动机、工件层自动机以及约束层自动机;
其中,构建各个系统子模块的加工资源层自动机的过程包括:
按照自动机的建模方式,对系统子模块中的各个加工资源建模,得到各个加工资源的自动机;
对各个加工资源的自动机进行或算法操作,得到系统子模块的加工资源层自动机;
构建各个系统子模块的工件层自动机的过程包括:
按照自动机的建模方式,对系统子模块中的各个工件建模,得到各个工件的工件自动机;
对同一类型工件的工件自动机进行或算法操作,构建工件类自动机;
对工件类自动机进行或算法操作,构建工件层自动机;
构建各个系统子模块的约束层自动机的过程包括:
按照自动机的建模方式,对系统子模块中的各个约束条件建模,得到各个约束条件对应的约束自动机;
对所述的约束自动机进行与算法操作,构建约束层自动机;
对所述加工资源层自动机、所述工件层自动机以及所述约束层自动机进行与算法操作,得到所述系统子模块的死锁监控器;
采用状态回溯算法对所述系统子模块各种对应的所述死锁监控器进行处理,以保证所述死锁监控器具有完全可达性;
根据所述死锁监控器的状态和当前自动化生产系统的状态,生成控制生产过程的控制指令;
所述状态回溯算法包括:
步骤1令监控器SUPVr状态集置状态集
步骤2若有δr(qu,σ)=q0,u=1,2....nr,δr和σ分别为监控器SUPVr的状态转移函数及输入事件,则置状态集
步骤3重复步骤2,直到不存在δr(qu,σ)=q0,u=1,2....nr;
步骤4若存在δr(qu,σ)=qv,其中状态置状态集
步骤5重复步骤4,直到不存在状态使得δr(qu,σ)=qv,或者
步骤6令 为监控器SUPVr输入事件集的克林闭包,置监控器SUPVr可接受语言L(SUPVr)=L(SUPVr)-L(SUPVr)。
优选的,所述确定自动化生产系统中循环等待彼此所占用资源的工件,包括:
构建自动化生产系统的关联矩阵,所述关联矩阵用于表征自动化生产系统中工件和资源的相互关系;
对所述关联矩阵进行自相关操作;
根据自相关操作结果确定循环等待彼此所占用资源的工件。
优选的,对同一类型工件的工件自动机进行或算法操作,构建工件类自动机之后,还包括:对所述工件类自动机的状态不确定转移性和冗余性进行处理。
一种死锁避免控制装置,包括:
按照预设算法,确定自动化生产系统中循环等待彼此所占用资源的工件的计算单元;
根据计算单元的计算结果,将自动化生产系统划分为若干个具有死锁倾向的系统子模块的模块划分单元;
构建所述系统子模块各自的死锁监控器的死锁监控器构建单元;
根据所述死锁监控器的状态和当前自动化生产系统的状态,生成控制生产过程的控制指令的指令输出单元;
其中,所述死锁监控器构建单元具体用于:
按照自动机的建模方式,对系统子模块中的各个加工资源建模,得到各个加工资源的自动机,对各个加工资源的自动机进行或算法操作,得到系统子模块的加工资源层自动机;
按照自动机的建模方式,对系统子模块中的各个工件建模,得到各个工件的工件自动机,对同一类型工件的工件自动机进行或算法操作,构建工件类自动机,对工件类自动机进行或算法操作,构建工件层自动机;
按照自动机的建模方式,对系统子模块中的各个约束条件建模,得到各个约束条件对应的约束自动机,对所述的约束自动机进行与算法操作,构建约束层自动机;
对所述加工资源层自动机、所述工件层自动机以及所述约束层自动机进行与算法操作,得到所述系统子模块的死锁监控器;
采用状态回溯算法对所述系统子模块各种对应的所述死锁监控器进行处理,以保证所述死锁监控器具有完全可达性;
所述状态回溯算法包括:
步骤1令监控器SUPVr状态集置状态集
步骤2若有δr(qu,σ)=q0,u=1,2....nr,δr和σ分别为监控器SUPVr的状态转移函数及输入事件,则置状态集
步骤3重复步骤2,直到不存在δr(qu,σ)=q0,u=1,2....nr;
步骤4若存在δr(qu,σ)=qv,其中状态置状态集
步骤5重复步骤4,直到不存在状态使得δr(qu,σ)=qv,或者
步骤6令 为监控器SUPVr输入事件集的克林闭包,置监控器SUPVr可接受语言L(SUPVr)=L(SUPVr)-L(SUPVr)。
优选的,所述计算单元包括:
构建自动化生产系统的关联矩阵的矩阵构建子单元,所述关联矩阵用于表征自动化生产系统中工件和资源的相互关系;
对所述关联矩阵进行自相关操作,并根据自相关操作结果确定循环等待彼此所占用资源的工件的计算子单元。
一种自动化生产系统,包括:数据采集设备、数据传输设备、PLC、内置有死锁避免控制装置的工控机以及服务器;
其中,所述数据采集设备,用于采集自动化生产系统的实时生产状态数据;
所述数据传输设备,用于将所述实时生产状态数据传输至所述PLC;
所述PLC,用于将所述实时生产状态数据发送至所述工控机,并执行所述工控机输出的无死锁控制指令;
所述工控机,用于根据死锁监控器的状态和实时生产状态数据,生成无死锁控制指令;
所述服务器,用于实现所述实时生产状态数据的共享。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种死锁避免控制方法、装置和自动化生产系统。在本发明中根据循环等待彼此所占用资源的工件,将自动化生产系统划分为一个或多个系统子模块。进而,为各个系统子模块构建死锁监控器,以进行死锁监控。系统的控制器根据各个监控器的状态和当前系统的当前状态输出控制指令,达到死锁避免的目的。在本发明中各系统子模块均是自动化生产系统的子集,因而构建各系统子模块死锁监控器的复杂性和难度要远小于构建集中式死锁监控器,从而提高了建模和运算的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本发明一种死锁避免控制方法的一个实施例的流程示意图;
图2示出了本发明一种死锁避免控制方法的另一个实施例的流程示意图;
图3示出了本发明一种死锁避免控制装置的一个实施例的结构示意图;
图4示出了本发明一种自动化生产系统的一个实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
自动机是通过状态以及转移等概念分析离散事件系统的演化过程。在实际的操作过程中,可用一个五元组FA={Σ,Q,q0,δ(q,σ)Qmk}来描述。其中,Σ是一个有限输入字母表,每一个字母表示一个事件。Q是一个有限状态集,q0是系统初始状态,且有q0∈Q,δ是状态转函数,可被定义为,Q×Σ→Q,σ∈Σ是一个输入字母表中的一个元素或者符合,也即一个事件,Qmk为“标识”或“终止”状态集。
需要说明的是,为了能够利用多个简单自动机来描述复杂的离散事件动态系统,本领域的技术人员通常采用或运算来表示自动机FA1和自动机FA2之间的异步行为关系,采用与运算来表示自动机FA1和自动机FA2之间的同步行为关系。需要说明的是,自动机间的或运算和与运算的计算方法为现有技术在此不再做赘述。
实施例(一)
参见图1示出了本发明一种死锁避免控制方法的一个实施例的流程示意图。由图1可知,在本实施例中,该方法包括:
步骤101:按照预设算法,确定自动化生产系统中循环等待彼此所占用资源的工件。
需要说明的是,自动化生产系统发生死锁的必要条件为:
1)互斥性。当资源上的工件数量等于其最大资源容量时,该资源将不接受任何请求占用该资源的工件;
2)非抢占性。其它工件不能强行占有已被最大资源容量的工件所占用的资源;
3)条件等待性。工件将一直占据其正在占用的资源,直到其等待的资源被其它工件所释放;
4)循环等待性。存在循环等待彼此所占用资源的工件。
对于自动化生产系统来说,死锁的前三个必要条件通常都具备,因而本领域的技术人员可根据第四个必要条件,也就是循环等待性,来判断自动化生产系统是否有可能发生死锁。
当确定自动化生产系统中存在一组或多种循环等待彼此所占用资源的工件时,则确定该自动化生产系统具有循环等待性,即有发生死锁的倾向。
步骤102:根据循环等待彼此所占用资源的工件,将自动化生产系统划分为若干个具有死锁倾向的系统子模块。
当在步骤101中确定自动化生产系统中存储一组或多种循环等待彼此所占用资源的工件时,将自动化生产系统划分为一个或多个系统子模块。其中,每个系统子模块中均包括:工件、加工资源、约束条件等。需要说明的是,在本发明中,系统中的有限缓冲区也被作为加工资源的一种。
步骤103:构建所述系统子模块各自的死锁监控器,对各个系统子模块进行实时监控。
步骤104:根据所述死锁监控器的状态和当前自动化生产系统的状态,生成控制生产过程的控制指令。
当向自动化生产系统中输入某个控制指令,该控制指令将被发送给所有死锁监控器中。若死锁监控器在该控制指令的驱动下状态发生变化,则其将向系统控制器发送一个无死锁的可控事件集,用于自动化生产系统下一个控制指令的生成;若状态未发生变化,则不发送可控事件集至系统控制器。进而系统控制器基于当前系统的实时状态及接收到的可控事件集,生成并发送一个控制指令用于对自动化生产系统生产过程的实时控制,直到生产结束。
由实施例(一)可知:本发明根据循环等待彼此所占用资源的工件,将自动化生产系统划分为一个或多个系统子模块。进而,为各个系统子模块构建死锁监控器,以进行死锁监控。由于在本发明中各系统子模块均是自动化生产系统的子集,因而构建各系统子模块死锁监控器的复杂性和难度要远小于构建集中式死锁监控器,从而提高了建模和运算的效率。
实施例(二)
参见图2示出了本发明一种死锁避免控制方法的另一个实施例的流程示意图。由图2可知,在本实施例中,该方法包括:
步骤201:构建自动化生产系统的关联矩阵,所述关联矩阵用于表征自动化生产系统中工件和资源的相互关系。
需要说明的是,若自动化生产系统中存在工件Pj,此工件的先后相邻工序依次由资源Ri1和Ri2来加工完成,则将资源Ri2称作资源Ri1关于工件Pj的后向资源,相应的,资源Ri1称作资源Ri2关于Pj的前向资源。可用关系式rj br(Ri1,Ri2)表示,具体有:
其中,公式中br为后向资源(backward resource)的缩写,i1和i2分别为资源Ri1和Ri2的编号,j为工件Pj的类型编号,1j i1i2表示Ri2为Ri1关于工件Pj的后向资源,0表示Ri2不是Ri1关于工件Pj的后向资源。相应地,将资源Ri1称作资源Ri2关于工件Pj的前向资源。
在本实施例中,通过构建关联矩阵可以描述自动化生产系统中两个资源之间的关系,关联矩阵中的元素M(i1,i2)表示资源Ri1和Ri2的关系,即M(i1,i2)=rj br(Ri1,Ri2)。比如关联矩阵中第3行第2列元素就描述了系统中第3个资源和第2个资源之间的关系,当第3行第2列的元素为1时,则说明系统中第2个资源为第3个资源的后向资源。
步骤202:对所述关联矩阵进行自相关操作。
为了得到自动化生产系统中所有资源之间相互关系,需要对关联矩阵进行自相关操作,以得到该关联矩阵的自相关矩阵。
假设自动化生产系统中包含m个资源,则自相关操作运算包括:
步骤A:若存在M(1,i2)≠0,则计算M(1,i2)⊙M(i2,1)+M(1,i2)⊙M(i2,2)…+M(1,i2)⊙M(i2,m),并用计算结果替换M(1,i2)。其中,
步骤B:若存在M(i1,i2)≠0,2≦i1≦m,则计算M(i1,i2)⊙e M(i2,1)+M(i1,i2)⊙M(i2,2)…+M(i1,i2)⊙M(i2,m),并用结果替换元素M(i1,i2),对i1重新进行赋值,用i1+1替换i1,直到i1=m+1,则自相关操作运算结束。
步骤203:根据自相关操作结果确定循环等待彼此所占用资源的工件,将自动化生产系统划分为若干个具有死锁倾向的系统子模块。
若自相关矩阵中存在元素且右下标元素有 ih∈(1,…,m),则该自动化生产系统中工件具有循环等待性。其中,h,表示i右下标任意不相等的两个数。
步骤204:按照自动机的建模方法,构建各个系统子模块的加工资源层自动机、工件层自动机以及约束层自动机。
需要说明的是,自动机对自动化生产系统建模时,自动机事件集Σ={α,β,μ,λ}中α表示资源开始加工工件,β表示完成工件加工,λ表示资源发生故障,μ表示资源修复事件,事件α和μ为可控事件,其它为不可控事件。
1)构建各个系统子模块的加工资源层自动机的过程包括:
假定系统子模块包含m1个加工资源Ag,对于系统子模块中的任一Ag,可分别用四元组(α,Ag,Pj,L)表示Ag开始加工Pj的L工序事件,(β,Ag,Pj,L)表示Ag完成加工Pj的L工序事件,λ表示Ag发生故障事件,μ表示Ag故障修复事件。按照自动机的建模方式分别对加工资源Ag进行建模,得到Ag的自动机模型FAAg,对这些自动机进行或算法操作,即可得到系统子模块的加工资源层自动机FAresr。
需要说明的是,在本发明中,系统中有限缓冲区资源也同样作为一种加工资源进行建模。
2)构建各个系统子模块的工件层自动机的过程包括:
A):按照自动机的建模方式,对系统子模块中的各个工件建模,得到各个工件的工件自动机。
B):对同一类型工件的工件自动机进行或算法操作,构建工件类自动机。
在工件类自动机中有可能存在某加工资源同时加工两个工件的状态,也有可能当某个事件发生时,自动机状态转移具有不确定性,因此需要对工件类自动机进行修剪。虽然对工件类自动机进行了修剪处理,但工件类自动机中状态可能具有冗余性,也即系统子模块中工件状态有可能对应工件类自动机的多个状态。大量冗余状态无形中增加了自动机规模,降低了自动机操作运算效率,因此,可通过删除工件类自动机中的冗余状态对自动机进行约简。
C):对处理后得到的工件类自动机进行或算法操作即可得到的工件层自动机FApartr。
3)构建各个系统子模块的约束层自动机的过程包括:
A):按照自动机的建模方式,对系统子模块中的各个约束条件建模,得到各个约束条件对应的约束自动机。
自动化生产系统运行过程中,系统子模块会存在一些约束条件限制,系统只有在满足这些约束的前提下,才能确保自动化生产系统得以正常运行,因此,有必要先建立各种单个约束自动机模型。
B):对所述的约束自动机进行与算法操作,构建约束层自动机FAconsr。
步骤205:对所述加工资源层自动机、所述工件层自动机以及所述约束层自动机进行与算法操作,得到所述系统子模块的死锁监控器。
对于自动化生产系统中的所有系统子模块,根据前面所述的步骤,分别构建中的加工资源层自动机、工件层自动机以及约束层自动机,再通过与算法操作运算得到与系统子模块相对应的分布式自动机死锁监控器。其具体公式如下:
需要说明的是,由于可达自动机不能保证系统的安全性,故需定义完全可达自动机来保证系统不会出现死锁状态。对有限自动机FA中任意状态qu∈Q,均存在字符串ωu,ωu'∈L(FA),有δ(q0,ωu)=qu和δ(qu,ωu')=q0,则称自动机FA为完全可达自动机。由上式所得到的死锁监控器SUPVr的完全可达性,可通过如下状态回溯算法予以保证,具体步骤为:
步骤1令监控器SUPVr状态集置状态集
步骤2若有δr(qu,σ)=q0,u=1,2....nr,δr和σ分别为监控器SUPVr的状态转移函数及输入事件,则置状态集
步骤3重复步骤2,直到不存在δr(qu,σ)=q0,u=1,2....nr。
步骤4若存在δr(qu,σ)=qv,其中状态置状态集
步骤5重复步骤4,直到不存在状态使得δr(qu,σ)=qv,或者
步骤6令 为监控器SUPVr输入事件集的克林闭包,置监控器SUPVr可接受语言L(SUPVr)=L(SUPVr)-L'(SUPVr)。
步骤206:根据所述死锁监控器的状态和当前自动化生产系统的状态,生成控制生产过程的控制指令。
步骤206中的执行过程与实施例(一)中步骤104的执行过程相同,在此不作赘述。
实施例(三)
参见图3示出了本发明一种死锁避免控制装置的一个实施例的结构示意图。由图3可知:该装置包括:
按照预设算法,确定自动化生产系统中循环等待彼此所占用资源的工件的计算单元31;
根据计算单元31的计算结果,将自动化生产系统划分为若干个具有死锁倾向的系统子模块的模块划分单元32;
构建所述系统子模块各自的死锁监控器的死锁监控器构建单元33;
根据所述死锁监控器的状态和当前自动化生产系统的状态,生成控制生产过程的控制指令的指令输出单元34。
需要说明的是,在本实施例中,该计算单元31包括:
构建自动化生产系统的关联矩阵的矩阵构建子单元35;
对所述关联矩阵进行自相关操作,并根据自相关操作结果确定循环等待彼此所占用资源的工件的计算子单元36。
实施例(四)
参见图4示出了本发明一种自动化生产系统的一个实施例的结构示意图。由图4可知,该自动化生产系统包括:数据采集设备41、数据传输设备42、PLC43、内置有死锁避免控制装置的工控机44以及服务器45;
其中,数据采集设备41基于RFID技术主要负责自动化生产系统状态数据的实时采集,并将采集到的数据通过输出输出设备42的数据通讯接口发送至PLC43中。PLC43通过梯形图编程将数据采集设备41采集到的数据以及其它设备的实时生产状态数据传输至工控机44,再由工控机传输给服务器45中的EPCIS系统。同时,PLC45通过开出模块执行由工控机44中运行的实时监控系统服务器程序发出的死锁避免控制指令,负责实时生产状态的传输和监控指令的执行,完成自动化生产系统中设备的运行操作,完成诸如工件加工、分拣以及运输等操作。工控机44主要负责运行数据采集服务器程序、实时数据通信程序、实时监控服务器程序和终端用户操作界面程序,完成实时数据的储存、解释、显示以及根据各个死锁监控器的状态和系统的实时生产状态数据生成死锁避免控制指令。服务器45中EPCIS系统和ONS服务可提供基于Internet的数据传输服务,实现各生产车间或协作厂生产数据资源的共享。
最后,还需要说明的是,在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (6)
1.一种死锁避免控制方法,所述方法应用于自动化生产系统,其特征在于,包括:
按照预设算法,确定自动化生产系统中循环等待彼此所占用资源的工件;
根据循环等待彼此所占用资源的工件,将自动化生产系统划分为若干个具有死锁倾向的系统子模块;
构建所述系统子模块各自的死锁监控器,对各个系统子模块进行实时监控;
其中,所述构建所述系统子模块各自的死锁监控器,对各个系统子模块进行实时监控具体包括:
按照自动机的建模方法,构建各个系统子模块的加工资源层自动机、工件层自动机以及约束层自动机;
其中,构建各个系统子模块的加工资源层自动机的过程包括:
按照自动机的建模方式,对系统子模块中的各个加工资源建模,得到各个加工资源的自动机;
对各个加工资源的自动机进行或算法操作,得到系统子模块的加工资源层自动机;
构建各个系统子模块的工件层自动机的过程包括:
按照自动机的建模方式,对系统子模块中的各个工件建模,得到各个工件的工件自动机;
对同一类型工件的工件自动机进行或算法操作,构建工件类自动机;
对工件类自动机进行或算法操作,构建工件层自动机;
构建各个系统子模块的约束层自动机的过程包括:
按照自动机的建模方式,对系统子模块中的各个约束条件建模,得到各个约束条件对应的约束自动机;
对所述的约束自动机进行与算法操作,构建约束层自动机;
对所述加工资源层自动机、所述工件层自动机以及所述约束层自动机进行与算法操作,得到所述系统子模块的死锁监控器;
采用状态回溯算法对所述系统子模块各种对应的所述死锁监控器进行处理,以保证所述死锁监控器具有完全可达性;
根据所述死锁监控器的状态和当前自动化生产系统的状态,生成控制生产过程的控制指令;
所述状态回溯算法包括:
步骤1令监控器SUPVr状态集Qr 1={q0,q1....,qnr},置状态集
步骤2若有δr(qu,σ)=q0,u=1,2....nr,δr和σ分别为监控器SUPVr的状态转移函数及输入事件,则置状态集
步骤3重复步骤2,直到不存在δr(qu,σ)=q0,u=1,2....nr;
步骤4若存在δr(qu,σ)=qv,其中状态置状态集
步骤5重复步骤4,直到不存在状态使得δr(qu,σ)=qv,或者
步骤6令 为监控器SUPVr输入事件集的克林闭包,置监控器SUPVr可接受语言L(SUPVr)=L(SUPVr)-L'(SUPVr)。
2.根据权利要求1所述的方法,其特征在于,所述确定自动化生产系统中循环等待彼此所占用资源的工件,包括:
构建自动化生产系统的关联矩阵,所述关联矩阵用于表征自动化生产系统中工件和资源的相互关系;
对所述关联矩阵进行自相关操作;
根据自相关操作结果确定循环等待彼此所占用资源的工件。
3.根据权利要求1所述的方法,其特征在于,对同一类型工件的工件自动机进行或算法操作,构建工件类自动机之后,还包括:对所述工件类自动机的状态不确定转移性和冗余性进行处理。
4.一种死锁避免控制装置,其特征在于,包括:
按照预设算法,确定自动化生产系统中循环等待彼此所占用资源的工件的计算单元;
根据计算单元的计算结果,将自动化生产系统划分为若干个具有死锁倾向的系统子模块的模块划分单元;
构建所述系统子模块各自的死锁监控器的死锁监控器构建单元;
根据所述死锁监控器的状态和当前自动化生产系统的状态,生成控制生产过程的控制指令的指令输出单元;
其中,所述死锁监控器构建单元具体用于:
按照自动机的建模方式,对系统子模块中的各个加工资源建模,得到各个加工资源的自动机,对各个加工资源的自动机进行或算法操作,得到系统子模块的加工资源层自动机;
按照自动机的建模方式,对系统子模块中的各个工件建模,得到各个工件的工件自动机,对同一类型工件的工件自动机进行或算法操作,构建工件类自动机,对工件类自动机进行或算法操作,构建工件层自动机;
按照自动机的建模方式,对系统子模块中的各个约束条件建模,得到各个约束条件对应的约束自动机,对所述的约束自动机进行与算法操作,构建约束层自动机;
对所述加工资源层自动机、所述工件层自动机以及所述约束层自动机进行与算法操作,得到所述系统子模块的死锁监控器;
采用状态回溯算法对所述系统子模块各种对应的所述死锁监控器进行处理,以保证所述死锁监控器具有完全可达性;
所述状态回溯算法包括:
步骤1令监控器SUPVr状态集置状态集
步骤2若有δr(qu,σ)=q0,u=1,2....nr,δr和σ分别为监控器SUPVr的状态转移函数及输入事件,则置状态集
步骤3重复步骤2,直到不存在δr(qu,σ)=q0,u=1,2....nr;
步骤4若存在δr(qu,σ)=qv,其中状态置状态集
步骤5重复步骤4,直到不存在状态使得δr(qu,σ)=qv,或者
步骤6令 为监控器SUPVr输入事件集的克林闭包,置监控器SUPVr可接受语言L(SUPVr)=L(SUPVr)-L(SUPVr)。
5.根据权利要求4所述的装置,其特征在于,所述计算单元包括:
构建自动化生产系统的关联矩阵的矩阵构建子单元,所述关联矩阵用于表征自动化生产系统中工件和资源的相互关系;
对所述关联矩阵进行自相关操作,并根据自相关操作结果确定循环等待彼此所占用资源的工件的计算子单元。
6.一种自动化生产系统,其特征在于,包括:数据采集设备、数据传输设备、PLC、内置有权利要求4或权利要求5所述的死锁避免控制装置的工控机以及服务器;
其中,所述数据采集设备,用于采集自动化生产系统的实时生产状态数据;
所述数据传输设备,用于将所述实时生产状态数据传输至所述PLC;
所述PLC,用于将所述实时生产状态数据发送至所述工控机,并执行所述工控机输出的无死锁控制指令;
所述工控机,用于根据死锁监控器的状态和实时生产状态数据,生成无死锁控制指令;
所述服务器,用于实现所述实时生产状态数据的共享。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310744989.2A CN103699104B (zh) | 2013-12-30 | 2013-12-30 | 一种死锁避免控制方法、装置和自动化生产系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310744989.2A CN103699104B (zh) | 2013-12-30 | 2013-12-30 | 一种死锁避免控制方法、装置和自动化生产系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103699104A CN103699104A (zh) | 2014-04-02 |
CN103699104B true CN103699104B (zh) | 2017-01-25 |
Family
ID=50360668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310744989.2A Expired - Fee Related CN103699104B (zh) | 2013-12-30 | 2013-12-30 | 一种死锁避免控制方法、装置和自动化生产系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103699104B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109739196B (zh) * | 2019-01-11 | 2021-07-13 | 西安电子科技大学 | 含有不可观与不可控事件的自动制造系统无死锁控制方法 |
CN109767118A (zh) * | 2019-01-11 | 2019-05-17 | 沈阳建筑大学 | 一种在具有可重入工序的客车涂装车间中有限缓冲区动态容量预留方法 |
CN110308700B (zh) * | 2019-05-11 | 2021-09-24 | 西安电子科技大学 | 一种存在不可控行为的加工路径规划方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101872378A (zh) * | 2010-06-24 | 2010-10-27 | 昆明理工大学 | 一种基于时间Petri网和Agent的复杂系统建模方法 |
CN103268256A (zh) * | 2013-05-31 | 2013-08-28 | 迈普通信技术股份有限公司 | 多任务操作系统中死锁检测方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9144904B2 (en) * | 2008-05-21 | 2015-09-29 | Fanuc Robotics America Corporation | Method and system for automatically preventing deadlock in multi-robot systems |
-
2013
- 2013-12-30 CN CN201310744989.2A patent/CN103699104B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101872378A (zh) * | 2010-06-24 | 2010-10-27 | 昆明理工大学 | 一种基于时间Petri网和Agent的复杂系统建模方法 |
CN103268256A (zh) * | 2013-05-31 | 2013-08-28 | 迈普通信技术股份有限公司 | 多任务操作系统中死锁检测方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于自动机的知识化制造单元死锁控制策略研究;杨宏兵,等;《中国机械工程》;20090331;第20卷(第5期);第546页左栏倒数4-8行、第548-551页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103699104A (zh) | 2014-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20200015642A (ko) | Super Tree 기반의 Project/Task 지능 목표관리 방법 및 플랫폼 | |
JP2020518079A (ja) | スマート工場並列制御方法及びシステム | |
CN101657766B (zh) | 用于分布式工厂控制系统的在线故障检测和避免框架 | |
Bruccoleri et al. | Distributed intelligent control of exceptions in reconfigurable manufacturing systems | |
CN104166903B (zh) | 基于工序划分的任务规划方法及系统 | |
CN103699104B (zh) | 一种死锁避免控制方法、装置和自动化生产系统 | |
CN106295020B (zh) | 一种面向人机交互系统约束的交互控制模型求解方法及系统 | |
Qamsane et al. | Dynamic rerouting of cyber-physical production systems in response to disruptions based on SDC framework | |
Tian et al. | Product cooperative disassembly sequence and task planning based on genetic algorithm | |
Manivannan et al. | Real-time control of a manufacturing cell using knowledge-based simulation | |
CN106384283A (zh) | 一种基于互联网+的服务总线结构及服务总线系统 | |
Zhou et al. | Introduction to Petri nets in flexible and agile automation | |
CN107918358A (zh) | 数控装备故障分析方法和装置 | |
Lavrov et al. | Models and Information Technology for Reliable Design of the Functioning Processes of Flexible Production Systems as Complex Human-Machine Systems | |
Čapkovič | Modelling, analysing and control of interactions among agents in MAS | |
Shin et al. | Simulation-based evaluation of productivity for the design of an automated fabrication workshop in shipbuilding | |
Mao et al. | Complex Event Processing on uncertain data streams in product manufacturing process | |
Lyu et al. | Multi-agent modelling of cyber-physical systems for IEC 61499-based distributed intelligent automation | |
Zhang et al. | Digital twin-based smart manufacturing cell: application case, system architecture and implementation | |
Rogers et al. | A simulation testbed for comparing the performance of alternative control architectures | |
CN105718737A (zh) | 一种确定云化因素重要度和因素联合重要度的方法 | |
Bocewicz et al. | Petri Net Approach to Automated Modelling and Performance Evaluation for Robotic Assembly Systems | |
Desrochers | Performance analysis using Petri nets | |
Chen | Policy based reinforcement learning approach Of Jobshop scheduling with high level deadlock detection | |
Iassinovski et al. | SD Builder®: A production rules-based tool for on-line simulation, decision making and discrete process control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170125 Termination date: 20191230 |