在Ubuntu 20.04上部署LabVIEW 2021与DAQmx 21.3:一份避坑指南与实践教程
对于习惯了Windows环境的工程师和科研人员而言,在Linux系统上运行LabVIEW和NI的数据采集驱动(DAQmx)可能是一项挑战。然而,在Ubuntu这类稳定、高效的Linux发行版上部署这些工具,不仅能获得更好的系统资源管理,还能与Python、C++等其他开发环境无缝集成。本文将手把手带你完成在Ubuntu 20.04上安装LabVIEW 2021社区版及DAQmx 21.3驱动的全过程,并分享关键步骤的避坑技巧。
一、环境准备与LabVIEW安装包获取
首先,确保你的系统是Ubuntu 20.04。版本匹配至关重要,因为LabVIEW 2021和DAQmx 21.3对该版本有官方兼容性支持。安装过程的第一步是从NI官网获取正确的安装包。
- 关键步骤:务必在目标Ubuntu机器上直接登录NI官网并下载LabVIEW 2021社区版的Linux安装镜像(.iso文件)。从其他系统下载再传输可能会导致依赖问题。
- 文件处理:下载完成后,你会在“下载”文件夹中看到一个.iso文件。这是包含所有安装组件的磁盘镜像。
提示:虽然LabVIEW本身是图形化编程环境,但将其成功部署到Linux后,你可以通过其强大的接口调用用Python或C++编写的算法模块,实现混合编程,提升开发效率。
二、挂载镜像与权限配置
Linux系统无法直接运行.iso文件,需要将其“挂载”到一个目录,就像插入一张虚拟光盘。同时,Linux严格的权限管理是安装过程中的第一个常见障碍。
- 创建挂载点:在终端中,进入下载目录,执行
mkdir labview2021创建一个空文件夹。 - 挂载镜像:使用命令
sudo mount -o loop labview-2021-xxx.iso labview2021将镜像内容映射到该文件夹。 - 解决权限问题:挂载后的文件通常为只读。你需要复制整个文件夹到桌面(或其他有写权限的位置),然后右键点击文件夹,在“属性”->“权限”中,将所有者的文件访问权限改为“创建和删除文件”。或者,在终端中使用
sudo chmod -R 755 文件夹名来修改权限。
⚠️ 注意:直接对挂载点进行权限修改可能无效,复制出来操作是更稳妥的方法。
[AFFILIATE_SLOT_1]三、核心步骤:使用Alien转换并安装LabVIEW
NI提供的Linux安装包是.rpm格式(适用于Red Hat系),而Ubuntu使用.deb包。我们需要alien这个“翻译官”进行格式转换。这个过程就像为不同生态的软件(如为Node.js环境编译TypeScript模块)搭建桥梁。
- 安装Alien:首先更新软件源并安装alien:
sudo apt update && sudo apt install alien。 - 清理文件:进入挂载并复制后的LabVIEW文件夹,删除所有文件名中包含“i386”的文件,这些是32位包,在64位系统上转换会失败。
- 转换与安装:依次执行以下命令进行转换和安装。这类似于用Go语言的go build或Python的pip install处理特定格式的依赖包。
sudo alien -d -c labview*64.rpm sudo alien -d -c ni*.rpm sudo alien -d -c lvsupport*.rpm # 转换完成后,删除所有.rpm文件:rm -rf *.rpm # 然后按顺序安装.deb包: sudo dpkg -i labview-****-core_****.deb sudo dpkg -i labview*.deb sudo dpkg -i lvsupport*.deb sudo dpkg -i ni*.deb
✅ 安装后:安装完成不会自动创建桌面快捷方式。你需要到 /usr/local/natinst/LabVIEW-2021-64/ 目录下,找到 labview64-2021.desktop 文件,复制到桌面,并用文本编辑器将其中的Exec路径修改为 /usr/local/natinst/LabVIEW-2021-64/labviewcommunity,保存后右键属性允许启动即可。
四、DAQmx驱动安装与深度配置
数据采集驱动的安装更为复杂,涉及系统底层。首先,务必在NI官网的“兼容性”页面确认你的硬件(如cDAQ模块)支持Linux和此驱动版本。USB系列采集卡普遍不支持。
- 下载与解压:下载DAQmx 21.3驱动(同样是.iso或.tar.gz),解压到文件夹。
- 转换驱动包:在驱动文件夹中打开终端,执行
sudo alien -d -c ni*.rpm进行批量转换。 - 修复dpkg(关键避坑点):直接安装可能遇到dpkg配置错误。需要执行一系列命令来重置dpkg的info目录,这是解决Ubuntu软件包管理冲突的标准方法之一:
sudo su mv /var/lib/dpkg/info /var/lib/dpkg/info_bak mkdir /var/lib/dpkg/info apt-get update && apt-get -f install mv /var/lib/dpkg/info/* /var/lib/dpkg/info_bak/ rm -rf /var/lib/dpkg/info mv /var/lib/dpkg/info_bak /var/lib/dpkg/info - 安装驱动与支持包:随后,依次安装核心驱动、LabVIEW支持包和开发库:
sudo apt install ./ni-daqmx_*.deb sudo apt install ni-daqmx-labview-2021-support sudo apt install ni-daqmx-labview-support sudo apt install libnidaqmx-devel - 内核驱动与硬件配置:安装硬件配置工具
ni-hwcfg-utility,并运行sudo dkms autoinstall来编译和安装NI内核驱动程序,完成后必须重启系统。
五、权限优化与系统集成建议
为了让普通用户也能无障碍访问USB数据采集设备,避免每次都需要sudo,建议进行以下udev规则设置。这类似于在Web开发(如使用JavaScript访问本地硬件API)或系统编程(如C++操作设备文件)中配置用户组权限。
- 创建NI-VISA的USB代理目录,并链接相关文件,使系统能正确识别NI设备:
sudo mkdir -p /etc/udev/agents.d/usb sudo ln -s /usr/lib/x86_64-linux-gnu/ni-visa/usb/nivisa_usbraw /etc/udev/agents.d/usb/ # ...(同上,链接其他必要文件) - 禁用原生usbtmc模块:执行
sudo su进入root,然后运行echo "blacklist usbtmc" >> /etc/modprobe.d/blacklist.conf。这可以防止系统原生模块独占USB仪器资源,确保NI-VISA能正常接管。
延伸思考:成功部署后,你可以探索将LabVIEW与Python结合。例如,用Python(通过NumPy、SciPy)进行复杂的数据分析和机器学习,然后将结果或模型通过Python调用节点反馈给LabVIEW进行实时控制和可视化,构建强大的测控系统。
总结来说,在Ubuntu上安装LabVIEW和DAQmx是一场对Linux包管理、权限系统和硬件抽象的实战。虽然步骤繁琐,但严格遵循版本要求、细心处理包转换和权限问题,就能成功搭建这个强大的图形化测控开发平台。一旦环境就绪,你将能在稳定高效的Linux系统中,同时驾驭LabVIEW的快速原型开发能力与其他编程语言(如Python、C++)的算法优势。
浙公网安备 33010602011771号