現(xiàn)場總線控制系統(tǒng)功能塊實例化
現(xiàn)場總線是“安裝在生產過程區(qū)域的現(xiàn)場設備/儀表與控制室內的自動控制裝置/系統(tǒng)之間的一種串行、數(shù)字化、多點通信的數(shù)據(jù)總線”。現(xiàn)場總線是一種新型的自動化控制系統(tǒng),是當今自動控制技術的發(fā)展方向。現(xiàn)場總線技術可被廣泛應用于制造業(yè)、流程工業(yè)、樓宇、交通等自動化控制系統(tǒng)中。
在眾多的現(xiàn)場總線技術當中,由現(xiàn)場總線基金會組織(FieldbusFoundation,F(xiàn)F)開發(fā)的基金會現(xiàn)場總線在工程自動化領域得到了廣泛的支持?;饡F(xiàn)場總線是一種是全分布式的自動化系統(tǒng),主要功能是對工業(yè)生產過程進行測量、信號變送、控制等。FF于1996年頒布了低速總線H1標準。隨著以太網(wǎng)技術的成熟,F(xiàn)F制定了FFHSE(HighSpeedEthernet)規(guī)范,該規(guī)范定義了一種基于高速以太網(wǎng)的現(xiàn)場總線技術。為實現(xiàn)自動控制系統(tǒng)的控制功能,在H1和HSE應用層之上增加了用戶層。用戶層包括了FF所定義的標準化的功能塊和功能塊應用進程,構成了自動化控制系統(tǒng)中實現(xiàn)控制功能的主要部分。
功能塊模型
在FF現(xiàn)場總線系統(tǒng)中,工業(yè)控制系統(tǒng)的功能塊應用進程(FunctionBlockApplicationProcess,F(xiàn)BAP)定義在用戶層,包括資源塊(ResouceBlock)、功能塊(FunctionBlock,F(xiàn)B)和變換塊(TransducerBlock),以及為滿足控制系統(tǒng)需要而增加的各種對象,如鏈接對象(LinkObject)、趨勢對象(TrendObject)等.
在現(xiàn)場設備應用進程的體系結構中,資源塊表示網(wǎng)絡硬件和軟件對象,包含現(xiàn)場設備的一些硬件和物理特性。資源塊定義了相應的參數(shù)來描述所用資源的狀態(tài),并通過執(zhí)行特定的算法來控制對設備資源的操作。在用戶層應用中,功能塊FB代表了應用所執(zhí)行的基本的自動控制功能,是定義工業(yè)控制系統(tǒng)的監(jiān)控和控制功能的主要手段。通過定義功能塊,使工業(yè)控制系統(tǒng)的自動控制功能盡可能獨立于輸入輸出(InputOutput,IO)設備。功能塊根據(jù)指定的算法并結合其內含的參數(shù)來處理輸入?yún)?shù),得到的輸出提供給其它的功能塊或者變換塊執(zhí)行控制功能。
定義變換塊的目的是使功能塊和IO設備隔離開來,這些IO設備包括傳感器、執(zhí)行器和轉換開關。變換塊通過由功能塊使用的獨立接口控制對IO設備的訪問,同時,變換塊還執(zhí)行校準和線性化的功能。鏈接對象提供了功能塊輸入輸出間的對應關系,作為在控制系統(tǒng)中交換信息的映射。在FF現(xiàn)場總線控制系統(tǒng)中,現(xiàn)場設備間或設備內部進行交換的過程數(shù)據(jù)和事件都是通過連接對象來定義的。
功能塊實例化
在建立控制系統(tǒng)的過程中,控制應用所需要的現(xiàn)場設備是不確定的。即便是一個構建好的控制系統(tǒng),也可能會因為功能或者是性能上的需要而添加新的設備,這就需要現(xiàn)場設備比如IO設備等能夠提供完善的功能。但現(xiàn)場設備通常都是嵌入式設備,其操作系統(tǒng)采用嵌入式操作系統(tǒng)。因此現(xiàn)場設備的可用資源有限,同時實現(xiàn)所有功能對現(xiàn)場設備來要求太高。對于IO設備,多路模擬輸入(MultipleAnalogInput,MAI)功能塊負責模擬數(shù)據(jù)采集,多路離散輸入(MultipleDiscreteInput,MDI)功能塊負責數(shù)字數(shù)據(jù)的采集,每個MAI或者MDI功能塊所能采集的數(shù)據(jù)節(jié)點是一定的。一般情況下,每個現(xiàn)場設備中的功能塊類型和數(shù)目在出廠之前就已經定制好了。如果控制系統(tǒng)的規(guī)模發(fā)生了變化,那么原先安裝的現(xiàn)場設備就可能滿足不了控制系統(tǒng)的需要。而如果允許控制工程師能夠根據(jù)實際的需要增加現(xiàn)場設備中功能塊的類型和數(shù)目,則能夠大大地降低控制系統(tǒng)的復雜性,節(jié)省控制系統(tǒng)升級所需要的時間和成本,從而提高生產效率和效益。
功能塊實例化機制
為實現(xiàn)功能塊和其它對象的實例化,在基金會現(xiàn)場總線用戶層規(guī)范中定義了Action對象。通過對Action對象進行操作,可以在控制系統(tǒng)需要某個對象或者功能塊時,在現(xiàn)場設備中創(chuàng)建所需要的對象或者功能塊。也可以通過Action對象刪除現(xiàn)場設備中存在的對象或功能塊。Action對象包含3個參數(shù),以結構的形式定義為:
typedefstruct{
unsignedcharucAction;
unsignedlongulFunction;
unsignedshortuOccurrence;
}FF_Action;
其中,第一個參數(shù)ucAction用來表示所采取的操作,取值為0、1或者2,0表示沒有任何操作,1表示實例化由參數(shù)ulFunction指定的功能塊或者是對象,2表示請求刪除由參數(shù)ulFunction指定的功能塊或者對象。第二個參數(shù)ulFunction表示實例化操作或者刪除操作時所操作的對象,該參數(shù)的取值是設備描述文件(DeviceDescription,DD)中針對具體的功能塊或者對象所定義的值。第3個參數(shù)uOccurrence在ucAction等于0或1時,其取值必須為0,在執(zhí)行刪除操作即ucAction等于2時,參數(shù)uOccurrence的值是要刪除的功能塊或對象的序號,即表示要刪除第幾個由ulFunction指定的功能塊或對象。實例化的操作通過組態(tài)軟件執(zhí)行,用戶選擇了要實例化的功能塊后,組態(tài)軟件向指定的現(xiàn)場設備發(fā)出FMS(FieldbusMessageSpecification)寫請求。現(xiàn)場設備接收到FMS寫請求后,首先判斷本設備中是否已經定義了實例化請求操作中指定類型的功能塊。如果本設備中定義了該類型的功能塊,則執(zhí)行實例化操作,動態(tài)申請一塊內存,內存的大小即實例化請求操作中指定類型功能塊的大小。然后將該類型功能塊的模板拷貝到新申請的內存中。
功能塊數(shù)據(jù)保存和恢復
在現(xiàn)場總線控制系統(tǒng)中,由于種種原因,很可能會發(fā)生設備掉電的情況。由于組態(tài)的過程比較復雜,所以對于整個控制系統(tǒng)來說,實現(xiàn)現(xiàn)場設備的數(shù)據(jù)保存功能是非常必要的。特別是對于存在實例化的功能塊的現(xiàn)場設備,在設備重新上電后能夠恢復實例化的功能塊和組態(tài)數(shù)據(jù)顯得更為重要。
評論