Labview学习笔记-条件结构的两个问题
数组:“创建数组控件“用于连接数组 输入端:数组+元素 或数组+数组 右键创建数组控件 在连接数组项上打钩或取消,改变连接的数组维度
簇:就是C语言中的结构体 簇和数组的转换 必须保证各元素数据类型一致
条件结构:
labview中真假分支都必须给隧道赋值 输入隧道在每一个分支中都可,输出隧道必须从每一个分支都得到明确的输入值,否则程序无法运行。 输出隧道是实心的,才表示所有分支都有接入值(接入值也可以通过打钩未连线时使用默认。)
这样就带来了问题1::由于隧道的存在,任何分支都必须对已有隧道进行赋值操作,而无法像C语言中可以忽略一个分支 或在某一分支进行空操作
例如C语言中:
if(a<=0.1) b=1;
else c=1;
这样一个简单的例子。C语言中允许在某分支中不进行操作即空操作。但是labview中不行,若是在a<=0.1的真分支里给b赋值为1,在假分支里也必须给b赋值,如果像程序中那样在假分支里只改变c的值而不对b进行处理,是不可以的,如果任何一个分支里不给b赋值,程序都会报错,提示隧道未赋值。即使你选择未连线时使用默认,也会给b赋值为0。总问言
之任何已有隧道在任一分支里都要被赋值!




问题2::当多个分支嵌套时,由于每个分支的各个子分支在框图里时叠合在一起的,因此想要清晰明了的读出所有分支的走向就比较困难。

这样一个三分支的程序,由于真假分支重叠,因此要一目了然比较困难。
解决办法:利用函数控件比较中的判定范围并强制转换可以将各个分支简洁的列出,再将各个分支的结果放到一个布尔数组里,再利用函数空间布尔控件中的布尔数组至数值转换将布尔数组转换为对应的数值,比如三个分支中当第三个分支成立而前两个不成立时,布尔数组为100(第一个分支再最低位),那么转换为数值就为4,也就是这种情况下对应的结果是4,同理还可能会出现010=2,001=1,000=0共四种情况,这时候再创建一个条件结构,以0,1,2,4不同的数值为判定条件,即可将各分支理清,增强易读性。
例如C程序:
if(a<=0.1) b=1;
else if(a>0.1 && a<0.2) b=2;
else if(a>=0.2 && a<0.3) c=1;
else ;

判定范围并强制转换:这个控件有上限,下线,X,三个输入接线端。右侧有两个接线端,右下角?标志接线端表示x是否在上下限范围内,我们以此控件来轻松表示一个分支。
将各个分支表示完毕后,再将各个分支的判断结果以布尔类型存放在一个布尔数组中,再把布尔数组转换为数值


最后以不同分支结果对应不同数值为依据,创建条件结构


这种方法,无论对于易读性还是修改都更方便。
Labview学习笔记-条件结构的两个问题的更多相关文章
- yii的学习笔记 基本结构 自用
Yii 学习笔记 W:YII是什么? Q:Yii 是一个基于组件的高性能 PHP 框架,用于快速开发大型 Web 应用.它使Web开发中的 可复用度最大化,可以显著提高你的Web应用开发速度.Yii ...
- ucos实时操作系统学习笔记——内核结构和任务创建
对于ucos实时操作系统,邵贝贝的那本书已经写得很详细了,我因为之前不深的研究过ucos,所以在这里做一个笔记,写一些个人对该操作系统的理解,仅仅是个人理解,如果有人看到这边随笔有不对的地方,望给我指 ...
- Labview学习笔记(二)
一.编程基础 LABVIEW程序成为虚拟.仪器程序,简称VI,一个最基本的VI包括三个部分:前面板.程序框图和图标/连接端口. 1.前面板 在前面板窗口中,可以添加输入控件和显示控件,同时,可以用快捷 ...
- contiki学习笔记---process结构体
process,字面意义,进程,看看它的结构 struct process { struct process *next; #if PROCESS_CONF_NO_PROCESS_NAMES #def ...
- ShooterGame 学习笔记1 PlayerPawn的两个Mesh的可见性
GameMode Override 为 ShooterGame_TeamDeathMatch GameMode中设置的Default Pawn Class 为 PlayerPawn , PlayerP ...
- Shell学习笔记 - 条件判断式
1. 判断格式 1) test 参数 文件 例: test -e /root/install.log 2) [ 参数 文件 ] -- 推荐使用 例: [ -e /root/install.log ] ...
- C#学习笔记之结构体
1.概述 结构是一种与类相似的数据类型,不过它较类更为轻量,一般适用于表示类似Point.Rectangle.Color的对象.基本上结构能办到的类全都能办到,但在某些情况下使用结构更为合适,后面会有 ...
- js-ES6学习笔记-Set结构和Map结构
http://www.cnblogs.com/lonhon/ 1.ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set ...
- VBA二次学习笔记(2)——两个Excel表内容比较
说明(2018-9-3 22:38:58): 1. 就是之前问同事要来的作业,有两个格式一样的Excel文件,一个是正确答案,一个是员工作答的.通过代码将两个文件进行比对,把不同之处列出来. 正文: ...
随机推荐
- 亚马逊(Review、Feedback)差评怎么处理?
移除亚马逊Review差评,我看也就这三招靠谱点! 亚马逊特别重视review,差评会直接影响到listing的浏览量和销量,甚至还可以摧毁一个账号.遇到一个差的review怎么办?网上看到很多讲移除 ...
- 安卓开发创建活动,布局,添加按钮,she使用Toast,设菜单,使菜单相关联等操作
---恢复内容开始--- 创建一个新活动在app/src/main/java/com.example.activitytest ,然后右击com.example.activitytest包→New→A ...
- 《BUG创造队》第二次团队作业:团队项目选题报告
项目 内容 这个作业属于哪个课程 2016级软件工程 这个作业的要求在哪里 实验六 团队作业2:团队项目选题 团队名称 BUG创造队 作业学习目标 可行性自评总结,并且采用NABCD方法进行项目初步分 ...
- hashlib 和 hmac 算法的区别
-----md5 = hashlib.md5() md5.update(password+salt) md5.hexdigest() ----- h = hmac.new(key,password,d ...
- VS 2017 创建类注释模板
在VS 2017/2019等 同样打开下方路径 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\I ...
- Loadrunner11中webservice协议脚本总结
Loadrunner11中webservice协议脚本总结 简介 webservices协议是建立可交互操作的分布式应用程序的新平台,它通过一系列的标准和协议来保证程序之间的动态连接,其中最基 ...
- leetcode 78,236,300
---恢复内容开始--- 2018.3.16目前已刷27题,打卡记录有意思的题目. leetcode78 subsets 思路1:DFS遍历子集,每遇到一个数就把该数加上原来的子集变成新的子集. cl ...
- QT + OpenCV + MinGW 在windows下配置开发环境
由于研究项目需要,最近开始接触C++界面设计,关于“QT + OpenCV + MinGW在windows下配置开发环境”着实让人头疼,单次配置时间相当长,也十分不容易,本人第一次配置成 ...
- RSA填充模式
1)RSA_PKCS1_PADDING 填充模式,最常用的模式 输入RSA_size(rsa) – 11输出和modulus一样长 2)RSA_PKCS1_OAEP_PADDINGRSA_size(r ...
- npx
npx 是什么? npm v5.2.0引入的一条命令(npx),引入这个命令的目的是为了提升开发者使用包内提供的命令行工具的体验. 举例:使用create-react-app创建一个react项目. ...