Tema broja

Autor: Grozdanić Zoran

Akvizicija podataka

Kontakt: zorangr@eunet.yu

VISUAL DESIGNER 4.0

Kada govorimo o projektovanju sistema za akviziciju podataka (Data Acquisition) podrazumeva se traženje praktičnog i optimalnog rešenja kako u oblasti hardvera tako i u oblasti softvera.

Većina proizvođača akvizicionog harvera nudi sopstvena programska rešenja za prikupljanje, analizu i vizuelizaciju podataka kao i simulaciju, kontrolu i procesno upravljanje na osnovu prikupljenih podataka.

Strategija ljudi koji se bave ovim poslom je pre svega da se pouzdano, fleksibilno i relativno brzo dođe do kompletnog programskog rešenja za interni multitasking, od prikupljanja podataka sa akvizicionog hardvera do njihove obrade, vizuelnog predstavljanja i eventualnog prosleđivanja na periferiske module.

Grubo rečeno na raspolaganju je više programerskih rešenja:
• Na osnovu drajvera za ponuđeni hardver, koje isporučuju proizvođači i to za većinu poznatih programskih jezika kao što su C/C++; Visual Basic itd. na platformi WINDOWS 9xx/NT ili za druge operativne sisteme napr. UNIX, moguće je na osnovu programerskog znanja kreirati ciljnu aplikaciju

• Sledeća mogućnost je korišćenje akvizicionih programskih ''paketa'' koji u sebi sadrže drajvere za ponuđeni hardver ali i veliki broj funkcionalnih biblioteka pre svega za monitoring, obradu i kontrolu. Time programeri uobičajenim načinom pisanja komandi-naredbi, povezuju u funkcionalnu celinu već napisane izvršne blokove da bi se na kraju izvršilo klasično kompajliranje. Ovim je svakako posao izuzetno olakšan jer je praktično jako teško napisati programski kod nekih izvršnih funkcija, uzmimo primer pisanja FFT transformacije ili PID regulatora. Jedan od "paketa" ovakve koncepcije je na primer LabWindows/CVI od National Instrumentsa.

• Poslednjih godina u ovoj oblasti se sve više nameće standard grafičkog-blokovskog programiranja. Ovakvo programsko rešenje je okrenuto velikom broju stručnjaka koji nemaju nikakvo ili malo iskustvo u programiranju i korišćenju programskih jezika.

Filozofija ovakvog principa je sjajna, koristeći gotove module funkcionalne blokove kao na primer za analizu (DSP, statistika, histogram, RMS, Peak ...); prezentaciju (barovi, plot, prekidači ...) ili hardverski pristup (A/D, D/A, serijska komunikacija, DIO), korisnik jednostavnim pozivanjem i grafičkim povezivanjem blokova kreira krajnju aplikacionu celinu.

Neki od ovakvih softverskih paketa su LabVIEW od National Instrumenta; LabtechControl (LT); Visual Designer (Inteligent Instrum.); InTouch (Advantech); GENESIS (Iconics) itd.

VISUAL DESIGNER 4.0

Visual Designer je proizvod firmi Inteligent Instrument i Burr-Brown.Verzija 4.0 ima 32-bitnu arhitekturu i namenjena je za PC platformu zasnovanu na WINDOWS 9xx/NT radnom okruženju.
Na slici 1. prikazana je uprošcena struktura grafickog programiranje u Visual Designer-u koja se sastoji iz dve faze:
1. Kreiranje radnog blok dijagrama (FlowGram) 
2. Kreiranje Run-time aplikacije (FlowCode)

Slika 1. Visual Designer-sistem dijagram

FLOWGRAM DIJAGRAM

FlowGram dijagram je osnovni radni modul i možemo ga uporediti sa konceptom klasicnog seta programskih instrukcija.

Rad u njemu se sastoji iz nekoliko faza:
• selekcija i postavljanje funkcionalnog bloka u dijagram
• medusobno povezivanje blokova (input-output )
• konfigurisanje parametara blokova

Svaki od blokova u stvari je jedna DLL biblioteka koja ima svoju "ikonicu" odnosno ime koje identifikuje njegovu funkciju npr. Analog Input, XYplot, Pulse blok, Analog metar itd.

Pozivanjem blok menija vrši se selekcija i importovanje funkcionalnog bloka na novo otvorenom dijagramu.

Na slici 2. prikazana je selekcija bloka za generisanje sinusnog generatora. 

Naredna faza u kreiranju krajnje aplikacije je međusobno povezivanje blokova postavljenih u FlowGram dijagramu. Povezivanje uz upotrebu Wiring Tool alata je krajnje jednostavno i svodi se na linijsko povezivanje In/Out funkcija pojedinih blokova.

Na slici 3. prikazani su međusobno povezani blok (sinusni generator) i blok (multiChannel plot).
 
Slika 2. Selekcija bloka za generisanje sinusnog generatora Slika 3. Međusobno povezani blok (sinusni generator) i blok (multiChannel plot)

Prostorna organizacija blokova, njihova radna imena, komentari i njihova preglednost na radnom dijagramu je subjektivna vizija samog programera, mada je korisno, naročito pri korišćenju velikog broja blokova i konekcija, koristiti ''subgram'' module koji služe za grupisanje drugih blokova u jednu celinu. Slika 4. pretstavlja jedan složeniji FlowGram dijagram koji je spreman za startovanje u Run režim. 

Slika 4. Složeniji FlowGram dujagram

 
Da bi se pravilno kreirala Run-time aplikacija potrebno je izvršiti konfigurisanje parametara svakog od blokova čime se zadaju njegove operacione karakterstike.

Na slici 5. prikazano je podešavanje parametara ''sinewave'' bloka koji odgovara FlowGram dijagramu sa slike 3. Pravilno podešavanje parametara blokova podrazumeva poznavanje nekih osnova iz oblasti elektronike, hardvera i automatskog upravljanja.
Jedna od prednosti Visual Designer-a je obiman i detaljan help  uz svaku od blok biblioteka.

Slika 4. Složeniji FlowGram dijagram

BIBLIOTEKE BLOKOVA

Visual Designer sadrži veliki broj funkcionalnih blokova i ovde je dat pregled sa kraćim opisom:

• COMM komunikacioni blok (IEEE488; Serijska komunikacija)
• COMPARE blokovi za komparaciju (Compare; Treshold alarm; Window alarm)
• CONVERT za konverziju podataka (Accumulate; Bit pack; Bit unpack; Contacenate; Cut; Decimate; Delay; Modifyunits; Multiplexer; Pack block; Selector; Type convesion; Unpack)
• DATABASE rad sa MS bazama (Access Action; Access Query)
• DDE razmena podataka (DDEClient; DDExecute; DEPoke; DDEServer block)
• DISPLAY blok (Analog metar; Annunciator; Bargraph; Chart; Digital metar; List; Multi-channel Plot; Video; XYChart; XYPlot)
• DSP procesiranje podataka (Correlation block; FFT; Filter; Power Spectrum block)
• FILE I/O rad sa fajlovima (ASCIIFileRead; ASCIIFileWrite; AutoFilename; Filename; FileRead; FileWrite; RawFileWrite)
• SIGNAL GENERATOR (Constant; Pulse; Random; Sinewave)
• HARDWARE I/O (8254 Counter; AnalogIn/Out; Counter; AnalogIn/OutDMA; BurstGenerator; CounterDMA; Digitaln/Out; DigitalIn/Bit; DigitalIn/OutDMA; Period; RateGenerator; Thermocouple)
• LOGIČKA ARITMETIKA (AND; NAND; NOR; NOT; OR; SR-FF; XOR; IncrementCounter; One-Shot)
• MATEMATIČKE FUNKCIJE (Abs; Add; Clip; Derivate; Divide; Integral; Equiation; Inverse; Ln; Log; MoveAverage; Multiply; Power; Square; SquareRoot; TableLookup;
Substract; X^Y)
• MERENJA (Histogram; Max; Min; Mean/Sum; Peak; RMS; QuickSort)
• MEMORY (16bit I/O; 32bit I/O; 
8bit I/O)
• MISC (Call; Export; Extract; Import; Latch; Load; PID; Return; Run Controller; Time; Timer; Wait; Wallpaper)
• SPECIAL (FeedBack; Continue; Do..While; Select; LinkIn/Out; LoopCount; SubgramIn/Out)
• STRING (Case Convert; Find Character; Match String; String Compare; Format; Cut; Pack; Unpack; Lenght; Interpret; Conversion)
• USERINF (Alphanumeric Input; Audio Annunciator; MessageBeep; Numeric Edit; Slider; SwichBar; User Promt)

FLOW CODE-RUN TIME REŽIM

Poslednja faza je pokretanje neke vrste kompajlera kojim se, na osnovu fajlova *.dgm, i *.par (oformljenim u predhodnom radu), prelazi u Run-time radno okruženje uz otvaranje *.fco fajla. Startovanje je krajnje jednostavno, prostim klikom na Run ''ikonicu'', kao što je pokazano na slici 6. (kursor miša).

Pri tome ako se pri povezivanju ili setovanju parametara blokova napravila neka greška program će izbaciti tip greške odnosno error dijalog koji će ponuditi korigovanje loše konekcije tj. vizuelno prikazivanje problematičnog bloka i konekcije. Jedan primer error dijaloga nepovezanosti Thermocouple bloka prikazan je na slici 7.

Jednom startovana aplikacija odnosno rad u Run-time okruženju omogućava neposredno dizajniranje pokaznih panela,menjanje njihovog oblika, boje, veličine pa čak i menjanje njihovih radnih parametara što je izradu krajnjeg dizajna učinilo jednostavnim.
 

Slika 6. Startovanje je krajnje jednostavno, prostim klikom na Run ikonicu

 

Slika 7. Error dijalog nepoveyanosti Thermocouple bloka

 
Verzija 4.0 donela je novi alat Alignment Tools kojim je u Run-time okruženju olakšano geometrisko podešavanje i poravnavanje pokaznik displeja.

Na slici 8. prikazana je jedna startovana Run-time aplikacija. Naravno finalizovanu verziju radnog displeja moguće je ''zaključati'' od daljih promena. Posebna pogodnost je što se sa komandama Show/Hide postiže vizuelno (ne)prikazivanje više radnih displeja.
U Visual Designeru je moguće startovanje više Run-time aplikacija koje se odvijaju nezavisno jedna od druge.

 

 

 

 

 

 

Slika 6. Primer startovane Run-time aplikacije

CUSTOM BLOCK TOOLKIT

Intelligent Instrum. je za korisnike koji žele da kreiraju svoje funkcionalne blokove ponudio razvojni alat Custom Block ToolKit. Uz obimnu dokumentaciju i primere otvorena je mogućnost genereisanja novih DLL biblioteka, naravno za programere vične radu u C/C++ (podržan je Borland C++; Microsoft Visual C++ Symentec).

KRITIČKI OSVRT

Sistemski zahtevi po specifikaciji Intelligent Instr. su 80486DX, minimalno 12 Mb. RAM, CD-Rom.

Praktična iskustva autora za neki fleksibilan rad je bar 200MMX procesor ili PII tehnologija sa 32 Mb. RAM, grafičkom karticom sa 4 Mb., pri rezoluciji 800x600 u 16-bit paleti boja.

Visual Designer podržava kompletan hardverski akvizicioni program Inteligent Inst.-ta, i to sledeće module:

• EDAS-1002E (Multifunction Ethernet Data Acquis.)
• PCI-460P Series IOcard
• PCI-470W Series High Speed Board
• PCI-20377W Series Board
• PCI-20428W Series Board
• PCI-20450p Series DASports
• PCI-20098C Series Board

Prednosti ovog paketa su pre svega što ne zahteva programiranje i što je korisnički interfejs uprošćen i lak za korišćenje, a sa druge strane dovoljno snažan da svojom kombinacijom funkcionalnih blokova omogući kreiranje složenih aplikacija.

U ranijoj 16-bitnoj verziji Visual Designera 3.0, bilo je izvesnih problema - nemogućnost kreiranja i pokretanja *.fco fajla, pri upotrebi velikog broja blokova i konekcija između njih, (preko 1000 blokova), pa je čak i Intelligent Instr. na svom sajtu (www.instrument.com), dao ispravku RUN.EXE fajla. Nova verzija 4.0 donela je nove blokove i po specifikaciji proizvođača otklonjeni su raniji problemi, mada treba biti oprezan.

Na njihovom sajtu nalaze se najnovije informacije iz proizvodnog programa Intelligent Inst., kao i brojni primeri rada u Visual Designeru.

Osnovni nedostatak Visual Designera je snažnija grafička podrška, pre svega nedostatak industrijskih simbola pa crtanje i rad u ovim okolnostima može da bude otežano. Sigurno da je potrebno dalje unapređenje i dodavanje novih blokova naročito u pogledu statistike, linearne algebre i matematičke obrade, što bi omogućilo da se Visual Designer svrsta u sam vrh paketa ovakve namene.

Jedno je sigurno, u Visual Designeru je potrebno minimalno vreme za kreiranje krajnje aplikacije, a vreme je novac. Zar ne? x


Pročitajte više o ovoj temi
LOOKOUT®
Projektovanje vlastitog SCADA sistema I deo
Projektovanje vlastitog SCADA sistema II deo
Lookout

C o p y r i g h t  1998 mikroElektronika. All Right Reserved. Za sva pitanja obratite se redakciji