Summer of LabVIEW The Sunny Side of System Design 30th June - 18th July
ni.com
1
Adatbázis kapcsolatok, adattárolás és a LabVIEW Ványi Zoltán ENG Systems Hungary Kft.
ni.com
Agenda – az előadás tematikája • •
Bevezető - bemutatkozás Konfigurációs adatok tárolása • •
•
•
XML mint adattár Adatbázisokhoz kapcsolódás LabVIEW-ban • • •
• •
Program paraméterek tárolása, kezelése Nyelvi csomagok használata
SQL adatbázisokban tárolt adatok Kapcsolatok kialakítása és kezelése a programokban Tervezési szempontok
TDM és TDMS fájlokban tárolt eredmények Kérdések és válaszok
ni.com eng.hu
3
ENG Systems
ENG Systems Hungary Kft •
2005-ben alapított, magyar tulajdonú vállalat
•
Létszám: 8 fő Certified LabVIEW és TestStand Developer Fejlesztők
•
Tevékenységi kör: • • •
•
Automatizált méréstechnikai megoldások Ipari mérő-, megjelenítő rendszerek tervezése Elektronikai fejlesztések ipari folyamatokhoz
Lokáció: Budapest, XIII. Kerület
ni.com eng.hu
4
ENG Systems
Témaválasztás: az ADAT, és tárolása
ni.com eng.hu
5
ENG Systems
Az ”adat”-ról pár gondolat • •
• • •
•
ni.com eng.hu
Programunkat vezérlő konfigurációs paraméter Nyelvi csomag Mérési paraméter Feldolgozandó nyers adat Mérési eredmény Eseménynapló
6
ENG Systems
Konfigurációs adatok • •
Általában egyszerű, szöveges leíró struktúrában tárolt Struktúra: Paraméter_név = érték
[General] Automatic mode = False Backup Time = 23:00 Use Offset Force = True Logging Directory = c:\ProgramData\ENG\Data Log Language = Hungarian Language Files Folder = c:\ProgramData\ENG\Language Settings Error Logging = c:\ProgramData\ENG\Errors\Error_%Y_%m_%d.log SQL Server Address = SQLOLEDB.1;Password=Database99;Persist Security Info=False;User ID=ENG-SQL;Initial Catalog=prod; Data Source=SQL.Company.intra [Hardwares] DAQ_Device = ::INSTR:3 Input_Start = I88_daq1/ai5 Digital_Output = I88_daq2/GPO2
ni.com eng.hu
7
ENG Systems
A kézenfekvő megoldás
ni.com eng.hu
8
ENG Systems
Konfigurációs adatok tárolása a programban
ni.com eng.hu
9
ENG Systems
Konfigurációs adatok tárolása FGV-ben
ni.com eng.hu
10
ENG Systems
Nyelvi csomagok adatfájljai
;-------------------------------;ENG Tester Language File ;-------------------------------language=Magyar ;Labels of controls . . . msg318=Aktuális pozíció msg319=Referencia vonalkód msg320=Dátum - Idő msg321=Munka azonosító msg322=Termék Név msg323=Pantográf msg324=Látszik a végrehajtás előtt msg325=Beszúrás mögé msg326=Beszúrás elé
ni.com eng.hu
11
ENG Systems
Nyelvi csomagok adatfájljai 2
;-------------------------------;ENG Tester Language File ;-------------------------------language=Magyar ;Labels of controls . . . Act_position=Aktuális pozíció Prod name=Termék Név Cancel=Mégsem Next=Tovább Backup copy finished = Másoldat elkészült
ni.com eng.hu
12
ENG Systems
Config fájl, vagy egy strukturáltabb adatbázis?
ni.com eng.hu
13
ENG Systems
XML, mint paraméterfájl
ni.com eng.hu
14
ENG Systems
XML, mint paraméterfájl
ni.com eng.hu
15
ENG Systems
XML, mint paraméterfájl – GXML
ni.com eng.hu
16
ENG Systems
Config fájl, XML, vagy SQL adatbázis?
ni.com eng.hu
17
ENG Systems
SQL adatbázishoz kapcsolódás LabVIEW Database Connectivity toolkit • Connection string tárolásának módjai • Adatkapcsolat fenntartásának lehetőségei • Tervezési szempontok, optimalizálás •
ni.com eng.hu
18
ENG Systems
SQL adatbázishoz kapcsolódás •
LabVIEW Database Connectivity toolkit
ni.com eng.hu
19
ENG Systems
SQL adatbázishoz kapcsolódás •
Connection string tárolásának módja • • •
UDL fájlban konfigurálva Közvetlenül a program iniben tárolva Paraméterekből összeállítva [oledb] ; Everything after this line ; is an OLE DB initstring Provider=MSDASQL.1; Password=abc123; Persist Security Info=True; User ID=ENG; Data Source=Eserver
ni.com eng.hu
20
ENG Systems
SQL adatbázishoz kapcsolódás •
Adatkapcsolat fenntartásának lehetőségei • • • •
ni.com eng.hu
Lokálisan – akkor megnyitni, amikor használjuk Program indításakor nyitni, és nyitva tartani Csak a gyakori használat idején nyitva tartani Több kapcsolatot is nyithatunk, pl.: modulonként
21
ENG Systems
SQL adatbázishoz kapcsolódás •
Optimizálási lehetőségek, szempontok • •
•
ni.com eng.hu
Számítógép erőforrása Adatátviteli sebesség Feldolgozási, program futási sebesség
22
ENG Systems
SQL adatbázishoz kapcsolódás – 1. példa •
Engine loop az adatbázis műveletekhez
ni.com eng.hu
23
ENG Systems
SQL adatbázishoz kapcsolódás – 1. példa •
Író-olvasó parancsok a programban
ni.com eng.hu
24
ENG Systems
SQL adatbázishoz kapcsolódás – 1. példa •
Engine loop az adatbázis műveletekhez
ni.com eng.hu
25
ENG Systems
SQL adatbázishoz kapcsolódás – 1. példa •
Író-olvasó parancsok a programban
ni.com eng.hu
26
ENG Systems
SQL adatbázishoz kapcsolódás – 2. példa •
Inline felépítés - Init
ni.com eng.hu
27
ENG Systems
SQL adatbázishoz kapcsolódás – 2. példa •
Inline felépítés – egy adatlekérdező subrutin
ni.com eng.hu
28
ENG Systems
SQL adatbázishoz kapcsolódás – 3. példa •
Napi egyszeri adatszinkronizálási feladat
ni.com eng.hu
29
ENG Systems
SQL adatbázishoz kapcsolódás – 3. példa •
Napi egyszeri adatszinkronizálási feladat
ni.com eng.hu
30
ENG Systems
SQL adatbázishoz kapcsolódás – 3. példa •
Napi egyszeri adatszinkronizálási feladat Az így elindított alkalmazás bemutatása LabVIEW-ban
ni.com eng.hu
31
ENG Systems
Config fájl, XML, SQL vagy TDMS?
ni.com eng.hu
32
ENG Systems
TDM – TDMS adatbázisok kezelése
ni.com eng.hu
33
ENG Systems
TDMS Bináris, kis helyigényű – szöveges metaadat • Strukturált, skálázható • Kereshető – NI Datafinder • Ingyenes TDMS Excel pluginnal importálható • Nagy sebességű mentést tesz lehetővé • Publikus, nyílt szabvány, bárki fejleszthet rá •
ni.com eng.hu
34
ENG Systems
Egyszerű TDMS log készítése
ni.com eng.hu
35
ENG Systems
Adatbázis kapcsolatok, adattárolás és a LabVIEW • Köszönöm
•
ni.com eng.hu
a figyelmüket!
Elérhetőségünk: ENG Systems Hungary Kft, +36 – 1 – 240 63 83
[email protected]
36
ENG Systems