LabVIEW的VISA USB通信功能 点击:4 | 回复:0



fjczd

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1367帖 | 123回
  • 年度积分:1089
  • 历史总积分:3613
  • 注册:2008年8月14日
发表于:2025-08-18 07:26:07
楼主

VISA是用于仪器通信的标准 API,可实现不同厂商仪器与计算机的通信。此处展示利用 VISA USB 相关函数与 USB RAW 设备进行通信的流程与操作。

编辑

概念说明

  • VISA:是连接软件与仪器硬件的桥梁,为仪器通信提供统一接口,支持多种总线(如 GPIB、USB、串口等)。

  • USB RAW 设备:指通过 USB 总线进行原始数据传输的设备,不依赖特定设备类驱动,可通过自定义控制命令交互。

VI 说明

  • VISA USB 控制输出(Control OutVI

    • 功能:向 USB RAW 设备发送控制输出命令,将 Control Out Buffer 中的数据写入设备。

    • 使用场合:需向 USB 设备发送控制指令(如配置设备参数、触发设备动作等)时。

    • 特点:直接针对 USB 设备的控制端点进行操作,可自定义 Request TypeRequestValueIndex 等参数,灵活性高。

    • 使用注意事项:需确保 Request TypeRequestValueIndex 等参数与设备要求匹配,否则可能导致设备无响应或错误。

    • 类似功能对比:与串口通信的 “写入” 函数相比,针对 USB 总线的控制传输,更贴合 USB 设备的控制逻辑;与 GPIB 设备的 “写入” 函数相比,总线协议不同,适配 USB 设备的通信需求。

  • VISA USB 控制输入(Control InVI

    • 功能:从 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 资源能被正确识别与通信。





热门招聘
相关主题

官方公众号

智造工程师