本發(fā)明屬于車間工業(yè)制造系統(tǒng)與控制技術(shù)領(lǐng)域,特別是一種車間制造系統(tǒng)petri網(wǎng)模型的plc硬件實(shí)現(xiàn)方法。
背景技術(shù):
科學(xué)技術(shù)的高速發(fā)展推動(dòng)了工業(yè)制造水平的提高,同時(shí)也使車間工業(yè)制造系統(tǒng)的自動(dòng)化水平不斷提高?,F(xiàn)代的車間制造系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過(guò)程比較復(fù)雜,所以在系統(tǒng)投入使用前,要找到一個(gè)合適的車間制造系統(tǒng)建模方法進(jìn)行清晰準(zhǔn)確描述整個(gè)系統(tǒng)的各個(gè)要素。要能夠在設(shè)計(jì)開(kāi)始時(shí)就能夠有效避免一些嚴(yán)重的錯(cuò)誤或缺陷,在系統(tǒng)運(yùn)轉(zhuǎn)時(shí),要能方便的監(jiān)督和完善。目前,涉及車間制造系統(tǒng)建模的方法有很多種,且側(cè)重點(diǎn)各有不同,其中petri網(wǎng)建模與設(shè)計(jì)是其中的主流技術(shù)之。
petri網(wǎng)是一種用于異步、并發(fā)和動(dòng)態(tài)的系統(tǒng)的圖形化、數(shù)學(xué)化建模工具,用于分析、設(shè)計(jì)、模擬和研究異步、并發(fā)、不確定性和隨機(jī)的離散事件動(dòng)態(tài)系統(tǒng)。根據(jù)有關(guān)系統(tǒng)結(jié)構(gòu)和動(dòng)態(tài)行為方面的信息,可以對(duì)要開(kāi)發(fā)或者維護(hù)的系統(tǒng)進(jìn)行評(píng)價(jià)和改進(jìn)。而且petri網(wǎng)是基于結(jié)構(gòu)圖和流程圖形式,所以可以很直觀、形象地觀察和分析模型,同時(shí),作為一種數(shù)學(xué)工具petri網(wǎng)可以建立狀態(tài)方程、代數(shù)方程以及系統(tǒng)行為的其他數(shù)學(xué)模型,便于計(jì)算和驗(yàn)證。
另一方面,在車間工業(yè)制造中存在大量的開(kāi)關(guān)量為主的開(kāi)環(huán)的順序控制,它按照邏輯條件進(jìn)行順序動(dòng)作或按照時(shí)序動(dòng)作;另外還有與順序、時(shí)序無(wú)關(guān)的按照邏輯關(guān)系進(jìn)行連鎖保護(hù)動(dòng)作的控制;以及大量的開(kāi)關(guān)量、脈沖量、計(jì)時(shí)、計(jì)數(shù)器、模擬量的越限報(bào)警等狀態(tài)量為主的離散量的數(shù)據(jù)采集監(jiān)視。由于這些控制和監(jiān)視的要求,使plc發(fā)展成了取代繼電器線路和進(jìn)行順序控制為主的產(chǎn)品。把plc應(yīng)用于離散事件系統(tǒng)的控制,是因?yàn)閜lc本身的低成本、耐用性和易編程的性質(zhì)。plc編程語(yǔ)言包括順序功能圖語(yǔ)言、梯形圖語(yǔ)言、功能塊語(yǔ)言、語(yǔ)句表語(yǔ)言以及結(jié)構(gòu)化文本語(yǔ)言。不同的編程語(yǔ)言編寫的程序一般可以相互轉(zhuǎn)換,不同的語(yǔ)言形式可以表達(dá)相同的邏輯關(guān)系。其中,梯形圖語(yǔ)言以其簡(jiǎn)單和直觀的特性,成為實(shí)際應(yīng)用中最常用的plc編程語(yǔ)言。
對(duì)于簡(jiǎn)單的系統(tǒng),使用啟發(fā)式方法,很容易寫出plc程序。但是,當(dāng)開(kāi)發(fā)多產(chǎn)品、并行任務(wù)或周期性交互任務(wù)時(shí),梯形圖語(yǔ)言難以提供足夠的結(jié)構(gòu)支持,同時(shí)系統(tǒng)也會(huì)極為復(fù)雜以至于難以調(diào)試。所以需要一種更高層次的工具去幫助解決這些問(wèn)題。在離散事件系統(tǒng)的描述問(wèn)題上,petri網(wǎng)被公認(rèn)為是一高效的工具。
由于petri網(wǎng)在描述離散事件上的優(yōu)勢(shì)和plc在自動(dòng)化工業(yè)上的廣泛應(yīng)用,由petri網(wǎng)轉(zhuǎn)化至plc梯形圖也經(jīng)歷了學(xué)者的大量研究。d.c.mcfarlane等提出了一種基于時(shí)序邏輯的轉(zhuǎn)化方法。該方法羅列庫(kù)所與變遷之間的結(jié)構(gòu)形式,給出對(duì)應(yīng)轉(zhuǎn)化后的梯形圖。該方法的特點(diǎn)是結(jié)構(gòu)簡(jiǎn)單,并且考慮到了對(duì)外部事件輸出的組合邏輯。但是該方法只適用于安全petri網(wǎng),并且沒(méi)有考慮沖突問(wèn)題和雪崩效應(yīng)。在實(shí)際的離散事件系統(tǒng)petri網(wǎng)建模中,安全petri網(wǎng)適用性低,這大大降低了它的實(shí)用性。(chirnjl,mcfarlanedc.petrinetsbaseddesignofladderlogicdiagrams[j].2000.)
muratuzam等提出了一種基于tpl(tokenpassinglogic)的轉(zhuǎn)化技術(shù)(uzamdm,jonesah.discreteeventcontrolsystemdesignusingautomationpetrinetsandtheirladderdiagramimplementation[j].internationaljournalofadvancedmanufacturingtechnology,1998,14(10):716-728.)。它的主要思想是利用托肯在庫(kù)所之間的演變作為轉(zhuǎn)化的主要依據(jù)。在uzam的另一篇相關(guān)文章中提出了沖突問(wèn)題,并給出了兩種解決方案(uzamm,
縱觀petri網(wǎng)至plc梯形圖轉(zhuǎn)化的研究,在很多方面已經(jīng)取得了巨大進(jìn)展。比如轉(zhuǎn)化方法對(duì)各種擴(kuò)展petri網(wǎng)的適用性,轉(zhuǎn)化方法的簡(jiǎn)潔性,控制邏輯的完整性等等。但還是存在一些問(wèn)題,主要是:1)雪崩效應(yīng)。雪崩效應(yīng)是由plc掃描特性帶來(lái)的。plc總是從上至下,從左至右依次掃描。在某些特定條件下,系統(tǒng)狀態(tài)會(huì)連續(xù)演變,造成不可預(yù)知的狀態(tài)。2)沖突問(wèn)題。沖突問(wèn)題是petri網(wǎng)中結(jié)構(gòu)本身存在的問(wèn)題,當(dāng)兩個(gè)或兩個(gè)以上變遷競(jìng)爭(zhēng)同一庫(kù)所資源時(shí),沖突有可能發(fā)生。把petri網(wǎng)轉(zhuǎn)化為梯形圖,也要考慮解決沖突問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是為車間制造系統(tǒng)提供一種基于petri網(wǎng)狀態(tài)方程的petri網(wǎng)模型轉(zhuǎn)化為plc梯形圖的方法,使petri網(wǎng)對(duì)離散事件系統(tǒng)高效的建模能力應(yīng)用于生產(chǎn)系統(tǒng)plc實(shí)際應(yīng)用中。
實(shí)現(xiàn)本發(fā)明目的的技術(shù)解決方案為:一種車間制造系統(tǒng)petri網(wǎng)模型的plc硬件實(shí)現(xiàn)方法,包括以下步驟:
步驟1、利用petri網(wǎng)實(shí)現(xiàn)工業(yè)上離散時(shí)間系統(tǒng)建模過(guò)程如下:歸類生產(chǎn)系統(tǒng)主要有工作部件和共享資源,工作部件按照一定的規(guī)則并發(fā)執(zhí)行和共享系統(tǒng)的資源。使用petri網(wǎng)的庫(kù)所中的托肯數(shù)表示資源數(shù),使用petri網(wǎng)的變遷表示工作部件,使用petri網(wǎng)中庫(kù)所與變遷間的關(guān)系弧表示生產(chǎn)系統(tǒng)中的規(guī)則。這樣即可將現(xiàn)實(shí)的企業(yè)車間生產(chǎn)系統(tǒng)模型化,使用petri網(wǎng)模型表示,并且通過(guò)分析、處理petri網(wǎng)模型來(lái)實(shí)現(xiàn)對(duì)實(shí)際系統(tǒng)的研究和控制。
步驟2、初始化模塊,其求解過(guò)程如下:
對(duì)于petri網(wǎng)模型全部庫(kù)所集合p={p1,p2,p3...pn}(n為系統(tǒng)中庫(kù)所總數(shù)),找出所有
對(duì)于
其中m為集合pa中元素的數(shù)量。
對(duì)于
在系統(tǒng)初始狀態(tài)m0狀態(tài)下,把擁有托肯的庫(kù)所及其數(shù)量信息傳遞到梯形圖中。若
步驟3、偵測(cè)模塊采用先偵測(cè)所有變遷的使能情況,再統(tǒng)一發(fā)射變遷,從結(jié)構(gòu)上避免了雪崩效應(yīng)。雪崩效應(yīng)為plc掃描過(guò)程中,布爾表達(dá)式序貫賦值引起的結(jié)果。雪崩效應(yīng)類似于流水線指令的raw(寫后讀)數(shù)據(jù)相關(guān),即后一指令所需的數(shù)據(jù)被前一指令所更改,這并不是我們預(yù)期的結(jié)果,會(huì)導(dǎo)致petri網(wǎng)狀態(tài)的雪崩,引起無(wú)法預(yù)知的后果。使用先偵測(cè)所有變遷的使能情況,再對(duì)使能變遷統(tǒng)一發(fā)射,從結(jié)構(gòu)上避免了判斷變遷使能狀況同時(shí)發(fā)射容易引起的雪崩效應(yīng),提高了系統(tǒng)的穩(wěn)定性。
步驟4、偵測(cè)模塊在偵測(cè)時(shí)同時(shí)設(shè)置涉及沖突問(wèn)題庫(kù)所的優(yōu)先級(jí),解決沖突問(wèn)題。其求解過(guò)程如下:
通過(guò)檢查petri網(wǎng)模型的關(guān)聯(lián)矩陣[n](p,t),確定系統(tǒng)中是否存在沖突問(wèn)題。
若系統(tǒng)存在沖突問(wèn)題,則通過(guò)設(shè)置各個(gè)變遷的優(yōu)先級(jí),解決petri網(wǎng)模型中存在的沖突問(wèn)題。具體做法為:
在plc梯形圖編程語(yǔ)言執(zhí)行過(guò)程中,總是按照從上至下、從左至右依次掃描的。在涉及沖突庫(kù)所的轉(zhuǎn)化時(shí),把優(yōu)先級(jí)較高的變遷放在上面,優(yōu)先級(jí)較低的庫(kù)所放在下面。在優(yōu)先級(jí)較低的變遷所對(duì)應(yīng)的線圈前面另外添加一個(gè)觸點(diǎn),用以判斷自身是否滿足發(fā)射條件。
步驟5、對(duì)于任意ti∈t,ti是使能的,當(dāng)ti所有的輸入庫(kù)所的托肯數(shù)不小于其對(duì)應(yīng)的弧的權(quán)值,即w(p,ti)<=|p|。在梯形圖中,使用一個(gè)線圈表示ti是否是可發(fā)射的。
petri網(wǎng)模型的關(guān)聯(lián)矩陣[n](p,t)包含了輸入庫(kù)所至變遷的弧的權(quán)值信息,故可以直接從關(guān)聯(lián)[n](p,t)中獲得ti的使能情況。對(duì)于變遷ti∈t,在梯形圖中,若ti的輸入庫(kù)所pj∈pa(權(quán)利要求2中所定義),pj是否滿足使能條件,用一系列的常開(kāi)觸點(diǎn)來(lái)表示,當(dāng)且僅當(dāng)pj中有托肯時(shí),觸點(diǎn)接通。若ti的輸入庫(kù)所pj∈pb(權(quán)利要求2中所定義),pj是否滿足條件,用比較指令w(pj,ti)<=|p|來(lái)實(shí)現(xiàn)。當(dāng)比較指令為真時(shí),觸點(diǎn)閉合,當(dāng)比較指令為假時(shí),觸點(diǎn)打開(kāi)。
當(dāng)ti所有的輸入庫(kù)所都滿足使能條件,在梯形圖中,對(duì)ti對(duì)應(yīng)的線圈執(zhí)行置位指令。否則,執(zhí)行復(fù)位指令。
最后,所有變遷組成一個(gè)1×n行的發(fā)射向量x=(x1,x2,…,xn),其中,n為變變遷總數(shù),xi表示ti是否能夠發(fā)射,若ti滿足發(fā)射條件,則xi=1,否則xi=0。
步驟6、演變模塊接收從偵測(cè)模塊傳遞的信息,發(fā)射使能變遷,更新各個(gè)庫(kù)所中托肯數(shù)量。具體做法為:
根據(jù)petri網(wǎng)的狀態(tài)方程
m=m0+x(α)[n]
其中,m0為初態(tài)。m為從m0引發(fā)序列a=t0t1…ts得到的標(biāo)識(shí)。1×m行向量x(a)=(x1,x2,…,xm)為發(fā)射記數(shù)向量,其中元素xi為tj在α中出現(xiàn)的次數(shù),[n]為petri網(wǎng)的關(guān)聯(lián)矩陣。據(jù)此,可以得到petri網(wǎng)一次演變的狀態(tài)方程:
m=m′+x[n]
其中,m′為m的上一狀態(tài),x為從偵測(cè)模塊接收的發(fā)射向量。
最后,由狀態(tài)方程得到終態(tài)m,并且更新各個(gè)庫(kù)所中托肯的數(shù)量。petri網(wǎng)模型轉(zhuǎn)化為plc梯形圖完成。
本發(fā)明與現(xiàn)有的技術(shù)相比,其顯著的優(yōu)點(diǎn)為:1)本發(fā)明的方法適用于普通petri網(wǎng)轉(zhuǎn)化為梯形圖,在實(shí)際工業(yè)應(yīng)用中更加廣泛;2)本發(fā)明采用預(yù)先偵測(cè)所有變遷使能情況再統(tǒng)一發(fā)射的結(jié)構(gòu),徹底解決了plc掃描時(shí)容易出現(xiàn)的雪崩效應(yīng),提高了系統(tǒng)安全性;3)本發(fā)明提出了一種解決變遷沖突問(wèn)題的方法,通過(guò)編程人員設(shè)置的優(yōu)先級(jí),控制沖突發(fā)生時(shí)變遷發(fā)生的先后順序,更好的還原設(shè)計(jì)的本來(lái)意圖;4)本發(fā)明的方法基于petri網(wǎng)狀態(tài)方程計(jì)算狀態(tài)的演變,具有嚴(yán)格的數(shù)學(xué)論證過(guò)程。
附圖說(shuō)明
圖1是一個(gè)車間制造系統(tǒng)實(shí)例圖。
圖2是車間制造系統(tǒng)petri網(wǎng)模型。
圖3是初始化模塊求解流程。
圖4是初始化模塊示例圖。
圖5是雪崩效應(yīng)示例,其中圖5(a)是第一種情況示例,圖5(b)是第二種情況示例。
圖6是偵測(cè)模塊示例圖。
圖7是演變模塊示例圖。
具體實(shí)施方式
結(jié)合附圖,本發(fā)明的一種車間制造系統(tǒng)中petri網(wǎng)轉(zhuǎn)換到plc梯形圖的方法,包括以下步驟:
步驟1、將車間制造系統(tǒng)中petri網(wǎng)的初始狀態(tài)m0傳遞給梯形圖,即把petri網(wǎng)模型的初始托肯信息傳遞給對(duì)應(yīng)的庫(kù)所;具體為:
步驟1-1、對(duì)于petri網(wǎng)模型全部庫(kù)所集合p={p1,p2,p3...pn},n為系統(tǒng)中庫(kù)所總數(shù),找出所有
步驟1-2、對(duì)于
其中m為集合pa中元素的數(shù)量;
對(duì)于
步驟1-3、在系統(tǒng)初始狀態(tài)m0狀態(tài)下,把擁有托肯的庫(kù)所及其數(shù)量信息傳遞到梯形圖中;若
步驟2、檢測(cè)每個(gè)變遷的使能信息,并利用該使能信息判斷沖突變遷的優(yōu)先級(jí),從結(jié)構(gòu)上解決雪崩效應(yīng);具體為:
步驟2-1、檢查petri網(wǎng)模型的關(guān)聯(lián)矩陣[n](p,t),t為petri網(wǎng)模型中的變遷;確定系統(tǒng)中是否存在沖突問(wèn)題,若系統(tǒng)中存在沖突問(wèn)題,則轉(zhuǎn)至步驟2-2,否則轉(zhuǎn)至步驟2-3;所述沖突問(wèn)題定義為:令tc為庫(kù)所
其中,tci為集合tc中第i個(gè)變遷,w(pi,tci)為庫(kù)所pi到其對(duì)應(yīng)輸出變遷的權(quán)值;
步驟2-2、設(shè)置各個(gè)變遷的優(yōu)先級(jí),具體為:在plc梯形圖編程語(yǔ)言執(zhí)行過(guò)程中,按照從上至下、從左至右依次掃描的;在涉及沖突庫(kù)所的轉(zhuǎn)化時(shí),把優(yōu)先級(jí)高的變遷放在上面,優(yōu)先級(jí)低的變遷放在下面,在優(yōu)先級(jí)低的變遷所對(duì)應(yīng)的線圈前面另外添加一個(gè)觸點(diǎn),用以判斷自身是否滿足發(fā)射條件;
步驟2-3、對(duì)于任意ti∈t,ti是使能的,當(dāng)ti所有的輸入庫(kù)所的托肯數(shù)不小于其對(duì)應(yīng)的弧的權(quán)值,即w(p,ti)<=|p|;在梯形圖中,使用一個(gè)線圈表示ti是否是使能的,petri網(wǎng)模型的關(guān)聯(lián)矩陣[n](p,t)包含了輸入庫(kù)所至變遷的弧的權(quán)值信息,可以直接從關(guān)聯(lián)矩陣[n](p,t)中獲得ti的使能情況;對(duì)于變遷ti∈t,在梯形圖中,對(duì)于ti的輸入庫(kù)所pj∈pa,當(dāng)且僅當(dāng)pj中有托肯時(shí),觸點(diǎn)接通,表示滿足使能條件,否則不滿足;對(duì)于ti的輸入庫(kù)所pj∈pb,用比較指令w(pj,ti)<=|p|來(lái)判斷,當(dāng)比較指令為真時(shí),觸點(diǎn)閉合,表示滿足使能條件,當(dāng)比較指令為假時(shí),觸點(diǎn)打開(kāi),不滿足使能條件;當(dāng)ti所有的輸入庫(kù)所都滿足使能條件,在梯形圖中,對(duì)ti對(duì)應(yīng)的線圈執(zhí)行置位指令;否則,執(zhí)行復(fù)位指令;
步驟2-4、將所有變遷組成一個(gè)1×n行的發(fā)射向量x=(x1,x2,…,xn),其中,n為變遷總數(shù),xi表示ti是否能夠發(fā)射,若ti滿足發(fā)射條件,則xi=1,否則xi=0。
步驟3、將使能的變遷發(fā)射,之后更新各個(gè)庫(kù)所的托肯數(shù)量,從而完成petri網(wǎng)到plc梯形圖的轉(zhuǎn)換。將使能的變遷發(fā)射,之后更新各個(gè)庫(kù)所的托肯數(shù)量,具體為:根據(jù)petri網(wǎng)的狀態(tài)方程得到petri網(wǎng)一次演變的狀態(tài)方程,并由一次演變的狀態(tài)方程得到終態(tài)m,并且根據(jù)終態(tài)m更新各個(gè)庫(kù)所中托肯的數(shù)量;
其中petri網(wǎng)的狀態(tài)方程為:
m=m0+x(α)[n]
式中,m0為初態(tài),m為從m0引發(fā)序列a=t0t1...ts得到的標(biāo)識(shí),1×m行向量x(a)=(x1,x2,…,xm)為發(fā)射記數(shù)向量,其中元素xi為tj在α中出現(xiàn)的次數(shù),[n]為petri網(wǎng)的關(guān)聯(lián)矩陣;
所述petri網(wǎng)一次演變的狀態(tài)方程為:
m=m′+x[n]
式中,m′為m的上一狀態(tài),向量x為步驟2得到的發(fā)射向量。
本發(fā)明的方法適用于普通petri網(wǎng)轉(zhuǎn)化為梯形圖,在實(shí)際工業(yè)應(yīng)用中更加廣泛。
下面結(jié)合實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述。
實(shí)施例
一種車間制造系統(tǒng)中petri網(wǎng)轉(zhuǎn)換到plc梯形圖的方法,包括以下步驟:
第一步、圖1是一個(gè)由兩個(gè)機(jī)器人(r1,r2:每個(gè)機(jī)器人同時(shí)刻可以持有一個(gè)產(chǎn)品)和三臺(tái)機(jī)器(m1,m2,m3:每個(gè)機(jī)器同時(shí)刻可以處理兩個(gè)產(chǎn)品),以及兩個(gè)輸入緩存(i1,i2)和兩個(gè)輸出緩存(o1,o2),共同組成的一個(gè)自動(dòng)化產(chǎn)品生產(chǎn)系統(tǒng)。系統(tǒng)主要以兩個(gè)機(jī)器人為核心分為兩條生產(chǎn)線,它的運(yùn)行流程為
j1:i1→r1→m1→r2→m2→o1
ori1→m3→o1
j2:i2→m1→r2→m2→o2
利用petri網(wǎng)對(duì)圖1所示的車間制造系統(tǒng)進(jìn)行建模,所得的petri網(wǎng)模型如圖2所示。圖2所示的petri網(wǎng)模型是petri網(wǎng)相關(guān)研究中普遍使用的一個(gè)示例網(wǎng),值得注意的是,為了顯示本發(fā)明支持弧權(quán)值大于1的petri網(wǎng),令w(p10,t10)=2。
第二步、結(jié)合圖2和圖3,本發(fā)明在對(duì)petri網(wǎng)至plc梯形圖轉(zhuǎn)化過(guò)程中初始化模塊求解步驟。
對(duì)于圖2中的車間工業(yè)制造系統(tǒng)petri網(wǎng)模型,它的全部的庫(kù)所集合p={p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15},找出所有
對(duì)于
對(duì)于
在系統(tǒng)初始狀態(tài)m0狀態(tài)下,把擁有托肯的庫(kù)所及其數(shù)量信息傳遞到梯形圖中。若
第三步,結(jié)合圖5,本發(fā)明解決雪崩效應(yīng)的思路如下:
雪崩效應(yīng)為plc掃描過(guò)程中,布爾表達(dá)式序貫賦值引起的結(jié)果。雪崩效應(yīng)類似于流水線指令的raw數(shù)據(jù)相關(guān),即后一指令所需的數(shù)據(jù)被前一指令所更改,這并不是我們預(yù)期的結(jié)果,會(huì)導(dǎo)致petri網(wǎng)狀態(tài)的雪崩,引起無(wú)法預(yù)知的后果。如圖5(a)所示,當(dāng)庫(kù)所p1出現(xiàn)托肯時(shí),變遷t1使能。在一次演變周期內(nèi),庫(kù)所p1中的托肯會(huì)轉(zhuǎn)移到庫(kù)所p2中,并且會(huì)使t2使能,在下一次的掃描周期內(nèi),再將t2發(fā)射。然而,根據(jù)plc梯形圖程序的掃描規(guī)則,在同一個(gè)演變周期內(nèi),變遷t1和t2會(huì)相繼發(fā)射,如圖5(b)所示。這就是petri網(wǎng)轉(zhuǎn)化至plc梯形圖過(guò)程中存在的雪崩效應(yīng)。
為了解決雪崩效應(yīng),本發(fā)明采用先偵測(cè)所有變遷的使能情況,這樣就避免了對(duì)庫(kù)所中托肯數(shù)量的連續(xù)賦值。再統(tǒng)一對(duì)使能的變遷發(fā)射,這樣就不會(huì)發(fā)生上述的雪崩問(wèn)題。
第四步,結(jié)合圖6分析解決沖突問(wèn)題及偵測(cè)模塊,具體步驟如下:
通過(guò)檢查petri網(wǎng)模型的關(guān)聯(lián)矩陣[n](p,t),確定系統(tǒng)中是否存在沖突問(wèn)題。如圖1所示的petri網(wǎng)關(guān)聯(lián)矩陣為
其中[n](p,t)i,j為庫(kù)所pi到其輸出變遷ti的權(quán)值。由關(guān)聯(lián)矩陣可以看出,變遷t1和t2共同競(jìng)爭(zhēng)庫(kù)所p2中資源,所以這兩個(gè)變遷之間存在沖突問(wèn)題??梢酝ㄟ^(guò)設(shè)置沖突變遷的優(yōu)先級(jí),使沖突結(jié)構(gòu)按照預(yù)設(shè)順序推演。在本petri網(wǎng)模型中,令變遷t1優(yōu)先級(jí)大于t2,。判斷優(yōu)先級(jí)較低的變遷是否使能時(shí),需額外考慮與其沖突變遷的使能情況。因此,在plc梯形圖中需額外設(shè)置一個(gè)線圈c1來(lái)判斷變遷t2是否使能,c1具體邏輯為:
其中,
petri網(wǎng)模型的關(guān)聯(lián)矩陣[n](p,t)包含了輸入庫(kù)所至變遷的弧的權(quán)值信息,故可以直接從關(guān)聯(lián)[n](p,t)中獲得ti的使能情況。所有變遷組成一個(gè)1×n行的發(fā)射向量x=(1,0,0,0,0,0,0,0,0,0,1)。
最終偵測(cè)模塊梯形圖如圖6所示。
第五步,根據(jù)petri網(wǎng)一次演變的狀態(tài)方程:
m=m′+x[n]
可以得到petri網(wǎng)一次演變的規(guī)則。根據(jù)從偵測(cè)模塊接收到的發(fā)射向量,發(fā)射各個(gè)使能變遷,并且更新相關(guān)庫(kù)所中托肯中數(shù)量。轉(zhuǎn)化后的plc梯形圖演變模塊如圖7所示。
由上可知,本發(fā)明采用預(yù)先偵測(cè)所有變遷使能情況再統(tǒng)一發(fā)射的結(jié)構(gòu),徹底解決了plc掃描時(shí)容易出現(xiàn)的雪崩效應(yīng),提高了系統(tǒng)安全性。