返回首頁 | 收藏本站 | 聯(lián)系我們
基于 FF 協(xié)議的壓力變送器通信卡軟件的開發(fā)
現(xiàn)在位置: 壓力變送器 > 新聞中心 > 經(jīng)驗與文獻 > 正文

基于 FF 協(xié)議的壓力變送器通信卡軟件的開發(fā)

時間:2017-09-21

  摘 要:根據(jù)#新開發(fā)的#新一代 PDS8 壓力變送器對總線的要求,開發(fā)基于 FF 協(xié)議的通信卡,該通信卡支持雙 CPU 通訊,提供 6mA/3.3V ,并支持多種 FF 標準功能塊。 本文介紹 FF 通信卡開發(fā)流程和開發(fā)工具,重點闡述用戶應用程序的開發(fā)。開發(fā)完成后使用 NI-FBUS 在線功能調(diào)試,結(jié)果表明基于 FF 協(xié)議的 PDS8 壓力變送器實現(xiàn)了雙 CPU 通訊功能。8Nb壓力變送器_差壓變送器_液位變送器_溫度變送器

 
 引言
        基金會現(xiàn)場總線( FF )是一種全數(shù)字化、串行的、雙向的、多站點式的通訊系統(tǒng)。它以 ISO/OSI 模型為基礎,取 OSI 的物理層、數(shù)據(jù)鏈路層、應用層為 FF 通信模型的相應層次,并在應用層上增加了用戶層。 用戶層主要針對自動化測控應用的需求,定義了用戶通訊需求, 并采用設備描述語言規(guī)定了通用的功能塊集。FF 總線包括 H1-FF 和 HSE-FF 總線, 前者為低速總線,波特率為 31.25kbps ,支持過程控制應用;后者為高速總線,可達 100Mbps ,用于高性能控制、子系統(tǒng)集成、高密度數(shù)據(jù)生成,并支持數(shù)據(jù)服務器。本文針對#新一代PDS8 壓力變送器開發(fā)相應的 H1-FF 通信卡軟件部分。
 
1 軟件設計
        利用中科博微提供的協(xié)議棧基于 AT91SAM7 系列 MPU 進行開發(fā), 采用 NUCLEUS plus 操作系統(tǒng)平臺。 在已經(jīng)開發(fā)好了的底層接口和協(xié)議棧的物理層、鏈路層、網(wǎng)絡層上,開發(fā)其應用層。 硬件平臺同期正在開發(fā)中,預計與軟件開發(fā)同時完成。 儀表卡采用測控公司#新一代 PDS8 壓力變送器, 因此只需完成儀表與通信卡之間的雙 CPU 通訊、通訊卡與 FF 通訊的開發(fā)即可。 雙卡之間采用串行通押么完成信息傳遞,由通訊卡完成與 FF 總線的通訊,從而使 PDS8 變送器具備總線現(xiàn)場儀表的基本功能。
 
1.1 開發(fā)流程
        通訊卡軟件開發(fā)分為固件開發(fā)和設備描述開發(fā)。
 
        固件開發(fā)主要創(chuàng)建通訊卡各功能塊,并定義轉(zhuǎn)換塊結(jié)構體、視圖對象、塊參數(shù)描述表,編寫讀寫函數(shù)、報警函數(shù)、模式轉(zhuǎn)換函數(shù)等,然后采用某種協(xié)議與儀表卡進行數(shù)據(jù)通訊。
 
        設備描述開發(fā)是對設備 DD 文件和 CFF 文件的開發(fā), DD 文件經(jīng)過編譯后生成 .sym 和 .ffo 文件, 然后在固件開發(fā)中添加位于 .sym 中的參數(shù) ID 號, #后利用在線調(diào)試工具 NI-FBUS 對加載 CFF 文件和 sym 和 .ffo 文件進行調(diào)試。
 
        固件開發(fā)完成后直接燒寫在通信卡上,連接儀表卡即可使用,而設備描述開發(fā)多用于可視化在線調(diào)試時加載使用,它們之間的關系如圖 1 所示。
 固件開發(fā)與設備描述開發(fā)之間的關系圖
        各個階段使用的開發(fā)工具和編譯工具不同。 固件開發(fā)使用 Source Insight 開發(fā), Green Hills 編譯, JLINK下載; CFF 文件使用文本開發(fā)、 DD 文件采用 DD Edit開發(fā), DD_IDE 集成環(huán)境編譯,通過 NI-FBUS 加載。 按圖 1 進行調(diào)試環(huán)境配置并調(diào)試。
 
1.2 開發(fā)重點
        用戶應用程序基于協(xié)議棧實現(xiàn)雙 CPU 通訊和儀表與通訊卡之間的數(shù)據(jù)傳遞。 根據(jù)函數(shù)功能的不同劃分為兩部分:用戶執(zhí)行函數(shù)、轉(zhuǎn)換塊執(zhí)行函數(shù)。
 
1.2.1 用戶執(zhí)行函數(shù)
        用戶執(zhí)行程序主要任務是根據(jù)指令進行雙 CPU通訊,其具體流程(如圖 2 所示):
        ( 1 )與儀表卡進行初始化握手。
        ( 2 )當握手成功后,分段讀取儀表參數(shù)(因為儀表參數(shù)地址不連續(xù))。
        ( 3 )當?shù)匾麓巫x取儀表參數(shù)完成后,進入等待狀態(tài),同時檢測相應參數(shù)修改標志位是否改變,若改變則對參數(shù)下達修改命令進行修改,#后讀取循環(huán)變量參數(shù),并刷新儀表參數(shù)。
 用戶執(zhí)行流程圖
1.2.2 轉(zhuǎn)換塊執(zhí)行函數(shù)
        轉(zhuǎn)換塊執(zhí)行函數(shù)任務是對轉(zhuǎn)換塊的模式進行計算、報警條件監(jiān)測、觸發(fā)報警后發(fā)送報警以及將儀表卡參數(shù)傳遞給轉(zhuǎn)換塊等。轉(zhuǎn)換塊執(zhí)行流程(如圖 3 所示):
        ( 1 )報警監(jiān)測以及發(fā)送 OS 報警。 判斷資源塊狀態(tài)和目標模式,當觸發(fā)報警后,調(diào)用 TB_ENTER_OS 函數(shù)進入 OS 模式,設置 BLOCK_ERR 參數(shù)為 OS ,清除報警信息并發(fā)送功能塊 OS 報警。 此時測量主值和次值狀況為 OS 狀態(tài)。
        ( 2 )報警確認。 當 FBShell 接收到報警接收設備的報警確認后, 調(diào)用 FB_Alm_Comfirm 函數(shù)確認服務并設置報警參數(shù)。如將報警計數(shù)器減 1 ,設置報警參數(shù)的狀態(tài)為“激活 - 已經(jīng)發(fā)送”、“清除 - 已經(jīng)發(fā)送”或者“更新 - 已經(jīng)發(fā)送”。
        ( 3 )退出 OS 報警。 當目標模式為 AUTO 模式時,功能塊退出 OS 模式,檢查靜態(tài)版本號,判斷是否需要發(fā)送事件更新報警, 并設置 BLOCK_ERR 參數(shù)清除OS 模式,將儀表參數(shù)傳遞給轉(zhuǎn)換塊參數(shù)。
 轉(zhuǎn)換塊執(zhí)行流程
2 下載與調(diào)試
        完成通訊卡開發(fā)后,使用 Green Hills Multi 集成開環(huán)境進行編譯,然后運行 make_round_release_bin.bat腳本文件連接 FBShell 庫和操作系統(tǒng)庫, 生成 bin 文件,將 bin 文件通過 JLink 下載至通訊卡上,#后連接儀表卡后使用在線組態(tài)調(diào)試工具 NI-FBUS 進行調(diào)試。
 
3 結(jié)語
        經(jīng)過 NI-FBUS 組態(tài)調(diào)試工具調(diào)試后,儀表卡與通訊卡之間通訊正常,并且可進行參數(shù)讀寫、參數(shù)傳遞、儀表地址修改、儀表校準等操作,這表明整體設計方案具有可行性。 這款 FF 壓力變送器將經(jīng)過認證進入實際應用中。
版權所有:http://bthybj.cn/ 轉(zhuǎn)載請注明出處

看過本文的人還看過的文章

你可能感興趣的文章

相關產(chǎn)品