技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于FF協(xié)議的智能閥門定位器通信接口的開發(fā)

基于FF協(xié)議的智能閥門定位器通信接口的開發(fā)

時間:2009-12-28 16:12:03來源:yangliu

導(dǎo)語:?根據(jù)智能閥門定位器總線化的要求,開發(fā)了基于FF協(xié)議的通信接口,闡述了雙處理器結(jié)構(gòu)的OEM開發(fā)思想,給出了實現(xiàn)FF通信的詳細步驟和開發(fā)工具。

摘  要:根據(jù)智能閥門定位器總線化的要求,開發(fā)了基于FF協(xié)議的通信接口,闡述了雙處理器結(jié)構(gòu)的OEM開發(fā)思想,給出了實現(xiàn)FF通信的詳細步驟和開發(fā)工具。經(jīng)測試,閥門定位器實現(xiàn)了FF總線通信功能,證明了開發(fā)方案的可行性。
關(guān)鍵字:現(xiàn)場總線   基金會現(xiàn)場總線   通信接口   圓卡   閥門定位器

1   引言
    基金會現(xiàn)場總線(FF)是在過程自動化領(lǐng)域得到廣泛支持和具有良好發(fā)展前景的現(xiàn)場總線技術(shù)。它分低速(FF-HI)和高速(FF-HSE)兩部分,并且均被現(xiàn)場總線國際標(biāo)準(zhǔn)IEC61158所采用。由于FF協(xié)議把通信和控制兩大部分功能結(jié)合在一起,因此協(xié)議本身的體系結(jié)構(gòu)非常復(fù)雜。從實現(xiàn)方面來說,雖然FF協(xié)議本身是公開的,但是它并不涉及協(xié)議的實現(xiàn),因此有許多有關(guān)實現(xiàn)的工作要做。
本文講述了FF-HI總線智能閥門定位器的通信接口的開發(fā),對于其它4-20mA設(shè)備或者智能設(shè)備的基金會現(xiàn)場總線通信接口的開發(fā),有一定的參考價值。

2   總體設(shè)計
2.1  開發(fā)方案
    在對不同的現(xiàn)場設(shè)備開發(fā)思路進行分析、比較的基礎(chǔ)上,采用了雙處理器(CPU)結(jié)構(gòu)的原始設(shè)備制造商(OEM)開發(fā)方案,即智能閥門定位器的硬件部分主要由儀表卡和圓卡構(gòu)成。其原理結(jié)構(gòu)如圖1所示。

 

圖1  FF總線智能閥門定位器原理結(jié)構(gòu)圖



    儀表卡采用MSP430單片機做主芯片,實現(xiàn)智能閥門定位器的初始化、閥位反饋、報警、顯示等基本功能,這部分軟硬件的開發(fā)已經(jīng)完成;通訊圓卡為數(shù)據(jù)傳輸和控制部分,需要完成現(xiàn)場總線的通信和各種控制算法,本設(shè)計使用經(jīng)認證的通訊圓上學(xué)簡化了圓卡的硬件開發(fā),只需完成儀表卡CPU與圓卡CPU之間的通信接口、圓卡和FF總線通訊和設(shè)備功能塊的調(diào)用等功能的軟件開發(fā)。

2.2  開發(fā)工具
    本文采用了Fielbus Inc公司提供的現(xiàn)場設(shè)備開發(fā)工具包進行通信接口的開發(fā)。此工具包包含了設(shè)備開發(fā)和組網(wǎng)運行的必要元素,使用戶不必對低級現(xiàn)場總線協(xié)議有深入的了解,就可以方便地設(shè)計出新的總線產(chǎn)品。該套開發(fā)工具包括:圓卡、串行編程子卡、PC機接口卡、圓卡編程工具、FF-HI通信棧軟件、FI功能塊應(yīng)用軟件、電源、電纜及其它工具。

    HI現(xiàn)場總線圓卡是開發(fā)FF兼容設(shè)備的硬件接口,采用總線供電,可接口到符合FF-HI協(xié)議的網(wǎng)絡(luò)中。圓卡使用MC68331嵌入處理器和可編程的128KB×16閃存運行通信棧接口庫、功能塊殼和用戶應(yīng)用程序。同時有一個128KB×16SRAM提供易失性存儲器,用來存儲總線管理信息庫參數(shù)和塊參數(shù)。圓卡與儀表卡測量部件的連接通過串行編程子卡實現(xiàn)。子卡可以執(zhí)行DIO、A/D、D/A功能,通過2×21針WI插口與圓卡連接。

3   通信方案的設(shè)計
    本文采用串行通訊接口方式實現(xiàn)圓卡與儀表卡的通訊。其中,圓卡擔(dān)當(dāng)主叫方,發(fā)起通訊,儀表卡擔(dān)當(dāng)從機,響應(yīng)圓卡的通訊。圓卡通過串行函數(shù)完成呼叫、發(fā)送和接收數(shù)據(jù)的功能,儀表卡采用串行中斷方式實現(xiàn)串行通訊處理。

    串行函數(shù)在圓卡和串行設(shè)備之間提供一個傳遞數(shù)據(jù)的通用方式。它和用于與串行設(shè)備進行通訊的通信棧協(xié)議及功能塊殼的調(diào)用功能相互獨立。對于使用三線串行通訊方式的通訊,串行函數(shù)提供了兩種數(shù)據(jù)格式,其中通用串行格式為通用主/從命令/響應(yīng)串行協(xié)議,需要用戶對命令及響應(yīng)數(shù)據(jù)包進行編碼和解碼。

    串行函數(shù)可設(shè)置為連續(xù)發(fā)送/接收一個定義的命令序列,該序列由nihDefineSequence和nihSendCommand函數(shù)定義。nihDefineSequence定義發(fā)送給設(shè)備的序列中的命令行數(shù),nihSendCommand定義序列中的命令。一個命令是一個串行的相互動作,它包括一個發(fā)送、一個接收或兩者。當(dāng)完成對序列中最后一個命令的定義后,序列按照命令定義的順序發(fā)送所有的命令。使用nihDefineSequence或nihSendCommand函數(shù)取消序列的運行。使用函數(shù)nihDefineSequence和nihSendCommand可修改命令數(shù)據(jù)并保留命令序列中最后的響應(yīng)數(shù)據(jù)。直接調(diào)用nihPutData,設(shè)置發(fā)送緩沖器中要改變數(shù)據(jù)的當(dāng)前值,也可調(diào)用nihGetData,保留序列最后一次執(zhí)行時,從串行設(shè)備接收到的數(shù)據(jù)包。調(diào)用nihsetparam函數(shù)可設(shè)置圓卡的通訊參數(shù),如命令重發(fā)次數(shù)、前導(dǎo)碼數(shù)目、超時、串行協(xié)議類型、波特率、校驗類型、停止位。

4   圓卡應(yīng)用開發(fā)
    圓卡執(zhí)行NI專門為FF設(shè)計的且通過了FF一致性測試的通訊棧軟件,可完成鏈路主設(shè)備LAS和基本設(shè)備的通訊任務(wù)。此外,圓卡執(zhí)行NI功能塊殼軟件,該軟件為開發(fā)FF所需的塊提供一個應(yīng)用程序接口。圓卡應(yīng)用的開發(fā)步驟如下。

4.1  寫設(shè)備模板,并將設(shè)備模板轉(zhuǎn)換為C代碼
    設(shè)備模板是一個ASCⅡ碼文件,包括設(shè)備辯識、設(shè)備中的物理快和功能塊,以及設(shè)備的參數(shù)等內(nèi)容。模板文件包括若干部分,每一部分均由一關(guān)鍵字及其描述組成。次序如下:VFD,UDER_TYPE,BLOCKS,TRENDS,VARLISTS。根據(jù)閥門定位器的功能,本設(shè)計選用了PID功能塊和AO功能塊。

    設(shè)備模板由設(shè)備代碼生成器轉(zhuǎn)換為C代碼。設(shè)備代碼生成器codegen.exe的命令行為:
    codegen devicetemplate.dat outputfile.c nifb.sym其中devicetemplate.dat為設(shè)備模板文件名,outputfile.c為轉(zhuǎn)換完的輸出文件名。

4.2  寫用戶應(yīng)用文件
    用戶應(yīng)用程序為實現(xiàn)定位器功能的主要部分。它利用功能快殼所提供的與FF通訊棧的高級接口,處理有關(guān)網(wǎng)絡(luò)通訊的參數(shù)讀寫,完成總線通訊功能。并通過注冊回調(diào)(callback)函數(shù)和執(zhí)行功能快具體算法實現(xiàn)FF標(biāo)準(zhǔn)功能快功能。用戶應(yīng)用程序的程序框圖如圖2所示。

 

圖2  用戶應(yīng)用程序框圖



    (1)寫功能塊的回調(diào)函數(shù),userStart函數(shù)以及注冊回調(diào)函數(shù)。
    回調(diào)函數(shù)完成以下兩種功能:執(zhí)行功能塊算法以及處理報警確認和辯識。當(dāng)功能快被調(diào)度執(zhí)行時,功能塊殼調(diào)用開發(fā)設(shè)備所定義的回調(diào)執(zhí)行函數(shù),在回調(diào)執(zhí)行(CB_EXE)函數(shù)中編寫算法以完成需要功能塊執(zhí)行的動作。CB_EXE函數(shù)的定義格式為:void(CB_EXE(HDL_BLOCK hBlock)。

    userStart函數(shù)在通訊棧啟動時被自動調(diào)用,可以初始化功能塊殼并通過它注冊開發(fā)設(shè)備的Callback函數(shù)。功能快應(yīng)用進程使用注冊函數(shù)以通知功能塊殼用戶應(yīng)用的特性,包括用戶定義的數(shù)據(jù)類型、物理塊、變送塊、功能塊、塊參數(shù)等。在userStart中調(diào)回用shRegistCallback函數(shù)注冊Callback函數(shù)。

    (2)指定系統(tǒng)時鐘和RAM大小,定義和安裝中斷處理器。
    在圓卡應(yīng)用程序和源代碼中聲明并定義兩個全局變量: SystemCleckSpeed和Ramsize,其初始化有效值分別為: SystemCleckSpeed,選擇1代表4MHz的時鐘;Ramsize,選擇2代表256KB。

    圓卡提供優(yōu)先級數(shù)為3、4、6的中斷引腳,它們可為圓卡的任何中斷源所使用,同時還能使用CPU的內(nèi)部模塊產(chǎn)生必要的中斷。如在設(shè)備應(yīng)用中使用中斷,則必須在用戶應(yīng)用程序中安裝中斷處理器,并用niInstallIntHandler作棧功能調(diào)用。本設(shè)計中未使用中斷處理器。

4.3  生成設(shè)備組態(tài)并將設(shè)備組態(tài)轉(zhuǎn)換為C代碼
    設(shè)備組態(tài)文件包括數(shù)據(jù)鏈路組態(tài)和系統(tǒng)管理組態(tài),它們對設(shè)備類型(基本設(shè)備或鏈路主設(shè)備)、節(jié)點地址、設(shè)備ID號、設(shè)備位號、設(shè)備調(diào)度時間單位、調(diào)度時間表進行了定義。

    運行組態(tài)生成器,將ini文件轉(zhuǎn)換成為可鏈接的.e文件。其命令行為:
      efggen device.ini devicecfg.c
    其中,device.ini表示設(shè)備組態(tài)文件,devicecfg為輸出的.c文件的名稱。

4.4  編輯、鏈接并下載程序
    在調(diào)試環(huán)境下,下載鏈接器輸出文件到RAM進行調(diào)試,全調(diào)試后,生成二進制格式,使用biBum.exe命令,將程序代碼下載到閃存中。第一步是編輯,將設(shè)備代碼生成器生成的.c文件、組態(tài)生成器生成的.c文件(包括userStart函數(shù),callbacks函數(shù))轉(zhuǎn)化到.o格式,第二步,將它們與NI的通信棧軟件nistack.lib相鏈接。該圓卡庫文件包含通訊棧協(xié)議和功能塊殼。最后用戶應(yīng)用與庫鏈接完成后,從鏈接器的輸出文件中提出對象字節(jié),并將它們轉(zhuǎn)換為二進制的格式。這樣便可將它們下載到目標(biāo)處理器的存儲器中。

4.5  燒寫內(nèi)存
    圓卡使用niBurn.exe命令通過主機上的RS-232口和串行編程子卡上的串口燒寫內(nèi)存,而無需外部PROM燒寫器。

5   結(jié)論
    使用開發(fā)工具包括提供的NI-FBUS組態(tài)器和NI-FBUS監(jiān)視器,采用AT-FBUS板作為鏈路主設(shè)備對圓卡進行整機測試,測試結(jié)果表明,自主開發(fā)的閥門定位器與圓卡連接之后,在實現(xiàn)電氣智能閥門定位器功能的同時,可能與其它總線設(shè)備互操作,可以接受鏈路主設(shè)備的功能塊調(diào)度、參數(shù)讀寫、參數(shù)傳遞,這表明儀表能正常運行于FF總線之上,具備了FF總線儀表的功能,同時證明了整體設(shè)計方案和所采用的開發(fā)方法是可行的。

參考文獻
1. 陽憲慧.現(xiàn)場總線技術(shù)及其應(yīng)用[M] 北京:清華大學(xué)出版社,1999:70~186
2. National Instruments Corporation.MC68331-BasedFieldbusRoundCardUserManual[R] .USA:1998
3. 龐彥斌,王勝,程煒.基于FF協(xié)議的智能氣動閥門定位器開發(fā)[J] .儀器儀表學(xué)報,2001,22(3):34~37

標(biāo)簽:

點贊

分享到:

上一篇:基于Web的故障診斷技術(shù)的實現(xiàn)

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(m.u63ivq3.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號