5. 仪器驱动程序和直接 SCPI 命令

CH5_InstrumentDriversLayer_16x9.png

前面几章介绍了如何使用直接 SCPI 命令远程控制罗德与施瓦茨仪器。除了这种方法,罗德与施瓦茨还提供免费的仪器驱动程序,能够在应用程序和仪器的 SCPI 命令之间提供一个抽象层。

除了使用 VISA Write/Read 函数和直接 SCPI 命令,您也可以使用仪器驱动程序的功能和属性。下图展示了 LabVIEW rsscope 仪器驱动程序提供的替代方法:

下图展示了 IVI.NET RsScope 仪器驱动程序使用 C# 语言提供的相同替代方法。您可以单独设置参数属性,或者使用以下方法设置多个参数:

为简单起见,上图中的直接 SCPI 命令未包含仪器驱动程序执行的所有操作。例如,驱动程序会等待仪器确认已执行命令(参阅第 6 章《测量同步》)并在执行每个命令后检查可能出现的错误(参阅第 7 章《仪器错误检查》使用直接 SCPI 命令时,您必须自行处理这两项任务。

直接 SCPI 命令的优缺点

优点:

  • 启动更快;仪器使用手册包含描述的所有 SCPI 命令。
  • 执行速度更快。

缺点:

  • 您需要自行执行测量同步和仪器错误检查。
  • 您必须将参数格式化为 SCPI 命令。二进制数据的格式化操作尤为棘手。
  • 接收到仪器的字符串响应时,您需要将其转换为合适的类型(例如整数、双精度或布尔型、数组或二进制数据)。

仪器驱动程序的优缺点

优点:

  • 在执行每个命令后检查错误。如果您需要在重要应用中实现最大执行速度,可以关闭此功能。
  • 同步需要较长时间才能完成的命令。
  • 已实现将参数格式化为 SCPI 命令和解析仪器响应。
  • 仪器驱动程序带有各自的 *.chm 帮助文件。
  • 仪器驱动程序同样支持您选用直接 SCPI 命令。

缺点:

  • 学习曲线较长,您必须熟悉驱动程序架构。
  • 开销较小。您可以使用正确方法尽量减轻这种不利影响;详情参阅第 8 章《速度优化》
  • 有时候,仪器驱动程序必须过一段时间才能支持新的仪器功能。

罗德与施瓦茨仪器驱动程序对不同编程语言的适用性

下表显示了不同仪器驱动程序适用的编程语言。我们之后会详细讨论不同的编程环境。

VXI plug&play 驱动程序 LabWindows/CVI 驱动程序 LabVIEW 驱动程序 IVI.NET 驱动程序 SCPI 驱动程序
Python X(体积庞大) X(部分仪器)
MATLAB X
C#,VB.NET X(如果 IVI.NET 不可用) X X(部分仪器)
LabVIEW X
LabWindows/CVI X

对于 Python 用户

目前,罗德与施瓦茨为 pypi 储存库中的仪器提供基于 Python 3.6+ SCPI 的仪器驱动程序,包括:CMWSMxCMACMX/CMPOSP
对于不提供 Python 仪器驱动程序的仪器,我们建议使用直接 SCPI 命令。

对于 MATLAB 用户

罗德与施瓦茨提供 MATLAB MDD 驱动程序。使用 MDD 驱动程序要求您熟知 VXI plug&play 驱动程序结构,还必须从驱动程序头文件手动导入所有枚举常量。除此之外,您还需要拥有 MATLAB Instrument Control Toolbox 许可证。我们建议 MATLAB 用户使用直接 SCPI 命令。以下应用指南介绍了这两种方法:

1MA171:如何在 MATLAB 中使用罗德与施瓦茨仪器

对于 LabVIEW 用户

罗德与施瓦茨提供本机 LabVIEW 驱动程序。有关详细信息,可以参阅应用指南:

1MA228:有关如何使用罗德与施瓦茨 LabVIEW 仪器驱动程序的 10 个提示和技巧

对于 C#、VB.NET 用户

您可以选择以下两种方法:

  • IVI.NET 驱动程序 - 适用于几乎所有仪器。您还可以使用 C# 和 VB.NET 封装类附带的 VXI plug&play 驱动程序。有关详细信息,可以参阅应用指南:
    1MA268:如何使用罗德与施瓦茨 IVI.NET 仪器驱动程序
    您可以从我们的产品网站下载驱动程序。
  • 基于 SCPI 的驱动程序 - 这些驱动程序根据仪器的 SCPI 树自动生成,并严格遵循 SCPI 树语法。如果您习惯使用 SCPI 命令,可以使用这些驱动程序。这些驱动程序为 SCPI 提供智能感知帮助和类型安全接口。您可以从 nuget.org 网站将驱动程序下载为 NuGet 程序包:
    https://www.nuget.org/profiles/rohde-schwarz

对于 LabWindows/CVI 和其他 C/C++ 环境中的用户

VXI plug&play 驱动程序是经过编译的 CVI 驱动程序,适用于 32 位和 64 位 Windows 应用程序。您可以通过 C/C++ 语言使用这些驱动程序。

如要使用 CVI 驱动程序,您需要将其整个源代码添加到项目中。

如要使用 VXI plug&play 驱动程序,您需要将驱动程序的 LLB 文件(用于静态链接)或 DLL 文件(用于动态链接)添加到项目中。

请求信息

如果您有任何疑问或需要了解更多信息,请填写此表格,我们会尽快回复您。

推广许可

你的申请已提交,我们稍后会联系您。
An error is occurred, please try it again later.