实验三-LabVIEW编程的程序结构实验-分支机构与顺序结构
LabVIEW 编程与虚拟仪器设计(3-程序结构)
二、选择结构
2. 分支(Case) 结构
(1)创建
在函数选板编程 结构中选择“条件结 构”,在程序框图上 按住鼠标左键拖出条 件结构框图,然后将 在该条件下执行的程 序放入相应的条件结 构框图内。
二、选择结构
2. 条件结构的组成
条件结构有一个或多 个子框图。每个子框 图都是一个执行分支 ,每一个执行分支都 有自己的选择器标签 。执行条件结构时, 与接入分支选择器数 据相匹配的标签对应 的框图得到执行。 减量按钮
Initial Value
Value 1 Value 1 Value 2 Value 2 Value 3 Value 3
初始 值
循环开 始前
第一次 重复
第二次 重复
最后一 次重复
5.移位寄存器
例:求n!
前面板
void main() { int a,i,n; a=1; scanf(“%d”,&n); for(i=0;i<n;i++) { i=i+1; a=a*i; } printf(“n!=%d”,a); }
计数端子 (数值输入)
Wait Until Next ms Multiple function
重复端子 (输出端子)
9
一、 循环结构
3. 循环结构内外之间的数据交换—结构通道
•通过通道数据流入和流出结构 •通道是显示在边界上的一个方块;方块的颜色与连线 到通道的数据类型有关 •当通道传递数据给循环时,循环执行只有在数据到达 通道后才执行 •循环结束后数据流出循环
20
一、 循环结构
6.反馈节点
连线输出到输入自动 产生一个反馈节点 <或> 从函数»编程»结构板中 放臵一个反馈节点 反馈节点和移位寄存 器可通过快捷菜单相 互转换
Labview实验报告
5.熟悉LABVIEW的工具模板。
二、
随机数发生器。
实验二 前面板设计
一、
1.前面板对象设计方法和属性配置;
2.前面板对象的大小和颜色的变化;
3.前面板对象位置、排列及装饰效果的设计;
4.前面板对象快捷键设置;
5.定制前面板控件及调用控件。
二、
1.前面板控件的生成及大小颜色的改变
5.设计一评分程序,输入不同的分数会得到不同的评论。分数小于60,“警告”指示灯会亮起来,同时显示字符串“你没有通过考试!”;分数在60~99之间,“通过”指示灯会亮起来,同时显示字符串“你考试通过了!”;分数为100,“恭喜”指示灯会亮起来,同时显示字符串“你是第一名!”;如果输入为0~100以外的数字,会有错误提示,同时显示字符串“错误!”。
四相四拍
0
1
2
3
4
5
6
7
A
1
1
0
0
0
0
0
1
/A
0
1
1
1
0
0
0
0
B
0
0
0
1
1
1
0
0
/B
0
0
0
0
0
1
1
1
四相八拍
3.电路原理图:a.步进电机的原理图
DO3-DO6分别控制电机的四相,“1”代表该相加电流工作。霍尔元件T1-T8检测旋转臂的位置,旋转臂上带有一磁钢,当霍尔元件输出为“0”代表旋转臂到了它的上方,经74HC14整形反向后,连接至DI0—DI7,即当DI0—DI7某一位检测到“1”的时候代表旋转臂到了某一霍尔元件的上方。
第4章LabVIEW中的程序结构
第4章 LabVIEW中的程序结构
2020/4/2
精通LabVIEW虚拟仪器程序设计与案例实现
循环结构——For循环
移位寄存器初始化
移位寄存器可以存储的 数据类型有:数值型、布尔 型、数组、字符串型等。
“显式初始化” “非初始化”
不同初始化方式运行结果
第4章 LabVIEW中的程序结构
2020/4/2
循环次数和循环计数端
口的数值范围为0~2^31-1 的长整型数,如果给N的赋值 为0,则程序一次也不执行。
第4章 LabVIEW中的程序结构
2020/4/2
精通LabVIEW虚拟仪器程序设计与案例实现
实例——产生数据点数为1000的正弦波
在做算法仿真时,经常需要产 生指定点数的数据波形,最基本的 实现方法就是通过For循环+基本函 数的方式。
第4章 LabVIEW中的程序结构
2020/4/2
精通LabVIEW虚拟仪器程序设计与案例实现
循环结构——For循环
For循环的自动索引
正常情况下For循环是要指 定循环次数程序才能正常执 行的,但如果我们不知道具 体的循环次数,那又该如何 运用For循环呢?
For循环的自动索引功能默认 情况下是自动开启的,在自动索引 开启的状态下,数据进入循环体时 是降维的。
序,则要用到顺序结构。
平铺式顺序结构
LabVIEW中的顺序结构包括: 平铺式顺序结构 层叠式顺序结构
第4章 LabVIEW中的程序结构
层叠式顺序结构
它们的功能是相同的, 只是图形形式不同,也即编 程时所占用的空间不同。
2020/4/2
精通LabVIEW虚拟仪器程序设计与案例实现
平铺式顺序结构的数据流向
LabVIEW编程及虚拟仪器设计之程序结构
事件超时
事件 事件的子框图
事件结构的组成:1)上边框中间是事件选择标签,用于 标识当前显示的子框图(第0个)所处理的事件源;2)事件数 据节点,为子框图提供所处理事件的相关数据;3)事件超时端 子,隶属于整个事件结构,用于为超时事件提供超时时间参数
(1)For循环输入隧道打开自动索引,而输出关闭自动索引
(2)For循环输入隧道关闭自动索引,而输出打开自动索引
5. 移位寄存器(1)
功能:把当前循环完成时子框图程序代码执行结果 的某个数据,传递给下一次循环的开始作输入。
(以FOR循环为例)
左右边框弹出快捷菜单可建立一 对;输入可多个,但输出只一个。 接入数据后,会按相应类型改变颜色。
13、乍见翻疑梦,相悲各问年。。21.3.621.3.611:09:1211:09:12March 6, 2021
14、他乡生白发,旧国见青山。。2021年3月6日星期六上午11时9分12秒11:09:1221.3.6
15、比不了得就不比,得不到的就不要。。。2021年3月上午11时9分21.3.611:09March 6, 2021
《LabVIEW编程及虚拟 仪器设计》
第二讲:程序结构
上节课内容回顾(1)
• 课程计划
——第5周有综合练习
• 教学方法
• 课程特点
——LabVIEW程序的构成
• 何谓虚拟仪器?
• 何谓LabVIEW? ——LabVIEW的编程环境
上节课内容回顾(2)
• 课程计划 • 教学方法 • 课程特点 • 何谓虚拟仪器? • 何谓LabVIEW?
前面板和框图面板工具条; VI调试技术:连线,执行加亮,单步
labview实训报告范文
labview实训报告范文实验报告课程名称虚拟仪器实验项目熟悉编程环境与基本编程操作实验仪器计算机系别: guangdian专业:班级/学号:学生姓名:实验日期:xx年3月成绩: _____________________指导教师: ____________________实验一熟悉编程环境与基本编程操作1. 理解LabVIEW的运行机制,熟悉LabVIEW编程环境。
2. 掌握基本编程操作,包括VI程序的创建、、运行与调试。
3. 理解LabVIEW模块化编程思想,掌握子VI的创建、及调用。
主要设备有计算机, LabVIEW8.5软件。
教材第82—83页练习4.2,创建VI后保存为Thermometer.vi。
1.打开一个新的前面板2.从控件菜单选择一个温度计放到前面板3.在温度计上用右键单击设定一个精确的温度值,选择Visible》Digital Display4.将VI保存为Thermometer.vi教材第107—108页练习5.2,打开练习4.2所创建的VI,将其转变成一个子VI。
1打开4.2创建的Thermometer.vi2.为该VI创建一个图标,从VI图标窗格选择Edit Icon…,单击OK返回主VI3从图标弹出菜单中选择Show Connector创建连接器。
4将端子指派给温度指示器,使用Writing工具单击连接器端子,端子就会变成黑色,然后单击温度计指示器。
5在温度计指示器的弹出菜单选择Description and Tip…为温度指示器编制文档6选择File》Save将修改保存。
实验报告二课程名称虚拟仪器实验项目程序结构实验仪器计算机系别:专业:班级/学号:学生姓名:实验日期:xx年4月成绩: _____________________指导教师: ____________________实验二程序结构1. 学会For循环、While循环、Case结构及顺序结构的运用,掌握定时函数的使用及移位寄存器应用。
LabVIEW_顺序结构分析
事件类型: 通知事件和过滤事件两种。分别用绿色与红色箭头进行区别。通知事件
用于通知某个事件的触发,过滤事件用来控制在执行某个动作后,系统尚未响应之 前进行提醒。当事件发生时,用户可以过滤掉甚至完全放弃事件所触发的活动。
4、应用举例:
⑴. 点击不同按钮,显示不同内容
前面板
后面板
作业
LabVIEW
顺序结构将按照既定的顺序依次执行,它可以包含 多个代码子框图,这些子框图看起来就像是多帧电影 一样,所以把每个子框图称为一帧。 顺序结构分为平铺式和层叠式两种,二者表现形式 不同,但其基本功能则完全相同。
2.所在位置
函数→编程→结构→平铺式\层叠式顺序结构
3.基本结构
①. 平铺式:按左右顺序依次排列
3、事件结构的建立
⑴.摆放框图(程序—结构—事件结构) ⑵.调出编辑事件对话框:右击边框—【编辑本分支所处理事件】 ⑶.构造事件:一般面对前面板对象构造事件 事件说明符:事件
编辑,进行事件的 增、删操作。 事件源:将列出前 事件:给出事件 面板所有对象,供 列表,供用户选 用户选择事件源。 择事件。
使用全局变量和局部变量的注意事项:
LabVIEW 语言编程是一种数据流,全局变量和局部变量 提供了一种违反严格数据流的程序设计方式。大家有必要 了解竞态条件的缺陷,当两个或两个以上的事件可以按任 何顺序发生时就产生了竞态条件。用户要想知道再多个并 行的程序中一个全局变量什么时候被访问是比较困难的。 特别是再多线程编程中,对这种共享数据变量的竞态条件 问题要求更加苛刻,使用全局变量会带来意想不到的错误。 如果用户的应用程序中有全局变量,那么就存在大量的 数据复制的危险,因为用户要想在不同的地方对数据进行 处理,最终就有许多的数据备份,造成内存的巨大开销和 系统资源的浪费,所以建议初学者尽量不要使用全局变量。 如果程序中使用了全局变量或者是局部变量,那么在程 序运行之前,必须首先要确定它的初始值是否满足执行要 求,如果不满足的话,就要对它们进行初始化
labview实验报告
LABview实验报告实验课程:虚拟仪器学生姓名:学号:学院班级:目录实验一 LabVIEW编程环境与基本操作实验 (3)实验二 LabVIEW编程的结构实验1 (9)实验三LabVIEW编程的结构实验2 (14)实验四LabVIEW编程的图形图表、数组与簇 (18)实验一 LabVIEW 编程环境与基本操作实验一、实验目的1.了解LabVIEW 的编程环境。
2.掌握LabVIEW 的基本操作方法,并编制简单的程序。
3.学习建立子程序的过程 二、实验内容1.建立一个测量温度和容积的VI 。
a.实验步骤1)选择 File»New ,打开一个新的前面板窗口。
2)从 Controls»Numeric 中选择 Tank 放到前面板中。
3)在标签文本框中输入“容积” ,然后在前面板中的其他任何位置单击一下。
4)把容器显示对象的显示范围设置为0.0到1000.a.使用文本编辑工具(Text Edit Tool ),双击容器坐标10.0标度,使它高亮显示。
b.在坐标中输入 1000,再在前面板中的其他任何地方单击一下。
这时0.0到1000.0之间的增量将被自动显示。
5)在容器旁配数据显示。
将鼠标移到容器上,点右键,在出现的快速菜单中选Visible Iterms»Digital Display 即可。
6)从Controls»Numeric 中选择一个温度计,将它放到前面板中。
设置其标签为“温度”,显示范围为0到100,同时配数字显示。
可得到如下的前面板图。
图1.3 练习2的前面板图7)Windows»Show Diagram 打开流程图窗口。
从功能模板中选择对象,将它们放到流程图上组成下图(其中的标注是后加的)。
图1.4 练习2的流程图随机数发生器乘法函数 数值常数连接点该流程图中新增的对象有两个乘法器、两个数值常数、一个随机数发生器,温度和容积对象是由前面板的设置自动带出来的。
实验三-LabVIEW编程的程序结构实验-分支机构与顺序结构
LabVIEW编程的程序结构实验 ——Case结构和Sequence结构
§7-1 Case 结 构
顺序结构
分支结构
循环结构
§7-1 Case 结 构
• Case结构是一种控制程序分支的结构,与常规文本编程 语言的IF语句或Swtich语句类似。 • Case结构有一个条件选择端口 ? (Selector),根据连到 Selector端口 ? 的值来判断执行哪一个子Case。Selector 端口的数据类型有布尔型和数值型。 • 通过打开函数模板中的Structure子模板,可在框图程序中 放置Case结构
• 公式节点的语法与C语言相同
习题7-1: y1=x3+x2+5 y2=m*x+b
补充:前面板对象属性的动态控制
• 在前面板设计编程时,我们可以修改和设 定对象控件的属性,但是在程序运行时能 否由用户修改或程序自身改变呢? • 方法是:创建对象的属性节点,通过对属 性节点的“写”操作,完成对对象属性的 修改。 • 同样通过对属性节点的“读”操作,在程 序中读取对象的属性。
“Tick Count(ms)函数”:用与Express VI完成定时任务。
全局变量和局部变量
• 全局变量:在多个VI有效。 • 局部变量:在本VI有效。 • 在Sequence结构中,各个Frame之间是通过局部 变量(Sequence Locals)来传递数据的,由于 各Frame是按照编号的顺序由前向后执行,因此 局部变量只能由前向后传递数据。 • 在需要使用局部变量向后传递数据的Frame的边 框上右击鼠标弹出快捷菜单,选择Add Sequence Local选项,可创建一个局部变量
选作:
程序运行中,用Knob控件改变图形CHART控件中点和曲线的 颜色分别为红、橙、紫、绿色。
LabVIEW的程序结构
在层叠式顺序结构的边框上面右击,选择Add Sequence Local即 可在当前帧创建一个顺序局部变量端口。
将本帧中的数据连接到该局部变量端口,该数据就可传到后面的 帧,该数据不会作用到它前面的帧。
如下图示意了层叠式顺序结构通过局部变量传递数据的 情况。在标识是1号帧的一个数据传递到标识是2号的帧 进行“或”运算,0号帧不能使用该数据。
下面是用移位寄存器(左图)和反馈节点(右图)实现 a++的框图程序。
2 While循环 For循环和While循环的区别:
For循环要执行预先指定的循环次数。
而While循环只有在条件端口接收到的值为 False(or:True)时才停止循环。While循环不必知道循 环次数。 While循环不满足条件也要执行1次。 For循环当N<1时1次都不执行。
在message数据端口新建一个常量,输入“超时或单 击了OK按钮”。
在超时端口连接值为5000的一个数字常量。
运行程序,如果单击了“OK Button”按钮或等待5秒都 会显示出对话框“超时或单击了OK按钮”。
法2:
在事件结构边框的快捷菜单中选择Add Event Case…来 创建事件结构的一个分支 。 在弹出的对话框中,选取“EventSources”事件源窗口 中的“OK Button” 。并在“Event”事件窗口中选择 “Value Change” 。 后面的设置与法1类似。
超时端口,默认
值为-1,表示无 限等待 。
事件数 据端口
结构框
2.事件结构的使用
可有一个或多个子图形代码框,该图形代码框可以设置为响应多 个事件。 右击事件结构边框,从弹出的快捷菜单中选择Edit Events Handled by ThisCase…,这时将弹出编辑事件对话框。 显示当前建立的事件, 默认“Timeout’事件。 增加事件 删除事件
虚拟仪器(LabVIEW)实验报告
攀枝花学院电工电子实验中心电工电子实验报告册实验课程虚拟仪器实验专业班级2010级测控技术与仪器学生姓名学生学号指导教师2013 年 3 月22 日目录目录实验一LabVIEW编程环境及初步操作 (1)实验二LabVIEW程序结构(1) (4)实验三LabVIEW程序结构(2) (6)实验四LabVIEW字符串、数组和簇 (8)实验五LabVIEW变量和文件操作 (11)实验六LabVIEW图形显示 (15)实验七LabVIEW数据采集与信号处理 (18)实验时间实验台号指导教师同组学生实验一LabVIEW编程环境及初步操作一、实验目的1. 熟悉LabVIEW的编程环境,逐步掌握基本使用方法;2. 熟悉创建、调试、调用VI的基本步骤和方法;3. 掌握LabVIEW软件安装方法。
二、实验仪器和设备计算机(安装有LabVIEW软件)三、实验原理安装LabVIEW软件,认识具体的安装步骤,注意安装细节和注册技巧。
LabVIEW的基本编程环境,包括启动界面,前面板,程序框图,图标/连线板、菜单、工具栏、三大操作选板(工具选板,控件选板,函数选板)等。
在编程环境中可以创建、调试和调用VI,完成虚拟仪器的设计。
四、实验内容与步骤1. 认识LabVIEW的基本编程环境,包括启动界面,前面板,程序框图,图标/连线板。
2. 打开LabVIEW三大操作选板(工具选板,控件选板,函数选板),逐个认识各选板的组成内容。
3. 认识LabVIEW的菜单和工具栏,熟悉基本功能和使用方法。
4. 创建VI以教材《虚拟仪器技术分析与设计》(张重雄,电子工业出版社)为参考,按照虚拟仪器创建步骤,模仿创建一个简单的VI。
创建过程中逐步加强对LabVIEW编程环境的熟悉。
5. 调试VI利用虚拟仪器一般的调试步骤:运行、清除语法错误、高亮显示、单步执行、探针和断电工具使用等,理解调试基本方法。
6. 创建和调用子VI。
学习编辑子VI图标并进行连线板设计。
LabVIEW_顺序结构资料
LabVIEW_数据流运行机制
传统的编程语言,程序运行是基于程序编码的顺序,是指令驱 动的代码流。LabVIEW 的运行机制是基于数据流的。也就是说: 当程序中的可执行元素(节点)在收到所有必须的输入数据时才 开始执行。当该元素内的所有代码执行完成后,数据才流出该执 行元素并流向其他元素。
一种方法是:在程序框图中直接添加,如图: 如此创建的变量属于裸变量,必须在 右击图标的快捷菜单中,与前面板相 应控件进行关联方可有效。
另一种方法是:在右 击控件对象的快捷菜 单中执行 “创建— 局 部变量”,如图
局部变量的应用
该例的目的在于使用局部变量向它联系的前面板上的 电流控件写数据,也可以从电流控件读取数据。程序框 图如图所示:
采用层叠式:
⑴.新建 VI,在前面板上放置数值输入控 件“给定数据”和两个数值显示控件 “执行次数”,“所需时间”。
⑵.在程序框图上放置一个层叠式顺序结 构,在右击结构框图边框的快捷菜单中 执行两次“在后面添加帧”,创建 帧 1 和帧2。
⑶.选取第 0 帧,记录程序运行初始时间。 右击结构框图边框 — “添加顺序局部变量”,将在下边框出
局部变量主要用于本VI内不同位置之间的数据传递,而 全局变量主要是针对不同VI程序之间的数据通信。
1.局部变量
谈到局部变量,其实在介绍顺序结构时就已经接触过了,当时 是添加顺序局部变量来传递程序初始时间,以便计算程序所执行 的时间。目的是在不同选择分支中都能够对指示器进行赋值。
建立局部变量:建立局部变量的方法有两种。
1. 功能和作用
顺序结构将按照既定的顺序依次执行,它可以包含 多个代码子框图,这些子框图看起来就像是多帧电影 一样,所以把每个子框图称为一帧。
labview第四讲 程序结构
优点: 把每个帧平铺开来比较直观,方便代 码阅读,不需借助局部变量这种机制在 帧之间传递数据。 缺点:浪费空间。
例:求循环时间
四、公式节点
通过公式节点,用户可以实现复杂的数学
公式,还可以通过文本编程写一些基本的
逻辑语句,如if…else、case、while循环
之类的语句,弥补了图形化开发语言相对
(三)全局变量 与传统编程语言中的全局变量类似, 可以在不同的VI之间进行数据传递。 1、创建 2、属性:读和写 3、使用(举例)
4、特点 (1)以独立文件的形式存在 (2)一个全局变量中可以包含多个对 象,拥有多种数据库类型 (3)与子VI不同,不能进行编程,只 能用于简单的数据存储。 (4)速度快 (5)其中的数据可以分别访问
Local variaval
3、本地变量的属性: 读(Read)和写(Write) 4、使用 前面板对象的本地变量相当于其端口 的一个拷贝,它的值与该端口同步。
举例: 例1、用一个布尔开关同时控制两个循环
例2、给一个控制赋值,从一个指示中读 出数据。
例3、在顺序结构中的使用:创建一个 VI, 计算生成等于某个给定值的随机数所需 要的时间。
例1:用While循环
创建一个可以产生 并在图表中显示随 机数的VI。 前面板 有一个控制旋钮可 在0到10秒之间调 节循环时间,还有 一个开关可以中止 VI的运行。学习怎 样改变开关的动作 属性,以便不用每 次运行VI时都要打 开开关。
随机信号 1.0 0.8 0.6 0.0 0.4 0.2 0.0 0 1023 10.0 2.0 循环延时 4.0 6.0 8.0
(二)本地(局部)变量 相当于传统编程语言中的局部变量,可以 在同一个程序内使用。 1、引入理由: (1)每个控制或指示的数据端口只有一 个; (2)需要在同一个VI的不同位置多次为 指示赋值;或多次从控制中取出数据;或者 为控制赋值,从指示中取出数据。
LaBVIEW第三章程序结构
顺序结构
1、堆叠顺序结构:与case结构相似,都是在框图窗口的同一 位置堆叠多个子框图。每个子框图都有自己的序号,执行时, 按照序号从小到大逐个执行,最小序号是0,每个子框图称为 一个帧。 优点:节省框图窗口空间。 2、平铺顺序结构:可实现堆叠顺序结构同样的功能,其区别 在于表现形式不同。 优点:当帧数不多时,把每个帧平铺,比较直观,方便代码阅 读。 3、添加局部变量:在堆叠顺序结构中,用添加局部变量的方 法,使接入该变量的数据在当前帧后面的各个帧中可以作为输 入数据使用。平铺顺序结构可以不添加局部变量,因为每个帧 都是可见的,不需要借局部变量机制在帧之间传送数据。
作业 :练习3-1
2、For
循环
For循环用于将某段程序执行指定次数。和While 循环一样,它不 会立刻出现在流程图中,而是出现一个小的图标,而后您可以修改它 的大小和位置。具体的方法是,先单击所有端子的左上方,然后按下 鼠标,拖曳出一个包含所有端子的矩形。释放鼠标时就创建了一个指 定大小和位置的For循环。
For循环举例:产生10个随机数,并把最后一个显示出来。 步骤如下: 1. 放置一个数值显示控件到前面板,并改名为随机数。 2. 放置For循环到程序框图,如图:
3.放置随机数函数到程序框图,并连线。 4.计数端子上单击右键,选择创建常量,并输入10,如图:
5.运行程序,便可在前面板上看到结果。 6.因为程序的运行的速度非常快,我们无法一个一个地看 清所产生的10个随机数,我们可以在程序框图中添加时 间延迟控件。它位于函数→编程 →定时→时间延迟, 如图:
While 循环运行流程
• While 循环运行流程类似于如下的文本语言的 伪代码: • DO 执行子框图 • While 条件判断的结果为继续循环
(完整版)labview实验报告
(完整版)labview实验报告虚拟仪器实验基础电子信息与物理系长治学院虚拟仪器实验指导书实验一LabVIEW 编程环境与基本操作实验一、实验目的1.了解LabVIEW 的编程环境。
2.掌握LabVIEW 的基本操作方法,并编制简单的程序。
3.学习建立子程序的过程二、实验内容1.建立一个测量温度和容积的VI 。
a.实验步骤1)选择File? New,打开一个新的前面板窗口。
2)从Controls? Numeric 中选择Tank 放到前面板中。
3)在标签文本框中输入“容积” ,然后在前面板中的其他任何位置单击一下。
4)把容器显示对象的显示范围设置为0.0 到1000.a.使用文本编辑工具(Text Edit Tool ),双击容器坐标10.0 标度,使它高亮显示。
b. 在坐标中输入1000 ,再在前面板中的其他任何地方单击一下。
这时0.0 到1000.0 之间的增量将被自动显示。
5) 在容器旁配数据显示。
将鼠标移到容器上,点右键,在出现的快速菜单中选Visible Iterms? Digital Display 即可。
6) 从Controls? Numeric 中选择一个温度计,将它放到前面板中。
设置其标签为“温度”,显示范围为0 到100,同时配数字显示。
可得到如下的前面板图。
图1.3 练习2 的前面板图7) Windows?Show Diagram 打开流程图窗口。
从功能模板中选择对象,将它们放到流程图上组成下图(其中的标注是后加的)。
乘法函数连接点随机数发生器数值常数图1.4 练习2 的流程图2 20XX年-5-22长治学院虚拟仪器实验指导书该流程图中新增的对象有两个乘法器、两个数值常数、一个随机数发生器,温度和容积对象是由前面板的设置自动带出来的。
乘法器和随机数发生器由Functions? Numeric 中拖出,尽管数值常数也可以这样得到,但是建议使用在连接端子处点击右键创建(Create)常量(Constant)的方法更好些。
2.Labview程序结构
第二章:程序结构 第二章:
第二章:程序结构 第二章:
创建一个可以在图表中显示运行平均数的VI。
前面板 1. 打开一个新的前面板,按照下图所示创建对象。 2. 把波形图表的坐标范围改为0.0到2.0。 3. 在添加开关之后,用鼠标右键单击它,在快捷菜单中选择机械动作» 单击时转换,再选择数据操作»当前值设为默认值。
随机信号 1.0 0.8 0.6 0.0 0.4 0.2 控制开关 0.0 0 1023 ON OFF 10.0 2.0 8.0 循环延时 4.0 6.0
第二章:程序结构 第二章:
按照下图创建流程图。 按照下图创建流程图。 a. 从编程»结构 中选择 编程» 中选择While 循环,放置在流程图中。拖至适当大小, 循环,放置在流程图中。拖至适当大小, 将相关对象移到循环圈内。 将相关对象移到循环圈内。 b. 从编程»数值中选择随机数(0-1)功能函数放到循环内。 编程»数值中选择随机数 中选择随机数( )功能函数放到循环内。 c. 在循环中设置编程»定时中选择等待下一个整数倍毫秒,该函数的时 在循环中设置编程 定时中选择等待下一个整数倍毫秒, 编程» 间单位是毫秒,按目前面板旋钮的标度,可将每次执行时间延迟0到 间单位是毫秒,按目前面板旋钮的标度,可将每次执行时间延迟 到10 毫秒。 毫秒。 d. 照上面所示的流程图连线,把随机数功能函数和随机信号图表输入端 照上面所示的流程图连线, 子连接起来,并把启动开关和While 循环的条件端子连接。 循环的条件端子连接。 子连接起来,并把启动开关和 a. 返回前面板,调用操作工具后单击垂直开关将它打开。 返回前面板,调用操作工具后单击垂直开关将它打开。 b. 执行该 VI。While循环的执行次数是不确定的,只要设置的条件为真,循 循环的执行次数是不确定的, 。 循环的执行次数是不确定的 只要设置的条件为真, 环程序就会持续运行。 环程序就会持续运行。 c. 单击垂直开关,中止该 。 单击垂直开关,中止该VI。 随机信号
LABVIEW第2章程序结构
第2章 程序结构
2.1.4 反馈节点
反馈节点(Feedback Node)用于将子VI、函数或一组子VI和 函数的输出连接到同一个子VI、函数或组的输入上,即创建反
馈路径。反馈节点只能用在While循环或For循环中,它和只有
一个左端子的移位寄存器的功能完全相同,是一种更简洁的表 达方式。 移位寄存器和反馈节点之间的转换很容易。在移位寄存器 的左或右端子上弹出快捷菜单,选择Replace with Feedback Node,即可转变为同样功能的反馈节点;在反馈节点本身或者 其初始化端子上弹出快捷菜单,选择Replace with Shift Register, 即可转变为同样功能的移位寄存器。如图2-10所示,先建立图 (a),然后把移位寄存器转换为反馈节点就得到图(b)。
第2章 程序结构
(a)
()
图2-10 移位寄存器和反馈节点转换
第2章 程序结构
2.2 分 支 结 构
分支结构(Case Structure)是一种多分支程序控制结构,类 似于文本编程语言中的If…Then…Else语句。分支结构包含多 个子框图代码,这些子框图就像一叠卡片,一次只能看见一张。 分支结构位于Functions→Execution Control子模板和 Functions→Structures子模板上,如图2-11所示。与For循环和 While循环结构的使用一样,通过拖拽Case结构图标将其放置 在框图上,并使其边框包围所希望的对象;也可以先将Case结
则会导致代码错误,程序无法运行。此时,输出隧道的图标是 空心的,表示部分分支中没有接入输入值。只有每个分支的输
出隧道都连接数据后,图标才变成实心,程序才能正常运行。
如果不想为每个分支都明确指定输出隧道的输入值,可以 让LabVIEW为没有接入隧道输入值的分支接入隧道的默认数 据类型,方法是在输出隧道上右键弹出快捷菜单,选择Use Default If Unwired,如图2-16所示。
实验三-LabVIEW编程的程序结构实验-分支机构与顺序结构26页文档
实验三-LabVIEW编程的程序结构实验 -分支机构与顺序结构
21、静念园林好,人间良可辞。 22、步步寻往迹,有处特依依。 23、望云惭高鸟,临木愧游鱼。 24、结庐在人境,而无车马喧;问君 何能尔 ?心远 地自偏 。 25、人生归有道,衣食固其端。
16、业余生活要有意义,不要越轨。——华盛顿 17、一个人即使已登上顶峰,也仍要自强不息。——罗素·贝克 18、最大的挑战和突破在于用人,而用人最大的突破在于信任人。——马云 19、自己活着,就是为了使别人过得更美好。——雷锋 20、要掌握书,莫被书掌握;要为生而读,莫为读而生。——布尔沃
Get清风LabVIEW实验指导书
LabVIEW实验指导书实验1 LabVIEW编程环境与根本操作实验一、实验目的●了解LabVIEW 7 Express的编程环境。
●掌握LabVIEW的根本操作方法,并编制简单的程序。
二、实验设备安装有LabVIEW 7 Express的计算机三、实验内容1、LabVIEW的工作环境1〕启动界面对话框各按钮作用如下:【New】——创立一个新的VI〔Virtual Instument〕程序。
【Open】——翻开一个已有的VI程序【Configure】——设置NI的测量和控制工具,如DAQmax的设置【Help】——LabVIEW帮助2〕面板窗口和框图程序窗口①前面板窗口工具栏:(Run,运行) (Abort Execution,终止运行) (Pause/Continue,暂停/继续) (Run Continuously,继续运行〕(Text Settings,字体设置)(Align Objects,排列方式)(Distrbute Objects,分布方式) (Reorder,重叠方式)②框图程序工具栏(Highlight Execution,高亮执行) (Start Single Stepping,单步执行)(Start Single Stepping) (Step Out)2、LabVIEW模板介绍1〕工具模板(Tools Palette) 2〕控制模板(Control Palette)3〕功能模板 (Functions Palette)3、LabVIEW程序设计的一般过程1〕前面板设计使用输入控件器和输出指示器来构成前面板。
控制器是用户输入数据到程序的方法,而指示器显示程序产生的数值。
2〕框图程序的组成框图程序由节点、端口和连线和组成。
前面板框图程序3〕从框图程序创立前面板对象用任意LabVIEW工具,用户都可以用鼠标右键单击任意的LabVIEW功能函数或者子程序,然后可以弹出其快捷菜单。
4〕数据流编程VI程序的运行是“数据流〞驱动的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
以方程式y=x2+x+1为例
• 1. 用常规的LabVIEW算数函数实现此方程 • 2. 用公式节点来实现同一方程
– 在框内输入一个或多个公式,每个公式语句必须以分 号结束 – 在公式节点边框上弹出快捷菜单,并从弹出菜单中选 择Add Input或Add Output选项来创建公式节点的输入 或输出端口。
公式节点包含元素
• 表达式中能够使用符号 + , - , * , / , ** , != , = = , > , < , >= ,<= , && , || , & , | , ^ , 等 • 可使用数学运算子模板中的函数:如三角、指数、 对数等 • 公式节点中可使用
– IF条件语句, – for和do { }、while循环 – Swtich ( ) case分支语句
《虚拟仪器》-3
LabVIEW编程的程序结构实验 ——Case结构和Sequence结构
§7-1 Case 结 构
顺序结构
分支结构
循环结构
§7-1 Case 结 构
• Case结构是一种控制程序分支的结构,与常规文本编程 语言的IF语句或Swtich语句类似。 • Case结构有一个条件选择端口 ? (Selector),根据连到 Selector端口 ? 的值来判断执行哪一个子Case。Selector 端口的数据类型有布尔型和数值型。 • 通过打开函数模板中的Structure子模板,可在框图程序中 放置Case结构
例:使用Sequence结构,设计一个VI,计算产生一
个与指定的数字相等的随机数所需花费的时间。
―等待Wait‖:控制VT定时执行,每次执行单元(比如循 环)内部,在执行代码运行结束后,开始计时。保持此状态 直到毫秒计数器的值等于预先设定的值。用于每次执行单元 至少执行时间设定。 ―等待下一个整数倍的毫秒Wait until Next ms Multiple‖: 每次执行单元(比如循环)内部,在执行代码开始运行时, 就开始计时。保持此状态直到毫秒计数器的值等于预先设定 数的整数倍。用于同步各单元操作。
Sequence结构,它是一种先后顺序执行的结构,看上去象电影胶片的帧 (Frame),每一帧为一段框图程序,按照帧(Frame)的顺序来执行框图 程序。 从函数模板的Structures子模板上选择Sequence Structure Sequence结构可以包含多个Frame,首先要执行的Frame的编号为0,第二 个要执行的Frame的编号为1,照此类推,编号的顺序即为执行的顺序。 新建的Sequence结构只有一个Frame,可以在Sequence结构的边框上弹 出菜单,选择Add Frame After或Add Frame Before选项来增加Frame
在LabVIEW增加平面顺序帧结构 Flat Sequence Structure
• 功能与堆叠式顺序帧相同,可相互转换
§7-3 公式节点
• 在框图程序中,如果需要设计较复杂的数学运算, 框图将会十分复杂,工作量大,而且不直观,调 试、改错也不方便。 • 利用公式节点,只需将数学公式的文本表达式输 入在公式节点的框图内,并连接相应的输入、输 出端口,则LabVIEW会自动地根据公式计算出正 确的结果,并从输出端输出。 • 从函数模板的Structures子模板上选择公式节点 Formula Node,在框图中设置公式节点,将数 学公式直接输入到公式节点的框内。
切换子Case按钮
Case结构示意图
• 例1:Number1和Number2的数据通过数据通道(Case边 框上的小方块)进入Case结构,由Selector端口的值决定 两个数是进行加法运算还是减法运算。
• CASE0 (Add),VI就进行加法运算,CASE1,则VI将进行 减法运算。 • 使用了一个数字型Text Ring控制器(在控制模板中的 Ring&Enum子模板中) • 分支选择器的连接可以是布尔型、数值型和字符串型 • Case结构输入端子(隧道和分支选择器)的数据是所有 分支公用的。分支并不一定需要输入数据或输出数据,但 如果有一个分支输出数据到隧道,那么所有的分支都必须 输出数据,在给分支的输出连线时,在每个分支的同一个 位置会出现一个白色的小隧道,这时运行箭头会裂开,直 到所有分支的数据都已连接后,隧道就会变成黑色,而且 运行箭头也会合拢。
Result 25.00
任务7-3:答案 y1=x3+x2+5 y2=m*x+b
实验报告
• 任务7-1 使用Sequence结构,设计一个VI,计算产生一个与 指定的数字相等的随机数所需花费的时间。 • 任务7-2:设计一个VI能够像计算器一样进行运算。前面板上 有两个数字控制器,用来输入两个数字,另有一个指示器,用 来显示VI对输入数字进行运算(Add、Subtract、Divide或 Multiply)的结果。用一个滑动条控制器来选择加、减、乘、 除运算 • 任务7-3:设计一个VI,用公式节点来计算下列方程,并画出 y1和y2的曲线。 y1=x3+x2+5 y2=mx+b 以上两个方程只许使用一个Formula Node。参考练习7-4
设定默认的子CASE, 当所有条件都不满足时, 执行默认子CASE
介绍下拉菜单和枚举的 控件使用
• 添加分支: • 在CASE结构的边框上右击,弹出菜单中选择在前面添加分 支、在后面添加分支实现分支的添加。
§7-2 Sequence结构
• 在常规文本编程语言中,程序语句一般按其出现的先后次序执行。 • LabVIEW是一种数据流程序设计语言,没有明确的先后顺序,当节点 所有输入端的数据全部有效时,节点才执行。 • 在测量和控制中,经常需要程序按照规定的顺序执行。
“Tick Count(ms)函数”:用与Express VI完成定时任务。
全局变量和局部变量
• 全局变量:在多个VI有效。 • 局部变量:在本VI有效。 • 在Sequence结构中,各个Frame之间是通过局部 变量(Sequence Locals)来传递数据的,由于 各Frame是按照编号的顺序由前向后执行,因此 局部变量只能由前向后传递数据。 • 在需要使用局部变量向后传递数据的Frame的边 框上右击鼠标弹出快捷菜单,选择Add Sequence Local选项,可创建一个局部变量
例:程序运行中,用Knob控件改变图形曲线的颜色
• 提示:建立CHART的属性节点 ,改为可写,并指定为曲 线Plot的颜色Color属性,用Knob的值控制CASE,分别送5 种颜色值给属性节点
属性节点的建立和使用方法
• 在对象控件上右击,菜单中选择 Create->Property Node ,则在框 图程序中建立了一个属性节点,该 属性节点默认的属性是” Visble‖, 可读。 • 在Property Node 上右击,在弹出 菜单中选择Change to write,则改 为可写。 • 在Property Node 上右击,在弹出 菜单中选择Property,弹出菜单中 再选择需要控制的属性。
选作:
程序运行中,用Knob控件改变图形CHART控件中点和曲线的 颜色分别为红、橙、紫、绿色。
实验报告
• 2、使用公式节点时,如果输入变量的名称同输出变量的名称 相同时,会怎样? • 3、心得体会及其它。
任务7-1 练习答案
任务7-2 练习答案
A 5.00 B 5.00 Function A/B A*B A-B A+B
• 公式节点的语法与C语言相同
习题7-1: y1=x3+x2+5 y2=m*x+b
补充:前面板对象属性的动态控制
• 在前面板设计编程时,我们可以修改和设 定对象控件的属性,但是在程序运行时能 否由用户修改或程序自身改变呢? • 方法是:创建对象的属性节点,通过对属 性节点的“写”操作,完成对对象属性的 修改。 • 同样通过对属性节点的“读”操作,在程 序中读取对象的属性。
§7-4 总结、要点和技巧
• · LabVIEW有两种控制数据流的结构——Case结构和 Sequence结构。LabVIEW将这两种结构表现为一叠卡片, 在一个时刻,只有一个卡片(子框图)是可见的。 • 根据Case结构选择端口的输入值来判断执行哪个子Case, 条件选择可以是布尔值(2种条件)或者是数字(231-1 种条件)。 • 使用Sequence结构,可以按Frame的编号顺序执行框图 程序。 • 可以用Sequence Locals在Sequence结构的各帧之间传送 数据。只能前面帧的数据传递给后面帧。 • 使用Formula Node(公式节点),可以直接把很多公式 输入到节点方框中。切记:变量名是区分大小写的,每条 公式语句必须以分号(;)结尾。