主要内容

阅读硬件获取的数据

描述

例子

Scandata=读(d从DataAcquocition上的所有输入渠道读取单个输入扫描,并将时间表返回到Scandata

Scandata=读(d,,,,跨度从DataAcsocition界面读取大量输入扫描,并将时间表返回到Scandata。您可以指定跨度作为持续时间,许多扫描或“全部”

  • 如果DataAcquisition未运行并且没有获得的数据,则DataAcquisition将开始前景有限的获取,以读取所需的扫描数。MATLAB被阻止,直到收购和阅读完成为止。

  • 如果在调用此函数时运行了DataAcquisition,则它会读取已经获取的数据,如有必要,等到指定数量的扫描可用。MATLAB被阻止,直到收购和阅读完成为止。这是典型的开始被称为在调用之前运行背景收购

  • 如果DataAcquisition未运行,而是从上一运行中获取了数据,它将读取指定数量的扫描数或所有数据,以较少者为准。

[[Scandata,,,,动画] =读(___执行指定的读取,并返回时间表Scandata并扫描触发时间动画作为日期。

例子

Scandata=读(___,“ outputformat”,“矩阵”)执行指定的读取,并返回双打的mby-n矩阵Scandata,其中m是扫描的数量,n是输入通道的数量。每列包含来自一个通道的数据。

[[Scandata,,,,时间戳,,,,动画] =读(___,“ outputformat”,“矩阵”)执行指定的读取并将扫描时间戳返回时间戳,作为双打的M-BY-1矢量,代表第一次扫描后几秒钟内的相对时间。行的行时间戳向量对应于Scandata矩阵。扫描触发时间返回到动画作为datenum double。

例子

全部收缩

没有指定持续时间或扫描数量,函数在所有通道上都会获取单个按需扫描。

d = daq(“你”)addInput(d,“ dev1”,1,“电压”);%添加更多频道根据需要scandata =读(d)
数据=时间表时间dev1_ai1 _____ ________ 0秒-1.9525

如果没有可从设备读取的数据,功能启动前景获取,阻止MATLAB直至完成。

d = daq(“你”);ch = addInput(d,“ dev1”,1:2,“电压”
ch = Index Type Device Channel Measurement Type Range Name _____ ____ ______ _______ ________________ __________________ __________ 1 "ai" "Dev1" "ai1" "Voltage (Diff)" "-10 to +10 Volts" "Dev1_ai1" 2 "ai" "Dev1“” ai2“”“电压(diff)”“ -10至+10伏”“ dev1_ai2”

在所有通道上阅读五个数据扫描。

scandata =读(d,5)
scanData = 5×2 timetable Time Dev1_ai1 Dev1_ai2 _________ ________ ________ 0 sec 0.1621 0.62579 0.001 sec 0.42124 0.56955 0.002 sec 0.51069 0.56002 0.003 sec 0.54193 0.56166 0.004 sec 0.55377 0.56396

在所有通道上读取5毫秒的数据。

D.Rate = 1000;scandata =读(d,秒(0.005))
scandata = 5×2时间表时间dev1_ai1 dev1_ai2 __________________________________________________________________________________________________________001 sec 0.28871 0.31699 0.002 sec 0.3068 0.3068 0.31633 0.003 0.003 0.003 sec 0.3137 0.3137 0.3137 0.00004 sec 0.3317328

您还可以将数据读取为双值数组。在两个通道上进行了五次扫描导致5 x-2矩阵,每个通道都有一个列。

scandata =读(d,5,“输出格式”,,,,“矩阵”
scandata = 0.0424 0.0644 0.0572 0.0621 0.0605 0.0638 0.0618 0.0641 0.0631 0.0648

当背景获取与开始功能,使用导入数据。

d = daq(“你”);ch = addInput(d,“ dev1”,1:2,“电压”)开始(D,“ numscans”,5)
背景操作已经开始。背景操作将在0.005 s后停止。要阅读获得的扫描,请使用阅读。
scandata =读(d,“全部”
scanData = 5×2 timetable Time Dev1_ai1 Dev1_ai2 _________ ________ ________ 0 sec 0.012466 0.023977 0.001 sec 0.019373 0.023319 0.002 sec 0.021017 0.02299 0.003 sec 0.021346 0.02299 0.004 sec 0.022661 0.023648

输入参数

全部收缩

DataAcsocition接口,指定为数据采集对象,使用DAQ功能。

例子:d = daq()

读取操作的长度,指定为持续时间或双重。如果这是持续时间类型,则指定采集的持续时间;如果是双重,则指定扫描数。

例子:秒(5)

数据类型:双倍的|期间

输出参数

全部收缩

从设备的输入扫描数据,作为时间表或双矩阵返回,具体取决于输出格式环境。

您可以在时间表属性中访问扫描触发时间scandata.properties.customproperties.triggertime,作为日期时间返回。

收购开始的时间,如果输出格式'时间表'(默认),或作为双人输出格式'矩阵'。此信息也可以作为时间表属性中的DateTime值获得scandata.properties.customproperties.triggertime

扫描收购的时代,作为双打矩阵返回。每个值在第一次扫描后以秒为单位表示相对时间。仅在输出格式指定为“矩阵”

版本历史记录

在R2020a中引入

也可以看看

功能