电子教案《基于LabVIEW的应用程序设计》(李晴 钱声强)ppt KC10142002-c11-生产者消费者组成与结构
合集下载
电子教案《基于LabVIEW的应用程序设计》(李晴 钱声强)ppt KC10141803-c01-状态机中的状态转换

5
状态机中 的状态
转换
状态变量切换基本方法
1)默认转换 2)选择转换 3)条件结构转换 4)转换数组转换
状态机中 的状态
转换
6
1)默认转换
状态机中 的状态
转换
7
2)选择转换
状态机中 的状态
转换
8
3)条件结构转换
状态机中 的状态
转换
9
4)转换数组转换
状态机中 的状态
转换
10
谢谢!
11
基于LabVIEW的 物联网应用程序设计
1
状态机
2
目录
1 状态机的基本组成 2 自定义枚举常量 3 状态机中的状态转换
3
状态机
状态机中的状 状态可能往多个状态转换 的情况,在这个时候,我 们需使用LabVIEW提供的 附加逻辑功能来实现下一 个状态的判断。
状态机中 的状态
转换
状态变量切换基本方法
1)默认转换 2)选择转换 3)条件结构转换 4)转换数组转换
状态机中 的状态
转换
6
1)默认转换
状态机中 的状态
转换
7
2)选择转换
状态机中 的状态
转换
8
3)条件结构转换
状态机中 的状态
转换
9
4)转换数组转换
状态机中 的状态
转换
10
谢谢!
11
基于LabVIEW的 物联网应用程序设计
1
状态机
2
目录
1 状态机的基本组成 2 自定义枚举常量 3 状态机中的状态转换
3
状态机
状态机中的状 状态可能往多个状态转换 的情况,在这个时候,我 们需使用LabVIEW提供的 附加逻辑功能来实现下一 个状态的判断。
电子教案《基于LabVIEW的应用程序设计》(李晴 钱声强)ppt KC10131205-c01-下拉列表与枚举

基于LabVIEW的 物联网应用程序设计
1
LabVIEW基本数据类型 ——下拉列表与枚举
2
下拉列表与枚举
• 下拉列表与枚举控件 • 下拉列表与枚举控件的区别
3
下拉列表与枚举控件
• 下拉列表用文字或者图片的方式表示数字。 数字可以是整型数,也可以是浮点数;既可 以是有序值,也可以是无序值,由用户自定 义它代表的数值。
下拉列表与枚举型控件区别六 -下拉列表都是同一种数据类型,可以直接相互赋值,而拥有不同条目的枚举 属于不同数据类型,之间不能直接赋值。
6
下拉列表
下拉列表与枚举控件的区别 与枚举
小结
-在程序中表示有限的几种物件、几个状态等含义时,尽量使用枚举控件; -当程序需要表示的是一个数值,应当使用下拉列表; -自定义枚举控件广泛应用于状态机模式。
例程1:下拉列表与枚举.vi 例程2:简易交通灯(状态机).vi
7
谢谢观看!
8
5
下拉列表
下拉列表与枚举控件的区别 与枚举
下拉列表与枚举型控件区别四 - 在条件结构选择器标签中,下拉列表按照每个条目的值判定条件是否满足, 枚举按照每个条目的标签判断条件是否满足;
下拉列表与枚举型控件区别五 -下拉列表通过控件属性设置,在程序运行时,可动态修改每一项的标签,枚 举只能在编辑状态下修改枚举类型每一项的标签。
• 枚举控件只能代表整数,而且是有序的、Biblioteka 动分配的。下拉列表 与枚举
4
下拉列表
下拉列表与枚举控件的区别 与枚举
下拉列表与枚举型控件区别一 -下拉列表属于数值型,枚举控件属于枚举型;
下拉列表与枚举型控件区别二 -下拉列表支持任何浮点实数类型,枚举只支持三种无符号整型;
1
LabVIEW基本数据类型 ——下拉列表与枚举
2
下拉列表与枚举
• 下拉列表与枚举控件 • 下拉列表与枚举控件的区别
3
下拉列表与枚举控件
• 下拉列表用文字或者图片的方式表示数字。 数字可以是整型数,也可以是浮点数;既可 以是有序值,也可以是无序值,由用户自定 义它代表的数值。
下拉列表与枚举型控件区别六 -下拉列表都是同一种数据类型,可以直接相互赋值,而拥有不同条目的枚举 属于不同数据类型,之间不能直接赋值。
6
下拉列表
下拉列表与枚举控件的区别 与枚举
小结
-在程序中表示有限的几种物件、几个状态等含义时,尽量使用枚举控件; -当程序需要表示的是一个数值,应当使用下拉列表; -自定义枚举控件广泛应用于状态机模式。
例程1:下拉列表与枚举.vi 例程2:简易交通灯(状态机).vi
7
谢谢观看!
8
5
下拉列表
下拉列表与枚举控件的区别 与枚举
下拉列表与枚举型控件区别四 - 在条件结构选择器标签中,下拉列表按照每个条目的值判定条件是否满足, 枚举按照每个条目的标签判断条件是否满足;
下拉列表与枚举型控件区别五 -下拉列表通过控件属性设置,在程序运行时,可动态修改每一项的标签,枚 举只能在编辑状态下修改枚举类型每一项的标签。
• 枚举控件只能代表整数,而且是有序的、Biblioteka 动分配的。下拉列表 与枚举
4
下拉列表
下拉列表与枚举控件的区别 与枚举
下拉列表与枚举型控件区别一 -下拉列表属于数值型,枚举控件属于枚举型;
下拉列表与枚举型控件区别二 -下拉列表支持任何浮点实数类型,枚举只支持三种无符号整型;
电子教案《基于LabVIEW的应用程序设计》(李晴 钱声强)ppt KC10151802-C01 动态改变界面

9
动态改变 界面
改变所在VI的属性
动态改变 界面
• 如需设置本VI的属性,将通用“属性节点”关联的类选择为VI(默认设置 为应用程序)。 通过通用属性节点右键菜单可以显示所有其他类别对象的 属性。在没有任何引用输入时,这个属性节点的属性设置是针对所在VI的 。
• Demo: 修改所在VI标题 (设置所在VI属性.vi)
作业: 打开”设置控件位置属性.vi”,将通过“直接创建”的方式设置“灯 泡”位置控件属性 改为 通过“创建引用”的方式设置“灯泡”位置属性,并 运行。
6
VI服务器
动态改变界面
• 改变控件的属性 • 改变VI的属性 • 加深理解对象引用
*
7
VI的引用
动态改变 界面
• VI作为LabVIEW应用程序的基本单元,具有丰富的属性和方法。 • VI的引用相当于C语言的函数指针,通过VI的引用,可以实现动态改变VI
VI服务器
动态改变界面
• 改变控件的属性 • 改变VI的属性 • 加深理解对象引用
*
14
VI的引用
动态改变 界面
• 在实际的使用中,直接从控件或其他对象生成属性节点的方法有较多的局 限性,更多的是使用“VI服务器引用”、“打开VI引用”或通用属性节点 ,根据输入引用的类型使用相应的属性。
• 这一节,我们再来加深一下对象引用的理解。
动态改变界面
1
VI服务器
动态改变界面
• 改变控件的属性 • 改变VI的属性 • 加深理解对象引用
*
2
改变控件的属性
动态改变 界面
控件不仅可以纪录保存数据,它自身有许多很丰富的特点。在前面板 设计中,经常需要对某些控件进行属性的修改,用于改变前面板对象的外观 和功能,如隐藏控件、闪烁控件、禁用控件等。
动态改变 界面
改变所在VI的属性
动态改变 界面
• 如需设置本VI的属性,将通用“属性节点”关联的类选择为VI(默认设置 为应用程序)。 通过通用属性节点右键菜单可以显示所有其他类别对象的 属性。在没有任何引用输入时,这个属性节点的属性设置是针对所在VI的 。
• Demo: 修改所在VI标题 (设置所在VI属性.vi)
作业: 打开”设置控件位置属性.vi”,将通过“直接创建”的方式设置“灯 泡”位置控件属性 改为 通过“创建引用”的方式设置“灯泡”位置属性,并 运行。
6
VI服务器
动态改变界面
• 改变控件的属性 • 改变VI的属性 • 加深理解对象引用
*
7
VI的引用
动态改变 界面
• VI作为LabVIEW应用程序的基本单元,具有丰富的属性和方法。 • VI的引用相当于C语言的函数指针,通过VI的引用,可以实现动态改变VI
VI服务器
动态改变界面
• 改变控件的属性 • 改变VI的属性 • 加深理解对象引用
*
14
VI的引用
动态改变 界面
• 在实际的使用中,直接从控件或其他对象生成属性节点的方法有较多的局 限性,更多的是使用“VI服务器引用”、“打开VI引用”或通用属性节点 ,根据输入引用的类型使用相应的属性。
• 这一节,我们再来加深一下对象引用的理解。
动态改变界面
1
VI服务器
动态改变界面
• 改变控件的属性 • 改变VI的属性 • 加深理解对象引用
*
2
改变控件的属性
动态改变 界面
控件不仅可以纪录保存数据,它自身有许多很丰富的特点。在前面板 设计中,经常需要对某些控件进行属性的修改,用于改变前面板对象的外观 和功能,如隐藏控件、闪烁控件、禁用控件等。
电子教案《基于LabVIEW的应用程序设计》(李晴 钱声强)ppt KC10131606-c01-装饰和背景图片

4
修饰选板
装饰和 背景图片
修饰选板
在编写程序界面时,修饰最常用的用法是用来将一组相关 联的控件包围起来,或把不相关的控件相互隔开。
装饰和 背景图片
5
背景图片
装饰和 背景图片
Ctrl+C、Ctrl+V复制粘贴导入图片到前面板
将图片文件拖曳到前面板,设置“重新排序” ->“移至后 面”
未添加背景图片 6
设置VI前面板8 的背景图片
谢谢!
9
添加背景图片
背景图片
装饰和 背景图片
前面程序中粘贴的图片是矩形,可有时候程序中需要不规则形状的 图片,这需要使用支持透明色的图片格式,比如png、gif格式,把
装饰和 背景图片
需要注意的是,编写程序过程中,界面的尺寸随时可能更改, 而通过粘贴得到的图片尺寸是固定有限的,在设为背景图片时需要 根据界面大小适当调整。而通过VI前面板窗格的“属性”,可以让 整个前面板都被某一背景图片铺满。
基于LabVIEW的 物联网应用程序设计
1
界面设计
装饰和背景图片
2
装饰和背景图片
3
修饰选板
LabVIEW自带了包括线条、方框 、箭头等各种形状的修饰组件,在 控件选板“新式-修饰”中打开,利 用这些修饰图案可对前面板对象进 行组合或分隔,可以使用户界面装 饰和排版更加清晰,并能制造出一 些意想不到的效果。
修饰选板
装饰和 背景图片
修饰选板
在编写程序界面时,修饰最常用的用法是用来将一组相关 联的控件包围起来,或把不相关的控件相互隔开。
装饰和 背景图片
5
背景图片
装饰和 背景图片
Ctrl+C、Ctrl+V复制粘贴导入图片到前面板
将图片文件拖曳到前面板,设置“重新排序” ->“移至后 面”
未添加背景图片 6
设置VI前面板8 的背景图片
谢谢!
9
添加背景图片
背景图片
装饰和 背景图片
前面程序中粘贴的图片是矩形,可有时候程序中需要不规则形状的 图片,这需要使用支持透明色的图片格式,比如png、gif格式,把
装饰和 背景图片
需要注意的是,编写程序过程中,界面的尺寸随时可能更改, 而通过粘贴得到的图片尺寸是固定有限的,在设为背景图片时需要 根据界面大小适当调整。而通过VI前面板窗格的“属性”,可以让 整个前面板都被某一背景图片铺满。
基于LabVIEW的 物联网应用程序设计
1
界面设计
装饰和背景图片
2
装饰和背景图片
3
修饰选板
LabVIEW自带了包括线条、方框 、箭头等各种形状的修饰组件,在 控件选板“新式-修饰”中打开,利 用这些修饰图案可对前面板对象进 行组合或分隔,可以使用户界面装 饰和排版更加清晰,并能制造出一 些意想不到的效果。
电子教案《基于LabVIEW的应用程序设计》(李晴 钱声强)ppt KC10131502-c01-簇元素顺序

基于LabVIEW的 物联网应用程序设计
1
簇及簇函数 ——簇元素顺序
2
目录
1
簇的大小
2
簇元素顺序
3
簇与数组的比较
3
簇互独立(不同数据类型的多个元素)
• 自动调整簇外观大小
无
匹配大小
垂直排列
4
水平排列
簇元素顺序
• 簇的逻辑次序
簇元素顺序与元素控件的位置无关
• 簇元素重新排序
5
簇元素 顺序
簇与数组的比较
簇元素 顺序
• 簇可以包含不同数据类型,数组仅可包含一种数据类型;
• 簇与数组都只能包含输入控件或者显示控件,不能同时包含两种 控件。
6
谢谢关注!
7
1
簇及簇函数 ——簇元素顺序
2
目录
1
簇的大小
2
簇元素顺序
3
簇与数组的比较
3
簇互独立(不同数据类型的多个元素)
• 自动调整簇外观大小
无
匹配大小
垂直排列
4
水平排列
簇元素顺序
• 簇的逻辑次序
簇元素顺序与元素控件的位置无关
• 簇元素重新排序
5
簇元素 顺序
簇与数组的比较
簇元素 顺序
• 簇可以包含不同数据类型,数组仅可包含一种数据类型;
• 簇与数组都只能包含输入控件或者显示控件,不能同时包含两种 控件。
6
谢谢关注!
7
电子教案《基于LabVIEW的应用程序设计》(李晴 钱声强)ppt KC10131602-c01-界面设计限制

基于LabVIEW的 物联网应用程序设计
1
限制
2
界面设计
限制
• 限制输入数据 • 防止误操作
3
限制
在实际应用过程中,用户往往会进行随机操作,导致误 操作或给程序提供了错误数据,如果软件容错性不好,则 系统可能会崩溃。因此,当出现用户错误输入时,完美的 解决方案应当是从根源上就杜绝操作和错误的输入数据。4 Nhomakorabea限制
限制输入数据
• LabVIEW某些控件自身具有数据的限制功能; • 采用值可选的控件(下拉列表控件、枚举控件、单选框)
5
限制
防止误操作
用户操作程序界面不可能按照软件开发者预 先设想操作,用户的随机操作很可能导致系统出 现错误,因此,一个设计良好的程序界面还应能 够防止用户的误操作。
6
限制
防止误操作
防止误操作最为简单的方法是通过“失效”避免用户误操作。 例1:按钮设置禁用 例2:鼠标设定状态
7
谢谢观看!
学校地址:江苏省常州市鸣新中路2号 邮编:213164 Copyright 2013 WXIT,All Rights Reserved 苏ICP备09025827号
8
1
限制
2
界面设计
限制
• 限制输入数据 • 防止误操作
3
限制
在实际应用过程中,用户往往会进行随机操作,导致误 操作或给程序提供了错误数据,如果软件容错性不好,则 系统可能会崩溃。因此,当出现用户错误输入时,完美的 解决方案应当是从根源上就杜绝操作和错误的输入数据。4 Nhomakorabea限制
限制输入数据
• LabVIEW某些控件自身具有数据的限制功能; • 采用值可选的控件(下拉列表控件、枚举控件、单选框)
5
限制
防止误操作
用户操作程序界面不可能按照软件开发者预 先设想操作,用户的随机操作很可能导致系统出 现错误,因此,一个设计良好的程序界面还应能 够防止用户的误操作。
6
限制
防止误操作
防止误操作最为简单的方法是通过“失效”避免用户误操作。 例1:按钮设置禁用 例2:鼠标设定状态
7
谢谢观看!
学校地址:江苏省常州市鸣新中路2号 邮编:213164 Copyright 2013 WXIT,All Rights Reserved 苏ICP备09025827号
8
电子教案《基于LabVIEW的应用程序设计》(李晴 钱声强)ppt KC10131303-c01-XY图

*
5
XY图——XY graph
6
图形显示器
XY图
• XY图的用途 • XY图的组成 • XY图的输入数据类型 • XY图的多曲线显示 • 快速XY图的使用 • XY图中显示背景图片
*
7
XY图
XY图的用途
1. 数据以不规则的间隔出现; 2. 注重显示X变量和Y变量之间的函数关系,绘制两个相互依赖的变量。
参数
启用
X输入 Y输入 重置 错误输入
说明 启用或禁用Express VI。默认为开启或 TRUE。 指定X输入。 指定Y输入。 控制VI内部状态的初始化。默认值为FALSE。 描述该节点运行前发生的错误。
13
显示背景图片
• 显示背景图片XY图.vi
XY图
14
XY图练习
练习
1.选择题:
• 当需要绘制有相互依赖关系的两个变量的曲线时,最好采用( • A.波形图 B.波形图表 C.XY图
基于LabVIEW的 物联网应用程序设计
1
图形显示器
2
目录
CONTENTS
波形图表
1
波形图
2
目录
3
XY图
4
强度图
*
3
XY图——XY graph
4
图形显示器
XY图
• XY图的用途 • XY图的组成 • XY图的输入数据类型 • XY图的多曲线显示 • 快速XY图的使用 • XY图中显示背景图片
8
Y标尺
X标尺 图形 工具 选板
XY图的组成
图例
标尺 图例
游标 图例
XY图
X 滚动条
9
波形图表的显示项
XY图的显示项
5
XY图——XY graph
6
图形显示器
XY图
• XY图的用途 • XY图的组成 • XY图的输入数据类型 • XY图的多曲线显示 • 快速XY图的使用 • XY图中显示背景图片
*
7
XY图
XY图的用途
1. 数据以不规则的间隔出现; 2. 注重显示X变量和Y变量之间的函数关系,绘制两个相互依赖的变量。
参数
启用
X输入 Y输入 重置 错误输入
说明 启用或禁用Express VI。默认为开启或 TRUE。 指定X输入。 指定Y输入。 控制VI内部状态的初始化。默认值为FALSE。 描述该节点运行前发生的错误。
13
显示背景图片
• 显示背景图片XY图.vi
XY图
14
XY图练习
练习
1.选择题:
• 当需要绘制有相互依赖关系的两个变量的曲线时,最好采用( • A.波形图 B.波形图表 C.XY图
基于LabVIEW的 物联网应用程序设计
1
图形显示器
2
目录
CONTENTS
波形图表
1
波形图
2
目录
3
XY图
4
强度图
*
3
XY图——XY graph
4
图形显示器
XY图
• XY图的用途 • XY图的组成 • XY图的输入数据类型 • XY图的多曲线显示 • 快速XY图的使用 • XY图中显示背景图片
8
Y标尺
X标尺 图形 工具 选板
XY图的组成
图例
标尺 图例
游标 图例
XY图
X 滚动条
9
波形图表的显示项
XY图的显示项
电子教案《基于LabVIEW的应用程序设计》(李晴 钱声强)ppt KC10142105-c01-错误处理机制

2. 可禁用自动错误处理功能
a) 当前VI ( 选择文件»VI属性。在类别下拉菜单中选择执行,取消勾选启用自动错误处理复选框。) b) 新建空白VI ( 选择工具»选项。在类别下拉菜单中选择程序框图,取消勾选在新VI中启用自动错
误处理复选框。) c) VI内部的子VI或函数 (在子VI中创建错误输出显示控件,或连线子VI的错误输出参数至另一子VI
• 也可使用允许调试属性,通过编程禁用调试工具,以及自动错误处理属性, 通过编程禁用自动错误处理。
• 按照下列步骤,禁用新建或空白VI的自动错误处理功能。 1. 选择工具»选项,显示选项对话框。 2. 从类别列表中选择程序框图。 3. 取消勾选在新VI中启用自动错误处理复选框。
11
练习:程序调试
13) 如何关闭VI的调试功能? a. 设置VI为子VI,选择高优先级可自动关闭调试 b. 选择VI属性,在执行子菜单中选择允许调试 c. 在选板上取消选择调试工具 d. 调试功能是LabVIEW环境的内置功能,无法关闭 14) 前面板上的探针可关联至: a. 输入控件 b. 显示控件 c. 图形 d. 以上均不正确
12
调试工具
练习:程序调试
调试工具
15)如错误簇中错误代码为非零值并且状态为FALSE,该情况表示: a. 严重错误 b. 警告 c. 非严重错误 d. 无错误Βιβλιοθήκη 13练习:程序调试
调试工具
16)如VI的错误输入接线端接收到错误,将出现哪种情况? a. 暂停程序并等待用户响应 b. 正常执行 c. 立即显示包含错误信息的弹出窗口 d. 将错误传递至下一个节点,不执行VI中的代码
1. 停止带有错误簇的循环 2. 根据错误状态执行代码
调试工具
8
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
常州信息职业技术学院
物联网应用程序设计 (虚拟仪器应用技术)
1
常州信息职业技术学院
生产者-消费者循环
“我需要可以同时执行的两个过程,并且 需要保证它们不会互相影响执行速度。”
2
生产者-消费者
生产者消费者组成与结构
• while循环结构 • 队列 • 生产者循环 • 消费者循环
*
4
组成与结构
• .循环结构-while
循环
5ቤተ መጻሕፍቲ ባይዱ
• 队列
– 创建队列 – 元素入队列 – 元素出队列 – 队列销毁
组成与结构
获取队列引用 定义数据名称 初始化队列元素数据类型
队列
元素入队列 添加新元素至队列末尾
元素出队列 删除队列前端的一个 元素并返回该元素
6
释放队列引用 销毁引用队列
组成与结构
• 队列
队列同数据缓冲区类似,是一个先入先出(FIFO)的数据结构
组成与结构
demo
11
谢谢关注!
学校地址:中国江苏常州科教城鸣新中路22号 邮编:213164 Copyright 2013 WXIT,All Rights Reserved 苏ICP备09025827号
12
队列
7
• 生产者循环
产生数据 并将数据放入队列
组成与结构
添加新元素至队列末尾
生产者 循环
8
• 消费者循环
依次从队列中取出数据, 用条件结构处理。
组成与结构
删除队列前端的一个 元素并返回该元素
9
消费者 循环
组成与结构
执行
• 数据流的流向: 生产者 消费者
10
• 程序演示
Demo 队列上溢和下溢
队列中,数据是否入队,取决于是否有出队; 若出队速度大于入队速度,队列中不会有多余数据; 若出队速度小于入队速度,队列中数据才会增加;
当队列中数据达到设定值(如1024个); 要求“进入队列”的线程被动等待,直到队列中有别的线程取出数据,使队列 出现空闲位置,才让新数据入队。
队列具有调节读写速度的能力
物联网应用程序设计 (虚拟仪器应用技术)
1
常州信息职业技术学院
生产者-消费者循环
“我需要可以同时执行的两个过程,并且 需要保证它们不会互相影响执行速度。”
2
生产者-消费者
生产者消费者组成与结构
• while循环结构 • 队列 • 生产者循环 • 消费者循环
*
4
组成与结构
• .循环结构-while
循环
5ቤተ መጻሕፍቲ ባይዱ
• 队列
– 创建队列 – 元素入队列 – 元素出队列 – 队列销毁
组成与结构
获取队列引用 定义数据名称 初始化队列元素数据类型
队列
元素入队列 添加新元素至队列末尾
元素出队列 删除队列前端的一个 元素并返回该元素
6
释放队列引用 销毁引用队列
组成与结构
• 队列
队列同数据缓冲区类似,是一个先入先出(FIFO)的数据结构
组成与结构
demo
11
谢谢关注!
学校地址:中国江苏常州科教城鸣新中路22号 邮编:213164 Copyright 2013 WXIT,All Rights Reserved 苏ICP备09025827号
12
队列
7
• 生产者循环
产生数据 并将数据放入队列
组成与结构
添加新元素至队列末尾
生产者 循环
8
• 消费者循环
依次从队列中取出数据, 用条件结构处理。
组成与结构
删除队列前端的一个 元素并返回该元素
9
消费者 循环
组成与结构
执行
• 数据流的流向: 生产者 消费者
10
• 程序演示
Demo 队列上溢和下溢
队列中,数据是否入队,取决于是否有出队; 若出队速度大于入队速度,队列中不会有多余数据; 若出队速度小于入队速度,队列中数据才会增加;
当队列中数据达到设定值(如1024个); 要求“进入队列”的线程被动等待,直到队列中有别的线程取出数据,使队列 出现空闲位置,才让新数据入队。
队列具有调节读写速度的能力