前面介绍了如何熟悉和使用Labview自带的库函数以及调试方式,大家后期基本可以凭借这两个方式从入门到出家了,哈哈,后面就靠各位同仁99%的努力了。这篇为啥要讲移位寄存器呢,主要是之前做的项目和经验告诉我,移位寄存器是个好东西,用得好,代码量可以更加有效简洁。老曹目前的程序基本就没脱开过移位寄存器的使用。下面就简单的讲解一下移位寄存器的使用,各位不妨试一下用其他方式实现下面累加的功能,和移位寄存器对比一下就知道它好用在哪里了,不过要了解到好用的精髓,还是得在复杂一点的功能上,这个在后面的状态机中可以稍微体现出来。

1、新建一个for循环,点击循环边框,右键添加移位寄存器。

2、添加以下代码,实现从1加到10的功能,注意左上角填的是10,左下角的循环里面的i索引是从0开始的。写完后运行以下看效果。大家可以使用高亮显示,看一下移位寄存器是怎么操作的,移位寄存器其实就是将上一个值/变量/参数等移动到开头的地方再执行,因为存储了上一次的数据,并且移到了开头继续将变量带入执行,因此叫移位寄存器(自己编的)。就这个一个小功能,却解决了不少大麻烦,大家以后会发现它的好用之处。有兴趣的,可以不使用移位寄存器,通过其他方式实现以下逐渐累加功能,看寄存器是不是高效简洁了许多。

3、移位寄存器我还经常用来初始化一个数组,在C语言里面,数组要一开始就声明,不能根据实际情况进行改变数组大小,在面向对象的语言中(C#等)是有提供动态数组的类型的,那labview有没有呢?labview本身没提供这种类型,但是却可以通过移位寄存器实现。在编程->数组->数组常量 拖拉处一个未激活的数组常量,再编程->数值->数值常量,拖拉一个数值常量到数组常量中,它们会合并激活成一个可用的空数组,数组类型由我们拖拉进去的变量决定,可以放字符串,簇等,簇在编程->簇,类与变体 中可以找到,簇其实相当于C语言里面的结构体,类还是那个面向对象的类,变体相当于面向对象语言中的泛型,可以用一个变量表示所有变量,最后通过变量转换,转成目标变量。扯远了,这里就是讲一下语言之间的共通性,学好一个,确实可以举一反三,融会贯通(又扯远了)。

4、再拖拉一个 编程->数组->创建数组  ,用这个方法新建数组。

5、鼠标移到到它下方或者上方,进行拖拉。这里拖拉多一个就可以了。拉多少个,就能创建多大的数组,但是我们让它根据我们的需要自动创建,不需要手动一个一个地添加。

6、按如下接线连接,i索引就是循环中的执行次数,从0开始的。右键创建一个输出控件,运行后可以在前面板看到一个新建好的从1到9的数组。

当然还有其他方式,将创建数组函数去掉,用数组插入函数代替,可实现同样的效果。

默认数组是往后面逐渐添加的。

将for循环代替为while循环,效果一致。但是要让程序退出,需要执行完后给while循环中右下角的结束标记一个true,这样运行完后就退出程序了。

慢慢的,你会喜欢上移位寄存器的,特别是后面的状态机讲解,砸门不急,再讲一期进阶篇--队列的使用,就讲状态机了,到时候给大伙一个好用的状态机,当然也可以从网上下载JKI之类的状态机也可以,功能大同小异。

原创不易,一键三连拉!

labview从入门到出家6(进阶篇)--移位寄存器的使用的更多相关文章

  1. labview从入门到出家5(进阶篇)--程序调试以及labview函数库的运用

    跟了前面几章的操作流程,相信大家对labview有了一定的认识.其实只要了解了labview的编程思路,再熟悉地运用各个变量,函数以及属性,那么我们就可以打开labview的大门了.跟其他编程语言一样 ...

  2. labview从入门到出家9(进阶篇)--串口通讯

    ​ Labview在工控领域,如产线,实验室等环境用得较多,其中与仪器通讯控制的方式有串口(RS232,RS485,TTL),GPIB,网口,CAN等,其中串口在仪器还有单片机控制中用来调试居多.(很 ...

  3. labview从入门到出家8(进阶篇)--简单好用的状态机

    labview的状态机类似于一个软件框架的基本单元,好的软件框架和软件思路采用一个好的状态机,就如虎添翼了.这章给大家讲一个本人常用的一个状态机,基本上以前的项目都是建立在这个状态机上完成的,当然网上 ...

  4. labview从入门到出家7(进阶篇)--队列的使用

    本节简单讲解队列在Labview中的使用,队列你可以认为就是一组先进先出的数据列表,在Labview中常用来缓存和传递数据.用了这么久的队列,个人认为有个方便的地方在于数据传递的把控,不管是局部变量还 ...

  5. labview从入门到出家4--用事件结构实现运算功能

    使用事件结构可以快速定位响应界面的操作事件,如按下,拖动,双击的事件.基本上我们所要实现的所有功能,都可以通过条件结构+事件结构去实现,比如后面进阶篇将会讲到的状态机就是通过条件结构和事件结构组成的. ...

  6. labview入门到出家10(进阶)——CAN通讯

    ​          讲完串口,这边再讲一个labveiw工控程序中比较常用的CAN通讯吧.很久没有写过CAN通讯的程序了,网上一搜就是什么现场总线,控制器局域网总线,然后一堆复杂的协议.在这里还是一 ...

  7. labview从入门到出家3--制作和调用子VI

    当程序越写越大的时候,我们会发现代码界面会比较乱(线太多),那要怎么做可以让代码更简洁一点,我只管直接调用某个功能函数,而不需要在一个VI上面去实现这个功能函数呢?--子VI.好比C语言里面的Main ...

  8. labview从入门到出家1--第一个加法程序

    概述: Labview在众多编程语言中排名靠后,显然在当今互联网,物联网时代并非主流语言.但是俗话说行行 出状元,即便不是立身于某个主流的领域,用好了依旧可以独领风骚,而且Labview对于硬件出身的 ...

  9. labview从入门到出家2--将“加法程序”制作成“exe应用程序”

    1.上一章主要讲了如何跑我们的第一个加法程序(这里向第一个程序的鼻祖"hello world"致敬),这一章我们直接进入主题,将我们写的程序生成exe文件放桌面运行. 2.要生成e ...

随机推荐

  1. GAIA-IR: GraphScope 上的并行化图查询引擎

    在本文中,我们将介绍 GraphScope 图交互式查询引擎 GAIA-IR,它支持高效的 Gremlin 语言表达的交互图查询,同时高度抽象了图上的查询计算,具有高可扩展性. 背景介绍 在海量数据的 ...

  2. 攻防世界-MISC:pdf

    这是攻防世界新手练习区的第二题,题目如下: 点击附件1下载,打开后发现是一个pdf文件,里面只有一张图片 用WPS打开,没发现有什么不对的地方,参考一下WP,说是要转为word格式.随便找一个在线转换 ...

  3. 【ACM程序设计】前缀和

    前缀和 ​ 前缀和是指某序列的前n项和,可以把它理解为数学上的数列的前n项和 作用: 一种预处理,求出的前缀和数组可以使得,输出原序列中从第l个数到第r个数和的时间复杂度变成了O(1) . 一维前缀和 ...

  4. 【mq】从零开始实现 mq-07-负载均衡 load balance

    前景回顾 [mq]从零开始实现 mq-01-生产者.消费者启动 [mq]从零开始实现 mq-02-如何实现生产者调用消费者? [mq]从零开始实现 mq-03-引入 broker 中间人 [mq]从零 ...

  5. 图解Tire树+代码实现

    简介   Trie又称为前缀树或字典树,是一种有序树,它是一种专门用来处理串匹配的数据结构,用来解决一组字符中快速查找某个字符串的问题.Google搜索的关键字提示功能相信大家都不陌生,我们在输入框中 ...

  6. 是时候使用 YAML 来做配置或数据文件了

    概述 我们做程序,经常需要用到配置信息,回顾一下这么多年的搬砖生涯,我记得用过多种格式的文件来定义配置信息,例如 ini文件,xml文件,或者现在比较流行的 json 文件. 这些年虽然云计算和云原生 ...

  7. 个人冲刺(六)——体温上报app(一阶段)

    任务:完成了自动获取定位信息以及自动获取时间功能 自动获取定位信息 public void onReceiveLocation(BDLocation location){ //此处的BDLocatio ...

  8. 【单片机】CH32V103C8T6定时器3程序实验

    代码功能:每隔1毫秒进入一次定时器中断. 每隔1秒串口打印一次数据. time.c #include "time.h" #include "ch32v10x.h" ...

  9. drools中then部分的写法

    目录 1.背景 2.支持的方法 2.1 insert 插入对象到工作内存中 2.1.1 需求 2.1.2 drl文件编写 2.1.3 部分java代码编写 2.1.4 运行结果 2.1.5 结论 2. ...

  10. MMDeploy安装笔记

    MMDeploy的TensorRT教程 Step1: 创建虚拟环境并且安装MMDetection conda create -n openmmlab python=3.7 -y conda activ ...