孔志學(xué) 黃 飄 穆英娟 李凌霄
基于Petri網(wǎng)的單元控制系統(tǒng)及編程研究
孔志學(xué) 黃 飄 穆英娟 李凌霄
(上海航天精密機(jī)械研究所,上海 201600)
針對(duì)艙體制造單元控制系統(tǒng)開發(fā)與調(diào)試周期長、控制邏輯正確性難以評(píng)估的問題,提出一種基于Petri網(wǎng)建模仿真與面向?qū)ο蟮腜LC程序快速設(shè)計(jì)方法。該方法首先依據(jù)產(chǎn)品工藝流程,形成單元制造流程,并基于Petri網(wǎng)建立制造單元控制系統(tǒng)模型,通過Petri網(wǎng)仿真與優(yōu)化,使得Petri網(wǎng)模型可達(dá)、有界、無死鎖、無沖突,再通過在PLC程序設(shè)計(jì)中融入庫所、變遷、托肯、有向弧的元素,實(shí)現(xiàn)Petri網(wǎng)并發(fā)、爭(zhēng)奪、共享資源的特性,最后,面向Petri網(wǎng)模型中的對(duì)象,將Petri網(wǎng)模型中的對(duì)象快速映射至PLC程序中,使PLC運(yùn)行邏輯與Petri網(wǎng)模型保持一致。本文以艙體制造單元為例,闡述了該方法的應(yīng)用。
Petri網(wǎng);仿真;控制系統(tǒng);PLC程序設(shè)計(jì)
隨著航天的快速發(fā)展,航天飛行器關(guān)重件對(duì)制造品質(zhì)的要求不斷增強(qiáng),應(yīng)用自動(dòng)化制造單元的需求也隨之增長,同時(shí),同類結(jié)構(gòu)件在制造單元中的適應(yīng)性要求不斷增強(qiáng),使得制造單元控制系統(tǒng)的可靠性、易讀性、可維護(hù)性要求不斷提升。而PLC的梯形圖不能用數(shù)學(xué)方法分析,不能直觀地反映出自動(dòng)控制系統(tǒng)中的協(xié)調(diào)控制、競(jìng)爭(zhēng)控制和并行控制,因此可讀性差,難于升級(jí)和維護(hù)[1]。
Petri網(wǎng)是一種離散并行系統(tǒng)的數(shù)學(xué)表示[2,3],靳舒琪[3]等提出一種面向?qū)ο蠓謱哟蜳etri網(wǎng)建模方法,確保了汽車零部件生產(chǎn)線運(yùn)行過程無死鎖現(xiàn)象;陳鶴峰[4]提出采用面向資源的Petri網(wǎng)——ROPN模型為制造系統(tǒng)建模,實(shí)現(xiàn)了制造系統(tǒng)死鎖問題的有效避免;陳玉峰、李呈宗等[5]提出了基于可達(dá)圖分析的Petri網(wǎng)控制器優(yōu)化設(shè)計(jì)方法,實(shí)現(xiàn)了控制器的策略優(yōu)化;焦志剛等[6]研究了基于Petri網(wǎng)的PLC控制系統(tǒng)設(shè)計(jì)方法,實(shí)現(xiàn)了Petri網(wǎng)模型到PLC程序的轉(zhuǎn)換;石平義等[7]針對(duì)耳機(jī)部件自動(dòng)裝配設(shè)備基于Petri網(wǎng)開展了PLC控制系統(tǒng)研究,通過Petri網(wǎng)仿真驗(yàn)證指導(dǎo)設(shè)計(jì)了PLC程序。綜上可知,Petri網(wǎng)模型是描述柔性制造系統(tǒng)的有效方法,然而Petri網(wǎng)模型到PLC程序的轉(zhuǎn)換依然需要大量的人工語義翻譯,PLC程序可讀性差、易出錯(cuò)的問題尚未得到有效解決。
本文結(jié)合航天艙體結(jié)構(gòu)件制造單元,通過分析產(chǎn)品工藝流程,建立單元控制系統(tǒng)的Petri網(wǎng)模型并仿真,保證了Petri網(wǎng)模型的活性、可達(dá)性、無死鎖,并面向Petri網(wǎng)各元素設(shè)計(jì)PLC功能塊,實(shí)現(xiàn)了Petri網(wǎng)模型到PLC程序的快速映射,降低了PLC程序設(shè)計(jì)的開發(fā)難度與設(shè)計(jì)周期,使PLC運(yùn)行邏輯與Petri網(wǎng)模型保持一致,保證了PLC程序的正確性。
圖1為航天艙體結(jié)構(gòu)件制造單元,控制對(duì)象共包括2臺(tái)數(shù)控機(jī)床、1臺(tái)桁架機(jī)器人、1個(gè)緩存庫(含出入庫工位、上下料工位)、1個(gè)操作員等5部分。
圖1 艙體制造單元組成圖
艙體結(jié)構(gòu)件制造單元主要包括2道工序,分別為OP10道車銑外圓、OP20道車銑內(nèi)圓,如圖2所示,OP10工序采用兩端悶頭裝夾車削外圓,OP20工序采用主軸外圓定位、中心架支撐車內(nèi)圓的裝夾方式,兩道工序加工前需對(duì)零件裝夾定位的精度在機(jī)測(cè)量,加工后需對(duì)零件加工尺寸精度在機(jī)測(cè)量。
圖2 艙體結(jié)構(gòu)件車削單元工藝流程
根據(jù)單元的組成與產(chǎn)品工藝流程可分解單元的生產(chǎn)制造流程,如圖3所示,詳細(xì)說明如表1所示。其中,桁架機(jī)器人的上下料過程,緩存庫的出入庫和上下料過程,機(jī)床的測(cè)量和加工過程均由各自控制器或控制系統(tǒng)負(fù)責(zé)控制,單元控制系統(tǒng)負(fù)責(zé)各設(shè)備間的協(xié)調(diào)調(diào)度。
圖3 單元制造流程圖
表1 制造流程說明表
根據(jù)上述單元生產(chǎn)流程的描述,其控制系統(tǒng)可以使用Petri網(wǎng)建模。通過Petri網(wǎng)仿真軟件PIPE建立的艙體制造單元控制系統(tǒng)Petri網(wǎng)模型如圖4所示,基于面向?qū)ο蠼5乃枷?,可將該單元?jiǎng)澐譃楣ぜ?、OP10機(jī)床、OP20機(jī)床、桁架機(jī)器人、緩存庫、操作員等6個(gè)對(duì)象,對(duì)象的狀態(tài)用庫所表示,對(duì)象狀態(tài)的變化用變遷表示,工件的托肯數(shù)表示每批次加工的產(chǎn)品數(shù)量,機(jī)床、緩存庫、機(jī)器人、操作員的托肯數(shù)表示該對(duì)象的數(shù)量,各庫所和變遷的含義如表2所示。在某一控制對(duì)象狀態(tài)的變化是其他控制對(duì)象變遷的輸入條件時(shí),在Petri網(wǎng)模型中,通??稍O(shè)置門遷對(duì)象[8],實(shí)現(xiàn)消息在對(duì)象間的相互傳遞,可使用庫所對(duì)象表示,使用方法與庫所對(duì)象一致,表2中為門遷對(duì)象的庫所有P7~P12、P56、P58。
圖4 工件、機(jī)床、操作員、桁架機(jī)器人、緩存庫的Petri網(wǎng)模型
表2 模型的部分庫所、變遷含義表
Petri網(wǎng)分析方法包括可達(dá)標(biāo)示圖和可覆蓋樹、狀態(tài)方程和不變量、語言分析方法、計(jì)算機(jī)仿真分析、結(jié)構(gòu)分析等[9]。在 Petri 網(wǎng)模型中,元素的連接只能存在于庫所與變遷之間。如果庫所與庫所之間存在連接、變遷與變遷之間存在連接或者是有孤立元素或多余及不完整信息存在,則視為模型錯(cuò)誤[10]。通過該規(guī)則分析Petri網(wǎng)結(jié)構(gòu),檢查Petri模型規(guī)范性,確認(rèn)了該模型無異常結(jié)構(gòu),無死鎖、沖突,可確保模型與實(shí)際的制造流程相符。
圖5為PIPE軟件Petri網(wǎng)可達(dá)標(biāo)識(shí)圖仿真分析結(jié)果,可見托肯經(jīng)過54次變遷后,在T13之后達(dá)到P26,總仿真用時(shí)0.759s,根據(jù)仿真結(jié)果可以得出結(jié)論,該P(yáng)etri網(wǎng)模型可以連續(xù)運(yùn)行,具有活性、有界性,不存在死鎖、競(jìng)爭(zhēng)沖突的問題[9]。
圖5 Petri網(wǎng)的可達(dá)圖仿真
通過針對(duì)Petri網(wǎng)元素開展PLC程序功能塊設(shè)計(jì),實(shí)現(xiàn)Petri網(wǎng)四類基本控制模型的PLC程序?qū)?yīng),進(jìn)而對(duì)Petri網(wǎng)模型對(duì)象進(jìn)行PLC程序快速設(shè)計(jì),并對(duì)對(duì)象間的消息傳遞進(jìn)行變量映射,形成完整的制造單元控制系統(tǒng)程序,最后,通過可視化界面,模擬桁架機(jī)器人、緩存庫、操作員、機(jī)床等工作狀態(tài),進(jìn)一步驗(yàn)證程序的正確性,如圖6所示。
圖6 面向Petri網(wǎng)的PLC程序設(shè)計(jì)步驟
通過建立的Petri網(wǎng)模型的特點(diǎn)可知,Petri網(wǎng)的基本元素包括庫所、變遷、有向弧、托肯,其中,庫所包含托肯、輸入輸出變量,變遷包含輸入輸出變量、延時(shí)、優(yōu)先級(jí),有向弧連接庫所與變遷,使得Petri網(wǎng)可描述四類基本控制模型:順序控制模型、并行控制模型、同步控制模型和競(jìng)爭(zhēng)控制模型,如圖7所示。
圖7 Petri網(wǎng)的四類基本控制模型
通過分析Petri網(wǎng)基本元素的特性,對(duì)PLC功能塊進(jìn)行了程序設(shè)計(jì),基于PLC功能塊實(shí)現(xiàn)了庫所、變遷、托肯的特性,其中實(shí)現(xiàn)庫所特性的PLC功能塊FB_PLACE偽代碼如下:
a. 根據(jù)庫所輸入變量增加庫所的托肯數(shù)
IF 庫所的托肯數(shù)量限制不等于0
THEN IF 已接收的托肯輸入總數(shù)<庫所限制的托肯數(shù)量 AND 庫所輸入變量為ON
THEN 當(dāng)前庫所的托肯數(shù)+1,并將庫所輸入變量置OFF END_IF
ELSE 庫所的托肯數(shù)量無限制
IF 庫所輸入變量為ON
THEN 當(dāng)前庫所的托肯數(shù)+1,并將庫所輸入變量置OFF END_IF
END_IF
b. 根據(jù)庫所的輸出變量被接收情況,減少庫所的托肯數(shù)
IF 庫所現(xiàn)存托肯數(shù)量>0 AND 無輸出被接收
THEN 將所有該庫所的輸出變量置ON
END_IF
IF 任一輸出變量被置OFF
THEN IF 庫所的托肯數(shù)>0
THEN 庫所的托肯數(shù)-1執(zhí)行1次
END_IF
END_IF
IF 當(dāng)庫所現(xiàn)存托肯數(shù)量=0
THEN 將所有該庫所的輸出變量置OFF
END_IF
其中,該庫所功能塊的輸入變量對(duì)應(yīng)Petri網(wǎng)托肯輸入,功能塊的輸出變量對(duì)應(yīng)Petri網(wǎng)有向弧輸出,兩者均使用BOOL型指針變量,在循環(huán)周期內(nèi),庫所功能塊不斷接受托肯變量的輸入并增加托肯數(shù),在功能塊包含托肯數(shù)大于零時(shí),將所有輸出至ON,在輸出被接收時(shí),相應(yīng)減少托肯數(shù)量。
實(shí)現(xiàn)變遷特性的PLC功能塊FB_Transition偽代碼:
REPEAT
IF輸入變量為ON
THEN 輸入條件數(shù)量+1執(zhí)行1次
END_IF
UNTIL遍歷所有輸入變量
END_REPEAT
IF輸入條件數(shù)量=設(shè)置的條件數(shù)量閾值
THEN 所有輸入變量置OFF 所有輸出變量置ON
END_IF
其中,變遷功能塊的輸入條件變量對(duì)應(yīng)Petri網(wǎng)的有向弧輸入,功能塊的輸出變量對(duì)應(yīng)托肯輸出,在循環(huán)周期內(nèi),當(dāng)輸入條件數(shù)滿足時(shí),將全部輸入變量置OFF,輸出置ON。
因此,通過應(yīng)用BOOL型指針變量,使庫所功能塊能夠在變遷過程中,通過改變輸入輸出變量值,實(shí)現(xiàn)托肯數(shù)的實(shí)時(shí)更新。
由于每個(gè)Petri網(wǎng)模型中的對(duì)象均由庫所、變遷、有向弧和托肯構(gòu)建的四種基本控制模型組成,本文基于上述設(shè)計(jì)的“庫所”與“變遷”功能塊,通過定義相應(yīng)的庫所、變遷對(duì)象,并進(jìn)行輸入輸出變量地址映射、設(shè)置變遷的條件數(shù),快速設(shè)計(jì)了與四種基本控制模型應(yīng)對(duì)的PLC程序,如圖7所示,其中,并行控制模型偽代碼可表述如下:
a. 定義庫所變量P2、P3、P4,變遷變量T1;
b. P2的輸出變量=T1輸入變量的地址;
c.P3的輸入變量=T1輸出變量的地址;
d.P4的輸入變量=T1輸出變量的地址;
e. 設(shè)置T1的條件數(shù)為1,輸出變量數(shù)為2。
基于四種基本控制模型的PLC程序,結(jié)合單元控制系統(tǒng)Petri網(wǎng)模型,針對(duì)每個(gè)對(duì)象模型進(jìn)行了PLC程序功能塊設(shè)計(jì),以圖4所示OP10工件對(duì)象舉例說明程序設(shè)計(jì)過程。
a. 定義P0~P6庫所對(duì)象
P0,P1,P2,P3,P4,P5,P6:FB_PLACE。
b. 定義T1~T6變遷對(duì)象
T0,T1,T2,T3,T4,T5,T6: FB_Transition。
c. 定義實(shí)現(xiàn)消息傳遞的庫所對(duì)象
P7,P8,P9,P10,P11,P12:FB_PLACE。
d. 將變遷對(duì)象的輸入輸出與庫所的輸入輸出變量進(jìn)行變量地址映射,設(shè)置變遷的條件數(shù)、輸出數(shù),形成工件對(duì)象的PLC程序,其中,P0、P6、T0、T6功能塊的偽代碼如下:
P0(庫所托肯數(shù)=OP10工件待加工數(shù),P0的輸出變量=T0輸入變量的地址);
P6(P6的輸入變量=T5輸出變量的地址,P6的輸出變量=T6輸入變量的地址);
T0(輸入條件數(shù)=1,輸出條件數(shù)=2);
T6(輸入條件數(shù)=2,輸出條件數(shù)=1)。
e. 將門遷對(duì)象的輸入輸出變量與不同功能塊間變遷對(duì)象的輸入輸出變量進(jìn)行地址映射,實(shí)現(xiàn)消息在不同功能塊間的傳遞。其中,P7功能塊的偽代碼為:P7(P7的輸入變量=T0輸出變量的地址,P7的輸出變量=T46輸入變量的地址)。
通過Petri網(wǎng)模型分析,各對(duì)象間傳遞的消息即是單元控制系統(tǒng)與控制對(duì)象間的輸入輸出信號(hào),為提前進(jìn)一步驗(yàn)證單元控制系統(tǒng)的正確性,可通過PLC可視化界面的按燈控件模擬外部反饋信號(hào),通過在適當(dāng)時(shí)機(jī)模擬各控制對(duì)象反饋信號(hào),可進(jìn)一步驗(yàn)證單元控制系統(tǒng)運(yùn)行邏輯的正確性。針對(duì)Petri網(wǎng)模型對(duì)象設(shè)置的模擬反饋信號(hào)如圖8所示,將各物理對(duì)象任務(wù)完成的模擬信號(hào)設(shè)置為變遷對(duì)象的輸入條件,可觸發(fā)PLC程序按工藝流程全流程執(zhí)行完畢,并使P0庫所的托肯全部轉(zhuǎn)移至P26庫所,即OP10工件毛坯全部完成加工,轉(zhuǎn)變?yōu)镺P20成品工件。經(jīng)過PLC程序運(yùn)行邏輯與PIPE軟件仿真Petri網(wǎng)模型運(yùn)行邏輯對(duì)比驗(yàn)證,結(jié)果表明本文設(shè)計(jì)的PLC程序運(yùn)行邏輯與所建立的Petri網(wǎng)模型仿真運(yùn)行邏輯保持一致。
圖8 按Petri網(wǎng)模型設(shè)置的模擬反饋信號(hào)示意圖
a.提出一種基于Petri網(wǎng)建模仿真與面向?qū)ο蟮腜LC程序快速設(shè)計(jì)方法。結(jié)果表明,面向?qū)ο蟮腜LC程序設(shè)計(jì)方法能夠?qū)崿F(xiàn)Petri網(wǎng)模型到PLC程序的快速轉(zhuǎn)換,無需人工進(jìn)行語義到語法的翻譯,控制系統(tǒng)設(shè)計(jì)效率大幅提高,程序的可閱讀性高,更易于維護(hù)。
b. 基于Petri網(wǎng)模型快速設(shè)計(jì)的PLC程序繼承了Petri網(wǎng)模型的特性,具備無死鎖、無沖突,控制流程邏輯正確,系統(tǒng)可靠性高的優(yōu)點(diǎn)。本文的研究結(jié)果對(duì)建立制造單元控制系統(tǒng)模型、編制控制系統(tǒng)程序具有指導(dǎo)意義和參考價(jià)值。
1 劉杰杰,趙不賄,朱天禹,等. Petri網(wǎng)平臺(tái)上的LNG鋼瓶生產(chǎn)線控制系統(tǒng)建模與設(shè)計(jì)[J]. 現(xiàn)代制造工程,2017(1):24~28,135
2 李俊英,景亮,趙不賄,等. 基于Petri網(wǎng)的食用菌工廠控制系統(tǒng)研究[J]. 電子器件,2014,37(5):927~931
3 王雪燃,張換香. 基于PLC軟件的建模方法[J]. 電腦知識(shí)與技術(shù),2018,14(22):225~227
4 靳舒琪. 基于Petri網(wǎng)的汽車零部件生產(chǎn)線建模與優(yōu)化研究[D]. 北京:北京郵電大學(xué),2019
5 陳鶴峰. 基于面向資源Petri網(wǎng)的自動(dòng)化制造系統(tǒng)的死鎖控制與優(yōu)化[D]. 廣州:廣東工業(yè)大學(xué),2019
6 李呈宗. 基于可達(dá)圖分析的Petri網(wǎng)控制器優(yōu)化設(shè)計(jì)[D]. 西安:西安電子科技大學(xué),2018
7 焦志剛,楊慧遠(yuǎn),杜寧. 基于Petri網(wǎng)的PLC控制系統(tǒng)設(shè)計(jì)研究[J]. 自動(dòng)化儀表,2017(2):18~21
8 李玉晨. 基于OOPN的柔性制造系統(tǒng)控制過程建模與仿真[D]. 長春:長春工業(yè)大學(xué),2017
9 董紅斌,楊巨慶. Petri網(wǎng):概念、分析方法和應(yīng)用[J]. 哈爾濱師范大學(xué)自然科學(xué)學(xué)報(bào),1999(5):59~63
10 李晨,魏玉光. 基于Petri網(wǎng)模型的口岸站作業(yè)流程分析及優(yōu)化[J]. 鐵道運(yùn)輸與經(jīng)濟(jì),2020,42(2):93~102,114
Research on Cell Control System and Programming Based on Petri Net
Kong Zhixue Huang Piao Mu Yingjuan Li Lingxiao
(Shanghai Spaceflight Precision Machinery Institute, Shanghai 201600)
For the problems of long development and debugging cycle, and the difficulty of evaluating the correctness of the control logic of the control system of the cabin manufacturing unit, a rapid design method of PLC program based on Petri net modeling simulation and object-oriented is proposed.This method first forms the unit manufacturing process according to the product process, establishes the manufacturing unit control system model based on Petri net, and makes Petri net model reachable, bounded, no deadlock, no conflict, through Petri net simulation and optimization. Then, by integrating the elements of place, transition, token, and directed arc in the PLC program design, the characteristics of Petri net concurrency, contention, and shared resources are realized.Finally, facing the objects in the Petri net model, the objects in the Petri net model are quickly mapped into the PLC program, so that the PLC operation logic is consistent with the Petri net model.This article takes the cabin manufacturing unit as an example to illustrate the application of this method.
petri net;simulation;control system;PLC programming
孔志學(xué)(1989),碩士,機(jī)械工程專業(yè);研究方向:數(shù)字化生產(chǎn)線技術(shù)。
2020-04-20