欢迎来到天天文库
浏览记录
ID:2022927
大小:798.50 KB
页数:7页
时间:2017-11-14
《上海市自动气象站系统--help》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、上海市自动气象站演示系统介绍运行环境:WindowsXP操作系统,LabVIEW8.2及以上版本1.系统功能上海市自动气象站演示系统提供了分布式气象站和气象数据中心的仿真平台。系统首先仿真产生上海市各区县分布式采集到的气象数据,之后将数据送回到气象数据中心进行数据显示、数据存储,最后,气象中心根据以往存储的历史数据,还可以针对各区县进行历史天气情况的显示和分析。整个系统的设计框架如图1所示。图1上海市自动气象站演示系统设计框架2.系统设计1)仿真数据产生部分为了模拟现实中分布式气象站和气象数据中心的功能,在程序中使用了Weatherdata.vi来产生分布式数据,通过dat
2、asocket将仿真数据发送至主程序Weather_station_main.vi。主程序对于仿真数据的接收使用了datasocket_read.vi这一子vi。分布式数据产生程序和datasocket_read.vi中datasocket接收部分程序的后面板如如图2所示,其中WeatherSimulator.vi为仿真分布式采集设备的子程序。(在执行主程序之前,请先执行Weatherdata.vi,否则没有气象更新数据)72分布式数据产生和数据接收程序框图1)实时天气显示部分实时天气显示部分的设计界面如图3所示。7图3实时天气显示部分界面系统可通过“气象数据更新”按键实时
3、更新从分布式气象采集设备得到的气象数据,并分为温度、降雨量、气压、相对湿度、风速、风向六种因素实时显示各区县采集到的最新天气数据。根据降雨量的情况,左图给出目前上海市的主体天气趋势,便于用户了解各地或晴、或多云或者雨水较大的实时天气状况,从而做出合适的出行决策。通过“记录数据”按键,用户可以将每天不同时段的天气信息存储到本机文件当中,作为参考和历史数据分析的数据源。在程序设计中,系统采用了生产者消费者的设计结构。在生产者循环中,接收上海各区县的天气数据,包括温度、降雨量、气压、相对湿度、风速、风向六种因素。在实时天气显示部分的消费者循环中,主要完成数据显示和数据存储两部分工
4、作。数据显示部分比较简单,即从队列中获取数据,并按照地区将所需显示的天气数据簇选择出来。它分为两个部分:一是按照名称将簇中的各种天气元素提取出来进行显示;二是通过读取各地的雨量值在前面板上动画实时显示上海各地的天气状况。数据存储部分选择了数据记录文件类型进行各地点气象元素的存储,这种类型的一个主要的好处在于它可以将打包好的簇类型直接存储,有效地保留了各种有用的组合信息。在存储过程中,为了节省硬盘空间,采用每次由按键控制存储的方式,并将当前日期作为文件名信息,方便对于历史数据显示中的处理。每日多次存储数据时,新数据将被加在旧数据之后,保证数据不会丢失。消费者循环的程序框图如图
5、4所示。7图4实时天气显示部分消费者循环1)历史天气分析部分历史天气分析是一个独立的程序Weatherhistory.vi,其设计界面如图5所示。图5历史天气分析部分界面系统对于历史数据的处理比较灵活,可以选择分析历史数据的时间(一周或者一个月),每天的数据量(目前仿真文件中<=5均可),以及数据源(仿真或者运行实时天气处理中存储得到的数据)。通过选定不同的参数,可以得到不同特性的历史数据曲线,并通过对这段时间的曲线数据求平均,可以得到分析时间段内各种气象元素的均值。这部分的程序框图如图6所示。7图6历史天气分析部分程序框图程序中采用了事件结构响应各种参数的变化,在任意参数
6、变化或者“查询历史数据”按键按下后将更新历史天气图表,这种方法避免了轮询带来的对CPU和内存资源的占用,使得实时天气处理部分保证更高的实时性能。由于本程序是基于仿真数据的系统演示,所以在处理历史数据部分添加了一个条件结构,如果在历史天气分析选项卡页选择数据源为“实际”,将跳至系统结构图选项卡页以显示实际基于cRIO自动气象站系统。实际基于cRIO自动气象站系统结构图如图7所示。图7实际基于cRIO自动气象站系统结构图7WeatherHistoryAnalysis.vi完成在不同参数条件下对于数据记录文件的读取工作,其程序框图如图8所示,可以看出对于不同参数条件下,程序给出了
7、不同的处理方法。最后根据不同的地区信息和数据显示点总数,完成对于显示的控制部分,并计算各天气参数的均值作为分析参考。图8历史天气分析部分子程序框图1.采用的编程技巧1)LabVIEW中对于并行循环的处理。Ø具有明显数据流向关系的,可以采用主从循环结构,包括通知器和队列方式。数据量较大时,可以采用队列方式,主循环产生数据送入队列,从循环等待队列中有元素后完成对于数据处理。如本系统中分布式数据采集和实时天气显示的两个部分。2)DataSocket技术。DataSocket是一个高性能、易于使用的编程工具,它专门设计为在
此文档下载收益归作者所有