10年Labview编程经验
10年Labview编程经验
当我开始在键盘上敲打出这句话的时候,我已经使用LabVIEW 7 年了。
7 年的时间,就算天赋平平也可以积攒下一箩筐可供参考的经验了。
所以我打算利用今后的闲暇时间写一些这方面的东西,既可以同大家交流,也是作为自己这七年工作的总结。
还是在上大学的时候,有一次老师让编写一段软件,用来模拟一个控制系统:给它一个激励信号,然后显示出它的输出信号。
那时我就想过,可以把每一个简单的传递函数都做成一个个小方块,使用的时候可以选择需要的函数模块,用线把它们连起来,这样就可以方便地搭建出各种复杂系统。
后来,我第一次看到别人给我演示的LabVIEW编程,就是把一些小方块用线连起来,完成了一段程序。
我当时就感觉到,这和我曾经有过的想法多么相似啊。
一种亲切感油然而生,从此我对LabVIEW的喜爱就一直胜过其他的编程语言。
LabVIEW 的第一个版本发布于1986年,是在Macintosh 机上实现的,后来才移植到了PC机上,并且LabVIEW 从未放弃过对跨平台的支持。
这也给LabVIEW 带来了一些麻烦。
最明显的就是LabVIEW开发环境的界面风格。
它总是与一般的Windows 应用程序有些格格不入:面板是深灰色的,按键钮是看起来别别扭扭的3D 模样。
还有一些可能不太容易发现:比如对于整数的存储,LabVIEW即便是运行在x86系统上,采用的也是高地址位存高位数据(big-ending)。
这与我们习惯了的x86 CPU使用的格式正相反,这往往给编写存取二进制文件带来了不多不少的麻烦。
我接触过的最早的LabVIEW版本是4.0版,发布包是一个装有十几张三寸软盘的大盒子。
安装的时候要按顺序把软盘一个一个塞到计算机里。
尽管当时LabVIEW的界面不是很好看,但我还是非常喜欢它。
真方便呐!比如说要画一个开关,用LabVIEW 一拖就行了。
如果要自己动手用C 语言设计一个好看的开关,,那得费多少时间啊!我尤其喜欢它通过连线来编程的方式,尽管很多熟悉了文本编程语言的人刚开始时会对这种图形化编程方式非常不适应。
labview学习感受
学习labview有快半年了,做个总结。
回顾一下自己的摸索过程。
幸运的是有个项目用到Labview,因此边学边用,由于有前一项目的经验作参考,可以说是在模仿中学习。
从学习到使用给我最大感受是labview编程容易上手,帮助文档方便,就是太贵了,比较少企业会使用,特别是小企业。
虽然这样,还是很推崇学习labview的。
废话少说,转入正题。
其实总结自己的摸索过程也等于是在做项目总结。
首先从使用的模块做总结:1、毫无疑问的串口通信;2、与数据采集相对应的TDMS数据存储模块;3、报表输出(word,excel,html);4、连续的波形显示以及从TDMS里读取显示;5、待解决的xcontrol控件;模块分析:1、对于串口通信:主要是要设置成有数据即读取,而不能等到接收缓冲区满时再读取。
2、TDMS数据存储,关键点是数据量大的时候如何压缩存储,以及利用TDMS本身的属性设置(可以参见TDMS属性设置帮助),减小存储文件的大小。
否则如果数据发送速率快的话,文件大小是很可观的,压缩数据的方式有很多种,我采用的是读取采样间隔长度的数据,提取最大最小值的方式。
具体如下:1) 中间数组存储采样间隔长度的数据;2) 提取中间数组的最大最小值;3)删除中间数组的采样间隔长度;4)将删除后剩余的数组重新赋值给中间数组,给下一次使用。
3、报表输出比较简单,la bview已经将要用到的程序封装成一个个VI,只需要调用这些VI,拼凑成你需要的报表模板形式即可。
这一块参考的是方慧敏写的报表输出demo程序。
4、最近开始了上下位机的联调,涉及到了数据采集与数据处理,数据保存,数据导出四者并行执行最需关注的问题,数据同步的问题。
全部数据传递都用全局变量需要在数据采集不到数据的时候让全局变量输出空数据,这种方法显得有点麻烦,而且是多处对全局变量写。
有可能会发生竞争。
于是翻看labview相关书籍,关于同步技术方面的,其中队列和通知都是很好的方法,采用通知技术可以很好的解决这类问题。
我和LabVIEW——一个NI工程师十年的编程
我和LabVIEW——一个NI工程师十年的编程在LabVIEW 中使用常量定义如下图所示,在C语言里,使用#define来定义一个常数是非常基本的用法。
直接使用数字,时间一长,就不只到这个数字是哪来的了。
而且,这种方法也便于修改在程序中多处使用的常量的值。
在C++一般是用const来达到同样的目的。
图1:C 语言中的常量定义我以前在LabVIEW中编程,还从没注意过这个问题。
一般哪里要用一个常数,直接就放一个constant在那里。
如图2。
图2:在LabVIEW 中使用常量的最普遍方法以前编写的LabVIEW程序都比较小,一般是一个人开发的,所以这样写,也没有太大的麻烦。
现在编写的程序规模越来越大,最近做的一个项目,VI数量已经上千了,有4个人参与编程。
程序规模大了,不规范就很难维护。
所以开始考虑这个问题。
但是LabVIEW里面没有类似的功能,不知道为什么以前没人提意见?下面提出几种不算太完美,但有所进步的解决方案。
一种简单的替代方法是使用type define control,自定义一个Ring control。
关于Type Def 的详细信息,可以参考《用户自定义控件中Control, Type Def. 和Strict Type Def. 的区别》。
把要使用的常数作为Ring的值,给他个有意义的文字标签。
在需要时用常数的地方,把这个带type define 的ring常数放上去,而不是直接放数值常量。
这样就解决了上面提到的一个问题:可以有自带的文字说明。
如图3所示。
图3:利用Type Def Ring 的解决方案但是这样做还是有很多缺陷。
首先是统一修改数值的问题。
在自定义Ring中修改某一项的值,相关的常量不会跟着一起更新;还有一个缺陷是Ring control 不支持多个标签是用同一数值;另外Ring control 也没办法像 C 语言中一样使用表达式定义值。
一个改进版的解决方案是使用Enum Type Def 把所有常量名字列出来,再写一个VI 用于得到常量的真实值,如图4所示。
LABView2010版讲义-1
LabVIEW2010版讲义宋湛华(Songzhanhua@)一、基本概念LabVIEW:Laboratory Virtual Instrument Engineering Workbench,一种用图标代替文本行创建应用程序的图形化编程语言。
LabVIEW用图标表示函数,用连线表示数据流向。
即用数据流编程方式,在程序框图中节点之间的数据流向决定了程序的执行顺序。
而传统的文本编程语言是根据语句和指令的先后顺序决定程序的执行顺序。
以下通过一个简单的示例表示图形化编程的过程。
1.启动,进入LabVIEW的界面;2.选择基于模板的VI(VI from Template),双击“基于模板/模拟仿真/生成和显示”(Generate and Display),便会产生一个基于该模板的VI(Virtual Instrument);3.该VI包括前面板和程序框图,在前面板上已经有了两个控件:一个图形显示控件和一个停止按钮,在程序框图中有相应控件的图标,添加的仿真信号发生函数(函数/信号处理/波形生成/仿真信号)以及相互间的连线。
按下Ctrl+E,可以相互切换画面;双击函数图标,可修改函数属性。
4.单击菜单条的操作/运行(或“运行”图标),可看到该VI已经可以运行并显示波形,单击STOP按钮(或“中止执行”图标)可退出程序。
5.增加幅度控制:●右击前面板,将显示控件面板。
点击控件/新式/数值/旋钮控件,用鼠标移至前面板,此时在程序框图上自动生成该控件的图标;●在程序框图中下拉仿真信号发生函数图标的底端,直至出现幅直值(Amplitude)端子;●连接旋钮图标与幅度端子。
6.保存并运行。
小结:●完整的VI由两部分组成:前面板和程序框图,右击前面板可产生控件面板,选择控件,右击程序框图可产生函数面板,选择函数。
●前面板一般由控件构成,可以根据需要从控件面板上选择相应的控件,组成虚拟仪器的面板;函数框图内将自动出现控件的图标,添加必要的函数和连线,即可形成可运行的程序。
LabVIEW编程技巧提高效率的方法
LabVIEW编程技巧提高效率的方法LabVIEW是一种图形化编程语言,广泛应用于测量、控制和数据采集等领域。
在进行LabVIEW编程时,如何提高效率是每个程序员都关心的问题。
本文将介绍几种常用的LabVIEW编程技巧,帮助您提高编程效率。
一、使用SubVISubVI是LabVIEW中的一个重要概念,即可重用的子虚拟仪器。
通过将一段常用的代码封装成SubVI,可以提高代码的重用性和可维护性。
当我们在程序中需要多次使用同一段代码时,可以将其封装成SubVI,在需要的地方直接调用即可,避免重复编写相同的代码,提高编程效率。
二、合理使用循环结构和条件结构循环结构和条件结构是LabVIEW编程中的两个基本结构,合理使用它们可以极大地提高编程效率。
在需要重复执行一段代码时,可以使用循环结构,如For循环或While循环。
而在需要根据条件来选择执行不同的代码时,可以使用条件结构,如If条件结构或Case结构。
通过合理运用这些结构,可以简化程序逻辑,提高编程效率。
三、利用数据流控制来减少冗余代码数据流控制是LabVIEW编程的一个重要特点。
在LabVIEW中,数据流是以数据线的形式流动的,每个节点的执行都依赖于其前面节点的数据。
利用这一特点,我们可以在程序中避免冗余代码的出现。
通过合理设计数据流,将重复的代码放到相同的分支中,可以避免重复编写相同的代码,提高编程效率。
四、使用合适的数据结构LabVIEW中提供了多种数据结构,如数组、矩阵、队列等。
选择合适的数据结构可以简化程序逻辑,提高编程效率。
例如,当需要处理多个数据时,可以使用数组或矩阵来存储和处理。
而当需要对数据进行先进先出的操作时,可以使用队列来实现。
选择合适的数据结构可以使程序更加简洁、高效。
五、使用合适的LabVIEW工具和函数LabVIEW提供了丰富的工具和函数库,使用这些工具和函数可以加快编程速度。
例如,当需要进行数据分析和处理时,可以使用LabVIEW中提供的信号处理函数库。
LabVIEW编程中的最佳实践与代码优化技巧
LabVIEW编程中的最佳实践与代码优化技巧在LabVIEW编程中,遵循最佳实践和采用代码优化技巧可以大大提高程序的性能、可读性和可维护性。
本文将介绍一些常用的最佳实践和代码优化技巧,帮助开发者编写高质量的LabVIEW代码。
一、变量初始化和扩展性设计在LabVIEW中,变量的初始化非常重要,可以避免因未初始化变量而引起的错误。
对于有多个入口的程序,可以在开始处初始化变量,保证其值的合理性。
此外,扩展性设计也是LabVIEW编程中需要考虑的因素之一。
通过建立适当的结构和架构,可以使程序更加模块化、可扩展和可重用。
二、适当使用索引和循环结构在处理数组和矩阵等数据结构时,适当使用索引和循环结构可以简化代码并提高程序性能。
比如,使用索引来遍历数组元素,而不是使用多个扩展的线性连接器。
三、合理使用数据流和数据类型LabVIEW是一种数据流编程语言,充分利用数据流可以提供更清晰的程序逻辑和更直观的代码结构。
适当使用数据类型也可以提高程序的可读性和可维护性。
LabVIEW提供了很多内置数据类型,如整数、浮点数、字符串等,根据具体需求选择合适的数据类型是很重要的。
四、优化循环和条件结构在LabVIEW编程中,循环结构和条件结构是常用的控制结构。
优化循环可以提高程序的执行效率。
比如,使用“批处理”方式处理循环中的数据,而不是逐个处理。
优化条件结构可以消除冗余的条件判断,以减少程序执行时的开销。
五、适当使用并行编程技术LabVIEW提供了丰富的并行编程技术,如多线程、并行循环等。
适当使用并行编程技术可以有效利用多核处理器的性能,提高程序的吞吐量和响应速度。
但要注意合理控制并行度,避免过多的线程竞争和资源冲突。
六、代码注释和文档编写LabVIEW编程中,适当的代码注释和文档编写可以提高代码的可读性和可维护性。
在代码中添加注释,解释代码逻辑和功能,让其他开发者能够更容易理解和修改代码。
编写详细的文档,包括程序设计、功能特性和使用说明等,可以帮助使用者更好地了解和使用程序。
LabVIEW在工程应用中的编程技巧
LabVIEW在工程应用中的编程技巧LabVIEW是一种基于图形化编程的开发环境,广泛应用于科学、工程和控制系统等领域。
在工程实践中,合理的编程技巧可以提高程序的效率和可维护性。
本文将介绍一些使用LabVIEW进行工程应用时的编程技巧。
一、良好的命名规范良好的命名规范是编程的基础,对于程序的可读性和可维护性至关重要。
在LabVIEW中,命名规范包括VI名称、控件和指示器的命名等。
1. VI名称:VI(Virtual Instrument)是LabVIEW的基本单元,给VI命名时应使用具有描述性的名称,能够准确反映其功能和用途。
2. 控件和指示器的命名:在创建用户界面时,应为控件和指示器选择具有描述性的名称,以便其他人能够快速理解其功能和作用。
二、合理使用子VI子VI是将常用的代码块封装成独立的模块,便于重复使用,提高代码的可维护性和可重用性。
通过合理使用子VI,可以将复杂的程序分解为简单的模块,使程序结构更加清晰明了。
同时,子VI也方便多人协同开发,不同的开发者可以负责不同的模块,并可在不同的项目中复用。
三、利用LabVIEW提供的工具箱LabVIEW提供了丰富的工具箱,包括信号处理、控制系统、图像处理等功能。
合理利用这些工具箱,可以节省开发时间,提高编程效率。
1. 信号处理工具箱:在信号处理方面,LabVIEW提供了多种滤波器、傅里叶变换等函数和工具。
通过使用这些工具,可以方便地进行信号处理和分析。
2. 控制系统工具箱:LabVIEW提供了各种控制算法和工具,包括PID控制、系统辨识等。
在控制系统设计中,合理利用这些工具可以简化程序的实现和调试过程。
3. 图像处理工具箱:LabVIEW对于图像处理领域也提供了强大的支持,例如图像滤波、边缘检测等功能。
这些工具可以应用于计算机视觉、图像识别等项目中。
四、使用合适的数据结构和数据流程在LabVIEW中,数据流图是程序设计的重要组成部分。
合理设计数据结构和数据流程可以提高程序的可读性和可维护性。
LabVIEW编程技巧与最佳实践
LabVIEW编程技巧与最佳实践LabVIEW是一种广泛应用于工程领域的可视化编程语言,它的特点是通过图形化的编程界面进行程序设计。
在使用LabVIEW进行编程时,我们需要掌握一些技巧和遵循最佳实践,以提高程序的效率、可读性和可维护性。
本文将介绍一些LabVIEW编程的技巧和最佳实践,帮助读者更好地应用LabVIEW进行工程项目开发。
I. 命名规范在LabVIEW程序中,良好的命名规范是非常重要的,它能够使得程序代码更具可读性和易于理解。
以下是一些建议的命名规范:1. 控件和指示器:使用有意义的名称来标识控件和指示器,例如使用“按钮”作为命名,而不是默认的“Button1”。
2. VI(Virtual Instrument):给VI命名时,应使用能够准确描述功能的名称,避免使用过于简单或含糊不清的命名。
同时,还应注意使用合适的前缀来说明其功能,例如“Read_file”、“Write_data”等。
3. 数据类型:对于数据类型的命名,应使用能够表达其含义或用途的名称。
例如,对于包含温度数据的变量,可以使用“temperature”作为名称。
II. 数据流的管理在LabVIEW中,数据流是程序中的核心,良好的数据流管理可以使程序更清晰明了、易于维护。
以下是一些数据流管理的技巧:1. 数据线的走向:在连接节点时,保持数据线的整洁有序。
可以使用直线、折线等方式来使数据线的走向更加清晰。
2. 控制数据线流向:使用Bundle和Unbundle节点来管理和传递复合数据结构,而不是直接将数据线连接到复合结构的元素。
III. 错误处理良好的错误处理是编程中的重要一环,以下是一些错误处理的最佳实践:1. 错误码的使用:使用良好的错误码来标识不同类型的错误,以便于程序在发生错误时进行合适的响应。
2. 异常处理:使用异常处理来捕获和处理可能发生的异常情况,以保证程序的稳定性和可靠性。
IV. 程序调试与优化1. debug模式:在进行程序开发时,使用debug模式来逐步调试程序。
LABView2010版讲义-2
LabVIEW2010版讲义(续)四、外部代码调用、菜单、全息实验(九)外部代码调用-CLF节点CLF 节点:调用库函数节点(Call Library Function Node)。
用于调用外部动态链接库DLL 文件中的函数。
1.使用CLF节点调用自建DLL要点:使用CLF节点调用自建的dll 库函数。
例9-1使用CLF节点调用MovingDLL.vi对于自建的Moving_Test.dll,本例演示了如何调用其中的函数:void Mm_CRead(char * resp)char *MoveStage(char *stageN,char *cmd,char *posi,int Chnl) 调用库函数节点:函数/互连接口/库与可执行程序/右击该控件,选择“配置…”,在对话框里设置:−“函数”页面:选取“…讲义实例/MovingDLL/Moving_Test.dll”,在该库里选取MoveStage函数;−“参数”页面:根据MoveStage函数内的参数的类型进行配置;return_P:空stageN:字符串C字符串指针cmd_P:字符串C字符串指针posi:字符串C字符串指针Chnl:数值有符号16位整型值−“回调”页面:默认配置。
对于Mm_CRead,其参数配置:return_V:空resp_V:字符串C字符串指针2.使用CLF节点调用Windows API函数要点:Windows API函数的调用;各种对话框的用法。
例9-2使用CLF节点调用Windows API函数.vi(1)MessageBoxA函数的配置−“函数”页面:选择“C:\WINDOWS\system32\user32.dll”,在该dll里选择“MessageBoxA”;选定“在UI线程中运行”、“stdcall(WINAP)”。
−“参数”页面:配置函数参数;(MessageBoxA的参数需在Microsoft Developer Network中查找)return_type:数值无符号32位整型hWnd:数值无符号32位整型值lpText:字符串常量C字符串指针lpCaption:字符串常量C字符串指针uType:数值无符号32位整型值−“回调”页面:默认配置。
LabVIEW编程技巧如何快速入门
LabVIEW编程技巧如何快速入门随着科技的快速发展,LabVIEW(Laboratory Virtual Instrument Engineering Workbench)编程技巧的掌握已成为许多工程师、科学家和研究人员的必备技能。
LabVIEW是一种基于图形化编程语言的开发环境,通过可视化编程的方式,使得数据采集、测量和控制系统的开发变得更加简便和高效。
本文将介绍LabVIEW编程技巧的入门方法,帮助读者快速掌握这一强大的工具。
一、下载和安装LabVIEW在开始之前,首先需要在官方网站上下载并安装LabVIEW软件。
LabVIEW提供了一个免费试用版,可以在试用期内免费使用。
下载完成后,根据指示将软件成功安装到您的计算机上。
二、了解LabVIEW界面LabVIEW的界面主要由面板(Front Panel)和实际的代码(Block Diagram)组成。
面板是用户与程序交互的界面,可以添加各种控件和指示器。
而代码部分是实际的程序逻辑,通过连接不同的函数块来完成相应的任务。
三、学习LabVIEW基础元素在开始编程之前,了解LabVIEW的基础元素是非常重要的。
以下是一些LabVIEW的基本组件:1. 控件(Controls):在面板上放置的输入设备,如按钮、滑动条和文本框。
2. 指示器(Indicators):在面板上放置的输出设备,用于显示数据或结果。
3. 连线(Wires):用于在面板和代码之间传递数据。
4. 结构(Structures):用于控制程序的流程,如循环和分支结构。
5. 函数(Functions):用于执行特定的操作,如数学运算、数据处理和图形显示。
四、编写LabVIEW程序1. 确定程序的目标和功能。
在编写LabVIEW程序之前,明确程序的目标和功能是非常重要的。
这有助于您确定需要使用哪些控件、指示器和函数。
2. 将控件和指示器添加到面板中。
根据程序的功能需求,向面板中添加相应的控件和指示器。
LabVIEW编程技巧提高生产效率的实用方法
LabVIEW编程技巧提高生产效率的实用方法LabVIEW是一款功能强大的图形化编程环境,广泛应用于工业自动化和科学研究领域。
在实际应用中,熟练掌握一些编程技巧是提高生产效率的关键。
本文将介绍一些实用的LabVIEW编程技巧,帮助开发人员更高效地完成任务。
一、使用LabVIEW内置的模板和例程LabVIEW提供了丰富的模板和例程,在开始新项目时可以直接使用这些模板和例程,节省编写代码的时间。
这些模板和例程包含了常见的功能和处理方法,开发人员只需根据具体需求进行修改即可。
使用模板和例程不仅可以提高编程效率,还可以减少错误的发生。
二、充分利用LabVIEW的图形化编程特性LabVIEW以图形化的方式呈现编程逻辑,使用虚拟仪器(Virtual Instrument,简称VI)进行编程。
开发人员应该充分利用这一特点,通过拖拽、连接和配置各种函数和节点来构建自己的程序。
比如,使用数据流图和控制流图来表示程序的数据流向和控制逻辑,使用事件结构来处理用户交互等。
这种图形化的编程方式往往更直观、易于理解和维护。
三、模块化设计和可重用性在LabVIEW中,将程序分为多个模块,每个模块完成一个具体的功能。
模块化的设计可以使程序更加清晰和易于管理,同时也提高了代码的可重用性。
开发人员可以将一些常用的模块保存为子VI (SubVI),在其他程序中直接调用。
这样可以节省开发时间,并且减少了每次编写相同功能代码的机会。
四、善用标签和注释LabVIEW中可以给各种元素(如控件、连线、节点等)添加标签和注释,这对于理解和调试程序非常有帮助。
开发人员应该充分利用这些功能,为各个元素添加有意义和清晰的标签和注释,以便自己和其他人更好地理解程序的逻辑和功能。
在调试过程中,可以通过查看标签和注释快速定位问题。
五、使用合适的数据结构和数据处理方法LabVIEW中有多种数据结构和数据处理方法可供选择,开发人员需要根据具体场景选择合适的方法。
labview编程的使用技巧系列
labview编程的使用技巧系列LabVIEW 是一种用于实时数据采集、处理与控制的视觉化编程语言,它具有许多独特的特点和功能。
在使用 LabVIEW 进行编程时,我们可以使用以下技巧来提高效率和代码的质量。
1. 使用合适的图标:LabVIEW 的编程环境使用图标表示各种功能模块,使用合适的图标可以使代码更易读,也有助于减少错误。
为了让代码更具可读性,应该选择与功能相对应的图标,并正确命名图标上的输入和输出。
2. 使用模块化编程:LabVIEW鼓励使用模块化的编程方式。
将复杂的功能分解为小模块,每个模块只负责一个特定的任务。
这种方式既有助于降低代码的复杂性,也方便代码的重用和维护。
3. 使用块结构:块结构是在 LabVIEW 中进行循环和条件语句的一种常用结构。
使用块结构可以使代码更加清晰易懂,并且有利于出错调试。
块结构可以帮助我们分组逻辑和流程,使代码结构更加清晰。
4. 使用数据流编程:LabVIEW 的独特之处在于它使用了数据流编程的思想。
在数据流编程中,数据通过节点流动,而不是通过控制语句进行流动。
这种方式可以使代码更简洁、更直观,并且有利于并行计算和多线程编程。
5. 异常处理:在 LabVIEW 编程中,异常处理是非常重要的一环。
合理的异常处理可以提高程序的稳定性和可靠性。
为了保证代码的健壮性,应该针对可能发生的异常情况设置适当的错误处理程序或异常处理代码。
6. 使用图形化界面:LabVIEW 可以通过图形化界面来与用户进行交互。
合理运用图形化界面可以使程序更加友好和易用。
通过使用各种控件和指示器,用户可以方便地输入和输出数据,以及实时监视和控制程序运行状态。
7. 良好的注释和文档:良好的注释和文档对于任何编程语言来说都是必不可少的。
在 LabVIEW 编程中,应该为关键部分的代码添加注释,以便于他人理解和维护。
此外,还应该提供清晰详细的文档,包括程序的功能、输入输出、使用方法以及设计思路等。
Labview十年编程经验大总结
一. 程序执行顺序LabVIEW 是数据流驱动的编程语言。
程序在执行时按照数据在连线上的流动方向执行。
同时,LabVIEW 是自动多线程的编程语言。
如果在程序中有两个并行放置、它们之间没有任何连线的模块,则LabVIEW会把它们放置到不同的线程中,并行执行。
图1、2:顺序执行和并行执行的例子顺序执行(图1):数据会从控制控件流向显示型控件,因此数据流经的顺序为“error in”控件,“SubVI A”,“SubVI B”,“error out”控件,这也是这个VI的执行顺序。
并行执行(图2):“SubVI A”,“SubVI B”没有数据线相互连接,它们会自动被并行执行。
所以这个VI 的执行顺序是“SubVI A”,“SubVI B”同时执行,当它们都执行完成以后,再执行“Merge Errors.vi”。
二. 顺序结构如果需要让几个没有互相连线的VI,按照一定的顺序执行,可以使用顺序结构来完成(Sequence Structure)。
图3:Menu Palette当程序运行到顺序结构时,会按照一个框架接着一个框架的顺序依次执行。
每个框架中的代码全部执行结束,才会再开始执行下一个框架。
把代码放置在不同的框架中就可以保证它们的执行顺序。
LabVIEW 有两种顺序结构,分别是层叠式顺序结构(Stacked Sequence Structure)、平铺式顺序结构(Flat Sequence Structure)。
这两种顺序结构功能完全相同。
平铺式顺序结构把所有的框架按照从左到右的顺序展开在 VI 的框图上;而层叠式顺序结构的每个框架是重叠的,只有一个框架可以直接在 VI 的框图上显示出来。
在层叠式顺序的不同的框架之间如需要传递数据,需要使用顺序结构局部变量(Sequence Local)方可。
图4:层叠式顺序结构三. 顺序结构的使用好的编程风格应尽可能少使用层叠式顺序结构。
层叠式顺序结构的优点是及部分代码重迭在一起,可以减少代码占用的屏幕空间。
LabVIEW中的并行编程技巧
LabVIEW中的并行编程技巧LabVIEW是一种流程控制、数据采集和信号处理的图形化编程语言。
它通过图形化界面来表示各种功能模块,并通过数据流的方式来实现模块之间的通信。
并行编程是LabVIEW的一个重要特性,可以提高程序的执行效率和响应速度。
本文将介绍LabVIEW中的一些并行编程技巧,以帮助读者更好地利用LabVIEW进行程序开发。
一、使用并行循环结构在LabVIEW中,可以使用并行循环结构来实现并行执行的功能。
并行循环结构是一种同时执行多个循环迭代的结构,可以显著提高程序的运行效率。
下面是一个简单的示例:[图片示例]在上述示例中,我们可以看到有两个相同的循环结构,分别用于计算两个不同数组的平均值。
通过并行循环结构,可以同时进行这两个计算,提高了程序的执行效率。
二、使用并行数据流在LabVIEW中,可以使用并行数据流来实现并行运行的功能。
并行数据流是一种通过数据流进行并行运算的方法,可以将数据分发到多个任务中并行处理。
下面是一个简单的示例:[图片示例]在上述示例中,我们可以看到有两个并行的子VI,分别用于计算两个不同传感器的数值。
通过并行数据流,在主VI中将数据分发到两个子VI中进行并行处理,可以更高效地完成任务。
三、使用并行状态机在LabVIEW中,可以使用并行状态机来实现多个状态的并行控制。
并行状态机是一种同时控制多个状态的方法,可以提高程序的响应速度和处理能力。
下面是一个简单的示例:[图片示例]在上述示例中,我们可以看到有两个状态机并行执行,分别用于控制两个不同的设备。
通过并行状态机,可以同时进行多个设备的控制,提高了程序的执行效率和灵活性。
四、使用并行计算在LabVIEW中,可以使用并行计算来加速数据处理和算法运算。
通过将大规模的计算任务分解为多个小任务,并行地执行这些小任务,可以提高计算的速度和效率。
下面是一个简单的示例:[图片示例]在上述示例中,我们可以看到通过并行计算的方式来实现对不同数据的处理。
labview2010经典基础教程完整
LabVIEWLabVIEW开发者美国国家仪器公司稳定版本LabVIEW 2013 / 2013年8月6日;7个月前编程语言可视化程序设计语言操作系统Windows、Mac OS X、Linux平台跨平台[1]语言英语、中文许可协议专有软件网站/labview/LabVIE W(Lab oratory V irtual I nstrumentation E ngineering W orkbench,实验室虚拟仪器工程平台)是由美国国家仪器公司所开发的图形化程序编译平台,发明者为杰夫²考度斯基(Jeff Kodosky),程序最初于1986年在苹果计算机上发表。
LabVIEW早期是为了仪器自动控制所设计,至今转变成为一种逐渐成熟的高级编程语言。
图形化程序与传统编程语言之不同点在于程序流程采用"数据流"之概念打破传统之思维模式,使得程序设计者在流程图构思完毕的同时也完成了程序的撰写。
LabVIEW率先引入了特别的虚拟仪表的概念,用户可通过人机界面直接控制自行开发之仪器。
此外LabVIEW提供的库包含:信号截取、信号分析、机器视觉、数值运算、逻辑运算、声音震动分析、数据存储...等。
目前可支持Windows,UNIX,Linux,Mac OS等操作系统。
由于LabVIEW特殊的图形程序简单易懂的开发接口,缩短了开发原型的速度以及方便日后的软件维护,因此逐渐受到系统开发及研究人员的喜爱。
目前广泛的被应用于工业自动化之领域上。
LabVI EW默认以多线程运行程序,对于程序设计者更是一大利器。
此外LabVIEW通信接口方面支持:GPIB,USB,IEEE1394,MODBUS,串行接口,并发端口,IrDA,TCP,UDP,Bluetooth,.NET,ActiveX,SMTP...等接口。
目录[隐藏]∙ 1 数据流编程∙ 2 图形化编程∙ 3 计时系统∙ 4 版本o 4.1 LabVIEW 8.Xo 4.2 LabVIEW 2009o 4.3 LabVIEW 2010o 4.4 LabVIEW 2011o 4.5 LabVIEW 2012o 4.6 LabVIEW 2013∙ 5 注∙ 6 外部链接数据流编程[]LabVIEW编程语言,也被称为G语言,是一种数据流编程语言。
labview心得体会
labview心得体会labview学习体会我的学习体会吧,就觉得那个挺好玩的,还有比写程序要安逸些最后总要的是LabVIEW的功能好强大哦,我都有点想学lab-windows了强烈推荐那个如何学好LabVIEW,我的个人经验由于LabVIEW是区别于传统文本编程语言的图形化编程语言,因此很多人在刚接触LabVIEW时总是觉得无从下手,其实LabVIEW远比纷繁复杂的C语言、VC、VB好学多了,因为学习LabVIEW不需要去记忆那些和你关心的事情无关的语法、定义之类的东西。
她的门槛也非常低,你可以没学过任何编程语言就开始学习LabVIEW。
当然,有点其它编程语言的背景会使你学得更快些而已。
我总结了一些自己的学习经验,拿出来与大家分享,希望对后来者有些帮助:)1、找一本好书入门.入门主要是熟悉基于数据流的编程方法、控件、数组、簇、程序结构、子VI等等,入门后就可以根据你的需要跳着看了.书最好是纸质的,电子版让人头晕,我电脑里堆满了电子版书籍,但没有一本我好好看过。
在我学习LabVIEW的时候,中文图书比较少,我主要看的是英文版的LabVIEW高级编程。
现在,我想我的《LabVIEW8.20 程序设计从入门到精通》是一本不错的教程,不仅可以拿来入门,还可以随时拿出来当手册参考,因为这本书涵盖的知识点非常全面。
我现在都会经常的去查阅这本书,因为即使是我写出来的东西,我也不可能都记那么清楚。
2、多学习实例。
我在学习LabVIEW入门后,以后的提高可以说完全是靠LabVIEW自带的实例和帮助手册完成的。
当时,我需要编写一个规模非常大、功能也很复杂的系统。
我并没有依靠自己的现有知识立即着手去编写这个系统,而是将LabVIEW所有自带的实例都看了个遍,当我把所有的知识点都成竹在胸后,我才开始整个系统的设计,这样才最终保证了整个系统的完美实现。
不过LabVIEW很多自带的实例看上去比较复杂,因为很多都涉及一些专业的算法,并有很多附加的功能。
labview心得
labview心得第一篇:labview心得LABVIEW学习心得这学期的课程设计,主要讲授了一些LabVIEW的基本操作和编程技巧,LabVIEW作为一门新式的以图形化编程的语言,不仅提供了简单易学的编程方法,而且提供了海量的可调用的模块,子vi,涉及到各个方面。
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
LABVIEW有很多优点,尤其是在某些特殊领域其特点尤其突出。
首先在测试测量方面:LABVIEW最初就是为测试测量而设计的,因而测试测量也就是现在LABVIEW最广泛的应用领域。
经过多年的发展,LABVIEW在测试测量领域获得了广泛的承认。
至今,大多数主流的测试仪器、数据采集设备都拥有专门的LabVIEW驱动程序,使用LabVIEW可以非常便捷的控制这些硬件设备。
同时,用户也可以十分方便地找到各种适用于测试测量领域的LabVIEW工具包。
这些工具包几乎覆盖了用户所需的所有功能,用户在这些工具包的基础上再开发程序就容易多了。
有时甚至于只需简单地调用几个工具包中的函数,就可以组成一个完整的测试测量应用程序。
控制与测试是两个相关度非常高的领域,从测试领域起家的LabVIEW自然而然地首先拓展至控制领域。
LabVIEW拥有专门用于控制领域的模块----LabVIEWDSC。
除此之外,工业控制领域常用的设备、数据线等通常也都带有相应的LabVIEW驱动程序。
使用LabVIEW可以非常方便的编制各种控制程序。
除了以上两种应用领域,LabVIEW还包含了多种多样的数学运算函数,特别适合进行模拟、仿真、原型设计等工作。
在设计机电设备之前,可以现在计算机上用LabVIEW搭建仿真原型,验证设计的合理性,找到潜在的问题。
labview2010经典基础教程完整
labview2010经典基础教程完整第一讲:认识Labview1.1 Labview 简介在开始菜单里找见NI Labview7.1 点击打开,会出现如下界面:从File>>New VI 或者从右半部分中的New>>Blank VI 都可以打开如下界面:上图中前图是虚拟仪器的前面板,是用户使用的人机界面,后面的是程序框图界面(即后面板)。
在LabVIEW的用户界面上,应特别注意它提供的操作模板,包括工具(Tools)模板、控制(Controls)模板和函数(Functions)模板。
这些模板集中反映了该软件的功能与特征。
下面我们来大致浏览一下。
工具模板(T ools Palette)如果该模板没有出现,则可以在Windows菜单下选择Show ToolsPalette命令以显示该模板。
当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状。
当从Windows菜单下选择了Show Help Window功能后,把工具模板内选定的任一种工具光标放在流程图程序的子程序(Sub VI)或图标上,就会显示相应的帮助信息。
下面的两个模板是多层的,其中每一个子模板下还包括多个对象。
控制模板(Control Palette)Array注意:只有打开前面板时才能调用该模板该模板用来给前面板设置各种所需的输出显示对象和输入控制对象。
每个图标代表一类子模板。
如果控制模板不显示,可以用Windows菜单的Show ControlsPalette功能打开它,也可以在前面板的空白处,点击鼠标右键,以弹出控制模板。
控制模板如右图所示,它包括如下所示的一些子模板。
子模板中包括的对象,我们在功能中用文字简要介绍。
101112131415功能模板(Functions Palette)现功能模板。
功能模板是创建流程图程序的工具。
该模板上的每一个顶层图标都表示一个子模板。
若功能模板不出现,则可以用Windows菜单下的Show Functions Palette功能打开它,也可以在流程图程序窗口的空白处点击鼠标右键以弹出功能模板。
labview实训心得
labview实训心得我学习labview实训的经历非常宝贵。
这节课让我对于图形化编程等概念有了更深刻的认识,同时也增加了我的动手能力。
下面是我对这次实训的心得体会。
首先,我发现labview的图形化编程方式比起传统的编程语言更加直观、易懂。
感觉仿佛是在搭积木一样,将各种模块件拼接起来就可以完成所需的程序。
这一方式非常适合喜欢视觉化表现的人来学习。
实际操作起来也特别实用,因为我们不需要同时面对代码和界面,而是通过界面快速明确结果和操作,避免错误和多次操作。
另外,实训中我还学到了很多如何控制和处理数据的方法。
比如说,引入数据的方法、在程序中传递数据的方法以及如何让矩阵运算批量进行。
在探究分析数据时,非常重要的一步是绘制图表收集各个输入的变化。
labview的数据适配器和图形界面让我能够很容易地储存和分析数据,操作起来令人愉快而且不容易出错。
同时,在完成这些图表时,我们还需要考虑如何排版,将多个图表放置到一个VI中。
这一步也需要灵活运用labview工具箱的功能,进行简单的布局调整,以获得最佳的展示效果。
除了基本的语言操作,我们还要学会使用labview的优秀工程设计和项目管理功能。
在我们的实训过程中,我们需要设计和实现一个具有可重用性和灵活性的软件。
这就需要我们熟练掌握工程设计的流程,保证程序的强健性和可维护性。
此外,我们也需要了解如何管理、归档和部署代码、文档和数据,以便于对项目的迭代和协作。
最后,我要说labview实训是一次有益的体验。
通过这个过程,我学会了从实践出发,更加快速地掌握新技术,并且能够更好地理解工程实践的实际问题。
无论是在工程开发还是学术研究中,我都可以使用这些技能来提高我的表现并为我的团队和学科做出更可靠和创造性的贡献。
第八章 LabVIEW的编程技巧
第八章LabVIEW的编程技巧本章介绍局部变量、全局变量、属性节点和其他一些有助于提高编程技巧的问题,恰当地运用这些技巧可以提高程序的质量。
8.1局部变量严格的语法尽管可以保证程序语言的严密性,但有时它也会带来一些使用上的不便。
在LabVIEW这样的数据流式的语言中,将变量严格地分为控制器(Control)和指示器(Indicator),前者只能向外流出数据,后者只能接受流入的数据,反过来不行。
在一般的代码式语言中,情况不是这样的。
例如我们有变量a、b和c,只要需要我们可以将a的值赋给b,将b的值赋给c等等。
前面所介绍的LabVIEW内容中,只有移位积存器即可输入又可输出。
另外,一个变量在程序中可能要在多处用到,在图形语言中势必带来过多连线,这也是一件烦人的事。
还有其他需要,因此LabVIEW引入了局部变量。
8.1.1局部变量的创建我们在框图上设置三个变量,两个控制器分别为Numeric和Numeric 2,现在增加局部变量。
选择Function→Structures→Local Variable 然后将其拖到框图上,就可得到一个代“?”的图标,下一步将其与框图中已有的变量建立关联,有鼠标右键单击图标,进入Select Item 选择“input1” ,最后框图就变成了图7-1右边的样子。
图7-1局部变量的创建局部变量只是原变量的一个数据拷贝,但是它的属性可以修改,并且这种改变不会影响原变量。
例如上图中的这个局部变量可以利用快捷菜单中的Change To Read 变成一个指示器。
这样的一对变量的组合,就使它既可读又可写了。
局部变量有三种基本的用途:控制初始化、协调控制功能、临时保存数据和传递数据。
下面我们通过练习来说明。
8.1.2 应用举例练习8-1 用一个开关控制两个循环]该练习中有两个While 循环,现在我们用一个开关同时控制它们的运行。
面板与框图如上所示。
在左边的一个循环中设定了一个开关。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
当我开始在键盘上敲打出这句话的时候,我已经使用LabVIEW 7 年了。
7 年的时间,就算天赋平平也可以积攒下一箩筐可供参考的经验了。
所以我打算利用今后的闲暇时间写一些这方面的东西,既可以同大家交流,也是作为自己这七年工作的总结。
还是在上大学的时候,有一次老师让编写一段软件,用来模拟一个控制系统:给它一个激励信号,然后显示出它的输出信号。
那时我就想过,可以把每一个简单的传递函数都做成一个个小方块,使用的时候可以选择需要的函数模块,用线把它们连起来,这样就可以方便地搭建出各种复杂系统。
后来,我第一次看到别人给我演示的LabVIEW编程,就是把一些小方块用线连起来,完成了一段程序。
我当时就感觉到,这和我曾经有过的想法多么相似啊。
一种亲切感油然而生,从此我对LabVIEW的喜爱就一直胜过其他的编程语言。
LabVIEW 的第一个版本发布于1986年,是在Macintosh 机上实现的,后来才移植到了PC机上,并且LabVIEW 从未放弃过对跨平台的支持。
这也给LabVIEW 带来了一些麻烦。
最明显的就是LabVIEW开发环境的界面风格。
它总是与一般的Windows 应用程序有些格格不入:面板是深灰色的,按键钮是看起来别别扭扭的3D 模样。
还有一些可能不太容易发现:比如对于整数的存储,LabVIEW即便是运行在x86系统上,采用的也是高地址位存高位数据(big-ending)。
这与我们习惯了的x86 CPU使用的格式正相反,这往往给编写存取二进制文件带来了不多不少的麻烦。
我接触过的最早的LabVIEW版本是4.0版,发布包是一个装有十几张三寸软盘的大盒子。
安装的时候要按顺序把软盘一个一个塞到计算机里。
尽管当时LabVIEW的界面不是很好看,但我还是非常喜欢它。
真方便呐!比如说要画一个开关,用LabVIEW 一拖就行了。
如果要自己动手用C 语言设计一个好看的开关,,那得费多少时间啊!我尤其喜欢它通过连线来编程的方式,尽管很多熟悉了文本编程语言的人刚开始时会对这种图形化编程方式非常不适应。
从 4.0 到现在的8.2,LabVIEW 的一些技术革新给我留下了非常深的印象。
比如说LabVIEW 5 中实现了多线程运行; LabVIEW 6 里漂亮的3D 控件,和对事件响应的支持;LabVIEW 7 中的Express VI 以及LabVIEW 8 中的工程库。
这些新特性都已成为了现在LabVIEW 版本中富有特色并不可缺少的一部分了。
我对使用LabVIEW 编程的认识在这些年里经历了不少转变。
刚开始接触LabVIEW 的时候,第一印象就是觉得这东西编程序比 C 语言简单多了,尤其在设计界面时确实方便简易。
LabVIEW 是一种真正意义上的图形化编程语言。
与文本编程语言,如C、Basic 等相比,它在编程过程中有更详细的提示信息,如函数的功能、参数类型等等,程序员再不需要去记忆这些枯燥的信息了。
编写风格良好的图形程序代码要比文本代码更加清晰直观,便于阅读。
刚开始用LabVIEW 编程时,我连一本相关的书籍都没读过,差不多完全靠自己摸索。
当时,市面上几乎没有有关LabVIEW 的中文书籍,而阅读英文资料又感觉得太累。
但是,靠自己摸索的方法也有好处,最明显的就是有成就感:自己琢磨着解决了一个问题,比模仿别人的方法做更令人兴奋。
再者,他人的方案并不一定是最佳的,自己独自思索就不至于被他人的方案局限住思路。
当然,我不会满足于只用LabVIEW 编写一些简单的程序。
我还希望能够用它来编写大型的软件,并且提高自己的开发效率。
这时,自己的编程水平有一个质的提高,不阅读相关的书籍资料就不行了。
有些问题,不读书,自己可能永远都得不到最佳的答案。
同样,有些LabVIEW 的功能,如果不阅读原始资料,自己也许永远都掌握不了。
于是,我把能得到的LabVIEW 的中高级教程都看了一遍。
因为自己有了一定的基础,我就可以在读书的过程中反思自己以前的编程方法是否合理,高效。
我觉得最好的LabVIEW 教程还是NI自己编写的LabVIEW 中高级教程。
但书本中一般原理讲得多,具体的编程技巧涉及得少,所以还必须大量阅读别人的代码,才能学习到更多更好的编程方法。
随着时间的流逝,我慢慢地产生了LabVIEW 应当进一步改善的想法。
作为一名忠实的LabVIEW 语言的使用者,我衷心地期望着LabVIEW 在日后也可以成为一种被广为使用的通用编程语言,能够在更广泛的领域与C,Java等争得一席之地。
LabVIEW 虽然有它独特的优势,但其不足之处也很明显。
我在编程过程中就曾感觉到它很多的使用不方便之处。
下一步,我追求的目标就是能尽自己所能,对LabVIEW 作一些改进和完善,使它更适应于通用编程之用。
如何学习LabVIEW根据我自己的观察,学习LabVIEW一般有以下三种方式:系统型学习方法、探索型学习方法和目标驱动型学习方法。
这三种方法之间并不矛盾,可以在不同的时段使用不同的方法。
每个人可以根据自己的个性特点和所处环境选择一个适合自己的学习方案。
系统型学习方案是传统的学习方法,学生学习多是按此方法。
它是指按照别人制定好的学习方案一步一步学习掌握一门知识。
学习效果如何,主要取决于教师和教材的水平。
若选此方案学习LabVIEW,最高效的方法莫过于参加NI公司的LabVIEW培训课程。
基本上,完全没接触过LabVIEW的学员可以在一星期的时间内达到编写简单程序的程度。
此外,现在很多大学都开有LabVIEW课程,方便了在校生学习。
自学也可以采用此方案。
找一本教程类的书籍,按照书中指导一步一步学习。
教程类的书籍应当侧重于解释LabVIEW的编程思想以及原理;有些书仅偏重于罗列LabVIEW中每个函数或VI的功能,则不适合用于此种学习方案。
探索型学习方法适合喜好自己钻研的人。
同样一个技巧,如果是自己发现的,比从他人那里的来会更有成就感。
任何一个教程都不可能覆盖到LabVIEW的全部功能,有心得学员不妨自己打开书中未曾介绍到的那些菜单或者函数选板,尝试一下它们都是做什么用的。
在真正动手摆弄每个新东西之前,打开LabVIEW的即时帮助窗口,阅读一下相关说明可以大大加快学习过程。
比如,打开“应用程序控制”函数选板,发现这里有一项“选板编辑”。
好像没有任何一本书里介绍过这个功能嘛,这是干啥用的呢?如果没任何提示,也是无从下手去尝试的。
打开LabVIEW的及时帮助,可以看到它对这个功能的简单介绍。
进入“详细帮助信息”,会得到更全面的说明。
再自己动手实践一下,就基本可以掌握此功能了。
阅读他人代码也是一个很好的学习方法。
自己的探索总是有思维局限性的,他人解决问题的方法可以大大拓宽自己思路。
我介绍过的编程经验中,很大一部分都不是我自己凭空想出来的,而是借鉴与别人的LabVIEW代码。
目标驱动型学习方法是公司员工中最常见的学习方式了。
工作后,如果不是个人有兴趣,多数人不会浪费时间去学习工作中用不到的知识。
等老板布置了具体项目或者工作任务后再学习相关知识,效率更高。
学也只要够解决眼前问题就行了。
针对这种情况,请教身边牛人或者公司前辈是最好的学习方法。
如果周围的人不能解决问题,到论坛上发贴,寻求更广泛的帮助。
推荐一个论坛。
首先是NI的官方论坛,这里会有NI的技术支持和研发工程师来回答问题。
如果英文够好,最好是到它的英文版面去提问,英文讨论区人气更旺,容易找到答案。
LA VA 是官方之外最大的LabVIEW社区,也是寻求帮助的好地方。
如果平时用Windows Live Messenger,可以加入,这是个msn 讨论LabVIEW 的群。
在它上面讨论问题最大的好处是可以及时得到回应。
我见过几个工程师在项目中遇到了难题,于是来报名参加LabVIEW的培训课程,以为上完课可以解决自己的问题。
但实际上完全误解了培训课程的意义,培训课程是为了帮助那些想要系统学习LabVIEW知识的人,而不专注于任何一个具体问题。
LabVIEW 工程资源管理器从8.0 开始,LabVIEW 增加了一个工程资源管理器功能。
LabVIEW 工程资源管理器就是一个可以方便查看、调整程序系统结构的工作区。
与VC, VB 等语言中的project, workspace 相类似。
Project 的出现使得LabVIEW 对于大项目的管理更加方便。
图1:LabVIEW 工程资源管理器要想充分利用LabVIEW 工程资源管理器带来的好处,那就需要我们改变一些以往的LabVIEW编程习惯。
譬如说,在开始一个新的项目的时候,在LabVIEW 8 以前的版本中,我们最先创建的是程序的主VI;而现在,我们首先创建的应该是一个空的工程(Project),再在这个工程中添加相应的VI和各种组件。
工程管理器还有如下优点:工程的树形结构表示了程序中VI 的调用层次关系,利用VI的快捷菜单可以查看到调用该VI的程序,以及该VI的子程序,而不必再使用VI Hierarchy 来查看。
在工程资源管理器的File页就可以直接调整文件存放的磁盘位置,而不必再另外打开操作系统提供的文件浏览器。
在工程资源管理器中集成源代码管理功能,不需要再使用源代码管理工具提供的界面了。
(源代码管理工具是用来进行软件源代码版本控制的。
大型软件开发通常需要这样的工具,用来记录每一次代码的修改、同时开发同一软件的不同版本、方便多人同时对同一段代码进行修改等。
)一、工程的结构图1是一个工程资源管理器的截图。
它用一个树形的结构来表示工程中所有的VI、各种组件和文件设置等。
树形结构的最顶层是工程的名称。
第二层是工程运行的目标机器。
假如我的机器上只装了普通台式机版本的LabVIEW,大家只能看到一个目标:“My Computer”。
假如我的计算机上还装了LabVIEW RT, FPGA 等用于其它硬件环境的LabVIEW,那么在这一层还会出现其它那些目标设备。
第三层以下就是工程中所有使用到的文件了。
用户可以添加虚拟文件夹,按自己的喜好组织文件结构。
LabVIEW 从8.0 起,文件及其它组件种类一下子丰富了许多。
以前基本就只有VI 和控件两种文件,现在又多了Library, Class, XControl,XNode,共享变量等等。
安装了其他功能模块,组件的种类还会更多。
右击树状结构中的每个条目,还可看到针对他们的更多设置。
在LabVIEW 8 之前,若要把VI 源文件构建成可执行文件,必须使用Tools 菜单下的APP Builder 工具。
现在这个工具也被集成到了工程管理器中。
在目标机器的最后一个条目“Build Specification”中包含了把源代码配置成为EXE, DLL 等的信息。
在旧版本LabVIEW 中,保存VI时的一些高级选项,比如添加密码、移除VI前面板,程序框图等选项;以及其它一些与运行有关的选项,例如禁止调试,自动弹出错误框等选项,也都被合并到此处了。