图1 数据采集框图程序
首先用“打开TCP连接”函数打开由地址和远程端口所指定的TCP网络连接,同时用“获取队列引用”函数创建以名为“网口数据”的队列,再用“读取TCP数据”函数从TCP网络连接读取字节,并把字节放入“网口数据”队列中,等待数据处理循环读取队列中数据,同时开始采集下一秒的数据。
4 数据处理
数据处理模块用来将采集到的数据进行预处理。数据处理模块的框图如图2所示。
图2 数据处理框图程序
由于采集的原始数据是一系列编码,要得到各气象要素的数据还必须解码。数据从“网口数据”队列中出列,用“预处理”子VI可以将出列的数据分离开,并通过FOR循环的自动索引功能将它们按顺序加入“处理数据”队列中,等待数据显示循环读取队列中数据,同时继续从“网口数据”队列中读取数据。
5 数据显示
数据显示模块用来在虚拟前面板上按规定的格式显示实时数据。数据显示模块的框图如图3所示。
图3 数据显示框图程序
各气象要素数据从“处理数据”队列出列,通过全局变量“一次读取数据”将数据传送到主界面程序框图中的波形图表,可以实时显示出各气象要素数据的变化曲线。另外,因为前面板显示的是各气象要素一分钟的平均数据,所以出队列的数据还通过一个“均值”函数,并将一分钟内的平均数据通过全局变量“分钟平均数据”传送到主界面来显示各气象要素一分钟内的平均值。为了数据保存的需要,创建“保存数据”队列,将“处理数据”队列出列的数据加入到“保存数据”中,等待数据保存循环读取队列中数据,同时继续从“处理数据”队列中读取数据。