Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Se puede utilizar en versiones instaladas de MATLAB a 32 o 64 bits, pero SOLO trabaja con dispositivos National
Instruments®. Las siguientes son algunas de las funciones y propiedades más útiles para crear una sesión típica
de adquisición de datos en MATLAB:
1. Para descubrir dispositivos DAQ en el sistema:
disp=daq.getDevices
disp =
Data acquisition devices:
index Vendor Device ID Description
‐‐‐‐‐ ‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
1 ni Dev2 National Instruments USB‐9201
2 ni Dev3 National Instruments PCI‐6024E
3 ni myDAQ1 National Instruments NI myDAQ
De esta lista, es muy importante mirar el identificador de la DAQ de interés, en este caso ‘myDAQ1’. Para
solicitar información de una DAQ en particular, se indexa la variable disp como sigue:
disp(3)
ans =
ni: National Instruments NI myDAQ (Device ID: 'myDAQ1')
Analog input subsystem supports:
‐2.0 to +2.0 Volts,‐10 to +10 Volts ranges
Rates from 0.1 to 200000.0 scans/sec
2 channels ('ai0','ai1')
'Voltage' measurement type
Analog output subsystem supports:
‐2.0 to +2.0 Volts,‐10 to +10 Volts ranges
Rates from 0.1 to 3571428.6 scans/sec
2 channels ('ao0','ao1')
'Voltage' measurement type
Digital subsystem supports:
8 channels ('port0/line0' ‐ 'port0/line7')
'InputOnly','OutputOnly','Bidirectional' measurement types
Counter input subsystem supports:
Rates from 0.1 to 100000000.0 scans/sec
1 channel ('ctr0')
'EdgeCount','PulseWidth','Frequency','Position' measurement types
Counter output subsystem supports:
Rates from 0.1 to 100000000.0 scans/sec
1 channel ('ctr0')
'PulseGeneration' measurement type
2. Crear una sesión de adquisición de datos:
s=daq.createSession(vendor)
donde: s ‐ es el objeto de adquisición
vendor – fabricante, tipo string
s=daq.createSession(‘ni’)
s =
Data acquisition session using National Instruments hardware:
Will run for 1 second (1000 scans) at 1000 scans/second.
No channels have been added.
Nótese que esta función entrega los parámetros de adquisición por defecto, en este caso: Número de
muestras (N) igual a 1000 muestras y frecuencia de muestreo (Fs) igual a 1000 muestras/s. Lo que da un
tiempo de adquisición de 1s, que también es especificado. Si se desea, en este punto también se pueden
cambiar los parámetros de adquisición de datos modificando la propiedad correspondiente, para lograrlo se
utiliza la notación de punto:
s.Rate=2000
s.NumberOfScans=10
Con esto se re‐calcula el tiempo de adquisición de datos a 10/2000=0.005s (prop. ‐> DurationInSeconds)
3. Adicionar canales a la sesión de adquisición de datos:
addAnalogInputChannel(s,deviceID,channelID,measurementType)
donde: s ‐ es el objeto de adquisición
deviceID – Identificador de la DAQ, tipo string
channelID – Identificador del canal a usar, tipo numérico
measurementType – tipo de medición, tipo string
addAnalogInputChannel(sesion,'myDAQ1',0,'Voltage')
ans =
Data acquisition session using National Instruments hardware:
Will run for 10 scans (0.005 seconds) at 2000 scans/second.
Number of channels: 1
index Type Device Channel MeasurementType Range Name
‐‐‐‐‐ ‐‐‐‐ ‐‐‐‐‐‐ ‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐
1 ai myDAQ1 ai0 Voltage (Diff) ‐10 to +10 Volts
Nótese que la función entrega varia información. Por ejemplo el rango del canal por defecto y el tipo de
conexión del canal, en este caso: diferencial (Diff)
4. Adquirir datos:
Si se desea una sola muestra
data=inputSingleScan(s);
donde: s ‐ es el objeto de adquisición
data – el dato en el tipo de medición solicitada
dato=inputSingleScan(s)
dato =
0.0095
Si desean adquirir varias muestras
data=startForeground(s);
donde: s ‐ es el objeto de adquisición
data – el dato en el tipo de medición solicitada
datos=startForeground(s)
datos =
0.0339
0.0339
0.0336
0.0329
0.0329
0.0313
0.0303
0.0290
0.0280
0.0267
5. Remueve canales y borra el objeto de adquisición:
removeChannel(s,1)
delete(s);