FF與PROFIBUS之間網(wǎng)關(guān)的實(shí)現(xiàn)與測試
FF與PROFIBUS之間網(wǎng)關(guān)的實(shí)現(xiàn)與測試 | |
呂勇 周侗 王天然 于海斌 本文引用地址:http://butianyuan.cn/article/7711.htm | |
一、概述 典型的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. |
評論