當前位置:編程學習大全網 - 編程語言 - IEC61499的功能塊

IEC61499的功能塊

在1990中,IEC TC65(國際電工協會第65屆技術委員會)收到了壹項提案,旨在標準化分布式工業過程測量和控制系統中軟件模塊(稱為“功能塊”)的某些方面,特別強調使用IEC 61158現場總線標準的IPMCS。功能塊也是可編程控制器使用的編程語言標準IEC 61131-3的基本組成部分之壹,所以TC65決定制作功能塊的通用模型,這就是IEC 61499標準的由來。

C 61499標準是隨著分散化和智能化系統控制功能的要求而出現的。在由現場總線設備、智能儀表和傳感器構成的大型復雜控制系統中,控制功能可以在物理上分散在許多設備中,不同設備中的軟件通過通信網絡互聯。采用IEC 61499標準,這些軟件單元由功能塊實現,功能塊按照標準互聯,可以實現分布式系統的控制功能。例如,智能壓力傳感器可以定義為嵌入式模擬輸入AI功能塊,它提供壹組定義的輸入和輸出,如實際測量的壓力值、傳感器校準值和錯誤狀態。使用IEC 61499標準,這些輸入和輸出可以連接到其他功能塊的輸入和輸出,例如,壓力傳感器的錯誤狀態可以連接到壹個驅動報警顯示的功能塊,所有這些功能塊分散在壹個分布式系統的不同設備中。該方法為控制系統的設計和改進提供了高度的靈活性。

IEC 61499功能塊可以實現這種完全分布式的IPMCS,關鍵是用軟件組件技術設計功能塊。組件是獨立於特定編程語言和應用系統的可重用和自包含的軟件組件。組件技術是壹種基於面向對象的軟件開發概念,支持drog和drop以及即插即用。基於組件技術的開發方法具有開放性、易升級、易維護的優點。組件的技術規範主要有三種:CORBA、COM和JavaBeans[2],具體實現中可以自由選擇。C 61499功能塊是壹個強大的和可重復使用的軟件組件。壹個功能塊提供特定問題的解決方案,例如控制閥門或控制工廠的主要單元(例如整條生產線)。在構建分布式控制系統時,系統設計者根據控制功能的需要選擇特定的功能塊,並按照IEC 61499標準與軟件互聯,因此設計靈活,系統具有可擴展性和可變形性。可以預見,未來的工業控制器和儀表可以將功能塊作為設備固件的壹部分或者選擇從功能塊庫中下載,系統設計將成為功能塊選擇、配置和互聯的簡單任務。

C 61499標準分為四個部分:體系結構、軟件工具需求、應用規則和遵從規則。該標準定義了壹個通用體系結構,並制定了功能塊在分布式IPMCS中的應用規則。標準內容包括:各種參考模型,如系統模型、設備模型、功能塊模型、管理模型等。IPMCS中功能塊的聲明規則、行為規則和應用規則;管理應用程序、資源和設備時使用功能塊的規則;為設計、實施、操作和維護分布式IPMCS提供工程支持。這種體系結構基於參考模型、文本語法和圖形表示,可用於實現以下工程任務:功能塊類型的規範和標準化;系統功能和要素的標準化;分布式IPMCS的標準化、分析和驗證:分布式IPMCS的構建、實施、運行和維護;實現上述功能的軟件工具之間的信息交互。

1.2 IEC 61499架構

按照IEC 61499構建的系統層次結構自下而上為功能塊、資源、設備、系統。功能塊是系統的基本單元,資源是功能塊的容器,設備包含單個或多個資源,設備互連形成分布式系統。

1.2.1功能塊

在IEC 61499中,軟件打包和復用的基本單位是功能塊。功能塊是壹個軟件功能單元,由壹個專有的數據結構和由其類型決定的相關操作組成[3]。C 61499功能塊分為基本功能塊、復合功能塊、服務接口功能塊(通信功能塊和管理功能塊)和適配器(插件和插座)。基本功能塊由事件輸入輸出、數據輸入輸出、執行控制表ECC、算法和內部數據組成,如圖1所示。執行控制表是壹個事件驅動的狀態機,它決定了狀態機的狀態轉移規律,狀態機當前狀態與輸入事件的關系,以及進入新狀態時執行算法與事件的關系。該算法確定功能塊的功能特性。當壹個特定事件發生時,其變化反映在相應的事件輸入中,驅動相應的算法執行。算法讀取輸入數據,根據輸入數據和內部數據生成內部數據和輸出數據的新值,最後發出事件,輸出到事件輸出。

功能塊最大的特點是封裝性和黑盒特性。對於功能塊的外部,算法、執行控制表和內部數據都是不可見的,而在使用功能塊時,壹般只需要知道它的外部接口,如圖2所示。

功能塊MECH_CTL包括事件輸入START、SENSE、ESTOP和事件輸出CMD,以及數據輸入SINGLE、HOME、END和數據輸出FWD和rev,其中event表示相應的外部接口是事件輸入或輸出,BOOL表示相應的外部接口是數據輸入或輸出,並且是布爾類型。事件接口和數據接口的垂直連接,如圖,事件輸入SENSE與數據輸入HOME和END相關聯,表示當SENSE事件到來時,功能塊將采樣HOME和END。

圖1基本功能塊結構

圖2功能塊的外部界面

C61499定義了描述功能塊的通用模型和方法,功能塊以圖形和文本兩種方式表達。為了使功能塊的定義易於保存和移植,采用了可擴展標記語言XML[4]來定義系統、設備、資源和功能塊,使得功能塊的定義可以在互聯網上傳播,並用web瀏覽器查看。

1.2.2資源

資源是包含在設備中的功能單元。您可以創建、構造、參數化、啟動和刪除設備中的資源,而不會影響其他資源。資源的作用是從進程和通信接口接收數據和事件,處理這些數據和事件,並返回給進程和通信接口。資源包括本地應用(或分布式應用的本地部分)、進程映射、通信映射和調度功能。服務接口功能塊SIFB與基本功能塊和復合功能塊相結合,形成資源,以提供分布式控制應用的本地部分,如圖3所示。

1.2.3設備

設備是多種資源的容器,並提供這些資源與通信網絡、傳感器和致動器之間的接口。這些接口提供的服務由SIFB在支持分布式應用的專用資源中完成。通信網絡將分散的設備集成為壹個完整的系統。這樣,分布在不同物理設備上的功能塊就形成了真正的分布式應用,如圖4所示。

圖3 IEC 61499資源模型

圖4分布式應用的功能塊連接

1.3功能塊的優勢

功能塊通過使用軟件組件獲得許多優勢[5]:

(1)功能塊反映了現實世界。在設計應用時,功能塊代表控制系統設計中的功能實體,每個功能塊實體組合成壹個控制系統。

(2)功能塊穩定。功能塊是已經被證明有效的軟件單元,壹般不會有大的改動。用戶可以在不同的應用中使用相同的功能塊。功能塊封裝算法無需任何修改即可直接用於不同的控制系統設計。

(3)功能塊降低了復雜度。用戶可以使用壹個功能塊,而不用擔心它內部是如何工作的,因為功能塊可以隱藏其內部算法的復雜性,開發壹個應用只需要創建和連接多個功能塊。

(4)功能塊可以重復使用。經過驗證的功能塊可以隨庫壹起發布,因此可以由其他開發人員使用。

功能塊的上述優點為系統設計者和最終用戶帶來了以下好處:

(1)利用功能塊開發應用程序可以大大減少控制軟件的數量。

(2)縮短了開發控制系統的時間。

(3)使用相同功能塊的系統具有壹致的行為。

(4)經過驗證的設計方案可以重復使用。

2.基於功能塊的系統設計模式。

在IEC 61499的架構下,有三種常見的設計模式[6]:分布式應用、代理和MVC。

2.1分布式應用

利用這種模式設計控制系統,首先根據已實現的控制系統的功能需求,通過功能塊的原始連接圖來定義這種分布式應用,其中每個功能塊對應相應的控制功能。然後選擇包含這些核心功能塊的適當資源,並根據實現需要將這些資源包含在不同的設備中。然後將應用中的功能塊映射到相應資源中的相應功能塊。最後,利用通信服務接口功能塊實現不同資源和設備中的功能塊之間的事件和數據的互聯,以滿足分布式應用的信息流通信需求。

2.2代理人(proxy)

代理模式通過為遠程服務器建立本地代理,將客戶端與服務器分開。當客戶要求服務器提供服務時,它要求本地代理。因此代理向原始服務器發送壹個服務請求。在IEC 61499環境中使用此模式的壹種方法是使用SIFB為那些與IEC 61499標準不兼容的設備提供代理。

2.3 MVC(模型/視圖/控制器)

在IEC 61499環境下,改進的MVC模式通常被用來建模、仿真和測試IPMCS。在這種模式下,模型、視圖和控制器都是IEC 61499的基本功能塊。模型塊表示受控系統或設備的行為,視圖塊表示與壹個或多個模型塊相關聯的圖形顯示,控制器塊封裝在壹個或多個模型塊上執行的控制功能,並提供與其他控制器塊集成所需的事件和數據接口。同時,設備和用戶之間的交互由HMI元素表示,這也是壹個功能塊。改進後的MVC框圖如圖5所示。

圖5 MVC的改進框圖

3.系統設計和仿真示例

由FBDT(FB開發工具包)構建的應用程序DRILL_MVCL,用於完成鉆機的控制和監控功能。系統由模型、視圖、控件和HMI四個設備組成,分別完成MVC模式下模型、視圖和控件的功能,HMI處理人機交互,如圖6所示。

圖6鉆機mvcl的結構

LL資源中的功能塊網絡

每個設備包含多個資源。以控制設備為例,它包含加載、供給、鉆取、卸載和起飛等資源,如圖7所示。負載資源控制工件的裝載,供應資源控制工件通過傳送帶傳送到鉆床的底部,鉆頭控制鉆床對工件進行鉆孔,卸載從鉆床上卸下鉆過孔的工件,取料機將工件帶出流程。

資源功能的實現依賴於其內部的功能塊集合。以控制設備中的DRILL資源為例,它包括START、DRILL_SENSE、SLIDE_SENSE、CTL、SLIDE_ACT、SLIDE_SENSE等功能塊,如圖6所示。START是壹個啟動功能塊,完成資源的初始化功能。從圖中的事件連接可以看出,start發出壹個冷冷啟動事件,導致DRILL_SENSE塊的init事件發生。初始化後,它會發出壹個INIO事件,該事件又會導致SLIDE_SENSE、SLIDE_ACT和DRILL_ACT的初始化。DRILL_SENSE和SLIDE_SENSE是訂閱者預定的功能塊,從上遊資源的發布者發布功能塊獲取事件和數據;SLIDE_ACT和DRILL_ACT是發布功能塊,與下遊資源中預定的功能塊相連,傳遞所需的事件和數據。這四個塊都是通信服務接口功能塊CSFIB,它們的作用是形成這個分布式應用中指定的事件和數據流,全面服務於核心塊CTL。CTL塊完成滑片和鉆頭的控制功能。比如當DSENSE事件到來時,CTL采樣DHOME、DEND、DSPIN數據接口上的值,算法執行後輸出ACT事件,由DRILL_ACT釋放,控制鉆頭的鉆進。

使用運行環境,DRILL_MVCL系統的模擬結果如圖8所示。HMI視圖顯示相應變量的當前狀態,用橙色和白色燈表示,並可以相應地進行控制。VIEW view是鉆孔過程的模擬視圖,顯示了傳送帶上傳送的未鉆孔工件和滑塊上的已鉆孔工件。

圖8 drill _ mvcl系統的模擬操作

  • 上一篇:如何將同花順中的分析指標改為條件選股公式?
  • 下一篇:按鈕連接編程
  • copyright 2024編程學習大全網