通过NI-VISA辨别多个同种的USB RAW设备



主要软件:
主要软件版本: 1.1
主要软件修正版本: N/A
次要软件: N/A

问题:

我使用VISA驱动开发向导(VISA Driver Development Wizard)为我的USB RAW设备开发USB驱动。当我插入USB设备时,可以通过Measurement & Automation Explorer (MAX)检测到我的设备,并且可以通过MAX和我的USB设备通信。

我还有一个USB设备,和第一台具有相同的产品ID(Product ID,PID)和生产商ID(Vendor ID,VID)。当我分别两个设备插入控制器时,没有任何问题;但当我将它们同时插入控制器时,MAX只检测到了一个设备。

为什么会产生这个问题?



解答:

 典型的,USB RAW设备的源名形式为USB0::0x046D::0xC01A::NI-VISA-0::RAW。另一个同样地设备的源名形式为USB0::0x046D::0xC01A::NI-VISA-1::RAW。如果USB设备的SN(Serial Number)是由编程写入的,那么通过VISA配置后,实际的SN(Serial Number)将代替NI-VISA-x,即:

USB0::0x046D::0xC01A::DeviceSerialNumber::RAW

所以,解决以上问题的方法就是为每个USB设备分配不同的SN(Serial Number)。

注:不能通过为VISA源分配别名以达到分别显示的目的,因为VISA需要通过VISA源来关联不同的设备。



相关链接: KnowledgeBase 325APJ2Y: How Can I Communicate With a Device Using NI-VISA USB RAW Mode?

附件:





报告日期: 06/24/2009
最近更新: 09/13/2011
文档编号: 4YN9DFR7