2023年12月22日发(作者:)

RIGOL产品USB程控开发指南

RIGOL产品USB程控开发指南

1. 正确安装USB驱动

首次使用USB线连接计算机与RIGOL产品时计算机会自动弹出“找到新硬件向导”,如图1-2所示。如果没有弹出,可在“我的电脑”的右键菜单中选择“管理”,选择“设备管理器”进入图1-1所示的界面。

图1-1 设备管理器

这时会如图1-1所示看到USB Device处有一个黄色感叹号,表明该设备没有驱动。这时可在该项目的右键菜单中选择“更新驱动程序”则进入如图1-2所示的“找到新硬件向导”。

1

RIGOL产品USB程控开发指南

图1-2 新硬件向导

选择“否,暂时不”进入下一步,如图1-3所示界面。

图1-3 从指定位置安装驱动

选择“从列表或指定位置安装”,进入下一步,如图1-4所示界面。

2

RIGOL产品USB程控开发指南

图1-4 在指定位置上搜索驱动

选择“在这些位置上搜索最佳驱动程序”,选择“在搜索中包括这个位置”浏览选中DEMO程序中的Dirver文件夹。进入下一步,如图1-5所示界面。

图1-5 更新驱动

3

RIGOL产品USB程控开发指南

在自动安装结束后,选择“完成”即完成硬件更新。驱动名为“Rigol USB Test

and Measurement Device” ,如图1-6所示界面。

图1-6 完成向导

2.USB外设初始化

使用USB接口对仪器进行程控开发需要首先对USB接口进行初始化,初始化的内容包括“获取当前系统中的设备数目”以及“外设仪器识别”两个部分。

在RigolTMCUsb_中提供了获取系统中TMC设备数目的函数“GetTMCDeviceNum”。该函数返回值为Byte型变量。可用于判断系统中连接的TMC设备数目,0表示没有TMC设备连接。在得到了所连接的TMC外设数量后,系统都会为每一个外设都分配一个设备序号,该序号用于在读/写USB函数中的“devIndex”参数,区分该读/写命令所对应的仪器。识别仪器时可采用SCPI命令“*IDN?”来查询仪器厂商名、型号、序列号、版本号等信息。

3.读写USB函数说明

3.1 建立传输标志

在进行写USB函数前,需要为该“写”操作建立一个独立的传输标志,BuildBulkbTag()函数就提供了建立传输标志的功能,其中的bulkOutbTag定义为0到255之间的字节形变量,每次调用该函数后,bulkOutbTag自加1,该参4

RIGOL产品USB程控开发指南

数用于写USB函数中做传输标志位参数“bTag”使用。

3.2 写USB函数

写USB就是将仪器命令通过USB接口写入仪器的函数。该功能可通过“WriteUSB”函数实现。

WriteUSB函数定义为WriteUSB (ByVal devIndex As Long, ByVal MsgID As

Integer, ByVal bTag As Byte, ByVal wLength As Long, yVal pBuffer As Long)

As Boolean,各参数说明如表3-1。

表3-1 WriteUSB函数说明

参数名 数据类型

Long

Int

Byte

Long

Long

说明

devInde

MsgID

bTag

wLength

pBuffer

设备编号

驱动用消息id

传输标志位

需要从USB端口读取数据的长度(字节为单位)

应用程序端开辟该存储空间用于存放要写入设备的数据

通过该函数可将仪器接口命令发送给仪器,以完成相应的功能,如果是查询命令,仪器会将查到的数据存储在仪器内部的缓存中。接口命令的定义及使用方法,请查看仪器相应的编程手册,该手册可从RIGOL官方网站上下载。

3.3 读USB函数

读USB函数是将仪器缓存中的数据通过USB接口读回PC机的函数,该功能可通过“ReadUSB”函数实现。

“ReadUSB”函数定义为ReadUSB (ByVal devIndex As Long, ByVal wLength

As Long, ByVal pBuffer As Long) As Boolean,各参数说明如表3-2。

表3-2 ReadUSB函数说明

参数名 数据类型

Long

Long

Long

说明

devInde

wLength

pBuffer

设备编号

需要从USB端口读取数据的长度(字节为单位)

接收返回数据的存储空间的指针(应用程序端开辟该存储空间)

通过该函数可将仪器内缓存中的数据读回PC机。

详细使用方法,请参见DEMO例程。

5