• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>
    當前位置: 首頁 > 專利查詢>華僑大學專利>正文

    一種檢測PLC梯形圖程序中是否存在競態(tài)的方法技術(shù)

    技術(shù)編號:8532064 閱讀:312 留言:0更新日期:2013-04-04 14:37
    本發(fā)明專利技術(shù)一種檢測PLC梯形圖程序中是否存在競態(tài)的方法,通過計算普通Petri網(wǎng)的可達圖來確定待檢測程序中是否存在競態(tài),不僅可以一次性完成檢測工作,而且可以讓程序員清晰、直觀地從可達圖中直接發(fā)現(xiàn)程序中隱含的邏輯錯誤,同時檢測的每個步驟都可以由計算機完成,所以在效率上也更加突出,并達到自動化的標準。

    【技術(shù)實現(xiàn)步驟摘要】

    本專利技術(shù)涉及一種檢測PLC (可編程邏輯控制器)程序中出現(xiàn)邏輯錯誤的方法,是針對PLC程序驗證的有力工具,確切地說,提出了一種檢測PLC梯形圖程序中是否存在競態(tài)的方法
    技術(shù)介紹
    可編程邏輯控制器(PLC)廣泛地應用于航空航天、交通運輸、核電能、石油化工、電力和交通等安全苛求系統(tǒng)領域。傳統(tǒng)的PLC程序調(diào)試方法只能在語法、語義上進行檢測,無法識別出程序變量之間隱藏的邏輯錯誤,如,競態(tài)。所謂“競態(tài)”指的是,給定的PLC程序在ー組固定不變的輸入情況下,在連續(xù)不同的工作周期中出現(xiàn)不斷重復變化的輸出值。例如,在一道加工程序中,控制機械臂抓取的程序中存在“競態(tài)”,那么,在工作中機械臂的直接表現(xiàn)為抓取的動作不穩(wěn)定,不斷地重復抓住、松開動作,這樣的錯誤會導致產(chǎn)品的加工出現(xiàn)非常嚴重的質(zhì)量問題,以及非常低的工作效率。目前已經(jīng)報道的檢測方法中更多的是偏向于理論的證明,雖然此類方法可以精確地發(fā)現(xiàn)程序中是否存在“競態(tài)”,但在應用于較復雜程序時其本身的推導證明過程卻過于繁雜,會導致效率偏低,甚至提高錯誤率。如,Zhendong Su等人提出了基于ー種約束語言的“競態(tài)”檢測方法,該方法在檢測過程中并非一次性完成檢測工作,而是隨機選擇輸入值進行仿真,并且不斷重復這ー仿真過程直到檢測工作結(jié)束。雖然這種方法也可以達到檢測PLC程序中是否存在“競態(tài)”的目的,但是自身也存在缺陷1、檢測工作需多次實驗才能完成,工作效率偏低;2、由于需要多次重復仿真實驗,因此過多的人為工作量容易出現(xiàn)失誤,提高了錯誤率。
    技術(shù)實現(xiàn)思路
    本專利技術(shù)的目的在于提供一種檢測PLC梯形圖程序中是否存在競態(tài)的方法,可以直接、快速地發(fā)現(xiàn)PLC程序中隱含的邏輯錯誤。一種檢測PLC梯形圖程序中是否存在競態(tài)的方法,具體包括如下步驟步驟1、定義規(guī)則(I)采樣變遷及同地址采樣變遷把開關(guān)量或者觸點這類輸入量模擬為一對真假庫所,而且在這對真假庫所中添加了ー對連接變遷,把這樣的ー類連接變遷定義為采樣變遷,記做Tsample,并且這對連接變遷彼此互為同地址采樣變遷;(2)采樣變遷中的優(yōu)先級按照PLC梯形圖中每個開關(guān)量或者觸點的物理地址的先后順序,將普通Petri網(wǎng)中每個開關(guān)量或者觸點對應的結(jié)點劃分優(yōu)先級,進而根據(jù)結(jié)點的優(yōu)先級來劃分結(jié)點中每對采樣變遷的優(yōu)先級,把優(yōu)先級高的采樣變遷記做th且th G Tsample,把優(yōu)先級低的采樣變遷記做h且h G Tsafflple,同地址的兩個采樣變遷優(yōu)先級相同;(3)計算變遷把輔助繼電器或者線圈這類輸出量模擬為ー對真假庫所,而且根據(jù)路徑和割集的概念添加了連接變遷,把這樣的一類連接變遷定義為計算變遷,記做Trampute ;(4)計算變遷中的優(yōu)先級如果用戶使用的程序是梯形圖程序,那么PLC在程序執(zhí)行階段,總是按照先上后下、從左至右的順序進行掃描,程序中的輸出量也是按照這個順序發(fā)生變化的,按照這個順序?qū)⒊绦蛑休敵隽繉慕Y(jié)點劃分優(yōu)先級,進而確定與每個輸出量變化相關(guān)的計算變遷的優(yōu)先級,把最高級別的計算變遷標識記做t_且t G Tcoffl ;(5)標識的使能變遷和生成變遷對于標識m,如果有ー個變遷t可以被激發(fā),激發(fā)后產(chǎn)生標識m',此過程可表示為m[t >m',變遷t稱為標識m的使能變遷,記做md6。[t >,變遷t稱為標識m'的生成變遷,記做[t > m';(6)端點對于標識m,如果在新的變遷激發(fā)規(guī)則下不存在使能變遷,把這樣的標識稱為端點,記做端點e G E,用E表示可達圖中的端點集合; (7)生成路徑從端點出發(fā)到標識m的一條有向路徑,稱為標識m的生成路徑;(8)新的變遷激發(fā)規(guī)則A、普通Petri網(wǎng)變遷激發(fā)規(guī)則同樣適用于新的變遷激發(fā)規(guī)則中;B、對于采樣變遷,在低級別變遷激發(fā)后,高級別變遷即使使能也不再激發(fā);C、對于采樣變遷,同地址的ー對變遷中,若有一個激發(fā),那么下一歩中與其相對應的另ー個即使使能也不再激發(fā);D、對于計算變遷,存在大于等于ー個變遷使能時,只激發(fā)級別最高的變遷;E、在計算變遷被激發(fā)后,其后續(xù)步驟中即使有采樣變遷使能也不被激發(fā);步驟2、根據(jù)系統(tǒng)的控制規(guī)范,可編寫滿足要求的PLC梯形圖程序,并進ー步轉(zhuǎn)換成普通Petri網(wǎng),根據(jù)普通Petri網(wǎng)及其初始標識生成符合PLC工作機理的可達圖,具體包括如下步驟步驟21、用E表示可達圖中的端點集合,其中,E=Enew U Eold, Enew為待檢測端點集合,Etjld為已檢測端點集合;用e pm表不有向弧集合;Wpix;表不有向弧的標簽集合;MPIX表不所求狀態(tài)集合;Mdf;。表示待檢測狀態(tài)集合噸表示初始狀態(tài);令Enew= {mj,Eold=0 ^prc = 0 ,tjp =0 Mde , Mplc= {m0};步驟22、若本0,則執(zhí)行步驟23,否則,若Enew為空集,則算法結(jié)束;步驟23、令Mde。= MdJleJ,即選取Enew中任一元素作為PLC程序的ー個新的エ作周期的起始狀態(tài),并標記為待檢測狀態(tài),用符號“nw”表示* 0,則選取中任一元素,執(zhí)行步驟24,否則執(zhí)行步驟224 ;步驟24、若狀態(tài)mde。下存在使能變遷t,則執(zhí)行步驟26,否則執(zhí)行步驟25 ;步驟25、若 mde。G Enew,即 mde。是待檢測端點,則 Mdee = Mdec- {mdec},Enew=Enew- {mdec},Eold = Eold+{mdec},即擦去當前狀態(tài)的“待檢測端點”及“待檢測狀態(tài)”標記并標記為“已檢測端點”,返回步驟22,否則Mdec=Mdec- {mdec},Enew=Enew+ {mdec},即擦去待檢測狀態(tài)標記,并標記為待檢測端點,返回步驟23;步驟26、根據(jù)步驟I中定義規(guī)則(I)至(4),對使能變遷t分類并劃分優(yōu)先級;步驟27、若mde。是待檢測端點,即mde。E Enew,則執(zhí)行步驟28,否則執(zhí)行步驟29 ;步驟28、對于每ー個在mde。下使能的變遷t,執(zhí)行 步驟28.1激發(fā)變遷t,生成新標識m';步驟28. 2若m'與已存在的狀態(tài)m標識相同且m G Mplc,則執(zhí)行步驟28. 3,否則執(zhí)行步驟28. 4 ;步驟28. 3 e PLC = e PLC+{(mdec,m )},wPLC(mdec, m ) = t。即從 mdec 到 m畫一條有向弧,并用t標記,返回步驟28 ;步驟28. 4 e pLC = e PLC+ {(mdec, m' )},wPLC (mdec, m' ) =t,Mdec = Mdec+ {m' },Mplc =Mplc+{m ^ },即從Hitte到m'畫一條有向弧,用t標記,并將m'分別標記為待檢測狀態(tài)和所求狀態(tài);步驟29、Mdee = Mdee-1mdeJ ,即擦去當前狀態(tài)的待檢測標記,返回步驟23 ;步驟210、若mde。是由采樣變遷t激發(fā)后生成的,則執(zhí)行步驟211,否則執(zhí)行步驟 215 ;步驟211、對于每ー個在mde。下使能的采樣變遷t',執(zhí)行步驟211.1若t'的優(yōu)先級低于t的優(yōu)先級,則激發(fā)變遷t',生成新標識m',否則返回步驟211 ;步驟211.2.111'與已存在的狀態(tài)m標識相同且m G MPw則執(zhí)行步驟211. 3,否則執(zhí)行步驟211. 4;步驟211.3 ePLC= e PLC+{(mdec, m )},wPLC(mdec,m )本文檔來自技高網(wǎng)...

    【技術(shù)保護點】
    一種檢測PLC梯形圖程序中是否存在競態(tài)的方法,其特征在于包括如下步驟:步驟1、定義規(guī)則(1)采樣變遷及同地址采樣變遷:把開關(guān)量或者觸點這類輸入量模擬為一對真假庫所,而且在這對真假庫所中添加了一對連接變遷,把這樣的一類連接變遷定義為采樣變遷,記做Tsample,并且這對連接變遷彼此互為同地址采樣變遷;(2)采樣變遷中的優(yōu)先級:按照PLC梯形圖中每個開關(guān)量或者觸點的物理地址的先后順序,將普通Petri網(wǎng)中每個開關(guān)量或者觸點對應的結(jié)點劃分優(yōu)先級,進而根據(jù)結(jié)點的優(yōu)先級來劃分結(jié)點中每對采樣變遷的優(yōu)先級,把優(yōu)先級高的采樣變遷記做th且th∈Tsample,把優(yōu)先級低的采樣變遷記做tl且tl∈Tsample,同地址的兩個采樣變遷優(yōu)先級相同;(3)計算變遷:把輔助繼電器或者線圈這類輸出量模擬為一對真假庫所,而且根據(jù)路徑和割集的概念添加了連接變遷,把這樣的一類連接變遷定義為計算變遷,記做Tcompute;(4)計算變遷中的優(yōu)先級:如果用戶使用的程序是梯形圖程序,那么PLC在程序執(zhí)行階段,總是按照先上后下、從左至右的順序進行掃描,程序中的輸出量也是按照這個順序發(fā)生變化的,按照這個順序?qū)⒊绦蛑休敵隽繉慕Y(jié)點劃分優(yōu)先級,進而確定與每個輸出量變化相關(guān)的計算變遷的優(yōu)先級,把最高級別的計算變遷標識記做:tmax且t∈Tcom;(5)標識的使能變遷和生成變遷:對于標識m,如果有一個變遷t可以被激發(fā),激發(fā)后產(chǎn)生標識m′,此過程可表示為m[t>m′,變遷t稱為標識m的使能變遷,記做mdec[t>,變遷t稱為標識m′的生成變遷,記做[t>m′;(6)端點:對于標識m,如果在新的變遷激發(fā)規(guī)則下不存在使能變遷,把這樣的標識稱為端點,記做端點e∈E,用E表示可達圖中的端點集合;(7)生成路徑:從端點出發(fā)到標識m的一條有向路徑,稱為標識m的生成路徑;(8)新的變遷激發(fā)規(guī)則:A、普通Petri網(wǎng)變遷激發(fā)規(guī)則同樣適用于新的變遷激發(fā)規(guī)則中;B、對于采樣變遷,在低級別變遷激發(fā)后,高級別變遷即使使能也不再激發(fā);C、對于采樣變遷,同地址的一對變遷中,若有一個激發(fā),那么下一步中與其相對應的另一個即使使能也不再激發(fā);D、對于計算變遷,存在大于等于一個變遷使能時,只激發(fā)級別最高的變遷;E、在計算變遷被激發(fā)后,其后續(xù)步驟中即使有采樣變遷使能也不被激發(fā);步驟2、根據(jù)系統(tǒng)的控制規(guī)范,可編寫滿足要求的PLC梯形圖程序,并進一步轉(zhuǎn)換成普通Petri網(wǎng),根據(jù)普通Petri網(wǎng)及其初始標識生成符合PLC工作機理的可達圖,具體包括如下步驟:步驟21、用E表示可達圖中的端點集合,其中,E=Enew∪Eold,Enew為待檢測端點集合,Eold為已檢測端點集合;用εPLC表示有向弧集合;ωPLC表示有向弧的標簽集合;MPLC表示所求狀態(tài)集合;Mdec表示待檢測狀態(tài)集合;m0表示初始狀態(tài);令Enew={m0},MPLC={m0};步驟22、若則執(zhí)行步驟23,否則,若Enew為空集,則算法結(jié)束;步驟23、令Mdec=Mdec+{enew},即選取Enew中任一元素作為PLC程序的一個新的工作周期的起始狀態(tài),并標記為待檢測狀態(tài),用符號“mdec”表示;若則選取Mdec中任一元素,執(zhí)行步驟24,否則執(zhí)行步驟224;步驟24、若狀態(tài)mdec下存在使能變遷t,則執(zhí)行步驟26,否則執(zhí)行步驟25;步驟25、若mdec∈Enew,即mdec是待檢測端點,則Mdec=Mdec?{mdec},Enew=Enew?{mdec},Eold=Eold+{mdec},即擦去當前狀態(tài)的“待檢測端點”及“待檢測狀態(tài)”標記并標記為“已檢測端點”,返回步驟22,否則Mdec=Mdec?{mdec},Enew=Enew+{mdec},即擦去待檢測狀態(tài)標記,并標記為待檢測端點,返回步驟23;步驟26、根據(jù)步驟1中定義規(guī)則(1)至(4),對使能變遷t分類并劃分優(yōu)先級;步驟27、若mdec是待檢測端點,即mdec∈Enew,則執(zhí)行步驟28,否則執(zhí)行步驟29;步驟28、對于每一個在mdec下使能的變遷t,執(zhí)行:步驟28.1激發(fā)變遷t,生成新標識m′;步驟28.2若m′與已存在的狀態(tài)m″標識相同且m″∈MPLC,則執(zhí)行步驟28.3,否則執(zhí)行步驟28.4;步驟28.3εPLC=εPLC+{(mdec,m″)},wPLC(mdec,m″)=t。即從mdec到m″畫一條有向弧,并用t標記,返回步驟28;步驟28.4εPLC=εPLC+{(mdec,m′)},wPLC(mdec,m′)=t,Mdec=Mdec+{m′},MPLC=MPLC+{m′},即從mdec到m′畫...

    【技術(shù)特征摘要】
    1.一種檢測PLC梯形圖程序中是否存在競態(tài)的方法,其特征在于包括如下步驟步驟1、定義規(guī)則(1)采樣變遷及同地址采樣變遷把開關(guān)量或者觸點這類輸入量模擬為一對真假庫所, 而且在這對真假庫所中添加了一對連接變遷,把這樣的一類連接變遷定義為采樣變遷,記做Tsample,并且這對連接變遷彼此互為同地址采樣變遷;(2)采樣變遷中的優(yōu)先級按照PLC梯形圖中每個開關(guān)量或者觸點的物理地址的先后順序,將普通Petri網(wǎng)中每個開關(guān)量或者觸點對應的結(jié)點劃分優(yōu)先級,進而根據(jù)結(jié)點的優(yōu)先級來劃分結(jié)點中每對采樣變遷的優(yōu)先級,把優(yōu)先級高的采樣變遷記做th且th e Tsample, 把優(yōu)先級低的采樣變遷記做h且& e Tsample,同地址的兩個采樣變遷優(yōu)先級相同;(3)計算變遷把輔助繼電器或者線圈這類輸出量模擬為一對真假庫所,而且根據(jù)路徑和割集的概念添加了連接變遷,把這樣的一類連接變遷定義為計算變遷,記做Tramputo ;(4)計算變遷中的優(yōu)先級如果用戶使用的程序是梯形圖程序,那么PLC在程序執(zhí)行階段,總是按照先上后下、從左至右的順序進行掃描,程序中的輸出量也是按照這個順序發(fā)生變化的,按照這個順序?qū)⒊绦蛑休敵隽繉慕Y(jié)點劃分優(yōu)先級,進而確定與每個輸出量變化相關(guān)的計算變遷的優(yōu)先級,把最高級別的計算變遷標識記做tmax且t e Tcoffl ;(5)標識的使能變遷和生成變遷對于標識m,如果有一個變遷t可以被激發(fā),激發(fā)后產(chǎn)生標識m',此過程可表示為,變遷t稱為標識m的使能變遷,記做mdec;[t>,變遷t 稱為標識m'的生成變遷,記做[t>m';(6)端點對于標識m,如果在新的變遷激發(fā)規(guī)則下不存在使能變遷,把這樣的標識稱為端點,記做端點e e E,用E表示可達圖中的端點集合;(7)生成路徑從端點出發(fā)到標識m的一條有向路徑,稱為標識m的生成路徑;(8)新的變遷激發(fā)規(guī)則A、普通Petri網(wǎng)變遷激發(fā)規(guī)則同樣適用于新的變遷激發(fā)規(guī)則中;B、對于采樣變遷,在低級別變遷激發(fā)后,高級別變遷即使使能也不再激發(fā);C、對于采樣變遷,同地址的一對變遷中,若有一個激發(fā),那么下一步中與其相對應的另一個即使使能也不再激發(fā);D、對于計算變遷,存在大于等于一個變遷使能時,只激發(fā)級別最高的變遷;E、在計算變遷被激發(fā)后,其后續(xù)步驟中即使有采樣變遷使能也不被激發(fā);步驟2、根據(jù)系統(tǒng)的控制規(guī)范,可編寫滿足要求的PLC梯形圖程序,并進一步轉(zhuǎn)換成普通Petri網(wǎng),根據(jù)普通Petri網(wǎng)及其初始標識生成符合PLC工作機理的可達圖,具體包括如下步驟步驟21、用E表示可達圖中的端點集合,其中,E=Emw U Eold, Enrat為待檢測端點集合, Etjld為已檢測端點集合;用ε PLC表示有向弧集合;ωριχ表示有向弧的標簽集合;ΜΡΙΧ表示所求狀態(tài)集合;Μ_表示待檢測狀態(tài)集合噸表示初始狀態(tài);令Enew=ImJ, EoM=0 ,Spjc = 0, ωΡΙΓ=0 Mjec=0, Mplc= {m0};步驟22、若本0,則執(zhí)行步驟23,否則,若Enrat為空集,則算法結(jié)束;步驟23、令Mde。= Mdec+{enJ,即選取Emw中任一元素作為PLC程序的一個新的工作周期的起始狀態(tài),并標記為待檢測狀態(tài),用符號“nw”表示;若Μ-# 0,則選取Mde。中任一元素,執(zhí)行步驟24,否則執(zhí)行步驟224 ;步驟24、若狀態(tài)mde。下存在使能變遷t,則執(zhí)行步驟26,否則執(zhí)行步驟25 ;步驟 25、若 mdec e Enew,即 mde。是待檢測端點,則 Mdec=Mdee-{mde。},Enew=Enew- {mdec},Eold = Edd+lnw},即擦去當前狀態(tài)的“待檢測端點”及“待檢測狀態(tài)”標記并標記為“已檢測端點”, 返回步驟22,否則Mdee=Mdee-1mdeJ , Enew=Enew+ {mdec},即擦去待檢測狀態(tài)標記,并標記為待檢測端點,返回步驟23 ;步驟26、根據(jù)步驟I中定義規(guī)則(I)至(4),對使能變遷t分類并劃分優(yōu)先級;步驟27、若mde。是待檢測端點,即mde。e Enew,則執(zhí)行步驟28,否則執(zhí)行步驟29 ;步驟28、對于每一個在mde。下使能的變遷t,執(zhí)行 步驟28.1激發(fā)變遷t,生成新標識m';步驟28.2若m'與已存在的狀態(tài)m標識相同且m e ,則執(zhí)行步驟28. 3,否則執(zhí)行步驟28. 4 ;步驟 28. 3 ε PLC = ε PLC+{(mdec,m )}, wPLC(mdec,m ) = t。即從 mdec 到 m畫一條有向弧,并用t標記,返回步驟28 ;步驟 2...

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:齊鵬飛羅繼亮陳雪琨
    申請(專利權(quán))人:華僑大學
    類型:發(fā)明
    國別省市:

    網(wǎng)友詢問留言 已有0條評論
    • 還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 亚洲av福利无码无一区二区| 国产亚洲大尺度无码无码专线 | 99无码精品二区在线视频| 日木av无码专区亚洲av毛片| 亚洲熟妇无码一区二区三区导航| 99久久无码一区人妻a黑| 内射精品无码中文字幕| 东京热加勒比无码少妇| 久久久久av无码免费网| 国产成人无码A区精油按摩| 亚洲精品无码日韩国产不卡?V| 国产精品ⅴ无码大片在线看| 精品人妻无码区二区三区| 中文字幕无码免费久久9一区9| AV无码久久久久不卡蜜桃 | 亚洲人成影院在线无码按摩店| 久久久久亚洲AV成人无码网站| 无码无套少妇毛多18PXXXX| 国产乱人伦Av在线无码| 成人无码Av片在线观看| 亚洲美免无码中文字幕在线| 亚洲av无码一区二区三区网站| 亚洲成a人在线看天堂无码| 无遮掩无码h成人av动漫| 精品无码人妻一区二区三区| 亚洲国产精品无码久久青草 | 日韩人妻无码精品久久免费一| 无码喷水一区二区浪潮AV| 免费无码VA一区二区三区 | 亚洲AV无码码潮喷在线观看| 青春草无码精品视频在线观| 亚洲av无码专区青青草原| 色综合AV综合无码综合网站| 国产网红主播无码精品 | 无码区日韩特区永久免费系列 | 亚洲av午夜精品无码专区| 亚洲AV无码一区二区乱孑伦AS| 国产成人无码一二三区视频 | 亚洲性无码AV中文字幕| 人妻夜夜添夜夜无码AV| 无码内射中文字幕岛国片|