《使用IEC61499为控制系统建模》-第一章 概述
譯者的話
也許和IEC61499 標(biāo)準(zhǔn)還不夠普及有關(guān),關(guān)于IEC61499 標(biāo)準(zhǔn)的書籍并不多,Alois Zoitl & Robert Lewis 二位合著的這本書是網(wǎng)絡(luò)上論文中被引用最多的一本書。
?這本書全面解釋了IEC61499 標(biāo)準(zhǔn)中的概念,術(shù)語(yǔ)和模型。其中最重要的內(nèi)容包括數(shù)據(jù)類型,功能塊類型和網(wǎng)絡(luò),分布式系統(tǒng)模型,設(shè)備和資源模型。本書是一本比較完整地介紹IEC61499 標(biāo)準(zhǔn)的書籍。對(duì)全面了解IEC61499 標(biāo)準(zhǔn)有所幫助。本人還是決定將它的主要內(nèi)容全文翻譯出來(lái)。
大多數(shù)的技術(shù)標(biāo)準(zhǔn)都描述的非常嚴(yán)謹(jǐn),抽象和形式化。本書雖然并不是標(biāo)準(zhǔn)的文本,但是其內(nèi)容許多是對(duì)IEC61499標(biāo)準(zhǔn)中概念,術(shù)語(yǔ)的進(jìn)一步解釋。閱讀起來(lái)不那么容易,有一些概念在中文的語(yǔ)境里如果直譯,顯然有點(diǎn)生硬。比如在IEC61499 中,使用功能塊構(gòu)建的應(yīng)用“程序” 直接稱為“Application”,中則為“應(yīng)用”。在中文中“應(yīng)用”大多數(shù)場(chǎng)合是一個(gè)動(dòng)詞。除非是加定語(yǔ)的名詞,比如“使用功能塊構(gòu)建的應(yīng)用”。再比如,在IEC61499 中將應(yīng)用稱為是功能塊網(wǎng)絡(luò)。這又與通信網(wǎng)絡(luò)會(huì)混淆。
總之,在翻譯這本書時(shí),有許多難以琢磨的地方。為了尊重作者的原汁原味,我基本·上直譯。讀起來(lái)可能有點(diǎn)拗口。
另一方面,本人對(duì)IEC61499 標(biāo)準(zhǔn)中的許多概念理解不深,翻譯過(guò)程中難免存在許多的誤解。如果讀者能及時(shí)向我提出來(lái),將不勝感謝。
? 我并沒(méi)有出版中譯本的計(jì)劃,這些內(nèi)容只是用于內(nèi)部培訓(xùn)和與網(wǎng)絡(luò)讀者分享,不用于商業(yè)目的。
?
第一章 引言
?在引言這一章,我們綜述IEC61499 發(fā)展的背景和原因。我們將描述下面這些內(nèi)容:
?
制造業(yè)為了在不確定和迅速變化的全球市場(chǎng)中具有競(jìng)爭(zhēng)能力而奮斗。他們急切地需要提升制造系統(tǒng)的敏捷性。為了生產(chǎn)具有競(jìng)爭(zhēng)能力和創(chuàng)新的產(chǎn)品,公司需要能快速建立先進(jìn)的生產(chǎn)線。如此高度的自動(dòng)化需求涉及建立包括工業(yè)制造,制造系統(tǒng),商業(yè)物流的大型系統(tǒng)。這些新系統(tǒng)的一個(gè)關(guān)鍵特征就是由敏捷制造系統(tǒng)帶來(lái)的迅速地處理變化的能力。一個(gè)制造工廠需要能夠迅速切換產(chǎn)品類型和導(dǎo)入新工藝。以保持商業(yè)業(yè)務(wù)運(yùn)行。
對(duì)建立下一代分布式工業(yè)控制的架構(gòu)和新技術(shù)的興趣不斷增長(zhǎng)。這些系統(tǒng)的軟件有一組相互協(xié)作的組件構(gòu)成。而不是一個(gè)大型定制的集成軟件。
目前為止,工業(yè)控制系統(tǒng)分成了兩大陣營(yíng)。一類是基于傳統(tǒng)的分布式控制系統(tǒng)(DCS),另一類是基于可編程邏輯控制器(PLC)。現(xiàn)行的DCS?主要應(yīng)用于化工廠和煉油廠。它們是由少量的大型中央處理器構(gòu)成,提供監(jiān)控和數(shù)據(jù)采集。通過(guò)本地網(wǎng)絡(luò)和部署在工廠中的眾多控制器,儀表,傳感器和執(zhí)行部件相聯(lián)。(圖 1.1)。系統(tǒng)可以具有分立的儀表和超級(jí)工作站。超級(jí)工作站由本地控制器和一串儀表構(gòu)成。在一個(gè)DCS?中,許多的監(jiān)控來(lái)自于一個(gè)或者多個(gè)中心處理器。工廠中的儀表提供本地的閉環(huán)控制,例如PID 控制。
?
相比之下,在許多機(jī)器控制和生產(chǎn)過(guò)程控制中(特別是自動(dòng)化生產(chǎn)線中),控制系統(tǒng)是使用PLC來(lái)設(shè)計(jì)的(圖1.2)。在這些系統(tǒng)中,人機(jī)接口(HMI)一般由不同類型的面板,燈光和開(kāi)關(guān)實(shí)現(xiàn)。先進(jìn)的HMI 也能使用彩色顯示屏,專用鍵盤,或者觸控屏來(lái)操作。尤其是借助于導(dǎo)入手機(jī),平板電腦,這個(gè)領(lǐng)域的變化非常迅速。
大型PLC 系統(tǒng)通常由多個(gè)PLC ,它們通過(guò)一個(gè)或者多個(gè)特定的高速網(wǎng)絡(luò)相互通信。PLC 一般連接大量的輸入輸出(I/O) 信號(hào),由它們處理傳感器和執(zhí)行部件。在這種場(chǎng)合,分立儀表,比如溫度,壓力傳感器也連接到PLC 上。
使用這兩種設(shè)計(jì)方法,系統(tǒng)都傾向編寫一個(gè)大型單一的軟件包。這種軟件通常很難在新的應(yīng)用中重復(fù)使用,相互之間集成也非常困難。一個(gè)應(yīng)用程序的功能和數(shù)據(jù)不適用于其它軟件。哪怕是同一種程序設(shè)計(jì)語(yǔ)言編寫的軟件,并且運(yùn)行在同一個(gè)機(jī)器上,也是如此。大量的系統(tǒng)研發(fā)時(shí)間放在映射設(shè)備之間的信號(hào),以及為了使不同類型的儀表和控制器能夠通信而添加的驅(qū)動(dòng)。
?
DCS和PLC 兩種系統(tǒng)難以修改和擴(kuò)展,不能提供高度的靈活性。而這一點(diǎn)卻是先進(jìn),靈活的控制系統(tǒng)所期望的。
工業(yè)通信標(biāo)準(zhǔn)的出現(xiàn),比如現(xiàn)場(chǎng)總線Fieldbus。允許不同類型的儀表和控制設(shè)備能夠相互操作。DCS系統(tǒng)和PLC為主系統(tǒng)之間的區(qū)別開(kāi)始消失。 DCS的儀表和PLC 開(kāi)始提供同樣的功能。工業(yè)應(yīng)用在一些概念之下同樣可以在PLC 硬件上實(shí)現(xiàn)。比如SoftPLC ,也就是在通用PC機(jī)上實(shí)現(xiàn)PLC的功能。隨著工業(yè)加固型PC(IPC)提供了更高的可靠性,它們的使用越來(lái)越普及。我們看到使用更多PC為基礎(chǔ)的控制器的趨勢(shì)。到目前為主,傳統(tǒng)PLC只能使用由PLC 廠商提供的特定語(yǔ)言來(lái)編程。用戶需要對(duì)軟件具有更開(kāi)放的方法,導(dǎo)致出現(xiàn)了新的軟件控制器,它們可以使用多種不同的程序語(yǔ)言。這種新型的軟件控制器經(jīng)常被稱為可編程自動(dòng)化控制器(Programmable Automation Controller PAC)。
我們能夠預(yù)料,控制工業(yè),制造和商業(yè)的系統(tǒng)將開(kāi)始融合。例如,能夠?qū)⒁粋€(gè)運(yùn)行在總部的商業(yè)系統(tǒng)無(wú)縫連接在世界上任何地方的工廠中運(yùn)行的制造過(guò)程系統(tǒng),工業(yè)控制系統(tǒng),甚至是控制器。
圖1.3 描述了一個(gè)先進(jìn)分布式功能系統(tǒng)的組成部分。在這樣的系統(tǒng)中,每個(gè)設(shè)備都連接到工業(yè)網(wǎng)絡(luò),并能夠提供一部分控制功能。智能設(shè)備,比如泵,閥門或者傳感器將具有內(nèi)置的控制功能,通過(guò)軟件和更智能的設(shè)備連接它們,比如HMI 面板。MHI 面板上的一個(gè)滑桿能夠以軟件化的方式直接和PID 控制器的設(shè)置點(diǎn)連接起來(lái)。控制泵的速度。
為了取得這樣高水平的集成,仍需要建立靈活的系統(tǒng)。當(dāng)工業(yè)和商業(yè)需要改變的時(shí)候,它們能夠再工程化(re-engineered)。這需要一種全新的軟件設(shè)計(jì)方法-基于分布式對(duì)象交互(interaction? of distributed objects)的新技術(shù).有一些先進(jìn)的軟件技術(shù)已經(jīng)影響到這個(gè)領(lǐng)域。首先就是中間件技術(shù),比如來(lái)自于對(duì)象管理群(OMG)的CORBA,或者DDS。進(jìn)一步的解耦是通過(guò)導(dǎo)入面向服務(wù)架構(gòu)(SOA) 取得的。在SOA 架構(gòu)中,組件提供了服務(wù)。這些服務(wù)能夠靈活地相互組合。在這些系統(tǒng)的頂層,出現(xiàn)了若干協(xié)同技術(shù),比如 復(fù)雜事件系統(tǒng),或者企業(yè)服務(wù)總線的概念。
?
在工業(yè)過(guò)程測(cè)量和控制系統(tǒng)的領(lǐng)域,來(lái)自于OPC 基金會(huì)的技術(shù)允許遠(yuǎn)程工業(yè)控制器,或者制造經(jīng)理的PC 上能夠不管數(shù)據(jù)在什么地方。可以無(wú)縫訪問(wèn)它們。可以考慮使用使用以太網(wǎng),同層通信和SOA 的互聯(lián)網(wǎng)技術(shù)可以用于制造系統(tǒng)。而使用了新的OPC? UA 中的建議,這種無(wú)縫互操作性也能進(jìn)入小型工業(yè)設(shè)備(比如傳感器,或者執(zhí)行部件)
工業(yè)社團(tuán)歷來(lái)重視軟件組件的互聯(lián)。比如以功能塊的形式對(duì)最終用戶而言具有主要的優(yōu)點(diǎn)。這些優(yōu)點(diǎn)包括通過(guò)重復(fù)使用標(biāo)準(zhǔn)解決方案,改善軟件生產(chǎn)力。來(lái)自不同廠商的軟件和設(shè)備實(shí)現(xiàn)即插即用,改善設(shè)計(jì)的靈活性。到目前為止,新標(biāo)準(zhǔn)都能夠?qū)崿F(xiàn)分布式組件的“技術(shù)集成(technical integration)”,不過(guò),下一個(gè)主要的跨越將是“語(yǔ)義集成(semantic integration)”(也就是定義數(shù)據(jù)后面的含義)。我們能夠?qū)崿F(xiàn)遠(yuǎn)程工業(yè)控制器的軟件與運(yùn)行算法的PC之間交換數(shù)據(jù),不過(guò)這種連接是有意義的么?
1.1 IEC61499功能塊標(biāo)準(zhǔn)
國(guó)際電工委員會(huì)已經(jīng)開(kāi)發(fā)了一個(gè)專門的標(biāo)準(zhǔn)IEC61499 ,它定義了如何將功能塊(function block)用于分布式工業(yè)過(guò)程,測(cè)量和控制系統(tǒng)。這項(xiàng)工作有助于解決語(yǔ)義集成的問(wèn)題。
在工業(yè)系統(tǒng)中,功能塊建立了定義魯棒性,可重用軟件組件的概念。一個(gè)功能塊能夠提供解決小問(wèn)題的軟件解決方法,比如控制閥門。也可以解決一個(gè)工廠的主要部件,例如完整的生產(chǎn)線。功能塊允許工業(yè)算法封裝在一種可理解的形式中,使非軟件專家的人士可以使用。每個(gè)功能塊都有數(shù)據(jù)輸入,供算法執(zhí)行時(shí)讀取。算法的結(jié)果寫入功能塊的輸出。完整的應(yīng)用由功能塊輸入輸出互聯(lián)的功能塊網(wǎng)絡(luò)組成。
IEC61499 標(biāo)準(zhǔn)是建立在PLC 語(yǔ)言標(biāo)準(zhǔn)IEC61131-3 的功能塊概念之上的。IEC61131-3 是與現(xiàn)場(chǎng)總線(Fieldbus )標(biāo)準(zhǔn)化工作一起發(fā)展起來(lái)的。現(xiàn)場(chǎng)總線(Fieldbus )通信協(xié)議棧的應(yīng)用層提供了軟件接口,允許遠(yuǎn)程功能塊在在現(xiàn)場(chǎng)總線上協(xié)同操作。然而,IEC61499 開(kāi)發(fā)了一個(gè)通用的標(biāo)準(zhǔn),適用于工業(yè)的許多需要軟件組件的場(chǎng)合。例如建筑管理系統(tǒng)。這些軟件組件具有功能塊類似的行為方式。
?? IEC 61499 以一種獨(dú)立于實(shí)現(xiàn)的形式定義了描述功能塊的模型和方法。系統(tǒng)集成者能使用這種方法構(gòu)建分布式控制系統(tǒng)。它允許一個(gè)系統(tǒng)定義成為邏輯連接的功能塊網(wǎng)絡(luò)。這些功能塊運(yùn)行在不同的處理資源上。
? ?圖1.4 描述了IEC61499 用于系統(tǒng)設(shè)計(jì)生命周期的方法。控制系統(tǒng)的設(shè)計(jì)通常從分析物理工廠圖和控制系統(tǒng)需求文檔開(kāi)始,然后定義功能區(qū)域和它們與工廠的交互。最后階段將功能映射到物理資源,例如PLC ,儀表和控制器。
演示IEC61499 使用的最好方式是考慮在設(shè)計(jì)分布式控制中的下列階段:
-功能設(shè)計(jì)階段 。在這個(gè)階段,過(guò)程工程師分析物理工廠設(shè)計(jì),例如使用管路和儀表圖(Piping and Instrumentation Diagrams P&ID ),建立頂層的功能需求。這可以表示成一系列塊。這些塊勾勒出主要的軟件組件以及它們的主要相互連接。在這個(gè)階段,軟件模塊的物理分布并不考慮。在許多場(chǎng)合下,這些圖顯示工廠或者機(jī)械的物理設(shè)計(jì)。同時(shí)也顯示活動(dòng)設(shè)備的位置。比如閥門,泵,儀表點(diǎn),壓力,溫度傳感器位置
-功能分布階段 。在分布式系統(tǒng)中,進(jìn)一步的設(shè)計(jì)階段需要定義控制功能分布到過(guò)程資源。
IEC61499 標(biāo)準(zhǔn)提供了定義分布式功能到相互連接功能塊的相關(guān)模型和概念。系統(tǒng)工程師完成將軟件需求映射到功能塊的細(xì)節(jié)設(shè)計(jì)。這些功能塊分布在各種過(guò)程資源上。許多場(chǎng)合下,設(shè)備的功能塊是預(yù)先開(kāi)發(fā)好的。例如,像智能閥門這樣的智能設(shè)備以功能塊的形式提供軟件包。
每個(gè)功能塊有自己特定的軟件設(shè)計(jì)生命周期。有時(shí)候需要為一個(gè)應(yīng)用特別地設(shè)計(jì)功能塊。在另一些場(chǎng)合,可以使用儀表中已有的功能塊。
我們?cè)诤竺鎸?huì)看到,使用IEC61499 定義的功能塊只是一個(gè)分布式系統(tǒng)圖中的子集。需要其它的設(shè)計(jì)圖給出所有的系統(tǒng)設(shè)計(jì)。IEC61499 是開(kāi)發(fā)建模一個(gè)分布式控制系統(tǒng)的第一步。
隨著使用組件為基礎(chǔ)的軟件趨勢(shì)的進(jìn)一步發(fā)展,工業(yè)控制器和儀表將提供功能塊作為設(shè)備固件的一部分。開(kāi)發(fā)者也提供功能塊庫(kù),系統(tǒng)工程師可以選擇使用其中的功能塊。系統(tǒng)設(shè)計(jì)變成了軟件組件選擇,配置的過(guò)程。這就好像許多的硬件設(shè)計(jì)現(xiàn)在主要是選擇集成電路和互聯(lián)的過(guò)程。
?IEC 61499 以標(biāo)準(zhǔn)的形式定義封裝了軟件功能和算法的功能塊。這允許工具軟件和其它標(biāo)準(zhǔn)使用同樣的概念和方法學(xué)來(lái)處理功能塊 .IEC61499 同樣定義了一組通信功能塊。比如Client/Server 功能塊。用來(lái)標(biāo)準(zhǔn)化不同物理處理資源上的功能塊相互交換數(shù)據(jù)。而服務(wù)功能塊提供與處理資源架構(gòu)的接口。
圖1.5 顯示了三個(gè)相互連接的功能塊。分別表示了壓力變送器,PID控制功能塊和泵。它們之間使用了IE61499 概念互聯(lián)。注意,在功能塊之間有數(shù)據(jù)和事件流。我們?cè)诤竺鎸?huì)看到,IEC61499 方法論允許數(shù)據(jù)和相關(guān)的事件緊密地耦合在一起。也就是說(shuō),所有的事件和數(shù)據(jù)按規(guī)則地處理,或者異步地處理。
?
?
圖1-6 展示了在過(guò)去的50年間工業(yè)控制技術(shù)的發(fā)展趨勢(shì)。自從1950年以來(lái),得益于硬件和軟件的穩(wěn)步成長(zhǎng),控制系統(tǒng)的功能也越來(lái)越強(qiáng)大。控制系統(tǒng)使用微處理器數(shù)字化后,增加了對(duì)標(biāo)準(zhǔn)化的需求,減少不必要的軟件多樣性和集成的問(wèn)題。
IEC61131-3 針對(duì)了于PLC語(yǔ)言標(biāo)準(zhǔn)化。PLC 是單一處理器和少數(shù)緊耦合的多處理器結(jié)構(gòu)的設(shè)備,它們的配置比較小,當(dāng)轉(zhuǎn)向大型分布式功能時(shí),需要像IEC61499這樣標(biāo)準(zhǔn)進(jìn)一步地定義和分布式部署功能的方法。同時(shí)也需要系統(tǒng)構(gòu)建和集成工具。
例如,在用于運(yùn)行設(shè)計(jì),配置和管理分布式系統(tǒng)的工具軟件集成套件中。定義系統(tǒng)的設(shè)計(jì)工具和程序設(shè)計(jì)工具集成在了一起,同時(shí)配置設(shè)備,定義HMI 屏幕,配置工業(yè)網(wǎng)絡(luò)的工具也集成在一起。在這樣的集成套件中,IEC61499 將定義系統(tǒng)模型,它不僅有助于分布式系統(tǒng)的功能設(shè)計(jì),而且有助于集成進(jìn)行數(shù)據(jù)和信息模型定義的系統(tǒng)工具。
1.2開(kāi)發(fā)超越IEC61131-3 概念的功能塊
為什么不能將IEC61131-3 的功能塊概念用于分布式系統(tǒng)?這是由于IEC61131-3 PLC 語(yǔ)言標(biāo)準(zhǔn)引入的概念有許多限制。使用IEC61131-3 功能塊圖(FBD)圖形語(yǔ)言,通過(guò)功能塊之間的輸入輸出變量連接,形成數(shù)據(jù)塊簡(jiǎn)單的數(shù)據(jù)流鏈接。在圖1.7a 中,每個(gè)功能塊提供單獨(dú)的一個(gè)內(nèi)部算法。當(dāng)該功能塊調(diào)用時(shí)它被執(zhí)行。功能塊的執(zhí)行順序是依賴于其它的功能塊,通常是從左到右地運(yùn)行,因?yàn)楣δ軌K右邊的輸入依賴于左邊功能塊的輸出。
然而,如同圖1.7b中引入了反饋的路徑,執(zhí)行的順序就不能從圖上確定。因?yàn)閮蓚€(gè)功能塊的執(zhí)行都依賴其它功能塊的輸出值。在復(fù)雜的網(wǎng)絡(luò)中,程序系統(tǒng)很難確定正確的執(zhí)行循序。為了克服這個(gè)問(wèn)題,許多IEC61131-3程序設(shè)計(jì)系統(tǒng)提供了額外的機(jī)制來(lái)定義功能塊執(zhí)行的順序。例如,用戶可以看一個(gè)功能塊列表,手動(dòng)地賦予執(zhí)行順序。不幸的是這種機(jī)制超出了IEC6113-3標(biāo)準(zhǔn)的范圍。從而導(dǎo)致了功能塊執(zhí)行順序的方法不清晰,和難以在不同系統(tǒng)中移植。
在IEC3113-3 中有一個(gè)特性能夠粗略地提供一個(gè)通過(guò)功能塊鏈傳遞執(zhí)行流的方法,這就是使用EN輸入和ENO 輸出信號(hào)(圖1.8)
?
?
EN和ENO 在梯形圖中用來(lái)為功能塊傳遞“電源流”(Power Flow),然而,我們現(xiàn)在認(rèn)識(shí)到 EN和ENO不能提供在復(fù)制的功能塊網(wǎng)絡(luò)中靈活性。有效的EN和ENO 信號(hào)能當(dāng)作功能塊之間傳遞事件的手段。有了EN 信號(hào),表示輸入數(shù)據(jù)就緒,功能塊可以執(zhí)行。而ENO 信號(hào)表示功能塊已經(jīng)執(zhí)行了,輸出數(shù)據(jù)為下一個(gè)功能塊準(zhǔn)備。我們將會(huì)看到,事件傳遞的想法在IEC61499 中得到了擴(kuò)展。
IEC6113-3 的焦點(diǎn)是定義一個(gè)或幾個(gè)緊耦合的處理資源上運(yùn)行的軟件模型和PLC 語(yǔ)言。所以,從圖1.9 看出,IEC6113-3 軟件模型也的確考慮了多資源的配置,這個(gè)標(biāo)準(zhǔn)提供了兩種機(jī)制來(lái)傳遞資源之間的數(shù)據(jù)和控制信號(hào)。這就是全局變量和通信功能塊。
?
1.2.1 全局變量
在配置層面使用全局變量,能夠在不同資源上的程序和功能塊之間傳遞數(shù)據(jù)和控制信號(hào)。然而,已經(jīng)明顯地了解,使用全局變量是相當(dāng)差的,在不同處理器上運(yùn)行的資源之間傳遞數(shù)據(jù)是不安全的機(jī)制。不能夠清晰地標(biāo)識(shí)哪里全局變量被更新,哪里被使用。在IEC61131-3 的圖形中沒(méi)有定義全局變量和程序和功能塊內(nèi)部引用它們的變量之間的鏈接。另外,傳遞全局變量還有一些危險(xiǎn)的問(wèn)題存在。由全局變量傳遞的信號(hào)的時(shí)鐘和同步很難加以定義。 在IEC61131-3 中,也沒(méi)有定義如何處理共享全局變量初始化和更新的機(jī)制。
1.2.2 通信功能塊
PLC標(biāo)準(zhǔn)的第五部分,IEC61131-5 是關(guān)于如何使用IEC61131-3 軟件模型為PLC 程序設(shè)計(jì)提供的通信服務(wù)。IEC61131-5 定義了一系列用于PLC之間交換數(shù)據(jù)的功能塊。它們包括將PLC 作為”服務(wù)器”的功能塊,也就是說(shuō),PLC 支持響應(yīng)外部的服務(wù)請(qǐng)求。也包括支持客戶端:Client “行為的功能塊。支持PLC 請(qǐng)求作為服務(wù)器的其它PLC 和系統(tǒng)
IEC 61131-3 允許在配置中有一個(gè)外部可以訪問(wèn)變量子集。外部PLC或者其它非PLC 設(shè)備可以使用通信功能塊通過(guò)外部通信接口訪問(wèn)這些稱為ACCESS的變量。。
我們已經(jīng)看到,IEC61131-3和制造消息標(biāo)準(zhǔn)IEC61131-5 中提供了一系列軟件機(jī)制來(lái)實(shí)現(xiàn)PLC 之間的通信。 對(duì)于少量PLC 的系統(tǒng)而言,這些通信機(jī)制是比較合適的。 IEC發(fā)展功能塊的工作組非常清楚,IEC61131的通信模型具有一系列的限制。比如全局變量和通信功能塊的概念。也沒(méi)有確切的方法來(lái)定義分布式功能塊的連接。
需要一個(gè)清晰的通信模型,它們不僅用于PLC和PLC 之間的通信,而且用于分布在工業(yè)網(wǎng)絡(luò)中的大小分布式設(shè)備之間的通信。新的功能塊模型應(yīng)該是可擴(kuò)展的,也就是說(shuō)它能夠適合控制器,PLC和控制器,也適合小型現(xiàn)場(chǎng)總線設(shè)備,比如智能閥門和傳感器。事實(shí)上,可以想象一個(gè)功能塊模型涵蓋所有類型的設(shè)備和控制器。
小結(jié)一下,IEC61131-3 模型對(duì)于多資源分布系統(tǒng)而言,具有下列不足之處:
IEC61499 的發(fā)展
當(dāng)國(guó)際電工委員會(huì)在1990年第一次表示需要為分布式工業(yè)過(guò)程,測(cè)量和控制系統(tǒng)提供一個(gè)新的功能塊標(biāo)準(zhǔn)。它就認(rèn)識(shí)到這些功能塊因該是一個(gè)通用的概念,適合廣泛的標(biāo)準(zhǔn)。例如,功能塊的概念能夠用于PLC ,智能設(shè)備,智能建筑管理和現(xiàn)場(chǎng)總線協(xié)議Fieldbus 協(xié)議中。那時(shí)候已經(jīng)有一個(gè)標(biāo)準(zhǔn)使用功能塊的概念。而且正在開(kāi)發(fā)之中,它就是IEC6113-3 。IEC6113-3主要關(guān)注PLC 的編程語(yǔ)言。為了發(fā)揮已有know-how的作用,IEC 技術(shù)委員會(huì)TC65 將IEC61499 標(biāo)準(zhǔn)工作賦予同一個(gè)工作組(WG6)。IEC61499 工作組的成員來(lái)自于美國(guó),日本,英國(guó)和許多歐洲國(guó)家。它們代表了工業(yè)控制的供應(yīng)商和用戶。
IEC61499 是一個(gè)多部分(multi-part)的標(biāo)準(zhǔn)。IEC 標(biāo)注啊過(guò)程管理分成四個(gè)主要階段(i) 標(biāo)準(zhǔn)開(kāi)發(fā)階段。(ii)公開(kāi)可用規(guī)范(Publicly Available Specification PAS)階段 (iii)最后審查和發(fā)布階段(iv) 維護(hù)和再發(fā)布階段。最后階段每五年進(jìn)行一次。PAS 是IEC 早期發(fā)布標(biāo)準(zhǔn)的推薦概念。PAS 能夠在還沒(méi)有完成所有國(guó)際標(biāo)準(zhǔn)驗(yàn)證過(guò)程之前發(fā)布。PAS 可用看作是一個(gè)試行標(biāo)準(zhǔn),供早期產(chǎn)品和服務(wù)開(kāi)發(fā)。
?? 對(duì)于IEC61499 第一部分,PAS 部分開(kāi)始于2000年,最后發(fā)布所有部分,形成國(guó)際標(biāo)準(zhǔn)是在2005年。在PAS階段,公開(kāi)采集反饋意見(jiàn),做了若干修改和改善。形成了早期的IEC61499.在2010年,第一次完成第一次維護(hù)。若干歧義的地方做了修改。結(jié)果產(chǎn)生了IEC61499 第二版在2012年發(fā)表。第二版是本書的基礎(chǔ)。由三個(gè)部分1 ,2和4 組成。(第三部分在2008年去除了)
第一部分(part1 ) 縱觀了面向功能塊的分布式系統(tǒng)的設(shè)計(jì)和建模,主要包括下面幾個(gè)主題
1 一般需求,包括引言,范圍和主要引用(也就是其它標(biāo)準(zhǔn)),定義和參考模型
2 說(shuō)明功能塊類型的規(guī)則和功能塊類型實(shí)例的行為規(guī)則。
?
3 在配置分布式工業(yè)過(guò)程測(cè)量和控制系統(tǒng)(IPMCS)中使用功能塊的規(guī)則
4 為滿足IPMCS 通信需求中使用功能塊的規(guī)則
5 在管理IPMCS中應(yīng)用,資源,和設(shè)備中使用功能塊的規(guī)則
本書主要關(guān)注IEC61499 Part1 涉及架構(gòu)和模型的部分。
第二部分part 2
?IEC61499 Part2 主要涉及規(guī)范化信息模型的定義,賦能CASE 工具,基于功能塊管理和交換系統(tǒng)設(shè)計(jì)的實(shí)用工具。Part 2 的主要關(guān)注點(diǎn)是“工程任務(wù)支持”,它涉及在Part1 的架構(gòu)和概念構(gòu)建的IPMCS系統(tǒng)的設(shè)計(jì),實(shí)現(xiàn),運(yùn)行和維護(hù)的工程任務(wù)指南。
一開(kāi)始打算使用生產(chǎn)數(shù)據(jù)交換標(biāo)準(zhǔn)STEP(ISO10303),作為不同的設(shè)計(jì)工作站之間功能塊設(shè)計(jì)的保存和交換的手段。STEP 是CAD 工作站用于存儲(chǔ)和交換電子電路設(shè)計(jì)的標(biāo)準(zhǔn)。很明顯,電子電路原理圖和基于功能塊設(shè)計(jì)的控制系統(tǒng)非常相似。
然而在IEC61499 Part 2中,最后采用了XML語(yǔ)言來(lái)提供保存和交換功能塊定義的方法。者提供了能夠在互聯(lián)網(wǎng)上傳輸,使用瀏覽器閱讀的可能性。使用XML 能使用各種屬性的方式來(lái)保存設(shè)計(jì),包括版本信息和圖形層的細(xì)節(jié)-這些將在2.6節(jié)進(jìn)一步地討論。
第四部分(Part4) 主要涉及定義如何兼容IEC61499 的重要主題,以及廠商如何具體規(guī)范說(shuō)明它們。在非常早期的發(fā)展階段,標(biāo)準(zhǔn)就意識(shí)到兼容性是非常重要的,特別是一個(gè)分布式系統(tǒng)中,設(shè)備來(lái)自于不同的廠商。在另一方面,IEC61499 是一個(gè)通用的標(biāo)準(zhǔn),不涉及分布式IPMCS 實(shí)現(xiàn)的細(xì)節(jié)。為了遵循這一點(diǎn),IEC61499 的Part4 定義了構(gòu)建和開(kāi)發(fā)兼容性文件的規(guī)則。一個(gè)遵循Part4 定義額兼容文件需要規(guī)定IEC61499 Part1和Part2 特性的特殊實(shí)現(xiàn),考慮分布式IPMCS 的重要屬性。
互操作性(Interoperability)運(yùn)行來(lái)自不同廠商的設(shè)備能夠通過(guò)通信系統(tǒng)交互
可移植性(Portability)定義IEC61499 項(xiàng)(也就是功能塊,應(yīng)用,系統(tǒng)配置)的交換格式
可配置性(Configurability)允許來(lái)自不同廠商的軟件工具相互配置設(shè)備
?
IEC 的初衷是新的功能塊標(biāo)準(zhǔn)將成為一個(gè)通用的標(biāo)準(zhǔn),它能夠用來(lái)作為整個(gè)工業(yè)過(guò)程測(cè)量和控制領(lǐng)域中各種標(biāo)準(zhǔn)的基礎(chǔ)。為了這個(gè)原因,出于它通用的特性,IEC61499 是一個(gè)相當(dāng)學(xué)術(shù)性的標(biāo)準(zhǔn)。也被定義為” 應(yīng)用領(lǐng)域中性“,也就是說(shuō),它不包含任何一個(gè)特定領(lǐng)域的特殊特性。其它標(biāo)準(zhǔn)可以使用IEC61499 的概念來(lái)建立,并且添加它們自身領(lǐng)域的特殊擴(kuò)展。
一個(gè)好例子是,由過(guò)程控制功能塊工作組在IEC61499 功能塊模型上建立的一個(gè)新標(biāo)準(zhǔn)。這個(gè)小組的主要目標(biāo)是定義在過(guò)程工業(yè)中使用的功能塊。不過(guò),它們采取可來(lái)自IEC 61499 中通用功能塊的概念作為它們工作的基礎(chǔ)。通過(guò)將通用模型應(yīng)用到實(shí)際工業(yè)過(guò)程控制應(yīng)用中,過(guò)程控制小組向IEC61499 工作小組提供了有用的反饋。在許多場(chǎng)合,他們?cè)诠δ軌K模型中有的缺陷幫助IEC61499 作改善。
更進(jìn)一步地,在標(biāo)準(zhǔn)的評(píng)估階段,IEC61499 定義的功能塊模型具有很大潛力來(lái)改善系統(tǒng)設(shè)計(jì)。在過(guò)去的幾年中,實(shí)現(xiàn)IEC61499 的若干平臺(tái)可供使用了。這些平臺(tái)允許使用IEC61499 模型直接開(kāi)發(fā)和操作分布式IPMCS。
1.4為什么使用功能塊
對(duì)于許多軟件工程師而言,功能塊的想法看起來(lái)有些別扭-將軟件當(dāng)作了硬件塊。
在面向?qū)ο蟪绦蛟O(shè)計(jì)中的對(duì)象在某種程度上類似于功能塊。對(duì)象的概念之所以成功,是因?yàn)樗鼈兡軌驗(yàn)樵谡鎸?shí)世界的概念和項(xiàng)目建立行為建模。使用對(duì)象的優(yōu)點(diǎn)總結(jié)如下:
對(duì)象反映了真實(shí)世界
當(dāng)設(shè)計(jì)一個(gè)應(yīng)用程序的時(shí)候,用一個(gè)應(yīng)用程序的對(duì)象來(lái)表現(xiàn)真實(shí)世界的項(xiàng)目更加自然和直觀,比如文檔,雇員和產(chǎn)品。
對(duì)象是穩(wěn)定的
通常來(lái)講,對(duì)象是經(jīng)過(guò)證實(shí)的軟件單元,它們不會(huì)大幅度改變。在許多場(chǎng)合,開(kāi)發(fā)者在廣泛的應(yīng)用中使用相同的對(duì)象類。例如,當(dāng)一個(gè)建立一個(gè)諸如“供應(yīng)商”對(duì)象,它表現(xiàn)了一個(gè)項(xiàng)目的所有行為和特性。它可以廣泛應(yīng)用到不同的商業(yè)應(yīng)用程序中處理供應(yīng)商。供應(yīng)商對(duì)象通常具有名稱,地址,產(chǎn)品范圍,貿(mào)易條款等等。并且具有獲取和更新這些信息的方法。
對(duì)象降低了復(fù)雜性
開(kāi)發(fā)者可以在不了解對(duì)象內(nèi)部工作的情況下使用一個(gè)對(duì)象。能夠通過(guò)建立和連接對(duì)象開(kāi)發(fā)一個(gè)應(yīng)用程序-通常不需要了解對(duì)象的內(nèi)部。
對(duì)象能夠重復(fù)使用
???? 一旦一個(gè)對(duì)象研發(fā)和測(cè)試完成,它將稱為開(kāi)發(fā)者清單中的一部分。對(duì)象可以在一個(gè)庫(kù)中發(fā)布,本地或者全球的開(kāi)發(fā)者都能夠使用它們。
盡管OO 軟件開(kāi)發(fā)大大地改變了軟件開(kāi)發(fā)的世界,不過(guò)它不能保證軟件的提供可重復(fù)軟件。對(duì)象往往是為它們的特定使用場(chǎng)合過(guò)度定制化設(shè)計(jì)的,限制了它們的可應(yīng)用性。
為了改善這種情形,Szyperski引入了軟件組件的陌生概念。他定義軟件組件類似于對(duì)象:“軟件組件是一個(gè)完全指定的接口和上下文獨(dú)立的組合(uint of composition 單元,軟件組件獨(dú)立地部署,應(yīng)滿足被第三方組合使用的條件。軟件組件具有下列特性:
獨(dú)立部署的單元
這個(gè)特性需要組件自包含,并能從環(huán)境和其它組件之間清晰地分離出來(lái)。一個(gè)組件永遠(yuǎn)不能部分地部署。
第三方復(fù)合的單元
第三方在沒(méi)有組件內(nèi)部結(jié)構(gòu)信息的情況下,能夠和其它組件組合在一起使用它們.
通過(guò)清晰接口交互的單元
為了實(shí)現(xiàn)前兩個(gè)特性,需要通過(guò)清晰定義的接口與組件交互。純靜態(tài)接口定義是不夠的。為了正確地使用它們,需要?jiǎng)討B(tài)的接口定義。更進(jìn)一步,必須沒(méi)有隱藏的接口(例如,全局變量)。
作為面向組件的軟件設(shè)計(jì),在功能塊的世界,系統(tǒng)設(shè)計(jì)者主要集中于選擇標(biāo)準(zhǔn),證明的包覆功能。并以盡可能最快,和確定的方式將它們鏈接在一起。使用功能塊非常接近系統(tǒng)設(shè)計(jì)師的思維模式。他們熟悉以不同的方式連接物理設(shè)備,提供特定的系統(tǒng)解決方案。功能塊也分享軟件組件的特性。為系統(tǒng)開(kāi)發(fā)者和最終用戶帶來(lái)了明顯的優(yōu)勢(shì)
軟件開(kāi)發(fā)的當(dāng)前發(fā)展趨勢(shì)是在更高的層面使用抽象形式化模型來(lái)描述軟件。使用域定義規(guī)范模型方法,某些軟件系統(tǒng)能夠通過(guò)域?qū)<腋哔|(zhì)量地輕松開(kāi)發(fā)出來(lái)。在下面的章節(jié)可以看到,IEC61499 提供了軟件建模有效工具,也提供了復(fù)雜的建模語(yǔ)言來(lái)定義分布式控制系統(tǒng)。特別是IPMCS 領(lǐng)域。
1.5 系統(tǒng)設(shè)計(jì)視圖
為任何一個(gè)大型項(xiàng)目開(kāi)發(fā)軟件都是非常復(fù)雜的。特別是在分布式控制的許多場(chǎng)合中,軟件在不同的資源上運(yùn)行。設(shè)計(jì)問(wèn)題是蠻嚇人的。很明顯,需要一些圖形化的設(shè)計(jì)視圖來(lái)表達(dá)和分析設(shè)計(jì)的各個(gè)層面。有些視圖表示設(shè)計(jì)的層次,有個(gè)表示系統(tǒng),或者軟件的物理結(jié)構(gòu)。
不管人們?nèi)绾蔚厝L試,,幾乎沒(méi)法使用一種設(shè)計(jì)方法學(xué)來(lái)涵蓋系統(tǒng)設(shè)計(jì)的所有方面。 許多設(shè)計(jì)內(nèi)容不能用一種圖形化表達(dá)方式來(lái)表達(dá),比如
什么是頂層軟件結(jié)構(gòu)
系統(tǒng)為最終用戶提供什么功能
如何在系統(tǒng)中分布功能
系統(tǒng)部件如何連接
如何管理軟件庫(kù)和標(biāo)準(zhǔn)組件
系統(tǒng)如何響應(yīng)某些敏感事件
? 許多系統(tǒng)設(shè)計(jì)問(wèn)題的都是采用過(guò)少的設(shè)計(jì)方法來(lái)表達(dá)系統(tǒng)設(shè)計(jì)的所有方面而導(dǎo)致的。一種特別的設(shè)計(jì)視圖能展示系統(tǒng)中的軟件的邏輯連接,但是他無(wú)法展示響應(yīng)系統(tǒng)事件的系統(tǒng)的行為。
事實(shí)上,大多數(shù)軟件設(shè)計(jì)需要至少四種設(shè)計(jì)視圖和一組場(chǎng)景(scenarios)。這構(gòu)成了所謂4+1 視圖模型。這是由Kruchten 提出的。
?
1.5.1 邏輯視圖
這個(gè)設(shè)計(jì)視圖用來(lái)描述系統(tǒng)的功能需求。它表達(dá)系統(tǒng)用戶需要的軟件功能。在一個(gè)分布式系統(tǒng)設(shè)計(jì)中。他會(huì)表示主要的軟件功能塊和他們之間的主要接口。系統(tǒng)功能的分布和執(zhí)行都沒(méi)有涉及。
?? IEC61499 應(yīng)用的方法學(xué)和功能模塊自身能夠用來(lái)定義某些邏輯設(shè)計(jì)視圖。
1.5.2 過(guò)程視圖
過(guò)程設(shè)計(jì)視圖涉及許多系統(tǒng)的非功能性需求。這些包括性能,系統(tǒng)分布以及并發(fā)性。Kruchten 定義過(guò)程視圖是描述“通信程序的邏輯網(wǎng)絡(luò),他們分布在一組物理資源中。
這幾乎完全相當(dāng)于IEC61499 的功能塊標(biāo)準(zhǔn)。它提供了一種架構(gòu),將分布式系統(tǒng)實(shí)現(xiàn)描述成為互聯(lián)的功能塊網(wǎng)絡(luò)
1.5.3 開(kāi)發(fā)視圖
開(kāi)發(fā)視圖描述如何來(lái)組織構(gòu)建大型系統(tǒng)的軟件。構(gòu)建一個(gè)大型的分布式控制系統(tǒng)涉及各種各樣的軟件庫(kù)和軟件模塊。開(kāi)發(fā)視圖顯示軟件組件(比如功能塊)之間的關(guān)系。包括 重使用(reuse)的便捷性,組件的大小,版本的兼容性等內(nèi)容。作為例子,考慮將一個(gè)功能塊用于傳送帶系統(tǒng),我們將表明支持它的設(shè)備類型,
?? 當(dāng)前,沒(méi)有IEC 標(biāo)準(zhǔn)方法學(xué)來(lái)處理分布控制系統(tǒng)。借助IEC61499 中適配模型提供的接口的概念,只是有限的提供需要的交互點(diǎn)的定義。
1.5.4 物理視圖
在一個(gè)分布式控制系統(tǒng)中,物理視圖是好理解的,它描繪了系統(tǒng)中的物理設(shè)備和控制器。連接他們的各種通信鏈路,物理視圖通常考慮系統(tǒng)的物理配置。顯示設(shè)備的定位和總線和通信鏈路的細(xì)節(jié)
這部分對(duì)應(yīng)于IEC61499 的系統(tǒng)模型,它提供了為可用的設(shè)備,通信鏈路和設(shè)備互聯(lián)建模。沒(méi)有考慮在工廠的物理放置和于過(guò)程的接口
1.5.5? 場(chǎng)景(Scenarios)
完成系統(tǒng)設(shè)計(jì)的最后一個(gè),也是重要的設(shè)計(jì)模型Kruchten 稱為”場(chǎng)景“ 。場(chǎng)景描述了軟件單元之間的相互交互。,提供了一個(gè)系統(tǒng)最重要的,關(guān)鍵的功能。
1.6 IEC61499 未來(lái)的超越
人們?cè)u(píng)價(jià)IEC61499 提出的功能塊模型沒(méi)有采納IEC61131-3最新版本中已經(jīng)采納的OO軟件技術(shù)的概念。然而,除了OO 軟件技術(shù)以外,然而,除了OO軟件技術(shù)以外,一些基本的高層概念也是需要的。比如在大型和擴(kuò)展的軟件模型概念下的程序設(shè)計(jì)。該標(biāo)準(zhǔn)從對(duì)已有的工業(yè)功能塊開(kāi)始概念開(kāi)始,并且朝著這些概念擴(kuò)展是短期內(nèi)需要考慮的。
一個(gè)關(guān)于通信和軟件組件的新工業(yè)標(biāo)準(zhǔn),需要在物理設(shè)備和軟件之間互聯(lián)來(lái)帶清晰的益處。然而,在我們能夠取得在實(shí)現(xiàn)大型系統(tǒng)的真正可互操作軟件組件之前,我們需要認(rèn)同描述需求的通用方法,比如信息模型和數(shù)據(jù)傳輸。這是IEC61499 在工業(yè)控制領(lǐng)域需要專心致志解決的問(wèn)題,
在下面的章節(jié),我們將描述IEC61499 中的概念。并且來(lái)看這個(gè)標(biāo)準(zhǔn)如何來(lái)為分布式控制系統(tǒng)建模。
?
?
總結(jié)
以上是生活随笔為你收集整理的《使用IEC61499为控制系统建模》-第一章 概述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: win7 台式电脑怎么调节屏幕亮度
- 下一篇: 操作系统MSXML组件版本过低,导致启动