技術(shù)頻道

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

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

時(shí)間:2007-06-28 15:07:00來(lái)源:shixiang

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

標(biāo)簽:

點(diǎn)贊

分享到:

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

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

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

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

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

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

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

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)