VISA是用于仪器通信的标准 API,可实现不同厂商仪器与计算机的通信。此处展示利用 VISA USB 相关函数与 USB RAW 设备进行通信的流程与操作。
VISA:是连接软件与仪器硬件的桥梁,为仪器通信提供统一接口,支持多种总线(如 GPIB、USB、串口等)。
USB RAW 设备:指通过 USB 总线进行原始数据传输的设备,不依赖特定设备类驱动,可通过自定义控制命令交互。
VISA USB 控制输出(Control Out)VI
功能:向 USB RAW 设备发送控制输出命令,将 Control Out Buffer
中的数据写入设备。
使用场合:需向 USB 设备发送控制指令(如配置设备参数、触发设备动作等)时。
特点:直接针对 USB 设备的控制端点进行操作,可自定义 Request Type
、Request
、Value
、Index
等参数,灵活性高。
使用注意事项:需确保 Request Type
、Request
、Value
、Index
等参数与设备要求匹配,否则可能导致设备无响应或错误。
类似功能对比:与串口通信的 “写入” 函数相比,针对 USB 总线的控制传输,更贴合 USB 设备的控制逻辑;与 GPIB 设备的 “写入” 函数相比,总线协议不同,适配 USB 设备的通信需求。
VISA USB 控制输入(Control In)VI
功能:从 USB RAW 设备读取控制输入响应,将设备返回的数据存入 Control In Buffer
,并返回实际读取长度 Length returned
。
使用场合:需从 USB 设备获取状态、数据等响应时。
特点:可指定读取数据长度 Length
,能灵活获取不同长度的设备返回数据。
使用注意事项:要保证指定的读取长度 Length
合理,若设备返回数据长度与指定长度不符,需根据 Length returned
处理实际数据;同时需确保设备在接收到控制输出命令后能正确返回数据。
类似功能对比:和串口通信的 “读取” 函数相比,适配 USB 控制传输的读操作;与 GPIB 设备的 “读取” 函数相比,基于 USB 总线,满足 USB 设备的读回数据需求。
NI - VISA 驱动是实现 VISA 功能的关键,为 VISA 函数与硬件设备的交互提供底层支持。在使用 VISA USB 函数前,需确保安装该驱动且 USB RAW 设备在 Measurement & Automation Explorer 中正确配置,这样才能保证 VISA 资源能被正确识别与通信。