labview温度控制流程图(LabVIEW编程实例模拟温度采集)
labview温度控制流程图(LabVIEW编程实例模拟温度采集)在超时事件分支中,首先,根据前面板上布尔控件“采集?”的值来判断是否启动采集,若为真,则采集,否则,不作处理。在上面代码中,当前采集的温度值通过调用一个能够产生a-b之间随机数的子程序来产生,本例设为产生50-90之间的随机数。该子程序前面板及框图代码如下图所示,对于子程序的创建及调用方法,详细请参考LabVIEW编程基础:手把手教你创建/调用子程序,生成a-b之间随机数:其中,对于软件运行情况的记录输出功能,使用while循环配合移位寄存器完成。下面对每部分功能代码分别进行说明。这部分功能在事件结构的超时事件分支中完成,超时时间设为300,即每隔300ms做一次温度的采集、显示及报警指示等处理。程序框图代码如下图所示:
LabVIEW简单易学、形象直观,采用图形化的编程方式,是专为测试、测量和控制应用而设计的系统工程软件。内置了丰富的控件库及函数库,可以胜任各行业各领域的开发需求。另外,它也具有强大的外部接口能力,可以实现与C/C 、Basic、Matlab等编程语言互通的能力。发展至今,LabVIEW已经不仅仅局限于虚拟仪器软件类的开发,而是成为了一种通用的、完善的、开放的高级编程语言。
实例说明这次给大家一个实用的编程例子,软件运行界面如下图所示:
该例子的功能是,模拟一个温度采集场景,在波形图表控件上显示三条曲线,分别是当前采集的温度曲线、上限曲线及下限曲线,当采集的温度值超出或低于设置的上下限值时启动报警灯指示。同时,在前面板上同步输出软件的运行记录情况,如显示在某时刻启动/暂停了采集、在某时刻报警了等信息。另外,在前面板上也可以做如下控制或设置:开始/暂停、清除图形、清空记录及上下限设置等。
编程思路主框架采用while循环结构 事件结构的形式。主代码在事件结构的超时分支中完成,主要处理温度的采集、波形图的显示及报警记录的输出。对于清除图形、清空记录、退出程序等操作分别在各自控件的值改变事件中完成。
其中,对于软件运行情况的记录输出功能,使用while循环配合移位寄存器完成。
下面对每部分功能代码分别进行说明。
温度采集、波形图显示及报警记录输出的处理这部分功能在事件结构的超时事件分支中完成,超时时间设为300,即每隔300ms做一次温度的采集、显示及报警指示等处理。程序框图代码如下图所示:
在上面代码中,当前采集的温度值通过调用一个能够产生a-b之间随机数的子程序来产生,本例设为产生50-90之间的随机数。该子程序前面板及框图代码如下图所示,对于子程序的创建及调用方法,详细请参考LabVIEW编程基础:手把手教你创建/调用子程序,生成a-b之间随机数:
在超时事件分支中,首先,根据前面板上布尔控件“采集?”的值来判断是否启动采集,若为真,则采集,否则,不作处理。
将当前温度值、上限值及下限值捆绑成一个簇(即C语言中的结构体)连接到波形图表控件中,可以逐点实时显示三条曲线。
将当前温度值与上、下限值进行比较判断是否超限,若超限,则点亮相应的报警指示灯,同时,需要输出当前报警记录情况,本例中输出了当前时间及当前的温度值。在移位寄存器中将上次的信息与当前的信息使用连接字符串函数,输出到前面板的“运行记录”显示控件中,即可实现对软件运行情况的记录输出功能。在移位寄存器中,若没有达到报警条件,则将上次的值直接连接连接到下次的输出即可。注意,移位寄存器中的初始值设为空字符串。
开始/暂停采集时的记录输出处理这部分功能在事件结构的“采集?”值改变事件分支中完成。在这个分支中,主要目的是在开始或暂停采集时,将当前的运行记录进行输出。程序框图代码如下图所示:
清除图形功能的处理这部分功能在事件结构的“清除图形”值改变事件分支中完成。调用波形图表控件的属性节点“历史数据”,对其赋为空值即可清除波形图表上的所有曲线。程序框图代码如下图所示:
程序退出功能的处理当点击前面板上“退出程序”按钮时,将退出程序。程序框图代码如下图所示:
总结至此,主要代码部分就全部完成了。该例完美模拟了某个温度采集的情况处理,具有报警指示、运行记录输出等功能。大家也可以在这个例子上进行扩展,如添加将当前记录存储成文件等功能。另外,给出程序的动态运行情况如下图所示:
大家加关注并私信回复:LabVIEW015,可获取该文章对应的LabVIEW原程序下载。
欢迎加关注,共同交流。