|
|
彭瑜(上海工業(yè)自動(dòng)化儀表研究所,200233) 《國內(nèi)外機(jī)電一體化技術(shù)》2004年第1期<BR> 摘要: IEC 61131-3是可編程序控制器的編程語言的標(biāo)準(zhǔn),它將現(xiàn)代軟件的概念和現(xiàn)代軟件工程的機(jī)制與傳統(tǒng)的PLC編程語言成功地結(jié)合,使它在工業(yè)控制領(lǐng)域的影響越出PLC的界限,成為DCS、PC控制、運(yùn)動(dòng)控制,以及SCADA的編程系統(tǒng)事實(shí)上的標(biāo)準(zhǔn)。本文綜述了該標(biāo)準(zhǔn)成功的原因,它的優(yōu)勢和不足,目前和今后的發(fā)展,以及推廣應(yīng)用的活動(dòng)。 <BR> 關(guān)鍵詞: 編程語言,工業(yè)控制, PLC,DCS, IEC 61131,IEC 61499, 功能塊, 分布式控制 <BR> 1993年國際電工委員會(huì)(IEC)正式頒布了可編程控制器的國際標(biāo)準(zhǔn)IEC 1131(以后改稱IEC 61131),其中的第三部分關(guān)于編程語言的標(biāo)準(zhǔn),規(guī)范了可編程控制器的編程語言及其基本元素。這一標(biāo)準(zhǔn)為可編程控制器軟件技術(shù)的發(fā)展,乃至整個(gè)工業(yè)控制軟件技術(shù)的發(fā)展,起了舉足輕重的推動(dòng)作用。它是全世界控制工業(yè)第一次制定的有關(guān)數(shù)字控制軟件技術(shù)的編程語言標(biāo)準(zhǔn)。此前,國際上沒有出現(xiàn)過有實(shí)際意義的,為制定通用的控制語言而開展的標(biāo)準(zhǔn)化活動(dòng)。這顯然是注意到由于DCS(分散控制系統(tǒng))等以數(shù)字技術(shù)為基礎(chǔ)的控制裝置在發(fā)展進(jìn)程中過于專有化,給用戶帶來的大量不便?梢哉f,沒有編程語言的標(biāo)準(zhǔn)化便沒有今天PLC走向開放式系統(tǒng)的堅(jiān)實(shí)基礎(chǔ)。 <BR> 國際標(biāo)準(zhǔn)IEC 61131概況 <BR> 1992年以后,可編程序控制器國際標(biāo)準(zhǔn)IEC 61131的各個(gè)部分陸續(xù)頒布施行。已正式頒布的有: <BR> IEC 61131-1 通用信息 (1992) <BR> IEC 61131-2 裝置要求與測試 (1992) <BR> IEC 61131-3 編程語言 (1993) <BR> IEC 61131-4 用戶導(dǎo)則 (1995) <BR> IEC 61131-5 通信服務(wù)規(guī)范 (2000) <BR> IEC 61131-7 模糊控制編程軟件工具實(shí)施 (2000) <BR> IEC 61131-8 IEC 61131-3語言實(shí)現(xiàn)導(dǎo)則 (2001) <BR> 2000年8月由PLCopen組織向IEC提出增加IEC 61131-X 功能安全性,這主要是依據(jù)《IEC 61508與安全有關(guān)的電氣/電子/可編程電子系統(tǒng)的功能安全性》,結(jié)合PLC的具體情況提出。目前尚處在草案階段。 <BR> 中國的工業(yè)過程測量和控制標(biāo)準(zhǔn)化委員會(huì)按與IEC國際標(biāo)準(zhǔn)等效的原則,組織翻譯出版工作。于1995年12月29日以GB/T15969.1,15969.2,15969.3,15969.4 頒布了PLC的國家標(biāo)準(zhǔn)。 <BR> 該標(biāo)準(zhǔn)只涉及IEC 61131的第一、第二、第三和第四部分,沒有納入1995年以后出版的第五部分通信服務(wù)規(guī)范 ,第七部分模糊控制編程軟件工具,第八部分IEC 61131-3語言的實(shí)現(xiàn)導(dǎo)則。目前正在啟動(dòng)該標(biāo)準(zhǔn)的修訂和補(bǔ)充工作,為第二版的正式頒布進(jìn)行準(zhǔn)備。傳統(tǒng)的梯形圖編程語言的嚴(yán)重不足傳統(tǒng)的PLC最常用的編程語言是梯形圖。它雖然遵從了廣大電氣自動(dòng)化人員的專業(yè)習(xí)慣,易學(xué)易用,但是也存在許多難以克服的缺點(diǎn):[1,2] <BR> ☆不同廠商的PLC產(chǎn)品其梯形圖的符號(hào)和編程規(guī)則均不一致。程序的可移植性差。 <BR> ☆程序可復(fù)用性差。為了減少重復(fù)勞動(dòng),現(xiàn)代軟件編程特別強(qiáng)調(diào)程序的可重復(fù)使用。傳統(tǒng)的梯形圖編程很難在調(diào)用子程序時(shí)通過變量賦值實(shí)現(xiàn)相同的邏輯算法和策略的反復(fù)使用。 <BR> ☆缺乏足夠的程序封裝能力。一般要求將一個(gè)復(fù)雜的程序分解為若干個(gè)不同功能的程序模塊。或者說,人們?cè)诰幊虝r(shí)希望用不同的功能模塊組合成一個(gè)復(fù)雜的程序,梯形圖編程難以實(shí)現(xiàn)個(gè)程序模塊之間具有清晰接口的模塊化,也難以對(duì)外部隱藏程序模塊內(nèi)部數(shù)據(jù)從而實(shí)現(xiàn)程序模塊的封裝。 <BR> ☆不支持?jǐn)?shù)據(jù)結(jié)構(gòu)。梯形圖編程不支持?jǐn)?shù)據(jù)結(jié)構(gòu),無法實(shí)現(xiàn)將數(shù)據(jù)組織成如Pascal、C語言等高級(jí)語言中的數(shù)據(jù)結(jié)構(gòu)那樣的數(shù)據(jù)類型。對(duì)于一些復(fù)雜應(yīng)用的編程,它幾乎無能為力。 <BR> ☆程序執(zhí)行具有局限性。由于傳統(tǒng)PLC按掃描方式組織程序的執(zhí)行,因此整個(gè)程序的指令代碼完全按順序逐條執(zhí)行。對(duì)于要求即時(shí)響應(yīng)的程序應(yīng)用(如執(zhí)行事件驅(qū)動(dòng)的程序模塊),具有很大的局限性。 <BR> ☆進(jìn)行順序控制功能編程時(shí),一般只能為每一個(gè)順控狀態(tài)定義一個(gè)狀態(tài)位,難以實(shí)現(xiàn)選擇或并行等復(fù)雜順控操作。 <BR> ☆傳統(tǒng)的梯形圖編程在算術(shù)運(yùn)算處理、字符串或文字處理等方面均不能提供強(qiáng)有力支持。在IEC 61131-3標(biāo)準(zhǔn)的制定過程中就面臨著在突破舊有的編程語言的不足的同時(shí),又要繼承其合理和有效的部分。解決好這個(gè)問題,會(huì)大大地推動(dòng)PLC編程工具的發(fā)展,推動(dòng)PLC的開放性。 <BR> 兼容并蓄是IEC 61131-3成功的基礎(chǔ)[3] <BR> IEC 61131-3的制定,集中了美國、加拿大、歐洲(主要是德國、法國)以及日本等7家國際性工業(yè)控制企業(yè)的專家和學(xué)者的智慧,以及數(shù)十年在工控方面的經(jīng)驗(yàn)。在制定這一編程語言標(biāo)準(zhǔn)的過程中,PLC正處在其發(fā)展和推廣應(yīng)用的鼎盛時(shí)期。主要是在北美和日本,普遍運(yùn)用梯形圖(LD)語言編程;在歐洲,則使用功能塊圖(FBD)和順序功能圖(SFC);德國和日本,又常常采用指令表(IL)對(duì)PLC進(jìn)行編程。為了擴(kuò)展PLC的功能,特別是加強(qiáng)它的數(shù)據(jù)處理、文字處理,以及通信功能的能力,許多PLC還允許使用高級(jí)語言(如BASIC語言、C語言)。因此,制定這一標(biāo)準(zhǔn)的首要任務(wù)就是把現(xiàn)代軟件的概念和現(xiàn)代軟件工程的機(jī)制應(yīng)用于傳統(tǒng)的PLC編程語言。IEC 61133-3規(guī)定了二大類編程語言:文本化編程語言和圖形化編程語言。前者包括指令清單語言(IL)和結(jié)構(gòu)化文本語言(ST),后者包括梯形圖語言(LD)和功能塊圖語言(FBD)。至于順序功能圖(SFC),標(biāo)準(zhǔn)不把它單獨(dú)列入編程語言的一種,而是將它在公用元素中予以規(guī)范。這就是說,不論在文本化語言中,或者在圖形化語言中,都可以運(yùn)用SFC的概念、句法和語法。于是,在我們現(xiàn)在所使用的編程語言中,可以在梯形圖語言中使用SFC,也可以在指令清單語言中使用SFC。 <BR> IEC 61131-3允許在同一個(gè)PLC中使用多種編程語言,允許程序開發(fā)人員對(duì)每一個(gè)特定的任務(wù)選擇最合適的編程語言,還允許在同一個(gè)控制程序中其不同的軟件模塊用不同的編程語言編制。這一規(guī)定妥善繼承了PLC發(fā)展歷史中形成的編程語言多樣化的現(xiàn)實(shí),又為PLC軟件技術(shù)的進(jìn)一步發(fā)展提供了足夠的空間。 <BR> 自IEC 61131-3正式公布后,它獲得了廣泛的接受和支持: <BR> (1)國際上各大PLC廠商都宣布其產(chǎn)品符合該標(biāo)準(zhǔn)的規(guī)范(盡管這些公司的軟件工具距離標(biāo)準(zhǔn)的IEC 61131-3語言尚有一定距離),在推出其編程軟件新產(chǎn)品時(shí),遵循該標(biāo)準(zhǔn)的各種規(guī)定。 <BR> (2)許多稍后推出的DCS產(chǎn)品,或者DCS的更新?lián)Q代產(chǎn)品,也遵照IEC 61131-3的規(guī)范,提供DCS的編程語言,而不像以前每個(gè)DCS廠商都搞自己的一套。 <BR> (3)以PC為基礎(chǔ)的控制作為一種新興控制技術(shù)正在迅速發(fā)展,大多數(shù)PC控制的軟件開發(fā)商都按照IEC 61131-3的編程語言標(biāo)準(zhǔn)規(guī)范其軟件產(chǎn)品的特性。 <BR> (4)正因?yàn)橛辛薎EC 61131-3,才真正出現(xiàn)了一種開放式的可編程控制器的編程軟件包,它不具體地依賴于特定的PLC硬件產(chǎn)品,這就為PLC的程序在不同機(jī)型之間的移植提供了可能。 <BR> 總部設(shè)在荷蘭的國際性組織PLC open在推廣該標(biāo)準(zhǔn)的應(yīng)用并開發(fā)相關(guān)的軟件產(chǎn)品,以及謀求該標(biāo)準(zhǔn)的進(jìn)一步發(fā)展進(jìn)行了不懈的努力,獲得了廣泛的響應(yīng)和優(yōu)秀的成績。以上這些事實(shí)有力地說明了這個(gè)編程語言標(biāo)準(zhǔn)的生命力。 <BR> IEC軟件模型是面向未來的開放系統(tǒng)[4][5][6] <BR> 程序 </P><P> <br><A HREF="/editor/uploadfiles/learns01/20068221853255415.bmp" TARGET=_blank><IMG SRC="/editor/uploadfiles/learns01/20068221853255415.bmp" border=0 alt=按此在新窗口瀏覽圖片 onload="javascript:if(this.width>580)this.width=580"></A><BR> <BR> IEC 61131-3提出的軟件模型是整個(gè)標(biāo)準(zhǔn)的基礎(chǔ)性的理論工具,幫助人們完整地理解除編程語言以外的全部內(nèi)容。 <BR> 配置本軟件模型,在其最上層把解決一個(gè)具體控制問題的完整的軟件概括為一個(gè)“配置”。它專指一個(gè)特定類型的控制系統(tǒng),包括硬件裝置、處理資源、I/O通道的存貯地址和系統(tǒng)能力,等同于一個(gè)PLC的應(yīng)用程序。在一個(gè)由多臺(tái)PLC構(gòu)成的控制系統(tǒng)中,每一臺(tái)PLC的應(yīng)用程序就是一個(gè)獨(dú)立的“配置”。 <BR> 資源在一個(gè)“配置”中可以定義一個(gè)或多個(gè)“資源”?砂选百Y源”看作能執(zhí)行IEC程序的處理手段,它反映PLC的物理結(jié)構(gòu),在程序和PLC的物理I/O通道之間提供了一個(gè)接口。只有在裝入“資源”后才能執(zhí)行IEC程序。一般而言,通常資源放在PLC內(nèi),當(dāng)然它也可以放在其它支持IEC程序執(zhí)行的系統(tǒng)內(nèi)。 <BR> 任務(wù)在一個(gè)資源內(nèi)可以定義一個(gè)或多個(gè)任務(wù)。任務(wù)被配置后可以控制一組程序或功能塊。這些程序和功能塊可以是周期地執(zhí)行,也可以由一個(gè)事件驅(qū)動(dòng)予以執(zhí)行。 <BR> 程序一個(gè)IEC程序可以用符合IEC 61131-3規(guī)定的編程語言來編寫。典型的IEC程序由許多互連的功能塊和/或函數(shù)組成,每個(gè)功能塊之間可相互交換數(shù)據(jù)。函數(shù)與功能塊是基本的組成單元,其內(nèi)包括一個(gè)數(shù)據(jù)結(jié)構(gòu)和一種算法。 <BR> 下面我們將IEC 61131-3軟件模型與傳統(tǒng)的PLC模型(包括一個(gè)資源,運(yùn)行一個(gè)任務(wù),控制一個(gè)程序,且運(yùn)行于一個(gè)封閉系統(tǒng)中)進(jìn)行比較(圖2)。 <BR> <BR> <br><A HREF="/editor/uploadfiles/learns01/200682218541359222.bmp" TARGET=_blank><IMG SRC="/editor/uploadfiles/learns01/200682218541359222.bmp" border=0 alt=按此在新窗口瀏覽圖片 onload="javascript:if(this.width>580)this.width=580"></A></P><P> 可以看出,IEC軟件模型在傳統(tǒng)PLC的軟件模型的基礎(chǔ)上增加了許多內(nèi)容: <BR> ★IEC 61131-3的軟件模型是一種分層結(jié)構(gòu),每一層均隱含其下層的許多特征。 <BR> ★它奠定了將一個(gè)復(fù)雜的程序分解為若干個(gè)可以進(jìn)行管理和控制的小單元,而這些被分解的小單元之間存在著清晰而規(guī)范的界面。 <BR> ★可滿足由多個(gè)處理器構(gòu)成的PLC系統(tǒng)的軟件設(shè)計(jì)。 <BR> ★可方便地處理事件驅(qū)動(dòng)的程序執(zhí)行(傳統(tǒng)的PLC的軟件模型僅為按時(shí)間周期執(zhí)行的程序結(jié)構(gòu)) <BR> ★對(duì)以工業(yè)通信網(wǎng)絡(luò)為基礎(chǔ)的分散控制系統(tǒng)(例如由現(xiàn)場總線將分布于不同硬件內(nèi)的功能塊構(gòu)成一個(gè)具體的控制任務(wù))尤其是軟邏輯/PC控制這些正在發(fā)展中的新興控制技術(shù),該軟件模型均可覆蓋和適用。由此可見,該軟件模型足以映像各類實(shí)際系統(tǒng): <BR> 對(duì)于只有一個(gè)處理器的小型系統(tǒng),其模型只有一個(gè)配置、一個(gè)資源和一個(gè)程序,與現(xiàn)在大多數(shù)PLC的情況完全相符。對(duì)于有多個(gè)處理器的中、大型系統(tǒng),整個(gè)PLC被視作一個(gè)配置,每個(gè)處理器都用一個(gè)資源來描述,而一個(gè)資源則包括一個(gè)或多個(gè)程序。對(duì)于分散型系統(tǒng),將包含多個(gè)配置,而一個(gè)配置又包含多個(gè)處理器,每個(gè)處理器用一個(gè)資源描述,每個(gè)資源則包括一個(gè)或多個(gè)程序。 <BR> IEC 61131-3的優(yōu)勢與缺陷[4][7] <BR> IEC 61131-3的優(yōu)勢在于它成功地將現(xiàn)代軟件的概念和現(xiàn)代軟件工程的機(jī)制用于PLC傳統(tǒng)的編程語言。而它的不足卻是因?yàn)樗隗w系結(jié)構(gòu)上和硬件上依賴于傳統(tǒng)的PLC的體系結(jié)構(gòu)所形成的“先天不足”。 <BR> 下面先討論IEC 61131-3的優(yōu)勢 <BR> 1.采用現(xiàn)代軟件模塊化原則。 <BR> ★編程語言支持模塊化,將常用的程序功能劃分為若干單元,并加以封裝,構(gòu)成編程的基礎(chǔ)。 <BR> ★模塊化時(shí)只設(shè)置必要的、盡可能少的輸入和輸出參數(shù),盡量減少交互作用,盡量減少內(nèi)部數(shù)據(jù)交換。 <BR> ★模塊化接口之間的交互作用,均采用顯性定義。 <BR> ★將信息隱藏于模塊內(nèi),對(duì)使用者來講只需了解該模塊的外部特性(即功能,輸入輸出參數(shù)),而無需了解模塊內(nèi)算法的具體實(shí)現(xiàn)方法。</P><P> <br><A HREF="/editor/uploadfiles/learns01/200682218545198924.bmp" TARGET=_blank><IMG SRC="/editor/uploadfiles/learns01/200682218545198924.bmp" border=0 alt=按此在新窗口瀏覽圖片 onload="javascript:if(this.width>580)this.width=580"></A><BR> <BR> 2.IEC 61131-3支持自頂而下(top-down)和自底而上(bottom-up)程序開發(fā)方法。用戶可先進(jìn)行總體設(shè)計(jì),將控制應(yīng)用劃分若干個(gè)部分,定義應(yīng)用變量,然后編各個(gè)部分的程序: 這就是自頂而下。用戶也可以先從底部開始編程,例如先導(dǎo)出函數(shù)和功能塊,再進(jìn)行按照控制要求編制程序: 這是自底而上。無論選擇何種開發(fā)方法,IEC 61131-3所創(chuàng)建的開發(fā)環(huán)境均會(huì)在整個(gè)編程過程中給予強(qiáng)有力的支持。 <BR> 3.IEC 61131-3所規(guī)范的編程系統(tǒng)獨(dú)立于任一個(gè)具體的目標(biāo)系統(tǒng),它可以最大限度地在不同的PLC目標(biāo)系統(tǒng)中運(yùn)行。這樣就創(chuàng)造了一種具有良好開放性的氛圍,奠定了PLC編程開放性的基礎(chǔ)。 <BR> 4.將現(xiàn)代軟件概念濃縮,并加以運(yùn)用,例如: <BR> ★數(shù)據(jù)使用DATA_TYPE說明機(jī)制 <BR> ★函數(shù)使用FUNTION說明機(jī)制 <BR> ★數(shù)據(jù)和函數(shù)的組合使用FUNTION_BLOCK說明機(jī)制。 <BR> 在IEC 61131-3中,功能塊并不只是FBD語言的編程機(jī)制,它還是面向?qū)ο蠼M件的結(jié)構(gòu)基礎(chǔ)。一旦完成了某個(gè)功能塊的編程,并通過調(diào)試和試用證明了它確能正確執(zhí)行所規(guī)定的功能,那么就不允許用戶再將它打開,改變其算法。即使是一個(gè)功能塊因?yàn)槠鋱?zhí)行效率有必要再提高,或者是在一定的條件下其功能執(zhí)行的正確性存在問題,需要重新編程,我們只要保持該功能塊的外部接口(輸入/輸出定義)不變,仍可照常使用。同時(shí),許多原創(chuàng)設(shè)備制造廠(OEM)將它們的專有控制技術(shù)壓縮在用戶自定義的功能塊中,既可以保護(hù)知識(shí)產(chǎn)權(quán),又可以反復(fù)使用,不必一再地為同一個(gè)目的而編寫和調(diào)試程序。 <BR> 5.標(biāo)準(zhǔn)要求嚴(yán)格的數(shù)據(jù)類型定義。這意味著,IEC 61131-3編程語言為減少程序開發(fā)人員對(duì)一個(gè)變量做出錯(cuò)誤的數(shù)據(jù)類型定義創(chuàng)造了有效的限制。 <BR> 軟件工程中很早就認(rèn)識(shí)到許多編程的錯(cuò)誤往往發(fā)生在程序的不同部分其數(shù)據(jù)的表達(dá)和處理不同。IEC 61131-3從源頭上注意防止這類低級(jí)的錯(cuò)誤,雖然采用的方法可能導(dǎo)致效率降低一點(diǎn),但換來的價(jià)值卻是程序的可靠性、可讀性和可維護(hù)性。IEC 61131-3采用以下方法防止這些錯(cuò)誤: <BR> ★限制函數(shù)與功能塊之間的互連范圍:只允許兼容的數(shù)據(jù)類型與功能塊之間互連。 <BR> ★限制運(yùn)算只可對(duì)其數(shù)據(jù)類型已明確定義的變量進(jìn)行。 <BR> ★禁止隱含的數(shù)據(jù)類型變換。比如,實(shí)型數(shù)不可執(zhí)行按位運(yùn)算。若要運(yùn)算,編程者必須先通過顯式變換函數(shù)REAL_TO_WORD,把實(shí)型數(shù)變換為WORD型位串變量。標(biāo)準(zhǔn)中規(guī)定了多種標(biāo)準(zhǔn)固定字長的數(shù)據(jù)類型,包括位串,帶符號(hào)位和不帶符號(hào)位的整數(shù)型(8位、16位、32位和64位字長)。 <BR> 6.對(duì)程序執(zhí)行具有完全的控制能力。傳統(tǒng)的PLC只能按掃描方式順序執(zhí)行程序,對(duì)程序執(zhí)行的多樣性要求如由事件驅(qū)動(dòng)某一段程序的執(zhí)行,程序的并行處理等均無能為力。IEC 61131-3允許程序的不同部分,在不同的條件(包括時(shí)間條件)下,以不同的比率并行執(zhí)行。即允許對(duì)一個(gè)程序的不同部分規(guī)定不同的執(zhí)行次數(shù)、不同的執(zhí)行時(shí)間和并行執(zhí)行的方式。這意味著,以“任務(wù)”控制的方式可讓一個(gè)程序的不同部分以不同的掃描周期進(jìn)行掃描。 <BR> 7.提供靈活的編程語言選擇。有三種圖形化語言和兩種文本化語言可在表達(dá)一個(gè)控制應(yīng)用程序的不同部分時(shí),讓程序編制人員有很大的自由度去選用他認(rèn)為合適的語言來設(shè)計(jì)。換句話說就是,程序的不同部分可用上述五種語言的任意一種來表達(dá)。 <BR> 8.支持?jǐn)?shù)據(jù)結(jié)構(gòu)的定義。由于支持?jǐn)?shù)據(jù)結(jié)構(gòu),所以相關(guān)的數(shù)據(jù)元素即便屬于不同的數(shù)據(jù)類型,也可在程序不同的部分傳送,就如它們是一個(gè)單一的實(shí)體。在不同程序組織單元POU之間傳送復(fù)雜信息,如同傳送單一變量一樣。這不但改善了程序的可讀性,而且保證了相關(guān)數(shù)據(jù)的存取準(zhǔn)確無誤。 <BR> 9.完全支持順序控制的各種描述,再復(fù)雜的順序行為也可輕而易舉地用順序功能圖SFC這樣的圖形化語言加以分解、描述及編程。順序控制過程的每一步都可用步(steps)、其動(dòng)作(actions)和轉(zhuǎn)移(transitions between steps)準(zhǔn)確描述。 <BR> 至于IEC 61131-3的缺陷主要是以下兩點(diǎn): <BR> 1.IEC 61131-3沿用了直接表示與硬件有關(guān)的變量的方法,這就妨礙了均符合標(biāo)準(zhǔn)的PLC系統(tǒng)之間做到真正意義上的程序可移植。由于不同機(jī)種有自己的輸入、輸出的定義(這些均與硬件相關(guān)),如果想把一個(gè)在某個(gè)廠商的PLC中運(yùn)行得很好的程序原封不動(dòng)地搬到另一個(gè)PLC廠商的機(jī)器,必須先從技術(shù)文件中找到有關(guān)與硬件相關(guān)變量的定義,然后再在另一個(gè)機(jī)型中對(duì)此重新定義。至少可以這樣說,不存在與硬件相關(guān)變量之間的變換。 <BR> 2.IEC 61131-3只給出一個(gè)單一的集中PLC系統(tǒng)的配置機(jī)制,這顯然不能適應(yīng)分布式結(jié)構(gòu)的軟件要求。由于工業(yè)通信技術(shù)的飛速發(fā)展,特別是現(xiàn)場總線和以太網(wǎng)在工業(yè)中的實(shí)際應(yīng)用,給工業(yè)自動(dòng)化的體系結(jié)構(gòu)帶來了巨大影響。因此,IEC 61131-3必須適應(yīng)客觀形勢的發(fā)展,在這方面進(jìn)行突破。它應(yīng)該允許功能塊不一定集中常駐在單個(gè)硬件中,允許分散于不同硬件的功能塊,通過通信方式也可以構(gòu)成一個(gè)控制程序。這就是正處于制定中的IEC 61499的主攻方向。 <BR> 加速IEC 61131-3的推廣應(yīng)用 <BR> 要全面高水平實(shí)施IEC 61131-3還有一個(gè)相當(dāng)艱苦過程。特別是它對(duì)控制領(lǐng)域的影響并不限于PLC,它還適用于DCS、PC控制,運(yùn)動(dòng)控制,甚至SCADA系統(tǒng),因此推廣應(yīng)用IEC 61131-3就不是幾個(gè)人、幾個(gè)廠商、甚至幾個(gè)國家的事情,必須有一個(gè)不以贏利為目的國際組織進(jìn)行全面規(guī)劃,積極推廣。值得慶幸的是致力于工業(yè)控制編程標(biāo)準(zhǔn)化的國際組織PLCopen,以自己的有效活動(dòng)表明它足以堪當(dāng)此重任。 <BR> PLCopen目前擁有分布于21個(gè)國家的100多個(gè)單元會(huì)員,下設(shè)5個(gè)技術(shù)委員會(huì)[8]:TC1重點(diǎn)在于與IEC合作共同發(fā)展、提高和完善IEC61131-3,目前具體工作是發(fā)行的第2版修訂文本。TC2重點(diǎn)在于定義功能塊的程序庫,協(xié)調(diào)功能塊的約定。目前正在組織對(duì)運(yùn)動(dòng)控制的功能塊進(jìn)行定義,創(chuàng)立可重復(fù)使用、獨(dú)立于硬件的運(yùn)動(dòng)控制行規(guī)(profile)。TC3重點(diǎn)是制定編程語言一致性的測試標(biāo)準(zhǔn)。我們知道,IEC61131-3標(biāo)準(zhǔn)僅給出了一致性的基本規(guī)則,并不提供實(shí)際編程系統(tǒng)的導(dǎo)則。所以關(guān)于編程系統(tǒng)的一致性測試實(shí)際上就是檢驗(yàn)不同的編程系統(tǒng)是否真正具有開放性的問題。TC4重點(diǎn)是通信,負(fù)責(zé)制訂通信接口及應(yīng)用交換格式等。TC5則著重于安全軟件導(dǎo)則,重點(diǎn)在于如何運(yùn)用IEC 61508(有關(guān)系統(tǒng)安全的功能安全)支持安全編程技術(shù)。 <BR> 一致性的實(shí)質(zhì)在于建立一套測試方法和程序,這樣才能推動(dòng)標(biāo)準(zhǔn)的真正貫徹。PLCopen把一致性劃分為3個(gè)等級(jí):基本級(jí),可重復(fù)使用級(jí),以及全兼容級(jí)。符合基本級(jí),可解決小系統(tǒng)的可移植性;符合可重復(fù)使用級(jí)和全兼容級(jí),可解決功能塊程序庫的可移植性。目前,指令表(IL)、結(jié)構(gòu)文本(ST)和順序功能圖(SFC)的基本級(jí)定義已完成;有關(guān)指令表、結(jié)構(gòu)文本和順序功能圖的測試軟件已投入使用;有25個(gè)編程軟件包已通過一致性認(rèn)證。梯形圖(LD)和功能塊圖(FBD)的基本級(jí)一致性定義正在制定中,相應(yīng)測試軟件正在準(zhǔn)備中。由于要全部滿足IEC 61131-3標(biāo)準(zhǔn)的要求實(shí)屬不易,所以標(biāo)準(zhǔn)中在許多方面允許部分實(shí)現(xiàn)標(biāo)準(zhǔn),這就給制造廠商相當(dāng)大的自由度。也正因?yàn)槿绱,如果能在IL、ST、SFC、LD和FBD五個(gè)方面均達(dá)到可重復(fù)使用級(jí),則該編程系統(tǒng)即達(dá)到了全兼容級(jí)。 <BR> IEC 61131-3的修訂和發(fā)展 <BR> IEC 61131-3第二版已于2000年下半年進(jìn)行了表決,現(xiàn)已公布施行。第二版對(duì)第一版作了少許修改,目的主要在于提高程序組織單元(如用IEC 61131-3的編程語言寫的程序,函數(shù),功能塊)的可讀性和有用性。主要改動(dòng)如下[7]: <BR> (1)將直接量(literal value)的類型作為該量的一部分來表示,以方便該量的應(yīng)用,達(dá)到一目了然的效果。例如用UINT #345表示無符號(hào)整型數(shù),正好對(duì)應(yīng)有符號(hào)整型數(shù)INT #345。 <BR> (2)在第1版中,函數(shù)(不是功能塊)不允許存在由于其執(zhí)行而產(chǎn)生的副作用。第2版中放松了這一要求,只要在函數(shù)的定義中說明所產(chǎn)生的副作用并非有害即可。 <BR> (3)對(duì)結(jié)構(gòu)化文本(ST)這一種編程語言的句法做了改進(jìn),使函數(shù)和功能塊的多輸出連接可以具有一種等效于功能塊圖(FBD)的多輸出連接的靈活性。 <BR> (4)第2版中規(guī)定了一種新的字符串?dāng)?shù)據(jù)類型WSTRING,以適應(yīng)在ISO/IEC 10646標(biāo)準(zhǔn)中定義的寬字符(即雙字節(jié))的字符串。 <BR> 計(jì)劃中的IEC 61131-3的第3次修改版將與IEC 61499相協(xié)調(diào),在保持IEC 61131-3原有優(yōu)點(diǎn)的同時(shí),消除它兩個(gè)最大的缺陷。智能式傳感器和執(zhí)行器本身就具有執(zhí)行控制功能的能力,如果IEC 61131-3能支持分布式系統(tǒng)體系結(jié)構(gòu)的編程,那么只要開發(fā)出相應(yīng)的軟件工具,就能組成靈活性極強(qiáng)的現(xiàn)場總線控制系統(tǒng)。IEC技術(shù)委員會(huì)(TC65)啟動(dòng)了IEC 61499 工業(yè)過程測量和控制系統(tǒng)用功能塊項(xiàng)目,目的之一就在于對(duì)IEC 61131-3進(jìn)行適當(dāng)?shù)臄U(kuò)展。這主要是: <BR> ★給出如何使PLC具有表達(dá)61499設(shè)備特性的能力。 <BR> ★引入有關(guān)61499如何使61131-3增加附加價(jià)值的闡述,而61131-3又如何增加61499的附加價(jià)值的闡述。 <BR> 目前61131-3第三版的修訂內(nèi)容已公布了32項(xiàng)[9],主要有: <BR> 在61131-3中增加新的定義“交叉可復(fù)用性”(cross-reusability),而不在61131-3中開發(fā)COMPLIANCE CLASSES or PROFILE(一致級(jí)或行規(guī))。 <BR> 61499和61131-3形式句法和語法的關(guān)系。 <BR> 用服務(wù)接口功能塊( SIFB,Service-interface function block)提供對(duì)過程數(shù)據(jù)的存取,取代原來的與硬件相關(guān)的語言特性,如I/O地 址的直接表示。 <BR> 取消VAR_GLOBAL結(jié)構(gòu),用相應(yīng)的服務(wù)接口功能塊代替,以提供對(duì)系統(tǒng)的全局變量的存取。 <BR> 用服務(wù)接口功能塊替代VAR_ ACCESS結(jié)構(gòu)。 <BR> 用61499的設(shè)備/資源模型取代CONFIGURATION結(jié)構(gòu)。 <BR> 引入61499的應(yīng)用模型和在資源上的子部 分的映射。 <BR> 引入執(zhí)行控制圖編程語言元素。 <BR> 61499功能塊算法采用61131-3語言編程。 <BR> 設(shè)計(jì)將現(xiàn)有的61131-3的算法嵌入61499的 分散式功能塊的方法。還有一些與61499無直接關(guān)系的修改。 <BR> IEC 61499—IEC 61131-3的發(fā)展和補(bǔ)充 <BR> 早在1990年初,IEC技術(shù)委員會(huì)(TC65)還在制定61131-3編程語言的時(shí)候就認(rèn)為,為了細(xì)化和發(fā)展功能塊方法,有必要制定一個(gè)功能塊應(yīng)用的公共模型。并將此項(xiàng)目命名為IEC 61499《工業(yè)過程測量和控制系統(tǒng)用功能塊》,把制定這個(gè)標(biāo)準(zhǔn)的工作交給其下屬的第六工作組(TC65/WG6)。目的就在于對(duì)IEC 61131-3進(jìn)行適當(dāng)?shù)臄U(kuò)展。 <BR> 目前,IEC 61499的前兩個(gè)部分已作為PAS(公眾可利用規(guī)范Publicly AvailIable Specification)公布。如果能取得工業(yè)界的積極響應(yīng)和支持,在2003年就可能以正式標(biāo)準(zhǔn)頒布[10]。應(yīng)注意的是,61499不是一個(gè)獨(dú)立的標(biāo)準(zhǔn),為實(shí)現(xiàn)分布式工業(yè)過程測控系統(tǒng)我們至少還需要: <BR> ★通信行規(guī) 它定義標(biāo)準(zhǔn)的通信功能塊及其標(biāo)準(zhǔn)開放性通信的映射服務(wù),就如在現(xiàn)場總線國際標(biāo)準(zhǔn)所規(guī)定的那樣。 <BR> ★標(biāo)準(zhǔn)編程語言 諸如IEC 61131-3規(guī)范的基本功能塊類型中的算法。 <BR> ★在特定范疇中(如過程控制功能塊)應(yīng)用的標(biāo)準(zhǔn)功能塊類型及其導(dǎo)則。 <BR> 61499-1是針對(duì)通過通信網(wǎng)絡(luò)互連的模塊化分布系統(tǒng)的體系結(jié)構(gòu)標(biāo)準(zhǔn)。它定義了為精確描述分布式控制系統(tǒng)的功能塊和應(yīng)用程序的體系結(jié)構(gòu)、模型及其文本語法。其系統(tǒng)模型包括與被控過程(或機(jī)械)的接口,與通信網(wǎng)絡(luò)的接口,以及隱含的分布式應(yīng)用程序。 <BR> 61499-2是工程任務(wù)支持(Engineering Task Support),進(jìn)一步描述創(chuàng)建和管理基于功能塊概念的工程系統(tǒng)所必須的概念(如資源和設(shè)備類型的功能描述方法),分布式工業(yè)過程測控系統(tǒng)的規(guī)范及軟件工具間信息交換方式等,為設(shè)計(jì)、實(shí)現(xiàn)和維護(hù)分布式工業(yè)過程測控系統(tǒng)提供工程指導(dǎo)。61499-2把可擴(kuò)展標(biāo)志語言XML定義為61499的的文件交換格式。這意味著61499功能塊設(shè)計(jì)可以通過因特網(wǎng)傳遞,并用下一代網(wǎng)頁瀏覽器直接在網(wǎng)頁上瀏覽。這必將給最終用戶帶來極大的利益。在IEC 61499-1中,規(guī)定了系統(tǒng)模型包括與被控過程(或機(jī)械)的接口,與通信網(wǎng)絡(luò)的接口,以及隱含的分布式應(yīng)用程序(見圖4)。</P><P> <br><A HREF="/editor/uploadfiles/learns01/200682218553346413.bmp" TARGET=_blank><IMG SRC="/editor/uploadfiles/learns01/200682218553346413.bmp" border=0 alt=按此在新窗口瀏覽圖片 onload="javascript:if(this.width>580)this.width=580"></A></P><P> 由圖可見,一組互連的設(shè)備(儀表,器件等)彼此之間通過一個(gè)或多個(gè)網(wǎng)絡(luò)通信,這些網(wǎng)絡(luò)也可以構(gòu)成多級(jí)遞階的方式進(jìn)行通信。應(yīng)用程序可常駐在一個(gè)設(shè)備中(如應(yīng)用程序C),也可常駐在多個(gè)設(shè)備中(如應(yīng)用程序A和B)。例如,一個(gè)應(yīng)用程序可以包括一個(gè)或多個(gè)控制回路,其中輸入采揮由一個(gè)設(shè)備執(zhí)行,控制運(yùn)算由口力一個(gè)設(shè)備執(zhí)行,輸出變換由第3個(gè)設(shè)備完成。 <BR> IEC 61499還給出應(yīng)用程序的模型它由若干個(gè)可能分散在多個(gè)設(shè)備中的功能塊互連而成。與集中系統(tǒng)不同的是,分散系統(tǒng)的程序執(zhí)行不再按掃描方式,或是以多任務(wù)多進(jìn)程的方式進(jìn)行,它要求在指定數(shù)據(jù)傳輸與控制算法之間的關(guān)系時(shí)具有明確的顯性機(jī)制。為了滿足這個(gè)要求,IEC 61499增加了一個(gè)顯性事件接口,以及執(zhí)行IEC 61131-3功能塊的控制算法的控制功能。 <BR> 完成執(zhí)行控制功能的一個(gè)重要手段便是IEC 61499中定義的執(zhí)行控制圖的表示方法。它其實(shí)是IEC 61131-3中順序功能圖的一種簡化的、事件驅(qū)動(dòng)版本。IEC 61499提供了服務(wù)接口功能塊(Service-interface function block,SIFB),SIFB作為指定所有分散于獨(dú)立硬件實(shí)體中操作系統(tǒng)資源之間的相互關(guān)系的顯性模型,提供了I/O事件與服務(wù)功能塊,以及服務(wù)原語(primitives)的順序之間一一對(duì)應(yīng)的映像。這個(gè)映像符合IEC/ISO開放統(tǒng)互連的體系結(jié)構(gòu)所定義的指定服務(wù)(specifying service)的標(biāo)準(zhǔn)方式。這樣,任意已完整定義的服務(wù)集合便可直接在SIFB中映像。 <BR> IEC 61499提供了一種消除硬件依賴性的自然途徑:用SIFB表達(dá)硬件接口,這樣硬件的依賴性便可限制在該SIFB的組態(tài)參數(shù)上。按照IEC 61499的模型,PLC可表示為其內(nèi)有多個(gè)資源的裝置,只不過用了互連的事件驅(qū)動(dòng)功能塊,來替代IEC 61131-3中配置模型內(nèi)相互間存在適當(dāng)連接的程序任務(wù)。如此構(gòu)建模型,便使所有與硬件的依賴性蕩然無存。 <BR> 可以把一個(gè)資源內(nèi)的功能塊當(dāng)作大規(guī)模分散的應(yīng)用程序的一個(gè)組成部分。由于一個(gè)IEC 61499的應(yīng)用程序是許多互連的功能塊的一種簡單組合,所以只要將這些功能塊賦予多個(gè)硬件裝置內(nèi)的不同資源,而不是把所有的控制功能全部限制在一個(gè)單一的集中裝置中,那么我們便可方便地實(shí)現(xiàn)了應(yīng)用程序的分散化。請(qǐng)記住,IEC 61499功能塊中的控制算法還是用IEC 61131-3的語言來編程的,所以IEC 61131-3依然發(fā)揮重要作用。唯一有所變化的是,在系統(tǒng)配置時(shí)我們采取了封裝的、可反復(fù)使用的和分散的機(jī)制?梢灶A(yù)計(jì),IEC 61499的軟件工具將促使IEC 61131-3的應(yīng)用無痛地融入分布式智能系統(tǒng)之中。 <BR> 結(jié)論 <BR> ① IEC 61131-3已獲得國際工控界的廣泛承認(rèn)和支持。 <BR> ② IEC 61131-3正在加速推廣應(yīng)用,不但成為PLC的編程標(biāo)準(zhǔn),而且成為DCS、PC控制、SCADA、運(yùn)動(dòng)控制等事實(shí)上的標(biāo)準(zhǔn)。 <BR> ③ 為適應(yīng)現(xiàn)場總線和工業(yè)以太網(wǎng)的高速發(fā)展,IEC 61131-3和IEC 61499結(jié)合,使分布式PLC有了真正實(shí)現(xiàn)的路徑。 </P><P> 參考文獻(xiàn) <BR> [1] R.W.Lewis Programming Industrial Control System usingIEC 1131-3 <BR> [2] 羅伯特•杉布,王蔚庭 IEC 61131-3國際標(biāo)準(zhǔn)簡介國內(nèi)外機(jī)電一體化技No. 1,2001,P55 <BR> [3] 彭瑜 IEC 61131-3的現(xiàn)狀和發(fā)展世界儀表和自動(dòng)化 No.2,p.14-18,2002年和No.3,p.56-58,2002年 <BR> [4] Karl-Heinz John等 IEC 61131-3:工業(yè)自動(dòng)化系統(tǒng)的程序編制中國機(jī)電一體化技術(shù)應(yīng)用協(xié)會(huì)出版,2002年 <BR> [5] Eelco van der Wal EC1131-3:a standard programming resource <BR> Industrial Computing July,1999 <BR> [6] 羅伯特•杉布,王蔚庭 IEC 61131-3軟件:一種先進(jìn)的工業(yè)控制編程系統(tǒng)國內(nèi)外機(jī)電一體化技術(shù) No. 2,2001,P53 <BR> [7]J.H.Christensen The Future of IEC 61131-3 Industrial Computing March,1999,P20 <BR> [8]Eelco van der Wal IEC 61131-3軟件:正在改變著工業(yè)控制領(lǐng)域的現(xiàn)狀、結(jié)構(gòu)根據(jù)、活動(dòng)和程序庫21世紀(jì)制造業(yè)自動(dòng)化高級(jí)技術(shù)論壇,2001年6月北京 <BR> [9] Items for IEC 61131-3,3rd Ed.<img align=absmiddle src=pic/url.gif border=0><a target=_blank href=http://www.holobloc.com/stds/iec/sc65bwg7tf3/comments/pt3e3.htm> www.holobloc.com/stds/iec/sc65bwg7tf3/comments/pt3e3.htm</a> <BR> [10] 楊磊,徐蓉萍 IEC 61499—工業(yè)控制技術(shù)發(fā)展的新階段計(jì)算機(jī)測量與控制 2002年10月,p.721-724<BR>
|
|
狀 態(tài):
離線
公司簡介
產(chǎn)品目錄
|
|
公司名稱:
|
德維森科技(深圳)有限公司
|
聯(lián) 系 人: |
Techwayson
|
電 話: |
0755-26038118
|
傳 真: |
0755-26038228 |
地 址: |
深圳市南山區(qū)高新區(qū)高新南七道德維森大廈七樓 |
郵 編: |
518057 |
主 頁: |
|
|
|
|
|