當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]采用PROFIBUS-DP的FCS性能研究及診斷軟件開發(fā)

PROFIBUS是工業(yè)自動化領域內市場占有率最高的一種現(xiàn)場總線技術,它包括用于制造業(yè)自動化的PROFIBUS-DP和用于流程工業(yè)領域的PROFIBUS-PA,它是目前我國惟一的現(xiàn)場總線國家標準。隨著越來越多工業(yè)控制系統(tǒng)采用了PROFIBUS現(xiàn)場總線技術,對這些控制系統(tǒng)進行具體的、直觀的和實時的在線分析與診斷成為了最基本的要求,要想完成這樣的任務,就需要有相應的工程分析診斷工具。國內外目前所研究的這些總線性能分析診斷工程工具存在著功能不夠全面、界面不夠完善、價格昂貴、不適合中國國情等問題。開發(fā)一款能夠對總線系統(tǒng)進行分析和診斷,方便的、性能價格比高的分析診斷工程工具必將成為急需的產品。

由于在PRIFBUS傳輸報文可以反映出總線性能的很多參數(shù),包括各種故障狀態(tài)。比如:從參數(shù)化報文可以看出主站和從站的關系,從站的操作方式,包括通道參數(shù)、功能設定、裝置參數(shù)和ID號等。從組態(tài)報文可以看出從站I/0類型及性質,以及模塊的I/O性質及數(shù)據類型等。從診斷報文可以看出從站各種參數(shù)設置錯誤,各種組態(tài)錯誤,以及裝置模塊錯誤類型。所以,本文作者就是在對PROFIBUS-DP報文進行詳盡分析的基礎上,采用VC++ 6.0開發(fā)了一款基于串口通訊的PROFIBUS性能分析診斷軟件。

1 PROFIBUS工作機理

1.1 PROFIBUS-DP編碼技術

PROFIBUS-DP交換數(shù)據使用異步傳輸技術和NRZ編碼。NRZ編碼的二進制信號“0”或“1”的信號電平在信號持續(xù)期間維持不變。圖1所示為NRZ碼信號圖。

SHAPE * MERGEFORMAT 



圖1 非歸零碼信號

每個數(shù)據鏈路層協(xié)議數(shù)據單元應由一定數(shù)量的字符組成,每個字符都是一個用于異步傳輸?shù)钠稹W址?br />
每個字符由11個比特組成,包括1個總是為二進制“0”的起始比特(ST),8個可以是二進制數(shù)“0”亦可以是二進制數(shù)“1”的信息比特,1個可以是二進制“1”也可以是二進制數(shù)“0”的偶校驗比特(P),1個總是為二進制數(shù)“1”的停止比特,如圖2所示。

SHAPE * MERGEFORMAT 


圖2 單個字符格式

接收器的比特同步總是從起始比特的下降沿開始,也就是說,在從二進制“1”轉換到二進制數(shù)“0”時開始。在比特時間的中間應掃描起始比特和所有后繼的比特。在比特時間的中間,起始比特應是二進制數(shù)“0”,否則認為同步失敗并停止同步過程。以二進制“1”的停止比特來結束字符的同步,如果此時出現(xiàn)二進制數(shù)“0”來代替此停止比特,則應認為并報告一個同步差錯或字符差錯,并應等待下一個起始比特的前導沿。

1.2 報文格式

如圖3所示,PRFIBUS-DP有以下5種報文格式。其中,SYN為同步周期,它是一個最小的時間間隔,在此時間間隔內,每個站在它可以接收發(fā)送/請求報文幀或令牌起始部分之前,應從傳輸介質接收空閑狀態(tài)(idle state)(idle=二進制“1”)。同步周期最小為33個線空閑比特;SD為起始定界符,DA是目的地址,SA是源地址,F(xiàn)C是控制幀;FCS是幀校驗和,ED為結束定界符,值為16h,L是信息字段長度,其中SD1= 10h,用于請求FDL狀態(tài),尋找一個新的活動的站點,報文長度固定,沒有數(shù)據單元;SD2= 68h,用于SRD服務,報文的數(shù)據長度可變;SD3 = A2h,數(shù)據單元長度固定(L總為8字節(jié));SD4 = DCh,表示該報文為令牌報文;SC =E5h, 短確認報文。

SHAPE * MERGEFORMAT 

[!--empirenews.page--]

圖3 PROFIBUS—DP鏈路層報文格式

2 報文診斷軟件的實現(xiàn)

2.1 實驗平臺

圖4為作者組建的PROFIBUS-DP網絡實驗系統(tǒng)結構圖。在網絡系統(tǒng)中,1類主站為SIEMENS公司的CPU315-2DP PLC,PC工控機作為2 類主站,通過現(xiàn)場總線接口卡CP5611與DP 總線相連, WAGO公司的750-333、BECKHOFF公司的BK3120、SIEMENS公司的ET200-L及和利時公司的LM3107 PLC等PLC設備作為從站連接到DP網絡中。

SHAPE * MERGEFORMAT 


圖4 PROFIBUS-DP網絡實驗系統(tǒng)結構圖

2.2 軟件開發(fā)環(huán)境

軟件開發(fā)工具為VC++6.0,通過計算機標準串口通信,將PROFIBUS—DP報文采集到上位機進行處理。PROFIBUS-DP系統(tǒng)作為實驗平臺,采用RS485/RS232通信電纜將其RS485的一端接入PROFIBUS-DP網絡連接器的背插接口,RS232一端直接接入到PC機的串口。

2.3 軟件系統(tǒng)基本程序框圖

軟件系統(tǒng)的程序基本架構流程圖如圖5所示。

SHAPE * MERGEFORMAT 



圖5基本程序框架流程圖

整個系統(tǒng)軟件包括如下幾個模塊:

1)程序主控模塊:負責實現(xiàn)程序邏輯與主界面,調用串口通信模塊和接收顯示模塊。

2)串口通信模塊:負責實現(xiàn)串口通信任務,PROFIBUS-DP報文數(shù)據采集及串口參數(shù)設置。

3)數(shù)據處理模塊:根據PROFIBUS-DP協(xié)議報文格式,將采集上來的數(shù)據按報文格式進行處理,并存入臨時緩沖區(qū)。

4)接收顯示模塊:負責實現(xiàn)接收數(shù)據的處理與顯示。

5)數(shù)據庫模塊及數(shù)據查詢模塊,用來實現(xiàn)對采集到報文的歷史數(shù)據的分析和查詢。[!--empirenews.page--]

2.4 關鍵技術

該軟件主要是實現(xiàn)對PROFIBUS報文進行提取,實現(xiàn)在線采集PROFIBUS-DP報文數(shù)據,從數(shù)據鏈路層角度對各種報文進行分析,完成各種類型報文的顯示,完成對報文種類、服務類型、地址、數(shù)據長度及數(shù)據單元等信息的提取顯示,并對診斷報文、參數(shù)化報文及組態(tài)報文等的數(shù)據單元進行詳細的分析,得出總線性能的各種參數(shù)及故障原因,將分析過的數(shù)據存儲進數(shù)據庫,存入臨時緩沖區(qū),根據需要將分析過的報文信息存入數(shù)據庫,實現(xiàn)歷史查詢。

如何實現(xiàn)報文幀的提取是本軟件設計的一個關鍵問題。由于PROFIBUS報文格式有很多種,而且包括數(shù)據長度不固定的可變報文。雖然各種報文都具有固定的報頭、報尾,但是存在的問題是報頭報尾并不是特定的字符,有可能和報文中數(shù)據單元內容一樣,所以這里利用報頭報尾進行報文的提取是不可行的。作者在這里利用各種報文幀前的同步字符進行報文提取,也就是說,在每個完整報文幀傳輸之前,其前面都有一個不小于33bit的同步時間,在報文幀中間是沒有任何間隔的,利用這一同步時間,在VC++中利用超時函數(shù),對報文幀進行了完整地提取。

另外,由于通信數(shù)據量很大,速度較快,這里采用了WINDOWS多線程技術。一個線程為監(jiān)視線程,監(jiān)視串口通訊,一個為數(shù)據處理主線程,另外一個為定時刷新數(shù)據庫線程。當監(jiān)視線程監(jiān)視到串口中有數(shù)據到達時,就觸發(fā)一個消息通知數(shù)據處理主線程,數(shù)據處理主線程就去串口緩沖區(qū)中取出數(shù)據,并進行數(shù)據處理。定時器線程定時刷新數(shù)據庫顯示,以實現(xiàn)實時顯示功能。

作者在程序編寫的過程中,出現(xiàn)數(shù)據庫不能實時刷新的情況,后來發(fā)現(xiàn)問題出在WINDOWS的WM_TIMER定時器上,由于該定時器消息優(yōu)先級較低,可能造成WM_TIMER消息的丟失,所以不能實現(xiàn)數(shù)據庫的實時刷新。解決的方法是采用WINDOWS的多媒體定時器。在使用多媒體定時器的過程中,定時間隔的選取又是一個關鍵的問題,定時間隔選取太小,將會耗費大量的CPU內存,造成系統(tǒng)“死機”, 定時間隔選取太大,又不能完成“實時”顯示功能。這里又涉及到PROFIBUS總線信息循環(huán)時間的問題,總線信息循環(huán)時間與總線傳輸?shù)牟ㄌ芈省恼镜臄?shù)量、I/O數(shù)據的數(shù)量、從站需要的延遲時間以及主站的空閑時間等有關。作者通過了大量的計算和多次實驗調試,尋找到一個合適的定時器間隔。

2.5 顯示界面

該PROFIBUS-DP報文分析軟件的程序界面包括主界面、串口配置界面、報文過濾界面、報文查詢界面、數(shù)據庫存儲界面以及歷史查詢界面等。

PROFIBUS-DP分析診斷軟件的運行主界面如圖6,窗口左上部分“當前profibus報文”組框內存放最近采集到的PROFIBUS-DP報文信息,并可通過工具欄上的記錄移動按鈕滾動察看記錄;右上方“信息面板”是用來顯示所有查看報文的詳細信息。窗口下半部分以網格形式顯示PROFIBUS-DP歷史信息。

若需要打開串口,開始接收PROFIBUS報文信息,則可選擇“命令”菜單下的“開始接收”項;若需停止接收PROFIBUS報文信息,則可選擇“命令”菜單下的“停止接收”項;若需要配置串口參數(shù),則可選擇“命令”菜單下的“串口配置”項,此時將彈出“串口配置對話框”,若需清除當前所有記錄,可選擇“記錄”菜單下的“清除所有記錄項”命令,如果需要分類查看各種報文,可以選擇“查看”命令菜單下的“報文查詢”,此時將彈出“報文查詢對話框”,可根據需要進行報文分類查看。



圖6 軟件運行主界面

3 結束語

該軟件經過作者在PROFIBUS網絡實驗系統(tǒng)上的反復運行調試,結果表明該軟件能夠實現(xiàn)對幾種PROFIBUS報文進行分析,能夠完成采集、顯示、分析、存儲和查詢等功能,為以后的研究開發(fā)奠定了基礎,同時具有一定的實用價值。
本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉