1、 引言
現場總線 (Fieldbus)是20世紀末期出現并發展起來的,用于過程自動化、制造自動化、樓宇自動化等領域的現場智能設備互連通訊網絡。它作為工廠數字通信網絡的基礎,溝通了生產過程現場及控制設備之間及其與更高控制管理層次之間的聯系。現場總線控制系統是一種開放式的、安全性好、成本低、新型的全分布控制系統,是以控制、計算機、數字通訊等技術為主要內容的綜合技術,成為自動化技術發展的熱點,并將導致自動化系統結構與設備的深刻變革。
現場總線技術的標準化起步較晚,是以目前呈現多種現場總線技術并存的局面,其中有較強實力和影響的有:Foundtion Fieldbus(FF),LonWorks,Profibus,Hart,CAN等。它們具有各自的特色,在不同應用領域形成了自己的優勢。其中,基金會現場總線以其技術先進、屬下會員實力強大成為非常有競爭力的一種總線技術。
基金會現場總線系統是由數字智能化現場設備和控制、監控設備互聯而組成的。他們在一起提供I/O和控制、自動處理等操作。每個現場設備執行整個系統中一部分功能,包括實現一個或多個時間關鍵的應用,例如傳感器數據的獲得和控制算法的執行。每一個現場應用都是由一組設備功能來實現的,稱作功能塊(FB)。這些應用就稱作功能塊應用進程(FBAP)。
2 、功能塊的定義和結構特點
功能塊表示了基本的自動化功能。每個功能塊處理輸入參數,并根據內部的內含參數,執行特定的算法,產生可用的輸出參數。因此功能塊由輸入,輸出和內含參數,和應用這些參數的算法組成。功能塊用一個位號(FB Tag)和對象字典(OD)的索引來標識。功能塊位號提供了一個功能塊的符號引用,在一個系統中應該是唯一的。對象字典索引是為了快速訪問功能塊而用的。對象字典的索引只是在包含這個功能塊的資源中才有用。功能塊參數定義了用于功能塊操作的輸入,輸出和內含參數。這些參數可以通過網絡訪問,輸入和輸出參數通過功能塊之間的連接來交換數據。內含參數用來定義功能塊的私有參數,盡管他們是網絡可見的,但是他們不參與功能塊連接。功能塊的參數用設備描述(DD)的Member Id和對象字典索引來標識。DD Member Id和一個Tag相對應,這個Tag在整個系統內必須是唯一的;對象索引用來通過FMS服務來訪問一個功能塊參數。參數的描述可以通過DD來擴展。功能塊定義和相關的DD描述被組成一個一般依賴于應用領域、設備功能和廠商定義的參數的集合。
不同類型的設備根據實現功能的不同可以有不同的功能塊,典型的功能塊包括模擬輸入(AI),模擬輸出(AO)和PID控制功能塊。每一個功能塊都有一些特定的參數和算法以實現特定的功能。
功能塊應用結構定義了一個功能塊應用的內部組件,并規定了在一個應用內或多個應用之間這些組件的接口,這個結構可設計如下:
· 設計和執行功能塊應用
· 配置和集成功能塊應用到現場設備中
· 系統運行時功能塊之間的互操作。
一個設備中的部分或所有組件可以由生產廠商預先定義。組件的參數可以通過設備組態來修改。另外,設備還要支持標準的功能塊服務(包括對功能塊參數的讀寫服務)。通過這些服務,功能塊和變換塊等組件可以被訪問或修改。
3、 功能塊的執行和調度
功能塊的執行是由一個事件輸入激活的。這個事件可能是:
· 調度:調度定義了功能塊開始被觸發執行的時間。
· 功能塊執行的結束: 同一個設備內的功能塊執行完成后有可能觸發其他功能塊的執行。
· 廠商定義:功能塊的執行可由生產廠商自己定義。
在基金會現場總線中,最常見的是調度執行的功能塊。要想保證功能塊的調度執行正確性和實時性,就必須符合以下特性:
· 系統中的每個功能塊應用有一個相同的時間即系統時間。時間標準的統一才能夠保證每個功能塊執行時間的準確性。
· 測量設備定期采樣以保證連續控制的輸入參數的正確性。
· 在功能塊執行時輸入和控制參數應該保持一致。
· 輸出參數的產生和應用之間的時間間隔必須小于控制回路的執行時間。這個時間間隔包括功能塊之間傳輸數據所用的時間和數據傳輸完成后等待功能塊開始執行的時間。
上述這些特性要求功能塊的執行在以下三個方面的調整:
首先,要保證整個系統內的時間同步,以保證功能塊執行的同步。
第二,要保證輸出參數的產生在其他功能塊需要這個參數之前。
第三,要保證功能塊的調度與總線上數據傳輸的同步,以確保輸出參數在合適的時間進行傳輸。
這三個方面分別是由時鐘同步,功能塊調度和網絡傳輸調度來實現的。
在FF系統中,應用時鐘的同步是通過系統管理的時鐘發布來實現的。系統管理中的時間發布者周期性的向現場設備發布應用時鐘同步消息, 應用時鐘消息包括應用時鐘時間(AP time)和鏈路時間(LS time)。系統管理內核(SMK)采樣鏈路時間和應用時鐘時間組成應用時鐘消息一起發送,接收設備利用接收到的應用時鐘消息調整其本地應用時間,以達到應用時鐘同步的目的。
對功能塊的執行的調度也是由系統管理內核來管理的,通過對系統管理信息庫中的FB Start參數進行組態來實現對功能塊運行的調度。
FB Start的定義如下所示:
struct
{
unsigned long start_time_offset;
unsigned short fb_object_index;
unsigned long vfd_ref;
} FB_START_ENTRY;
其中,start_time_offset表示功能塊開始執行的時間,這個參數是一個相對與宏周期的時間偏差。它的單位是1/32毫秒。宏周期是指整個網絡上功能塊應用的執行時間,功能塊的調度和數據傳輸的調度都是以宏周期為時間基準來進行周期性調度的。它的單位也是1/32毫秒。
fb_object_index表示與這個FB Start項相關聯的功能塊的數據字典索引,即要執行的功能塊的起始索引。這個參數用于標識要執行的功能塊。
vfd_ref表示這個FB Start相關的VFD號,即要執行的功能塊在哪個VFD里。
而數據傳輸的調度是由鏈路活動調度器(LAS)來實現的。組態完成以后,在鏈路活動調度器(LAS)設備中就生成了一個調度表,這個調度表有一定的格式,LAS通過對這個調度表的讀取來進行數據傳輸的調度,即在特定的時間給特定的設備發送強制令牌(CD)報文來強制現場設備把要發送的實時數據發送出去。這個時間是嚴格準確的,能夠確保正確的數據在需要的時間傳輸。現場設備在收到CD后立刻將緩沖區內的數據發布到總線上,緩沖區內的數據是由功能塊執行以后寫入的。
下面一個以典型的PID控制回路為例來說明FF系統中功能塊的調度。
如圖1所示為一個典型的PID控制回路,圖中AI功能塊和PID功能塊在一個設備中,AO功能塊在另一個設備中。控制過程如下:AI功能塊的輸出(OUT)參數送到PID的輸入(IN)參數,PID的輸出(OUT)參數送到AO的級聯輸入(CAS_IN)參數,而AO的回算輸出(BKCAL_OUT)參數送到PID的回算輸入(BKCAL_IN)參數。從而完成一個PID閉環控制。
由此形成的調度如下圖所示:
圖2中,Loop Time(即宏周期)是1秒,藍顏色的框是功能塊的執行時間,紅顏色的框是功能塊執行后在總線上發布數據的時間。由于AI功能塊和PID功能塊在一個設備中,這部分的參數傳遞是通過本地接口實現的,在總線上是不可見的,故在圖中沒有這部分數據傳輸的顯示。
組態完成后,在包含有AI功能塊和PID功能塊的設備(設備A)中應該有兩個FB Start項,一個對應AI功能塊的執行,start_time_offset應該是0,fb_object_index是AI功能塊的起始索引;另一個對應PID功能塊的執行,start_time_offset應該是640(20ms)。即在一個宏周期的起始處(偏移量為零),設備A的SMK調度AI功能塊開始執行,得出輸出值并送到本地的PID功能塊。而在宏周期開始后的20毫秒處,設備A的SMK調度PID功能塊開始執行,應用AI給的輸入值,算出輸出值,并放入緩沖區中,等待數據傳輸的調度令牌(CD)。而LAS根據調度表在宏周期開始后的40毫秒處,發出一個強制發送數據的令牌(CD)來把設備A緩沖區中的數據發布到網絡上。設備B中只有一個AO功能塊要執行,所以組態時只產生一個FB Start項用來對應AO功能塊的執行,它的start_time_offset應該是1280(120毫秒)。設備B的AO功能塊接收到從設備A的PID功能塊發布的數據后,在宏周期開始后的120毫秒處,由設備B的SMK調度開始執行,并產生輸出數據對執行器進行操作,同時產生一個回算輸出(BKCAL_OUT)值放到本地的緩沖區內,等待數據傳輸的調度令牌(CD)。而LAS根據調度表在宏周期開始后的140毫秒處,發出一個強制發送數據的令牌(CD)來把設備B緩沖區中的數據發布到網絡上。設備A中的PID功能塊應用這個回算值和AI的輸出值,調整執行后的輸出值。從而完成一個PID的閉環控制。
4、 結束語
基金會現場總線的功能塊和功能塊的調度是基金會現場總線應用的基礎,也是基金會現場總線系統的特點和創新之一。通過對功能塊調度的了解,可以深入的理解基金會現場總線的開放性和互操作性的概念。
另外,功能塊的連接是通過VFD中的鏈接對象來實現的,本文由于篇幅所限,沒有做具體說明。
責任編輯:gt
-
監控
+關注
關注
6文章
2205瀏覽量
55175 -
設備
+關注
關注
2文章
4502瀏覽量
70600 -
現場總線
+關注
關注
3文章
519瀏覽量
38565
發布評論請先 登錄
相關推薦
評論