欧美日韩一区国产,亚洲国产一区二区a毛片,日韩一区二区三区免费观看,中文字幕中文字幕一区三区

當(dāng)前位置: 東方風(fēng)力發(fā)電網(wǎng)>談技術(shù) >其他部件 > 基于PROFIBUS-DP的FCS性能研究及診斷軟件的開(kāi)發(fā)

基于PROFIBUS-DP的FCS性能研究及診斷軟件的開(kāi)發(fā)

2013-04-20 瀏覽數(shù):720

  接收器的比特同步總是從起始比特的下降沿開(kāi)始,也就是說(shuō),在從二進(jìn)制“1”轉(zhuǎn)換到二進(jìn)制數(shù)“0”時(shí)開(kāi)始。在比特時(shí)間的中間應(yīng)掃描起始比特和所有后繼的比特。在比特時(shí)間的中間,起始比特應(yīng)是二進(jìn)制數(shù)“0”,否則認(rèn)為同步失敗并停止同步過(guò)程。以二進(jìn)制“1”的停止比特來(lái)結(jié)束字符的同步,如果此時(shí)出現(xiàn)二進(jìn)制數(shù)“0”來(lái)代替此停止比特,則應(yīng)認(rèn)為并報(bào)告一個(gè)同步差錯(cuò)或字符差錯(cuò),并應(yīng)等待下一個(gè)起始比特的前導(dǎo)沿。
1.2  報(bào)文格式
如圖3所示,PRFIBUS-DP有以下5種報(bào)文格式。其中,SYN為同步周期,它是一個(gè)最小的時(shí)間間隔,在此時(shí)間間隔內(nèi),每個(gè)站在它可以接收發(fā)送/請(qǐng)求報(bào)文幀或令牌起始部分之前,應(yīng)從傳輸介質(zhì)接收空閑狀態(tài)(idle state)(idle=二進(jìn)制“1”)。同步周期最小為33個(gè)線(xiàn)空閑比特;SD為起始定界符,DA是目的地址,SA是源地址,F(xiàn)C是控制幀;FCS是幀校驗(yàn)和,ED為結(jié)束定界符,值為16h,L是信息字段長(zhǎng)度,其中SD1= 10h,用于請(qǐng)求FDL狀態(tài),尋找一個(gè)新的活動(dòng)的站點(diǎn),報(bào)文長(zhǎng)度固定,沒(méi)有數(shù)據(jù)單元;SD2= 68h,用于SRD服務(wù),報(bào)文的數(shù)據(jù)長(zhǎng)度可變;SD3 = A2h,數(shù)據(jù)單元長(zhǎng)度固定(L總為8字節(jié));SD4 = DCh,表示該報(bào)文為令牌報(bào)文;SC =E5h, 短確認(rèn)報(bào)文。

 

圖3 PROFIBUS—DP鏈路層報(bào)文格式

2  報(bào)文診斷軟件的實(shí)現(xiàn)
2.1  實(shí)驗(yàn)平臺(tái)
圖4為作者組建的PROFIBUS-DP網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng)結(jié)構(gòu)圖。在網(wǎng)絡(luò)系統(tǒng)中,1類(lèi)主站為SIEMENS公司的CPU315-2DP PLC,PC工控機(jī)作為2 類(lèi)主站,通過(guò)現(xiàn)場(chǎng)總線(xiàn)接口卡CP5611與DP 總線(xiàn)相連, WAGO公司的750-333、BECKHOFF公司的BK3120、SIEMENS公司的ET200-L及和利時(shí)公司的LM3107 PLC等PLC設(shè)備作為從站連接到DP網(wǎng)絡(luò)中。

圖4 PROFIBUS-DP網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng)結(jié)構(gòu)圖

2.2  軟件開(kāi)發(fā)環(huán)境
軟件開(kāi)發(fā)工具為VC++6.0,通過(guò)計(jì)算機(jī)標(biāo)準(zhǔn)串口通信,將PROFIBUS—DP報(bào)文采集到上位機(jī)進(jìn)行處理。PROFIBUS-DP系統(tǒng)作為實(shí)驗(yàn)平臺(tái),采用RS485/RS232通信電纜將其RS485的一端接入PROFIBUS-DP網(wǎng)絡(luò)連接器的背插接口,RS232一端直接接入到PC機(jī)的串口。
2.3  軟件系統(tǒng)基本程序框圖
軟件系統(tǒng)的程序基本架構(gòu)流程圖如圖5所示。

圖5 基本程序框架流程圖

  整個(gè)系統(tǒng)軟件包括如下幾個(gè)模塊:
1)程序主控模塊:負(fù)責(zé)實(shí)現(xiàn)程序邏輯與主界面,調(diào)用串口通信模塊和接收顯示模塊。
2)串口通信模塊:負(fù)責(zé)實(shí)現(xiàn)串口通信任務(wù),PROFIBUS-DP報(bào)文數(shù)據(jù)采集及串口參數(shù)設(shè)置。


3)數(shù)據(jù)處理模塊:根據(jù)PROFIBUS-DP協(xié)議報(bào)文格式,將采集上來(lái)的數(shù)據(jù)按報(bào)文格式進(jìn)行處理,并存入臨時(shí)緩沖區(qū)。
4)接收顯示模塊:負(fù)責(zé)實(shí)現(xiàn)接收數(shù)據(jù)的處理與顯示。
5)數(shù)據(jù)庫(kù)模塊及數(shù)據(jù)查詢(xún)模塊,用來(lái)實(shí)現(xiàn)對(duì)采集到報(bào)文的歷史數(shù)據(jù)的分析和查詢(xún)。
2.4  關(guān)鍵技術(shù)
該軟件主要是實(shí)現(xiàn)對(duì)PROFIBUS報(bào)文進(jìn)行提取,實(shí)現(xiàn)在線(xiàn)采集PROFIBUS-DP報(bào)文數(shù)據(jù),從數(shù)據(jù)鏈路層角度對(duì)各種報(bào)文進(jìn)行分析,完成各種類(lèi)型報(bào)文的顯示,完成對(duì)報(bào)文種類(lèi)、服務(wù)類(lèi)型、地址、數(shù)據(jù)長(zhǎng)度及數(shù)據(jù)單元等信息的提取顯示,并對(duì)診斷報(bào)文、參數(shù)化報(bào)文及組態(tài)報(bào)文等的數(shù)據(jù)單元進(jìn)行詳細(xì)的分析,得出總線(xiàn)性能的各種參數(shù)及故障原因,將分析過(guò)的數(shù)據(jù)存儲(chǔ)進(jìn)數(shù)據(jù)庫(kù),存入臨時(shí)緩沖區(qū),根據(jù)需要將分析過(guò)的報(bào)文信息存入數(shù)據(jù)庫(kù),實(shí)現(xiàn)歷史查詢(xún)。
如何實(shí)現(xiàn)報(bào)文幀的提取是本軟件設(shè)計(jì)的一個(gè)關(guān)鍵問(wèn)題。由于PROFIBUS報(bào)文格式有很多種,而且包括數(shù)據(jù)長(zhǎng)度不固定的可變報(bào)文。雖然各種報(bào)文都具有固定的報(bào)頭、報(bào)尾,但是存在的問(wèn)題是報(bào)頭報(bào)尾并不是特定的字符,有可能和報(bào)文中數(shù)據(jù)單元內(nèi)容一樣,所以這里利用報(bào)頭報(bào)尾進(jìn)行報(bào)文的提取是不可行的。作者在這里利用各種報(bào)文幀前的同步字符進(jìn)行報(bào)文提取,也就是說(shuō),在每個(gè)完整報(bào)文幀傳輸之前,其前面都有一個(gè)不小于33bit的同步時(shí)間,在報(bào)文幀中間是沒(méi)有任何間隔的,利用這一同步時(shí)間,在VC++中利用超時(shí)函數(shù),對(duì)報(bào)文幀進(jìn)行了完整地提取。
另外,由于通信數(shù)據(jù)量很大,速度較快,這里采用了WINDOWS多線(xiàn)程技術(shù)。一個(gè)線(xiàn)程為監(jiān)視線(xiàn)程,監(jiān)視串口通訊,一個(gè)為數(shù)據(jù)處理主線(xiàn)程,另外一個(gè)為定時(shí)刷新數(shù)據(jù)庫(kù)線(xiàn)程。當(dāng)監(jiān)視線(xiàn)程監(jiān)視到串口中有數(shù)據(jù)到達(dá)時(shí),就觸發(fā)一個(gè)消息通知數(shù)據(jù)處理主線(xiàn)程,數(shù)據(jù)處理主線(xiàn)程就去串口緩沖區(qū)中取出數(shù)據(jù),并進(jìn)行數(shù)據(jù)處理。定時(shí)器線(xiàn)程定時(shí)刷新數(shù)據(jù)庫(kù)顯示,以實(shí)現(xiàn)實(shí)時(shí)顯示功能。
作者在程序編寫(xiě)的過(guò)程中,出現(xiàn)數(shù)據(jù)庫(kù)不能實(shí)時(shí)刷新的情況,后來(lái)發(fā)現(xiàn)問(wèn)題出在WINDOWS的WM_TIMER定時(shí)器上,由于該定時(shí)器消息優(yōu)先級(jí)較低,可能造成WM_TIMER消息的丟失,所以不能實(shí)現(xiàn)數(shù)據(jù)庫(kù)的實(shí)時(shí)刷新。解決的方法是采用WINDOWS的多媒體定時(shí)器。在使用多媒體定時(shí)器的過(guò)程中,定時(shí)間隔的選取又是一個(gè)關(guān)鍵的問(wèn)題,定時(shí)間隔選取太小,將會(huì)耗費(fèi)大量的CPU內(nèi)存,造成系統(tǒng)“死機(jī)”, 定時(shí)間隔選取太大,又不能完成“實(shí)時(shí)”顯示功能。這里又涉及到PROFIBUS總線(xiàn)信息循環(huán)時(shí)間的問(wèn)題,總線(xiàn)信息循環(huán)時(shí)間與總線(xiàn)傳輸?shù)牟ㄌ芈省恼镜臄?shù)量、I/O數(shù)據(jù)的數(shù)量、從站需要的延遲時(shí)間以及主站的空閑時(shí)間等有關(guān)。作者通過(guò)了大量的計(jì)算和多次實(shí)驗(yàn)調(diào)試,尋找到一個(gè)合適的定時(shí)器間隔。
2.5  顯示界面
該P(yáng)ROFIBUS-DP報(bào)文分析軟件的程序界面包括主界面、串口配置界面、報(bào)文過(guò)濾界面、報(bào)文查詢(xún)界面、數(shù)據(jù)庫(kù)存儲(chǔ)界面以及歷史查詢(xún)界面等。
PROFIBUS-DP分析診斷軟件的運(yùn)行主界面如圖6,窗口左上部分“當(dāng)前profibus報(bào)文”組框內(nèi)存放最近采集到的PROFIBUS-DP報(bào)文信息,并可通過(guò)工具欄上的記錄移動(dòng)按鈕滾動(dòng)察看記錄;右上方“信息面板”是用來(lái)顯示所有查看報(bào)文的詳細(xì)信息。窗口下半部分以網(wǎng)格形式顯示PROFIBUS-DP歷史信息。
若需要打開(kāi)串口,開(kāi)始接收PROFIBUS報(bào)文信息,則可選擇“命令”菜單下的“開(kāi)始接收”項(xiàng);若需停止接收PROFIBUS報(bào)文信息,則可選擇“命令”菜單下的“停止接收”項(xiàng);若需要配置串口參數(shù),則可選擇“命令”菜單下的“串口配置”項(xiàng),此時(shí)將彈出“串口配置對(duì)話(huà)框”,若需清除當(dāng)前所有記錄,可選擇“記錄”菜單下的“清除所有記錄項(xiàng)”命令,如果需要分類(lèi)查看各種報(bào)文,可以選擇“查看”命令菜單下的“報(bào)文查詢(xún)”,此時(shí)將彈出“報(bào)文查詢(xún)對(duì)話(huà)框”,可根據(jù)需要進(jìn)行報(bào)文分類(lèi)查看。

圖6 軟件運(yùn)行主界面

3   結(jié)束語(yǔ)
該軟件經(jīng)過(guò)作者在PROFIBUS網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng)上的反復(fù)運(yùn)行調(diào)試,結(jié)果表明該軟件能夠?qū)崿F(xiàn)對(duì)幾種PROFIBUS報(bào)文進(jìn)行分析,能夠完成采集、顯示、分析、存儲(chǔ)和查詢(xún)等功能,為以后的研究開(kāi)發(fā)奠定了基礎(chǔ),同時(shí)具有一定的實(shí)用價(jià)值。

  文章來(lái)源于:《電氣時(shí)代》2009年11期。

參考文獻(xiàn)
1. 中華人民共和國(guó)機(jī)械行業(yè)標(biāo)準(zhǔn).測(cè)量和控制數(shù)字?jǐn)?shù)據(jù)通信工業(yè)控制系統(tǒng)用現(xiàn)場(chǎng)總線(xiàn)類(lèi)型3:PROFIBUS規(guī)范[M].北京,機(jī)械工業(yè)出版社,2006.
2. 王永華,Andy Verwer. 現(xiàn)場(chǎng)總線(xiàn)技術(shù)及應(yīng)有教程[M]——從PROFIBUS到AS-i.北京:機(jī)械工業(yè)出版社,2006.
3. IEC. Digital data communications for measurment and control-Fieldbus for use in industrial control systems-Part 3: Data Link Layer service definition[M]. Third edition. 1999.10
4. IEC. Digital data communications for measurment and control-Fieldbus for use in industrial control systems-Part 4: Data Link Layer protocol specification[M]. Third edition. 1999.10
5. 陳幼平,周硯,陳冰等.基于CPLD的Profibus-DP報(bào)文接收器的設(shè)計(jì)[J].測(cè)控技術(shù),2005,24(6).
6. 吳方余,周勇.一種基于數(shù)據(jù)庫(kù)的串口數(shù)據(jù)采集保存方案[J].計(jì)算機(jī)與現(xiàn)代化,2005,10.
7. 龔建偉,雄光明.Visual C++/TurboC 串口通信編程實(shí)踐[M].電子工業(yè)出版社,2004.

 

     

【延伸閱讀】

標(biāo)簽:

閱讀上文 >> 分體式LCD顯示馬達(dá)控制與保護(hù)單元
閱讀下文 >> 基于光纖通信交互式遠(yuǎn)方自投裝置的研發(fā)與應(yīng)用

版權(quán)與免責(zé)聲明:
凡注明稿件來(lái)源的內(nèi)容均為轉(zhuǎn)載稿或由企業(yè)用戶(hù)注冊(cè)發(fā)布,本網(wǎng)轉(zhuǎn)載出于傳遞更多信息的目的,如轉(zhuǎn)載稿涉及版權(quán)問(wèn)題,請(qǐng)作者聯(lián)系我們,同時(shí)對(duì)于用戶(hù)評(píng)論等信息,本網(wǎng)并不意味著贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性;


本文地址:http://www.jiechangshiye.com/tech/show.php?itemid=15959&page=2

轉(zhuǎn)載本站原創(chuàng)文章請(qǐng)注明來(lái)源:東方風(fēng)力發(fā)電網(wǎng)

按分類(lèi)瀏覽

點(diǎn)擊排行

圖文推薦

推薦談技術(shù)

主站蜘蛛池模板: 琼中| 徐闻县| 皮山县| 芮城县| 政和县| 西和县| 石屏县| 方城县| 读书| 衡阳市| 象州县| 滕州市| 瓦房店市| 娄烦县| 泗水县| 英德市| 思茅市| 漳浦县| 修武县| 福泉市| 鹤庆县| 林芝县| 灵山县| 沾化县| 涞源县| 扎囊县| 五河县| 仙游县| 精河县| 新邵县| 抚顺县| 呼图壁县| 扶沟县| 辽源市| 剑阁县| 沅江市| 辉县市| 平顶山市| 梧州市| 湟源县| 渭南市|