髙业欣,燕 云,赵龙梅,朱叶林,赵 雷(辽宁省地震局,辽宁 沈阳 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年毕业于沈阳航空航天大学,本科,助理工程师,现主要从事地震仪器研发方面的工作。