PROFIBUS DP總線(xiàn)I/O設備的開(kāi)發(fā)研究
總線(xiàn)I/O是現場(chǎng)總線(xiàn)遠程I/O的簡(jiǎn)稱(chēng),是基于現場(chǎng)總線(xiàn)控制系統FCS中的主要設備,PROFIBUS-DP是總線(xiàn)I/O的主流通信協(xié)議。一個(gè)總線(xiàn)I/O設備可能需要多種總線(xiàn)接口,對于設備的開(kāi)發(fā)人員來(lái)講,他們專(zhuān)注于設備功能單元的核心技術(shù),如果讓他們從頭開(kāi)發(fā)各種通信接口,勢必會(huì )分散設備開(kāi)發(fā)人員的精力,增加開(kāi)發(fā)成本和開(kāi)發(fā)周期。
本文引用地址:http://dyxdggzs.com/article/156028.htm總線(xiàn)I/O的主要功能分為輸入、輸出兩部分。輸入是采集現場(chǎng)模擬信號(如4~20 mA)和開(kāi)關(guān)量信號(如24 V DC)轉換成為數字量并按照通信協(xié)議傳送到現場(chǎng)總線(xiàn)。輸出是將現場(chǎng)總線(xiàn)通信數據轉換成模擬輸出和開(kāi)關(guān)量輸出。PROFIBUS-DP總線(xiàn)I/O設備以從站的形式存在。
本文介紹如何使用XGate-DPS軟件庫設計設備軟件。通過(guò)下面的介紹,您可以快速地讓您的設備具有思想,最終成為一個(gè)功能完整的設備。
1 XGate-DPS軟件庫結構
XGate-DPS系列模塊都提供了軟件庫,用戶(hù)使用該軟件庫可以快速開(kāi)發(fā)出設備軟件。圖1是該軟件庫的結構圖,整個(gè)軟件架構將XGate-DPS的資源展示給用戶(hù),這些資源包括輸入數據、輸出數據、用戶(hù)參數數據、配置數據、診斷數據等等。圖中,灰色背景部分表示需要用戶(hù)編程。軟件庫針對8051、ARM平臺做了硬件相關(guān)的接口驅動(dòng),一般不需要做任何更改,如果使用新的硬件平臺, 用戶(hù)需要修改UART驅動(dòng)。
軟件庫自行完成UART數據傳輸控制、命令發(fā)送和接收及相關(guān)分析處理,即圖中的XGate數據處理部分;在XGate數據處理的上層,提供了用戶(hù)接口函數API,用戶(hù)使用這些函數完成對XGate-DPS的操作;一些基于事件的操作,如DP-V1的讀寫(xiě)和數據傳輸請求,XGate數據處理將通過(guò)回調方式獲取應答和處理;用戶(hù)應用程序APP可以直接訪(fǎng)問(wèn)XGate資源,但是,必須使用API來(lái)更新這些資源。
2 XGate-DPS軟件設計步驟
用戶(hù)使用該軟件庫對XGate-DPS10的操作其實(shí)就是完成回調函數、使用API更新資源、訪(fǎng)問(wèn)資源數據。整個(gè)設計遵循圖2所示的5個(gè)步驟,每個(gè)步驟需要完成的工作在圖中作了注釋?zhuān)渲?,大多數?chǎng)合不需要步驟3;在不使用DP-V1的情況下步驟4幾乎也是可以忽略的。
3 總線(xiàn)I/O設備的GSD文件
GSD文件是設備描述文件,當一個(gè)設備確定了其功能和參數后,GSD文件也就確定了。設備的GSD文件一般是通過(guò)修改示例GSD文件生成,示例GSD文件中的大部分關(guān)鍵字和參數已經(jīng)確定而不需要修改。本例中修改示例如下:
修改的內容一部分是設備的名稱(chēng)、序列號等信息,另一部分是設備組態(tài)數據和用戶(hù)參數數據部分。設備組態(tài)數據指示了設備的輸入輸出大小,決定了通信數據結構,組態(tài)數據的設置可以查看XGate-DPS10數據手冊的附錄;用戶(hù)參數數據是為了限定或指示設備數據的范圍或意義的,更詳細的信息請參考《XGate-DPS10數據手冊》。
4 APP設計及回調函數
軟件庫提供了demo示例代碼,一個(gè)軟件庫基礎操作單元如圖3所示。
在使用軟件包前,首先要配置cfg.h頭文件的宏定義,這包括與硬件相關(guān)的寄存器、緩沖區大小、設備屬性等的定義。
使用軟件包,用戶(hù)沒(méi)有必要去考慮如何與模塊通信,也不必了解PROFIBUS技術(shù)細節,只需要關(guān)心設備功能的實(shí)現及如何組織數據。一個(gè)典型的前后臺用戶(hù)程序框圖如圖4所示。
評論