前面介绍了如何熟悉和使用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. XCTF练习题---MISC---something_in_image

    XCTF练习题---MISC---something_in_image flag:Flag{yc4pl0fvjs2k1t7T} 解题步骤: 1.观察题目,下载附件,这是一道2019湖湘杯的题目 2.下 ...

  2. for & while &迭代器

    for (int i = 0; i < 10; i++) { System.out.println("hello"); } int a=100; for (;a<110 ...

  3. 简易版 vue实现

    Vue-mini 完整的Demo示例:git@github.com:xsk-walter/Vue-mini.git 一.Vue实例 构造函数: $option\ $el\ $data 判断是否存在 通 ...

  4. Vue的computed和watch的使用和区别

    一.computed: 模板内表达式非常便利,可用于简单计算,当模板内放入太多的逻辑时,模板会过重且难以维护:可以使用computed替代 计算属性是基于它们的响应式依赖进行缓存的,当依赖的响应式数据 ...

  5. drools规则属性(rule attributes)的使用

    一.介绍 规则属性是您可以添加到业务规则以修改规则行为的附加规范. 在 DRL 文件中,您通常在规则条件和操作的上方定义规则属性,多个属性位于单独的行中,格式如下: rule "rule_n ...

  6. 【多线程】观测线程状态 getState()

    观测线程状态 getState() Thread.State(查看JDK帮助文档) 线程状态.线程可以处于以下状态之一: [NEW] 尚未启动的线程处于此状态. [RUNNABLE] 在Java虚拟机 ...

  7. Fail2ban 配置详解 过滤器配置

    Fail2ban自带了很多相关服务日志的过滤器. ### # 包含配置 ### [INCLUDES] before = common.conf # 还包含其他文件中的配置,在加载本配置文件中配置之前先 ...

  8. 【Java面试】简述一下你对线程池的理解?

    到底是什么面试题, 让一个工作了4年的精神小伙,只是去参加了一场技术面试, 就被搞得精神萎靡.郁郁寡欢! 这一切的背后到底是道德的沦丧,还是人性的扭曲. 让我们一起揭秘一下这道面试题. 关于, &qu ...

  9. 什么是Netty编解码,Netty编解码器有哪些?Protostuff怎么使用?

    哈喽!大家好,我是小奇,一位热爱分享的程序员 小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧 文章持续更新 一.前言 书接上回,昨天下雨没怎么上街上 ...

  10. VUE3 之 render 函数的使用 - 这个系列的教程通俗易懂,适合新手

    1. 概述 老话说的好:不用想的太多.太远,做好当天的事,知道明天要做什么就可以了. 言归正传,今天我们来聊聊 VUE 中 render 函数的使用. 2. render 函数 2.1 一个简单的例子 ...