關(guān) 閉

新聞中心

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

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

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

呂勇 周侗 王天然 于海斌

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

一、概述

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

網(wǎng)關(guān)除了將其兩側(cè)所連接的不同總線之間的電氣信號(hào)進(jìn)行隔離和轉(zhuǎn)換之外,還為這兩種總線提供透明的數(shù)據(jù)傳輸服務(wù),這些數(shù)據(jù)除了有現(xiàn)場(chǎng)控制數(shù)據(jù)之外,還包括組態(tài)數(shù)據(jù)和診斷數(shù)據(jù)。廣義的網(wǎng)關(guān)甚至還應(yīng)提供不同總線協(xié)議之間應(yīng)用層服務(wù)的翻譯功能,能徹底實(shí)現(xiàn)不同總線之間的互操作。本文以現(xiàn)場(chǎng)總線(FOUNDATION Fieldbus,簡(jiǎn)稱(chēng)FF)H1與PORFIBUS DP之間的網(wǎng)關(guān)為例,建立了網(wǎng)關(guān)模型,并對(duì)網(wǎng)關(guān)的測(cè)試提出了一些見(jià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è)備可以通過(guò)網(wǎng)關(guān)讀取另一個(gè)網(wǎng)段中的數(shù)據(jù)并完成控制計(jì)算的功能,即網(wǎng)關(guān)不僅提供了不同總線之間的信息資源的公享,同時(shí)也可以使不同總線之間的計(jì)算資源也得到公享。

1、協(xié)議簡(jiǎn)介

FF的體系結(jié)構(gòu)采用了OSI七層模型中的物理層,數(shù)據(jù)鏈路層和應(yīng)用層,并且在應(yīng)用層之上增加了用戶(hù)層。用戶(hù)層由預(yù)先定義的標(biāo)準(zhǔn)功能塊和用戶(hù)自定義的柔性功能塊(FlexibleFunction Block,簡(jiǎn)稱(chēng)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)功能塊通過(guò)傳感器對(duì)現(xiàn)場(chǎng)數(shù)據(jù)采樣,然后由設(shè)備2中的PID(Proportional Integral Derivative)功能塊根據(jù)設(shè)定值和設(shè)備1發(fā)送來(lái)的采樣值進(jìn)行控制計(jì)算,最后通過(guò)AO(Analog Output)功能塊將控制量發(fā)送到執(zhí)行器完成控制。FF系統(tǒng)中的執(zhí)行順序和總線傳輸由鏈路主設(shè)備(Link Active Scheduler,簡(jiǎn)稱(chēng)LAS)負(fù)責(zé)調(diào)度。LAS可以是一個(gè)計(jì)算機(jī)接口卡,也可以是一個(gè)現(xiàn)場(chǎng)設(shè)備。

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

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

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

FF H1/PROFIBUS DP網(wǎng)關(guān)(以下簡(jiǎn)稱(chēng)網(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é)議棧和功能塊組成的用戶(hù)應(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è)備模塊由基于西門(mén)子公司的協(xié)議芯片SPC3之上開(kāi)發(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)段的信息訪問(wèn)時(shí),需要對(duì)FF設(shè)備和DP設(shè)備進(jìn)行適當(dāng)?shù)慕M態(tài)。在組態(tài)過(guò)程中,網(wǎng)關(guān)的數(shù)據(jù)管理模塊根據(jù)用戶(hù)配置的組態(tài)信息建立一個(gè)反映兩網(wǎng)段中欲交換數(shù)據(jù)關(guān)系的映射表 (DataMapTable),從而保證數(shù)據(jù)的正確傳輸。

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

具體是實(shí)現(xiàn)過(guò)程是:DP從站1從傳感器讀取現(xiàn)場(chǎng)數(shù)據(jù),并將得到的數(shù)據(jù)發(fā)送到DP一類(lèi)主站。然后,DP主站直接將采樣數(shù)據(jù)發(fā)送到網(wǎng)關(guān),網(wǎng)關(guān)中的DP模塊獲得數(shù)據(jù)之后,就通知數(shù)據(jù)管理模塊來(lái)讀取數(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ù)所對(duì)應(yīng)的功能塊輸入端,然后根據(jù)FF系統(tǒng)中的組態(tài)信息將數(shù)據(jù)發(fā)送到FF設(shè)備1中的PID功能塊進(jìn)行控制計(jì)算得到控制量,并由AO功能塊將控制量發(fā)送到執(zhí)行器完成閉環(huán)控制。

在對(duì)兩個(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è)備對(duì)同一數(shù)據(jù)的重復(fù)讀取。

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

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

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

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

數(shù)據(jù)交換管理模塊最重要的一個(gè)任務(wù)就是根據(jù)組態(tài)信息通過(guò)建立交換數(shù)據(jù)的映射表(DataMapTable )來(lái)正確指導(dǎo)總線間的數(shù)據(jù)交換,因此,首先測(cè)試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ù)吞吐量下,檢測(cè)數(shù)據(jù)映射關(guān)系的正確性。通過(guò)監(jiān)控軟件讀取8個(gè)AI功能塊的輸入,并與8個(gè)DP從站的數(shù)據(jù)進(jìn)行對(duì)比,從而判斷各個(gè)AI功能塊與DP從站的對(duì)應(yīng)關(guān)系是否正確。

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

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

四、結(jié)束語(yǔ)

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

利用網(wǎng)關(guān)能夠兼容差異較大的總線協(xié)議的特性,解決了兩種總線之間點(diǎn)對(duì)點(diǎn)的互連與互操作的問(wèn)題。在安裝新的現(xiàn)場(chǎng)總線設(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] 何巧麗,胡正國(guó),吳健.現(xiàn)場(chǎng)總線中多總線兼容技術(shù)[J]. 計(jì)算機(jī)應(yīng)用, 2002, Vol.22(7): 78-80.


評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉