《電子技術應用》
您所在的位置:首頁 > 其他 > 设计应用 > 基金会现场总线系统中功能块的调度
基金会现场总线系统中功能块的调度
中电网
任大洋 魏剑嵬 尹刚 王鹏
摘要: 现场总线控制系统是一种全新的分布控制系统,是以控制、计算机、数字通讯等技术为主要内容的综合技术。基金会现场总线以其技术上的优势,极有希望成为主流发展趋势。它的最大特点就是应用功能块实现全分布式控制。
Abstract:
Key words :

1 引言
  
現(xiàn)場總線 (Fieldbus)是20世紀末期出現(xiàn)并發(fā)展起來的,用于過程自動化、制造自動化、樓宇自動化等領域的現(xiàn)場智能設備互連通訊網(wǎng)絡。它作為工廠數(shù)字通信網(wǎng)絡的基礎,溝通了生產(chǎn)過程現(xiàn)場及控制設備之間及其與更高控制管理層次之間的聯(lián)系?,F(xiàn)場總線控制系統(tǒng)是一種開放式的、安全性好、成本低、新型的全分布控制系統(tǒng),是以控制、計算機、數(shù)字通訊等技術為主要內容的綜合技術,成為自動化技術發(fā)展的熱點,并將導致自動化系統(tǒng)結構與設備的深刻變革。
  
現(xiàn)場總線技術的標準化起步較晚,是以目前呈現(xiàn)多種現(xiàn)場總線技術并存的局面,其中有較強實力和影響的有:Foundtion Fieldbus(FF),LonWorks,Profibus,Hart,CAN等。它們具有各自的特色,在不同應用領域形成了自己的優(yōu)勢。其中,基金會現(xiàn)場總線以其技術先進、屬下會員實力強大成為非常有競爭力的一種總線技術。
  
基金會現(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 功能塊的定義和結構特點
  
功能塊表示了基本的自動化功能。每個功能塊處理輸入?yún)?shù),并根據(jù)內部的內含參數(shù),執(zhí)行特定的算法,產(chǎn)生可用的輸出參數(shù)。因此功能塊由輸入,輸出和內含參數(shù),和應用這些參數(shù)的算法組成。功能塊用一個位號(FB Tag)和對象字典(OD)的索引來標識。功能塊位號提供了一個功能塊的符號引用,在一個系統(tǒng)中應該是唯一的。對象字典索引是為了快速訪問功能塊而用的。對象字典的索引只是在包含這個功能塊的資源中才有用。功能塊參數(shù)定義了用于功能塊操作的輸入,輸出和內含參數(shù)。這些參數(shù)可以通過網(wǎng)絡訪問,輸入和輸出參數(shù)通過功能塊之間的連接來交換數(shù)據(jù)。內含參數(shù)用來定義功能塊的私有參數(shù),盡管他們是網(wǎng)絡可見的,但是他們不參與功能塊連接。功能塊的參數(shù)用設備描述(DD)的Member Id和對象字典索引來標識。DD Member Id和一個Tag相對應,這個Tag在整個系統(tǒng)內必須是唯一的;對象索引用來通過FMS服務來訪問一個功能塊參數(shù)。參數(shù)的描述可以通過DD來擴展。功能塊定義和相關的DD描述被組成一個一般依賴于應用領域、設備功能和廠商定義的參數(shù)的集合。
  
不同類型的設備根據(jù)實現(xiàn)功能的不同可以有不同的功能塊,典型的功能塊包括模擬輸入(AI),模擬輸出(AO)和PID控制功能塊。每一個功能塊都有一些特定的參數(shù)和算法以實現(xiàn)特定的功能。
  
功能塊應用結構定義了一個功能塊應用的內部組件,并規(guī)定了在一個應用內或多個應用之間這些組件的接口,這個結構可設計如下:
  
· 設計和執(zhí)行功能塊應用
  
· 配置和集成功能塊應用到現(xiàn)場設備中
  
· 系統(tǒng)運行時功能塊之間的互操作。
  
一個設備中的部分或所有組件可以由生產(chǎn)廠商預先定義。組件的參數(shù)可以通過設備組態(tài)來修改。另外,設備還要支持標準的功能塊服務(包括對功能塊參數(shù)的讀寫服務)。通過這些服務,功能塊和變換塊等組件可以被訪問或修改。

3 功能塊的執(zhí)行和調度
  
功能塊的執(zhí)行是由一個事件輸入激活的。這個事件可能是:
  
· 調度:調度定義了功能塊開始被觸發(fā)執(zhí)行的時間。
  
· 功能塊執(zhí)行的結束: 同一個設備內的功能塊執(zhí)行完成后有可能觸發(fā)其他功能塊的執(zhí)行。
  
· 廠商定義:功能塊的執(zhí)行可由生產(chǎn)廠商自己定義。
  
在基金會現(xiàn)場總線中,最常見的是調度執(zhí)行的功能塊。要想保證功能塊的調度執(zhí)行正確性和實時性,就必須符合以下特性:
  
· 系統(tǒng)中的每個功能塊應用有一個相同的時間即系統(tǒng)時間。時間標準的統(tǒng)一才能夠保證每個功能塊執(zhí)行時間的準確性。
  
· 測量設備定期采樣以保證連續(xù)控制的輸入?yún)?shù)的正確性。
  
· 在功能塊執(zhí)行時輸入和控制參數(shù)應該保持一致。
  
· 輸出參數(shù)的產(chǎn)生和應用之間的時間間隔必須小于控制回路的執(zhí)行時間。這個時間間隔包括功能塊之間傳輸數(shù)據(jù)所用的時間和數(shù)據(jù)傳輸完成后等待功能塊開始執(zhí)行的時間。
  
上述這些特性要求功能塊的執(zhí)行在以下三個方面的調整:
  
首先,要保證整個系統(tǒng)內的時間同步,以保證功能塊執(zhí)行的同步。
  
第二,要保證輸出參數(shù)的產(chǎn)生在其他功能塊需要這個參數(shù)之前。
  
第三,要保證功能塊的調度與總線上數(shù)據(jù)傳輸?shù)耐?,以確保輸出參數(shù)在合適的時間進行傳輸。
  
這三個方面分別是由時鐘同步,功能塊調度和網(wǎng)絡傳輸調度來實現(xiàn)的。
  
在FF系統(tǒng)中,應用時鐘的同步是通過系統(tǒng)管理的時鐘發(fā)布來實現(xiàn)的。系統(tǒng)管理中的時間發(fā)布者周期性的向現(xiàn)場設備發(fā)布應用時鐘同步消息, 應用時鐘消息包括應用時鐘時間(AP time)和鏈路時間(LS time)。系統(tǒng)管理內核(SMK)采樣鏈路時間和應用時鐘時間組成應用時鐘消息一起發(fā)送,接收設備利用接收到的應用時鐘消息調整其本地應用時間,以達到應用時鐘同步的目的。
  
對功能塊的執(zhí)行的調度也是由系統(tǒng)管理內核來管理的,通過對系統(tǒng)管理信息庫中的FB Start參數(shù)進行組態(tài)來實現(xiàn)對功能塊運行的調度。
  
FB Start的定義如下所示:

  struct
 ?。?br />   unsigned long start_time_offset;
  unsigned short fb_object_index;
  unsigned long vfd_ref;
 ?。?nbsp;FB_START_ENTRY;
  
其中,start_time_offset表示功能塊開始執(zhí)行的時間,這個參數(shù)是一個相對與宏周期的時間偏差。它的單位是1/32毫秒。宏周期是指整個網(wǎng)絡上功能塊應用的執(zhí)行時間,功能塊的調度和數(shù)據(jù)傳輸?shù)恼{度都是以宏周期為時間基準來進行周期性調度的。它的單位也是1/32毫秒。
  
fb_object_index表示與這個FB Start項相關聯(lián)的功能塊的數(shù)據(jù)字典索引,即要執(zhí)行的功能塊的起始索引。這個參數(shù)用于標識要執(zhí)行的功能塊。
  
vfd_ref表示這個FB Start相關的VFD號,即要執(zhí)行的功能塊在哪個VFD里。
  
而數(shù)據(jù)傳輸?shù)恼{度是由鏈路活動調度器(LAS)來實現(xiàn)的。組態(tài)完成以后,在鏈路活動調度器(LAS)設備中就生成了一個調度表,這個調度表有一定的格式,LAS通過對這個調度表的讀取來進行數(shù)據(jù)傳輸?shù)恼{度,即在特定的時間給特定的設備發(fā)送強制令牌(CD)報文來強制現(xiàn)場設備把要發(fā)送的實時數(shù)據(jù)發(fā)送出去。這個時間是嚴格準確的,能夠確保正確的數(shù)據(jù)在需要的時間傳輸?,F(xiàn)場設備在收到CD后立刻將緩沖區(qū)內的數(shù)據(jù)發(fā)布到總線上,緩沖區(qū)內的數(shù)據(jù)是由功能塊執(zhí)行以后寫入的。
  
下面一個以典型的PID控制回路為例來說明FF系統(tǒng)中功能塊的調度。



圖1 一個典型的PID控制回路
  
如圖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)控制。
  
由此形成的調度如下圖所示:



圖2 PID控制回路的調度
  
圖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調度AI功能塊開始執(zhí)行,得出輸出值并送到本地的PID功能塊。而在宏周期開始后的20毫秒處,設備A的SMK調度PID功能塊開始執(zhí)行,應用AI給的輸入值,算出輸出值,并放入緩沖區(qū)中,等待數(shù)據(jù)傳輸?shù)恼{度令牌(CD)。而LAS根據(jù)調度表在宏周期開始后的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調度開始執(zhí)行,并產(chǎn)生輸出數(shù)據(jù)對執(zhí)行器進行操作,同時產(chǎn)生一個回算輸出(BKCAL_OUT)值放到本地的緩沖區(qū)內,等待數(shù)據(jù)傳輸?shù)恼{度令牌(CD)。而LAS根據(jù)調度表在宏周期開始后的140毫秒處,發(fā)出一個強制發(fā)送數(shù)據(jù)的令牌(CD)來把設備B緩沖區(qū)中的數(shù)據(jù)發(fā)布到網(wǎng)絡上。設備A中的PID功能塊應用這個回算值和AI的輸出值,調整執(zhí)行后的輸出值。從而完成一個PID的閉環(huán)控制。

4 結束語
  
基金會現(xiàn)場總線的功能塊和功能塊的調度是基金會現(xiàn)場總線應用的基礎,也是基金會現(xiàn)場總線系統(tǒng)的特點和創(chuàng)新之一。通過對功能塊調度的了解,可以深入的理解基金會現(xiàn)場總線的開放性和互操作性的概念。
  
另外,功能塊的連接是通過VFD中的鏈接對象來實現(xiàn)的,本文由于篇幅所限,沒有做具體說明。

5 參考文獻
  
1. Fieldbus Foundation, FoundationTM Specification: System Architecture. 1999
2. Fieldbus Foundation, FoundationTM Specification: System Management. 1999
3. Fieldbus Foundation, FoundationTM Specification: Network Management. 1999
4. International Standard, IEC 61158-4. Second Edition. 2000

http://www.chuandong.com/publish/tech/thesis/2009/5/thesis_0_43_7197.html

此內容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。