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.