技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 應用方案 > 利用泓格產(chǎn)品進行高山無人站監(jiān)控系統(tǒng)的設(shè)計與開發(fā)

利用泓格產(chǎn)品進行高山無人站監(jiān)控系統(tǒng)的設(shè)計與開發(fā)

時間:2007-06-28 15:07:00來源:shixiang

導語:?本系統(tǒng)用來監(jiān)控微波站,主控站在城市機房,受控站則在內(nèi)地或海邊的山頂,環(huán)境比較惡劣
1 應用背景 本系統(tǒng)用來監(jiān)控杭州、溫州、寧波等城市的微波站,主控站在城市機房,受控站則在內(nèi)地或海邊的山頂,環(huán)境比較惡劣。共有6 個主控站,每個主控站帶1 個受控站,采用總線型的主控機和受控機兩級結(jié)構(gòu),通過微波信道(圖1 粗黑線所示)在主控機之間傳送數(shù)據(jù),但在某一時刻只有一臺主控機Polling 所屬受控機,被Polling 受控機作應答處理,其余主控機處于偵聽(Listen)狀態(tài)。主控機Polling 完所屬受控機后,轉(zhuǎn)移Polling 權(quán),由下一臺主控機接管Polling 權(quán)……如此循環(huán)。監(jiān)控內(nèi)容主要包括柴油發(fā)電機、開關(guān)電源、市電、蓄電池等的工作狀態(tài)、環(huán)境溫度、濕度、防盜等。系統(tǒng)結(jié)構(gòu)如圖1 所示。
2 硬件設(shè)計 油機監(jiān)控器是與大型柴油發(fā)電機配套的專用監(jiān)控器,采用雙機熱備;1600 與2800 也是與原設(shè)備配套的專用監(jiān)控器,其中1600 主要用來監(jiān)控市電和環(huán)境參數(shù),2800 對兩組蓄電池(各12 節(jié))進行監(jiān)控;報警開關(guān)量(遙信)輸入模塊采用7041,控制開關(guān)量(遙控)采用7067 模塊,受控機的主控模塊則選用7188。7188 有四個串行口,其中兩個RS232(僅含Rx、Tx、GND 信號線),一個RS485,一個9 針全信號RS232 口(通過內(nèi)部跳線,可將此口改變?yōu)镽S485口)。7188 模塊接口多,抗惡劣環(huán)境,同時,提供豐富的內(nèi)部函數(shù),有利于快速開發(fā)出性能可靠的下位機監(jiān)控系統(tǒng)程序。受控站系統(tǒng)的硬件結(jié)構(gòu)見圖2 所示。由于各監(jiān)控模塊均使用RS485 接口,所以需要兩個RS232/RS485 轉(zhuǎn)換接口。COM1 口為全信號RS232,連接專用Modem,從而進入微波信道進行數(shù)據(jù)的傳輸。主控站通過RS232 接口與專用Modem 連接,進入微波信道。 [align=center] 圖2 受控站硬件結(jié)構(gòu)[/align] 3 軟件實現(xiàn) 3.1 主控機部分 主控機部分采用組態(tài)王5.1 來實現(xiàn)。該系統(tǒng)可運行于Win98/NT 平臺,真正32 位程序,實時多任務(wù)、多線程,采樣速度快,可靠性高,同時,支持分布式歷史數(shù)據(jù)庫及撥號網(wǎng)絡(luò),具有豐富的ActiveX 控件,廣泛應用于鋼鐵、化工、環(huán)保、國防、航空航天等重大領(lǐng)域。 利用組態(tài)王開發(fā)實時計算機監(jiān)控系統(tǒng)方便快捷。首先,定義設(shè)備,加載通訊驅(qū)動程序。如對于本系統(tǒng),是利用RS232 接口來與受控機通訊的,其定義設(shè)備時選取的順序如下:智能模塊—I-7000 系列—I-7188—Modbus RTU Extention。然后,再規(guī)定RS232 的工作參數(shù)。其次,定義數(shù)據(jù)詞典,規(guī)定變量名、數(shù)據(jù)類型、寄存器之間的關(guān)系。數(shù)據(jù)詞典中的變量可以根據(jù)原始數(shù)值自動計算所對應的線性目標值。最后,根據(jù)組態(tài)王提供的圖元控件設(shè)計用戶界面,無論是字符串還是圖元,均可建立“動畫鏈接”,從而,將數(shù)據(jù)變量和數(shù)據(jù)的顯示結(jié)合起來。數(shù)據(jù)顯示包括兩種形式,一是數(shù)據(jù)的文本格式的顯示,二是數(shù)據(jù)的動畫表示,如對于報警量,正常顯示綠燈,報警顯示紅燈等。如此三步,主控機軟件開發(fā)基本完工。 3.2 受控機部分 3.2.1 受控機主程序設(shè)計 7188 提供了豐富而方便的庫函數(shù),其中包括關(guān)鍵的看門狗、相關(guān)的數(shù)據(jù)發(fā)送和接收函數(shù)、時鐘中斷函數(shù)等等,同時,還提供了豐富的例程,因而,使得受控機軟件邏輯簡捷,開發(fā)極其迅速可靠,與其它廠家的模塊也能極其友好地連接。7188 的一個串口控制兩臺智能設(shè)備,這是通過地址來區(qū)分的。對于泓格產(chǎn)品的7000 系列模塊,其工作參數(shù)及模塊地址是可調(diào)的,可在系統(tǒng)組裝之前對其進行設(shè)置。而其它智能模塊的工作參數(shù)和地址則是由廠家設(shè)定的,不可更改。 由于7188 內(nèi)嵌基本的DOS 環(huán)境,因而,采用TC2.0 來編寫受控機程序。主程序首先初始化系統(tǒng),包括對各串口的初始化及系統(tǒng)運行參數(shù)的初始化,并安裝用戶時鐘中斷。由于該用戶中斷固定為1ms,因而,在中斷程序中應避免接收和發(fā)送數(shù)據(jù),因為監(jiān)控系統(tǒng)中的波特率一般不超過9600(太高可能導致數(shù)據(jù)傳輸?shù)牟豢煽浚?,而對?600 的波特率,傳輸1 個字節(jié)的數(shù)據(jù)大約需要1ms,一般情況下,所選擇的波特率低于9600,而且,一次發(fā)送和接收的數(shù)據(jù)一般超過2 個字節(jié),因而,會引起DOS 重入,從而使系統(tǒng)不可靠。所以,時鐘中斷程序應盡量簡捷,主要完成各個工作節(jié)拍之間的協(xié)調(diào)問題,主要工作在主程序中進行,即輪詢時間或節(jié)拍到,即向智能模塊或設(shè)備發(fā)送查詢命令,而當有數(shù)據(jù)返回時,再去讀取數(shù)據(jù)并處理。其軟件系統(tǒng)框圖如圖3 所示。
3.2.2 通訊問題及解決方案 對于計算機監(jiān)控系統(tǒng),最關(guān)鍵的問題是數(shù)據(jù)通訊的可靠性。泓格產(chǎn)品的I/O 設(shè)備數(shù)據(jù)傳輸平穩(wěn),能與7188 可靠地連接,但其它廠家模塊的數(shù)據(jù)傳輸并不象所想象的那么連續(xù),因而,應該根據(jù)所接收的數(shù)據(jù)的不連續(xù)性作相應的等待,時間太短,數(shù)據(jù)將可能丟失,時間太長,則可能造成死機或?qū)⑾乱慌臄?shù)據(jù)也一塊接收進來。數(shù)據(jù)接收程序見算法1 中的ReadDataDelay 子程序。經(jīng)過反復調(diào)試,對于本系統(tǒng),發(fā)現(xiàn)延時數(shù)據(jù)大于0x0140 即可,小于0x0130 則數(shù)據(jù)錯誤率達1/4 左右,并且,主要是每次丟失1~2 個字節(jié)的數(shù)據(jù)。0x0130 與0x0140 之間為臨界值。數(shù)據(jù)發(fā)送也用一個統(tǒng)一的子程序來完成,見算法1 中的SendData 子程序,數(shù)組中第一個字節(jié)用來存放收到的字節(jié)數(shù),其后為數(shù)據(jù)內(nèi)容。以下算法對嵌入式模塊的程序設(shè)計具有通用性,其基本原理可以廣泛使用。 /****************************************************/ /* ReadDataDelay:讀取串口nPort 中的數(shù)據(jù),放入 */ /* bData 中,nDealy 為需要等待的節(jié)拍數(shù) */ /****************************************************/ void ReadDataDelay(int nPort, unsigned char *bData, int nDelay) { int nData=0; /*接收到的字節(jié)數(shù)*/ int iCount=0; /*等待計時*/ while(iCount < nDelay) { if(IsCom(nPort)==QueueIsNotEmpty) /*nPort 口有數(shù)據(jù)*/ { nData++; bData[nData] = ReadCom(nPort); /*讀取一個字節(jié)的數(shù)據(jù)*/ iCount = 0; /*有數(shù)據(jù),計時清零*/ } else iCount++; /*沒有數(shù)據(jù),則等待計時*/ } /*bData 數(shù)據(jù)中第一個字節(jié)地址存放收到的字節(jié)數(shù),其余為字節(jié)內(nèi)容*/ bData[0] = nData; ClearCom(nPort); /*清除串口數(shù)據(jù)內(nèi)容,為下次數(shù)據(jù)接收作準備*/ } /*********************************************************/ /* SendData:nPort 為串口號,ComData 為需要發(fā)送的數(shù)據(jù) */ /*********************************************************/ void SendData(int nPort, unsigned char *ComData) { int nlength, i; nlength = ComData[0]; if(2 == nPort) Set485DirToTransmit(nPort); for(i=0; i算法1 數(shù)據(jù)的接收和發(fā)送
4 調(diào)試及結(jié)論 泓格產(chǎn)品的7000 系列組合方便,而且,7188 有四個RS232/485 串口,價格卻非常便宜,一塊7188 主控模塊只要2000 多元,且同樣抗惡劣環(huán)境,曾用電吹風對其連續(xù)勁吹,使其表面發(fā)燙(溫度在50℃以上),卻依然可靠地工作。由于上位機提供了組態(tài)軟件,因而,上位機程序開發(fā)迅速,性能可靠;下位機提供了豐富的庫函數(shù)和例程,使得下位機軟件的邏輯簡捷,編程靈活而迅速,看門狗功能又能使其自動恢復。作者長期從事計算機監(jiān)控方面的項目與研究工作,設(shè)計了“通用多功能計算機監(jiān)控系統(tǒng)測試軟件”,專門用來通過RS232 或RS485 測試監(jiān)控系統(tǒng)或相應的智能設(shè)備[1] 。該軟件既能充當受控機用來測試主控機程序,又能充當主控機用來測試受控機程序,并在多個監(jiān)控系統(tǒng)中得到驗證。在測試過程中發(fā)現(xiàn),7000 系列的模塊數(shù)據(jù)傳輸平穩(wěn),并且,連續(xù)測試48小時(5 秒測試1 次),非泓格產(chǎn)品的監(jiān)控器平均發(fā)生25 次數(shù)據(jù)傳輸錯誤,而對于7000 系列的模塊卻沒有一次錯誤記錄;用該測試軟件模擬受控機對主控機(組態(tài)軟件)進行測試,也沒有錯誤記錄。目前,該系統(tǒng)已經(jīng)在實驗室調(diào)試通過,效果良好。由于采用了泓格產(chǎn)品的組態(tài)軟件及7000 系列的模塊,該系統(tǒng)開發(fā)迅速,性能可靠,因而,極有推廣價值(onspring@sina.com)。 參考文獻∶ [1] 馬玉春, 宋瀚濤. 串行通訊協(xié)議的研究與應用. 計算機應用研究, 2004.4, p228

標簽:

點贊

分享到:

上一篇:晶閘管滑差調(diào)節(jié)裝置及其在軋...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號