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文件,一个是正确答案,一个是员工作答的.通过代码将两个文件进行比对,把不同之处列出来. 正文: ...
随机推荐
- python操作mysql——mysql.connector
连接mysql, 需要mysql connector, conntector是一种驱动程序,python连接mysql的驱动程序,mysql官方给出的名称为connector/python, 可参考m ...
- redist命令操作(三)--集合Set,有序集合ZSet
1.Redis 集合(Set) 参考菜鸟教程:http://www.runoob.com/redis/redis-sets.html Redis 的 Set 是 String 类型的无序集合.集合成员 ...
- jquery等待特定元素加载再执行相关函数
jQuery.fn.wait = function (func, times, interval) { var _times = times || 100, //100次 _interval = in ...
- [luogu P2521] [HAOI2011]防线修建
[luogu P2521] [HAOI2011]防线修建 题目描述 近来A国和B国的矛盾激化,为了预防不测,A国准备修建一条长长的防线,当然修建防线的话,肯定要把需要保护的城市修在防线内部了.可是A国 ...
- 【转】package control安装成功,但是ctrl+shiif+p调不出来面板,preference里面也没有Package Control
原文:http://blog.csdn.net/fangfanggaogao/article/details/54405866 sublime text2 用了很长很长时间了,和package con ...
- vbs中对excel的常用操作
使用QTP自动化测试中,用到对excel的读写操作,这里把一些常用对excel操作的方法进行了归纳,总结.(对excel格式设置的常用操作这里没有进行总结.) Function DataToExcel ...
- 20175212童皓桢 Java实验二-面向对象程序设计实验报告
20175212童皓桢 Java实验二-面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设 ...
- 第二天:python的函 数、循环和条件、类
https://uqer.io/community/share/54c8af17f9f06c276f651a54 第一天学习了Python的基本操作,以及几种主要的容器类型,今天学习python的函数 ...
- 解决MyEclipse启动慢,使用卡顿问题
卡顿原因: 1.启动的服务和插件过多,导致启动和运行缓慢,电脑配置较差的直接会卡死没有响应 2.软件运行内存设置不足,导致没有足够的空间运行软件,致使软件卡顿 解决方法: windows --> ...
- unity 中UGUI制作滚动条视图效果(按钮)
1.在unity中创建一个Image作为滚动条视图的背景: 2.在Image下创建一个空物体,在空物体下创建unity自带的Scroll View组件: 3.对滑动条视图的子物体进行调整: 4.添加滚 ...