孟彩菊,楊世英,靳玉貞,何 佳,任瑞國
(1.山西省地震局太原基準地震臺,山西 太原 030025;2.太原大陸裂谷動力學國家野外科學觀測研究站,山西 太原 030025)
中國地震局通過“中國數(shù)字地震觀測網(wǎng)絡(luò)”和“中國地震背景場探測”等重大項目的實施,在臺站安裝了大量數(shù)字化觀測設(shè)備,逐步建立起了以中國局、片區(qū)、省局和臺站為主體的多級工作模式。在日常監(jiān)測工作中,運行維護是臺站的一項重要任務(wù),也是地震監(jiān)測臺網(wǎng)連續(xù)穩(wěn)定運行的可靠保障。目前,管理部門對監(jiān)測質(zhì)量及數(shù)據(jù)連續(xù)率的要求不斷提高,運行維護工作在響應時間、恢復時間、維護成本等方面仍需不斷提高(1)中國地震局.中國地震監(jiān)測發(fā)展設(shè)計綱要(2016-2035年),2015.,[1]。
在各類觀測設(shè)備故障中,由于軟、硬件等不明原因造成的死機占一定的比例。在以往的工作中,值班人員發(fā)現(xiàn)觀測設(shè)備不能連通而懷疑死機時,會到現(xiàn)場對觀測設(shè)備進行斷電復位,然后需要再次查看觀測數(shù)據(jù),直至恢復正常。這一操作過程未完全實現(xiàn)自動處理,工作效率低下。文章以太原臺的加速度數(shù)據(jù)采集器死機為案例,通過微軟的Visual Studio 2015的網(wǎng)絡(luò)編程及對網(wǎng)絡(luò)遠程控制設(shè)備進行二次開發(fā),實現(xiàn)了對數(shù)據(jù)采集器進行自動檢測,在出現(xiàn)死機時自動進行斷電重啟操作,自動操作開啟數(shù)據(jù)流,使觀測設(shè)備數(shù)據(jù)傳輸恢復正常。
太原臺的加速度觀測采用SYSCOM設(shè)備,加速度計型號為MS2007,數(shù)據(jù)采集器型號為MR2002。加速度計架設(shè)在臺站觀測山洞中,數(shù)據(jù)采集器通過引入山洞的網(wǎng)絡(luò)接入臺站行業(yè)網(wǎng),數(shù)據(jù)直接傳輸至省局臺網(wǎng)。臺站值班人員每天通過瀏覽數(shù)據(jù)采集器頁面查看數(shù)據(jù)傳輸狀態(tài),當無法打開頁面時,說明數(shù)據(jù)采集器出現(xiàn)死機,需進入觀測山洞對數(shù)據(jù)采集器進行斷電重啟操作,然后在瀏覽器的數(shù)據(jù)采集器頁面上再點擊“ON”按鈕(見圖1),開啟數(shù)據(jù)流。
由于此數(shù)據(jù)采集器死機現(xiàn)象相對較多,為避免觀測人員進山洞對觀測環(huán)境造成影響,曾使用某品牌的智能插座,將數(shù)據(jù)采集器的供電電源接在智能插座的輸出上。在需要斷電重啟時,不必再進入觀測山洞,利用手機安裝的APP控制智能插座,進行一次“電源關(guān)”與“電源開”操作,完成斷電重啟。由于此類智能插座需要接入互聯(lián)網(wǎng),不適合未接入互聯(lián)網(wǎng)的站點,并且未開放API接口,無法編程實現(xiàn)死機時的及時自動復位請求,故決定選用可進行二次開發(fā)的網(wǎng)絡(luò)遠程控制設(shè)備進行替代。
圖1 數(shù)據(jù)采集器頁面Fig.1 Data acquisition device page
隨著近年來物聯(lián)網(wǎng)技術(shù)的興起,已有眾多廠商提供了價格低廉且可供二次開發(fā)的網(wǎng)絡(luò)遠程控制設(shè)備,對于簡單的應用可省去底層開發(fā)成本。文章使用的是廣州泥人電子科技有限公司的TCP-KP-I2O2網(wǎng)絡(luò)遠程控制設(shè)備,該設(shè)備采用工業(yè)級設(shè)計方案,搭載32位ARM處理器和10/100M以太網(wǎng)網(wǎng)絡(luò)芯片,具有速度快,運算能力強,穩(wěn)定性高,抗干擾能力強等特點,可在工業(yè)環(huán)境中使用(見圖2)。
其中,以太網(wǎng)模塊采用了W5500解決方案,內(nèi)部集成全硬件TCP/IP協(xié)議棧+MAC+PHY,全硬件協(xié)議棧技術(shù)采用硬件邏輯門電路實現(xiàn)復雜的TCP/IP協(xié)議簇,通過RJ45接口接入網(wǎng)絡(luò);單片機的主控芯片采用基于ARM的STM32F103C8T6,通過I/O口與以太網(wǎng)模塊直連;繼電器通過驅(qū)動電路與單片機相連;該設(shè)備由5V直流供電,支持多路繼電器控制(2)ST公司.STM32F103中文手冊,2007.(3)WIZnet公司.W5500數(shù)據(jù)手冊,2015.。實際應用中,將數(shù)據(jù)采集器的電源接到網(wǎng)絡(luò)遠程控制設(shè)備的繼電器接線端子上,便可通過編寫軟件向遠程控制設(shè)備發(fā)送命令,實現(xiàn)數(shù)據(jù)采集器的斷電重啟。
圖2 網(wǎng)絡(luò)遠程控制設(shè)備結(jié)構(gòu)圖Fig.2 Network remote control equipment structure
為實現(xiàn)在數(shù)據(jù)采集器死機時自動斷電重啟并開啟數(shù)據(jù)流,需編制軟件實現(xiàn)定時啟動(見圖3)。
圖3 數(shù)據(jù)采集器自動檢測與斷電重啟流程Fig.3 The flow of automatic detection and power-off restart of data acquisition device
為直觀地顯示數(shù)據(jù)采集器頁面,按照值班人員的日常巡查方法,在程序的窗體中添加了WebBrowser控件。微軟在.Net 2.0以上版中提供的托管包裝WebBrowser控件可以在Windows窗體客戶端程序中顯示網(wǎng)頁,使用Navigate(String)方法將指定的統(tǒng)一資源定位符(URL)處的文檔加載到WebBrowser控件中,替換上一個文檔。可在Progress Changed事件(文檔下載的進度更新時發(fā)生)或Document Completed(完成加載文檔時發(fā)生)事件的處理函數(shù)中判斷頁面是否正常加載。也可根據(jù)屬性Ready State(WebBrowser控件的當前狀態(tài))結(jié)合時間進行判斷。當加載不成功時,即可判斷數(shù)據(jù)采集器已死機。
先使用網(wǎng)絡(luò)遠程控制設(shè)備自帶的配置程序?qū)ζ溥M行設(shè)置,將其設(shè)置為TCP服務(wù)器模式,并配置相應的IP地址、子網(wǎng)掩碼、默認網(wǎng)關(guān)和設(shè)備端口號。設(shè)備工作在此模式時,需編寫一個簡單的TCP客戶端,連接請求由此客戶端發(fā)起,設(shè)備監(jiān)聽到連接請求后與電腦建立連接并進行會話。Socket是網(wǎng)絡(luò)應用程序的核心,Socket通常也稱作“套接字”,用于描述IP地址和端口,是一個通信鏈的句柄,應用程序通常通過“套接字”向網(wǎng)絡(luò)發(fā)出請求或者應答網(wǎng)絡(luò)請求。使用.NET的System.Net Sockets.Socket類庫編寫客戶端應用,主要有以下步驟:(1) 建立socket連接:Connect();(2) 發(fā)送信息與接收消息:Send()和Receive();(3) 關(guān)閉連接Close()[2-3]。根據(jù)網(wǎng)絡(luò)遠程控制設(shè)備二次開發(fā)手冊,單路繼電器延時控制指令格式為:
發(fā)送:AT+STACH
如果數(shù)據(jù)采集器電源接在繼電器1的常閉端,則可發(fā)送“AT+STACH1=1,10
數(shù)據(jù)采集器斷電重啟后,待其頁面可加載顯示為“The data stream is OFF”時,需點擊圖1的“ON”按鈕開啟數(shù)據(jù)流,否則流服務(wù)器仍不可接收到數(shù)據(jù)流。對頁面的HTML代碼進行簡單分析,第53頁圖4中,從60行可知點擊“ON”按鈕是執(zhí)行的statr_stream()函數(shù)。此例中,可使用WebBrowser控件的Document.InvokeScript("start_stream")語句執(zhí)行在HTML頁面中定義的活動腳本函數(shù)statr_stream(),實現(xiàn)開啟數(shù)據(jù)流。
圖4 頁面HTML代碼Fig.4 Page HTML code
圖5 軟件運行界面Fig.5 Software running screen
編譯后的軟件界面如圖5所示,點擊“數(shù)采檢測”,連接數(shù)據(jù)采集器頁面,并顯示在WebBrowser框內(nèi),如果頁面不可連接,將給出提示信息。點擊“重啟數(shù)采”,控制網(wǎng)絡(luò)遠程控制設(shè)備的繼電器吸合10秒后斷開,實現(xiàn)斷電重啟,然后在數(shù)據(jù)采集器頁面可連接時,開啟數(shù)據(jù)流。當勾選“自動”復選框后,軟件將每間隔指定的分鐘數(shù),對數(shù)據(jù)采集器檢測一次,“死機時”自動斷電重啟,并開啟數(shù)據(jù)流。
文中介紹的網(wǎng)絡(luò)遠程控制設(shè)備及編寫的自動處理軟件已應用于太原臺。該項改進措施減輕了觀測人員的工作負擔,有效提高了工作效率,為做好儀器設(shè)備運維工作、提高觀測設(shè)備連續(xù)率做出了積極探索。另外,所介紹的硬件及軟件編程方法,對有類似需求的人員有參考借鑒價值。