喜歡這套資料就充值下載吧。資源目錄里展示的都可在線預(yù)覽哦。下載后都有,請放心下載,文件全都包含在內(nèi),有疑問咨詢QQ:1064457796
可視化的PLC程序使用XML
米巴尼尤尼斯和G.弗雷
摘要:由于PLC程序日益復(fù)雜,在PLC應(yīng)用方面有越來越多的興趣愛好者。形式化方法,讓僵化的證明系統(tǒng)屬性被核查和驗(yàn)證。一個(gè)傳統(tǒng)思路的方法就是在PLC編程中設(shè)立一個(gè)正式的設(shè)計(jì)方法。不過,現(xiàn)有的軟件已被優(yōu)化,改變,或移植到新系統(tǒng).有需要找到從某一PLC程序開始的方法。因此,規(guī)范PLC程序是一個(gè)現(xiàn)在研究的熱點(diǎn)。該文章概述了基于形式化的PLC程序基礎(chǔ)上從新啟動(dòng)的方法。轉(zhuǎn)型成為一個(gè)獨(dú)立的格式和可視化的結(jié)構(gòu),在這個(gè)過程中,PLC程序的確定是作為這項(xiàng)措施的重要中間步驟。這表明如何XML和相應(yīng)的技術(shù)可用于形式化和可視化現(xiàn)有的PLC程序。
I導(dǎo)言
可編程邏輯控制器(PLC )是一種特殊類型的計(jì)算機(jī),它應(yīng)用于工業(yè)和安全的關(guān)鍵地方。應(yīng)用PLC的目的是控制某一特定的或可選擇的過程,它是通過產(chǎn)生的電控制信號回應(yīng)電器中相關(guān)的輸出信號來實(shí)現(xiàn)的。應(yīng)用在制造業(yè)和化工過程控制,機(jī)械加工,交通,電力分配,以及其他許多領(lǐng)域。PLC控制有著極大的不同,自動(dòng)化應(yīng)用范圍的復(fù)雜性從一個(gè)簡單的小組運(yùn)作到控制一個(gè)會(huì)議室的的燈光和自動(dòng)窗成為一個(gè)全自動(dòng)化的生產(chǎn)線。
隨著他們應(yīng)用PLC知識的增加,他們把PLC應(yīng)用到復(fù)雜性和品質(zhì)要求高的地方,特別是對安全性要求特別嚴(yán)格的地方。由于在有限的時(shí)間里PLCD的發(fā)展應(yīng)用日益復(fù)雜,現(xiàn)有的軟件或PLC的模塊也在迅速發(fā)展,以此,需要一個(gè)正式的辦法加以規(guī)范 。為了確保高品質(zhì)的要求,我們需要檢查和驗(yàn)證程序,以及分析和模擬現(xiàn)有系統(tǒng)。其中一個(gè)重要的領(lǐng)域就是已經(jīng)在最近的時(shí)間成長在規(guī)范化的PLC程序是逆向工程。逆向工程是通過評估達(dá)到了解它的運(yùn)轉(zhuǎn)過程,以達(dá)到重復(fù)或加強(qiáng)的目的。而重用的PLC守則正在建立,作為一種打擊復(fù)雜PLC程序的工具,逆向工程在今后幾年將得到越來越多的重要性,特別是如果現(xiàn)有的硬件被適用于各種不同程序環(huán)境的新硬件所取代的情況下。
現(xiàn)有的PLC程序的可視化是逆向工程一個(gè)重要的中間步驟。本文章提供了一個(gè)方法,使用XML使PLC程序可視化,讓PLC程序工程師更容易把握方向和更好地了解。
該文件的結(jié)構(gòu)如下。首先,簡單的介紹了PLC(根據(jù)國際電工委員會(huì)61131-3的標(biāo)準(zhǔn)給予)和相應(yīng)的編程技巧。在第三部分,在現(xiàn)有基礎(chǔ)上用形式化PLC程序重新設(shè)計(jì)方法的介紹。PLC代碼轉(zhuǎn)型成為一個(gè)獨(dú)立的格式被確定為在這個(gè)過程中重要的第一步。XML和相應(yīng)的技術(shù),例如XSL和XSLT(第四節(jié)可以使用的這種轉(zhuǎn)變)。第五部分提出了應(yīng)用XML的使PLC程序可視化的方法并用一個(gè)例子做出說明。最后一節(jié)總結(jié)了結(jié)果,并就今后的工作在這方面正在進(jìn)行的項(xiàng)目做了一個(gè)前景的展望。
2 PLC和IEC 61131
自從七十年代初期公布于世,由于它的成功的完成目的,取代了機(jī)器上的硬連線控制設(shè)備,PLC日益受到重視,。最終它作為一個(gè)獨(dú)特的應(yīng)用領(lǐng)域成長起來,它的研究和開發(fā),主要是為控制工程。
IEC61131是為工業(yè)自動(dòng)化第一次真正的努力來規(guī)范PLC的編程語言。在1993國際電工委員會(huì)[ 4 ]上公布了IEC 61131作為可編程控制器標(biāo)準(zhǔn)。在標(biāo)準(zhǔn)化PLC的編程語言之前,正在制定為了個(gè)別PLC實(shí)用的專有編程語言。為了提高不同產(chǎn)品的兼容性,開放性和互操作性以及為了促進(jìn)工具和方法的發(fā)展,國際電工委員會(huì)61131標(biāo)準(zhǔn)設(shè)立固定的一套符號。第三部分,定義了一個(gè)適合5種編程語言標(biāo)準(zhǔn):
Originated (IL)語言是一種低層次的文本語言, 其結(jié)構(gòu)類似于匯編語言。Originated語言L被視為PLC的在所有其他IEC61 131-3語言都可以翻譯語言。
梯形圖(L0)是一種被認(rèn)為起源于于美國的圖形語言。LDS符合從電子及電器電路實(shí)施控制邏輯的編程風(fēng)格。
結(jié)構(gòu)化文本(ST)是一個(gè)非常強(qiáng)大的高層次的語言。圣借從帕斯卡爾那里借用了它的語法,充實(shí)它的一些特點(diǎn)。圣包含一個(gè)現(xiàn)在編程語言多要求的所有要素。
功能塊圖(FBD)是一種圖形語言,在工業(yè)流程里是非常常見的。在這種語言中,控制器被認(rèn)為是可在功能塊之間流動(dòng)的信號和數(shù)據(jù)。FBD把換文本編程轉(zhuǎn)變?yōu)楣δ軌K編程,因而提高了模塊化和軟件重用性。
順序功能圖(SFC)是一個(gè)圖形化的語言。SFC要素的定義是為了構(gòu)建可編程序控制器程序的組織。
其中在IEC 61 131-3中出現(xiàn)的一個(gè)問題就是在PLC的編程工具的工程信息中沒有一個(gè)標(biāo)準(zhǔn)化的格式。目前,每個(gè)廠商都在運(yùn)用他們各自的具體的不同格式。這亦是其中一個(gè)原因就是被限制了的形式化的做法,以單一的程序或算法。不過,最近的PLC用戶組織PLCopen (見http://www.plcopen.org )組織了一個(gè)技術(shù)委員會(huì),以確定一個(gè)基于格式accordingto的IEC 61131-3的XML項(xiàng)目 。這種新格式將緩解形式化的工具,使之成為 PLC項(xiàng)目的所有相關(guān)的信息。
3重新設(shè)計(jì)的方法
對于重新設(shè)計(jì)所提出的態(tài)度,(參見圖1 )是基于認(rèn)為XML可作為一種中間媒體語言用來改造PLC的代碼。
這種轉(zhuǎn)變提供了取得avendor獨(dú)立規(guī)格代碼優(yōu)勢,(即使PLCopen成功地確定了一種標(biāo)準(zhǔn)化的格式為PLC所應(yīng)用,仍將有很多現(xiàn)有的程序不符合這個(gè)標(biāo)準(zhǔn))。
圖 1
在此代碼基礎(chǔ)上的一個(gè)明智步驟轉(zhuǎn)型到一個(gè)正式的模型(自動(dòng)機(jī))正在計(jì)劃之中。這個(gè)模型可以用來進(jìn)行分析,模擬仿真,正式的檢查和驗(yàn)證,最終對同一PLC或其他產(chǎn)品重新執(zhí)行該優(yōu)化算法。
一個(gè)很大的可能就是這個(gè)完成編程的逆向啟動(dòng)只能是一個(gè)半自動(dòng)的過程,中間可視化的代碼是最重要的一點(diǎn)。在過程中的不同階段,代碼或形式化模型不同方面的都必須是可視化的設(shè)計(jì)方式,只有這樣設(shè)計(jì)者才可以進(jìn)一步的指導(dǎo)工作。XML以其強(qiáng)大的可視化和改造工具,成為解決這方面的工作的一種理想的工具。
4 作為一種可視化工具的XML
XML (可擴(kuò)展標(biāo)記語言)是一種簡單而靈活的元語言,即一種描述其他語言的語言。由萬維網(wǎng)協(xié)會(huì)( W3C )裁定(W3C)作為一個(gè)方言SGML分支語言, XML的刪除兩個(gè)阻礙網(wǎng)絡(luò)發(fā)展制約因素。依賴于一個(gè)單一的,一成不變的文件類型( HTML ),這種文件類型中大部分被濫用任務(wù),這是從來沒有設(shè)計(jì)為對一方有利。充滿了SGML的復(fù)雜性,他的語法,讓許多強(qiáng)大的并且努力到計(jì)劃方案到了另一個(gè)方向。
圖 2
當(dāng)HTML描述了數(shù)據(jù)本身是怎樣顯現(xiàn)的同時(shí), XML描述了數(shù)據(jù)本身。一些行業(yè)和學(xué)科、醫(yī)療記錄及報(bào)紙出版,其中已使用XML交換信息,可以跨多個(gè)平臺來應(yīng)用。在一個(gè)信息獲取人可以使用各種不同的方式形式下,XML可可裁定描述幾乎任何種類的信息。它是專門設(shè)計(jì)用于支持從根本上使用不同形式的數(shù)據(jù)的系統(tǒng)之間的信息交流,例如民航處及調(diào)度之間的應(yīng)用。使用擁有強(qiáng)大的解析器和固有的簡單性的條款XML,句法和語義語法比常規(guī)詞匯分析器和驗(yàn)證分析器的使用更有利,(參見圖2) 。
常規(guī)的程序代碼分析方法需要一個(gè)掃描儀(詞法分析儀)由剖析器檢查語法結(jié)構(gòu)的代碼產(chǎn)生了一套終端符號(令牌),并生成一個(gè)對象網(wǎng)。在該對象的內(nèi)部結(jié)構(gòu)的程序代表的確定對象和兩者之間的關(guān)系。雙方掃描器和分析器將使用的這種方法是面向文件的,這就意味著,分析不同類型的文件,需要重新生成的代碼為掃描儀和分析器。一個(gè)應(yīng)用這種方法的方法的例子可以在發(fā)現(xiàn) 。
使用XML的最有前途的方面,就是XML及其應(yīng)用的互補(bǔ)性轉(zhuǎn)變?yōu)闃?biāo)準(zhǔn)化,以便給它的用戶提供最大的靈活性?;谠揦ML的方法是十分有利的,因?yàn)樵~匯的規(guī)格是不變的組成部分,因此XML良好的形式從各自的個(gè)別申請是獨(dú)立的。因此, XML的解析器也可以吧XML文件在一個(gè)抽象的代表性換成以所謂的文檔對象模型( DOM ),不需使用語法。DOM的是一個(gè)應(yīng)用程序編程接口( apii )對HTML和格式良好的XML文件有效。它定義的邏輯結(jié)構(gòu)文件和文件的方式訪問和操縱。在DOM中的規(guī)格,任期“文件”是中被越來越多廣泛使用的意識。 XML被用來作為一種代表許多不同種的信息可能在不同的系統(tǒng)中存儲以及許多傳統(tǒng)上,這將被看作是數(shù)據(jù)而不是作為文件。不過, XML介紹了此數(shù)據(jù)文件,并且DOM可以用來管理這方面的數(shù)據(jù)。
XML的轉(zhuǎn)型語言XSLT的是能夠不僅轉(zhuǎn)換XML到另一個(gè)XML或HTML ,還能夠轉(zhuǎn)換到許多其他友好的用戶格式。前XSLT的來臨以前 ,改造XML成為任何其他格式只有通過在一個(gè)程序語言如C + + , Visual Basic或 Java定制開發(fā)的應(yīng)用程序來實(shí)現(xiàn)。這個(gè)程序與尊重的結(jié)構(gòu)性變化XML相比文件缺乏一般性。XSLT的演變,作為一個(gè)高層次的宣示性的語言,對利用的觀念,習(xí)俗申請的變革都是十分相似的。
XSLT的功能分為兩個(gè)步驟。在第一步,它執(zhí)行的結(jié)構(gòu)性轉(zhuǎn)型,以便為轉(zhuǎn)換成XML的結(jié)構(gòu),反映了所需的輸出。第二階段是格式化的新架構(gòu)成所需的格式,如HTML或PDF (參見圖3 ) 。
圖 3
這個(gè)轉(zhuǎn)變最重要的優(yōu)勢是它允許一個(gè)可以想象的簡單而容易的文件或數(shù)據(jù)結(jié)構(gòu)良好嵌入內(nèi)部結(jié)構(gòu),以了解XML來制作。當(dāng)HTML被選擇作為格式轉(zhuǎn)化的產(chǎn)生的時(shí)候,是有可能使用HTML的廣泛能力來產(chǎn)生出可想象的和有吸引力的可視化程序。
每一個(gè)XML文件都有自己的語法和詞匯。因此,除了作為良好的形式, XML文件需要符合一套規(guī)則。根據(jù)W3C建議,這套規(guī)則已通過文件型態(tài)定義( DTD )或一個(gè)XML架構(gòu)加以界定。該定義的規(guī)則在一個(gè)DTD或一個(gè)XML Schema的國家層次和結(jié)構(gòu)制約的XML文件。
近期,一些另類語言已提出,DTD是用以界定文件文法。W3C XML Schema的語言重復(fù)了重要的功能DTDS ,并增加了一些特點(diǎn)。使用XML的語法,例如,明確之間的關(guān)系架構(gòu)和命名空間,一個(gè)有系統(tǒng)的區(qū)分元素的種類和數(shù)據(jù)類型,和單繼承的形式,類型的推導(dǎo)。在其他的話架構(gòu)提供了更豐富和更強(qiáng)大的方式描述的信息,比什么是可能的與DTDS 。圖 4顯示了XML技術(shù)討論上述之間的聯(lián)系。
圖 4
5 方法的可視化OFPLC程序
A.概況
由于Instruction List (IL)是在歐洲最常用的PLC編程語言,現(xiàn)在展示的介紹的做法是在此基礎(chǔ)上的語言。西門子第5步和標(biāo)準(zhǔn)版根據(jù)的IEC 61131-3正在被考慮。
XML文件顯示的生成顯示了不同方面的PLC程序,實(shí)現(xiàn)了在以下三個(gè)步驟(參見圖5):
??1. PLC程序到XML文件的轉(zhuǎn)換
??2. XML的的可行性和確定了語法的XML的XML架構(gòu)
? 3. 根據(jù)該指令集的來源,臨立會(huì),轉(zhuǎn)換的XML介紹元素的定義
圖 5
這三個(gè)步驟是討論分別分節(jié)B至D。小組E節(jié)解釋了在前一階段期間不同的XMLS的可視化取得的成績。
在整個(gè)這一節(jié)的一個(gè)例子是用來說明所提出的概念。(圖 6)顯示了在西門子公司名單中S5Z中PLC的代碼的書面指示。臨立會(huì)的代碼是寫在形式的地方,每列的元素,是一種地址,標(biāo)簽,指示,操作和說明或評構(gòu)成的分隔清單。
Kommentar :
Autor
Erstellt :15.07.2003 Geaendert am: B1B:O
NETZWERK 1 EMPFANGEN SLAVE 3 VON MASTER
NAME :EMPE'MAST
0005 :U M98.7 ABFRAGE OB EMPFANG MOEGLICH
0006
0007 :SPB= MOOl
0008
0009 :A DB140 EMPFANGSFACH IST DB 140
OOOA :L KF+20 LAENGE DES DATENPAKETS
oooc :T DLO
OOOD :L KF+O ZIELNUMMER O=MASTER
OOOF :T DRO
0010
0011 :UNM98.7 FANGEN WIEDER ERLAUBEN
0012 :S M98.7
0013 MOOl :NOP 0
0014
0015 :BE BAUSTEIN ENDE
圖6 第六西門子PLC程序中的書面指令
B. PLC程序轉(zhuǎn)換成為格式良好的XML
??由于ASCII格式PLC程序加上一個(gè)結(jié)構(gòu)與單獨(dú)列地址,標(biāo)簽,指示,運(yùn)算和說明劃定的表格,XSLT的可以把它轉(zhuǎn)換為格式良好的XML文件。通過這種轉(zhuǎn)變 獲得的XML文件是一個(gè)分層結(jié)構(gòu)的文件。
( 圖 7)顯示通過XML文件獲得改造的PLC。XML文件是在結(jié)構(gòu)上的等級,其中的根元素是ilcodeblock是代表全PLC的代碼。每行的PLC代碼是包含在相應(yīng)的ilrow元素,這是米呃子元素。注:結(jié)構(gòu)選擇的XML代表性的IL代碼是面向在工作的建議。
圖 7
C. XML驗(yàn)證和XML架構(gòu)
由于前處理,除了正在完善被確認(rèn)XML文件,可以驗(yàn)證的使用驗(yàn)證解析器取得的XML,形成符合一套句法規(guī)則所界定的背景下的PLC編程語言。
D. 介紹的認(rèn)可
這一步,可視化的PLC程序在這個(gè)過程中使用XML確保XML文件將用于只包含有效可視化,可以用來變換,以及形成有效的另一個(gè)XML ,這是由于對鑒定指示擁有一個(gè)額外的屬性附加到指示標(biāo)記。此屬性通知是一個(gè)有效的指示,指示是否是有關(guān)的指令集。這個(gè)轉(zhuǎn)變的程序,也能指示附加屬性的標(biāo)記,宣布一項(xiàng)分類的指示到預(yù)定義類。
轉(zhuǎn)換的XML的指示識別的證明了XML的語義是與PLC的編程語言的操作類型相一致的。
在本節(jié)中的例子中,(參見圖8 ) ,新的XML包含額外的根據(jù)它所代表的類型分類指示的運(yùn)作屬性。步驟指示分為11不同類型的操作如合乎邏輯的,跳轉(zhuǎn),負(fù)載或轉(zhuǎn)讓的運(yùn)作轉(zhuǎn)讓等等。
(Instruction instructionId='Logical Operation")
U
SPB-
BE
圖 8
E. 可視化的XML
上述所產(chǎn)生的兩種XML文件可轉(zhuǎn)化為HTML或在XSL的幫助下轉(zhuǎn)換為其他可讀的文件。一個(gè)巧妙的XSL可以被設(shè)計(jì)用來產(chǎn)生一個(gè)可以容易想象的轉(zhuǎn)達(dá)PLC程序的邏輯或者其他特征的HTML文件。此外, DOM的結(jié)構(gòu)在嵌入在XML中(參見圖9 ),也可讓使用者用一個(gè)簡單的方法瀏覽PLC程序。
例如在HTML中做的可視化程序 。這可視化已經(jīng)完成XML的轉(zhuǎn)換,他作為一個(gè)表中的子元素去驗(yàn)證的語法。
指示鑒定后的XML被轉(zhuǎn)化成使用XSL轉(zhuǎn)化,取得那里的指示和身份指示后,根據(jù)該行動(dòng)的類型提取的XML在 HTML表載列了兩欄(指示,指令編號)是在可視化的。
HTML結(jié)構(gòu)的建議,這不是唯一的可能性,其中的XML可以可視化,但他們提供一個(gè)很容易的切實(shí)可行的方案,那就是為用戶把握的PLC代碼。
圖10顯示了相同的PLC的代碼,在圖4他作為一個(gè)HTML文檔轉(zhuǎn)換XML文檔,顯示的圖7使用的XSL 。這可視化,更好地了解PLC程序成為可能。
圖 9
圖 10
6 結(jié)論和展望
重新設(shè)計(jì)的PLC程序需要一個(gè)正式的辦法加以發(fā)展。在本文章中,是來解決這個(gè)任務(wù)一個(gè)方法的介紹。在給出了書面指示PLC程序的基礎(chǔ)上,在清單的通過一個(gè)明確步驟轉(zhuǎn)型為被建議的正式代表。由于這個(gè)過程不會(huì)完全自動(dòng),有必要采取靈活的可視化中間步驟。XML是作為一種靈活的,標(biāo)準(zhǔn)化的手段來充當(dāng)數(shù)據(jù)格式來描述的PLC代碼。相應(yīng)的XSL轉(zhuǎn)換和文檔對象模型的技術(shù)是作為工具,在重整過程為各種定制可視化任務(wù)。
基于XML的描述PLC程序的進(jìn)一步轉(zhuǎn)變,將適用于最后得出一個(gè)完全形式化描述原PLC的代碼。這將是在成立一個(gè)有限自動(dòng)機(jī)。在這個(gè)計(jì)劃過程中,他們通過一個(gè)知識庫確定共同的介素的結(jié)構(gòu)和正規(guī)化。
7 致謝
我們謹(jǐn)對“StiAung萊茵蘭普法爾茨杉木創(chuàng)新” 贊助項(xiàng)目下的616位工作人員表示最真摯的感謝。
參考文獻(xiàn)
【1】L. Baresi, M. Mauri, A. Monti, and M. Pezze, “PLCTools: Design, Formal Validation, and Code Generation for Programmable Controllers”, in. IEEE
Conference on Systems, Man, and Cybernefics (SMCZOOO), Nashville, USA, Oct. 2000, pp. 2437- 2442.
【2】 G. Frey and L. Litz, “Formal methods in PLC programming”, in IEEE Con on Systems, Man and Cybernetics (SMC’ZOOO), Nashville, USA, Oct. 2000, pp.2431-2436
【3】 M. Bani Younis and G. Frey, “Formalization of Existing PLC Programs: A Survey.“, in CESA 2003, Lille (France), Paper No. S2-R-00-0239, July 2003.
【4】International Electrotechnical Commission, IEC International Standard 1131-3, Programmable Controllers, Part 3, Programming Languages, 1993.
【5】World Wide Web Consortium: htfp;//www.w3.org/
【6】XML Home Page: hftp://xml.com/
【7】 R. Kliewer, Reverse Engineering von Steuerungssojiware.Ph.D. thesis, University of Kaiserslautern, Germany,Institute for Production-Automation, 1999.
【8】 M. Kay, XSLT - Programmer’s Reference. ISBN1861005067, Wrox Press Ltd2001
- 13 -
鏈接地址:http://m.kudomayuko.com/article/21576827.html