labview基础——温度监测报警

本文详细描述了一项实验,利用LabVIEW设计了一个模拟温度检测器,能实时监控温度变化并进行报警。通过While和For循环,以及随机数生成模拟实际温度,展示了如何计算最大值、平均值,并实现温度单位转换和报警功能。
摘要由CSDN通过智能技术生成

实验一 模拟温度监测

  1. 实验目的

设计一个模拟温度检测器,可以实时监测温度变化,当超过某个值时报警。并在监测的一个周期内,检测温度的最大值和平均值。

掌握While循环、For循环、顺序结构、条件结构、公式节点、属性节点、局部变量等。

  1. 实验设备

微机、labview软件

  1. 实验原理

由随机值发生器模拟产生一个温度值,因为随机数发生器产生0-1之间的双精度浮点数,呈均匀分布。为了模拟0-100℃的温度,所以扩大随机数发生器的数到100倍来生成模拟温度值。

在设定的采集周期内,对温度进行采集,并用波形图实时显示,待采集到一定数量的温度值后,在监测的一个周期内,测量温度的最大值和平均值。并显示采集的进度和测量的最大值和平均值。同时通过公式节点将温度值单位转换为摄氏度和华氏度两种显示。

根据设定的温度上限值/警戒值,对变化的温度进行实时监测,当超过设定的温度上限值时,进行声光报警。所以采用LED进行光报警,采用蜂鸣器进行声报警。报警后记录报警的次数。

图1 模拟温度检测原理图

  1. 实验方法和步骤

(1)前面板设计

ⅰ新建一个工程

ⅱ新建一个vi,在前面板放置一个温度计显示控件,并数字显示。

ⅲ放置一个水平摇杆开关,将标签改为“摄氏度/华氏度”。

ⅳ放置一个数值输入控件,将标签改为“温度上限(摄氏度)”。

ⅴ放置一个布尔显示控件,将标签改为“报警器”同时修改其属性。在控件属性中修改外观—颜色,修改开:红色,关:黑色。

ⅵ放置三个数值显示控件,将标签分别改为“报警次数”、“最大值”、“平均值”。

ⅶ放置一个进度条控件,将标签改为“采集进度”。

(2)程序框图设计

ⅰ顺序结构

程序开始运行时,通常使报警计数、采集进度条、温度计显示等的初始值为 0,并将波形图表中的图形清除。这种初始化过程在所有程序运行前完成,因此用顺序结构,在第 0 帧中进行初始化。通过创建局部变量对数值显示控件的值初始化。通过设置波形的历史数据属性节点为零对波形图表初始化。

图2 顺序结构

图3 初始化程序

在(2)中报警的同时,对报警次数进行计数。结合条件结构,以超过温度上限值为条

件,在 For 循环中用 进行计数。即如果某次采集的温度超过了警戒值,就加 1 计数(初

始值为 0)。因此下一次报警前,必须在 For 循环中用移位寄存器将上次累计的报警数保存

,下一次报警后再 。

在所有的程序外面添加 While 循环,实现温度的连续采集。因此为了显示总的报警数,

还需在 While 循环中也用移位寄存器 ,将前次 100 个温度值中总的报警

数保存下来进行累加计数,并显示

ⅱ模拟温度发生。

使用随机数(0-1)产生随机数值,将产生的数值乘以100,这样就能产生0-100之间的数值,即仿真温度。

图4 随机数产生

ⅲ设定温度上限值。

使用大于比较符号,a若比b大,则输出true反之false。所以上端连线产生的温度,下端连线温度上限值或警戒温度。输出连给布尔控件报警器。同时设置蜂鸣器,超过警戒温度,除了要有图形显示和光报警还得有声音报警。蜂鸣器的频率设置为500Hz,并每50ms产生一次,防止系统缓存区残留命令,程序停止蜂鸣器继续叫。

在报警的同时,对报警次数进行计数。结合条件结构,以超过温度上限值为条件,在 For 循环中进行计数。即如果某次采集的温度超过了警戒值,就加 1 计数(初始值为 0)。因此下一次报警前,必须在 For 循环中用移位寄存器将上次累计的报警数保存,下一次报警后再加一。

在所有的程序外面添加 While 循环,实现温度的连续采集。因此为了显示总的报警数,还需在 While 循环中也用移位寄存器 ,将前次 100 个温度值中总的报警数保存下来进行累加计数,并显示。

用数组最大值与最小值vi显示最大值,用均值vi显示平均值。

图5 报警器及计数器设定

ⅳ设置采样温度的周期和采样的点数。

为了模拟一个通道的温度连续采集,用While循环嵌套For循环。在For循环中设置一

个通道采样的温度点数及采样的周期。用For循环采集温度,其总线N计数端设置采样点数为 100。并用等待(ms)进行定时器控制,设置采样周期为500ms。将水平刻度条显示控件的接线端连接For循环的计数接线端,显示采集的进度。

ⅴ从摄氏温度转换到华氏温度。

从摄氏温度转换到华氏温度的转换公式为:F=C*1.8+32。用公式节点实现转换。因为要显示两种温度,所以用前面板的摇杆开关作为选择条件,连线条件结构的选择器,经过温度转换后,分别进行摄氏温度和华氏温度的显示。通过捆绑将实时温度与报警温度同时显示在温度曲线图上。

同时,将当前温度显示控件替换为波形图表控件,将标签改为温度曲线图,用来显示实时温度值。包括两种温度及单位的显示。因为显示的温度有摄氏和华氏温度两种,所以波形图表 Y 轴的名称标签和单位也应该随着摇杆开关的选择而改变。即选择“摄氏”,则 Y 标尺显示为摄氏温度(摄氏度),选择“华氏”,则 Y 标尺显示为华氏温度(华氏度)。通过波形图表下创建>>属性节点>>Y 标尺>>名称标签>>文本,创建对应的属性节点 ,来设置 Y 轴的名称标签和单位。在条件结构中分别添加两个属性节点并将真条件中修改为“摄氏度”,假条件中为“华氏度”。

在假分支内直接连接相应隧道。

图6 摄氏度与华氏度转换

ⅵ完整图

图7 完整图

  1. 实验结果

图8 实验结果图

注意:所有条件结构都需要在假分支中连接两个隧道,因为labview是数据流形式传输,断开分支会导致程序报错。

  • 19
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值