- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LabVIEW: 图形化、数据流编程LabVIEW与其他大多数通用编程语言存在两点主要差异。首先,进行G编程需要将程序框图上的图标连接在一起,之后程序框图被直接编译为计算机处理器能够加以执行的机器码。采用图形而非文本代表自身的G,包含与最传统语言相同的编程概念。例如,G包含所有标准构造,如:数据类型、循环、事件处理、变量、递归、面向对象的编程。图1. G中的While循环由图形化循环直观代表,它会一直执行到停止条件获得满足为止。第二项主要区别在于:由LabVIEW开发的G代码,其执行时遵照的规则是数据流,而不是大多数基于文本的编程语言(如:C和C++)中更传统的过程化方式(即,被执行的命令序列)。 G等数据流语言(以及Agilent VEE、Microsoft Visual Programming Language、Apple Quartz Composer)将数据作为支持各类程序的主要概念。而数据流执行模式是由数据驱动的,或者说是依赖于数据的。是程序内节点间的数据流动,而非文本的顺序行,决定着执行顺序。这种差别起初也许不大,影响却是非凡的,因为它让程序组件间的数据路径成为开发者关注的重点。 LabVIEW程序中的节点(即:函数、循环等结构、子程序……)获取输入数据、处理数据并生成输出数据。一旦所有给定节点的输入都包含有效数据,该节点就会执行其逻辑、产生输出数据并将该数据传递至数据流路径中的下一个节点。从别的节点接收数据的节点只在别的节点执行完以后才开始执行。G编程的优势直观的图形化编程与大多数人一样,工程师和科学家可通过查看和处理图像来学习,根本无需有意识的冥想。许多工程师和科学家还会被描述成“视觉型思考者”,这表示他们尤其擅长通过视觉处理组织信息。换句话说,他们最擅长图像化思考。这往往在高校中得到强化,那里的学生被鼓励使用流程框图的形式来构建问题的解决方案。然而,大多数通用编程语言需要您花大量时间学习与该语言相关的特定文本语法,再将语言的结构映射至正被解决的问题。搭配G的图形化编程,提供更直观的体验。G代码通常更易于工程师和科学家迅速理解,因为它们与显示有很大关联,甚至能以图解形式对程序框图和流程图的过程与任务进行建模(这也遵循了数据流规则)。此外,由于数据流语言须要您将数据流的程序结构作为基础,所以在思考时得关注需要解决的问题。例如,典型的G程序可能首先采集多条通道的温度数据,再将数据传送至分析函数;最后将分析后的数据写入磁盘。总体而言,数据流和涉及该程序的步骤在LabVIEW框图中易于理解。图2. 数据从采集函数出发,继而通过连线直观地流入分析与存储函数。交互式调试工具由于LabVIEW图形化G代码易于理解,常见编程任务(如:调试)也就更直观。例如,LabVIEW独一无二的调试工具,既有助您在数据途经LabVIEW程序的连线交互移动时进行查看,也有助您看清数据值沿连线从一个函数向另一个函数传递时(LabVIEW在高亮显示执行时)的过程。图3. 高亮显示执行有助直观理解G代码的执行顺序。LabVIEW还向G提供堪比传统编程工具的调试功能。这些功能,作为面向程序框图的工具栏组件,包括:探针、断点、单步步过(Step Over)/单步进入(Step Into)/单步步出(Step Out)。图4. 程序框图工具栏可访问标准调试工具(如:步进)。搭配G调试工具,用户无需复杂编程,就能同时检测程序中很多部分的数据探针,并且能够轻松的暂停或者进入到子程序当中。尽管这在其他编程语言中也是可能的,可视化显示程序的状态和代码并行部分间的关系(鉴于G的图形化特性,这不稀奇)却显得更容易。图5. LabVIEW中的探针能够有效查看数值沿连线在整个应用中运行的情况,即便在代码的并行部分亦如此。图6. 在探针监测窗口中查看探针数值;探针监测窗口能够显示整个应用程序(包括子程序)中各类探针对应的探针数值。LabVIEW中一项最常用的调试功能就是常开型编译器。当您开发程序时,编译器不断检查错误并提供关于应用的语义和语法反馈。如果有误,您就无法运行程序——您只会发现工具栏中“运行”按钮是断开的。图7. 断开的“运行(Run)”箭头可提供即时反馈,指明G代码中的语法错误。按动断开的“运行”(Run)按钮,就开启了一列您必须解决的问题。一旦您解决了这些问题,LabVIEW编译器就能将您的程序编译为机器码。一经编译,G程序就能与传统且基于文本的语言(如:C)获得可比拟的性能。图8. 错误列表详细解释了整体代码层次中的各类语法错误。自动并行机制与性能数据流语言(如:LabVIEW),实现了自动平行化。相对于顺序语言(如:C和C++),图形化程序内含代码中哪些部分应当并行执行的信息。例如,常用的G设计模型是生产者/消费者设计模式,其中2个独立的While循环独
文档评论(0)