主要内容

icdevice

创建设备对象

    说明

    使用 icdevice 创建一个 MATLAB® 设备对象。

    创建对象

    描述

    obj = icdevice(driver,hwobj) 创建设备对象 obj。特定于仪器的信息在 MATLAB 接口仪器驱动 driver 中定义,该驱动指定为字符串。与仪器的通信通过接口对象 hwobj 完成。该接口对象可以是串行端口、GPIB、VISA、TCPIP 或 UDP 对象。如果 driver 不存在或者 hwobj 无效,则不创建设备对象。

    设备对象也可以与 VXIplug&play 和可互换虚拟仪器 (IVI®) 驱动结合使用。要使用这些驱动,您必须首先有用于底层 VXIplug&play 或 IVI 驱动的 MATLAB 仪器驱动包装器。如果 MATLAB 仪器驱动包装器尚不存在,可以使用 makemidmidedit 来创建它。请注意,makemidmidedit 只需使用一次来创建 MATLAB 仪器驱动包装器。

    示例

    obj = icdevice(driver,rsrcname) 使用 MATLAB 仪器驱动 driver 创建设备对象 obj。指定的 driver 必须为 MATLAB VXIplug&play 仪器驱动或 MATLAB IVI 仪器驱动,并指定为字符串。与仪器的通信通过由 rsrcname 指定的资源(作为字符串)完成。例如,所有 VXIplug&play 以及许多 IVI 驱动都需要 rsrcname 的 VISA 资源名称。

    示例

    obj = icdevice(driver) 使用 MATLAB 仪器驱动 driver 构造设备对象 obj。指定的 driver 必须为 MATLAB IVI 仪器驱动,并且必须使用逻辑名称引用底层 IVI 驱动。

    obj = icdevice(___,LegacyMode=false) 使用非旧模式创建设备对象,以与 icdevice 对象的最新行为一致。当 LegacyMode=true(默认值)时,icdevice 行为与 R2024b 之前的旧版本一致。(注意:旧模式将在以后的版本中删除。请参阅版本历史记录。)

    obj = icdevice(___,Name,Value) 支持上述语法中的输入参量,且可使用一个或多个名称-值参量构造设备对象 obj

    将可选参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。您可以按照不区分大小写的方式指定名称,并且可以使用名称自动填充。例如,以下命令都有效且是等效的:

    d = icdevice('tektronix_tds210',g,LegacyMode=false);
    d = icdevice('tektronix_tds210',g,Legacy=false);
    d = icdevice('tektronix_tds210',g,legacy=false);

    注意

    当使用 IVI-C 或 VXIplug&play 驱动部署代码时,执行您的代码将通过在 MATLAB 提示符下执行以下代码指定的文件夹中生成附加文件:

    fullfile(tempdir,'ICTDeploymentFiles',sprintf('R%s',version('-release')))

    在所有支持的平台上,会生成一个名为 MATLABPrototypeFor<driverName>.m 的文件,其中 <driverName> 是 IVI-C 或 VXIplug&play 驱动的名称。使用 Windows® 上的 64 位 MATLAB,会生成另一个名为 <driverName>_thunk_pcwin64.dll 的文件。在创建您的已部署应用程序或共享库时,请手动包含这些生成的文件。如果使用 icdevice 函数,请记得还要在已部署的应用程序或共享库中手动包含 MDD 文件。有关包含其他文件的详细信息,请参考 MATLAB Compiler™ 文档。

    示例

    全部折叠

    使用 MATLAB 接口对象和 MATLAB 接口仪器驱动,为连接到 MCC GPIB 板的 Tektronix® TDS 210 示波器创建一个设备对象。

    g = gpib('mcc',0,2);
    d = icdevice('tektronix_tds210',g,LegacyMode=false);

    连接到仪器。

    connect(d);

    列出可以配置的示波器设置。

    props = set(d);

    获取示波器的当前配置。

    values = get(d);

    断开与仪器的连接并进行清理。

    disconnect(d);
    delete([d g]);

    使用 MATLAB VXIplug&play 仪器驱动为 Tektronix TDS 210 示波器创建一个设备对象。

    此示例假定您的系统上已安装 'tktds5k' VXIplug&play 驱动。

    仅当您的系统上不存在适用于 tktds5k 的 MATLAB VXIplug&play 仪器驱动时,才需要执行第一步。

    makemid('tktds5k','Tktds5kMATLABDriver');

    构造一个使用 VXIplug&play 驱动的设备对象。假定该仪器位于 GPIB 主地址 2 上。

    d = icdevice('Tktds5kMATLABDriver','GPIB0::2::INSTR');

    连接到仪器。

    connect(d);

    列出可以配置的示波器设置。

    props = set(d);

    获取示波器的当前配置。

    values = get(d);

    断开与仪器的连接并进行清理。

    disconnect(d);
    delete(d);

    提示

    任何时候,您都可以使用 instrhelp 函数来查看与设备对象关联的属性和函数的完整列表。

    instrhelp icdevice

    当您创建设备对象时,以下属性值会自动配置:

    • Interface 指定用于与仪器通信的接口。对于使用接口对象创建的设备对象,它就是该接口对象。对于 VXIplug&play 和 IVI-C,这是指向驱动会话的会话句柄。对于 MATLAB 仪器驱动,这是指向驱动的默认 COM 接口的句柄。

    • LogicalName 是 IVI 逻辑名称。对于非 IVI 驱动,它为空。

    • Name 是通过将仪器类型与仪器驱动的名称串联起来给出的。

    • RsrcName 是 VXIplug&play 和 IVI 驱动的完整 VISA 资源名称。对于 MATLAB 接口驱动,RsrcName 是空字符向量。

    • Type 是仪器类型(如果已知),例如 scopemultimeter

    • icdevicefind 函数只查找使用 LegacyMode=false 创建的设备连接。

    要与仪器通信,必须使用 connect 函数将设备对象连接到仪器。当构造设备对象时,对象的 Status 属性为 closed。一旦使用 connect 函数将设备对象连接到了仪器,Status 属性就会配置为 open

    注意

    Mac 平台上,icdevice 无法打开其名称或路径中包含非 ASCII 字符的 MDD。

    版本历史记录

    在 R2006a 之前推出

    全部展开