新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 計(jì)算機(jī)監(jiān)控接口技術(shù)研究

計(jì)算機(jī)監(jiān)控接口技術(shù)研究

作者: 時(shí)間:2013-05-03 來(lái)源:網(wǎng)絡(luò) 收藏


圖1 典型的監(jiān)控系統(tǒng)硬件結(jié)構(gòu)

4 串行接口和網(wǎng)口之間的軟件轉(zhuǎn)換

無(wú)論是串行通訊還是網(wǎng)絡(luò)通訊,都不能保證其數(shù)據(jù)傳輸平穩(wěn)流暢,即數(shù)據(jù)有間斷性。應(yīng)該根據(jù)具體的情況,將一定時(shí)間內(nèi)的不連續(xù)的數(shù)據(jù)合并成一個(gè)完整的數(shù)據(jù)包,進(jìn)行校驗(yàn)分析。將屬于一個(gè)數(shù)據(jù)包的不連續(xù)的數(shù)據(jù)分開(kāi),或?qū)⒉粚儆谝粋€(gè)數(shù)據(jù)包的數(shù)據(jù)合并處理都是錯(cuò)誤的,這是由于軟件處理不當(dāng)所造成的嚴(yán)重的通訊故障。實(shí)際的數(shù)據(jù)流示例如圖2所示。受控機(jī)的軟件一般采用低級(jí)語(yǔ)言編寫(xiě),這可以通過(guò)設(shè)置循環(huán)次數(shù)來(lái)收集數(shù)據(jù),如果在設(shè)置的最大的時(shí)間片內(nèi)沒(méi)有新的數(shù)據(jù)到達(dá),則當(dāng)前數(shù)據(jù)為一個(gè)數(shù)據(jù)包,作為整體進(jìn)行處理。在主控機(jī)端則可以簡(jiǎn)單地通過(guò)定時(shí)器來(lái)實(shí)現(xiàn)。對(duì)于串行通訊,等待的時(shí)間片由字節(jié)數(shù)來(lái)計(jì)算,并考慮波特率和具體的串口類(lèi)型。


圖2 實(shí)際數(shù)據(jù)流

帶有RS232和RS485的受控機(jī)(CPU模塊),其工作原理就是收集具有RS485接口的執(zhí)行器和傳感器中的數(shù)據(jù),通過(guò)軟件轉(zhuǎn)換成主控機(jī)的RS232可以接受的數(shù)據(jù)格式;或接受主控機(jī)命令,發(fā)送至執(zhí)行器。由于RS485只能單向傳輸,通過(guò)RS485發(fā)送完數(shù)據(jù)后,必須立即轉(zhuǎn)換為接收狀態(tài),以處理響應(yīng)的數(shù)據(jù)。其軟件設(shè)計(jì)必須處理好圖1的實(shí)際問(wèn)題,這是通訊的關(guān)鍵。典型的和比較通用的數(shù)據(jù)發(fā)送和接收程序可參考文獻(xiàn)[2]。

由于一般配備網(wǎng)口(RJ45)和串口(RS232),所以,用軟件來(lái)實(shí)現(xiàn)網(wǎng)口和串口之間的數(shù)據(jù)轉(zhuǎn)換,是一個(gè)安全、可靠和方便的手段,避免了硬件的設(shè)備故障的可能性??梢酝ㄟ^(guò)Visual Basic語(yǔ)言,采用串行通訊控件MsComm32.OCX和網(wǎng)絡(luò)通訊控件WinSock.OCX[3][4]來(lái)實(shí)現(xiàn),兩個(gè)控件的收發(fā)數(shù)據(jù)的變量類(lèi)型都應(yīng)設(shè)置為變體Variant,因?yàn)樵跀?shù)據(jù)包中存在“00”字節(jié)是常有的事,如果設(shè)置為字符串String,“00”字節(jié)后面的數(shù)據(jù)將被截去。MsComm控件是通過(guò)Input和Output屬性來(lái)收發(fā)數(shù)據(jù)的,應(yīng)將接收閾值設(shè)為1,即一有數(shù)據(jù),立即響應(yīng),當(dāng)發(fā)生數(shù)據(jù)到達(dá)事件comEvReceive時(shí),通過(guò)Input屬性直接讀取數(shù)據(jù),然后通過(guò)Winsock的SendData立即轉(zhuǎn)發(fā)(見(jiàn)圖3-1所示)。對(duì)于WinSock控件,當(dāng)發(fā)生DataArrival事件時(shí),用GetData函數(shù)讀取,然后通過(guò)MsComm控件的Output屬性立即轉(zhuǎn)發(fā)(見(jiàn)圖3-2所示)。

串口的通訊屬性必須與對(duì)等設(shè)備的通訊屬性一致。至于網(wǎng)口,可以有兩種方式與對(duì)等設(shè)備建立連接,如果對(duì)等設(shè)備以服務(wù)器方式工作,則以客戶(hù)機(jī)方式(Winsock.Connect)建立連接(預(yù)先設(shè)置服務(wù)器的IP地址和端口號(hào));如果對(duì)等設(shè)備以客戶(hù)機(jī)方式工作,則以服務(wù)器方式(Winsock.Listen)偵聽(tīng),等待客戶(hù)機(jī)的連接請(qǐng)求并作出相應(yīng)的處理。

5 遠(yuǎn)程測(cè)試模型及分析

對(duì)監(jiān)控系統(tǒng)進(jìn)行測(cè)試的最理想的地理位置,一般是現(xiàn)場(chǎng),因?yàn)橹挥性诂F(xiàn)場(chǎng),才能觀察各種復(fù)雜的因素。有的監(jiān)控模塊可以通過(guò)撤換法進(jìn)行查錯(cuò),然而,大型設(shè)備,如大型柴油發(fā)電機(jī)組,難以搬遷,也無(wú)法替換。如何采用一種簡(jiǎn)潔高效的方式,對(duì)現(xiàn)場(chǎng)監(jiān)控系統(tǒng)和設(shè)備進(jìn)行檢測(cè)?文獻(xiàn)[5]介紹了一個(gè)“智能設(shè)備的通用測(cè)試”軟件,通過(guò)串口進(jìn)行測(cè)試,只能在近距離或現(xiàn)場(chǎng)進(jìn)行。借助上文的串口和網(wǎng)口的轉(zhuǎn)換軟件,可以實(shí)現(xiàn)遠(yuǎn)距離現(xiàn)場(chǎng)測(cè)試。遠(yuǎn)程測(cè)試模型如圖4所示,服務(wù)器和客戶(hù)機(jī)都是普通的PC機(jī),均運(yùn)行RS232/RJ45轉(zhuǎn)換軟件。


圖4 遠(yuǎn)程測(cè)試模型

工程師以服務(wù)器方式設(shè)置RS232/RJ45轉(zhuǎn)換軟件,將此信息及服務(wù)器的IP地址與偵聽(tīng)端口以電子的方式通知用戶(hù),用戶(hù)根據(jù)工程師的指示,將RS232/RJ45轉(zhuǎn)換軟件設(shè)置成客戶(hù)機(jī)方式,并向服務(wù)器發(fā)送連接請(qǐng)求,如此建立連接,同時(shí),用戶(hù)連接好客戶(hù)機(jī)與被測(cè)對(duì)象之間的通訊電纜,接通電源,將客戶(hù)機(jī)的串口參數(shù)與被測(cè)對(duì)象的串口參數(shù)設(shè)為一致。服務(wù)器上運(yùn)行兩個(gè)獨(dú)立的軟件,另一個(gè)為“智能設(shè)備的通用測(cè)試”[5]軟件,兩個(gè)軟件之間沒(méi)有共享的數(shù)據(jù)區(qū),只通過(guò)接口發(fā)生關(guān)系:轉(zhuǎn)換軟件將網(wǎng)口接收的數(shù)據(jù)發(fā)往串口COM1,測(cè)試軟件在串口COM2接收到數(shù)據(jù)后進(jìn)行分析處理,并通過(guò)COM2發(fā)送命令至COM1;轉(zhuǎn)換軟件又從COM1接收數(shù)據(jù),通過(guò)網(wǎng)口將命令轉(zhuǎn)發(fā)到客戶(hù)機(jī),從而抵達(dá)被測(cè)對(duì)象。

對(duì)于測(cè)試結(jié)果,如果屬于軟故障,即非設(shè)備故障,工程師可以通過(guò)電子協(xié)作指示用戶(hù)對(duì)系統(tǒng)加以調(diào)整或維護(hù);如果是硬故障,即設(shè)備故障,工程師可以根據(jù)具體情況,有準(zhǔn)備地去現(xiàn)場(chǎng)解決問(wèn)題,節(jié)省人力物力。

6 結(jié)束語(yǔ)

計(jì)算機(jī)監(jiān)控系統(tǒng)廣泛應(yīng)用于眾多領(lǐng)域,接口的可靠性則關(guān)系到系統(tǒng)的生命。本文充分研究了各種常用接口的硬件性能和相關(guān)的軟件特性,以及接口之間的硬件轉(zhuǎn)換和軟件轉(zhuǎn)換,最后設(shè)計(jì)了一個(gè)遠(yuǎn)程測(cè)試模型,并在局域網(wǎng)上通過(guò)了測(cè)試,取得了良好的效果。通過(guò)因特網(wǎng)進(jìn)行遠(yuǎn)程測(cè)試,可以節(jié)省大量的人力物力,不失為一種高效的測(cè)試手段。

參考文獻(xiàn)
[1] 大漠電子?http://www.demo.com.cn/,2003
[2] 馬玉春,趙躍華?高山無(wú)人站監(jiān)控系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)?電腦開(kāi)發(fā)與應(yīng)用[J]?13(9):35, 2000
[3] 汪曉平,鐘軍等?Visual Basic網(wǎng)絡(luò)高級(jí)編程[M],北京:人民郵電出版社,2001
[4] MSDN Library Archive?http://msdn.microsoft.com/archive/,2003
[5] 王建明,馬玉春?智能設(shè)備的通用測(cè)試?工業(yè)控制計(jì)算機(jī)[J]?15(12):10, 2002(end)

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉