[導(dǎo)讀]采用PROFIBUS-DP的FCS性能研究及診斷軟件開發(fā)
PROFIBUS是工業(yè)自動化領(lǐng)域內(nèi)市場占有率最高的一種現(xiàn)場總線技術(shù),它包括用于制造業(yè)自動化的PROFIBUS-DP和用于流程工業(yè)領(lǐng)域的PROFIBUS-PA,它是目前我國惟一的現(xiàn)場總線國家標(biāo)準(zhǔn)。隨著越來越多工業(yè)控制系統(tǒng)采用了PROFIBUS現(xiàn)場總線技術(shù),對這些控制系統(tǒng)進(jìn)行具體的、直觀的和實時的在線分析與診斷成為了最基本的要求,要想完成這樣的任務(wù),就需要有相應(yīng)的工程分析診斷工具。國內(nèi)外目前所研究的這些總線性能分析診斷工程工具存在著功能不夠全面、界面不夠完善、價格昂貴、不適合中國國情等問題。開發(fā)一款能夠?qū)偩€系統(tǒng)進(jìn)行分析和診斷,方便的、性能價格比高的分析診斷工程工具必將成為急需的產(chǎn)品。
由于在PRIFBUS傳輸報文可以反映出總線性能的很多參數(shù),包括各種故障狀態(tài)。比如:從參數(shù)化報文可以看出主站和從站的關(guān)系,從站的操作方式,包括通道參數(shù)、功能設(shè)定、裝置參數(shù)和ID號等。從組態(tài)報文可以看出從站I/0類型及性質(zhì),以及模塊的I/O性質(zhì)及數(shù)據(jù)類型等。從診斷報文可以看出從站各種參數(shù)設(shè)置錯誤,各種組態(tài)錯誤,以及裝置模塊錯誤類型。所以,本文作者就是在對PROFIBUS-DP報文進(jìn)行詳盡分析的基礎(chǔ)上,采用VC++ 6.0開發(fā)了一款基于串口通訊的PROFIBUS性能分析診斷軟件。
1 PROFIBUS工作機(jī)理
1.1 PROFIBUS-DP編碼技術(shù)
PROFIBUS-DP交換數(shù)據(jù)使用異步傳輸技術(shù)和NRZ編碼。NRZ編碼的二進(jìn)制信號“0”或“1”的信號電平在信號持續(xù)期間維持不變。圖1所示為NRZ碼信號圖。
SHAPE * MERGEFORMAT
圖1 非歸零碼信號
每個數(shù)據(jù)鏈路層協(xié)議數(shù)據(jù)單元應(yīng)由一定數(shù)量的字符組成,每個字符都是一個用于異步傳輸?shù)钠稹W址?br />
每個字符由11個比特組成,包括1個總是為二進(jìn)制“0”的起始比特(ST),8個可以是二進(jìn)制數(shù)“0”亦可以是二進(jìn)制數(shù)“1”的信息比特,1個可以是二進(jìn)制“1”也可以是二進(jìn)制數(shù)“0”的偶校驗比特(P),1個總是為二進(jìn)制數(shù)“1”的停止比特,如圖2所示。
SHAPE * MERGEFORMAT
圖2 單個字符格式
接收器的比特同步總是從起始比特的下降沿開始,也就是說,在從二進(jìn)制“1”轉(zhuǎn)換到二進(jìn)制數(shù)“0”時開始。在比特時間的中間應(yīng)掃描起始比特和所有后繼的比特。在比特時間的中間,起始比特應(yīng)是二進(jìn)制數(shù)“0”,否則認(rèn)為同步失敗并停止同步過程。以二進(jìn)制“1”的停止比特來結(jié)束字符的同步,如果此時出現(xiàn)二進(jìn)制數(shù)“0”來代替此停止比特,則應(yīng)認(rèn)為并報告一個同步差錯或字符差錯,并應(yīng)等待下一個起始比特的前導(dǎo)沿。
1.2 報文格式
如圖3所示,PRFIBUS-DP有以下5種報文格式。其中,SYN為同步周期,它是一個最小的時間間隔,在此時間間隔內(nèi),每個站在它可以接收發(fā)送/請求報文幀或令牌起始部分之前,應(yīng)從傳輸介質(zhì)接收空閑狀態(tài)(idle state)(idle=二進(jìn)制“1”)。同步周期最小為33個線空閑比特;SD為起始定界符,DA是目的地址,SA是源地址,F(xiàn)C是控制幀;FCS是幀校驗和,ED為結(jié)束定界符,值為16h,L是信息字段長度,其中SD1= 10h,用于請求FDL狀態(tài),尋找一個新的活動的站點(diǎn),報文長度固定,沒有數(shù)據(jù)單元;SD2= 68h,用于SRD服務(wù),報文的數(shù)據(jù)長度可變;SD3 = A2h,數(shù)據(jù)單元長度固定(L總為8字節(jié));SD4 = DCh,表示該報文為令牌報文;SC =E5h, 短確認(rèn)報文。
SHAPE * MERGEFORMAT
[!--empirenews.page--]
圖3 PROFIBUS—DP鏈路層報文格式
2 報文診斷軟件的實現(xiàn)
2.1 實驗平臺
圖4為作者組建的PROFIBUS-DP網(wǎng)絡(luò)實驗系統(tǒng)結(jié)構(gòu)圖。在網(wǎng)絡(luò)系統(tǒng)中,1類主站為SIEMENS公司的CPU315-2DP PLC,PC工控機(jī)作為2 類主站,通過現(xiàn)場總線接口卡CP5611與DP 總線相連, WAGO公司的750-333、BECKHOFF公司的BK3120、SIEMENS公司的ET200-L及和利時公司的LM3107 PLC等PLC設(shè)備作為從站連接到DP網(wǎng)絡(luò)中。
SHAPE * MERGEFORMAT
圖4 PROFIBUS-DP網(wǎng)絡(luò)實驗系統(tǒng)結(jié)構(gòu)圖
2.2 軟件開發(fā)環(huán)境
軟件開發(fā)工具為VC++6.0,通過計算機(jī)標(biāo)準(zhǔn)串口通信,將PROFIBUS—DP報文采集到上位機(jī)進(jìn)行處理。PROFIBUS-DP系統(tǒng)作為實驗平臺,采用RS485/RS232通信電纜將其RS485的一端接入PROFIBUS-DP網(wǎng)絡(luò)連接器的背插接口,RS232一端直接接入到PC機(jī)的串口。
2.3 軟件系統(tǒng)基本程序框圖
軟件系統(tǒng)的程序基本架構(gòu)流程圖如圖5所示。
SHAPE * MERGEFORMAT
圖5基本程序框架流程圖
整個系統(tǒng)軟件包括如下幾個模塊:
1)程序主控模塊:負(fù)責(zé)實現(xiàn)程序邏輯與主界面,調(diào)用串口通信模塊和接收顯示模塊。
2)串口通信模塊:負(fù)責(zé)實現(xiàn)串口通信任務(wù),PROFIBUS-DP報文數(shù)據(jù)采集及串口參數(shù)設(shè)置。
3)數(shù)據(jù)處理模塊:根據(jù)PROFIBUS-DP協(xié)議報文格式,將采集上來的數(shù)據(jù)按報文格式進(jìn)行處理,并存入臨時緩沖區(qū)。
4)接收顯示模塊:負(fù)責(zé)實現(xiàn)接收數(shù)據(jù)的處理與顯示。
5)數(shù)據(jù)庫模塊及數(shù)據(jù)查詢模塊,用來實現(xiàn)對采集到報文的歷史數(shù)據(jù)的分析和查詢。[!--empirenews.page--]
2.4 關(guān)鍵技術(shù)
該軟件主要是實現(xiàn)對PROFIBUS報文進(jìn)行提取,實現(xiàn)在線采集PROFIBUS-DP報文數(shù)據(jù),從數(shù)據(jù)鏈路層角度對各種報文進(jìn)行分析,完成各種類型報文的顯示,完成對報文種類、服務(wù)類型、地址、數(shù)據(jù)長度及數(shù)據(jù)單元等信息的提取顯示,并對診斷報文、參數(shù)化報文及組態(tài)報文等的數(shù)據(jù)單元進(jìn)行詳細(xì)的分析,得出總線性能的各種參數(shù)及故障原因,將分析過的數(shù)據(jù)存儲進(jìn)數(shù)據(jù)庫,存入臨時緩沖區(qū),根據(jù)需要將分析過的報文信息存入數(shù)據(jù)庫,實現(xiàn)歷史查詢。
如何實現(xiàn)報文幀的提取是本軟件設(shè)計的一個關(guān)鍵問題。由于PROFIBUS報文格式有很多種,而且包括數(shù)據(jù)長度不固定的可變報文。雖然各種報文都具有固定的報頭、報尾,但是存在的問題是報頭報尾并不是特定的字符,有可能和報文中數(shù)據(jù)單元內(nèi)容一樣,所以這里利用報頭報尾進(jìn)行報文的提取是不可行的。作者在這里利用各種報文幀前的同步字符進(jìn)行報文提取,也就是說,在每個完整報文幀傳輸之前,其前面都有一個不小于33bit的同步時間,在報文幀中間是沒有任何間隔的,利用這一同步時間,在VC++中利用超時函數(shù),對報文幀進(jìn)行了完整地提取。
另外,由于通信數(shù)據(jù)量很大,速度較快,這里采用了WINDOWS多線程技術(shù)。一個線程為監(jiān)視線程,監(jiān)視串口通訊,一個為數(shù)據(jù)處理主線程,另外一個為定時刷新數(shù)據(jù)庫線程。當(dāng)監(jiān)視線程監(jiān)視到串口中有數(shù)據(jù)到達(dá)時,就觸發(fā)一個消息通知數(shù)據(jù)處理主線程,數(shù)據(jù)處理主線程就去串口緩沖區(qū)中取出數(shù)據(jù),并進(jìn)行數(shù)據(jù)處理。定時器線程定時刷新數(shù)據(jù)庫顯示,以實現(xiàn)實時顯示功能。
作者在程序編寫的過程中,出現(xiàn)數(shù)據(jù)庫不能實時刷新的情況,后來發(fā)現(xiàn)問題出在WINDOWS的WM_TIMER定時器上,由于該定時器消息優(yōu)先級較低,可能造成WM_TIMER消息的丟失,所以不能實現(xiàn)數(shù)據(jù)庫的實時刷新。解決的方法是采用WINDOWS的多媒體定時器。在使用多媒體定時器的過程中,定時間隔的選取又是一個關(guān)鍵的問題,定時間隔選取太小,將會耗費(fèi)大量的CPU內(nèi)存,造成系統(tǒng)“死機(jī)”, 定時間隔選取太大,又不能完成“實時”顯示功能。這里又涉及到PROFIBUS總線信息循環(huán)時間的問題,總線信息循環(huán)時間與總線傳輸?shù)牟ㄌ芈?、從站的?shù)量、I/O數(shù)據(jù)的數(shù)量、從站需要的延遲時間以及主站的空閑時間等有關(guān)。作者通過了大量的計算和多次實驗調(diào)試,尋找到一個合適的定時器間隔。
2.5 顯示界面
該P(yáng)ROFIBUS-DP報文分析軟件的程序界面包括主界面、串口配置界面、報文過濾界面、報文查詢界面、數(shù)據(jù)庫存儲界面以及歷史查詢界面等。
PROFIBUS-DP分析診斷軟件的運(yùn)行主界面如圖6,窗口左上部分“當(dāng)前profibus報文”組框內(nèi)存放最近采集到的PROFIBUS-DP報文信息,并可通過工具欄上的記錄移動按鈕滾動察看記錄;右上方“信息面板”是用來顯示所有查看報文的詳細(xì)信息。窗口下半部分以網(wǎng)格形式顯示PROFIBUS-DP歷史信息。
若需要打開串口,開始接收PROFIBUS報文信息,則可選擇“命令”菜單下的“開始接收”項;若需停止接收PROFIBUS報文信息,則可選擇“命令”菜單下的“停止接收”項;若需要配置串口參數(shù),則可選擇“命令”菜單下的“串口配置”項,此時將彈出“串口配置對話框”,若需清除當(dāng)前所有記錄,可選擇“記錄”菜單下的“清除所有記錄項”命令,如果需要分類查看各種報文,可以選擇“查看”命令菜單下的“報文查詢”,此時將彈出“報文查詢對話框”,可根據(jù)需要進(jìn)行報文分類查看。
圖6 軟件運(yùn)行主界面
3 結(jié)束語
該軟件經(jīng)過作者在PROFIBUS網(wǎng)絡(luò)實驗系統(tǒng)上的反復(fù)運(yùn)行調(diào)試,結(jié)果表明該軟件能夠?qū)崿F(xiàn)對幾種PROFIBUS報文進(jìn)行分析,能夠完成采集、顯示、分析、存儲和查詢等功能,為以后的研究開發(fā)奠定了基礎(chǔ),同時具有一定的實用價值。
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
上海2022年10月14日 /美通社/ -- 近日,上海安勢信息技術(shù)有限公司的清源SCA工具在騰訊成功部署。 開源軟件在促進(jìn)全球的技術(shù)創(chuàng)新方面發(fā)揮著越來越重要的作用,企業(yè)越來越依賴開源軟件來加速開發(fā)與創(chuàng)新,根據(jù) Gar...
關(guān)鍵字:
開源
開源軟件
組件
數(shù)據(jù)庫
SQLite是一個跨平臺的輕量級數(shù)據(jù)庫,支持C/C++開發(fā),可用于嵌入式中,關(guān)于C/C++使用SQLite的簡單實例,可參考這篇:“玩轉(zhuǎn)SQLite6:使用C語言來讀寫數(shù)據(jù)庫”,本篇來繼續(xù)介紹SQLite的基礎(chǔ)運(yùn)算符與表...
關(guān)鍵字:
SQLite
C語言
數(shù)據(jù)庫
該統(tǒng)一硬件提供靈活的容量,既可為硬件驗證提供更快的編譯,又可為軟件開發(fā)提供更佳的性能 加利福尼亞州山景城2022年9月27日 /美通社/ -- 新思科技(納斯達(dá)克股票代碼:SNPS)近日宣布推出業(yè)內(nèi)首款基于其ZeBu&...
關(guān)鍵字:
芯片
硬件仿真
新思科技
軟件開發(fā)
北京2022年9月26日 /美通社/ -- 近期,TDengine 云服務(wù)正式上線海外市場,它是基于流行的開源時序數(shù)據(jù)庫(Time Series Database) TDengine 打造的快速、彈性、Serv...
關(guān)鍵字:
ENGINE
AWS
云服務(wù)
數(shù)據(jù)庫
計算機(jī)網(wǎng)絡(luò)編程中一個非?;镜膯栴}:該怎樣表示client與server之間交互的數(shù)據(jù),在往下看之前先想一想這個問題。
關(guān)鍵字:
計算機(jī)
二進(jìn)制
北京2022年9月23日 /美通社/ -- 亞馬遜云科技宣布將進(jìn)一步推動云原生數(shù)據(jù)庫服務(wù)在汽車、制造、金融等傳統(tǒng)行業(yè)中的應(yīng)用,幫助企業(yè)打造數(shù)字化轉(zhuǎn)型的新基建。隨著越來越多傳統(tǒng)行業(yè)企業(yè)遷移上云,具有高性能、高可用性和可伸縮...
關(guān)鍵字:
亞馬遜
數(shù)字化
數(shù)據(jù)庫
新基建
打造醫(yī)藥流通行業(yè)數(shù)字化轉(zhuǎn)型標(biāo)桿:成為國內(nèi)醫(yī)藥流通行業(yè)首家全面遷移至公有云的企業(yè),拓展醫(yī)療健康產(chǎn)業(yè)新方案和新機(jī)遇 北京2022年9月8日 /美通社/ --亞馬遜云科技宣布與國內(nèi)醫(yī)藥流通行業(yè)領(lǐng)軍企業(yè)瑞康醫(yī)藥簽署戰(zhàn)略合作協(xié)議...
關(guān)鍵字:
亞馬遜
數(shù)據(jù)庫
TI
BSP
(全球TMT2022年9月8日訊)近日,成都索貝數(shù)碼科技股份有限公司(以下簡稱"索貝")再拓信創(chuàng)新生態(tài) -- 索貝自主研發(fā)的Ficus Pi大數(shù)據(jù)平臺、Vernox融合據(jù)庫被收錄進(jìn)信創(chuàng)工委會產(chǎn)品圖譜...
關(guān)鍵字:
數(shù)據(jù)庫
大數(shù)據(jù)
PI
IC
北京2022年9月8日 /美通社/ -- 作為"十四五"發(fā)展目標(biāo)的重要抓手、網(wǎng)絡(luò)強(qiáng)國戰(zhàn)略的焦點(diǎn),以信息技術(shù)為主導(dǎo)的新一輪科技革命和產(chǎn)業(yè)變革正在加速演進(jìn),信創(chuàng)產(chǎn)業(yè)將在助力我國數(shù)字化轉(zhuǎn)型、維護(hù)信息技術(shù)安全...
關(guān)鍵字:
數(shù)字化
大數(shù)據(jù)
數(shù)據(jù)庫
IC
區(qū)塊鏈?zhǔn)且环N分布商業(yè)模式,是互聯(lián)網(wǎng)新生代產(chǎn)品,可以理解為全中心體系,鏈上的每個節(jié)點(diǎn)都可認(rèn)為是一個中心。
關(guān)鍵字:
區(qū)塊鏈
人臉圖像信息
數(shù)據(jù)庫
摘要:連鑄鋼水過熱度是煉鋼生產(chǎn)的重要指標(biāo),現(xiàn)主要介紹一套連鑄鋼水過熱度系統(tǒng)管理軟件的開發(fā)和應(yīng)用,該軟件是在宣鋼二鋼軋廠使用的連鑄過熱度數(shù)據(jù)采集、查詢、統(tǒng)計管理系統(tǒng)軟件,該軟件基于windowS窗體和數(shù)據(jù)庫系統(tǒng),采用C/S...
關(guān)鍵字:
過熱度
C/S
數(shù)據(jù)庫
(全球TMT2022年8月16日訊)企業(yè)級開源時序數(shù)據(jù)庫廠商濤思數(shù)據(jù)正式發(fā)布 TDengine 3.0。TDengine 3.0 是真正的云原生時序數(shù)據(jù)庫(Time Series Database),重構(gòu)了分...
關(guān)鍵字:
ENGINE
開源
數(shù)據(jù)庫
時序數(shù)據(jù)
北京2022年8月16日 /美通社/ -- 2022 年 8 月 13 日,領(lǐng)先的企業(yè)級開源時序數(shù)據(jù)庫廠商濤思數(shù)據(jù)正式發(fā)布 TDengine 3.0。TDengine 3.0 是真正的云原生時序數(shù)據(jù)庫(Time Seri...
關(guān)鍵字:
時序數(shù)據(jù)
ENGINE
開源
數(shù)據(jù)庫
摘要:創(chuàng)造性地將"通用雙公式"模型嵌入到纖維纏繞層網(wǎng)格理論中,解決了因傳統(tǒng)網(wǎng)格理論無法準(zhǔn)確模擬纖維紗片在高緯度球殼處的重疊現(xiàn)象而帶來的纖維層結(jié)構(gòu)設(shè)計安全裕度大、結(jié)構(gòu)效率低的問題?;谛路椒ɡ碚?以球形復(fù)合材料氣瓶為例,分...
關(guān)鍵字:
球形COPV
纖維纏繞層結(jié)構(gòu)設(shè)計
軟件開發(fā)
為粵港澳大灣區(qū)數(shù)字經(jīng)濟(jì)騰飛貢獻(xiàn) AI 力量 廣州2022年8月2日 /美通社/ -- 7月29日,廣州墨奇科技有限公司開業(yè)慶典暨合作簽約儀式在廣州歸谷科技園舉行。設(shè)立廣州公司,是墨奇科技布局粵港澳大灣區(qū)的重要舉措。墨奇...
關(guān)鍵字:
AI
數(shù)據(jù)庫
智慧城市
數(shù)字經(jīng)濟(jì)
上海2022年8月1日 /美通社/ -- 信創(chuàng)是指信息技術(shù)應(yīng)用創(chuàng)新,而信創(chuàng)產(chǎn)業(yè)的發(fā)展不僅關(guān)乎國家信息的安全可控,也是推動中國經(jīng)濟(jì)數(shù)字化轉(zhuǎn)型的必然選擇。近年來,企業(yè)數(shù)字化轉(zhuǎn)型不斷深入,人力資源管理所面對的挑戰(zhàn)也逐漸復(fù)雜。隨...
關(guān)鍵字:
數(shù)字化
數(shù)據(jù)庫
信息技術(shù)
軟件
深圳2022年8月1日 /美通社/ -- 近日,深圳市人力資源和社會保障局(簡稱"深圳市人社局")授予東信博士后創(chuàng)新實踐基地牌匾,東信董事長/CEO劉楊親自為博士后創(chuàng)新實踐基地掛牌,核心技術(shù)...
關(guān)鍵字:
SAAS
BSP
CE
數(shù)據(jù)庫
(全球TMT2022年7月28日訊)作為重慶市的"母城",渝中區(qū)是成渝地區(qū)雙城經(jīng)濟(jì)圈聯(lián)動、拓展的重要都市級核心。渝中區(qū)大數(shù)據(jù)局?jǐn)y手浪潮卓數(shù),以數(shù)據(jù)為核心,以智能中樞為底座支撐,構(gòu)建以"1+4+N"為架構(gòu)的基層智慧治理平...
關(guān)鍵字:
互聯(lián)網(wǎng)+
大數(shù)據(jù)
數(shù)字化
數(shù)據(jù)庫
(全球TMT2022年7月22日訊)近日,TUV北德在比亞迪汽車工業(yè)公司(簡稱“比亞迪”)總部六角大樓向比亞迪頒發(fā)ASPICE L2級評估證書。ASPICE 全稱為“Automotive Software Proces...
關(guān)鍵字:
SPICE
比亞迪
汽車
軟件開發(fā)
- 此舉加強(qiáng)了A2MAC1通過軟件工程和對標(biāo)解決方案來提供具有競爭力的洞察的能力,并深化了集團(tuán)的軟件工程和對標(biāo)專長 巴黎2022年7月21日 /美通社/ -- effution是一家服務(wù)眾多行業(yè)的軟件工程和對標(biāo)公司,由...
關(guān)鍵字:
MAC
TI
IO
軟件開發(fā)