安科瑞 徐玉麗
(江蘇安科瑞電器制造有限公司 江蘇江陰 214405)
摘 要:分析了PROFIBUS-DP傳輸協議與報文結構,設計了一種基于串口通信的PROFIBUS-DP總線性能分析與診斷軟件,給出了程序的實現方法和關鍵技術,在PROFIBUS-DP實驗平臺上進行了運行調試。結果表明,該軟件運行良好,可以基本完成對PROFIBUS-DP報文采集、分析和存儲等功能。
關鍵詞:現場總線, PROFIBUS-DP,通信協議,報文,串口。
0 引言
PROFIBUS是工業自動化領域內市場占有率最高的一種現場總線技術,它包括用于制造業自動化的PROFIBUS-DP和用于流程工業領域的PROFIBUS-PA,它是目前我國惟一的現場總線國家標準。隨著越來越多工業控制系統采用了PROFIBUS現場總線技術,對這些控制系統進行具體的、直觀的和實時的在線分析與診斷成為了最基本的要求,要想完成這樣的任務,就需要有相應的工程分析診斷工具。國內外目前所研究的這些總線性能分析診斷工程工具存在著功能不夠全面、界面不夠完善、價格昂貴、不適合中國國情等問題。開發一款能夠對總線系統進行分析和診斷,方便的、性能價格比高的分析診斷工程工具必將成為急需的產品。
由于在PRIFBUS傳輸報文可以反映出總線性能的很多參數,包括各種故障狀態。比如:從參數化報文可以看出主站和從站的關系,從站的操作方式,包括通道參數、功能設定、裝置參數和ID號等。從組態報文可以看出從站I/0類型及性質,以及模塊的I/O性質及數據類型等。從診斷報文可以看出從站各種參數設置錯誤,各種組態錯誤,以及裝置模塊錯誤類型。所以,本文作者就是在對PROFIBUS-DP報文進行詳盡分析的基礎上,采用VC++ 6.0開發了一款基于串口通訊的PROFIBUS性能分析診斷軟件。
1 PROFIBUS工作機理
1.1 PROFIBUS-DP編碼技術
PROFIBUS-DP交換數據使用異步傳輸技術和NRZ編碼。NRZ編碼的二進制信號“0”或“1”的信號電平在信號持續期間維持不變。圖1所示為NRZ碼信號圖。

圖1 非歸零碼信號
每個數據鏈路層協議數據單元應由一定數量的字符組成,每個字符都是一個用于異步傳輸的起——停字符。
每個字符由11個比特組成,包括1個總是為二進制“0”的起始比特(ST),8個可以是二進制數“0”亦可以是二進制數“1”的信息比特,1個可以是二進制“1”也可以是二進制數“0”的偶校驗比特(P),1個總是為二進制數“1”的停止比特,如圖2所示。
圖2 單個字符格式