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