主要内容

通过NI-SCOPE MATLAB仪器驱动程序在仿真模式中获取波形

本例展示了如何在仿真模式下从美国国家仪器公司®NI-SCOPE驱动器的两个通道获取数字波形。

简介

仪器控制工具箱™支持通过高级驱动程序与仪器通信。金宝app在本例中,您可以在模拟模式下从National Instruments®NI-SCOPE驱动器获取数字波形。

需求

此示例需要Microsoft®Windows®系统和NI-SCOPE包3.6或更高版本。在使用此示例之前,请确保Measurement & Automation Explorer能够识别NI-SCOPE驱动程序。

检查NI-SCOPE安装

使用instrhwinfo命令检查NI-SCOPE软件包是否正确安装。如果正确安装,NI-SCOPE将被列为安装在Windows计算机上的模块之一。本例使用与它一起安装的库。

驱动器信息= instrhwinfo (“新”);disp (driversInfo.Modules ');
{'nidcpower'} {'nidmm'} {'niFgen'} {'nisACPwr'} {'niScope'} {'nisCounter'} {'nisDCPwr'} {'nisDigitizer'} {'nisDmm'} {'nisDownconverter'} {'nisFGen'} {'nisPwrMeter'} {'nisRFSigGen'} {'nisScope'} {'nisSpecAn'} {'nisSwtch'} {'nisUpconverter'} {'niSwitch'}

创建一个MATLAB仪器对象

使用icdevice函数从您生成的MDD创建一个仪器对象,并使用该对象建立到范围的连接。

icdevice函数接受两个或多个输入参数。MDD文件名、作用域的资源名以及可以设置的特定于设备的参数(可选)。

您可以从NI Measurement and Automation Explorer获取范围的资源名称。例如:的资源名PXI1Slot6在NI MAX中是PXI1Slot6.您可以删除optionstring参数和相应的字符串参数(如果您有实际的硬件)。

属性可以建立到范围的连接连接命令。

ictObj = icdevice(“niscope.mdd”“PXI1Slot6”“optionstring”“模拟= true”);连接(ictObj);disp (ictObj);
仪器设备对象使用驱动程序:niScope仪器信息类型:IVIInstrument制造商:National Instruments Corp.型号:NI Digitizers驱动信息驱动类型:MATLAB IVI驱动名称:niScope驱动版本:1.0通信状态状态:打开

配置作用域

在本例中,使用自动设置来配置作用域,自动设置垂直范围、采样率、触发级别和其他一些设置。

使用MATLAB仪器驱动程序编辑器(middit)查看允许您配置设备的其他属性和函数。该工具显示NI-SCOPE软件包支持的所有属性和功能。金宝app

configuration = ictObj.Configuration;调用(配置,“autosetup”);

配置每个通道的垂直范围

ConfigureVertical功能配置数字化仪垂直子系统最常用的配置属性,如距离、偏移量、耦合、探头衰减和通道。我们将从通道“0”和“1”中获取数据,从而配置这些通道。更多信息请参考NI-Scope文档。

范围= 10;偏移量= 0;耦合= 1;ProbeAttenuation = 1;配置通道0调用(ictObj。Configurationfunctionsvertical,“configurevertical”' 0 ',范围,偏移量,耦合,探头衰减,true);配置通道1调用(ictObj。Configurationfunctionsvertical,“configurevertical”' 1 ',范围,偏移量,耦合,探头衰减,true);

准备波形信息

波形信息是一种结构,包含用于从作用域获取波形的时序信息、采样数、增益和偏移比例因子。内存将被预先分配给每个通道的波形信息结构。

numChannels = 2;channelList =“0 1”;numSamples = 1024;i = 1:numChannels waveformInfo(i)。absoluteInitialX = 0;waveformInfo(我)。relativeInitialX = 0;waveformInfo(我)。xIncrement = 0;waveformInfo(我)。actualSamples = 0;waveformInfo(我)。偏移量= 0;waveformInfo(我)。增益= 0;waveformInfo(我)。Reserved1 = 0;waveformInfo(我)。Reserved2 = 0;结束

获取波形

使用所需的设置配置作用域后,使用适当的函数调用从通道获取波形0而且1.预分配waveformArray来存储所有请求通道的数据。在获取数据之前,必须先进行波形采集。获取数据后,提取每个通道对应的波形。

waveformArray = 0 (numChannels * numSamples, 1);TimeOut = 10;%秒调用(ictObj。收购,“initiateacquisition”);[waveformArray, waveformInfo] =调用(ictObj.)收购,“获取”channelList,...TimeOut, numSamples, waveformArray, waveformInfo);waveformArray =重塑(waveformArray, numSamples, numChannels);

绘制波形图

情节(waveformArray);

清理

删除MATLAB仪器对象。

断开(ictObj);删除(ictObj);清晰的ictObj