跟了前面几章的操作流程,相信大家对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. Python学习笔记: 通过type annotation来伪指定变量类型

    简介 通过annotation像强类型language那样指定变量类型,包括参数和返回值的类型 因为Python是弱类型语言,这种指定实际上无效的.所以这种写法叫annotation,就是个注释参考的 ...

  2. Spring从入门到源码—IOC基本使用(二)

    1.spring_helloworld 使用maven的方式来构建项目(Mavaen) 添加对应的pom依赖 pom.xml <dependencies> <!-- https:// ...

  3. Halo 开源项目学习(六):事件监听机制

    基本介绍 Halo 项目中,当用户或博主执行某些操作时,服务器会发布相应的事件,例如博主登录管理员后台时发布 "日志记录" 事件,用户浏览文章时发布 "访问文章" ...

  4. 2020年DevOps工程师入门指南

    DevOps兴起于2010年代,到现在DevOps已经在行业中拥有了一席之地,并在继续发展壮大. 有兴趣成为一名DevOps工程师吗?如果想要成为一名DevOps工程师,需要做到以下五点: 要有开发者 ...

  5. 1903021121—刘明伟—Java第三周作业—学习在eclipse上创建并运行java程序

    项目 内容 课程班级博客链接 19信计班(本) 作业要求链接 第三周作业 作业要求 每道题要有题目,代码,截图 扩展阅读 eclipse如何创建java程序 java语言基础(上) 扩展阅读心得: 想 ...

  6. vmware 安装的虚拟机没有网络

    前提:需要先将 vmware 软件里的所有虚拟机关机 查看以下两个服务是否启动 如果以上两个服务未启动,就全部启动起来,如果某一个在启动时报错,就打开 vmware 软件,执行以下操作 编辑 > ...

  7. Redis设计与实现2.1:数据库和事件

    数据库和事件 这是<Redis设计与实现>系列的文章,系列导航:Redis设计与实现笔记 数据库 数据库的结构定义在 redis.h/redisServer 这个结构体中,这个结构体有许多 ...

  8. 8.0 vue cli自定义页面

    1.新建a.html(public文件夹下)文件,并设定div的id="a" <!DOCTYPE html> <html lang=""> ...

  9. 【产品】如何写好APP描述

    你有没有想过越是需要花钱购买的 App,用户会更认真阅读你的 App描述?本文列举了15个 app 描述,看看哪些是我们以前忽略了的,哪些是我们也犯过的错误.图中有红色背景的文字是需要强调的地方,这些 ...

  10. Beyond Compare文件对比神器,快来给文件找茬!

    在工作中很多场景下都需要比对两个文件之间的差异,你是否还傻傻的同时打开两个文件,用眼睛一行一行的核对? 赶紧来试试这个神器Beyond Compare!!它可以快速的帮你找出两个文件的差异,而且还有其 ...