过去40年来,IEEE-488接口的软件编程环境得到了显著改善。例如,IEEE-448.2标准扩展定义了一系列底层仪器和总线命令,仪器必须支持这些命令才能符合标准。此外,业界还采用了更高级别的仪器编程命令标准化,即可编程仪器标准命令(SCPI),这显著缩短了测试开发时间,并减少了现有软件的维护时间。尽管SCPI的实施已被仪器供应商广泛接受,但负责仪器自动化的工程师仍然需要承担大部分的仪器编码工作。.


为了提高仪器自动化的抽象层次,人们首先开发了专有编程环境的仪器驱动程序,后来又开发了更具互操作性、基于标准的驱动程序。如今的仪器能够执行各种复杂的分析和测量,其中许多仪器被设计为可在 Microsoft 操作系统上运行的应用程序。Microsoft 的 .NET 基础架构使仪器供应商能够提供更深入的仪器测量信息,而无需查阅 SCPI 程序员指南或学习使用特定的驱动程序套件。基于 Microsoft .NET 技术的仪器驱动程序软件的出现,为自动化工程师提供了更快的测试软件开发速度,并使他们能够更轻松地访问仪器生成的复杂测量信息。
本文旨在阐述示波器供应商如何在其数字变送器合规性测试产品中实现 .NET 技术,从而为客户的自动化代码提供易于访问的增值测量信息。.NET 技术促成了一个通用框架的创建,该框架用于构建所有符合特定标准的合规数据通信应用程序,这些应用程序旨在处理针对特定标准的数字变送器测试。 .NET 技术不仅帮助了示波器厂商的内部开发人员,还提供了高度抽象的架构,使客户能够利用远程执行和客户端自动化功能。随着设备速度更快、体积更小,当前数字设备生态系统中的测量工作也变得越来越复杂。直到最近,自动化工程师还负责创建测量算法,以执行符合特定标准(例如 PCI Express、SAS 和其他数据通信标准)的合规性测试。如今,客户根本没有足够的软件工程师来应对数据通信标准的不断变化。客户现在期望示波器厂商能够提供必要的软件,以验证设备是否符合特定标准。
    

在早期的示波器中,工程师通常需要自行编写算法来测量电信号的上升时间和下降时间。直到20世纪后期,这些测量功能才被集成到示波器固件中。20世纪90年代,工程师们期望示波器能够提供基本的测量功能,例如上升时间测量。而到了21世纪,客户期望示波器供应商能够满足特定数据通信标准的测试挑战,并提供完整的测量解决方案,同时还能通过自动化代码轻松访问这些功能。示波器供应商的产品必须体现其在测量技术方面的持续投入,以满足当前和未来数据通信标准的要求。通常
情况下,那些在其产品中融入更多测量技术的示波器供应商会积极参与PCI Express、SATA、JEDEC和USB-IF等标准组织。积极参与这些标准制定,能够帮助供应商定义旨在确保与特定标准兼容的设备之间互操作性的测试规范。一旦确定了测试需求,示波器供应商即可实现标准中定义的各种测量方法,并将其集成到示波器软件产品中。客户随后即可访问一套基于示波器供应商.NET技术支持的、符合标准的测试软件,以验证其设备是否符合特定的数据通信标准。除了提供用户友好的图形界面方便客户操作示波器外,该软件平台还应支持完全远程访问。能够为各种数据通信标准提供测试软件包的示波器供应商,将显著提高客户工程人员的工作效率。示波器供应商负责解读标准的测试规范,并负责开发测量软件包和提供技术支持。此外,由于示波器供应商提供测量软件包,客户自身的工程团队与其客户团队之间可以更好地关联测试数据,因为所有参与方都使用通用的测试方法和算法。
 
DDR4 样品测试报告图 1 展示了一个软件包示例,该软件包提供了 DDR4 计算机内存标准中定义的可用测试。客户选择感兴趣的测试和测量,示波器供应商的自动化软件将执行相应的算法。选择示波器供应商时,务必确保其基于标准的测量软件具有一致性。DDR4 测试软件包应与 PCI Express 测试软件包保持一致,从而提高最终用户的效率和生产力。
 
一个用于根据数据通信标准执行测试的综合软件包应以易于阅读的格式生成数据,如图 2 所示。包含所有已执行测试的屏幕截图(如适用)以及通过/失败/裕度信息的 HTML 报告,在与客户自己的工程团队和客户共享时,将为客户带来显著价值。
 
    现代 21 世纪示波器被视为测量系统,其创新的轮询功能可用于访问无法通过直接射频电缆访问的信号。基于FPGA的算法引擎,通过访问外部加密语言和数学库,对于分析和生成现代数字设备所需的许多测量值至关重要。如图1所示,通过交互式图形用户界面访问所需的测试固然重要,但能够从客户的自动化代码中执行这些测试同样重要。自动化工程师可能还需要在运行预定测试之前监控电源或环境摄像头,并将测量数据集成到企业数据库中。如果示波器供应商能够提供与交互式图形用户界面中相同的无缝自动化接口,不仅能为自动化工程师带来显著价值,更重要的是,还能 测试菜单-w更好地利用公司的工程资源。基于.NET技术的软件框架使自动化工程师能够访问示波器供应商为数据通信标准设计的测量软件的所有功能。此外,它还允许工程师深入研究异步运行时事件,从而集成辅助仪器的自动化功能——例如,通过编程方式响应消息指示“将电源输出更改为 1V 并单击‘确定’继续”。这些事件不再需要耗时的手动干预。
    以下 Python 示例展示了如何使用 .NET 套件,可以为自动化工程师提供完美的抽象层,而无需让他们被设置测试条件、管理测试流程以及最终管理测量数据等细节所淹没。Microsoft 的公共语言运行时引擎 (CLR) 可以轻松地从各种编程语言(例如 Visual Basic、C# 和 C++)以及图形化编程语言(例如 Keysight 的 VeePro 和 NI 的 LabWindows 和 LabVIEW)加载 .NET 套件。此外,.NET 技术可以扩展到涵盖各种自动化任务,包括控制环境摄像机、与被测设备通信、切换矩阵,当然还有示波器以外的其他仪器。
import clr
clr.AddReference("Keysight.Infiniium.AppFW.Remote")
from Keysight.Infiniium.AppFW.Remote import *
需要通过以太网连接示波器,才能访问 .NET 数据集中公开的方法和属性。
remoteObj = RemoteAteUtilities.GetRemoteAte("192.168.1.107")
remoteApp = IRemoteAte(remoteObj)
    现在,名为 remoteApp 的对象可以访问测量软件包中所有与所选数据通信标准相关的功能,就像通过测试软件包的图形用户界面进行交互式操作一样。以下代码是自动化工程师创建新项目所需的代码,类似于通过测量软件包的图形用户界面,使用“文件”->“新建项目”来创建新项目。
remoteApp.NewProject(True)

    以下代码检索与图 1 中交互式运行测量软件包时相同的信息。自动化工程师一旦了解了可用的测试,就可以像在图 1 中选中测试名称旁边的复选框一样,以编程方式选择它们。实际上,图形用户界面会反映工程师远程编写的程序,这极大地帮助了代码调试。`myAvailableTests
= remoteApp.GetCurrentOptions("TestsInfo")
` 获取 `myAvailableTests` 的信息:// 以下 for 循环提取可用测试的名称和 ID `
  myTestName = info.Name`  
  `myTestId = info.ID` `
testToSelect = myAvailableTests[0].ID` // 从可用测试中选择第一个测试执行
`remoteApp.SelectedTests = [testToSelect]`
以下代码执行所选测试并创建 HTML 报告,如图 2 所示。MY_HTML 文件创建在 C:\data 文件夹中。
remoteApp.Run()
descriptionHtmlString = 'MY_HTML'
saveResultHtmlOptions = ExportHtmlOptions()
saveResultHtmlOptions.ReportName = descriptionHtmlString
saveResultHtmlOptions.OverwriteExisting = True
saveResultHtmlOptions.BasePath = "C:\data"
remoteApp.ExportResultsHtmlCustom(saveResultHtmlOptions);
高效使用 .NET 套件的关键文档是示波器供应商提供的全面且最新的帮助文件。以下摘自帮助文件,定义了创建 HTML 报告时可用的选项。这些选项已在前面的 Python 示例中实现。ExportHtmlOptions
属性 Keysight DigitalTestApps .NET
远程接口 远程接口版本 3.40
ExportHtmlOptions 类型公开以下成员。


属性
名称和描述
BasePath:报告的保存路径。将创建一个名为 ReportName 的子目录。

OverwriteExisting:将此属性设置为 true 可覆盖指定位置中同名的现有报表。ReportName
:要生成的报表的名称。

更棒的是图形用户界面中集成的指示器,它们可以回答诸如“此复选框选择哪个自动化命令?”之类的问题。
企业再也无法承担将宝贵的工程资源投入到理解特定数据通信标准的所有测试要求,然后再资助开发执行该标准所需测量的软件。一旦示波器供应商成为特定数据通信标准测量软件包的供应商,客户的工程师就可以更快地专注于从软件包生成的测量数据中获取有关其产品的宝贵见解。使用同一版本的测量软件包关联从不同示波器获得的数据,可以提高客户工程人员的工作效率。客户将继续寻求示波器供应商提供的示波器测量系统,该系统包含与其设备的连接解决方​​案(例如探头)、支持不同数据通信标准的测量软件包,以及高度抽象的测量软件包,这使得自动化工程师能够轻松地从其内部自动化软件控制测量软件包的执行。

更多信息