主要内容gydF4y2Ba

创建gydF4y2BaMATLABgydF4y2Ba仪器驱动程序gydF4y2Ba

驱动组件gydF4y2Ba

一个MATLABgydF4y2Ba®gydF4y2Ba仪器驱动程序包含有关仪器的信息,并定义仪器所支持的功能。金宝appgydF4y2Ba

驱动组件gydF4y2Ba

描述gydF4y2Ba

驱动摘要和常用命令gydF4y2Ba

仪器的基本信息,如制造商或型号。gydF4y2Ba

初始化和清理gydF4y2Ba

在仪器控制会话的不同阶段执行的代码,例如,在连接到仪器时执行的代码。gydF4y2Ba

属性gydF4y2Ba

属性通常用于配置或查询仪器的状态信息。gydF4y2Ba

功能gydF4y2Ba

功能通常用于控制或配置仪器。gydF4y2Ba

组gydF4y2Ba

一组将仪器的共同功能组合成一个组件。gydF4y2Ba

驱动器的所有组件可能没有定义,这取决于所使用的仪器和应用程序。您可以使用MATLAB仪表驱动程序编辑器定义应用程序所需的必要驱动组件。gydF4y2Ba

请注意gydF4y2Ba

在Mac平台上,仪器驱动程序编辑器无法打开带有非ascii字符的mdd名称或路径。gydF4y2Ba

MATLABgydF4y2Ba仪表驱动编辑器功能gydF4y2Ba

MATLAB仪表驱动编辑器是一个创建或编辑MATLAB仪表驱动程序的工具。具体来说,它允许你做以下事情:gydF4y2Ba

  • 添加/删除/修改属性。gydF4y2Ba

  • 添加/删除/修改功能。gydF4y2Ba

  • 定义MATLAB代码来包装发送到仪器的命令。gydF4y2Ba

使用以下命令打开MATLAB仪器驱动程序编辑器。gydF4y2Ba

mideditgydF4y2Ba

在本节的其余部分,将描述每个驱动器组件,并将展示如何将驱动器组件信息添加到一个新的MATLAB仪器驱动器,称为gydF4y2Batektronix_tds210_ex.mddgydF4y2Ba.的gydF4y2Batektronix_tds210_ex.mddgydF4y2Ba驱动程序将为Tektronix定义基本信息和仪器功能gydF4y2Ba®gydF4y2BaTDS 210示波器。gydF4y2Ba

储蓄gydF4y2BaMATLABgydF4y2Ba仪器驱动程序gydF4y2Ba

您可以将仪器驱动程序保存到具有任何名称的任意目录。建议将仪器驱动程序保存到MATLAB路径中的一个目录中,并且名称遵循该格式gydF4y2Bamanufacturer_model.mddgydF4y2Ba.例如,与Tektronix TDS 210示波器一起使用的仪器应该保存名称gydF4y2Batektronix_tds210.mddgydF4y2Ba.gydF4y2Ba

驱动摘要和常用命令gydF4y2Ba

您可以将仪器的基本信息分配给MATLAB仪器驱动程序。摘要信息可以用来识别MATLAB仪器驱动器及其所代表的仪器。常用命令可以用于重置、测试和从仪器读取错误消息。这些信息可以一起用于初始化和验证仪器。gydF4y2Ba

本节的主题包括gydF4y2Ba

司机总结gydF4y2Ba

您可以在仪器驱动程序中分配描述仪器的基本信息。这些信息包括仪器的制造商,仪器的型号和仪器的类型。一个版本也可以分配给驱动程序,以协助版本控制。gydF4y2Ba

常用命令gydF4y2Ba

您可以定义仪器支持的基本通用命令。金宝app通过设备对象属性和功能可以访问常用命令。gydF4y2Ba

常用命令gydF4y2Ba

通过设备对象访问gydF4y2Ba

示例命令工具gydF4y2Ba

描述gydF4y2Ba

识别gydF4y2Ba

InstrumentModelgydF4y2Ba财产gydF4y2Ba

*申请?gydF4y2Ba

返回仪器的标识字符串gydF4y2Ba

重置gydF4y2Ba

deviceresetgydF4y2Ba函数gydF4y2Ba

* RSTgydF4y2Ba

将仪器返回到已知状态gydF4y2Ba

自我测试gydF4y2Ba

自我测试gydF4y2Ba函数gydF4y2Ba

*测试?gydF4y2Ba

测试仪器的接口gydF4y2Ba

错误gydF4y2Ba

geterrorgydF4y2Ba函数gydF4y2Ba

ErrLog:下一个?gydF4y2Ba

检索下一个仪器错误消息gydF4y2Ba

MATLAB工具驱动程序编辑器为通用命令分配默认值。应该适当地修改通用命令以匹配仪器的命令集。gydF4y2Ba

定义驱动程序摘要和常用命令gydF4y2Ba

这个例子定义了Tektronix TDS 210示波器的基本驱动信息和常用命令,使用MATLAB仪器驱动编辑器:gydF4y2Ba

  1. 选择gydF4y2Ba总结gydF4y2Ba树中的节点。gydF4y2Ba

  2. 在gydF4y2Ba司机总结gydF4y2Ba面板:gydF4y2Ba

    1. 输入gydF4y2Ba美国泰克gydF4y2Ba在gydF4y2Ba制造商gydF4y2Ba字段。gydF4y2Ba

    2. 输入gydF4y2BaTDS 210gydF4y2Ba在gydF4y2Ba模型gydF4y2Ba字段。gydF4y2Ba

    3. 选择gydF4y2Ba示波器gydF4y2Ba在gydF4y2Ba仪器类型gydF4y2Ba字段。gydF4y2Ba

    4. 输入gydF4y2Ba1.0gydF4y2Ba在gydF4y2Ba驱动程序版本gydF4y2Ba字段。gydF4y2Ba

  3. 在gydF4y2Ba常用命令gydF4y2Ba面板:gydF4y2Ba

    1. 离开gydF4y2Ba识别gydF4y2Ba字段gydF4y2Ba*申请?gydF4y2Ba.gydF4y2Ba

    2. 离开gydF4y2Ba重置gydF4y2Ba字段gydF4y2Ba* RSTgydF4y2Ba.gydF4y2Ba

    3. 离开gydF4y2Ba自我测试gydF4y2Ba字段gydF4y2Ba*测试?gydF4y2Ba

    4. 更新gydF4y2Ba错误gydF4y2Ba字段gydF4y2BaErrLog:下一个?gydF4y2Ba

  4. 单击gydF4y2Ba保存gydF4y2Ba按钮。指定仪器驱动程序的名称为gydF4y2Batektronix_tds210_ex.mddgydF4y2Ba.gydF4y2Ba

请注意gydF4y2Ba

有关仪表驱动器命名法的更多信息,请参阅gydF4y2Ba节省MATLAB仪表驱动器gydF4y2Ba.gydF4y2Ba

验证驱动摘要和常用命令gydF4y2Ba

此过程验证驱动程序摘要和通用命令窗格中定义的摘要信息。在本例中,驱动程序名称为gydF4y2Batektronix_tds210_ex.mddgydF4y2Ba.与Tektronix tds210示波器在主地址2的通信是通过测量计算™公司的GPIB板在板索引0完成的。从MATLAB命令窗口,gydF4y2Ba

  1. 创建设备对象,gydF4y2BaobjgydF4y2Ba,使用gydF4y2BaicdevicegydF4y2Ba函数。gydF4y2Ba

    g =通用接口总线(gydF4y2Ba“世纪挑战集团”gydF4y2Ba0 2);obj = icdevice (gydF4y2Ba“tektronix_tds210_ex.mdd”gydF4y2Bag);gydF4y2Ba
  2. 查看已定义的驱动信息。gydF4y2Ba

    objgydF4y2Ba
    使用驱动程序的仪器设备对象:tektronix_tds210_ex。mdd仪器信息类型:示波器制造商:Tektronix型号:TDS210驱动信息驱动类型:MATLAB接口对象驱动名称:tektronix_tds210_ex。mdd DriverVersion: 1.0 Communication State状态:关闭gydF4y2Ba
    instrhwinfo (obj)gydF4y2Ba
    ans = struct with fields: Manufacturer: 'Tektronix' Model: 'TDS210' Type: '示波器' DriverName: 'C:\Program Files\MATLAB\R2019b\toolbox\instrument\instrument\drivers\tektronix_tds210_ex.mdd'gydF4y2Ba
  3. 连接仪器。gydF4y2Ba

    连接(obj)gydF4y2Ba
  4. 验证通用命令。gydF4y2Ba

    obj。InstrumentModelgydF4y2Ba
    ans = TEKTRONIX,TDS 210,0,CF:91.1CT FV:v2.03 TDS2MM:MMV:v1.04gydF4y2Ba
    devicereset (obj)gydF4y2Ba
    自我测试(obj)gydF4y2Ba
    ans = 0gydF4y2Ba
    geterror (obj)gydF4y2Ba
    ans = "gydF4y2Ba
  5. 断开仪器并删除对象。gydF4y2Ba

    断开(obj)删除([obj g])gydF4y2Ba

初始化和清理gydF4y2Ba

本节描述如何定义在仪器控制会话的不同阶段执行的代码,以便在特定时间将仪器设置为所需的状态。具体来说,您可以定义在设备对象创建之后、设备对象连接到仪器之后或设备对象与仪器断开连接之前执行的代码。根据阶段的不同,代码可以定义为将被写入仪器的仪器命令列表或MATLAB代码。gydF4y2Ba

本节的主题包括gydF4y2Ba

  • 可定义的代码类型的定义gydF4y2Ba

  • 每个受支持阶段的代码示例金宝appgydF4y2Ba

  • 用于验证代码的步骤gydF4y2Ba

创建代码gydF4y2Ba

你定义create代码来确保设备对象被配置为支持必要的属性和函数:金宝appgydF4y2Ba

  • 创建代码在设备对象创建之后立即执行。gydF4y2Ba

  • Create代码只能定义为MATLAB软件代码。gydF4y2Ba

定义创建代码gydF4y2Ba

这个例子定义了创建代码,确保设备对象可以传输最大波形大小,2500个数据点,由Tektronix TDS 210示波器支持。金宝app在MATLAB仪表驱动编辑器中,gydF4y2Ba

  1. 选择gydF4y2Ba初始化和清理gydF4y2Ba树中的节点。gydF4y2Ba

  2. 单击gydF4y2Ba创建gydF4y2Ba标签并输入MATLAB软件代码执行设备对象创建。gydF4y2Ba

    获取接口对象并断开与仪器的连接。gydF4y2Bag = obj.Interface;文件关闭(g);gydF4y2Ba配置接口对象的缓冲区以处理到gydF4y2Ba% 2500点(每点2个字节需要5000字节)。gydF4y2Bag.InputBufferSize = 5000;g.OutputBufferSize = 5000;gydF4y2Ba
  3. 单击gydF4y2Ba保存gydF4y2Ba按钮。gydF4y2Ba

验证创建代码gydF4y2Ba

本程序验证了MATLAB软件创建代码的定义。在本例中,驱动程序名称为gydF4y2Batektronix_tds210_ex.mddgydF4y2Ba.与Tektronix tds210示波器在主地址2的通信是通过测量计算公司的GPIB板在板索引0完成的。gydF4y2Ba

  1. 从MATLAB命令行,创建接口对象,gydF4y2BaggydF4y2Ba;并验证默认的输入和输出缓冲区大小值。gydF4y2Ba

    g =通用接口总线(gydF4y2Ba“世纪挑战集团”gydF4y2Ba0 2);g.InputBufferSizegydF4y2Ba
    ans = 512gydF4y2Ba
    g.OutputBufferSizegydF4y2Ba
    ans = 512gydF4y2Ba
  2. 创建设备对象,gydF4y2BaobjgydF4y2Ba,使用gydF4y2BaicdevicegydF4y2Ba函数。gydF4y2Ba

    obj = icdevice (gydF4y2Ba“tektronix_tds210_ex.mdd”gydF4y2Bag);gydF4y2Ba
  3. 通过查询接口对象的缓冲区大小来验证创建代码。gydF4y2Ba

    g.InputBufferSizegydF4y2Ba
    ans = 5000gydF4y2Ba
    g.OutputBufferSizegydF4y2Ba
    ans = 5000gydF4y2Ba
  4. 删除的对象。gydF4y2Ba

    删除((obj g))gydF4y2Ba

连接代码gydF4y2Ba

在大多数情况下,当您将设备对象连接到设备时,您需要知道设备的状态或配置。您可以定义连接代码,以确保正确配置仪器以支持设备对象的属性和函数。金宝appgydF4y2Ba

连接代码在设备对象与仪器连接后立即执行gydF4y2Ba连接gydF4y2Ba函数。连接代码可以定义为一系列将被写入仪器的仪器命令或MATLAB软件代码。gydF4y2Ba

定义连接代码gydF4y2Ba

此示例定义连接代码,确保Tektronix TDS 210示波器配置为支持设备对象属性和功能。金宝app具体来说,仪器将被返回到一组已知的仪器设置(仪器复位),并且仪器将被配置为忽略查询响应上的标头。gydF4y2Ba

  1. 从MATLAB的仪器驱动编辑器中,选择gydF4y2Ba初始化和清理gydF4y2Ba树中的节点。gydF4y2Ba

  2. 单击gydF4y2Ba连接gydF4y2Ba选项卡,并输入当设备对象连接到仪器时要执行的仪器命令。gydF4y2Ba

    • 选择gydF4y2Ba仪器命令gydF4y2Ba从gydF4y2Ba函数的风格gydF4y2Ba菜单。gydF4y2Ba

    • 进入gydF4y2Ba* RSTgydF4y2Ba命令的gydF4y2Ba命令gydF4y2Ba文本字段,然后单击gydF4y2Ba添加gydF4y2Ba.gydF4y2Ba

    • 进入gydF4y2Ba头了gydF4y2Ba命令的gydF4y2Ba命令gydF4y2Ba文本字段,然后单击gydF4y2Ba添加gydF4y2Ba.gydF4y2Ba

  3. 单击gydF4y2Ba保存gydF4y2Ba按钮。gydF4y2Ba

验证连接代码gydF4y2Ba

这个过程验证在连接代码中定义的仪器命令。在本例中,驱动程序名称为gydF4y2Batektronix_tds210_ex.mddgydF4y2Ba.与Tektronix tds210示波器在主地址2的通信是通过测量计算公司的GPIB板在板索引0完成的。gydF4y2Ba

  1. 从MATLAB命令行,创建设备对象,gydF4y2BaobjgydF4y2Ba,使用gydF4y2BaicdevicegydF4y2Ba函数。gydF4y2Ba

    g =通用接口总线(gydF4y2Ba“世纪挑战集团”gydF4y2Ba0 2);obj = icdevice (gydF4y2Ba“tektronix_tds210_ex.mdd”gydF4y2Bag);gydF4y2Ba
  2. 连接仪器。gydF4y2Ba

    连接(obj)gydF4y2Ba
  3. 通过查询仪器的头部状态来验证连接代码。gydF4y2Ba

    查询(g,gydF4y2Ba“头?”gydF4y2Ba)gydF4y2Ba
    ans = 0gydF4y2Ba
  4. 断开仪器并删除对象。gydF4y2Ba

    断开(obj)删除([obj g])gydF4y2Ba

断开连接代码gydF4y2Ba

通过定义断开代码,可以确保仪器和设备对象在与仪器通信完成后返回到已知状态。gydF4y2Ba

断开代码在设备对象与仪器断开连接之前被计算gydF4y2Ba断开连接gydF4y2Ba函数。这允许断开代码与仪器通信。断开代码可以定义为将写入仪器的一系列仪器命令,也可以定义为MATLAB软件代码。gydF4y2Ba

定义断开代码gydF4y2Ba

这个例子定义了断开代码,确保Tektronix TDS 210示波器在使用设备对象与仪器通信后返回到已知状态。gydF4y2Ba

  1. 从MATLAB的仪器驱动编辑器中,选择gydF4y2Ba初始化和清理gydF4y2Ba树中的节点。gydF4y2Ba

  2. 单击gydF4y2Ba断开连接gydF4y2Ba标签,输入MATLAB软件代码,当设备对象与仪器断开连接时执行。gydF4y2Ba

    • 选择gydF4y2BamgydF4y2Ba从gydF4y2Ba函数的风格gydF4y2Ba菜单。gydF4y2Ba

    • 定义将重置仪器并将接口对象的缓冲区配置为默认值的MATLAB软件代码。gydF4y2Ba

      %获取接口对象。gydF4y2Bag = obj.Interface;gydF4y2Ba将仪器复位到已知状态。gydF4y2Ba流(g,gydF4y2Ba‘* RST‘gydF4y2Ba);gydF4y2Ba
  3. 单击gydF4y2Ba保存gydF4y2Ba按钮。gydF4y2Ba

验证断开代码gydF4y2Ba

本程序验证了MATLAB软件中定义的断开代码。在本例中,驱动程序名称为gydF4y2Batektronix_tds210_ex.mddgydF4y2Ba.与Tektronix tds210示波器在主地址2的通信是通过测量计算公司的GPIB板在板索引0完成的。在MATLAB命令行中,gydF4y2Ba

  1. 创建设备对象,gydF4y2BaobjgydF4y2Ba,使用gydF4y2BaicdevicegydF4y2Ba函数。gydF4y2Ba

    g =通用接口总线(gydF4y2Ba“世纪挑战集团”gydF4y2Ba0 2);obj = icdevice (gydF4y2Ba“tektronix_tds210_ex.mdd”gydF4y2Bag);gydF4y2Ba
  2. 连接仪器。gydF4y2Ba

    连接(obj)gydF4y2Ba
  3. 改变仪器上的一些设置,以便在断开连接时可以观察到变化。例如,可以通过按示波器的前面板来改变示波器的对比度gydF4y2Ba显示gydF4y2Ba按钮,然后gydF4y2Ba相比减少gydF4y2Ba按钮。gydF4y2Ba

  4. 断开仪器,观察其显示复位。gydF4y2Ba

    断开(obj)gydF4y2Ba
  5. 删除的对象。gydF4y2Ba

    删除((obj g))gydF4y2Ba