談談IEC61499 的運行環境-系統,設備和資源

IEC61499 標準規範了基於功能塊網絡的圖形化程序設計方法,剛開始接觸這個標準的時候,搞不清這樣的圖形網絡是如何運行的。另外,IEC61499中系統,設備,資源,應用,子應用等概念也搞得似懂非懂,稀裏糊塗。在這裏我們來談談功能塊網絡是如何在一個分佈式控制系統中運行的。隨便將IEC61499標準中的模型,概念解釋的清楚一點。

系統模型

我們首先從IEC61499 定義的系統模型開始觀察,一個IEC61499 分佈式控制系統是由多個物理設備以及連接它們的網絡構成的。形成一個設備的通信網絡。通信鏈路可以是不同的類型,並且可以分成多個網段。比如採用以太網,wifi等等。

  控制器同樣也可以是各種類型和處理能力,它們可以是一臺X86 處理器的PC機,也可以一臺基於Arm 處理器的小型設備(比如 樹莓PI),甚至是一個Cortex-M 的微處理器設備。設備上的OS 可以是windows,linux或者freeRTOS,要使一臺計算機設備成爲一臺IEC61499 控制器,需要在其上運行一個IEC61499 運行時(runtime),例如4diac 中的Forte就是這樣的運行時程序。IEC61499 運行時是一個比較複雜的軟件,它需要支持多任務,各種網絡協議。所有典型的IEC61499 控制器是一個運行linux OS 的Arm 設備。設備的計算能力決定的運行IEC61499 功能塊網絡的性能。我們在PC 的windows和PC ubuntu 上運行4diac IDE瑞芯微的RK3399 PC ,全志H6 上配置ubuntu OS,運行4diac forte程序。也可以在window和ubuntu 上運行本地forte

設備模型

IEC61499 的設備模型描述了支持執行IEC61499 功能塊網絡執行的設備。

設備由通信接口,過程接口,設備管理和一個或者多個資源構成。通信接口提供了設備的通信服務。過程接口提供了訪問控制過程所需的傳感器/執行部件的服務。

IEC61499 的資源是一個獨立的運行單元,每個資源都能夠運行完整的,或者部分的功能塊網絡。資源是獨立運行的功能塊網絡執行環境。IEC61499 並不要求資源和本地計算單元一對一的關係(比如一個CPU一個資源)。 資源可以是操作系統的一個任務,進程或者線程。設備上的OS和運行時調度程序調度資源所需的計算時間,並且保證一個資源的運行並不影響其它的資源運行。資源在一個設備上是並行地運行的,你可以將資源理解爲解釋執行功能塊網絡的“進程”。

設備還具有管理和監控功能,它能夠建立和刪除資源,裝入功能塊網絡,讀取每個功能塊對象的事件,數據。

資源模型

  IEC61499 的資源提供了運行功能塊網絡所需的所有服務和運行環境,資源提供了通信接口和過程接口。

你可以將資源理解爲解釋執行功能塊網絡的“進程”。它完成功能塊網絡的解釋執行,能夠傳遞各種事件和數據,根據事件的觸發,執行功能塊的算法。產生新的事件和數據。並且可以通過通信服務功能塊讀取和發送遠程資源的事件和數據。資源也類似於java或者javascript 的運行時.

應用模型(Application model)

IEC61499 標準中的應用是相互連接的功能塊網絡。這裏的應用(Application)是一個名詞,指應用程序。

功能塊由三種類型,它們是基本功能塊,複合功能塊和服務接口功能塊。

應用可以分解爲子應用(subapplication)。子應用類似於複合功能塊,具有功能塊的外部特性。但是複合功能能塊不能夠將內部功能塊分佈到多個設備,多個資源上,而子應用是可以分佈式部署的。子應用中還可以進一步包含子應用,構建成所謂結構化應用。如下圖所示。

和其它控制系統不同,IEC61499 應用不是以設備爲中心( device centred)的,而是以應用爲中心(Application centred )的。它的應用是面向整個系統的應用程序,通俗地講,就是爲一個控制系統編寫一個統一的應用程序,一旦編寫好之後,可以分段部署(deployed)到不同設備的不同資源上運行。而不是像PLC編程那樣,  爲系統中的每一個PLC 單獨地編寫程序。通過網絡來定義設備之間的數據接口。

 

IEC61499 模型總體結構圖

從上面的分析可見,IEC61499 的模型是一種分層架構:

其中設備中包含多個資源,而資源是應用的執行環境。更爲詳細的結構由下圖可見。

 

小結

1 控制系統由設備和網絡構成。

2 設備上包含了通信接口,過程接口,管理和一個或者多個資源

3 資源是功能塊網絡的執行環境,可以理解爲IEC61499 應用的運行時,多個“運行時“可以並行執行。

4 IEC61499 應用可以部署在不同設備的不同資源上運行。應用可以由基本功能塊,複合功能塊,服務接口功能塊和子應用構建成的。子應用可以分佈在不同設備,不同資源上運行。子應用內部可以進一步包含子應用,構成所謂結構化應用程序。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章