跟了前面几章的操作流程,相信大家对labview有了一定的认识。其实只要了解了labview的编程思路,再熟悉地运用各个变量,函数以及属性,那么我们就可以打开labview的大门了。跟其他编程语言一样,好的编程思维再加上一个好用的程序框架,那么我们就可以做出很多有趣的功能了。之前看到有人在git上发过一个用labview实现的超级玛丽单机游戏,还是可以跑得了的,你们也可以(手动滑稽),不过还是用在工控和自动化领域会常规(正常)一些。

再好的的教程也需要大家经常动手,何况是这"入门到出家"的教程,大家看完后可以多熟悉一下其他功能,比如数值,数组,字符串之类的使用。本教程不一一细说所有函数和变量的使用,意在给大家提供学习labview的编程思路,后期进阶篇也会提供一个好用的框架给大家(亲测好用),并附上之前写过的一些程序(单片机控制,板卡控制,数据库增删查改)。在提供这些资料之前,我们先讲一下程序如何调试,这对后期的状态机以及各种编程技巧有很大的帮助,它可以协助我们理解程序。

1、程序调试-----程序断点+单步调试+探针

中断大家都不陌生,只要有编程经验的都知道断点是常用的调试手段。如单片机编程中,我们在某一段程序段中加入断点,程序运行到这一行指令的时候停止,然后我们再进行单步调试,查看变量值或者查看寄存器的值。在labview中,调试思路也是通用的。

图中灰色框是顺序结构,右键程序框图->编程->结构->平铺式顺序结构,鼠标移到顺序结构右侧边,右键选择“向后添加帧”。程序逻辑从左往右,先执行左侧顺序框,再执行右侧的。在程序框图中添加程序逻辑如上图所示。

上图左侧的红点为断点,添加方式:鼠标移动到上图红点处,右键选择  断点->设置断点。最后再加上探针(探针用来观察数据线上的数据),鼠标移动到两个加法器的输出,右键选择探针。如下图所示。

探针1显示的是第一个加法输出值,探针2显示第二个加法器的输出值。

点击运行按键后看调试效果。其中1是运行,2是循环运行(一般不用),3是终止程序,4是暂停或继续执行程序,5是高亮显示(重点划起来,考试要考),6是单步进入,7是单步跳出。

点击运行,顺序框直闪,说明大顺序框进入了“断点”,然后点击“单步进入”,加法器在闪,说明执行位置在加法器上,再点击单步进入,探针1出现了输出的数值,说明逻辑按照我们期望的输出正在执行。同样的操作一直下一步,直到探针全部输出。

最后点击“暂停或继续执行程序”继续执行程序,程序结束。以上是基本的调试方式,或者我们在输出的地方直接添加一个显示控件也可以,不过还不如添加探针来得方便一些。但这种调试的前提是我们知道程序逻辑以及程序的走向时采用的调试方式,如果是一个大程序,而且我们并不熟悉内部逻辑的时候要怎么调试,怎么看程序逻辑的走向呢。这时就需要另一个调试工具“高亮显示”了。

2、程序调试-----高亮显示(5号位)

点击5高位的高亮显示,如果图标亮了,则说明进入了高亮显示模式。这时运行程序我们发现程序会出现一些高亮区域以及一些灰色区域,灰色的说明还没执行到,高亮的表示程序正在运行,而且运行的速度非常慢,可以看到每个数据在逻辑线上流动,数据经过每个节点都会显示该数据的值,高亮期间我们也可以随时设置断点以及探针,用以进一步调试观察程序逻辑和输出。

可能还有其他的调试方式,但是目前为止,我所用到的调试方式基本就这两个,也已经够用了。有了这两种调试方式,大家可以大胆地调用Labview的函数库,然后一个一个地看他们的使用方式,以后我们想要什么功能,直接调用响应的labview的函数库就可以了,labview的函数可是非常强大易用的。下面就大致讲讲怎么学习使用Labview的函数库。

3、labview函数库的运用

之前写加法程序的时候,大家可能已经发现我们右键点击程序框图的时候有很多的函数以及结构了。结构其实基本上会用while循环结构,for循环结构,条件结构以及事件结构就可以了,剩下的就是熟悉Labview函数库的用法了,熟悉Labview函数库后就我们就可以实现各种各样的上位机功能了。这里不一一讲解所有函数的使用,只给大家一个学习了解函数库的方法。

拿“写入文本文件”的函数开刀,程序框图中右键,编程->文件I/O->写入文本文件,拖拉至程序框图。再点击程序框图工具栏中的问号,然后把鼠标移到“写入文本文件”的函数上,此时会出现该函数的“即时帮助标签”。

这时继续点击即时帮助中下方的蓝色问号

整个Labview帮助手册就出来了,并定位到这个函数上。我们可以从上面的描述中了解函数的功能,以及它的输入输出项。最后拉到最下方,有一个查找范例的图标,点击后会弹出对应的使用范例。

范例有助于我们了解和使用函数,运行时再配上我们上面说的单步调试和高亮显示等方式就可以清晰地看到程序逻辑了。这样,我们可以开始去了解Labview函数库中所有函数的使用方法了,有一些不好理解的我们可以找度娘呀。大家尽可能地熟悉和了解相关的函数和结构,有些东西只要知道有这玩意就可以了,有需要的时候再详细了解用法也不迟。后面几章老曹会给大家一个好用的框架,这样用Labview就能做出不少工具了。再提示一句,前期跟着教程走就可以了,后期有个初步的了解了,有兴趣了,再去啃书升华一下,这样离人生巅峰,迎娶白富美就又近一步了。

原创不易,一键三连啦!

labview从入门到出家5(进阶篇)--程序调试以及labview函数库的运用的更多相关文章

  1. labview从入门到出家6(进阶篇)--移位寄存器的使用

    前面介绍了如何熟悉和使用Labview自带的库函数以及调试方式,大家后期基本可以凭借这两个方式从入门到出家了,哈哈,后面就靠各位同仁99%的努力了.这篇为啥要讲移位寄存器呢,主要是之前做的项目和经验告 ...

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

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

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

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

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

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

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

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

  6. 动态方式破解apk进阶篇(IDA调试so源码)

    动态方式破解apk进阶篇(IDA调试so源码) 来源 https://blog.csdn.net/qq_21051503/article/details/74907449 下面就说关于在IDA中And ...

  7. Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码)

    Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码) 来源 https://blog.csdn.net/jiangwei0910410003/article/details/51 ...

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

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

  9. Android动态方式破解apk进阶篇(IDA调试so源码)

    一.前言 今天我们继续来看破解apk的相关知识,在前一篇:Eclipse动态调试smali源码破解apk 我们今天主要来看如何使用IDA来调试Android中的native源码,因为现在一些app,为 ...

随机推荐

  1. 『现学现忘』Git基础 — 12、Git用户签名(补充)

    目录 1.修改用户签名 2.取消用户签名 3.用户签名的优先级 4.总结本文用到的Git命令 1.修改用户签名 其实很简单,就是重新执行git config命令,换个用户名和邮箱地址就可以了,新配置的 ...

  2. marginStart marginEnd就关于上述两个用法展开讨论

    在我还在手动调整两个控件距离时,第一次见识到了marginStart marginEnd两个用法, 但是,只知道它俩能够调整控件距离,但是不知道具体用法,老师也没细说,就这样开启了我对于这两个用法&q ...

  3. 通过配置文件(.htaccess)实现文件上传

    一·什么是服务器配置文件.htaccess 许多服务器还允许开发人员在各个目录中创建特殊的配置文件,以便覆盖或添加一个或多个全局设置.例如,Apache 服务器将从一个名为(.htaccess如果存在 ...

  4. Python 函数进阶-递归函数

    递归函数 什么是递归函数 如果一个函数,可以自己调用自己,那么这个函数就是一个递归函数. 递归,递就是去,归就是回,递归就是一去一回的过程. 递归函数的条件 一般来说,递归需要边界条件,整个递归的结构 ...

  5. 「BUAA OO Unit 2 HW8」第二单元总结

    「BUAA OO Unit 2 HW8」第二单元总结 目录 「BUAA OO Unit 2 HW8」第二单元总结 Part 0 前言 Part 1 第五次作业 1.1 作业要求 1.2 架构设计 1. ...

  6. 虚拟机(Vmvare)与配置,得到一台学习机

    准备: 1.Vmvare 2.CentOS7.4镜像 安装与配置操作系统: 1.配置虚拟机上网 2.配置静态ip地址 开始安装 1. 2.直接下一步选择我们准备好的镜像,然后下一步 3.修改虚拟机的名 ...

  7. this-2

    读起来使你有新认识或可以使你离更确切的定义更近时的文章不应该被忽略.thisthis既不指向函数自身,也不指向函数的词法作用域(ES6中箭头函数采用词法作用域).this实际上是函数被调用时才发生绑定 ...

  8. Git 上传文件项目到github,gitee详细教程!(本文用的gitee)

    1:安装Git 下载地址:https://git-scm.com/ 2:生成ssh密钥不会的可以去另一篇文章 https://www.cnblogs.com/psfjc/p/15980893.html ...

  9. 软件项目管理 ——1.2.PMBOK与软件项目管理知识体系

    软件项目管理 --1.2.PMBOK与软件项目管理知识体系 归档于软件项目管理初级学习路线 第一章 软件项目管理基本概念 <初级学习路线合集 > @ 目录 软件项目管理 --1.2.PMB ...

  10. 一些GIT操作的技巧

    一.git stash 我们有时会遇到这样的情况,正在分支a上开发一半,然后分支b上发现Bug,需要马上处理.这时候分支a上的修改怎么办呢,git add 是不行的,有的git客户端版本会提示还有ad ...