跟了前面几章的操作流程,相信大家对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. Jquery_效果-隐藏显示、淡入淡出、滑动面板、简单的动画队列

    1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...

  2. oauth协议原理

    oauth协议关系图(如获取微信用户信息): oauth一般授权步骤:

  3. XCTF练习题---MISC---Hidden-Message

    XCTF练习题---MISC---Hidden-Message flag:Heisenberg 解题步骤: 1.观察题目,下载附件 2.拿到手以后发现是一个数据包格式,打开看一下 3.查看UDP流,并 ...

  4. 从零开始搭建GoLang语言开发环境

    更多干货文章,更多最新文章,欢迎到作者主博客 菜鸟厚非 一.安装 GoLang 1.1 下载 首先访问 https://go.dev/dl/ 下载 GoLang,下载完成后双击安装即可.如下: 1.2 ...

  5. 机器学习-学习笔记(一) --> (假设空间 & 版本空间)及 归纳偏好

    机器学习 一.机器学习概念 啥是机器学习 机器学习:假设用P来评估计算机程序在某任务类T上的性能,若一个程序通过利用经验E在T中任务上获得了性能改善,则关于T和P,该程序对E进行了学习 通俗讲:通过计 ...

  6. 【Python情感分析】用python情感分析李子柒频道视频热门评论

    一.事件背景 今天是2021.12.2日,距离李子柒断更已经4个多月了,这是我在YouTube李子柒油管频道上,观看李子柒2021年7月14日上传的最后一条视频,我录制了视频下方的来自全世界各国网友的 ...

  7. 查重工具Jplag的使用

    目录 前言 一.Jplag是什么? 二.使用步骤 1.下载包 2.java环境配置 3.如何使用 三.总结 前言 说明一下本文章针对最新版本Jplag3.0使用JplagAPI 一.Jplag是什么? ...

  8. 使用Spring MockMVC对controller做单元测试

    1.对单一controller做测试. import org.junit.Before; import org.junit.Test; import org.springframework.beans ...

  9. Go Http Get 和 Post 工具函数

    前言 先说一下为什么要搞这个小东西? 米攸服务端前期主要是基于 Go 构建的,版本迭代过程中,业务复杂度不断增加,再加上中员团队有人员变动,考虑到目前团队的技术背景,我们开始考虑把接口服务分批迁移到 ...

  10. kvm 虚拟化技术 1.3之kvm克隆以及快照

    1.kvm虚拟机克隆   克隆kvm虚拟机 ,克隆前需要提前关机     语法: virt-clone -o 原虚拟机  -n 新虚拟机 -f 新虚拟机镜像存放路径    选项中-o 表示 old  ...