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 仪器驱动包装器尚不存在,可以使用 makemid 或 midedit 来创建它。请注意,makemid 或 midedit 只需使用一次来创建 MATLAB 仪器驱动包装器。
obj = icdevice( 使用 MATLAB 仪器驱动 driver,rsrcname)driver 创建设备对象 obj。指定的 driver 必须为 MATLAB VXIplug&play 仪器驱动或 MATLAB IVI 仪器驱动,并指定为字符串。与仪器的通信通过由 rsrcname 指定的资源(作为字符串)完成。例如,所有 VXIplug&play 以及许多 IVI 驱动都需要 rsrcname 的 VISA 资源名称。
obj = icdevice( 使用 MATLAB 仪器驱动 driver)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™ 文档。
示例
提示
任何时候,您都可以使用 instrhelp 函数来查看与设备对象关联的属性和函数的完整列表。
instrhelp icdevice当您创建设备对象时,以下属性值会自动配置:
Interface指定用于与仪器通信的接口。对于使用接口对象创建的设备对象,它就是该接口对象。对于 VXIplug&play 和 IVI-C,这是指向驱动会话的会话句柄。对于 MATLAB 仪器驱动,这是指向驱动的默认 COM 接口的句柄。LogicalName是 IVI 逻辑名称。对于非 IVI 驱动,它为空。Name是通过将仪器类型与仪器驱动的名称串联起来给出的。RsrcName是 VXIplug&play 和 IVI 驱动的完整 VISA 资源名称。对于 MATLAB 接口驱动,RsrcName是空字符向量。Type是仪器类型(如果已知),例如scope或multimeter。icdevicefind函数只查找使用LegacyMode=false创建的设备连接。
要与仪器通信,必须使用 connect 函数将设备对象连接到仪器。当构造设备对象时,对象的 Status 属性为 closed。一旦使用 connect 函数将设备对象连接到了仪器,Status 属性就会配置为 open。
注意
在 Mac 平台上,icdevice 无法打开其名称或路径中包含非 ASCII 字符的 MDD。