[發(fā)明專利]一種將PLC指令表程序轉(zhuǎn)換成普通Petri網(wǎng)的方法有效
| 申請(qǐng)?zhí)枺?/td> | 201210589803.6 | 申請(qǐng)日: | 2012-12-29 |
| 公開(公告)號(hào): | CN103092753A | 公開(公告)日: | 2013-05-08 |
| 發(fā)明(設(shè)計(jì))人: | 齊鵬飛;羅繼亮;陳雪琨 | 申請(qǐng)(專利權(quán))人: | 華僑大學(xué) |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 泉州市文華專利代理有限公司 35205 | 代理人: | 車世偉 |
| 地址: | 362000 福*** | 國(guó)省代碼: | 福建;35 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 plc 指令 程序 轉(zhuǎn)換 普通 petri 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及一種將PLC指令表程序轉(zhuǎn)換成普通Petri網(wǎng)的方法。
背景技術(shù)
可編程邏輯控制器(PLC)是工業(yè)控制系統(tǒng)中典型的控制器,廣泛地應(yīng)用于鋼鐵、石油、化工、電力和交通系統(tǒng)的監(jiān)控等領(lǐng)域。然而PLC程序的開發(fā)卻面臨著高復(fù)雜性難題:在現(xiàn)場(chǎng)總線技術(shù)的支持下,工業(yè)控制系統(tǒng)規(guī)模和結(jié)構(gòu)復(fù)雜性增長(zhǎng)迅速,比如地鐵交通控制系統(tǒng)和核電控制系統(tǒng)等等,而系統(tǒng)的狀態(tài)個(gè)數(shù)隨傳感器和執(zhí)行機(jī)構(gòu)的數(shù)目呈指數(shù)級(jí)增長(zhǎng),僅由5輛自動(dòng)導(dǎo)航車輛組成的物流系統(tǒng)的狀態(tài)就達(dá)數(shù)百萬(wàn)之巨,因此PLC程序設(shè)計(jì)面臨與生俱來(lái)的高計(jì)算復(fù)雜性。
而高計(jì)算復(fù)雜性帶來(lái)兩大工程問(wèn)題:(1)程序設(shè)計(jì)和調(diào)試工作量繁瑣和巨大,程序開發(fā)周期和開發(fā)成本難于控制;(2)傳統(tǒng)程序調(diào)試無(wú)法驗(yàn)證每個(gè)狀態(tài)(狀態(tài)數(shù)呈指數(shù)級(jí)增長(zhǎng)),無(wú)法保證程序的正確性和可靠性,而程序出錯(cuò)可能造成嚴(yán)重事故,比如列車相撞、歐洲亞利安娜5號(hào)火箭爆炸和美國(guó)Threc-5放射性醫(yī)療事故等。
為了克服上述工程問(wèn)題,需要開發(fā)PLC程序仿真和軟件驗(yàn)證方法,利用計(jì)算機(jī)來(lái)完成程序仿真和驗(yàn)證工作,降低程序開發(fā)成本,保證程序的正確性和可靠性。因此,需要將PLC程序模擬為計(jì)算機(jī)數(shù)學(xué)模型,即將PLC程序指令轉(zhuǎn)換為一種計(jì)算機(jī)數(shù)學(xué)模型—Petri網(wǎng),以Petri網(wǎng)為工具對(duì)PLC程序進(jìn)行仿真和驗(yàn)證。該P(yáng)etri網(wǎng)是1960年代德國(guó)科學(xué)家卡爾·A·佩特里發(fā)明的,適合于模擬異步的、并發(fā)的動(dòng)態(tài)系統(tǒng),既有嚴(yán)格的數(shù)學(xué)表述方式,又有直觀的圖形表達(dá)方式。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種將PLC指令表程序轉(zhuǎn)換成普通Petri網(wǎng)的方法,將PLC指令表程序轉(zhuǎn)換為一種計(jì)算機(jī)數(shù)學(xué)模型—Petri網(wǎng),從而能以Petri網(wǎng)為工具對(duì)PLC程序進(jìn)行仿真和驗(yàn)證。
一種將PLC指令表程序轉(zhuǎn)換成普通Petri網(wǎng)的方法,包括如下步驟:
步驟1、將PLC指令表程序轉(zhuǎn)換成二值邏輯函數(shù):
根據(jù)轉(zhuǎn)載指令“LD”或“LDN”的個(gè)數(shù)將給定的PLC指令表程序劃分為多個(gè)程序網(wǎng)絡(luò)塊,對(duì)于每一個(gè)程序網(wǎng)絡(luò)塊,將其對(duì)應(yīng)的變量存儲(chǔ)器V中的變量值置1,
步驟11、對(duì)于當(dāng)前程序網(wǎng)絡(luò)塊中的STL程序進(jìn)行從上到下的逐條搜索;
步驟12、如果遇到指令LD,將其對(duì)應(yīng)的操作數(shù)作為二值邏輯函數(shù)的初始輸入量,與變量存儲(chǔ)器V中變量值作“與”運(yùn)算,將結(jié)果代入公式Y(jié)=F(A,B,C…)中等號(hào)右面,并重新存入存儲(chǔ)器V中,跳轉(zhuǎn)到下一條指令;
步驟13、如果遇到指令LDN,將其對(duì)應(yīng)的操作數(shù)作為二值邏輯函數(shù)的初始輸入量,先對(duì)該輸入量取非,然后與變量存儲(chǔ)器V中變量值作“與”運(yùn)算,將結(jié)果代入公式Y(jié)=F(A,B,C…)中等號(hào)右面,并重新存入存儲(chǔ)器V中,跳轉(zhuǎn)到下一條指令;
步驟14、如果遇到指令A(yù),將其對(duì)應(yīng)的操作數(shù)作為二值邏輯函數(shù)的輸入變量,與變量存儲(chǔ)器V中變量值作“與”運(yùn)算,用符號(hào)“*”連接,代入公式Y(jié)=F(A,B,C…)中等號(hào)右面,運(yùn)算后將其結(jié)果用符號(hào)“()”括起,一并存入存儲(chǔ)器V中,跳轉(zhuǎn)到下一條指令;
步驟15、如果遇到AN,將其對(duì)應(yīng)的操作數(shù)作為二值邏輯函數(shù)的輸入變量,先對(duì)該變量取非,用符號(hào)“—”表示;然后與變量存儲(chǔ)器V中變量值作“與”運(yùn)算,用符號(hào)“*”連接,代入公式Y(jié)=F(A,B,C…)中等號(hào)右面,運(yùn)算后用符號(hào)“()”括起,一并存入存儲(chǔ)器V中,跳轉(zhuǎn)到下一條指令;
步驟16、如果遇到指令O,將其對(duì)應(yīng)的操作數(shù)作為二值邏輯函數(shù)的輸入變量,與變量存儲(chǔ)器V中變量值作“或”運(yùn)算,用符號(hào)“+”連接,代入公式Y(jié)=F(A,B,C…)中等號(hào)右面,運(yùn)算后用符號(hào)“()”括起,一并存入存儲(chǔ)器V中,跳轉(zhuǎn)到下一條指令;
步驟17、如果遇到指令ON,將其對(duì)應(yīng)的操作數(shù)作為二值邏輯函數(shù)的輸入變量,先對(duì)該變量取非,用符號(hào)“—”表示;然后與變量存儲(chǔ)器V中變量值作“與”運(yùn)算,用符號(hào)“*”連接,代入公式Y(jié)=F(A,B,C…)中等號(hào)右面,運(yùn)算后用符號(hào)“()”括起,一并存入變量存儲(chǔ)器V中,跳轉(zhuǎn)到下一條指令;
步驟18、如果遇到指令NOT,先將當(dāng)前存儲(chǔ)器中的變量值取非,然后重新存入存儲(chǔ)器V中;
步驟19、如果遇到指令=,將其對(duì)應(yīng)的操作數(shù)作為二值邏輯函數(shù)的輸出變量,將當(dāng)前寄存器中的變量值賦給輸出變量,代入公式Y(jié)=F(A,B,C…)中等號(hào)左面,跳轉(zhuǎn)到下一條指令;
步驟110、直到當(dāng)前程序網(wǎng)絡(luò)塊中所有STL程序被搜索完為止;
步驟2、將步驟1獲得的二值邏輯函數(shù)轉(zhuǎn)換為普通Petri網(wǎng):
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華僑大學(xué),未經(jīng)華僑大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210589803.6/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 功能限制程序、安裝程序生成程序和程序存儲(chǔ)介質(zhì)
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序創(chuàng)建裝置,程序創(chuàng)建方法和程序
- 程序生成裝置、程序生產(chǎn)方法及程序
- 程序生成裝置、程序生成程序以及程序生成方法
- 程序生成裝置、程序生成方法及程序生成程序
- 程序開發(fā)支持裝置、程序開發(fā)支持方法以及存儲(chǔ)介質(zhì)
- 程序執(zhí)行輔助裝置、程序執(zhí)行輔助方法及程序執(zhí)行輔助程序
- 程序?qū)φ昭b置、程序?qū)φ辗椒俺绦驅(qū)φ粘绦?/a>
- 圖像轉(zhuǎn)換設(shè)備、圖像轉(zhuǎn)換電路及圖像轉(zhuǎn)換方法
- 數(shù)模轉(zhuǎn)換電路及轉(zhuǎn)換方法
- 轉(zhuǎn)換設(shè)備和轉(zhuǎn)換方法
- 占空比轉(zhuǎn)換電路及轉(zhuǎn)換方法
- 通信轉(zhuǎn)換方法、轉(zhuǎn)換裝置及轉(zhuǎn)換系統(tǒng)
- 模數(shù)轉(zhuǎn)換和模數(shù)轉(zhuǎn)換方法
- 轉(zhuǎn)換模塊以及轉(zhuǎn)換電路
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件和熱電轉(zhuǎn)換模塊
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件及熱電轉(zhuǎn)換模塊
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件及熱電轉(zhuǎn)換模塊





