畢 翔, 韓江洪, 王躍飛, 魏振春
(1.合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院,安徽合肥 230009;2.合肥工業(yè)大學(xué)安全關(guān)鍵工業(yè)測控技術(shù)教育部工程研究中心,安徽合肥230009)
近半個(gè)世紀(jì)以來,可編程邏輯控制器(PLC)以其穩(wěn)定性和易使用性等方面所表現(xiàn)出的卓越性能,逐漸成為現(xiàn)代工廠執(zhí)行自動化任務(wù)的中流砥柱。然而,日益擴(kuò)大的市場需求和激烈的市場競爭,使得服務(wù)生產(chǎn)的控制系統(tǒng)不可避免地演變成具有同步、并發(fā)和競爭機(jī)制的離散事件控制系統(tǒng)(DECS)。針對該類復(fù)雜系統(tǒng),傳統(tǒng)的PLC設(shè)計(jì)方法存在明顯不足,包括控制模型難以快速和正確地建立,設(shè)計(jì)方案難以分析和驗(yàn)證,控制程序難以修改和重用等[1]。
Petri網(wǎng)作為一種數(shù)學(xué)和圖形化工具,能夠在控制系統(tǒng)狀態(tài)數(shù)增多的情況下,建立起比其它工具簡練的系統(tǒng)模型,并且能對模型進(jìn)行正確性驗(yàn)證和性能評價(jià),因此逐步被引入PLC控制系統(tǒng)設(shè)計(jì)之中。最初,Petri網(wǎng)模型和PLC程序之間是完全獨(dú)立的,這種設(shè)計(jì)方法有利于系統(tǒng)模型的建立和驗(yàn)證,但不能滿足實(shí)際應(yīng)用的易維護(hù)性要求。目前該方向的研究重點(diǎn)在于建立Petri網(wǎng)模型和PLC程序之間的有效聯(lián)系,實(shí)現(xiàn)兩者之間的相互轉(zhuǎn)換。文獻(xiàn)[2-4]表明,在實(shí)現(xiàn)Petri網(wǎng)模型向PLC程序轉(zhuǎn)換過程中,更多側(cè)重于結(jié)果,即能夠獲取PLC程序,而對轉(zhuǎn)換過程的規(guī)范化和自動化考慮較少。
本文在構(gòu)建Petri網(wǎng)對DECS規(guī)范化建模準(zhǔn)則和方法的基礎(chǔ)上,通過定義元素邏輯關(guān)系表,實(shí)現(xiàn)Petri網(wǎng)模型的結(jié)構(gòu)化表示,并結(jié)合梯形邏輯圖(LLD)的語法規(guī)則,給出從元素邏輯關(guān)系表到LLD的映射方法,最終實(shí)現(xiàn)Petri網(wǎng)模型向PLC程序的無縫轉(zhuǎn)換。本文選取1個(gè)典型的DECS實(shí)例對研究內(nèi)容進(jìn)行驗(yàn)證,結(jié)果表明,這種基于元素邏輯關(guān)系表的轉(zhuǎn)換方法,能夠?qū)崿F(xiàn)DECS開發(fā)過程的完全計(jì)算機(jī)化,有助于縮短系統(tǒng)開發(fā)周期和提高系統(tǒng)的可維護(hù)性。
Petri網(wǎng)理論經(jīng)過40多年的發(fā)展和完善,廣泛地應(yīng)用于自動控制、計(jì)算機(jī)和通信等眾多領(lǐng)域,成為在邏輯層次上對離散事件控制系統(tǒng)進(jìn)行建模和分析的主要方法之一[5]。隨著時(shí)間和數(shù)據(jù)類型等概念的引入,基本Petri網(wǎng)又衍生為時(shí)間、隨機(jī)和有色等Petri網(wǎng)。它們滿足了對更多類型系統(tǒng)的建模需求,從而擴(kuò)展了Petri網(wǎng)的應(yīng)用范圍。然而,在實(shí)際建模時(shí),系統(tǒng)對象及彼此間的關(guān)系如何用Petri網(wǎng)定義的元素表示,設(shè)計(jì)者從自身理解的角度出發(fā),會采用不同的對應(yīng)依據(jù)。這使得同一系統(tǒng),其建模結(jié)果有時(shí)不是唯一的,且模型的正確性很大程度上取決于個(gè)人經(jīng)驗(yàn)[6-8]。這種建模方式,對于面向系統(tǒng)性能分析的應(yīng)用場合是適用的,但卻不利于DECS開發(fā)過程的全計(jì)算機(jī)化,因此有必要結(jié)合DECS的特點(diǎn),構(gòu)建一套基于Petri網(wǎng)理論且面向系統(tǒng)實(shí)現(xiàn)的建模準(zhǔn)則和方法,從而實(shí)現(xiàn)DECS的規(guī)范化建模。
DECS作為一類受離散事件驅(qū)動狀態(tài)演化的控制系統(tǒng),主要通過演化過程的狀態(tài)序列和事件序列來反映系統(tǒng)的邏輯行為,并借助控制器予以實(shí)現(xiàn)。這使得DECS的Petri網(wǎng)模型應(yīng)立足于控制器的角度來建立,即采用面向系統(tǒng)實(shí)現(xiàn)的建模方法。從控制器的運(yùn)行機(jī)理看,系統(tǒng)的狀態(tài)值通過傳感器等檢測對象傳遞給控制器,外部作用于系統(tǒng)的輸入事件通過開關(guān)等操作對象傳遞給控制器,而系統(tǒng)作用于外部的輸出事件則通過繼電器等執(zhí)行對象從控制器送出,這3類對象均為對應(yīng)實(shí)際功能器件的物理對象。
此外,為滿足控制器內(nèi)部邏輯處理的需要,系統(tǒng)中還存在著一類與外界無直接聯(lián)系的虛擬對象,該類對象既可對應(yīng)邏輯輸出(結(jié)果),也可對應(yīng)邏輯輸入(條件)。
上述4類DECS對象,在繪制Petri網(wǎng)結(jié)構(gòu)圖時(shí),將以庫所和變遷2種元素的形式呈現(xiàn)。為了獲得規(guī)范化的Petri網(wǎng)模型,需構(gòu)建相應(yīng)的準(zhǔn)則,用以確定DECS對象類型與Petri網(wǎng)元素的對應(yīng)關(guān)系,并對與控制特點(diǎn)和要求相關(guān)的建模方法予以明確說明。從對象相對于控制器的輸入/輸出角色以及Petri網(wǎng)基本原理出發(fā),本文定義DECS規(guī)范化建模準(zhǔn)則為:
(1)檢測類對象OT和操作類對象OM表征輸入條件,應(yīng)與變遷元素對應(yīng)。可一一對應(yīng),也可經(jīng)邏輯關(guān)系運(yùn)算后與變遷元素對應(yīng)。當(dāng)條件滿足時(shí),使能的變遷允許發(fā)射。
(2)執(zhí)行類對象OE表征輸出動作,應(yīng)與庫所元素對應(yīng)。當(dāng)庫所含有令牌時(shí),對象執(zhí)行動作。
(3)虛擬類對象OV表征邏輯的綜合,應(yīng)與庫所元素對應(yīng)。
除定義建模準(zhǔn)則外,區(qū)別于面向分析和驗(yàn)證的系統(tǒng),面向綜合的DECS在建立Petri網(wǎng)模型特別是規(guī)范化模型時(shí),還需要定義一些專門的建模方法,具體包括:
(1)設(shè)置一種特殊變遷元素,其對應(yīng)的邏輯條件始終成立,稱為常邏輯變遷(true logic transition),以符號TT表示。
(2)若執(zhí)行類對象OE或虛擬類對象OV的輸出,需要作為返回條件參與邏輯處理,則對應(yīng)庫所元素存在輸出變遷,且將該變遷視為庫所的替身,稱為影子變遷(shadow transition),以符號TS表示;否則無輸出變遷,并稱該庫所為匯聚庫所(sink p lace),以符號PS1表示。
(3)為保證模型計(jì)算機(jī)處理的一致性,若某個(gè)變遷元素不存在輸入庫所,則默認(rèn)通過使能弧連接一個(gè)包含令牌的虛擬庫所,并稱該庫所為源庫所(source p lace),以符號PS2表示。
(4)控制邏輯中表示資源能力的定時(shí)與計(jì)數(shù)功能視作虛擬類對象OV,在滿足條件的前提下,按計(jì)量單位向其對應(yīng)的庫所元素中添加1個(gè)令牌,并將該庫所的輸出弧權(quán)函數(shù)W VO設(shè)置為代表資源能力大小的數(shù)值,即WVO=VT或VC。
(5)對于激勵(lì)信號為保持電平型或瞬間脈沖型的執(zhí)行類對象OE,若其對應(yīng)庫所元素p e沒有滿足要求的輸出變遷存在,則需作相應(yīng)的處理,如圖1虛線部分所示。其中,pK2指向tK3的連接弧為抑制弧,t t為常邏輯變遷。
圖1 2種激勵(lì)信號執(zhí)行類對象的處理方法
規(guī)范化的Petri網(wǎng)模型,主要借助圖形符號元素,以圖形化方式展現(xiàn)系統(tǒng)的組織結(jié)構(gòu)及對象間的聯(lián)系。這種形象直觀的描述方式易于模型設(shè)計(jì)者閱讀和理解,但要實(shí)現(xiàn)計(jì)算機(jī)對模型自動分析并轉(zhuǎn)換為控制程序的功能,則需要結(jié)合規(guī)范化模型的特點(diǎn),定義一種易于計(jì)算機(jī)處理和存儲的結(jié)構(gòu)化描述方式,并保證2種方式描述的系統(tǒng)模型在本質(zhì)上完全等價(jià),僅表現(xiàn)形式有所不同。
考慮到規(guī)范化的Petri網(wǎng)模型是由庫所和變遷2種主要元素構(gòu)成的有向圖,且存在一系列結(jié)構(gòu)性和規(guī)律性特點(diǎn),包括:一個(gè)庫所元素若存在輸入或輸出結(jié)點(diǎn),則該結(jié)點(diǎn)必是變遷元素;一個(gè)變遷元素必存在輸入和輸出結(jié)點(diǎn),且該結(jié)點(diǎn)必是庫所元素;連接2類元素的有向弧在表明系統(tǒng)邏輯演進(jìn)方向的同時(shí),也指示了元素之間邏輯的先后關(guān)系等。因此,本文采用一種易于邏輯檢索的雙向鏈接結(jié)構(gòu)來等價(jià)描述圖形方式的Petri網(wǎng)模型,該結(jié)構(gòu)在實(shí)現(xiàn)時(shí)以表格方式直觀地說明模型的元素構(gòu)成及元素間的邏輯關(guān)系,故稱為元素邏輯關(guān)系表。
為了避免冗余邏輯關(guān)系的出現(xiàn)以及便于模型自動地向控制程序轉(zhuǎn)換,元素邏輯關(guān)系表采用主從方式設(shè)計(jì),主表僅圍繞Petri網(wǎng)模型的庫所元素,分別記錄該元素對應(yīng)的所有輸入變遷元素(前驅(qū)元素)和輸出變遷元素(后繼元素)。此外,主表還應(yīng)包含對應(yīng)的DECS對象屬性,例如對象類型及控制參數(shù)等。從表用于說明每個(gè)變遷元素的發(fā)射條件,即對應(yīng)DECS對象的邏輯關(guān)系。
基于所設(shè)計(jì)的表格結(jié)構(gòu),DECS模型的元素邏輯關(guān)系表可按以下步驟形成:
(1)對圖形模型中的所有庫所元素和變遷元素,按編號順序分別建立庫所集合P和變遷集合T。
(2)從庫所集合P中選取1個(gè)目標(biāo)庫所pi,分析并記錄其所有輸入變遷和輸出變遷以及對應(yīng)的DECS對象屬性。
(3)重復(fù)步驟(2)直至最后一個(gè)庫所元素,最終形成主表。
(4)從變遷集合T中依序選取1個(gè)目標(biāo)變遷ti,分析并記錄其對應(yīng)DECS對象的邏輯關(guān)系。
(5)重復(fù)步驟(4)直至最后一個(gè)變遷元素,最終形成從表。
在完成系統(tǒng)模型建立及性能驗(yàn)證后,DECS開發(fā)的下一步關(guān)鍵工作是設(shè)計(jì)用于控制器執(zhí)行的控制程序。鑒于PLC是目前離散型工業(yè)控制領(lǐng)域系統(tǒng)控制器的主力軍,且主要以與繼電器電路類似的LLD編程語言來設(shè)計(jì)和實(shí)現(xiàn)控制程序,因此本文主要討論從DECS規(guī)范化Petri網(wǎng)模型到LLD程序的轉(zhuǎn)換方法。
分析可知,Petri網(wǎng)模型以庫所和變遷2種主要元素通過有向弧連接構(gòu)成,而LLD程序的基本單位是代表一個(gè)完整邏輯含義的指令組——梯級(rung),這意味著從模型到程序的轉(zhuǎn)換方法應(yīng)從邏輯關(guān)系完整性和獨(dú)立性角度出發(fā),對Petri網(wǎng)模型結(jié)構(gòu)進(jìn)行合理分割,并建立分割后所得邏輯子塊與梯級之間的有效聯(lián)系,最終通過分塊映射的方式逐步獲取PLC的LLD程序。
設(shè)某個(gè)邏輯子塊的結(jié)構(gòu)如圖2所示。
圖2 邏輯子塊的結(jié)構(gòu)
根據(jù)Petri網(wǎng)理論對庫所獲取和失去令牌的條件規(guī)定,該邏輯子塊中的庫所元素p獲取令牌的條件為:
相應(yīng)地,庫所元素p失去令牌的條件為:
綜合(1)式和(2)式可知,該邏輯子塊對應(yīng)的邏輯方程為:
(7)以轉(zhuǎn)換結(jié)果中的每個(gè)變遷元素為索引,依次檢索元素邏輯關(guān)系表從表,用獲取的DECS對象邏輯組合替代該元素。
(8)依據(jù)邏輯關(guān)系(與、或、非)及庫所元素pi對應(yīng)DECS對象的屬性,以相應(yīng)LLD指令替代轉(zhuǎn)換結(jié)果中的元素,并結(jié)合PLC地址分配表,將指令對應(yīng)到I/O地址及內(nèi)部寄存器地址,由此完成一個(gè)梯級的生成。
(9)對元素邏輯關(guān)系表主表中剩余庫所元素,依次執(zhí)行步驟(2)~(8),并用垂直直線連接所有梯級的起始點(diǎn),最終完成全部LLD程序的生成。
其中,*表示邏輯與關(guān)系;+表示邏輯或關(guān)系。
若將(3)式等號右邊部分映射為LLD梯級的輸入邏輯指令(AND或OR等指令),將左邊部分映射為梯級的輸出邏輯指令(OUT等指令),并將各庫所和變遷元素用代表DECS對象的PLC地址替換,可初步實(shí)現(xiàn)Petri網(wǎng)模型邏輯子塊到LLD程序的轉(zhuǎn)換。由于常邏輯變遷、影子變遷和源庫所等特殊結(jié)構(gòu)的存在,因此還需作進(jìn)一步處理。鑒于邏輯子塊的內(nèi)容和結(jié)構(gòu)關(guān)系,均能在結(jié)構(gòu)化的元素邏輯關(guān)系表中予以體現(xiàn),為實(shí)現(xiàn)從Petri網(wǎng)模型到LLD程序的自動轉(zhuǎn)換,本文以元素邏輯關(guān)系表為基礎(chǔ),設(shè)計(jì)了如下的轉(zhuǎn)換算法,即:
(1)從元素邏輯關(guān)系表主表的首位置取出目標(biāo)庫所元素pi。
(2)以pi為索引,檢索主表獲取其輸入變遷元素,并以該元素為索引,獲取其輸入庫所元素(即以該元素作為輸出變遷的庫所),將所有檢索結(jié)果元素以水平直線連接。
(3)若pi的輸入變遷個(gè)數(shù)大于1,則依次對每個(gè)變遷元素重復(fù)執(zhí)行步驟(2),全部完成后以垂直直線分別連接各水平直線的起始點(diǎn)和終止點(diǎn)。
(4)以pi為索引,檢索主表獲取其輸出變遷元素,并將所有檢索結(jié)果元素以水平直線連接。
(5)以水平直線連接步驟(3)的公共終止點(diǎn)、步驟(4)的終止點(diǎn)和pi。
(6)若轉(zhuǎn)換結(jié)果中存在源庫所ps2、常邏輯變遷t t或影子變遷t s,則以水平直線替代該元素。
為了驗(yàn)證上述轉(zhuǎn)換方法的可行性,本文以礦山和港口常用的皮帶運(yùn)輸控制系統(tǒng)為例,選取OMRON公司的CP1H系列PLC作為系統(tǒng)控制器,說明規(guī)范化Petri網(wǎng)模型到LLD程序的轉(zhuǎn)換過程。
皮帶運(yùn)輸控制系統(tǒng)啟動時(shí),按物料運(yùn)輸方向,依次逐臺啟動所有皮帶運(yùn)輸機(jī),要求前臺設(shè)備啟動后間隔1個(gè)走帶時(shí)間(等于皮帶長度除以皮帶走速),然后啟動下一臺設(shè)備;系統(tǒng)運(yùn)行過程中,通過傳感器對皮帶跑偏、縱撕、斷帶、堆料、電機(jī)溫度高等異常狀況進(jìn)行檢測。一旦出現(xiàn)故障,則從故障點(diǎn)設(shè)備開始,首先對故障設(shè)備停機(jī),同時(shí)立即停止所有前端設(shè)備,然后依次間隔1個(gè)走帶時(shí)間,逐臺停止所有后端設(shè)備;系統(tǒng)在正常狀況下停機(jī)時(shí),從首設(shè)備開始依次間隔1個(gè)走帶時(shí)間,逐臺停止所有設(shè)備。
受篇幅限制,此處僅選取單臺皮帶運(yùn)輸機(jī)在不同條件下的停機(jī)控制邏輯,用以說明規(guī)范化Petri網(wǎng)模型及其向LLD程序的轉(zhuǎn)換過程。該部分的Petri網(wǎng)模型如圖3所示。
圖3 單臺皮帶運(yùn)輸機(jī)的停機(jī)控制模型
圖3中,t1表示前臺設(shè)備停止?fàn)顟B(tài)信息,用于檢測皮帶跑偏、縱撕、斷帶、堆料、電機(jī)溫度過高等故障的傳感器,作為檢測類對象其狀態(tài)經(jīng)“或”邏輯后與t2對應(yīng);t3表示后臺設(shè)備停止?fàn)顟B(tài)消息;p1對應(yīng)虛擬類對象定時(shí)器,定時(shí)時(shí)間為60 s;p3對應(yīng)執(zhí)行類對象電磁接觸器,用于控制電機(jī)運(yùn)行。
綜合考慮對應(yīng)的DECS對象類型和硬件連線,可將p1的PLC地址定義為定時(shí)器T0;p2為內(nèi)部輔助繼電器W 0.00;p3對應(yīng)的電磁接觸器為輸出繼電器100.00;p4為內(nèi)部輔助繼電器W 0.01;t1為內(nèi)部輔助繼電器W 0.02;t2對應(yīng)的跑偏、縱撕、斷帶、堆料和電機(jī)溫度過高檢測傳感器分別為輸入繼電器0.00、0.01、0.02、0.03和0.04;t3為內(nèi)部輔助繼電器W 0.03。在此基礎(chǔ)上,按照2.2節(jié)描述的算法,可自動生成實(shí)現(xiàn)停機(jī)控制邏輯的LLD程序,如圖4所示。
面對以PLC方式實(shí)現(xiàn)的較大規(guī)模且控制復(fù)雜的DECS,現(xiàn)有程序設(shè)計(jì)方法在系統(tǒng)建模、性能驗(yàn)證和系統(tǒng)升級與維護(hù)等方面已逐步顯現(xiàn)不足?,F(xiàn)代制造業(yè)的快速發(fā)展,客觀上要求新的設(shè)計(jì)思想和方法的出現(xiàn)。本文在分析Petri網(wǎng)和DECS特點(diǎn)及內(nèi)在聯(lián)系基礎(chǔ)上,提出了規(guī)范化的Petri網(wǎng)建模準(zhǔn)則和方法,用以建立具有唯一性的系統(tǒng)模型。通過研究系統(tǒng)模型結(jié)構(gòu)與LLD編程語言的對應(yīng)關(guān)系,設(shè)計(jì)了以元素邏輯關(guān)系表為基礎(chǔ)的轉(zhuǎn)換算法,用以將Petri網(wǎng)模型自動轉(zhuǎn)換為PLC程序。本文的研究有助于實(shí)現(xiàn)DECS各開發(fā)階段的無縫連接,從而為構(gòu)建面向全生命周期的一體化DECS開發(fā)平臺提供堅(jiān)實(shí)的技術(shù)基礎(chǔ),最終達(dá)到DECS開發(fā)與維護(hù)完全計(jì)算機(jī)化的目標(biāo)。
[1] Bani Younis M,F(xiàn)rey G.Visualization of PLC programs using XM L[C]//Proceeding of the 2004 American Con trol Conference,2004:3082-3085.
[2] Suesut T,Inban P,Nilas P,et al.Interp retation Petri net model to IEC 1131-3:LD for programmable logic controller[C]//Proceedings of the 2004 IEEE Conference on Robotics,Automation and M echatronics,2004:1107-1111.
[3] 琚長江,楊根科.Petri網(wǎng)在模塊化制造系統(tǒng)PLC程序設(shè)計(jì)中的應(yīng)用[J].低壓電器,2006,(4):20-23.
[4] 劉斌友,李 赟.Petri網(wǎng)在PLC控制系統(tǒng)程序設(shè)計(jì)中的應(yīng)用[J].兵工自動化,2008,27(10):70-72.
[5] 鄭大鐘,趙大千.離散事件動態(tài)系統(tǒng)[M].北京:清華大學(xué)出版社,2001:230-233.
[6] 高 峰,孫培良.PLC控制系統(tǒng)的Petri網(wǎng)模型研究[J].武漢工業(yè)學(xué)院學(xué)報(bào),2003,22(4):4-6.
[7] Jimenez I,Lopez E,Ramirez A.Syn thesis of ladder diag ram s from Petri nets controller m odels[C]//Proceedings of the 2001 IEEE International Symposium on Intelligen tControl,2001:225-230.
[8] Frey G.Au tomatic im plementation of Petri net based control algo rithm s on PLC[C]//Proceeding of the American ControlCon feren ce,2000:2819-2823.
合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版)2010年9期