主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

icdevice

创建设备对象

    说明

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

    创建对象

    描述

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

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

    示例

    obj = icdevice(driver,rsrcname) 使用 MATLAB 仪器驱动 driver 创建设备对象 obj。指定的 driver 必须是 MATLAB VXI 即插即用仪器驱动或 MATLAB IVI 仪器驱动,并且以字符串形式指定。与仪器的通信是通过 rsrcname 以字符串形式指定的资源完成的。例如,所有 VXI 即插即用和许多 IVI 驱动都需要 rsrcname 的 VISA 资源名称。

    示例

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

    obj = icdevice(___,Name,Value) 除了前面语法中的输入参数外,还使用一个或多个名称值参数构造设备对象 obj。名称-值参数可以采用 set 函数支持的任何格式:名称-值字符向量对、结构体和名称-值单元格数组对。您还可以指定不考虑大小写的属性名称,并且可以使用属性名称补全。例如,这些命令都是有效且等效的:

    d = icdevice('tektronix_tds210',g,'ObjectVisibility','on');
    d = icdevice('tektronix_tds210',g,'objectvisibility','on');
    d = icdevice('tektronix_tds210',g,'ObjectVis','on');

    注意

    当使用 IVI-C 或 VXI 即插即用驱动部署代码时,执行代码将在 MATLAB 提示符下执行以下代码指定的文件夹中生成其他文件:

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

    在所有受支持的平台上,都会生成一个名为 MATLABPrototypeFor<driverName>.m 的文件,其中 <driverName> 是 IVI-C 或 VXI 即插即用驱动的名称。使用 64 位 MATLAB 上的 Windows®,会生成名为 <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);

    连接到仪器。

    connect(d);

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

    props = set(d);

    获取示波器的当前配置。

    values = get(d);

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

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

    使用 MATLAB VXI 即插即用仪器驱动为 Tektronix TDS 210 示波器创建设备对象。

    此示例假设您的系统上安装了 'tktds5k' VXI 即插即用驱动。

    仅当您的系统上不存在 tktds5k 的 MATLAB VXI 即插即用仪器驱动时,才需要执行此第一步。

    makemid('tktds5k','Tktds5kMATLABDriver');

    构造一个使用 VXI 即插即用驱动的设备对象。假设该仪器位于 GPIB 主地址 2。

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

    连接到仪器。

    connect(d);

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

    props = set(d);

    获取示波器的当前配置。

    values = get(d);

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

    disconnect(d);
    delete(d);

    提示

    您可以随时使用 instrhelp 函数查看与设备对象相关的属性和函数的完整列表。

    instrhelp icdevice

    创建设备对象时,会自动配置这些属性值:

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

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

    • Name 是通过将仪器类型与仪器驱动的名称连接起来而得到的。

    • RsrcName 是 VXI 即插即用和 IVI 驱动的完整 VISA 资源名称。对于 MATLAB 接口驱动,RsrcName 是一个空字符向量。

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

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

    注意

    ICDEVICE 无法在 Mac 平台上打开名称或路径中含有非 ASCII 字符的 MDD。

    注意

    要获取可在函数上使用的选项列表,请在 MATLAB 命令行上输入函数后按 Tab 键。列表展开,您可以滚动选择属性或值。有关使用此高级制表符完成功能的信息,请参阅 Using Tab Completion for Functions

    版本历史记录

    在 R2006a 之前推出

    另请参阅

    |