基于LabVIEW的虚拟自动气象站软件设计

发布者:jingwen最新更新时间:2011-10-08 关键字:LabVIEW  自动气象站 手机看文章 扫描二维码
随时随地手机看文章

1 引言

  虚拟仪器(VI)的概念是美国NI公司在20世纪80年代中期提出来的。所谓虚拟仪器就是以计算机作为仪器统一的硬件平台,充分利用计算机的运算、存储、回放、调用、显示及文件管理等智能化功能,同时把传统仪器的专业化功能和面板控件软件化,使之与计算机结合构成一台从外观到功能都完全与传统硬件仪器相同,同时又充分享用了计算机智能资源的全新仪器系统。与传统仪器相比,虚拟仪器有许多优点:对测试量的处理和计算可更复杂且处理速度更快,测试结果的表达方式更加丰富多样,可以方便地存储和交换测试数据,价格低,技术更新快。本文介绍一种自动气象站的软件设计方法,以美国NI公司的LabVIEW8.5为平台,配合QLI50气象数据采集器,实现虚拟自动气象站设计。

2 虚拟自动气象站功能介绍

  自动气象站由传感器、数据采集器、数据处理终端等组成。传感器感应气象要素的变化;数据采集器可对气温、湿度、风向、风速、雨量和气压等气象要素进行自动采集和预处理,数据处理终端能对数据采集器获取的数据进行进一步运算处理,能在屏幕上按规定的格式显示实时数据,并能按规定的格式自动进行资料的存储。

  为实现上述自动气象站的功能,本文设计的虚拟自动气象站系统主要由数据采集、数据处理、数据显示、数据保存四个模块构成。如果数据采集周期没有特别要求,可以将这四个模块通过数据流连接起来,即每采集一次数据都需要经过数据处理、显示、保存后才能开始第二轮采集,对于这种情况,由于数据分析导致的时间延迟将会增大数据采集的周期。

  由于自动气象站对数据采集周期要求较高,基于数据流的方法显然是不行的。因此,本文提出了基于队列技术的数据采集模式:即利用多个并行循环处理不同的任务,每一个循环都具有独立的线程,相互间互不干扰。拿数据采集循环和数据处理循环的数据传递为例:数据采集循环不间断地采集数据,并将采集到的数据放在队列中,数据处理循环不间断地从队列中取出数据进行数据处理。如果处理数据的周期大于采集周期,那么新采集的数据将会缓存在队列中,队列只要没有满就不会丢失采集到的数据。如果处理数据的周期小于采集周期,那么在队列为空时,数据处理循环将处于等待状态,因此也不会导致数据的重复分析。当数据采集循环停止时,若队列中还有数据,则数据分析循环也会将剩余的数据全部分析,因此停止数据采集也不会丢失前面采集到的数据。数据显示循环和数据保存循环亦是如此,四个循环并行进行从而实现自动气象站的功能。

  另外,为了精确的控制时间,系统还采用了定时结构和通知技术,通过通知器操作函数可以实现一段程序框图在收到来自于定时结构中每秒发出的通知消息前保持等待状态,从而实现了程序中每秒显示一次数据和每分钟保存一次数据的功能。

3 数据采集

  数据采集模块用来获取QLI50气象数据采集器所采集到的数据。数据采集模块的框图如图1所示。


图1 数据采集框图程序

  首先用“打开TCP连接”函数打开由地址和远程端口所指定的TCP网络连接,同时用“获取队列引用”函数创建以名为“网口数据”的队列,再用“读取TCP数据”函数从TCP网络连接读取字节,并把字节放入“网口数据”队列中,等待数据处理循环读取队列中数据,同时开始采集下一秒的数据。

4 数据处理

  数据处理模块用来将采集到的数据进行预处理。数据处理模块的框图如图2所示。

图2 数据处理框图程序

  由于采集的原始数据是一系列编码,要得到各气象要素的数据还必须解码。数据从“网口数据”队列中出列,用“预处理”子VI可以将出列的数据分离开,并通过FOR循环的自动索引功能将它们按顺序加入“处理数据”队列中,等待数据显示循环读取队列中数据,同时继续从“网口数据”队列中读取数据。

5 数据显示

  数据显示模块用来在虚拟前面板上按规定的格式显示实时数据。数据显示模块的框图如图3所示。

图3 数据显示框图程序

  各气象要素数据从“处理数据”队列出列,通过全局变量“一次读取数据”将数据传送到主界面程序框图中的波形图表,可以实时显示出各气象要素数据的变化曲线。另外,因为前面板显示的是各气象要素一分钟的平均数据,所以出队列的数据还通过一个“均值”函数,并将一分钟内的平均数据通过全局变量“分钟平均数据”传送到主界面来显示各气象要素一分钟内的平均值。为了数据保存的需要,创建“保存数据”队列,将“处理数据”队列出列的数据加入到“保存数据”中,等待数据保存循环读取队列中数据,同时继续从“处理数据”队列中读取数据。

6 数据保存

  数据保存模块用来将采集到的数据按规定的格式自动进行资料的存储。数据保存模块的框图如图4所示。

图4 数据保存框图程序

  数据保存模块使用了通知技术,由主程序框图中的定时器每秒发出一个通知信号,程序在第60秒时将这一分钟内从“保存数据”队列中出列的数据都写入以当前时间命名的文本文件中,并保存在当前路径下data文件夹中,从而将每秒采集到的数据都进行了保存。

7 结论

  本自动气象站软件以LabVIEW8.5为开发平台,配合QLI50气象数据采集器,实现了虚拟自动气象站的基本功能。所构成的虚拟自动气象站成功用于地面气象观测中,具有造价低,操作方便等特点。另外,软件的几个模块都采用了子VI的设计,可以采用LabVIEW远程VI调用技术,即通过本地VI调用另外一台计算机上的VI,而用户不需要考虑网络通信的复杂细节。通过远程VI调用可以方便地实现网络分布式系统,可以在本地计算机上实现自动气象站的数据采集,而在另外远程计算机上显示自动气象站的实时状态。

关键字:LabVIEW  自动气象站 引用地址:基于LabVIEW的虚拟自动气象站软件设计

上一篇:基于虚拟仪器的液位控制系统设计
下一篇:基于LabWindows的3.5G频段电波传播测控技术

推荐阅读最新更新时间:2024-03-30 22:19

LabVIEW设计模型——顺序模型之顺序结构
在任何编程语言中顺序模型都是最基本的设计模型,LabVIEW也不例外。 顺序模型从程序开始到初始化,到模块1、模块2 一直到程序的结束,都是严格按照编程者事先指定的顺序依次执行的。这种模型简单、易懂,是编写小程序的理想模型,如下图。 在LabVIEW中,一提到顺序模型就会很自然的想到顺序结构。没错,使用顺序结构是实现顺序模型的一种方法。 在LabVIEW中,顺序结构就像是电影胶片,不论是外观和应用形式都很像(如下图所示)。它是严格按照从左到右的顺序将各个帧中的模块依次执行的。前面的帧执行完毕之前,后面帧中的内容是无法开始的。顺序结构看上去很清晰,容易理解。 然而,顺序结构有两个致命的缺陷,以至于我们在实际应用中应该尽
[测试测量]
<font color='red'>LabVIEW</font>设计模型——顺序模型之顺序结构
基于LabVIEW平台的任意波形发生器计算机控制
  1.引言   飞速发展的现代科学技术对 测试测量 提出越来越高的要求,主要表现在测试任务多、精度高、速度快等方面,例如汽车驾驶室模拟仿真测试,传统仪器手工操作、单台使用的工作方式已经不能满足其需求,有效的解决方法就是组建自动测试系统。为了将目前广泛使用的台式任意波形发生器 虚拟仪器 集成到自动测试系统中,我们为泰克公司的AFG320任意波形发生器设计了计算机控制软件。该软件的优点是:界面友好、操作简单、功能强大、响应迅速,不仅实现了该仪器所有本地控制,而且还能实现任意波形绘制、编辑、存储、打印、输出功能。   2.计算机控制软件设计   AFG320是泰克公司生产的一款高性能的任意波形发生器。它具有标准波形/任意波形的产
[测试测量]
基于<font color='red'>LabVIEW</font>平台的任意波形发生器计算机控制
labview中dll的调用(包括生成dll)
 LabVIEW支持通过调用DLL文件的方式与其它编程语言混合使用。比如,在实际的工程项目中,用户可以用C++语言实现软件的运算部分,并把这些功能构建在DLL文件中,然后再使用 LabVIEW编写程序的界面部分,并通过调用编写好的DLL来调用运算部分的功能。   LabVIEW 中是通过Call Library Function Node(CLN)节点来完成DLL文件调用的。创建一个新的VI,右击程序框图,在Functions Palette中依次选中Connectivity Libraries&Executables工具栏即可找到该节点(图1)。 图1 Call Library Function Node   将节点
[测试测量]
基于LABVIEW平台的USB接口多路高速数据采集系统的设计
   引言   在日常的 测试测量 中,经常使用数据采集卡采集数据。但是很多数据采集卡往往通过PCI总线完成数据的传输,它有诸多弊端,例如操作不便,受限于计算机插槽数量和中断资源,现场信号对计算机安全有威胁,计算机内部的强电磁干扰对被测信号也会造成很大的影响,最耗时最复杂的数据分析却由用户通过第三方软件(如VC,VB等) 在PC机上编写上位机软件来完成,因此用户不得不在这方面花费大量精力。这些问题都遏制了基于PCI总线的数据采集系统的进一步开发和应用,因此迫切需要设计一种更为简便通用的高速数据采集通信系统来完成数据采集以及与计算机的数据交互。   近年来通用串行总线(USB)以即插即用等技术优势得到了广泛的应用,INTE
[测试测量]
基于<font color='red'>LABVIEW</font>平台的USB接口多路高速数据采集系统的设计
基于LabVIEW的普通数据采集卡驱动研究
引 言 虚拟仪器技术是20世纪90年代发展起来的一种新技术,融计算机和总线技术、微电子技术、测量技术于一身,它是对传统仪器的重大突破,是计算机技术与仪器技术相结合的产物。它利用计算机系统的强大功能,结合相应的硬件,大大突破传统仪器在数据处理、显示和存储以及系统维护和扩展等方面的限制。虚拟仪器的众多优点使其得到了广泛的应用,然而当今著名的虚拟仪器开发软件(如LabVIEW等)只能支持NI公司生产的数据采集卡,而不能直接驱动普通的数据采集卡。本文重点研究了在虚拟仪器开发软件平台LabVIEW下使用普通数据采集卡的方法。 1 虚拟仪器开发平台LabVIEW与数据采集卡的连接 LabVIEW是美国NI公司推出的一种基于G语言(G
[测试测量]
基于<font color='red'>LabVIEW</font>的普通数据采集卡驱动研究
基于LabVIEW的DSP设计
  1 引言   LabVIEW (Laboratory Virtual Instrument Engineering Workbench) 是美国NI公司的创新软件产品,也是目前应用最广泛、发展最快、功能最强的图形化软件开发环境。LabVIEW DSP模块,它包含了用于设计、实现和分析DSP算法的系统工具。它将LabVIEW图形化开发环境扩展至嵌入式信号处理应用程序设计,提供了一个易于使用的、现成的方法来学习信号处理技术,使得DSP开发者拥有了一个图形化和系统级的设计开发选择。随着我们的设备在性能和复杂度方面的提升,图形化和系统级的设计和开发工具的作用起到越来越重要的作用。   本文以TMS320C6713EVM开发板为硬件平台
[测试测量]
基于<font color='red'>LabVIEW</font>的DSP设计
labVIEW学习——属性节点
在实际运用中,经常需要实时地改变前面板上的对象的颜色、大小和是否可见等属性。那么就需要使用属性节点进行动态设置。 属性节点有输入和输出两种形式(点击右键,在快捷菜单中选择转换为写入/输出) 基本属性: 1 可见性visible 数据类型为bool型 2 状态Disabled 在可视状态下,当输入0或1 时,用户可以访问面板上的对象;当输入2时,用户不可访问对象。 3 焦点状态Key Focus 设置键盘焦点状态数据类型为布尔型 4 闪烁(Blinking) 数据类型为布尔型,对象的闪烁速度和颜色,在Vi运行状态下,这两种属性值就不能进行设置。设置对象的闪烁速度和颜色的方法是:在labVIEW主
[测试测量]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved