Sunteți pe pagina 1din 2

Lucrul cu baze de date din LabVIEW

conf.dr.ing. Tom SAVU


National Instruments Academic Manager România
Exist mai multe standarde referitoare la fi ierul ce con ine
Introducere propriet ile leg turii c tre date, cele mai des întâlnite fiind
Ne propunem ca, începând cu acest num r al revistei, s DSN (Data Source Name), utilizat de c tre standardul
ini iem o serie de articole care s permit celor deja ODBC, i UDL (Universal Data Link), utilizat în standardul
familiariza i cu mediul de programare grafic LabVIEW ADO.
(http://www.ctanm.pub.ro/academic/LabVIEW/Tutorial. Un fi ier UDL poate fi creat fie din programul Windiws
htm) s abordeze problematica realiz rii unor aplica ii de mai Explorer (click dreapta i se selecteaz op iunea New /
mare complexitate. Microsoft Data Link, figura 2), fie direct din LabVIEW,
Se presupune c cititorii sunt deja familiariza i cu bazele de selectând op iunea Create Date Link... din meniul Tools.
date, cu modul de organizare al acestora în tabele, înregistr ri
i câmpuri i cu principalele opera ii ce pot fi executate
asupra unei baze de date sau cu instruc iunile SQL pentru
executare. Se presupune de asemenea c sistemul de calcul
are deja instalate, înregistrate i configurate diverse drivere
ODBC (Open Database Connectivity) pentru baze de date.
LV Database Connectivity Toolset
Pentru accesarea bazelor de date din LabVIEW este necesar
pachetul suplimentar LabVIEW Database Connectivity
Toolset (LV DBC). Pachetul con ine atât func ii de nivel
înalt pentru cele mai uzuale opera ii specifice, cât i func ii
avansate pentru opera ii cu grad ridicat de particularizare.
Printre principalele avantaje ale acestui pachet se num r
faptul c acesta este compatibil cu orice driver de baze de Fig. 2: Crearea unui fi ier UDL
date compatibil ODBC i OLE DB i cu orice provider care În ambele cazuri, utilizatorului i se cere s specifice un tip de
respect standardul ADO (ActiveX Data Objects) elaborat de driver c tre baza de date (de exemplu, Microsoft Jet 4.0
Microsoft. pentru fi iere mdb create în Microsoft Access, figura 3)
În plus, o aplica ie realizat în LabVIEW poate fi "portat " precum i calea i numele fi ierului ce con ine baza de date
pe un alt tip de computer, cu un alt sistem de operare, sau pe (figura 4).
o alt baz de date prin simpla modificare a unei constante de
tip "text", având i avantajul extrem de puternic de a permite
utilizarea instruc iunilor SQL chiar i în cazul sistemelor de
baze de date care nu accept acest limbaj.
Pachetul LV DBC se instaleaz ulterior mediului de
programare LabVIEW, func iile sale fiind astfel integrate în
paleta de func ii din diagrama aplica iei (figura 1).

Fig. 3: Specificarea tipului de driver

Fig. 1: Func ii LV Database Connectivity Toolset


Conexiunea cu baza de date
Accesarea bazelor de date din LabVIEW nu se realizeaz
direct, specificând fi ierul ce con ine baza de date, ci prin
intermediul unei leg turi c tre date (data link) ale c rei
propriet i sunt stocate într-un fi ier dedicat acestui scop. Fig. 4: Specificarea c ii i numelui fi ierului
Extragerea informa iilor
Spre exemplificare, se consider un tabel dintr-o baz de date
(figura 5) ce con ine informa ii referitoare la structura de
dezagregare a unui produs (subansamblurile din care
produsul este constituit i reperele din componen a fiec rui
subansamblu). Toate valorile din tabel (numit Produse) sunt Fig. 8: Func ia DB Tools Open Connection
stocate în form numeric , excep ie f cnd valorile din câmpul
Denumire, ce sunt stocate sub form de texte.

Fig. 9: Func ia DB Tools Select Data


Func ia DB Tools Select Data utilizeaz urm toarele date de
intrare:
• o referin la conexiunea stabilit cu baza de date,
referin preluat în acest exemplu de la ie irea
corespunz toare a func iei DB Tools Open Connection
• numele tabelului din care va fi extras informa ia (în acest
Fig. 5: Tabel cu informa ii caz Produse)
Panoul aplica iei (interfa a acesteia cu utilizatorul) con ine un • numele câmpurilor din care va fi extras informa ia,
element de control pentru specificarea c ii i numelui grupate într-un Array de texte (în acest exemplu Array-
fi ierului UDL ce stabile te conexiunea între aplica ia ul con ine un singur text: Denumire)
LabVIEW i baza de date, un element de control pentru • un text con inând o clauz SQL pentru specificarea
specificarea de c tre utilizator a codului produsului i un condi iilor necesare unei înregistr ri pentru ca valoarea
element indicator (Array de texte) utilizat de c tre aplica ie aflat în câmpul c utat s fie extras
pentru afi area numelor subansamblurilor (figura 6).
Diagrama aplica iei este prezentat în figura 7. În tabelul luat ca exemplu, înregistr rile corespunz toare
subansamblurilor se caracterizeaz prin aceea c au în
câmpul Cod_subansamblu o valoare numeric diferit de
valoarea vid NULL iar câmpul Cod_reper con ine o
valoare vid (NULL).
Astfel, clauza SQL corespunz toare este
WHERE (Cod_produs = 31452) AND (Cod_subansamblu
<> NULL) AND (Cod_reper IS NULL);
Por iunile din clauza SQL care nu se modific sunt
reprezentate în diagrama aplica iei prin constante de tip
String, iar codul produsului, specificat de c tre utilizator,
Fig. 6: Panoul aplica iei LabVIEW este preluat de la terminalul elementului de control
corespunz tor. Clauza SQL este ob inut prin concatenarea
diverselor por iuni constante i variabile, cu ajutorul func iei
Concatenate Strings.
La ie irile sale, func ia DB Tools Select Data furnizeaz atât
o referin la conexiunea stabilit cu baza de date cât i o
matrice ce con ine informa iile extrase din baza de date.
În exemplul prezentat, referin a este utilizat de c tre func ia
DB Tools Close Connection pentru închiderea (întreruperea)
conexiunii cu baza de date, dar în aplica iile mai complexe ea
poate fi preluat de c tre alte func ii de interogare sau
modificare.
Fig. 7: Diagrama aplica iei LabVIEW Informa iile extrase din baza de date sunt stocate în matricea
corespunz toare în formatul Variant, un format ce permite
Anterior acces rii datelor dintr-un tabel sau execut rii unei manipularea datelor indiferent de tipul de valori (numerice,
instruc iuni SQL, aplica ia LabVIEW trebuie s stabileasc booleene, alfanumerice etc.) pe care datele le reprezint .
o conexiune cu baza de date, pentru aceasta fiind utilizat Fiecare linie a matricei corespunde unei înregistr ri din baza
func ia DB Tools Open Connection (figura 8) ce suport de date, iar fiecare coloan corespunde unui câmp.
mai multe moduri de apelare, în func ie de sistemul de În diagrama aplica iei sunt utilizate dou bucle For imbricate
management al bazei de date (DBMS) ce urmeaz a fi ce transform fiecare valoare din matrice, cu ajutorul func iei
accesate. Variant To Data, din formatul Variant în formatul String
Dup stabilirea conexiunii cu baza de date prin intermediul (alfanumeric).
func iei DB Tools Open Connection, aplica ia utilizeaz Deoarece informa iile extrase se refer la un singur câmp, din
func ia DB Tools Select Data (figura 9) pentru a extrage matrice, prin intermediul func iei Index Array, este extras
informa iile dorite din tabelul Produse. prima coloan i este transmis terminalului corespunz tor
elementului indicator Subansambluri din panoul aplica iei.

S-ar putea să vă placă și