計算機監控接口技術研究
圖1 典型的計算機監控系統硬件結構
無論是串行通訊還是網絡通訊,都不能保證其數據傳輸平穩流暢,即數據有間斷性。應該根據具體的情況,將一定時間內的不連續的數據合并成一個完整的數據包,進行校驗分析。將屬于一個數據包的不連續的數據分開,或將不屬于一個數據包的數據合并處理都是錯誤的,這是由于軟件處理不當所造成的嚴重的通訊故障。實際的數據流示例如圖2所示。受控機的軟件一般采用低級語言編寫,這可以通過設置循環次數來收集數據,如果在設置的最大的時間片內沒有新的數據到達,則當前數據為一個數據包,作為整體進行處理。在主控機端則可以簡單地通過定時器來實現。對于串行通訊,等待的時間片由字節數來計算,并考慮波特率和具體的串口類型。
圖2 實際數據流
由于計算機一般配備網口(RJ45)和串口(RS232),所以,用軟件來實現網口和串口之間的數據轉換,是一個安全、可靠和方便的手段,避免了硬件串行網關的設備故障的可能性。可以通過Visual Basic語言,采用串行通訊控件MsComm32.OCX和網絡通訊控件WinSock.OCX[3][4]來實現,兩個控件的收發數據的變量類型都應設置為變體Variant,因為在數據包中存在“00”字節是常有的事,如果設置為字符串String,“00”字節后面的數據將被截去。MsComm控件是通過Input和Output屬性來收發數據的,應將接收閾值設為1,即一有數據,立即響應,當發生數據到達事件comEvReceive時,通過Input屬性直接讀取數據,然后通過Winsock的SendData立即轉發(見圖3-1所示)。對于WinSock控件,當發生DataArrival事件時,用GetData函數讀取,然后通過MsComm控件的Output屬性立即轉發(見圖3-2所示)。
5 遠程測試模型及分析
對計算機監控系統進行測試的最理想的地理位置,一般是現場,因為只有在現場,才能觀察各種復雜的因素。有的監控模塊可以通過撤換法進行查錯,然而,大型設備,如大型柴油發電機組,難以搬遷,也無法替換。如何采用一種簡潔高效的方式,對現場監控系統和設備進行檢測?文獻[5]介紹了一個“智能設備的通用測試”軟件,通過串口進行測試,只能在近距離或現場進行。借助上文的串口和網口的轉換軟件,可以實現遠距離現場測試。遠程測試模型如圖4所示,服務器和客戶機都是普通的PC機,均運行RS232/RJ45轉換軟件。
圖4 遠程測試模型
對于測試結果,如果屬于軟故障,即非設備故障,工程師可以通過電子協作指示用戶對系統加以調整或維護;如果是硬故障,即設備故障,工程師可以根據具體情況,有準備地去現場解決問題,節省人力物力。
6 結束語
計算機監控系統廣泛應用于眾多領域,接口的可靠性則關系到系統的生命。本文充分研究了各種常用接口的硬件性能和相關的軟件特性,以及接口之間的硬件轉換和軟件轉換,最后設計了一個遠程測試模型,并在局域網上通過了測試,取得了良好的效果。通過因特網進行遠程測試,可以節省大量的人力物力,不失為一種高效的測試手段。
參考文獻
[1] 大漠電子?http://www.demo.com.cn/,2003
[2] 馬玉春,趙躍華?高山無人站監控系統設計與開發?電腦開發與應用[J]?13(9):35, 2000
[3] 汪曉平,鐘軍等?Visual Basic網絡高級編程[M],北京:人民郵電出版社,2001
[4] MSDN Library Archive?http://msdn.microsoft.com/archive/,2003
[5] 王建明,馬玉春?智能設備的通用測試?工業控制計算機[J]?15(12):10, 2002(end)
評論