第2章 虚拟仪器软件开发平台2-3
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在结构边框上右击弹出的快捷菜单,选择 Replace→Replace with Flat Sequence,可以将层叠式 顺序结构变换为平铺式顺序结构
2.顺序结构的工作方式
数据传递至顺序结构时,层叠式从标识0开始执行,依 次顺序执行;平铺式从左至右执行所有子图形代码框。
从结构外面向顺序结构写数据时,可连接可不连接这 个数据通道;但是当顺序结构向外输出数据时,各个 图形代码框中只能有一个连接这个数据通道。
代码框之间的数据传递,平铺式可从一帧直接连线到 另一帧来传递数据,层叠式则需要通过局部变量—— Sequence Local来传送数据。
在层叠式顺序结构的边框上面右击,选择Add Sequence Local即可在当前帧创建一个顺序局部变量端 口。 将本帧中的数据连接到该局部变量端口,该数据就可 传到后面的帧,该数据不会作用到它前面的帧。
循环 框 计数端口 条件端口
2.While循环的工作流程
条件端口控制循环的停止与否。 条件端口有两种状态 :
当使用状态为Stop if True 时,若输入值为Ture, 则停止循环 。若输入值为False,则继续执行下一次 循环。 当使用状态为Continue if True 时,若输入值为 Ture,则继续执行下一次循环。若输入值为False, 则停止循环。
2.3.4 顺序结构
•
•
LabVIEW是一种数据流程序设计语言,没有明确的先后顺 序,当节点所有输入端的数据全部有效时,节点才执行。 Sequence结构,它是一种先后顺序执行的结构,看上去象 电影胶片的帧(Frame),每一帧为一段框图程序,按照 帧(Frame)的顺序来执行框图程序。 两种形式顺序结构,Flat Sequence Structure平铺式顺序结构 和Stacked Sequence Structure层叠式顺序结构。功能相同, 区别仅在于表现形式不同。
循环结束后,才去检测条件端口的值,因此不 管条件是否成立,循环至少要执行一次。
计数端口用于统计循环执行的次数,While循环 每执行一次,计数端口的值就加1。
计数端口从零开始计数,也就是说,在第一次 循环结束时,计数端口的值为0,如果循环执行 了10次,则计数端口的值为9。 While循环也具有数据通道索引和移位寄存器、 反馈接点的功能,它们的用法与For循环相同, 只是While循环的边框数据通道默认为不能索引。
如下图示意了层叠式顺序结构通过局部变量传递 数据的情况。在标识是1号帧的一个数据传递到标 识是2号的帧进行“或”运算,0号帧不能使用该 数据。
S
X M
X
N
3
上机练习
1、创建一个模拟温度测量的VI程序,并将温度测 量值用温度计指示器显示出来,并将该VI程序创 建为VI子程序。 2、调用上次实验创建的VI,要求每间隔一定时间 测量一次温度,并对多次测量温度值求平均,显 示实时温度测量曲线,设计超出温度范围的LED 报警指示。 N S X3 3、用While循环来实现计算X的立方和,(M≤N, X M 且M,X,N,均为整数)。 4、用公式节点求解一元二次方程,先使用CASE 判别有解和无解。
用While 循环实现求X的立方和
For循环和While循环的区别:
For循环要执行预先指定的循环次数。 而While循环只有在条件端口接收到的值为False 时才停止循环。While循环不必知道循环次数。 While循环不满足条件也要执行1次。 For循环当N<1时1次都不执行。
循环框
计数端口
2.For循环的工作流程
For循环用于将结构中的程 序循环执行指定的次数。 在开始For循环之前,从循 环次数端口读入循环次数, 计数端口输出0值。 接下来执行For循环框内框 图代码程序,每执行一次 计数端口值自动加1。
循环次数达到设定值后, 退出循环。
i=0 循环次数=N
CASE0 (Add),VI就进行加法运算,CASE1,则VI将进行 减法运算。 使用了一个数字型Text Ring控制器(在控制模板中的 Ring&Enum子模板中) 注意:当在一个子Case中建立了一个输出数据通道后,必 须给每一个子Case定义输出数据通道。
例子
设定默认的子CASE, 当所有条件都不满足时, 执行默认子CASE
下面是用移位寄存器实现a++的框图程序。
例:求 S
X M
X
N
3
( M N , 且X , M , N均为整数)
S=0,X=M 循环次数=N—M+1
S=S+X^3 X=X+1 i=i+1 False
循环次数-1=0
Ture 结束
2.3.2 While循环
1.While循环的创建
While循环由循环框、条件端口和计数端口组成。
2.3.3 Case结构
1.Case结构的创建
Case结构由选择框架、选择端口、选择器标签, 以及递增/递减按钮组成。
选择标签
递减按钮
递增按钮
选择端口
选择框架
2.Case结构的工作流程
Case结构有一个条件选择端口 (Selector),根 据连到该端口 的值来判断执行哪一个子Case。 Selector端口的数据类型有布尔型、数字型和字 符串型。
1. 顺序结构的创建
在函数模板的Structures子模板中选择创建顺序结构。 选取Stacked Sequence Structure层叠式顺序结构 。
在结构边框上面单击鼠标右键,从弹出的快捷菜单中 选择“Add Frame After”或“Add Frame Before”可以 增加子图形代码框。
例如:下图中通道自动索引功能有效时,每一次循环产生 一个新的数据,存储在循环的边框通道上,待循环结束以 后,产生的6个数据将传送到一个数组指示器中。自动索 引功能无效时,只有最后一次For循环产生的1个随机数传 到循环外。
空心
实 心
4.移位寄存器
创建:右击边框,弹出一个菜单,选择Add Shift Register选项,可添加一个移位寄存器。 用途:主要用于While循环和For循环,将上一次循环的 值传给下一次循环。 数据类型: 数字型、布尔型、字符串等 。 初始化:在循环外将初始值连到移位寄存器的左端口, 有默认初值。 还可以存储前几次循环的值,在移位寄存器的左端口或 右端口上右击鼠标弹出菜单,选择Add Element选项, 可创建附加的左端口来存储前几次循环的值。
仪器设计技术
2.3 LabVIEW的程序结构
主要的程序结构有:
循环(While循环和For循环) 选择(Case结构) 顺序(Sequence结构) 事件(Event结构)
2.3.1 For循环
1.For循环的创建
基本的For循环结构由循环框、循环次数端口和 计数端口组成。
循环次数端口
循环次数=0
Ture 结束循环
False 循环体
i=i+1
循环次数-1
FOR循环执行流程
3.For循环的数据通道与自动索引
数据通道是用连线工具连接循环框内外的数据端口时, 在框架上自动形成的方形通道图标 。
图标空心表明此时数据通道具有自动索引功能,实 心图标不能索引 。 自动索引是指将循环框外面的数组成员逐个依次进 入循环体内,或将循环框内的数据累加成一个数组 输出到循环框外面。
3.设置选择结构的默认项
应设置一个默认项来处理超出条件选项范围的 情况。 设置选择结构默认项的方法是在选择结构边框 上单击鼠标右键,选择Make This The Default Case。
4.选择结构数据通道的设置
输入数据时,每个子Case框可连可不连数据通 道。 输出数据时,每个子Case框必须为通道连接数 据。否则程序不能运行,这时通道的图标是空 心的,只有为每个子Case框的数据端口都连接 数据后,图标才变成实心。 Use Default if Unwired可使程序中没有连线的 子Case框输出默认值。
2.顺序结构的工作方式
数据传递至顺序结构时,层叠式从标识0开始执行,依 次顺序执行;平铺式从左至右执行所有子图形代码框。
从结构外面向顺序结构写数据时,可连接可不连接这 个数据通道;但是当顺序结构向外输出数据时,各个 图形代码框中只能有一个连接这个数据通道。
代码框之间的数据传递,平铺式可从一帧直接连线到 另一帧来传递数据,层叠式则需要通过局部变量—— Sequence Local来传送数据。
在层叠式顺序结构的边框上面右击,选择Add Sequence Local即可在当前帧创建一个顺序局部变量端 口。 将本帧中的数据连接到该局部变量端口,该数据就可 传到后面的帧,该数据不会作用到它前面的帧。
循环 框 计数端口 条件端口
2.While循环的工作流程
条件端口控制循环的停止与否。 条件端口有两种状态 :
当使用状态为Stop if True 时,若输入值为Ture, 则停止循环 。若输入值为False,则继续执行下一次 循环。 当使用状态为Continue if True 时,若输入值为 Ture,则继续执行下一次循环。若输入值为False, 则停止循环。
2.3.4 顺序结构
•
•
LabVIEW是一种数据流程序设计语言,没有明确的先后顺 序,当节点所有输入端的数据全部有效时,节点才执行。 Sequence结构,它是一种先后顺序执行的结构,看上去象 电影胶片的帧(Frame),每一帧为一段框图程序,按照 帧(Frame)的顺序来执行框图程序。 两种形式顺序结构,Flat Sequence Structure平铺式顺序结构 和Stacked Sequence Structure层叠式顺序结构。功能相同, 区别仅在于表现形式不同。
循环结束后,才去检测条件端口的值,因此不 管条件是否成立,循环至少要执行一次。
计数端口用于统计循环执行的次数,While循环 每执行一次,计数端口的值就加1。
计数端口从零开始计数,也就是说,在第一次 循环结束时,计数端口的值为0,如果循环执行 了10次,则计数端口的值为9。 While循环也具有数据通道索引和移位寄存器、 反馈接点的功能,它们的用法与For循环相同, 只是While循环的边框数据通道默认为不能索引。
如下图示意了层叠式顺序结构通过局部变量传递 数据的情况。在标识是1号帧的一个数据传递到标 识是2号的帧进行“或”运算,0号帧不能使用该 数据。
S
X M
X
N
3
上机练习
1、创建一个模拟温度测量的VI程序,并将温度测 量值用温度计指示器显示出来,并将该VI程序创 建为VI子程序。 2、调用上次实验创建的VI,要求每间隔一定时间 测量一次温度,并对多次测量温度值求平均,显 示实时温度测量曲线,设计超出温度范围的LED 报警指示。 N S X3 3、用While循环来实现计算X的立方和,(M≤N, X M 且M,X,N,均为整数)。 4、用公式节点求解一元二次方程,先使用CASE 判别有解和无解。
用While 循环实现求X的立方和
For循环和While循环的区别:
For循环要执行预先指定的循环次数。 而While循环只有在条件端口接收到的值为False 时才停止循环。While循环不必知道循环次数。 While循环不满足条件也要执行1次。 For循环当N<1时1次都不执行。
循环框
计数端口
2.For循环的工作流程
For循环用于将结构中的程 序循环执行指定的次数。 在开始For循环之前,从循 环次数端口读入循环次数, 计数端口输出0值。 接下来执行For循环框内框 图代码程序,每执行一次 计数端口值自动加1。
循环次数达到设定值后, 退出循环。
i=0 循环次数=N
CASE0 (Add),VI就进行加法运算,CASE1,则VI将进行 减法运算。 使用了一个数字型Text Ring控制器(在控制模板中的 Ring&Enum子模板中) 注意:当在一个子Case中建立了一个输出数据通道后,必 须给每一个子Case定义输出数据通道。
例子
设定默认的子CASE, 当所有条件都不满足时, 执行默认子CASE
下面是用移位寄存器实现a++的框图程序。
例:求 S
X M
X
N
3
( M N , 且X , M , N均为整数)
S=0,X=M 循环次数=N—M+1
S=S+X^3 X=X+1 i=i+1 False
循环次数-1=0
Ture 结束
2.3.2 While循环
1.While循环的创建
While循环由循环框、条件端口和计数端口组成。
2.3.3 Case结构
1.Case结构的创建
Case结构由选择框架、选择端口、选择器标签, 以及递增/递减按钮组成。
选择标签
递减按钮
递增按钮
选择端口
选择框架
2.Case结构的工作流程
Case结构有一个条件选择端口 (Selector),根 据连到该端口 的值来判断执行哪一个子Case。 Selector端口的数据类型有布尔型、数字型和字 符串型。
1. 顺序结构的创建
在函数模板的Structures子模板中选择创建顺序结构。 选取Stacked Sequence Structure层叠式顺序结构 。
在结构边框上面单击鼠标右键,从弹出的快捷菜单中 选择“Add Frame After”或“Add Frame Before”可以 增加子图形代码框。
例如:下图中通道自动索引功能有效时,每一次循环产生 一个新的数据,存储在循环的边框通道上,待循环结束以 后,产生的6个数据将传送到一个数组指示器中。自动索 引功能无效时,只有最后一次For循环产生的1个随机数传 到循环外。
空心
实 心
4.移位寄存器
创建:右击边框,弹出一个菜单,选择Add Shift Register选项,可添加一个移位寄存器。 用途:主要用于While循环和For循环,将上一次循环的 值传给下一次循环。 数据类型: 数字型、布尔型、字符串等 。 初始化:在循环外将初始值连到移位寄存器的左端口, 有默认初值。 还可以存储前几次循环的值,在移位寄存器的左端口或 右端口上右击鼠标弹出菜单,选择Add Element选项, 可创建附加的左端口来存储前几次循环的值。
仪器设计技术
2.3 LabVIEW的程序结构
主要的程序结构有:
循环(While循环和For循环) 选择(Case结构) 顺序(Sequence结构) 事件(Event结构)
2.3.1 For循环
1.For循环的创建
基本的For循环结构由循环框、循环次数端口和 计数端口组成。
循环次数端口
循环次数=0
Ture 结束循环
False 循环体
i=i+1
循环次数-1
FOR循环执行流程
3.For循环的数据通道与自动索引
数据通道是用连线工具连接循环框内外的数据端口时, 在框架上自动形成的方形通道图标 。
图标空心表明此时数据通道具有自动索引功能,实 心图标不能索引 。 自动索引是指将循环框外面的数组成员逐个依次进 入循环体内,或将循环框内的数据累加成一个数组 输出到循环框外面。
3.设置选择结构的默认项
应设置一个默认项来处理超出条件选项范围的 情况。 设置选择结构默认项的方法是在选择结构边框 上单击鼠标右键,选择Make This The Default Case。
4.选择结构数据通道的设置
输入数据时,每个子Case框可连可不连数据通 道。 输出数据时,每个子Case框必须为通道连接数 据。否则程序不能运行,这时通道的图标是空 心的,只有为每个子Case框的数据端口都连接 数据后,图标才变成实心。 Use Default if Unwired可使程序中没有连线的 子Case框输出默认值。