LabVIEW

编辑
本词条由“匿名用户” 建档。

LabVIEW是NationalInstruments的图形化编程系统。首字母缩写词代表“实验室虚拟仪器工程工作台”。 第一个版本出现在1986年,用于Macintosh计算机。今天,开发环境也可用于Windows和Linux。LabVIEW的主要应用领域是测量、控制和自动化技术。根据数据流模型,编程是使用称为“G”的图形编程语言完成的。重点是数据采集和处理。LabVIEW程序称为虚拟仪器,或简称...

LabVIEW

编辑

LabVIEW 是 National Instruments 的图形编程系统。 首字母缩写词代表“实验室虚拟仪器工程工作台”。

xxx个版本出现在 1986 年,用于 Macintosh 计算机。 今天,开发环境也可用于 Windows 和 Linux。 LabVIEW的主要应用领域是测量、控制和自动化技术。 根据数据流模型,编程是使用称为“G”的图形编程语言完成的。 重点是数据采集和处理。 LabVIEW 程序称为虚拟仪器,或简称为 VI。 它们由两个部分组成:前面板包含用户界面,框图包含图形程序代码。 这不是由解释器处理的,而是编译的。 因此,性能可与其他高级语言相媲美。 LabVIEW 使用与 LabWindows/CVI 相同的库和数据采集引擎,LabWindows/CVI 是 National Instruments 的集成开发环境,因此与 LabWindows/CVI 兼容。 函数库也可用于许多复杂的数学任务。 与 Matlab 类似,LabVIEW 还涵盖了 SP 控制和灵活的测试自动化领域。

编程方法

编辑

功能块在 LabVIEW 中称为虚拟仪器 (VI)(就像完整的程序)。 这是因为,原则上,每个程序都可以作为另一个程序中的子程序(SubVI)使用,或者每个子VI也可以独立运行。 由于数据流的概念,递归调用在 8.6 之前基本上是不可能的。 然而,通过额外的努力,递归也可以实现。 从 9.0 版开始,可重入 VI 可以将自身包含为子 VI,从而可以递归调用它。

程序员用连接线(电线)连接 VI,从而定义数据流。 每个 VI 都可以有输入和输出。 当所有输入数据都存在时,VI 开始执行; 结果仅在处理完整个子程序后才可用于输出。 这样,步骤的处理顺序由数据依赖定义。 没有预定义的顺序(例如“从右到左”)。

如果子 VI 没有输入,则在程序启动时执行。 如果它没有输出,则结果数据要么被丢弃,要么以其他方式“使用”(例如,写入硬盘网络,输出到xxx设备)。 同样,没有输入的子 VI 可以从xxx设备接收数据或自行生成数据(例如使用随机数生成器)。

子 VI 可以嵌套到任意深度。 LabVIEW 的许多本机函数本身就是可以由程序员编辑的常规 VI(尽管通常不推荐这样做)。 归根结底,所有 VI 都基于一组称为原语的基本函数,这些函数不能作为 VI 打开。

LabVIEW 中的许多 VI 和函数都是多态的;它们的操作适应传递的数据类型。 例如,Create Array 函数可用于创建任何数组;字符串、整数或数组和簇。 也可以创建您自己的多态 VI。 最终,这是多个 VI 在输入和输出处具有不同数据类型的集合。

数据源和数据接收器可以与前面板上的指示器和控件相关联。 所以例如,可以使用旋钮输入数字,使用发光二极管输出布尔变量。

对于非常大和广泛的项目,就像在其他编程语言中一样,从一开始就使用经过深思熟虑的结构并将代码模块化是很重要的。 这是由现有的项目经理(从 V8.0 开始)支持的。 这使得管理大量 VI 和外部文件更加清晰。 这也使版本管理更加容易。 一个主要的创新(从 V8.20 开始)是以面向对象的方式进行编程的能力。 类和属性以及它们的方法也可以被继承。

LabVIEW Robotics 2009 包括用于设计机器人系统的工具软件包的一部分是机器人模块,它包括一个综合机器人库,可连接到标准机器人传感器执行器、智能操作的基本算法,以及机器人和自动驾驶车辆的感知和电机控制功能。

LabVIEW、TCP/IP 和 XML Web 服务

编辑

TCP/IP套接字在局域网互联网中传输字符串网。 例如,它们用于在 Web 浏览器中显示网站的 HTTP 协议。 LabVIEW 出于不同的目的使用 LAN 上的 TCP/IP 套接字:

  • Data Communication→Protocols→TCP 下的功能。
  • 在前面板上包含 Web 浏览器 OLE。
  • 读出测量值,例如 B. 来自数字万用表和网络分析仪
  • 远程控制/远程面板。
  • XML 网络服务

一方面,通过远程面板进行的远程控制是特定于 LabVIEW 的。 用户可以通过 Web 浏览器(首选 Internet Explorer)连接到打开的前面板。 然后前面板本身放弃控制。 预期的好处是通过第二台 PC 进行访问。 但是,必须在源 PC 上打开一个窗口。 此外,NI 对大于 1 的用户需要额外的许可费用。

另一方面,特定于 LabVIEW 的是自行创建的 XML 网络服务。 它们仅包含在完整版本中。 这些 Web 服务不需要主机 PC 上的 GUI 窗口。 例如,当用户向服务发送带有两个参数的 HTTP GET 请求时。 参数包含在 URL 中。 该服务运行一个 VI 并以 XML 文件响应。 URL 参数在服务中创建,作为 VI 中的控件来实现——VI 的所有显示元素及其值都出现在返回的 XML 文件中。 因此,网络服务可用于控制执行器和收集测量值。 使用 Web 服务,您可以实现自己的图形界面并实际使用任何客户操作系统。 用于长时间测试运行的批处理脚本也是可能的。

为了隐式提供 TCP 服务套接字,可以通过项目结构将其附加到可执行 EXE。 如果您使用 Remote Panel 启动应用程序,则套接字在运行时可用。

LabVIEW

优势

编辑
  • LabVIEW 图形化编程的一个重要结果是您可以轻松地在 LabVIEW 中对并行流程进行编程。 将两个没有数据依赖性的子 VI 并排放置就足够了,以便通过多线程同时处理它们。 然而,与基于文本的编程系统类似,您必须注意可能的竞争条件并在必要时锁定资源。 多个选项可用于多个线程之间的同步或通信(例如信号量、通知程序、队列)。
  • LabVIEW 的前面板是创建具有良好图形用户界面的程序的一种非常方便的方式。 原则上,LabVIEW中的所有编程工作都不需要程序员输入任何文本,设计元素的标签除外。
  • 程序流程的图形表示显着提高了可读性,至少对于不太广泛的项目而言。 尤其是科学家和技术人员通常很快就能理解程序逻辑,因此可以根据他们的特定需求调整软件。
  • 根据许可证提供的广泛函数库涵盖数据分析和数学,特别是在很大程度上。 而且还很好地解决了对附加(也是外部)(测量)设备和系统功能的控制。
  • 使用受支持的通信协议和连接技术,还可以控制和使用远方的设备(例如在人迹罕至的地方或其他国家/地区)。 此处使用 TCP 等。
  • LabVIEW 8.6.1 及更高版本还支持对 National Instruments 生产的测量设备中包含的微控制器和 DSP 进行编程。 它还支持一些实时操作系统
  • 从 2009 版开始,LabVIEW 提供了对多核处理器和 FPGA 进行并行编程以及访问无线技术的可能性。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/372010/

(9)
词条目录
  1. LabVIEW
  2. 编程方法
  3. LabVIEW、TCP/IP 和 XML Web 服务
  4. 优势

轻触这里

关闭目录

目录