嵌入式PROFIBUS-DP從站通信接口的設計
關鍵詞:現場總線;PROFIBUS-DP;從站;通信接口
引言
目前國內對自動化產品(電器、儀表、驅動裝置等)提出PROFIBUS通信功能要求,主要來源于:(1)國外生產設備及技術的引進,特別是從歐洲引進的成套設備通常采用PROFIBUS現場總線,因此對國內配套產品提出了現場總線PROFIBUS通信功能的技術要求;(2)國內自動化系統廠家比較成功的、面向行業的控制系統,要求系統技術向現場總線技術發展,同時也要求現場設備向智能化、網絡化方向發展。基于上述需求,嵌入式PROFIBUS-DP從站通信接口的設計為自主開發具有PROFIBUS-DP通信功能產品的用戶提供了一種快速、高效的解決方案。
實現方法
(1)電路設計制作:使用PROFIBUS通信專用ASIC芯片SPC3實現協議相關內容,選用合適的CPU,外圍加帶光電隔離的RS-485驅動;
(2)單片機+Firmware軟件:需要在單片機中編程(Firmware軟件),實現單片機與ASIC的結合;
(3)用戶產品的CPU通過串行接口向PROFIBUS-DP從站通信接口板讀/寫輸入/輸出數據;PROFIBUS-DP從站通信接口板自動轉換成PROFIBUS-DP協議與PROFIBUS主站通信;
(4)編寫GSD文件,搭建一個調試與測試平臺進行PROFIBUS系統配置。
硬件設計
嵌入式PROFIBUS-DP從站通信接口板(以下簡稱接口板)由CPU芯片、PROFIBUS協議芯片SPC3及光隔RS-485驅動等電路組成,如圖1所示。
接口板與用戶模板采用串口連接,使用波特率選擇開關可選擇指定的7種波特率(9600、19.2K、38.4K、57.4K、115.2K、230.4K、460、8K)中的一種;接口板需要用戶模板提供2組5V電源(VCC/GND-150mA和5V/0V-100mA),分別作為接口板的電源及光隔外電源,由16針插座J1引入。信號A、B、RTS及5V、0V可直接引到用戶模板PROFIBUS的D型插頭上(使用PCB布線或軟接線均可)。根據PROFIBUS產品測試技術規范,此接法引線或軟接線不宜過長,通常PCB引線不超過20cm、軟接線不超過10cm。
如果PROFIBUS的D型插頭與接口板之間需要更長的引線,可以從接口板上的10針插頭J2引出,此時需要采用外接口轉接板。
用戶模板PROFIBUS插頭為孔型(famel)D型插頭,與接口板16針插座連接如圖2所示。接口板CPU芯片采用普通的51單片機即可,考慮到PROFIBUS對速率的要求,推薦使用高速率、低功耗的8位AVR單片機作為接口板CPU。
軟件設計
接口板與用戶模板的串口
通信設置
接口板與用戶模板通過串口連接,Txd、Rxd為TTL電平,半雙工通信。通信方式采用應答方式:用戶模板主動詢問,接口板被動回答。設定每個字節用11bits傳送:1個啟始位、8個數據位、1個偶校驗位、1個停止位,即51內核單片機的通信方式3。
報文長度
接口模板的初始化報文(發送、接收)固定長度49字節;接口板與用戶模板之間數據交換報文(發送、接收),長度由用戶在初始化報文中設定,最大為113字節;PROFIBUS輸入/輸出數據量可自由設定,最大112字節輸入+112字節輸出。
實現功能
(1)可實現PROFIBUS用戶參數化功能:用戶模板可將一次性設置的參數在主站配置中設定,主站在與從站連接時一次將這些用戶參數傳送到從站,用戶模板可利用這些參數實現參數化;
(2)接口板與用戶模板通信有字符偶校驗和縱向報文校驗和,保證數據安全性;
(3)接口板內設有備份I/O通信緩沖區,可保證實現PROFIBUS與串口通信數據的完整性(一致性)和同步要求。
用戶模板的通信基本過程
初始化
用戶模板按接口板上波特率選擇開關設置的波特率向接口板發初始化報文,然后等待接收接口板的回答,如圖3所示。接口板回答初始化成功后,進入數據交換狀態。
數據交換狀態
初始化成功后接口板進入數據交換狀態,反復進行數據交換。此時,用戶模板主動向接口板發送“輸入數據報文”,其中包含PROFIBUS輸入數據;接口板回答“輸出數據報文”,其中包含PROFIBUS輸出數據,如圖4所示。
數據交換狀態下接口板的程序流程見圖5。
系統配置
關于GSD文件
(1)每一個PROFIBUS從站或一類主站有一個“設備描述文件”稱為GSD文件,用來描述該PROFIBUS-DP設備的特性;
(2)GSD文件包含了設備所有定義參數,包括:支持的波特率、支持的信息長度、輸入/輸出數據數量、診斷數據的含義、可選模塊種類等;
(3)無論使用什么樣的系統配置軟件,都要根據GSD文件來對設備配置。
(4)國際PROFIBUS組織PI提供了GSD文件編輯軟件gsdedit.exe,該軟件依照PROFIBUS技術標準格式規定,對用戶編輯的GSD文件進行格式檢查。
如何使用“用戶參數user-prm”
“用戶參數user-prm”的選擇對于工業現場設備,常需要用戶根據現場應用設定一些參數,其中有些參數不需要在設備運行中實時改變,如變頻器的電流上限保護與報警值、溫度傳感器的測量溫度范圍、熱電偶選型、輸出4~20mA/1~5V選擇等。如果這些參數作為PROFIBUS主站的I/O輸出,將占用PROFIBUS主站I/O資源和周期性輪循PROFIBUS從站的時間資源。
將這些參數處理成“用戶參數”,將會縮短PROFIBUS主站通信時間、減小通信報文長度、提高總線通信效率。使用“用戶參數”技術,只需要在主站配置中做出參數選擇,主站在與從站連接時,一次性將這些參數傳送到從站,從站就可以使用這些用戶選擇的參數對從站進行參數化(初始化、參數設定)。
確定“用戶參數”類型、個數、字節長度
在主站配置中選擇用戶參數用戶在系統中配置從站參數,完全靠GSD文件描述。在STEP7的HARDWARE中配置從站,可設定總線波特率及站地址,其中設定的站地址必須與用戶模板上地址設置一致。
帶有“用戶參數”選擇菜單的GSD文件,可在STEP7中生成更加友好的用戶參數配置界面。
結束語
應用嵌入式PROFIBUS-DP從站通信接口的設計方案,用戶不必了解PROFIBUS技術規范細節。具有開發周期短、技術指標高、技術升級快、擁有產品自主知識產權等優點,但用戶須有單片機產品開發經驗及PROFIBUS產品應用經驗。目前國內多家儀表廠商已在此方案的基礎上開發出了自己的PROFIBUS-DP從站產品。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論