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

2、要生成exe的话我们需要从新建工程文件开始,下面按步骤一步一步生成我们第一个Labview的exe程序。首先点击文件->新建(N)->项目

3、新建后重命名并保存该工程文件到指定文件夹。

4、保存工程文件后右键“我的电脑”->新建->VI,并按上一章的程序重新编写如下:

5、但是细心的小伙伴会发现,第一章的加法程序只能按一次运行键,程序才执行一次,那exe要怎么做到一直运行,然后我点击一下某个按键,它就能执行加法呢。写过c语言的小伙伴应该知道,要让程序一直运行,需要在main函数中添加一个while循环。(这里每一个VI都相当于一个main函数/子函数)。添加while循环如下图所示,右键程序框图->编程->结构->while循环,然后再程序框图中拖拉一个while循环的矩形框图。

6、while循环右下角有一个红色图标,该图标为while循环标志,当给该图标赋值True时,则退出while循环,False则一直执行循环。我们鼠标挪到循环图标的左侧,右键选择新建输入控件会自动生成一个布尔输入控件(布尔输入控件只有True和False两个状态)。

在前面板中可以看到新建了一个“停止”的按键,若前面板关闭了,可在程序框图的工具栏中点击窗口->显示前面板  可以打开前面板,在前面板中跳转程序框图的操作一致(或者直接Ctrl+E)。

7、点击左上角运行按键的话是可以一直运行了(点左上角红色的停止键可以停止程序)。

8、鼠标挪至该图标的左侧,右键新建一个输入控件。可以看到前面板也自动生成了该变量的一个控件。

9、我们将界面做好看一些,毕竟这可是让拿出来见人的应用程序。用鼠标或上下键盘挪好控件位置后,在前面板右键->新式->修饰->水平按钮框,并通过拖拉的方式覆盖掉我们界面上的控件。

鼠标点击刚拖拉的水平按钮框,选择工具栏中下行右侧的 “ 重新排序”->“移至后面”。

10、调整整个VI的大小,使它刚好显示完水平按钮框。然后保存VI到工程路径下的文件夹。

11、为了让程序少占用系统资源,我们可以在while循环中添加一个50ms的延时,如下如所示:

运行效果如下图所示,点击确定后加法才执行,点击停止后程序停止。但是我们希望程序点击停止后直接退出程序界面要怎么实现呢?

12、分别在程序框图中拖入  编程->应用程序控制->VI服务器引用    以及    编程->应用程序控制->调用节点    到程序框图中,位置如下所示:

13、左键点击调用节点下方的方法,选择  前面板->关闭,如图所示,即可在程序运行结束时退出程序界面。运行后点击  “停止”按键看一下效果。

14、在生成exe应用程序之前,我们需要简单配置一下显示界面。点击工具栏中的   文件->VI属性,选择为“执行”类别。将左侧的打开时运行勾选上。(其实生成应用程序后可以跳过这步,不过没关系,我们先熟悉一下labview的配置环境)

15、选择“窗口外观”类型,左侧选择自定义,点击下方自定义按钮,弹出自定义窗口,将自定义窗口中左侧选项全部取消勾选,点击确定。

16、关闭VI的程序框图和前面板,回到项目浏览器。右键点击  程序生成规范->新建->应用程序。将信息中的程序名称改成我们想要的名字,如addexe。

17、点击源文件,在点击项目文件中的add.vi,最后点击中间向右图标将add添加到启动VI中

18、点击图标,在这里可以选择我们想要的应用程序图标(.icon文件),取消左侧默认Labview图标文件,选择目标图标文件,这里我直接用默认的图标了。大家感兴趣可自行添加想要的应用程序图标。

19、点击预览,可以生成预览看一下文件结构,再点击下方的生成按键。或者不预览,直接生成也可以。生成完成后点击完成按键即可。我们可以看到生成的应用程序的路径,在该路径找到自己的应用程序。

20、双击运行应用程序,看一下效果吧,可以发送快捷键到桌面,就可以方便地运行我们的第一个exe应用程序了。后续有专门的界面修饰教程,大家可以根据自己的喜好,生成属于自己风格的应用程序。

原创不易,一键三连啦,若有不对或者讲解不到位的地方,欢迎在下方评论,我会及时更改!

labview从入门到出家2--将“加法程序”制作成“exe应用程序”的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. 将Python 程序打包成 .exe格式入门

    PyInstaller PyInstaller 是一个十分有用的第三方库,可以用来打包 python 应用程序,打包完的程序就可以在没有安装 Python 解释器的机器上运行了. 它能够在 Windo ...

随机推荐

  1. Java-GUI 编程之 Swing

    Swing概述  实际使用 Java 开发图形界面程序时 ,很少使用 AWT 组件,绝大部分时候都是用 Swing 组件开发的 . Swing是由100%纯 Java实现的,不再依赖于本地平台的 GU ...

  2. web安全之自己写一个扫描器

    web安全之自己写一个扫描器 自己来写一个简单的目录扫描器,了解扫描器的运转机制和原理,因为python写脚本比较容易所以用python写一个网站目录扫描器. 第一步:我们需要导入所需要的库 1 im ...

  3. Invocation failed Unexpected end of file from server java.lang.RuntimeException: Invocation failed Unexpected end of file from server

    Android studio 提交 push的时候报错. Invocation failed Unexpected end of file from serverjava.lang.RuntimeEx ...

  4. 基于 range 的 for 循环和 auto

    基于 range 的 for 循环和 auto C++11 引入一种循环的新形式,叫基于 range 的 for 循环,它允许我们用更简单易读的形式遍历容器中的所有元素 vector<int&g ...

  5. 5┃音视频直播系统之 WebRTC 中的协议UDP、TCP、RTP、RTCP详解

    一.UDP/TCP 如果让你自己开发一套实时互动直播系统,在选择网络传输协议时,你会选择使用UDP协议还是TCP协议 假如使用 TCP 会怎样呢?在极端网络情况下,TCP 为了传输的可靠性,将会进行反 ...

  6. SpringMVC和spring集成

    步骤:1.web.xml中配置spring的监听和spring配置文件位置 2.编写spring类并在spring的配置文件里配置bean 说明:源码中spring核心配置文件导入springAnno ...

  7. 好客租房41-react组件基础综合案例-渲染列表数据

    1渲染列表 在state定义数据 进行数据渲染 //导入react import React from 'react' import ReactDOM from 'react-dom' //导入组件 ...

  8. 以人类 Person 为基类设计学生类 Student 和教师类 Teacher

    学习内容:实验二以人类 Person 为基类设计学生类 Student 和教师类 Teacher 示例代码: package 实验二; import java.util.Scanner; class ...

  9. lnav-日志查看器

    lnav是一个基于控制台的高级lnav是一个基于控制台的高级日志文件查看器(浏览器). lnav支持日志高亮显示内容以及查看压缩的日志文件,而且它可以使用较小的内存实时查看较大的日志文件.日志文件查看 ...

  10. .net6.0 中一个接口多个实现的服务注册与注入

    1.现有一个数据库操作接口 如下   它有两个数据操作实现 Sqlserver 和MySql的数据库操作实现类 现在我们需要 将这个两个类 注册到MVC中 注意这里注册的服务类型都是 IDataBas ...