時間:2009-12-28 16:12:03來源:yangliu
摘 要:根據智能閥門定位器總線化的要求,開發了基于FF協議的通信接口,闡述了雙處理器結構的OEM開發思想,給出了實現FF通信的詳細步驟和開發工具。經測試,閥門定位器實現了FF總線通信功能,證明了開發方案的可行性。
關鍵字:現場總線 基金會現場總線 通信接口 圓卡 閥門定位器
1 引言
基金會現場總線(FF)是在過程自動化領域得到廣泛支持和具有良好發展前景的現場總線技術。它分低速(FF-HI)和高速(FF-HSE)兩部分,并且均被現場總線國際標準IEC61158所采用。由于FF協議把通信和控制兩大部分功能結合在一起,因此協議本身的體系結構非常復雜。從實現方面來說,雖然FF協議本身是公開的,但是它并不涉及協議的實現,因此有許多有關實現的工作要做。
本文講述了FF-HI總線智能閥門定位器的通信接口的開發,對于其它4-20mA設備或者智能設備的基金會現場總線通信接口的開發,有一定的參考價值。
2 總體設計
2.1 開發方案
在對不同的現場設備開發思路進行分析、比較的基礎上,采用了雙處理器(CPU)結構的原始設備制造商(OEM)開發方案,即智能閥門定位器的硬件部分主要由儀表卡和圓卡構成。其原理結構如圖1所示。
儀表卡采用MSP430單片機做主芯片,實現智能閥門定位器的初始化、閥位反饋、報警、顯示等基本功能,這部分軟硬件的開發已經完成;通訊圓卡為數據傳輸和控制部分,需要完成現場總線的通信和各種控制算法,本設計使用經認證的通訊圓上學簡化了圓卡的硬件開發,只需完成儀表卡CPU與圓卡CPU之間的通信接口、圓卡和FF總線通訊和設備功能塊的調用等功能的軟件開發。
2.2 開發工具
本文采用了Fielbus Inc公司提供的現場設備開發工具包進行通信接口的開發。此工具包包含了設備開發和組網運行的必要元素,使用戶不必對低級現場總線協議有深入的了解,就可以方便地設計出新的總線產品。該套開發工具包括:圓卡、串行編程子卡、PC機接口卡、圓卡編程工具、FF-HI通信棧軟件、FI功能塊應用軟件、電源、電纜及其它工具。
HI現場總線圓卡是開發FF兼容設備的硬件接口,采用總線供電,可接口到符合FF-HI協議的網絡中。圓卡使用MC68331嵌入處理器和可編程的128KB×16閃存運行通信棧接口庫、功能塊殼和用戶應用程序。同時有一個128KB×16SRAM提供易失性存儲器,用來存儲總線管理信息庫參數和塊參數。圓卡與儀表卡測量部件的連接通過串行編程子卡實現。子卡可以執行DIO、A/D、D/A功能,通過2×21針WI插口與圓卡連接。
3 通信方案的設計
本文采用串行通訊接口方式實現圓卡與儀表卡的通訊。其中,圓卡擔當主叫方,發起通訊,儀表卡擔當從機,響應圓卡的通訊。圓卡通過串行函數完成呼叫、發送和接收數據的功能,儀表卡采用串行中斷方式實現串行通訊處理。
串行函數在圓卡和串行設備之間提供一個傳遞數據的通用方式。它和用于與串行設備進行通訊的通信棧協議及功能塊殼的調用功能相互獨立。對于使用三線串行通訊方式的通訊,串行函數提供了兩種數據格式,其中通用串行格式為通用主/從命令/響應串行協議,需要用戶對命令及響應數據包進行編碼和解碼。
串行函數可設置為連續發送/接收一個定義的命令序列,該序列由nihDefineSequence和nihSendCommand函數定義。nihDefineSequence定義發送給設備的序列中的命令行數,nihSendCommand定義序列中的命令。一個命令是一個串行的相互動作,它包括一個發送、一個接收或兩者。當完成對序列中最后一個命令的定義后,序列按照命令定義的順序發送所有的命令。使用nihDefineSequence或nihSendCommand函數取消序列的運行。使用函數nihDefineSequence和nihSendCommand可修改命令數據并保留命令序列中最后的響應數據。直接調用nihPutData,設置發送緩沖器中要改變數據的當前值,也可調用nihGetData,保留序列最后一次執行時,從串行設備接收到的數據包。調用nihsetparam函數可設置圓卡的通訊參數,如命令重發次數、前導碼數目、超時、串行協議類型、波特率、校驗類型、停止位。
4 圓卡應用開發
圓卡執行NI專門為FF設計的且通過了FF一致性測試的通訊棧軟件,可完成鏈路主設備LAS和基本設備的通訊任務。此外,圓卡執行NI功能塊殼軟件,該軟件為開發FF所需的塊提供一個應用程序接口。圓卡應用的開發步驟如下。
4.1 寫設備模板,并將設備模板轉換為C代碼
設備模板是一個ASCⅡ碼文件,包括設備辯識、設備中的物理快和功能塊,以及設備的參數等內容。模板文件包括若干部分,每一部分均由一關鍵字及其描述組成。次序如下:VFD,UDER_TYPE,BLOCKS,TRENDS,VARLISTS。根據閥門定位器的功能,本設計選用了PID功能塊和AO功能塊。
設備模板由設備代碼生成器轉換為C代碼。設備代碼生成器codegen.exe的命令行為:
codegen devicetemplate.dat outputfile.c nifb.sym其中devicetemplate.dat為設備模板文件名,outputfile.c為轉換完的輸出文件名。
4.2 寫用戶應用文件
用戶應用程序為實現定位器功能的主要部分。它利用功能快殼所提供的與FF通訊棧的高級接口,處理有關網絡通訊的參數讀寫,完成總線通訊功能。并通過注冊回調(callback)函數和執行功能快具體算法實現FF標準功能快功能。用戶應用程序的程序框圖如圖2所示。
(1)寫功能塊的回調函數,userStart函數以及注冊回調函數。
回調函數完成以下兩種功能:執行功能塊算法以及處理報警確認和辯識。當功能快被調度執行時,功能塊殼調用開發設備所定義的回調執行函數,在回調執行(CB_EXE)函數中編寫算法以完成需要功能塊執行的動作。CB_EXE函數的定義格式為:void(CB_EXE(HDL_BLOCK hBlock)。
userStart函數在通訊棧啟動時被自動調用,可以初始化功能塊殼并通過它注冊開發設備的Callback函數。功能快應用進程使用注冊函數以通知功能塊殼用戶應用的特性,包括用戶定義的數據類型、物理塊、變送塊、功能塊、塊參數等。在userStart中調回用shRegistCallback函數注冊Callback函數。
(2)指定系統時鐘和RAM大小,定義和安裝中斷處理器。
在圓卡應用程序和源代碼中聲明并定義兩個全局變量: SystemCleckSpeed和Ramsize,其初始化有效值分別為: SystemCleckSpeed,選擇1代表4MHz的時鐘;Ramsize,選擇2代表256KB。
圓卡提供優先級數為3、4、6的中斷引腳,它們可為圓卡的任何中斷源所使用,同時還能使用CPU的內部模塊產生必要的中斷。如在設備應用中使用中斷,則必須在用戶應用程序中安裝中斷處理器,并用niInstallIntHandler作棧功能調用。本設計中未使用中斷處理器。
4.3 生成設備組態并將設備組態轉換為C代碼
設備組態文件包括數據鏈路組態和系統管理組態,它們對設備類型(基本設備或鏈路主設備)、節點地址、設備ID號、設備位號、設備調度時間單位、調度時間表進行了定義。
運行組態生成器,將ini文件轉換成為可鏈接的.e文件。其命令行為:
efggen device.ini devicecfg.c
其中,device.ini表示設備組態文件,devicecfg為輸出的.c文件的名稱。
4.4 編輯、鏈接并下載程序
在調試環境下,下載鏈接器輸出文件到RAM進行調試,全調試后,生成二進制格式,使用biBum.exe命令,將程序代碼下載到閃存中。第一步是編輯,將設備代碼生成器生成的.c文件、組態生成器生成的.c文件(包括userStart函數,callbacks函數)轉化到.o格式,第二步,將它們與NI的通信棧軟件nistack.lib相鏈接。該圓卡庫文件包含通訊棧協議和功能塊殼。最后用戶應用與庫鏈接完成后,從鏈接器的輸出文件中提出對象字節,并將它們轉換為二進制的格式。這樣便可將它們下載到目標處理器的存儲器中。
4.5 燒寫內存
圓卡使用niBurn.exe命令通過主機上的RS-232口和串行編程子卡上的串口燒寫內存,而無需外部PROM燒寫器。
5 結論
使用開發工具包括提供的NI-FBUS組態器和NI-FBUS監視器,采用AT-FBUS板作為鏈路主設備對圓卡進行整機測試,測試結果表明,自主開發的閥門定位器與圓卡連接之后,在實現電氣智能閥門定位器功能的同時,可能與其它總線設備互操作,可以接受鏈路主設備的功能塊調度、參數讀寫、參數傳遞,這表明儀表能正常運行于FF總線之上,具備了FF總線儀表的功能,同時證明了整體設計方案和所采用的開發方法是可行的。
參考文獻
1. 陽憲慧.現場總線技術及其應用[M] 北京:清華大學出版社,1999:70~186
2. National Instruments Corporation.MC68331-BasedFieldbusRoundCardUserManual[R] .USA:1998
3. 龐彥斌,王勝,程煒.基于FF協議的智能氣動閥門定位器開發[J] .儀器儀表學報,2001,22(3):34~37
標簽:
上一篇:基于Web的故障診斷技術的實現
中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-04-30
2025-04-11
2025-04-08
2025-03-31
2025-03-26
2025-03-20