S1-前言和入门

  • 1 labview入门
    • 1.1 "Hello World" 程序
      • 1.1.1 VI前面板
      • 1.1.2 程序框图
    • 1.2 labview程序运行逻辑
      • 1.2.1 名词概念
      • 1.2.2 执行顺序
    • 1.3 如何学习LabVIEW
      • 1.3.1 labview的帮助文档
      • 1.3.2 labview的范例
      • 1.3.3 需求他人帮助
    • 1.4 优化程序
      • 1.4.1 美化VI
      • 1.4.2 让VI持续运行
      • 1.4.3 项目管理
      • 1.4.4 使用子VI
      • 1.4.5 创建子VI
    • 1.5 设置个性化变成环境

为什么labview?
答:1. 图形化编程语言,比C等文本编程语言简单很多,尤其是在设计界面的时候得天独厚的优势。2. labview在编程过程中有更详细的提示信息,如函数的功能、参数类型等,解放程序员不需要记忆哪些枯燥的函数信息。3. labview是数据流为导向的,开发编程效率高,同时具有丰富的工具包,尤其是针对测控、仿真等领域。
如何学习好?
答:首先必看NI公司的帮助文档教程。大量阅读他人的代码。
本书主要内容?
一定要牢记二八法则;
答:1. labview中最常用的功能。2. labview学习过程中的常见问题及容易犯的错误。3. 列举实际案例。
labview应用领域?
答:测试测量:labview最最初就是为测试测量而设计的,目前大多数主流的测试仪器、数据采集设备都拥有专门的labview驱动程序。也可以方便的找到labview工具包,要学会站在这些工具包的基础上再开发程序就效率多和容易多了。
控制领域:labview拥有专门用于控制领域的模块–LabVIEW DSC。使用labview可以非常方便地编调各种控制程序。
仿真:labview包含了多种多样的数学运算函数,特别适合进行模拟、仿真、原型设计工作。
快速开发,跨平台:labview具有良好的平台一致性,labview的代码需要任何修改就可以运行在常见的三大操作系统中:Windows、Mac OS以及Linux。还支持各种实时操作操作系统和嵌入式设备:如PDA、FPGA、以及运行VxWorks等RT设备。

1 labview入门

建议在新打开labview的界面时,把右面的资源全部阅读一下–已经汉化,方便阅读。
新建VI:理解为实现了一定功能的一个labview代码模块,相当于其他编程语言中的函数。
一个VI由两个窗口组成:前面板和程序框图。前面板是程序与用户交互使用的界面。用户可以在这里输入程序运行所需的参数,观察程序运行的结果。程序框图是用户编写程序代码的地方。程序运行时的逻辑是由代码决定的。

1.1 “Hello World” 程序

1.1.1 VI前面板

  • 当VI前面板称为活动窗口时,可以看到另一个浮动的窗口–控件选板。右击VI前面板即跳出控件选板。
  • 控件选板上面列出了各式各样的空间及其图标。

1.1.2 程序框图

  • 程序的逻辑功能是在程序框图中实现的。在VI前面板上放置一个控件后,VI的程序框图上会自动增加一个与其对应的接线端,程序运行后,前面板上的控件就显示出传入的数据。
  • VI的程序框图窗口为活动窗口时,会同时出现一个与控件选板相类似的浮动窗口–函数选板。上面的图标代表了控制程序运行的函数、结构、常量和labview自带的VI等。
  • labview通过连线来传递数据。将鼠标移至字符串常量的右侧中间位置,则鼠标会变成一个绕线轴的模样。这是单机就会从字符串常量上引出一根线,再在字符串显示控件接线端的左侧中间位置单击,则这两个对象就被一根线连接起来。
  • 若程序中有错误,则工具栏运行按钮的箭头会变成断裂状,且程序不能运行。此时按钮的名称会从"运行"–>“列出错误”。单击错误,弹出错误列表对话框。按照列表中的提示改正错误,修改好程序代码。待箭头按钮恢复箭头状时,程序方可运行。

1.2 labview程序运行逻辑

1.2.1 名词概念

VI前面板和程序框图上的各种图形元素都称为对象。VI前面板上最常见的图形对象是控件,用于输入或显示数据。VI程序框图上所有的的图形对象可分为两部分:节点和数据线。数据线–连线,连接两个节点之间的连线。节点:除连线以外的对象。
【节点类型】

  1. 接线端:是与VI前面板上的某个控件相对应,用于读出或写入控件数据。接线端的功能类似于C语言中函数的参数传递功能,程序通过接线端进行数据交换。
  2. 函数:函数时labview自带的实现了某些功能的节点。函数实现的功能是是最为基础的,不能再进行拆分。–类似于C语言中自带的基础函数。
  3. 结构:结构用于控制程序的执行顺序,与C语言中控制流程的关键字功能相似。例如,labview中的for循环。
  4. 子VI:一个VI被其他的VI调用,称之为子VI。与C语言中子函数的概念是相同的。
  5. 装饰:VI的程序框图上还可以放置一些与程序无关的节点。比如一个背景图片,一段说明文字等–目的是为了让程序代码更容易被阅读和理解,这相当于C语言中的注释。

1.2.2 执行顺序

  • 在文本语言中,程序的基本执行顺序就是语句的执行顺序。在labview中,程序的基本执行顺序由连线来控制,即程序是沿着程序框图上的连线执行的。
  • 数据流驱动的程序:执行顺序:一个数据从程序框图上的某个起始节点出发,沿着与它相连的数据线流动到下一个节点的某个输入端点。数据在这个节点被加工处理后,再从这个节点的输出端点沿着连线流出,流向下一个节点,直到流入某个终止节点为止。数据流动的顺序,也就是程序执行的顺序。
  • 每个控件都可以选择作为控制控件或者显示控件–决定数据流动方向。控制控件:是起始节点,数据端流出。显示控件:数据从其接线端流入。右击控件–>转换为显示/控制 控件。
  • 函数以及子VI通常有多个接线端,并且这些接线端的方向都是固定的。数据总是从函数的输入接线端流入,从输出接线端流出。
  • 数据线可以分叉:流出可以分叉,流入不可以同时接收。

1.3 如何学习LabVIEW

  • 要主要分清教程书和工具书:教程书–侧重于解释labview的编程思想以及原理。工具书–仅偏重于罗列labview中每个函数或VI的功能。
  • 借助社区和论坛,大量阅读他人的代码。除了控件板和函数板,再尝试一下labview中众多的菜单和配置选项。最常用的就是有控件的右键菜单和属性配置、VI的菜单和属性配置等。

1.3.1 labview的帮助文档

labview的帮助文档是最有用的学习labview工具–但却常常被忽视。首先参考求助官方帮助文档要成为习惯。

  • 即时帮助:Ctrl+h;
  • labview已经把常用到的函数分类分层次的组织显示在函数选板起来。

1.3.2 labview的范例

有时文档对问题的文字描述是抽象的,不容易理解的,但是如果有相应的实例,就会立刻明白。

  • 在NI启动界面上–>查找范例;或者:“帮助–>查找范例”
  • 【查找方式】:1. 在分类下拉列表中–分类对应选择。2. 搜索选项卡–>关键字

1.3.3 需求他人帮助

  • 谷歌大脑搜索
  • NI官方网站:http://forums.ni.com/ni/
  • 最大社区LAVA:http://forums.lavag.org/forums.html 只能用英文讨论
  • 其他相关论坛或者博客 作者博客:http://ruanqizhen.wordpress.com http://blog.sina.com.cn/ruanqizhen

1.4 优化程序

目的增加程序的可阅读性。

1.4.1 美化VI

  1. 添加图标
    首先,养成一个好习惯,就是要为每个编写好的VI都设置一个漂亮的、有意义的图标。图标是VI前面板或程序框图窗口右上方的那个正方形团案。
  • 图标是labview特有的一个优势,在对一个子subVI完成之后,记得编写图标。人脑对图像的处理速度要比处理同样信息量的文字快得多。阅读一个编写风格良好的labview代码要比阅读一个文本程序的代码更容易、更快速。
    在VI前面板或程序框窗口上双击图标,即可打开图标编辑器。
    这个就是看自己设计摸索了,四个功能选项页

1.4.2 让VI持续运行

相当于编写一个检测程序,要求程序一直监视被测对象,若测量值发生变化,则程序立即处理新的数据并显示出来。

  • 调试阶段:使用“持续运行按钮”,单击此按钮后,程序在得到运算结果后不停止,而是立刻重新运行,直到单击"终止运行"按钮为止。但是只适合在调试阶段使用,并且无法区分开来只需运行一次的代码和需要重复运行的代码区分开来。
  • 持续运行的真正有效方案是使用循环结构。编程–>结构–>while循环。while循环包围的区域成为循环体。但是while循环的迭代次数太快,大量占用CPU资源,更新速度不需要这么快,再加上设置等待时间。

1.4.3 项目管理

要实现更复杂的功能,单个VI不够用。对于数量众多的VI而言,需要一个有效的方法进行管理----项目浏览器。

  • 项目浏览器是一个可以方便地查看、调整程序系统结构的工作区,与VC中的project类似。所以以后再创建新的程序时,都尽量从新的项目开始。
  • 如何创建新的项目:新建–>项目;项目浏览器用一个树形的结构来表示项目中所有的VI和其他文件设置等组成。
  • 树形结构的最顶层是项目的名称。第二层是项目运行的目标机器。第三层是项目中所有使用到的文件。也可以添加虚拟文件夹,组织文件结构,基本是VI和空间两种文件。
  • 添加已有的VI:右击我的电脑–>在弹出的快捷菜单中选择添加;

1.4.4 使用子VI

子VI含义:相对关系,过一个VI应用于其他程序中,就称其为子VI。子VI相当于文本编程语言中的子函数。

  • 功能复杂的VI程序框上会有大量节点和连线,这种复杂的框图难以阅读和理解。需要且必要把复杂的程序划分成若干个小的程序模块,每个模块只完成简单功能。每个程序模块有一个相应的VI来实现。最终主VI调用数个简单功能的子VI,以实现其所有的复杂功能。
  • labview目的不是在大量重用某一段代码才做成SubVI,而目的是为了提高代码的可读性和可维护性。理想的VI层次结构是金字塔型的,在主VI的菜单栏中(查看–>VI层次结构)打开VI层次结构窗口。
  • 若是遇到大型为分子VI的程序框图:通过选择 查看–>导航窗口来实现。

1.4.5 创建子VI

  1. 创建子VI和普通VI的过程是一样的:设计VI的前面板,编写程序框图,编辑图标,保存。但由于子VI被其他VI调用,特别设置子VI的输入/输出参数。
  2. 子VI前面板上的控制控件可以作为输入参数,而显示控件则可以作为输出参数。但是注意的是,控件只有在与子VI本身的连线板相连后,才能够作为输入输出参数。----在VI的前面板的右上方图标处右击,选择菜单中的"显示连线板"(或者不动本身就存在)–>正方形小图案:424模式。简单原则:能用4224模式的子VI连线板,可以不用完,尽量使用4224模式
  3. 连线板中每一个连线端可以和一个控件相连接。数据流动默认从左到右,输入在左边-连接控制控件,输出再右边,连接显示控件。单击接线端,在单击一下对应的控件,控件与连线板就关联好了
  4. 调用子VI两种方式:拖住鼠标左键直接在项目管理器上将子VI拖进来;在VI程序框图右击打开函数选板–>选择VI 加载进来。
  5. 从程序框图中直接创建子VI:经常是VI的程序框图越写越大时,才想起来意识到把它拆分成子VI,以降低单个程序框图的的复杂度。这种情况下,可以直接在VI程序框图上选出其中的一部分,直接创建成子VI。用鼠标选中相对比较独立的代码部分,然后选择 “编辑–>创建子VI”,这部分代码就会变成一个新创建的子VI代替。生成的子VI使用的是默认的图标和连线板模式,此时需要立即打开新创建的子VI,编辑图标和连线板,然后保存

1.5 设置个性化变成环境

P31-P34页自行阅读,这种都是修改一次,基本不再使用,不需记住这些琐粹的点。
前面板–控件选板 程序框–函数选板 shift+右击----工具选板:切换鼠标功能:自动选择工具足以应付大多数编程工作。

LabVIEW--S1-前言和入门相关推荐

  1. FPGA经验谈系列文章——前言和目录

    FPGA经验谈系列文章--前言和目录 前言 工作内容 最后 前言 转眼间,工作也即将十年时间,也是做FPGA开发的十年,虽然我总是认为我一开始走错了路,我应该去搞互联网的o( ̄︶ ̄)o.但也确实做到了 ...

  2. keil obj 文件 结构_【Python】数据分析前的入门教程 Python For Everybody P2:数据结构...

    这是密歇根大学课程Python For Everybody总结的P2部分.课程总结P1部分的地址如下: P1: 零基础程序设计(Python 入门) carolinezhq:[Python]数据分析前 ...

  3. 《Cisco交换机配置与管理完全手册》(第二版)前言和目录

    史上最具人气.最受好评的网络设备图书领域"四大金刚"的全新升级版本再现江湖了,他们分别是:<Cisco交换机配置与管理完全手册>(第二版).<H3C交换机配置与管 ...

  4. 《H3C交换机配置与管理完全手册》(第二版)前言和目录

    史上最具人气.最受好评的网络设备图书领域"四大金刚"的全新升级版本再现江湖了,他们分别是:<Cisco交换机配置与管理完全手册>(第二版).<H3C交换机配置与管 ...

  5. 《Cisco路由器配置与管理完全手册》(第二版)前言和目录

    史上最具人气.最受好评的网络设备图书领域"四大金刚"的全新升级版本再现江湖了,他们分别是:<Cisco交换机配置与管理完全手册>(第二版).<H3C交换机配置与管 ...

  6. LabVIEW中将前面板置于所有桌面窗口的前面

    LabVIEW中将前面板置于所有桌面窗口的前面 想将前面板窗口设置在所有桌面窗口的前面.前面板属性IsFrontmost(如下图所示)将前面板设置为仅位于所有 LabVIEW 窗口的前面.如何将前面板 ...

  7. LabVIEW控制前面板对象

    LabVIEW控制前面板对象 控件引用句柄在引用句柄和经典引用句柄选板上,它可将前面板对象的引用传输给其它VI.右键单击前面板对象,从快捷菜单中选择创建»引用,可建立一个VI服务器引用.而且,也可在程 ...

  8. LabVIEW随前面板缩放前面板的所有对象

    LabVIEW随前面板缩放前面板的所有对象 如果想使用前面板的窗口大小缩放前面板上的单个对象,通过单击该对象并选择编辑»根据窗格缩放对象可以实现.但是,在缩放一个对象后该选项变为了灰色,因此无法继续缩 ...

  9. LabVIEW随前面板尺寸的变化而缩放前面板的所有对象

    LabVIEW随前面板尺寸的变化而缩放前面板的所有对象 如果我想使用前面板的窗口大小缩放前面板上的单个对象,我通过单击该对象并选择编辑»根据窗格缩放对象可以实现.但是,在我缩放一个对象后该选项变为了灰 ...

最新文章

  1. ztree和php结合实例,实例详解jQuery EasyUI结合zTree树形结构制作web页面
  2. 看动画学算法之:hashtable
  3. c#程序中使用quot;like“查询access数据库查询为空的问题
  4. java常见对象_Java各种对象理解
  5. java网络病毒,网络病毒是由因特网衍生出的新一代病毒,即Java及ActiveX病毒。由于(),因此不被人们察觉。...
  6. Centos6.4系统局域网服务之DHCP
  7. 由UIview获得其controller
  8. DS博客作业01--日期抽象数据类型设计与实验
  9. java反编译工具jad安装
  10. 前端研习录(02)——CSS内联样式、内部样式及外部样式
  11. 怎么在工作中快速学习,获得晋升?——吴军得到直播实录
  12. ZXing之生成条形码
  13. 建立arm linux运行环境,构建 arm-linux 仿真运行环境 (skyeye + arm-linux + NFS)
  14. 如何云同步敬业签待办事项任务?
  15. 维嘉科技IPO被终止:年营收8亿 邱四军控制61%股权
  16. 五分钟学后端技术:分布式系统理论 - 从放弃到入门
  17. 可怕的乖孩子_你知道乖孩子的一生,有多可怕吗?
  18. ORACLE DG概念及切换
  19. java动画火柴人_基于html的火柴人羽毛球游戏
  20. windows下CMake fdk-aac

热门文章

  1. 修改PHP上传文件大小限制(windows、linux)
  2. 数据库设计之E-R图和关系表
  3. 英语四级三个月复习计划
  4. CSS样式词典(全)
  5. 用钩子函数实现鼠标动作录制
  6. java 输入输出总结(牛客、笔试、机试)
  7. JavaScript休眠或等待
  8. 【读书】代码千万条,整洁第一条,代码不规范,产品两行泪
  9. 未来八种人将被社会淘汰
  10. 【板栗糖GIS】将720官网上的全景内嵌到弹窗中,需要关闭哪些设置