姜小云,吳 俞
(1.海南省氣象技術裝備中心,海南 海口 570100;2.海南省瓊海市氣象局,海南 瓊海 571400)
自動氣象站綜合自動調試軟件的設計
姜小云1,吳 俞2
(1.海南省氣象技術裝備中心,海南 海口 570100;2.海南省瓊海市氣象局,海南 瓊海 571400)
通過一個全新的綜合各個廠家各種型號的自動氣象站自動調試軟件來實現不同自動氣象站的現場維護維修調試,使得各種自動氣象站維護維修工作變得方便、簡單、高效。維護維修實踐工作證明該軟件設計適合各種自動氣象站的維護維修。
自動氣象站;自動;調試軟件
目前自動氣象站的建設日趨成熟,但是由于自動氣象站的生產廠家、型號和用途各不相同,使得各種自動氣象站的正常運行和自動氣象站設備的維護維修變得困難。自動氣象站的安裝調試維護維修工作一般都是通過自動氣象站采集器的串口通信來實現的。因此,無論哪個廠家生產的自動氣象站工作原理都相似,這就使得設計一個綜合所有廠家各種型號的自動測試、調試自動氣象站設備故障的軟件成為可能。由于考慮到許多地面氣象觀測員所學專業(yè)都不是機電類,所以,對于這些非專業(yè)的自動氣象站設備操作維護人員需要簡單方便、快速高效地來解決各種自動氣象站自動觀測運行工作中出現的各種問題,比如各種自動氣象站調試命令字符串難以記住,另外現在的筆記本電腦一般都不自帶串口而需要USB轉RS232實現串口功能,這樣使得我們不清楚目前可用的通信端口是哪一個等等。
為了解決各個廠家不同型號自動氣象站運行中出現的各種問題,就需要利用各廠家不同型號自動氣象站的調試命令字符串(比如,江蘇無線電科學研究所有限公司生產的中尺度氣象站ZQZ-A型的調試命令字符串為TEST加上回車符;ZQZ-BH型調試命令字符串為 SAMPLES加上回車符[1];華創(chuàng)升達高科技發(fā)展中心生產的CAWS-600型號的遙測自動氣象站的調試命令字符串為UB加回車符[1])。用 Windows編程軟件[2]比如 VB 設計一個串口通信程序,自動選擇筆記本電腦可用的串行通信端口,自適應地依次判斷不同廠家不同型號的自動氣象站,發(fā)送相應的調試命令字符串,然后返回相應的自動氣象站的實時數據信息和運行狀態(tài)信息給本調試軟件數據接收界面中,供自動氣象站操作維護工作人員查看。所有操作都由軟件自動完成,不需要人工操作,也不需要維護人員知道過多的自動氣象站設備軟硬件知識。整個操作流程一步到位,簡單方便、快捷高效。
利用windows編程語言[2]實現該自動氣象站綜合調試軟件的系統(tǒng)操作界面如圖1所示。本軟件界面摒棄了原來各自動氣象站生產廠家的一些比較復雜的參數設置和專業(yè)技術知識背景,使得操作非常簡單方便。
整個軟件都采用控件編程。包括兩個命令按鈕控件、一個串口通訊控件、一個文本框控件和兩個標簽控件。使用串口通訊編程對象MSComm控件來進行程序設計能大大降低軟件設計的復雜性和難度。該控件的全稱是 Microsoft Communication Control,是由Microsoft公司開發(fā)的主要用于實現電腦與單片機之間通信的ActiveX控件。該控件不在常用控件工具箱里,可單擊程序中的“工程”,選擇“菜單”,再選擇“部件”命令,在部件對話框中選擇“Microsoft CommControl 6.0”,此時工具箱中就會出現MSComm控件的圖標。MSComm控件可以用來輕松實現串行通訊功能,它可以建立與串口的連接,通過串口連接到其他設備(例如:自動氣象站、智能儀器儀表),可以發(fā)送命令、交換數據以及監(jiān)視和響應串口中發(fā)生的事件和錯誤。

圖1 軟件實現界面
在串行通訊程序的編寫中,可在 MSComm控件屬性中設置串口端口號、波特率、數據位、奇偶校驗位、停止位等(如 COM1,9600,8,n,1),發(fā)送的命令字符串和自動氣象站采集數據傳輸格式要依據不同型號自動氣象站的通訊約定,具體方法要參考相關自動氣象站的說明資料,這里不再詳述。由于篇幅所限,具體的程序代碼這里不給出,有關采用MSComm控件來進行串行通訊的例程的資料有很多[2]。
系統(tǒng)設計流程框圖如圖2所示。整個流程的工作原理是:首先程序輪流打開電腦的所有可用串口。例如,先打開串口1,如果打開成功,那么以合適的波特率參數發(fā)送某一種型號的自動氣象站調試命令字符串。如果有自動氣象站采集數據返回,則接收數據到軟件的接收顯示區(qū),否則再以另一種波特率參數發(fā)送另一種型號的自動氣象站調試命令字符串。如果所有型號的自動氣象站都輪流發(fā)送了一遍仍然沒有數據返回,這就說明串口1沒有用來連接自動氣象站,那么再打開串口2,操作同上,以此類推,直到有自動氣象站采集數據返回再進行下一輪操作。該軟件由于使用了一個無限循環(huán)體實現自動操作功能,不需要人工操作,因此還需要一個避免死機的進程退出機制。DoEvents函數能夠很好的解決上述問題,能轉讓系統(tǒng)控制權給用戶,以便讓操作系統(tǒng)處理其它的事件。其使用語法是在循環(huán)體的內部添加一條函數調用語句DoEvents()。在本軟件實現中,把該條語句放在while循環(huán)體內。

圖2 軟件設計流程簡圖
自動氣象站的生產廠家、型號和用途各不相同,使得各種自動氣象站的正常運行和自動氣象站設備的維護維修變得困難。本文通過一個綜合各個廠家各種型號的自動氣象站自動調試軟件來實現不同自動氣象站的現場維護維修調試,只要用電纜線與各種自動氣象站采集器相連,運行該軟件就可以自動得到調試數據信息。其最大的優(yōu)點是避免工作人員在野外高山、海島、暴曬等惡劣條件下長時間的安裝調試自動氣象站設備,可以減輕多余的體力開支,同時操作簡單,能高效解決自動站的故障問題。維修業(yè)務實踐證明本軟件非常適合各種自動氣象站的維護維修。該軟件已在海南省18個市縣臺站的400余個各類型自動氣象站的實際檢修業(yè)務中,發(fā)揮了積極作用。據不完全統(tǒng)計,使用了該軟件的檢修業(yè)務完成時間比此前平均縮短半小時以上。其軟件成果作為海南省氣象技術裝備全網實時監(jiān)控與保障系統(tǒng)的一個子系統(tǒng),共同獲得了海南省科技廳2010年科技進步三等獎。
[1] 李黃.自動氣象站實用手冊[M].北京:氣象出版社,2008.
[2] 李江全,等.Visual Basic串口通信與測控應用技術實戰(zhàn)詳解[M].北京:人民郵電出版社,2007.
P468
B
1003-6598(2011)03-0048-02
2010-11-08
姜小云(1978-),男,助工,主要從事天氣雷達、自動氣象站維護維修及計量檢定等工作。