LabVIEW论坛
直播中

荣琪

8年用户 689经验值
擅长:可编程逻辑 测量仪表 嵌入式技术
私信 关注
[问答]

如何在不安装NI MAX的情况下识别并获得设备的有效VISA资源句柄

想请教的都在图片里说明啦,大神们。感觉思维受限了,想请教请教。
捕获.JPG


总结:不想安NI MAX,还想用官方驱动Vi(需要VISA资源句柄接口),能否实现?

重写官方驱动将VISA改成TCP接口太费事了~~~
已退回20积分

回帖(3)

荣琪

2020-9-21 19:49:43
问题背景:
如果改成打开TCP来连接仪表,只要支持网口的设备,应该都可以获得有效连接。这样就摆脱了NI MAX。
但是,官方驱动(很庞大的Vi群,上万的Vi)都是VISA接口。
而仅重写一个常用的Read Y Trace Vi (改为TCP接口)有时要重写几十个子Vi(多态)。

因此才有这样的问题。
6 举报
  • 王志博: NIMAX无法单独安装,只要你安装VISA,daqmx等任一驱动就会有NIMAX,你是想摆脱VISA还是MAX,MAX在大部分编程里并没有什么用呀
  • 荣琪 回复 王志博: VISA是肯定要装了。但好像必须有NI MAX才能自动识别出某些设备(VISA资源名句柄)。
    我尝试过生成安装包时将NI MAX打包进去,但原理还是附带一个LabVIEW的安装包,感觉和安装LabVIEW没区别,因此想摆脱 NI MAX。
  • 荣琪 回复 王志博: 根据前辈的经验,就算有NI MAX有些设备可能也识别不到(有些国产的),即VISA句柄识别不到。因此考虑主动尝试打开TCP(Connect ID句柄),这样只要有适配的IP和Port,就可以识别到各类设备了。
  • 荣琪 回复 王志博: 官方文档好像也暗示若是VISA资源名函数识别不出仪表,要打开NI MAX配置一下才行,但是我不想让用户还要再学习怎么配置NI MAX。
  • 王志博 回复 荣琪: 那你试过NI的VISA驱动向导没有,做一个驱动后再试试看目标电脑能不能正常识别
  • 荣琪 回复 王志博: 我换个简单的描述吧,我可能没表达清楚。
    目前使用TCP的方式已经可以识别任意仪表了。但是这样获得的是Connect ID,而不是VISA资源句柄,因此不能使用设备厂家官方提供的控制Vi(是VISA端口的)。

    请问如何解决?

    我的预计方式:
    方式1:放弃TCP方式,直接改为VISA方式,通过编程直接获取VISA(或直接放置VISA句柄控件)。缺点:依赖NI MAX,当然肯定也更依赖VISA驱动。某些情况下,识别不到设备,还需要用户手动配置NI MAX,易用性不强。
    放弃方式1
    方式2:继续使用TCP方式识别设备型号,保证能识别全部设备,随后通过某种方式(见图片),在知道IP和Port情况下,转换出VISA句柄。但是目前不知道这样的句柄能否有效?若有效,能不能在没有NI MAX的情况下依然有效?
    请教您方式2。

vay

2022-6-30 17:02:36
我也有同样的烦恼
举报

vay

2022-6-30 17:07:57
我在VISA资源里手动输入IP+端口完整的合规的名称都不行,必须在MAX里添加一下才可以用,确实很烦。值得注意的是在MAX里也并不需要真的连接上设备,不需要识别,仅仅是一个添加的操作,谜之设计
举报

更多回帖

发帖
×
20
完善资料,
赚取积分