LabVIEW Linux C++ 开发 - 初学者问题
Posted
技术标签:
【中文标题】LabVIEW Linux C++ 开发 - 初学者问题【英文标题】:LabVIEW Linux C++ development - beginner questions 【发布时间】:2014-05-06 07:29:51 【问题描述】:背景
在我们公司,我们与机械制造商合作,我们正在为他们生产的设备开发 C++/Qt 跨平台控制应用程序。过去,我们通过 USB(虚拟 COM 端口)与他们的设备进行通信。现在我们被告知该制造商计划切换到 LabVIEW(USB 数据采集)。当然,我们将来会收到相关信息,但我想获得一些关于它的信息,并问你一些我在网上找不到的问题。
对于菜鸟问题,我很抱歉。
问题
1) 什么是LabVIEW?它不是一个单一的设备,而是一堆硬件组件、驱动程序和标准,我说得对吗?
2) 谁是LabVIEW开发人员?我读过How much time do I need to learn LabVIEW,但我不确定。是不是一个人把LabVIEW组件放在一起并为它们制作固件。或者开发与 LabVIEW 通信的***用户应用程序的人?
3) 我假设问题 2 的第一部分将由我们的合作伙伴公司完成。第二部分将在我们身上。但是谁创建了通信协议? DAQ 与 PC 驱动程序有什么标准的通信方式,还是由程序员来开发通信协议?
4) 我发现在 National Instruments 有用于 linux 的 driver。包含此驱动程序的一些 API/库,可以以标准方式包含在 C++ 代码中并用于与 DAQ 通信?
【问题讨论】:
我认为您需要澄清“现在我们被告知该制造商计划切换到 LabVIEW(USB 数据采集)”是什么意思。 LabVIEW是软件,而不是硬件。他们是否意味着他们将使用 National Instruments 的 USB 数据采集硬件?您可以在不使用 LabVIEW 的情况下与 NI 硬件通信。 我现在明白了,你是对的。是的,他们提供了 National Instruments 的 USB 数据采集硬件。 【参考方案1】:LabVIEW 是一个开发环境,用于创建与科学和工程等领域的真实数据或信号交互的自定义应用程序。 LabVIEW 本身是一个包含众多组件的软件开发环境:
G 编程: 类似流程图的数据流编程模型
硬件支持:支持数以千计的硬件设备,如科学仪器、数据采集设备、传感器、相机……
分析和技术代码库:用于信号处理、通信、文件 I/O、控制算法等的库...
UI 组件和报告工具:用于查看获取的数据的图表、仪表和表格等控件以及用于将数据保存到文件或数据库或自动生成报告的工具
技术抽象:使用诸如 FPGA、多核 CPU 等技术......
计算模型:当 G 不适合仿真语法时,可以使用文本数学、状态图、组件级 IP (CLIP) 节点、DLL 调用……
LabVIEW 由National Instruments 开发和维护。它为 LabVIEW 提供全面的支持、培训和认证选项。
无论您使用什么硬件,LabVIEW 都使用一致的编程方法,使集成硬件的过程变得更加容易。 LabVIEW 为数以千计的 NI 和第三方硬件提供免费的驱动程序。在 LabVIEW 驱动程序不存在的极少数情况下,您可以使用工具来创建自己的、重用 DLL 或其他与 LabVIEW 无关的驱动程序,或者使用低级通信机制在没有驱动程序的情况下操作硬件。
LabVIEW 也是跨平台的,允许您将代码部署到许多不同的计算平台,如流行的桌面操作系统(Windows、Mac 和 Linux)、嵌入式实时控制器、ARM 微处理器和现场可编程门阵列( FPGA)。
【讨论】:
【参考方案2】:听上去你不需要学习LabVIEW(很遗憾),但是你需要学习美国国家仪器公司的硬件驱动套件daq-mx。我没有使用 Linux 版本(这是 Windows 版本的精简版或基础版)的经验,但它基本上是一组 dll 左右,可让您与他们的硬件进行通信。尝试找出他们将使用什么硬件,看看 daq-mx base 是否支持模拟设备。
【讨论】:
以上是关于LabVIEW Linux C++ 开发 - 初学者问题的主要内容,如果未能解决你的问题,请参考以下文章