labview循环-移位寄存器妙用

发布者:PositiveEnergy最新更新时间:2015-09-10 来源: eefocus关键字:labview  循环-移位寄存器 手机看文章 扫描二维码
随时随地手机看文章
While循环

1.While循环是一种结构,它重复执行代码片段直到满足某种条件为止。它可比作传统语言中的Do Loop或Repeat-Until循环。它位于编程→结构→While循环。每个While循环都有一个条件端子和一个重复端子。如图:

While循环程序框图

重复端子用于记录和输出已执行的循环的次数,条件端子输入的是一个布尔变量:真或假,While循环将一直执行到连接条件端子上的布尔值变成真或假为止,取决于条件端子设置为“真(T)时停止”还是“真(T)时继续”。在条件端子上单击右键即可进行更改。如图:

While循环程序框图

下面举个简单的例子:利用While循环产生随机数,当产生的随机数大于0.8时,循环停止。
步骤如下:
1. 打开前面板,新建两个数值显示控件,一个为循环次数,一个显示最后产生的那个大于0.8的随机数。如图:

前面板

2. 切换到程序框图,放置一个While循环,如图:

程序框图

3. 放置随机数函数到While循环内,并连线,如图:

程序框图

4. 放置比较函数,将循环次数与重复端子连线,如图:

程序框图

5. 运行,即可在前面板上看到结果,如图:

前面板

在程序框图中,在数值显示控件上单击右键,可更改数值的类型,如图:

程序框图

各种数值的类型都可以看见,我就不再赘述。
在While循环的边框上单击右键,可添加位移寄存器,如图:

程序框图

有关位移寄存器的用法,我们将会在For循环中讲到,这里暂不做介绍。
注意:While循环的条件端子一定要有连线,否则程序无法运行!如图:

程序框图

错误列表

For循环[page]

1. For循环位于函数→编程→结构→For循环,如图:

程序框图

从图中可以看到,For循环有两个端子
计数端子:要执行循环的次数,可用于For循环内部的循环计数
重复端子:已执行循环的次数,可用于For循环内部的重复计数
For循环应用举例:产生10个随机数,并把最后一个显示出来。
步骤如下:
1. 放置一个数值显示控件到前面板,并改名为随机数。
2. 放置For循环到程序框图,如图:

[转载]labview循环-移位寄存器妙用

3.放置随机数函数到程序框图,并连线
4.计数端子上单击右键,选择创建常量,并输入10,如图:

程序框图

5.运行程序,便可在前面板上看到结果。 6.因为程序的运行的速度非常快,我们无法一个一个地看清所产生的10个随机数,我们可以在程序框图中添加时间延迟控件。它位于函数→编程 →定时→时间延迟,如图:

程序框图

7. 放置它到程序框图上,选择延迟的时间,即两次循环之间的时间间隔。如图:

程序框图

8. 将时间设置为1.000,点击确定即可,再运行程序就可从前面板上看到所产生的随机数了。

移位寄存器

移位寄存器用于For循环或While循环中从一个迭代传输数据到下一个迭代,它由循环垂直边框上一对反向相反的端子组成,在边框上单击右键,选择添加移位寄存器,就可进行添加。如图:

程序框图

右端子(带向上箭头的矩形)在每完成一次迭代后存储数据,移位寄存器将上次迭代的存储数据在下一次迭代开始时移动到左端子(具有向下箭头的矩形)上。移位寄存器可存储任何数据类型,包括数字,布尔,字符串和数组,但连接到同一个寄存器端子上的数据必须是同一类型。移位寄存器的类型与第一个连接到其端子之一的对象数据类型相同。

[转载]labview循环-移位寄存器妙用

下面是1+2+3+4+…+100的程序,如图:

程序

说明:进行第一次运算的是0+0,For循环中的重复端子是从0开始计数,移位即寄存器在没有初始化的情况下,默认的数值是0,所以第一次运算的是0+0,第二次运算的是寄存器的0与重复端子的1相加,所以循环要进行101次。而计数端子输出的数据始终是101。
移位寄存器的初始化:移位寄存器的初始化是非常必要的,因为只要用户不退出VI,移位寄存器便可记录上次运算完时的结果,所以上面的程序在第二次执行时输出的结果不是5050,而是10100!添加初始化即可,如图:

[转载]labview循环-移位寄存器妙用

下面在举几个复杂一点的例子。

例一:计算一组随机数的最大值和最小值

  1. 新建一个VI,在前面板上放置一个波形图标,它位于新式→图形→波形图表,用它来记录产生的随机数。同时在前面板上放置两个数值显示控件“最大值”和“最小值”,用来显示随机数中的最大值和最小值。
  2. 在程序框图中,放置一个For循环,设置循环次数为50次。单击边框选择添加两个移位寄存器,分别初始化为0和1。
  3. 放置随机数函数和最大最小值函数与程序框图中,其中最大最小值函数位于编程→比较→最大值与最小值。然后连线。如图:

[转载]labview循环-移位寄存器妙用

运行,便可在前面板上看到结果,如图:

[转载]labview循环-移位寄存器妙用

例二:计算[转载]labview循环-移位寄存器妙用

 

  1. 在前面板上放置一个数值输入控件“阶次n”和一个数值显示控件“求和结果”
  2. 在程序框图上放置两个For循环嵌套结构,外层循环的计数端口与“阶次n”连接,输出是各个数的阶乘所组成的一个数组。它的重复端子加1作为内层循环的循环次数,内层循环利用一个移位寄存器实现阶乘运算,移位寄存器的初始值设为1。
  3. 同样在程序框图的右边在放置一个For循环结构,它的计数端子没有任何连接数据,使用的是自动索引功能。这个循环的作用是对由阶乘所组成的一个数组进行索引,对索引出的各个元素进行求和计算,最后将计算结果输出给“求和结果”。
  4. 完成连线,如图:

[转载]labview循环-移位寄存器妙用

运行结果如图:

[转载]labview循环-移位寄存器妙用

例三:计算自然对数中底数e的近似值。

算法:[转载]labview循环-移位寄存器妙用

步骤:

  1. 新建一个VI,打开前面板,添加两个数字显示控件,分别表示”近似值e”和“临界阶次N”。
  2. 切换到程序框图,放置一个While循环,将条件端子的条件改为“真时停止”。在它内部再放置一个For循环,计数端子与While循环结构的重复端子加1后连接。右击For循环边框,添加移位寄存器,并初始化为1,For循环结构的功能是计算各个数的阶乘。
  3. 计算各个数阶乘的倒数,添加倒数函数,它位于函数→编程→数值→倒数。
  4. 添加比较函数,将它的阶乘的倒数与10^-5比较,比较结果连接到While循环结构的条件端子上,如果小于则返回“真”,停止循环,否则返回“假”继续循环。
  5. 由于While循环默认的是不能够自动索引功能,而程序中需要累加保存每次计算的阶乘,这就需要在输出通道上选择“启用索引”,实现自动索引,将各个元素累加成为一维数组。
  6. 在程序框图右边再添加一个For循环,它的功能是进行自动索引求和,需要主机的是它的移位寄存器被初始化为1,这是由近似算法所决定的。将输出结果送给“近似值e”。
  7. 完成连线,并运行程序。如图:

[转载]labview循环-移位寄存器妙用

运行结果,如图:

[转载]labview循环-移位寄存器妙用

例四:实现对随机数进行平滑滤波。通过对4个连续的随机数求其平均值来实现。

  1. 新建一个VI,在前面板上放置两个波形图表,一个为“原始波形”,一个为“滤波后波形”。
  2. 在程序框图上放置一个While循环,在边框添加一个移位寄存器,然后在左边的寄存器上单击右键,选择“添加元素”,一共添加3个。如图:
  3. [转载]labview循环-移位寄存器妙用
  4. 添加随机数产生函数,并添加符合运算,将连续产生的4个随机数相加,相加的结果除以4。
  5. 放置循环定时函数,定义循环时间为100ms。
  6. 完成连线,在While循环的条件端子处添加输入控件。如图:

[转载]labview循环-移位寄存器妙用

运行结果:

[转载]labview循环-移位寄存器妙用

关键字:labview  循环-移位寄存器 引用地址:labview循环-移位寄存器妙用

上一篇:LabVIEW技巧系列(一)——事件结构
下一篇:Arduino与LabVIEW互动应用

推荐阅读最新更新时间:2024-03-30 23:04

【32位MCU】9G-LM3S8 LabVIEW使用过程简介
9G-LM3S8 LabVIEW使用过程简介 一,准备LabVIEW + ARM模块 + LM3S8软件包 + 相关文档 1,在https://lumen.ni.com/nicif/zhs/lveval/content.xhtml 上注册用户 点击 LabVIEW 2009 (758MB) 下载 LabVIEW2009评估版软件 的下载客户端 LV2009_CHI_downloader.exe http://ftp.ni.com/evaluation/labview/ekit/other/downloader/LV2009_CHI_downloader.exe 然后在电脑上运行LV2009_CHI_downloader.
[单片机]
LabVIEW与MATLAB在数字天线阵列测试中的应用
引言 数字天线阵列是天线和数字信号处理技术结合的产物,它具有工作方式灵活、抗干扰性能卓越和超角分辨等众多优点,因此在军事和民用领域都得到了广泛的应用。阵列系统的多天线单元和多收发通道必然带来阵列系统的误差,这些误差会引起系统性能的下降,甚至会使各种先进的信号处理算法完全失效。因此,必须对数字天线阵列系统进行校正。一般阵列天线校正和波瓣测量需要采集大量的数据,进行多次循环计算,工作效率低且动用的仪器设备众多。而LabVIEW作为软件化仪表在数据采集及控制、数据分析和显示等方面具有强大的功能,其支持的信号接口卡丰富,用户能够快捷方便地对各个输入数据参数进行即时设置和调试,程序运行结果也十分直观。因此在阵列天线测试中,LabVIEW的优
[测试测量]
<font color='red'>LabVIEW</font>与MATLAB在数字天线阵列测试中的应用
基于LabVIEW的倒车自动刹车系统开发
应用领域: 控制与仿真、汽车主动安全、低速控制、刹车控制 挑战: 低速控制的速度控制范围小并且精度要求高。由于车身零部件属非线性时变系统,产生的累计误差对控制系统造成极大影响。因此需要对相关数据进行实时分析并要求系统作出快速响应,从而使车辆能以极低的速度平稳倒车。 应用方案:通过DAQ设备驱动超声波探头,并分析超声波的飞渡时间从而检测车辆与障碍物的实时距离。通过NI-USB8473与车载CAN网络实时通信,对车辆状态进行实时监测,并对获取的实时速度、实时障碍物距离和实时制动力等信息进行分类。Fuzzy-PI算法对信息进行分析处理,从而控制车辆相关设备快速响应。以此实现车辆低速平稳倒车,并在距离障碍物的安全范围内自动刹车确保
[嵌入式]
基于LabVIEW的参量阵测试系统设计方法
   引言   声学参量阵(ParametricAcousticArray)是利用介质的非线性特性,使用两个沿同一方向传播的高频初始波在远场中获得差频、和频及倍频等的声发射装置。根据介质中声吸收原理,吸收与信号频率的平方成正比,在声波的传播过程中,和频及倍频等频率较高的信号衰减很快,经过一段距离后,仅剩下频率较低的差频信号。与常规换能器相比,首先,该差频信号具有更好的指向性;其次,该差频信号几乎没有旁瓣,避免了在浅海沉底或沉积物探测过程中由于边界不均匀所带来的干扰和信号处理的复杂性;第三,差频信号具有大于10kHz的带宽,空间分辨率高,抗混响,并能获得较高的信号处理增益等。   基于上述优点,参量阵在水下探测、水下通信等领域具
[测试测量]
基于<font color='red'>LabVIEW</font>的参量阵测试系统设计方法
LabVIEW 8.2开发环境的改进
  1.用于恢复的自动保存   如果LabVIEW发生非正常关闭或系统故障,LabVIEW将会把所有已修改的Ⅵ(.vi)、Ⅵ模板(.vit)、控件(.ctl)或控件模板(.ctt)备份至一个临时地址。LabVIEW不各份项目(.lvproj)、项目库(.lvlib)、XControls(.xctl)和LabVIEW类(.lvclass)。   如果LabVIEW在非正常关闭或系统故障前保存了文件,下次启用LabVIEW时将出现选择恢复文件窗口。选中要恢复的文件,并单击 恢复 按钮即可恢复文件。如果不想恢复任何文件,可取消选择所有文件,并单击 放弃 按钮。如单击 取消 按钮,则所有选中的文件将被移至默认数据目录下的LVAutoSav
[测试测量]
基于STC12C5A60S2的双电源供电智能控制系统设计
摘要:文章介绍了基于STC12C5A60S2单片机的双电源供电智能控制系统,实现对主电源和备用电源的实时监测,保证供电的连续性和可靠性。文中阐述丫系统的整体设计方案、硬件电路设计、软件设计及后台监控的设计。通过理论分析及实践汪明能有效的检测当前主备电路的电压值并实现双电源之间的准确转换,相应状态可以通过GSM模块发送给监控主机和相关操作人员,具有重要的现实意义。 0 引言 随着国民经济的迅速发展,人们对供电连续性、可靠性的要求越来越高,对于不允许断电的重要场合,如医院手术室、高层建筑安全保障系统、热电站、化工企业、银行等,都要求配备至少两路电源来保证供电的连续性。因此,需要一种能在两路电源之间进行自动转换的系统,以保证正在使用
[测试测量]
基于STC12C5A60S2的双电源供电智能控制系统设计
Labview调用VC
对初学者来说来个比较详细的包含步骤例子是难得的,我来个简单的小例子,希望对您有用,呵呵!!! 1。建立动态连接库的C代码调用 1.1 建立函数原形 1)后面框图程序中,调用CLF节点; 2)配置一个函数原形,设置调用规程为C,其它不变,确定,退出; 3)右键CLF节点,create C file,保存名字为 code.cpp,以供VC++编译使用; 1.2 编辑源代码文件 1)将所需要的labview头文件复制到code.cpp所在目录中,包括:extcode.h platdefines.h fundtype.h; 2) 打开code.cpp,添加关键词extern c 、_declspec(dllexport)并包
[测试测量]
LabVIEW应用于设计、原型建模和发布
  LabVIEW可用于高效的设计应用、仿真、仿真数据与真实测量之间的比较。将LabVIEW和测量工具集成于附加的设计和仿真工具中,在设计过程中就可以将真实的测试工具与仿真模型进行比较,从而发现设计中的缺陷、减少重复设计、提高产品质量。使用LabVIEW进行设计、建模和发布过程如图1所示。通常的应用有嵌入式系统设计和测试、控制设计、数字滤波器设计、电子电路设计、机械设计、算法设计等。   图1 LabVIEW设计、建模和发布过程   应用于院校实验室   LabVIEW在测控领域掀起革新的同时,也增强和提高了院校实验室的研究。在实验室中,LabVIEW将复杂的数据采集工作变得简便,便于研究人员集中时间和精力用于实验操作、数据
[测试测量]
<font color='red'>LabVIEW</font>应用于设计、原型建模和发布
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved