一種基于Petri網的自動制造系統的控制方法
【技術領域】
[0001] 本發明屬于自動制造系統技術領域,涉及一種基于Petri網的自動制造系統的控 制方法。
【背景技術】
[0002] 制造業水平是一個國家工業化程度的一個重要標志,制造產業也是一個國家經濟 尤其是像中國這樣的人口密集的發展中國家穩定發展的重要根基。在過去的數十年里,隨 著信息技術、自動化技術和計算機技術的廣泛應用,傳統的制造系統逐漸轉變為自動制造 系統,從而極大地降低制造成本、提高產品質量并且確保生產安全。對于自動制造系統,最 為重要的前提就是無死鎖,其他的所有性能都是建立在系統無死鎖的基礎之上。
[0003] 在過去的數十年里,有很多研究者研究了各種死鎖預防策略,傳統的死鎖預防方 案往往是基于全局信息的,不可避免地需要列舉所有的可達狀態,從而導致狀態爆炸問題, 并且為了研究的方便,大多數研究者假設系統中的資源是不會出現故障的,而現實恰恰相 反。任何一個細微的問題都可能引起資源故障,從而可能導致整個系統停滯不前。資源可 以根據其是否依賴于故障分為不可靠資源和可靠資源。一旦出現資源故障,很顯然,需要用 到故障資源的進程不得不中斷,直到資源修復。然而那些不需要故障資源的進程希望它能 夠持續生產。因此,在確保系統無死鎖的情況下,希望系統同時也是穩健的。
【發明內容】
[0004] 為解決現有技術中存在的問題,本發明的目的是提供一種基于Petri網的自動制 造系統的控制方法,現有技術中針對自動制造系統的無死鎖算法,為了研究的方便,大多數 研究都假設資源不會故障,然而現實系統中恰恰相反,任何一個細微的問題,如一個小零件 的損壞,一個電氣故障,一個信號的丟失,甚至是一個傳感器失靈,都可能導致資源故障,甚 至導致整個系統停滯不前。本算法中將考慮資源故障,研究的監督控制策略將保證不需要 故障資源的進程能夠持續生產,而不被阻塞。
[0005] 為實現上述目的,本發明所采用的技術方案是,
[0006] -種基于Petri網的自動制造系統的控制方法,包括以下步驟:
[0007] 1)進行死鎖避免算法:
[0008] 1. 1)初始化;
[0009] 1. 2)采集當前狀態信息,包括每個庫所所含的托肯數,其中,活動庫所中的托肯數 表示當前所含的工件數,資源庫所中的托肯數表示當前剩余的資源數目;
[0010] 1. 3)根據變迀發射規則,求出當前狀態下所有使能的變迀集合TEN,且所有使能的 變迀集合TEN中的元素個數為n;
[0011] 1. 4)令無死鎖變迀集合=爽
[0012] 1. 5)選擇第i中工件類型或進程的第j個變迀%屬于所有使能的變迀集合Ten, 且在當前剩余資源支撐下,工件若能從當前庫所走到最近的關鍵庫所,則無死鎖變迀集合 7^=U 否則進行步驟1. 5);
[0013] 2)進行穩健性加強算法:將從無死鎖變迀集合TDF中挑選產生一個的變迀集合 巧f使得系統既無死鎖又是穩健的;無死鎖變迀集合TDF中元素個數為m;
[0014] 3)進行并發性改善算法:
[0015] 3. 1)給變迀集合TRB中的每一個變迀對應的托肯添加標簽x1;
[0016] 3. 2)用表示第Xl個托肯前進的步數;
[0017] 3. 3)選擇最落后的托肯,則其對應的變迀屬于并發性改善變迀集合Tmc;
[0018] 3. 4)讓并發性改善變迀集合TMe中的一個變迀發射;然后進行步驟1. 2)。
[0019] 步驟2)的具體步驟如下:
[0020] 2. 1)對于變迀tGTDF,若工件在當前庫所以及后續路徑中都不占用不可靠資源, 則tGTrb;
[0021] 2. 2)對于tGTDF,若工件在當前庫所沒有占用不可靠資源,后續路徑中需要占用 不可靠資源,那么,如果當前資源足夠支撐該工件前進到最近的不可靠資源,且能夠被存儲 起來,則teTrb;
[0022] 2. 3)對于tGTDF,若工件在當前位置占用不可靠資源,則,如果當前工件占用的不 可靠資源沒有故障,且后續路徑中不需要不可靠資源,或者當前資源能夠支撐其前進到最 近的不可靠資源,則tGTRB,其中,TRB為變迀集合;
[0023] 2. 4)否則,t運。選擇下一個tGTDF,進行步驟1),直至TRB中所有變迀都找出 來之后進行步驟3)。
[0024] 與現有技術相比,本發明的有益效果:本發明關注于帶有不可靠資源的自動制 造系統的穩健的活性使能監督控制器的合成,提出了一種分布式的方法,該方法不僅能 夠避免由循環等待引起的死鎖問題,同時避免了由資源故障引起的阻塞狀態。通過在線 核實資源用量,本發明的方法避免離線合成基于全局信息的故障感知監督控制器。通過 死鎖避免算法、穩健性加強算法、并發性改善算法這三個算法的運行,將產生一組變迀 集合,任意屬于該集合的變迀的發射都能滿足無死鎖,穩健性并改善系統并發性,因為: 7: w:QG7'0F.每發射一個變迀后,這三個算法需要重新依次計算,再產生一個新的變 迀集合,如此循環往復,實時動態地生成一組事件發生序列。本發明保證系統在出現資源故 障時那些不需要故障資源的進程不會被需要故障資源的進程阻塞,能夠持續流暢加工,并 改善系統的并發性。
【附圖說明】
[0025] 圖1是PPN模型結構圖。
[0026] 圖2是本發明的流程圖。
【具體實施方式】
[0027] 下面結合附圖和【具體實施方式】對本發明進行詳細說明。
[0028] 定義1 :一個生產Petri網ProductPetriNet(PPN)是一個強連通的普通Petri 網(PN),N= (P,T,F),其中:
[0029] 1)P=PQUPAUPR,PQ,PA,PR分別代表空閑庫所,活動庫所以及資源庫所。為= {p〇i>i^^k];Pa=Uienk ,PAi、本 0,且Vi',jGNk,i^j,Pa{ ^Pa;~ ^ > PR= {ri,iGNL}。NK,NL都是自然數集合,NK= {1,2,3,…,K},NL= {1,2,3,…,L};
[0030] 2)T 7^.,.VfGiV《.,# 0,且紙.jgNK,i辛j,.[i.n. 5 ='炫。:
[0031] 3)VieA^,由{pUUp4iur(構成的子網風是一個強連通的狀態機,使得每一個 回路都包含{以},vpe心;,p'| =1。
[0032] 4)扒GA/心VpE..p 門pR=p ..門pR,且 | ..p 門pR| = 1〇
[0033] 5)辦=咚UPtK和ff分別代表可靠資源和不可靠資源,P|nP| = 0。
[0034] 定義2:rGPR是一個資源庫所,H(r) =r' 'n?,表示使用了資源r的庫所集合。
[0035] 定義3 :給定一個PPN(N,M。),如果
則滅是一 個可容許的狀態。w〇v,Ma〕表示所有可容許狀態的集合。
[0036] 定義4 :況OOflUKJVO分別代表資源使用方程以及資源剩余方程,將每一個可 容許狀態映射為當前狀態下資源使用集合以及剩余資源集合。
[0037] 很顯然,根據定義1~定義4有:moo+jTHM) =9ri(/W〇V即任意狀態^,使 用的資源加上剩余資源等于初始狀態下剩余的資源。
[0038] 定義5 :給定一個PPN(N,M。),ap表示庫所p所需要的資源,ap=m*ri+n^rj,ap[i] 表示在庫所P階段所需要的資源巧的個數,| |ap| |表示所需要的資源種類集合,| |ap| | = {r;,rj,其中,i,jGNl。
[0039]定義6:給定一個PPN(N,M。),關鍵庫所為亡=krA:,D:,其中:
[0043] 顯然,根據定義,關鍵庫所集合:e可以分為兩大類,一種是空閑庫所或者不占用任 何資源的活動庫所,這意味著有足夠多的資源可供使用;另一類是占用資源數最多的庫所, 這意味著后續進程中將只是釋放資源而不再占用更多的資源,從而改善而非加劇資源競 爭。每一次都只允許一個托肯前進一步,若當前可使用的資源足夠支撐它從當前位置移動 到最近的關鍵庫所。每前進完一步都將重新判斷。
[0044] 定義7:e:是關鍵庫所集合,Vjje巧其鄰域定義為 AW) = [p,vp,:],…,pU£ /VJ心,使得是一條路徑,其中% pi]tEC,¥jEJV^.^p^ge〇
[0045] 定義 8 :給定一個PPN(N,M。),V{>f,>f'}G.7?.(A'_,M〇),蕭的后繼者表示為 篇3黨',:其中%表示第i中工件類型或進程的第j個變迀,£eUe漢1%|。
[0046] 定 義 9 :
夏的21。口的鄰域及'(>)={^,.,;^.+ ,,"',;^.+^^^!^/;^與之相關聯的路 徑為如,ti鮮其中構廣P,% P;,+f 2SR= |>^('1)>,>?'<:|','|'"?^ ('''〉}叫做翁的操作下游鄰域(^(0口6抑1:;[01100¥1181:代已1]1Neighbor)其中
[0047] 定義10:s(ri)G{〇,1},表示資源巧中服務器的狀態,若^出現故障,則s(ri)= 〇,否則sCr;) = 1。
[0048] 定義11 :給定一個PPN(N,M。),pGP。UPA,Up)表示依賴于故障的鄰域 (Failure-dependentNeighbor),Up)二{ph,p",…,p!、}SU,其中P'。_P,
[0049] 走乂 12 :給走PPN(N,M。),= 沒,浴批.,..tt.p.辦/….,.叫,:」,PjGU. fp〇ii+ics|%|,表示庫所P]中的托肯在后續加工路徑中所需要用到的資源。
[0050] 定義 1 3 :
JVf(p)乏1。P的依賴于故障的鄰域.焉7〇(P) =fpW:!,…,Piyj 與之相關 聯的路