Aktuální vydání

celé číslo

11

2019

Využití robotů, dopravníků a manipulační techniky ve výrobních linkách

Průmyslové a servisní roboty

celé číslo

Data Acquisition Toolbox

Automa 1/2000

[The MathWorks, Inc: Data Acquisition Toolbox for use with MATLAB®. Natick, 1999.]

Data Acquisition Toolbox

Data Acquisition Toolbox je softwarový nástroj pro akvizici dat. Pracuje ve spojení se softwarem MATLAB® a propojuje jej s měřicími kartami. Vytváří tak integrované prostředí pro měření a analýzu externích signálů.

Nástroj umožňuje konfigurovat externí hardwarová zařízení, importovat data do prostředí MATLAB a zpracovaná data exportovat pro další použití.

Spojení nástroje Data Acquisition Toolbox a matematického softwaru MATLAB umožňuje uživateli jednoduše vytvořit aplikaci, která bude plně využívat možnosti měřicího hardwaru a současně i všechny potřebné výpočetní funkce programu MATLAB pro analýzu a vizualizaci signálů. Při zpracování signálů lze bez problémů využít nejen základních funkcí programu MATLAB, ale i dalších nástrojů spolupracujících s tímto programem.

Obr. 1.

Základem Data Acquisition Toolbox je sada souborů M-file a funkcí MEX-file. Jednotlivé instrukce toolboxu mohou být zadávány z příkazového řádku nebo prostřednictvím programu MATLAB. Data mohou být analyzována a zobrazována okamžitě po jejich načtení do programu nebo mohou být ukládána pro pozdější zpracování, popř. pro iterativní zásahy do analyzovaného procesu.

Základní rysy nástroje Data Acquisition Toolbox jsou:

  • přístup k datům přímo z prostředí MATLAB,
  • analogové i digitální vstupy a výstupy,
  • podpora hardwaru pro jednokanálový i vícekanálový sběr dat a pro různé rychlosti sběru dat,
  • možnost využít hardwarovou i softwarovou spoušť (trigger),
  • plná integrace s programem MATLAB i jeho toolboxy.

Data Acquisition Toolbox podporuje tyto typy hardwaru:

  • National Instruments Data Acquisition série E a 1200,
  • Hewlett-Packard VXI E1432/33/34,
  • zvukové karty pro Microsoft Windows.

Tento výčet není úplný, Data Acquisition Toolbox si rozumí i s některými dalšími měřicími kartami třetích stran. Informace o podporovaných kartách lze získat na webové stránce www.mathworks.com/products/daq

Data Acquisition Toolbox je postaven stejně jako MATLAB na objektové technologii. Nástroj umožňuje nakonfigurovat pro připojený hardware objekt, který obsahuje nastavení všech vlastností a měřicích funkcí, jako je např. rychlost vzorkování, spoušť a konfigurace kanálů. V toolboxu jsou předdefinovány objekty analogový vstup, analogový výstup a digitální I/O. Tyto objekty jsou branou umožňující nastavit všechny parametry měřicího hardwaru přímo z prostředí MATLAB.

Co se týče počtu kanálů, není softwarem Data Acquisition Toolbox nijak omezen, lze jich nakonfigurovat tolik, kolik jich má měřicí karta.

V tab. 1 až 3 jsou řídicí funkce pro jednotlivé objekty.

Data Acquisition Toolbox podporuje širokou paletu funkcí pro řízení akvizice dat. Například je možné zadávat informace o události, hodnotit stav akvizice, definovat spouštění vzorkování a generovat zpětná hlášení, prohlížet data v průběhu měření a analyzovat je. Toolbox také umožňuje jednoduše zobrazovat a ovládat hardwarové funkce připojeného zařízení. Funkce pro akvizici dat jsou v tab. 4.

Obr. 2.

Důležitou vlastností je nezávislost zpracování dat na jejich získávání (obr. 1): hardware získává data a posílá je do toolboxu. Tato data mohou být okamžitě předávána do systému MATLAB a tam zpracována. Toolbox zastaví analýzu dat jen tehdy, nastane-li událost, jež generuje přerušení analýzy.

Funkce pro správu dat jsou nástroje pro převod dat z toolboxu do systému MATLAB. Data jsou načítána ve formátu s plovoucí desetinnou čárkou v dvojité přesnosti nebo v takovém formátu, v jakém je poskytuje hardware. To uživateli umožňuje se získanými daty pracovat stejně jako s jakýmikoliv jinými daty uspořádanými v matici.

Další důležitou funkcí je Data Logging. Tato funkce umožňuje zapisovat získaná data na disk nebo do paměti. Společně s daty je možné zapisovat také události a chybová hlášení.

Akvizice dat je řízena událostmi. Data Acquisition Toolbox obsahuje tyto typy událostí:

    start a stop, spoušť (trigger), získání určeného počtu hodnot vzorků, vyslání určeného počtu výstupních hodnot, chybové hlášení.

Událost může spustit jednu nebo více akcí. Akcí může být např. spuštění souboru M-file.

Je-li toolboxem detekována chyba, vyšle toolbox do prostředí MATLAB chybové hlášení. Toolbox obsahuje celou sadu chybových hlášení. V případě, že dojde k chybě hardwaru a toolbox není schopen analyzovat, co se stalo, ohlásí chybu externího zařízení.

Přímo v toolboxu je integrována funkce, která převádí získané hodnoty na hodnoty vyjádřené ve zvolených fyzikálních jednotkách (volty, newtony apod.). K převodu hodnot je v toolboxu k dispozici lineární přepočet a offset. Pro nelineární přepočet je nutné využít funkci z prostředí MATLAB.

Data Acquisition Toolbox také umožňuje vyhodnotit průběh akvizice dat. Zdrojem pro hodnocení jsou údaje o instalovaném hardwaru, driverech a adaptérech. Hodnocení průběhu akvizice zahrnuje:

    aktuální stav objektů a kanálů, informace o hardwaru, informace o práci softwarového jádra toolboxu.

Toolbox umožňuje nastavovat specifické vlastnosti připojených kart prostřednictvím příkazového řádku systému MATLAB.

Obr. 3.

Příklad akvizice dat
Akvizice dat se v typickém případě skládá z těchto fází:

  1. inicializace (tvorba objektů),
  2. konfigurace (zadání kanálů a řízení akvizice),
  3. provedení akvizice (spuštění objektu a získání nebo vyslání dat),
  4. ukončení (vymazání údajů objektu).

Příkladem typické akvizice může být ověření rezonančního kmitočtu ladičky. K dispozici je mikrofon a zvuková karta. Získaná data jsou zpracována Fourierovou transformací FFT. Schéma úlohy je na obr. 2.

Akvizice dat začne několik sekund po rozeznění ladičky. Data jsou získávána jedním kanálem zvukové karty. Horní hranice kmitočtové citlivosti zvukové karty je nastavena na 8 kHz.

Spuštění akvizice je realizováno manuálně. Ladička je rozezněna a přenesena k mikrofonu. Poté se spustí akvizice dat.

V dalších odstavcích podrobně popíšeme realizaci této akvizice.

1. Inicializace
Prvním krokem je vytvoření analogového výstupního objektu.
AI = analoginput
(’winsound’);

2. Konfigurace
Ve fázi konfigurace je nutné zadat vstupní kanál, nastavit horní mez kmitočtové citlivosti 8 kHz a délku akvizice 2 s.
addchannel (AI, 1);
Fs = 8000;
% mez citlivosti je 8000 Hz
set (AI, ’SampleRate’, Fs);
duration = 2; % doba akvizice je 2 s
set (AI,
’SamplesPerTrigger’, duration*Fs);

3. Provedení akvizice dat
Takto je aplikace připravena ke spuštění. Akvizice dat se spustí manuálně, zadáním příkazu z příkazového řádku. Před tím, než je spuštěna akvizice, je nutné inicializovat načítání dat z mikrofonu do zvukové karty (dobře poslouží např. hvízdnutí).
start (AI);
Data je nutné načíst do souboru.
data = getdata (AI);

4. Ukončení
Po ukončení akvizice dat je nutné odstranit objekt z pracovního prostoru toolboxu.
delete (AI);

Nyní je třeba naměřená data zpracovat. Zpracování začne výpočtem absolutní hodnoty FFT. Tato hodnota se poté transformuje do logaritmické stupnice (v dB) a extrahuje se z ní reálná složka. Výsledek je na obr. 2.
xfft = abs(fft(data));
mag = 20*log10(xfft);
mag = mag(1:end/2);

Z obr. 3 je patrné, že rezonanční kmitočet je přibližně 440 Hz a výrazná je i první harmonická 880 Hz. Nejjednodušší cesta k určení rezonančního kmitočtu je:
[ymax, maxindex] = max(mag);

Výsledek je 441 Hz.

Chceme-li tuto úlohu spustit na jiném hardwarovém zařízení, stačí jednoduše změnit dva řádky. Například při použití multifunkční karty National Instruments je nutné v inicializaci a konfiguraci zadat
AI = analoginput (’nidaq’, 1);
addchannel (AI, 0);

Při použití karty HP-E1432A
AI = analoginput (’hpe1432’, 8);
addchannel (AI, 1);

Data Acquisition Toolbox vyžaduje Win 95/98/NT a MATLAB 5.3. K dispozici je celá řada doplňujících nástrojů pro zpracování signálů: toolboxy Signal Processing, Wavelet, System Identification, Neural Network, Statistics, Control System a Optimization.

Tab. 1. Příkazy pro analogový vstup

Příkaz Popis
analoginput vytvoří objekt analogového vstupu
addchannel přidá kanál do objektu analogového vstupu
flushdata odstraní data z jádra aplikace
getdata vytvoří soubor získaných dat
getsample vyžádá si jeden aktuální vzorek
peekdata vytvoří přehled nejaktuálnějších získaných dat

Tab. 2. Příkazy pro analogový výstup

Příkaz Popis
analogoutput vytvoří objekt analogového výstupu
addchannel přidá kanál do objektu analogového výstupu
putdata zařadí do výstupní fronty soubor dat
putsample zařadí do výstupní fronty samostatný aktuální vzorek

Tab. 3. Příkazy pro digitální I/O

Příkaz Popis
digitalio vytvoří objekt digitálního I/O
addline přidá řádek do objektu digitálního I/O
getvalue přečte řádek dat
putvalue zapíše řádek dat

Tab. 4. Příkazy pro akvizici dat

Příkaz Popis
daqfind najde specifický objekt
daqmem alokuje paměť nebo zobrazí přidělenou paměť pro jeden přístroj nebo více přístrojů
daqread čte soubor Data Acquisition Toolbox (.daq)
daqreset smaže a odpojí všechny objekty a DLL
ischannel určí, zda objektem je kanál
isline určí, zda objektem je řádek
isvalid určí, zda je k objektu přidružen nějaký hardware
makenames vytvoří buňky pro jméno kanálu nebo řádku
obj2code převede objekt toolboxu do kódu MATLAB

Software je produktem americké firmy The MathWorks, Inc. Výhradním zástupcem této společnosti pro ČR a SR je firma

HUMUSOFT s. r. o.
Novákových 6
180 00 Praha 8
tel.: 02/82 82 49
fax: 02/684 41 74
e-mail: info@humusoft.cz
http://www.humusoft.cz