实验三-LabVIEW编程的程序结构实验-分支机构与顺序结构

合集下载

LabVIEW 编程与虚拟仪器设计(3-程序结构)

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实验报告

Labview实验报告
4.熟悉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中的程序结构

第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编程及虚拟仪器设计之程序结构

LabVIEW编程及虚拟仪器设计之程序结构
以图形化方式响应和处理用户的操作;与Windows操作 系统的事件处理方式相似。
事件超时
事件 事件的子框图
事件结构的组成: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实训报告范文

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_顺序结构分析

LabVIEW_顺序结构分析

事件类型: 通知事件和过滤事件两种。分别用绿色与红色箭头进行区别。通知事件
用于通知某个事件的触发,过滤事件用来控制在执行某个动作后,系统尚未响应之 前进行提醒。当事件发生时,用户可以过滤掉甚至完全放弃事件所触发的活动。
4、应用举例:
⑴. 点击不同按钮,显示不同内容

前面板

后面板
作业
LabVIEW
顺序结构将按照既定的顺序依次执行,它可以包含 多个代码子框图,这些子框图看起来就像是多帧电影 一样,所以把每个子框图称为一帧。 顺序结构分为平铺式和层叠式两种,二者表现形式 不同,但其基本功能则完全相同。
2.所在位置
函数→编程→结构→平铺式\层叠式顺序结构
3.基本结构
①. 平铺式:按左右顺序依次排列
3、事件结构的建立
⑴.摆放框图(程序—结构—事件结构) ⑵.调出编辑事件对话框:右击边框—【编辑本分支所处理事件】 ⑶.构造事件:一般面对前面板对象构造事件 事件说明符:事件
编辑,进行事件的 增、删操作。 事件源:将列出前 事件:给出事件 面板所有对象,供 列表,供用户选 用户选择事件源。 择事件。

使用全局变量和局部变量的注意事项:
LabVIEW 语言编程是一种数据流,全局变量和局部变量 提供了一种违反严格数据流的程序设计方式。大家有必要 了解竞态条件的缺陷,当两个或两个以上的事件可以按任 何顺序发生时就产生了竞态条件。用户要想知道再多个并 行的程序中一个全局变量什么时候被访问是比较困难的。 特别是再多线程编程中,对这种共享数据变量的竞态条件 问题要求更加苛刻,使用全局变量会带来意想不到的错误。 如果用户的应用程序中有全局变量,那么就存在大量的 数据复制的危险,因为用户要想在不同的地方对数据进行 处理,最终就有许多的数据备份,造成内存的巨大开销和 系统资源的浪费,所以建议初学者尽量不要使用全局变量。 如果程序中使用了全局变量或者是局部变量,那么在程 序运行之前,必须首先要确定它的初始值是否满足执行要 求,如果不满足的话,就要对它们进行初始化

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编程的程序结构实验-分支机构与顺序结构
《虚拟仪器》-3
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控件中点和曲线的 颜色分别为红、橙、紫、绿色。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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(公式节点),可以直接把很多公式 输入到节点方框中。切记:变量名是区分大小写的,每条 公式语句必须以分号(;)结尾。
相关文档
最新文档