髙業欣,燕 云,趙龍梅,朱葉林,趙 雷(遼寧省地震局,遼寧 沈陽 110034)
基于Labview平臺LDAWYZ-1型水位儀軟件系統設計與實現
髙業欣,燕 云,趙龍梅,朱葉林,趙 雷
(遼寧省地震局,遼寧 沈陽 110034)
介紹了LDAWYZ-1型水位儀軟件系統的設計與實現過程,闡述了設計思路、各功能模塊具體實現方法,并介紹了基于G語言的Labview編程平臺及其在地震系統數據采集中的應用。
Labview;聲卡采集;網絡通信
水位測量作為前兆分析手段之一,近年來受到更多的關注,涌現出大批水位測量儀器,但多數水位測量儀器都通過單片機實現數據測量、存儲與網絡數據交換,這些儀器能夠提供較好的測量結果,但由于測量信號多數采取電壓電流傳輸方式,受到傳輸線長度制約,另外程序的冗長,導致經常出現死機等現象[1]。本文中LDAWYZ-1型水位儀內部采用電流-頻率變換電路,直接由聲卡采集頻率信息,借助Labview平臺,各功能模塊完全多線程獨立運行,互不干擾,較好地避免了上述問題的發生[2]。
LDAWYZ-1型水位儀軟件系統采用Tab控件分頁顯示,實現與三個交互體(人機界面、硬盤存儲、中國前兆數據管理系統)四大功能:水位采集記錄與顯示、用戶設置、數據重繪、網絡通信。系統總體設計框架圖如圖1所示,系統主界面如圖2所示。

圖1 系統總體框架圖Fig.1 The system frame

圖2 系統主界面Fig.2 The main page of the system
軟件第一Tab分表格和曲線兩種方式顯示實時測量數據,表格便于數據記錄,曲線直觀顯示數據變化趨勢。第二Tab為系統參數設置界面,用于顯示和更改系統參數。第三Tab為數據繪制,為用戶提供繪圖分析功能,可以對任一天的數據記錄進行重繪截取分析。
儀器開機自動啟動系統軟件,系統初始化后,通過水位采集記錄模塊、用戶設置模塊、數據重繪模塊、網絡通信四個模塊實現水位測量與記錄、響應用戶主機請求主線程、實現對水位的實時監測與水位曲線繪制顯示,偵聽前兆數據管理系統訪問請求、與前兆數據管理系統進行數據交換與上傳備份,根據用戶請求對主機參數進行調試與修改。
軟件啟動后,調用系統主程序,主程序首先從默認地址讀取系統的配置參數文件,根據讀取的參數(臺站代碼、儀器代碼、測項代碼、投放深度、校正因子、頻率上下限等)進行系統初始化,然后同時開啟水位采集記錄顯示、用戶設置、數據重繪、網絡通信四個線程,直到收到用戶關閉請求,系統程序框圖如圖3所示。

圖3 程序主框圖Fig.3 The flow chart of main program
2.1 水位采集記錄顯示模塊
該模塊對水位數據進行秒采樣,并對所采樣數據進行波形顯示,更加直觀清晰地顯示水位的變化趨勢,以分鐘為間隔在數值表顯示水位值,并將水位分鐘數據記錄到指定格式的數據文件中。
模塊流程圖如圖4所示。具體實現方案:LDAW YZ-1型水位儀主機內部采用電流-頻率變換電路,水位信息經傳感器、中央處理器轉換成頻率信息送入聲卡,軟件從聲卡采集頻率信息,經系統反運算轉換回水位信息用于實時顯示,并將數據傳給表格顯示與曲線顯示模塊進行直觀顯示和記錄。系統數據參數為txt文檔格式,每天一個文件,系統在每日零點創建當日獨立數據文件,并以日期為分辨名稱,以固定格式進行命名,數據文件以分鐘為采樣率,每分鐘寫入測量數據,實時顯示數據采樣率為1個/秒。系統在每日零點建立數據日志文件,每逢整分通過讀寫日志文件的方式,將水位分鐘值寫入日志文件[4]。

圖4 水位采集記錄顯示程序流程圖Fig.4 The flow chart for collecting and recording

圖5 用戶設置配置信息程序流程圖Fig.5 The flow chart for user setting
2.2 用戶設置模塊
該模塊響應用戶對儀器參數以及臺站參數的修改請求。用戶按下設置鍵后,可以對臺站代碼、儀器代碼、測項代碼、投放深度、校正因子、頻率上下限等信息進行更改調試。
模塊流程圖如圖5所示。具體實現方案:系統參數的更改通過對配置文件的讀寫完成,程序先調取指定路徑下的系統配置文件,通過讀寫程序讀取配置文件,并將系統參數進行解析,將解析后的系統參數顯示,用戶根據自己的需求在設置Tab編輯框內對相應的參數進行修改,確認無誤后,系統根據用戶輸入信息,通過文件讀寫程序改寫和更新參數顯示及配置文件,并在改寫后調用系統初始化程序,重新讀取系統新的配置參數[5]。
2.3 數據重繪模塊
該模塊用戶可以根據波形圖控件對所有主機上的記錄文件進行重繪,在波形圖上可以對波形進行截取、單點數據分析等操作,供用戶分析處理。
程序流程圖如圖6所示。具體實現方案:彈出用戶選擇對話框供用戶選擇所需重繪的數據文件,將用戶選擇文件解析成一個以時間和數值為列的二維數組,將時間和數值列分別對應了波形圖的X軸和Y軸,并設置X軸為時間顯示方式,對數據進行重新繪制,利用波形圖控件自身的功能實現數據截取、放大操作,供用戶進行分析比較[6]。

圖6 數據重繪程序流程圖Fig.6 The flow chart for redraw
2.4 網絡通信模塊
該模塊網絡通信主要實現與中國前兆數據管理系統數據自動交換,實現國家臺網中心對儀器及數據的訪問與備份,網絡協議完全遵照《地震前兆臺網專用設備網絡通信》協議,實現自動上傳數據及日志、獲取設備運行狀態及運行日志。
程序流程圖如圖7所示。具體實現方案:通過TCP建立與前兆數據管理系統的鏈接,建立鏈接后根據數據通信協議解析請求內容,首先判斷請求類型,再根據請求內容截取字段信息解析請求的時間信息,最后形成命令字符串,搜索相關數據文件,通過對數據文件進行讀寫,形成回答字符串,發送給網絡端,網絡端根據接受內容返回應答字符串,系統解析應答字符串顯示數據交換狀態,實現數據傳輸與通信。
Labview采用簡明、直觀、易用的圖形編程方式,能夠將繁瑣復雜的語言編程簡化成為以菜單提示的方式選擇功能,并且用線條將各種功能連接起來,十分省時簡便,本系統在Labview平臺完成,主要程序實現如下(圖8—11):

圖7 網絡通信程序流程圖Fig.7 The flow chart of Network communication

圖8 系統初始化程序圖Fig.8 The code for initializing
初始化模塊通過給定路徑讀取配置文件,對配置文件進行段解析,分別通過讀取數字、字符的方式解析控制參數、生成控制字符串、寫入控制單元四個步驟完成系統的初始化操作,主要使用文件讀寫控件,分類型讀取配置文件信息,并送入各分線程(圖8)。
水位記錄模塊中內部程序通過設置采樣頻率每秒鐘讀取一次聲卡頻率數據。每逢整分時,讀取時間字符串,一方面進行字符串連接形成文件路徑字符串,給讀寫程序調去數據日志文件,另一方面形成分鐘字符串寫入數據文件。所測得的數據經過內部換算程序計算出水位分鐘值,分鐘值形成字符串寫入數據文件,并送入顯示模塊傳給表格控件進行顯示。系統根據上述形成的路徑字符串打開數據日志文件,將時間字符串及測量數值字符串寫入文件,完成數據記錄(圖9)。
用戶設置程序模塊程序在系統初始化后,單獨開啟用戶設置線程,時時監聽用戶請求。當用戶發起請求時,程序根據當前時間信息,生成數據日志文件路徑字符串,通過讀寫控件打開配置文件進行顯示,當系統收到設置命令時,根據用戶設置修改,生成配置字符串,重新寫入配置文件,更新配置文件參數,并調用系統初始化模塊,使新的用戶參數生效(圖10)。
網絡通信程序模塊在系統初始化后,單獨開啟網絡通信線程,時時監聽客戶端用戶請求,當有請求時,首先建立TCP連接,根據數據通信協議,首先發送身份驗證字符串及應答,進行身份驗證,系統身份驗證包含在國家數據臺網中心備份過的臺站及儀器相關信息,系統根據驗證信息查找自身儀器的相關信息后進行應答,驗證成功后即可開始數據訪問請求。當客戶端有數據訪問請求時,系統首先解析用戶數據請求類型,確認類型后進入分類型讀取程序模塊,分類型數據讀取模塊,根據請求內容查找請求字符串時間信息,解析請求的類型及時間,讀取相應的文件形成回復字符串,通過網絡端口發送應答,客戶端根據系統發送的應答返回字符串,系統再次解析字符串,解析此次數據訪問的成功狀態,完成與中國前兆數據管理系統的數據傳輸(圖11)。

圖9 水位記錄程序圖Fig.9 The code for data recording

圖10 用戶設置程序圖Fig.10 The code for user setting

圖11 網絡通信程序圖Fig.11 The code for Network communication
本文所設計的系統已成功投入LDAWYZ-1型水位儀主機上使用,通過本系統能夠實現水位信息秒采樣顯示、分鐘采樣記錄、用戶對主機參數設置、對歷史記錄進行波形重繪,與中國前兆數據管理系統實現數據自動上傳與設備狀態訪問。目前該設備已實現并網運行,運行狀態良好。
Labview平臺可以直接對聲卡頻率進行采集,經過水位儀使用測試,采樣頻率準確性非常好,基于該平臺的編程可推廣應用到其他地震儀器設備[3],由于各線程獨立工作,能有效避免冗長程序帶來的系統軟件死機的問題[7]。
[1] 李江全,任玲,廖結安,等. Labview虛擬儀器從入門到測控應用130例[M]. 北京: 電子工業出版,2013: 25-100.
[2] 孫宏志, 王學成, 劉一萌,等. 基于3G無線傳輸的測震臺站監控設備的研制[J]. 地震工程學報,2014, 02: 387-392.
[3] 雷晨,李秀麗,劉一萌,等. 地震臺站安防報警系統建設[J]. 防災減災學報,2011, 27(4): 39-43.
[4] 李秀麗,雷晨,孫宏志, 等. 遠程故障診斷系統中心軟件的設計與應用[J]. 防災減災學報,2012,28(1): 32-36.
[5] 孫宏志, 劉一萌, 李秀麗,等. LN多功能智能設備的研制[J]. 防災減災學報,2013,29(1): 40-44.
[6] 孫宏志, 劉一萌, 王學成, 等.地震臺站無線遠程監控及3G備用信道方案實現[J]. 防災減災報,2014, 01: 45-49.
[7] 孫宏志, 李秀麗, 雷晨, 等. 測震臺站智能隔離防雷系統的設計與實現[J]. 地震工程學報,2015,03: 878-883.
The Software System of LDAWYZ - 1 Device Based on Labview
GAO Ye-xin, YAN Yun, ZHAO Long-mei, ZHU Ye-lin, ZHAO Lei
(Earthquake Administration of Liaoning Province,Liaoning Shenyang 110034,China)
This paper introduces the design and implementation process of LDAWYZ - 1 device’ s software system, it expounds the design thought, each function module implementation method, and the application in seismic data acquisition system of Labview platform based on G language .
Labview; sound card collection; network communication
P315.69
A
10.13693/j.cnki.cn21-1573.2017.02.015
1674-8565(2017)02-0090-06
2016-12-20
2017-02-09
髙業欣 (1986-),男,遼寧省撫順市人,2011年畢業于沈陽航空航天大學,本科,助理工程師,現主要從事地震儀器研發方面的工作。