LabVIEW与工具包版本的不兼容问题

news2024/11/17 7:26:57

前面的文章有介绍过,LabVIEW可以看做是一种编程语言,同时NI也在LabVIEW里提供了非常多的可快速构建专业应用的工具包模块,这些模块有的是用于专业数据采集的,有的是用于图像处理的,还有的可能是工业控制的。个人觉得这种方式是几乎所有编程语言都存在的,特别是在Python里,被运用的炉火纯青,Python中的模块生态则是远远要丰富多彩,而且Python模块的安装和管理还是很便捷的。相比之下,个人觉得LabVIEW的付费价格、LabVIEW和模块之间的版本兼容上则做的要更差一些。

一 遇到的一个实例

我之前为了使用电脑自带的USB摄像头获取图像并做一些分析处理,在LabVIEW下需要安装几个工具包。使用的LabVIEW版本为2011的。但安装之后其中视觉与运动函数面板中的IMAXdx没有看到,无法正常编程使用USB摄像头:

二 寻找问题解决办法

因为这个问题,我查找了网站和论坛的许多资料,一般是认为摄像头驱动没安装好,或工具包没有安装完全,或者是版本不符合。解决方法一般是检查下自己的工具包是否安装完全,我在MAX中发现该安装的都有了,然后在MAX中的设备与接口下也能看到连接的USB摄像头,所以安装这块应当是没问题的:

而且在MAX中还能使用该USB摄像头snap和grab操作。另外在安装的Vision Assistant和Vision Builder AI中都能正常使用USB摄像头,但是打开LabVIEW就是找不到IMAQdx函数。

因为我使用的编程环境是LabVIEW2011,安装的Vision Assistant和Vision Builder AI模块都是2012的版本,但是Vision Acquisition Software是用的2009的,后面换了2010的也还是不行。开始打算下载2011版本的Vision Acquisition Software的,但是NI网站无法下载。之后在NI developer Zone里看到一个帖子,说是没有激活造成的,需要激活然后再重新安装一遍才可,可是我这样做了问题还是没有解决。

后来想起之前安装DAQmx模块时也是有版本问题,安装低版本时不支持LabVIEW2011,最后是安装了DAQmx9.6才能正常使用的。于是我又下载了一个Vision Acquisition Software 2012,重新安装之后问题终于解决,如下图终于看到IMAQ相关的函数了:

三 回顾总结

可见LabVIEW中一些较高版本的工具包一般是支持低版本的开发环境的,而一般低版本的工具包很可能不能在高版本的开发环境中使用,大家在使用工具包时需要注意这个问题。

最后这里对前面提到的LabVIEW中与视觉有关的几个工具包及其之间的关系进行简单介绍,供有需要的朋友选用。

3.1 Vision Development Module(视觉开发模块)

该模块可作为LabVIEW或者是文本编辑环境 .NET 以及LabWindows CVI 的插件使用。该工具提供在LabVIEW编程环境下使用多种图像处理以及识别的函数及功能。附带的工具包 Vision Assistant 同VBAI十分相似,但是使用它设计的视觉识别程序可以方便的转换为LabVIEW的代码。可以运行远程的目标如CVS (Compact Vision System),但是除了LabVIEW之外还需要使用LabVIEW RealTime。

3.2 Vision Builder for Automated Inspection(用于自动检测的视觉生成器)

通常被称之为VBAI,该程序是一个可以独立运行的程序。编程和操作界面同Vision Assistant相似,但是不可以把程序转换为LabVIEW,只能在其环境下。VBAI 程序可以在远程目标设备如CVS上运行。

3.3 Vision Acquisition Software(视觉获取软件)

用于捕获图像的一系列驱动程序。举例来说,该软件在Windows平台下的8.2.3版本包含了NI-IMAQ 3.7.1 和 NI-IMAQdx 3.0.1 (包括了对IEEE 1394 相机的支持),以及NI-IMAQ I/O 2.0.2 驱动程序。包含了在LabVIEW中所使用到的基本视觉获取VIs。基本的视觉图像获取以及文件存储之外的功能需要安装VDM。Vision Acquisition Software 是包含在Vision Development Module,Vision Builder for Automated Inspection 以及所有的NI图像获取的软件中的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/73065.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

记一次InputStream流读取不完整留下的惨痛教训

前言 首先,问问大家下面这段流读取的代码是否存在问题呢? inputStream .... try {// 根据inputStream的长度创建字节数组byte[] arrayOfByte new byte[inputStream.available()];// 调用read 读取字节数组inputStream.read(arrayOfByte, 0, arrayOfB…

计算机毕业设计ssm+vue基本微信小程序的健康管理系统 uniapp 小程序

项目介绍 本文介绍了使用微信小程序技术开发健康管理系统的设计与实现过程,首先对实现该系统的技术进行分析,说明选择Java后台技术和MySQL数据库的必要性,然后对基于微信小程序的健康管理系统的需求进行分析。并接着对系统进行设计,包括架构设计、功能设计、数据库设计。最后进…

基于改进遗传算法把电力系统功率损耗降至最低(Matlab代码实现)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥 🎉作者研究:🏅🏅🏅本科计算机专业,研究生电气学硕…

软件测试用例

测试用例为什么要写测试用例测试用例的基本要素QQ登录的测试用例功能正常时异常时界面易用性可移植性性能具体的设计测试用例的方法等价类边界值错误猜测法场景设计法因果图法正交排列测试用例的有效性为什么要写测试用例 测试用例是测试执行的依据测试用例可以复用&#xff0…

分布式多级缓存

学习就是带着问题前行 缓存是什么? 缓存击穿是什么? 缓存雪崩是什么? 如何保证分布式缓存的数据一致性? 如何进行缓存预热? 如何设计缓存热点探测? 曾经问过一个技术修为很高的朋友,为什么…

系统移植 uboot 1

一、uboot概念 1.1 uboot和bootloader关系 1.bootloader:是一系列引导加载程序的统称 ,uboot是其中之一。 1.2 uboot特点 1.uboot是由德国DNEX小组进行维护的 2.uboot是一个开源分布式系统 3.uboot支持多种硬件架构平台(ARM/X86/POWERPC) 4.uboot短小精悍 5.…

飞轮效应,中国企业级SaaS的一次自我革命

“数智飞轮”“客户成功”,三年时间,用友YonSuite终于按下了发展的“快进键”,中国企业级SaaS的产业革命也就此开始。 前不久,用友发布了2022年三季报。在公司战略增强公有云订阅业务的前提下,中型企业云服务业务收入…

模拟电路设计(38)---基于LT1173的负压产生电路

今天来介绍下LT1173在buck(step-down)模式的工作电路。在介绍PWM电路结构时,有一种形式成为buck型,如下所示: 晶体管开关变换器(buck)电路 LT1173提供了内置开关管的集电极和发射极管脚&#x…

【图像处理OpenCV(C++版)】——2.2 OpenCV之矩阵运算详解(全)

前言: 😊😊😊欢迎来到本博客😊😊😊 🌟🌟🌟 本专栏主要结合OpenCV和C来实现一些基本的图像处理算法并详细解释各参数含义,适用于平时学习、工作快…

一篇文章让你认识与学习bash(干货满满)

Linux界存在着这样一种说法:“在Linux的环境下,如果你不懂bash是什么,那么其他的东西就不用学了。”bash的学习是所有命令行模式与未来主机维护与管理的重要基础,所以得认真对待。 一.硬件、内核与shell 1.1 什么是shell? 看下图…

Linux下安装mysql5.7.18

查询mysql的安装文件: find / -name mysql有安装mysql的路径,有是存放MySQL安装包的路径 卸载mysql: 删除安装路劲 rm -rf /opt/mysql删除配置文件 rm -rf /etc/my.cnf删除/etc/init.d/下跟mysql有关的全部文件,一般包括mysql文件或mys…

浅尝Go语言的协程实现

文章目录为什么需要协程协程的本质协程如何在线程中执行GMP调度模型协程并发为什么需要协程 协程的本质是将一段数据的运行状态进行打包,可以在线程之间调度,所以协程就是在单线程的环境下实现的应用程序级别的并发,就是把本来由操作系统控制…

微服务框架 SpringCloud微服务架构 25 黑马旅游案例 25.1 搜索、分页

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构25 黑马旅游案例25.1 搜索、分页25.1.1 直接开干25 黑马旅游案例 25.1 搜…

PyTorch~自定义数据读取

这次是PyTorch的自定义数据读取pipeline模板和相关trciks以及如何优化数据读取的pipeline等。 因为有torch也放人工智能模块了~ 从PyTorch的数据对象类Dataset开始。Dataset在PyTorch中的模块位于utils.data下。 from torch.utils.data import Dataset围绕Dataset对象分别从…

前端入门必备基础

化繁为简 HTML5要的就是简单、避免不必要的复杂性。HTML5的口号是“简单至上,尽可能简化”。因此,HTML5做了以下改进: 以浏览器原生能力替代复杂的JavaScript代码。 新的简化的DOCTYPE。 新的简化的字符集声明。 简单而强大的HTML5API。…

[附源码]Python计算机毕业设计SSM基于云数据库的便民民宿租赁系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

《Linux运维实战:MongoDB数据库全量逻辑备份恢复(方案一)》

一、备份与恢复方案 mongodump是MongoDB官方提供的备份工具,它可以从MongoDB数据库读取数据,并生成BSON文件,mongodump适合用于备份和恢复数据量较小的MongoDB数据库, 不适用于大数据量备份。 默认情况下mongodump不获取local数据库里面的内容。mongodump仅备份数据库中的文档&…

回溯算法(1)组合

文章目录回溯算法理论77. 组合216. 组合总和17. 电话号码的组合回溯算法理论 回溯算法其实就是递归,只不过递归又分为递去和归来,其中归来便就是回溯。 为什么要使用回溯? 有些问题我们通过暴力解法也很难解决,比如说我们接下来…

C语言学习之路(高级篇)—— 变量和内存分布(上)

说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 数据类型 1) 数据类型概念 什么是数据类型?为什么需要数据类型? 数据类型是为了更好进行内存的管理,让编译器能确定分配…

04 | 云硬盘的使用方法

前期环境: Ubuntu 0 云硬盘类型 云硬盘类型包括: 高性能云硬盘通用型 SSD 云硬盘SSD 云硬盘增强型 SSD 云硬盘极速型 SSD 云硬盘,仅支持随存储增强型云服务器一同购买,不支持单独购买 1 创建云硬盘 1.1 创建方式 1.1.1 单个…