關(guān) 閉

新聞中心

EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > FF與PROFIBUS之間網(wǎng)關(guān)的實(shí)現(xiàn)與測試

FF與PROFIBUS之間網(wǎng)關(guān)的實(shí)現(xiàn)與測試

——
作者:呂勇 周侗 王天然 于海斌 時(shí)間:2005-08-21 來源: 收藏
FF與PROFIBUS之間網(wǎng)關(guān)的實(shí)現(xiàn)與測試

呂勇 周侗 王天然 于海斌

本文引用地址:http://butianyuan.cn/article/7711.htm

一、概述

從上個(gè)世紀(jì)九十年代開始,不同領(lǐng)域現(xiàn)場總線技術(shù)競爭加劇,形成了當(dāng)今不同總線標(biāo)準(zhǔn)并存的局面。由于不同總線技術(shù)共生存、同發(fā)展的現(xiàn)狀,造成了在控制系統(tǒng)的構(gòu)建過程中,很可能會(huì)出現(xiàn)在一個(gè)現(xiàn)場總線系統(tǒng)中需要實(shí)現(xiàn)跨總線的信息傳遞與共享的情況。因此,解決在不同種類現(xiàn)場總線協(xié)議間的互操作問題成了當(dāng)務(wù)之急。網(wǎng)關(guān)就是解決這一問題的一個(gè)直接而重要的手段。

網(wǎng)關(guān)除了將其兩側(cè)所連接的不同總線之間的電氣信號(hào)進(jìn)行隔離和轉(zhuǎn)換之外,還為這兩種總線提供透明的數(shù)據(jù)傳輸服務(wù),這些數(shù)據(jù)除了有現(xiàn)場控制數(shù)據(jù)之外,還包括組態(tài)數(shù)據(jù)和診斷數(shù)據(jù)。廣義的網(wǎng)關(guān)甚至還應(yīng)提供不同總線協(xié)議之間應(yīng)用層服務(wù)的翻譯功能,能徹底實(shí)現(xiàn)不同總線之間的互操作。本文以現(xiàn)場總線(FOUNDATION Fieldbus,簡稱FF)H1與PORFIBUS DP之間的網(wǎng)關(guān)為例,建立了網(wǎng)關(guān)模型,并對網(wǎng)關(guān)的測試提出了一些見解。

二、網(wǎng)關(guān)的原理與實(shí)現(xiàn)

網(wǎng)關(guān)為兩個(gè)網(wǎng)段之間提供了透明的數(shù)據(jù)傳輸服務(wù),能實(shí)現(xiàn)一個(gè)網(wǎng)段的設(shè)備可以通過網(wǎng)關(guān)讀取另一個(gè)網(wǎng)段中的數(shù)據(jù)并完成控制計(jì)算的功能,即網(wǎng)關(guān)不僅提供了不同總線之間的信息資源的公享,同時(shí)也可以使不同總線之間的計(jì)算資源也得到公享。

1、協(xié)議簡介

FF的體系結(jié)構(gòu)采用了OSI七層模型中的物理層,數(shù)據(jù)鏈路層和應(yīng)用層,并且在應(yīng)用層之上增加了用戶層。用戶層由預(yù)先定義的標(biāo)準(zhǔn)功能塊和用戶自定義的柔性功能塊(FlexibleFunction Block,簡稱FFB)構(gòu)成。功能塊(Function Block)是一個(gè)以數(shù)據(jù)結(jié)構(gòu)為核心的軟件邏輯處理單位,能完成一個(gè)獨(dú)立而完整的控制功能。一個(gè)FF控制系統(tǒng)在邏輯上可以視為由若干個(gè)功能塊組成。

一個(gè)典型的FF閉環(huán)控制系統(tǒng)結(jié)構(gòu)如圖1所示:設(shè)備1中的AI(Analog Input)功能塊通過傳感器對現(xiàn)場數(shù)據(jù)采樣,然后由設(shè)備2中的PID(Proportional Integral Derivative)功能塊根據(jù)設(shè)定值和設(shè)備1發(fā)送來的采樣值進(jìn)行控制計(jì)算,最后通過AO(Analog Output)功能塊將控制量發(fā)送到執(zhí)行器完成控制。FF系統(tǒng)中的執(zhí)行順序和總線傳輸由鏈路主設(shè)備(Link Active Scheduler,簡稱LAS)負(fù)責(zé)調(diào)度。LAS可以是一個(gè)計(jì)算機(jī)接口卡,也可以是一個(gè)現(xiàn)場設(shè)備。

PROFIBUS從體系結(jié)構(gòu)上可分為FMS、DP和PA三種類型。FMS用于車間級的數(shù)據(jù)通信,DP型和PA型適用于現(xiàn)場級的數(shù)據(jù)傳輸,其中,PA型設(shè)備主要應(yīng)用于有特殊要求的場合。從系統(tǒng)行為上,PROFIBUS可分為DP主站(一類,二類)、DP(PA)從站、FMS主站和FMS從站這幾種。DP主站(一類)根據(jù)用戶定義好的算法控制若干個(gè)DP從站,并負(fù)責(zé)與DP主站(二類)進(jìn)行通訊;DP主站(二類)是一個(gè)管理設(shè)備,可以支持復(fù)雜的DP系統(tǒng)的管理與診斷;DP (PA)從站是一個(gè)I/O設(shè)備,負(fù)責(zé)與現(xiàn)場進(jìn)行信息交換;FMS主站和從站主要進(jìn)行大批量的數(shù)據(jù)傳輸,完成較復(fù)雜的通訊任務(wù)。

典型的PROFIBUS閉環(huán)控制系統(tǒng)可如圖2所示:DP從站1將現(xiàn)場采樣數(shù)據(jù)發(fā)送到DP主站,并在DP主站完成控制計(jì)算,然后由DP從站2將控制量發(fā)送到執(zhí)行器完成閉環(huán)控制。整個(gè)通訊過程由DP主站進(jìn)行調(diào)度,因此PROFIBUS是屬于分布式基礎(chǔ)上的集中控制模式。

2、網(wǎng)關(guān)結(jié)構(gòu)

FF H1/PROFIBUS DP網(wǎng)關(guān)(以下簡稱網(wǎng)關(guān))由FF H1設(shè)備模塊、PROFIBUS DP設(shè)備模塊和數(shù)據(jù)交換管理模塊這三部分組成,其拓?fù)浣Y(jié)構(gòu)如圖3所示。

FF H1設(shè)備模塊包含一個(gè)完整的FF邏輯設(shè)備,即具有由FF的物理層、通信協(xié)議棧和功能塊組成的用戶應(yīng)用層,它負(fù)責(zé)與FF H1網(wǎng)段上的其他FF總線設(shè)備進(jìn)行通信,使網(wǎng)關(guān)在FF H1網(wǎng)段上映射為一個(gè)FF總線設(shè)備。

PROFIBUS DP設(shè)備模塊由基于西門子公司的協(xié)議芯片SPC3之上開發(fā)的應(yīng)用程序和相應(yīng)硬件電路組成,它可以與PROFIBUS DP網(wǎng)段上其他設(shè)備進(jìn)行數(shù)據(jù)交換,將網(wǎng)關(guān)映射成為PROFIBUS DP網(wǎng)段上的一個(gè)DP從站。

數(shù)據(jù)交換管理模塊管理兩個(gè)模塊之間的數(shù)據(jù)通道,主要負(fù)責(zé)兩網(wǎng)段間通信數(shù)據(jù)的映射、流量控制、兩種協(xié)議報(bào)文的轉(zhuǎn)換等工作,是網(wǎng)關(guān)的核心部分。

3、網(wǎng)關(guān)工作原理

當(dāng)需要進(jìn)行跨網(wǎng)段的信息訪問時(shí),需要對FF設(shè)備和DP設(shè)備進(jìn)行適當(dāng)?shù)慕M態(tài)。在組態(tài)過程中,網(wǎng)關(guān)的數(shù)據(jù)管理模塊根據(jù)用戶配置的組態(tài)信息建立一個(gè)反映兩網(wǎng)段中欲交換數(shù)據(jù)關(guān)系的映射表 (DataMapTable),從而保證數(shù)據(jù)的正確傳輸。

下面以FF設(shè)備從DP從站中讀取現(xiàn)場數(shù)據(jù)完成閉環(huán)控制為例來說明網(wǎng)關(guān)的工作原理。此時(shí)的控制結(jié)構(gòu)如圖4所示:網(wǎng)關(guān)中的FF設(shè)備模塊映射成為FF H1總線上的一個(gè)設(shè)備,其中包含一個(gè)AI功能塊。

具體是實(shí)現(xiàn)過程是:DP從站1從傳感器讀取現(xiàn)場數(shù)據(jù),并將得到的數(shù)據(jù)發(fā)送到DP一類主站。然后,DP主站直接將采樣數(shù)據(jù)發(fā)送到網(wǎng)關(guān),網(wǎng)關(guān)中的DP模塊獲得數(shù)據(jù)之后,就通知數(shù)據(jù)管理模塊來讀取數(shù)據(jù)。數(shù)據(jù)管理模塊根據(jù)DataMapTable中的映射關(guān)系將數(shù)據(jù)放到相應(yīng)的數(shù)據(jù)緩沖區(qū),等待FF設(shè)備將數(shù)據(jù)取走。

FF設(shè)備中的AI功能塊得到調(diào)度后,就到數(shù)據(jù)緩沖區(qū)讀取數(shù)據(jù)。根據(jù)數(shù)據(jù)在緩沖區(qū)的位置不同就可以知道所讀取的數(shù)據(jù)所對應(yīng)的功能塊輸入端,然后根據(jù)FF系統(tǒng)中的組態(tài)信息將數(shù)據(jù)發(fā)送到FF設(shè)備1中的PID功能塊進(jìn)行控制計(jì)算得到控制量,并由AO功能塊將控制量發(fā)送到執(zhí)行器完成閉環(huán)控制。

在對兩個(gè)網(wǎng)段進(jìn)行組態(tài)的時(shí)候,應(yīng)該注意調(diào)度周期的匹配。如果DP從站1采集數(shù)據(jù)的頻率比FF功能塊讀取數(shù)據(jù)的頻率高,會(huì)由于數(shù)據(jù)的覆蓋而造成數(shù)據(jù)丟失;相反如果DP從站1采集數(shù)據(jù)的頻率比FF功能塊讀取數(shù)據(jù)的頻率低,則有可能造成FF設(shè)備對同一數(shù)據(jù)的重復(fù)讀取。

當(dāng)然,網(wǎng)關(guān)也可以進(jìn)行反向的數(shù)據(jù)交換,即DP從站從FF設(shè)備中讀取現(xiàn)場數(shù)據(jù)并在DP主站中完成控制計(jì)算。此時(shí)的控制結(jié)構(gòu)與圖4相似,只不過由FF設(shè)備1中的AI功能塊對傳感器進(jìn)行采樣,由DP從站1將控制量發(fā)送到執(zhí)行器完成控制,且網(wǎng)關(guān)中的FF設(shè)備模塊包含的是一個(gè)AO功能塊。

三、網(wǎng)關(guān)的測試

由于兩種總線的速度、設(shè)備調(diào)度機(jī)制及鏈路時(shí)間的計(jì)算有很大的差異,因此有必要對網(wǎng)關(guān)進(jìn)行全面的測試,以排除網(wǎng)關(guān)使用中的隱患。

網(wǎng)關(guān)作為兩種設(shè)備的集合體,在不同的總線網(wǎng)段上分別表現(xiàn)為FF H1設(shè)備和PROFIBUS DP從站,而對于單獨(dú)的FF設(shè)備或DP設(shè)備而言,可以分別由各自的互操作測試系統(tǒng)來檢驗(yàn)其互操作性。因此,網(wǎng)關(guān)測試的重點(diǎn)就在于對數(shù)據(jù)交換管理模塊的測試。

數(shù)據(jù)交換管理模塊最重要的一個(gè)任務(wù)就是根據(jù)組態(tài)信息通過建立交換數(shù)據(jù)的映射表(DataMapTable )來正確指導(dǎo)總線間的數(shù)據(jù)交換,因此,首先測試DataMapTable的正確性。為此,進(jìn)行如圖5所示的組態(tài),令FF設(shè)備中的8個(gè)AI功能塊在每個(gè)控制周期內(nèi)分別從8個(gè)DP從站中讀取一個(gè)數(shù)據(jù),目的是讓網(wǎng)關(guān)在最大的數(shù)據(jù)吞吐量下,檢測數(shù)據(jù)映射關(guān)系的正確性。通過監(jiān)控軟件讀取8個(gè)AI功能塊的輸入,并與8個(gè)DP從站的數(shù)據(jù)進(jìn)行對比,從而判斷各個(gè)AI功能塊與DP從站的對應(yīng)關(guān)系是否正確。

數(shù)據(jù)交換管理模塊還負(fù)責(zé)對數(shù)據(jù)的有效性進(jìn)行檢查,避免讀取到失效的數(shù)據(jù)而對控制產(chǎn)生影響。為了測試這一功能,在上述測試過程中,可以人為的將一個(gè)或多個(gè)DP從站設(shè)置為Offline狀態(tài),即不為AI提供數(shù)據(jù),使得數(shù)據(jù)管理模塊中與之相應(yīng)的數(shù)據(jù)得不到更新。經(jīng)過一段時(shí)間(時(shí)長可由用戶設(shè)定)后,數(shù)據(jù)管理模塊應(yīng)該將沒有得到更新的數(shù)據(jù)狀態(tài)設(shè)置為Bad以提示當(dāng)前數(shù)據(jù)不可用。當(dāng)DP從站重新運(yùn)行并提供數(shù)據(jù)后,數(shù)據(jù)管理模塊應(yīng)該刷新該數(shù)據(jù),并將數(shù)據(jù)狀態(tài)設(shè)置為Good,指示數(shù)據(jù)有效。

對于從FF H1網(wǎng)段向DP網(wǎng)段的數(shù)據(jù)傳輸測試也采用類似的測試結(jié)構(gòu),只不過在每個(gè)控制周期內(nèi)是用FF的8個(gè)AO功能塊分別向8個(gè)DP從站傳遞一個(gè)數(shù)據(jù)來測試數(shù)據(jù)映射關(guān)系。同樣,也用相同的方法對數(shù)據(jù)有效性的監(jiān)控進(jìn)行測試。

四、結(jié)束語

目前實(shí)現(xiàn)的FF H1/PROFIBUS DP網(wǎng)關(guān)還存在一定的不足,有待進(jìn)一步改進(jìn),例如不能發(fā)送報(bào)警事件等。另一方面,網(wǎng)關(guān)的測試在很大程度上都是由人工來進(jìn)行分析和判定,無法做到自動(dòng)測試,難以對大量數(shù)據(jù)流進(jìn)行分析測試。

利用網(wǎng)關(guān)能夠兼容差異較大的總線協(xié)議的特性,解決了兩種總線之間點(diǎn)對點(diǎn)的互連與互操作的問題。在安裝新的現(xiàn)場總線設(shè)備時(shí),可以利用網(wǎng)關(guān)和原有的總線設(shè)備連接,在在不影響原系統(tǒng)工作的情況下,充分利用了已有資源,減少了投資。

參考文獻(xiàn)
[1] Function Block Application Process Part1-4, Foundation Specification[z]. Austin, Texas,1997.
[2] PROFIBUS Specification EN50 170, Version 1.0, PROFIBUS International[z]. Karlsruhe, Germany, 1998.
[3] SPC3 Siemens PROFIBUS Controller User Description, Version 1.5[z], Siemens AG, 1996.
[4] 何巧麗,胡正國,吳健.現(xiàn)場總線中多總線兼容技術(shù)[J]. 計(jì)算機(jī)應(yīng)用, 2002, Vol.22(7): 78-80.


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉