当前位置:首页 > 测试测量 > 测试测量
[导读]1 引言  虚拟仪器(VI)的概念是美国NI公司在20世纪80年代中期提出来的。所谓虚拟仪器就是以计算机作为仪器统一的硬件平台,充分利用计算机的运算、存储、回放、调用、显示及文件管理等智能化功能,同时把传统仪器

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调用可以方便地实现网络分布式系统,可以在本地计算机上实现自动气象站的数据采集,而在另外远程计算机上显示自动气象站的实时状态。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

英伟达9月20日的“春晚”GTC没能力挽狂澜。美东时间9月26日,英伟达收盘于122.28美元。一个月前的8月26日,英伟达开启了本轮下行,从当天开盘的178.57美元一路下探,至今已跌去超三成。

关键字: 算力 英伟达 计算机

中国超级计算机是如何实现从无到有,从大型机到巨型机进化的?1950年3月,中央人民广播电台播发了一封书信,信中说“梁园虽好,非久居之乡,归去来兮。

关键字: 超级 计算机 进化史

随着IT技术飞速发展,互联网已经进入了“物联网”时代。物联网中需要的大量设备不在依赖人与人之间的交互产生联系,更多通过协议、通信、程序设计等方式连接到一处。即 “物联网”的目的则是让所有的物品都具有计算机的智能但并不以通...

关键字: 嵌入式 物联网 计算机

现实生活中,我们听到的声音都是时间连续的,我们称为这种信号叫模拟信号。模拟信号需要进行数字化以后才能在计算机中使用。

关键字: 模拟信号 数字化 计算机

万物智联时代,嵌入式技术及其应用的形态将更加丰富和多元,同时也将日益呈现深度物理融合、混合架构共存、群体智能协同、网络安全攸关等诸多新的计算特性。显然,经典的嵌入式系统体系结构、软硬件技术和开发方法都已很难应对新趋势下的...

关键字: 嵌入式 物联网 计算机

物联网是新一代信息技术的重要组成部分,是互联网与嵌入式系统发展到高级阶段的融合。通用计算机经历了从智慧平台到互联网的独立发展道路;嵌入式系统则经历了智慧物联到局域智慧物联的独立发展道路。

关键字: 嵌入式 物联网 计算机

在大多数人眼里,程序员是一份高薪职业,即便是刚毕业出来找工作的应届生,似乎也能随随便便月收入过万。那么,事实真是如此吗?

关键字: 程序员 计算机

Concurrent 公司的 iHawk 并行计算机仿真系统是具有高实时特性的实时仿真系统,该仿真系统包含对称多处理器计算机平台、实时操作系统、实时开发工具以及应用软件。

关键字: 并行计算机 平行计算机 计算机

计算机网络编程中一个非常基本的问题:该怎样表示client与server之间交互的数据,在往下看之前先想一想这个问题。

关键字: 计算机 二进制

在这篇文章中,小编将为大家带来量子计算机的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 量子计算机 计算机 量子门

测试测量

28648 篇文章

关注

发布文章

编辑精选

技术子站

关闭