Download as pdf or txt
Download as pdf or txt
You are on page 1of 90

FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

Použití počítačů v měřicí technice

Garant předmětu:
Ing. Miloslav Čejka, CSc.

Autor textu:
Ing. Miloslav Čejka, CSc.

Brno 1.8. 2002


2 FEKT Vysokého učení technického v Brně

Obsah
1 ÚVOD..........................................................................................................................................6

2 ZAŘAZENÍ PŘEDMĚTU VE STUDIJNÍM PROGRAMU..................................................6


2.1 ÚVOD DO PŘEDMĚTU .............................................................................................................6
2.2 VSTUPNÍ TEST .......................................................................................................................6
3 DĚLENÍ POUŽÍVANÉHO SOFTWARE PRO MĚŘICÍ TECHNIKU...............................7
3.1 PŘEHLED SOFTWARE PRO ON-LINE APLIKACE ........................................................................9
3.1.1 Rozdělení dle otevřenosti a nároků na uživatele..........................................................9
3.1.2 Kritéria pro volbu sw .................................................................................................10
3.1.3 SW firmy ADVANTECH.............................................................................................10
3.1.4 SW firmy Keithley MetraByte.....................................................................................12
3.1.5 SW firmy Burr-Brown ................................................................................................13
3.1.6 SW firmy HEWLETT-PACKARD (Agilent Technologies) .........................................14
3.1.7 SW firmy Wavetek ......................................................................................................17
3.1.8 SW National Instruments ...........................................................................................17
3.1.9 Česká produkce ..........................................................................................................18
3.2 PROGRAMY PRO POUŽITÍ V NESPŘAŽENÉM REŽIMU (OFF-LINE) ...........................................19
3.2.1 Systémy CAD užívané pro návrh plošných spojů.......................................................19
3.2.2 Statistické programy ..................................................................................................24
4 PROGRAMOVÉ SYSTÉMY FIRMY NATIONAL INSTRUMENT PRO
LABORATORNÍ A TESTOVACÍ MĚŘICÍ TECHNIKU..........................................................26
4.1 SYSTÉM LABWINDOWS ...................................................................................................27
4.1.1 LabWINDOWS pro DOS............................................................................................28
4.1.2 LabWINDOWS/CVI ...................................................................................................41
4.1.3 Postup tvorby aplikace v LabWindows ......................................................................49
4.1.4 Poznámka k využití technologie multithreading (vláken) ..........................................49
4.2 LABVIEW ..........................................................................................................................52
4.2.1 Základní východiska LabVIEW..................................................................................52
4.2.2 Základní vlastnosti LabVIEW ....................................................................................52
4.2.3 Programování LabVIEW............................................................................................55
4.2.4 Vazba na reálné okolí ................................................................................................58
4.2.5 Zpracování naměřených dat.......................................................................................58
4.2.6 Grafické prostředky....................................................................................................59
4.2.7 Základní programovací techniky LabVIEW...............................................................59
4.2.8 Poznatky s aplikací LabVIEW....................................................................................63
5 PŘEHLED TECHNICKÝCH PROSTŘEDKŮ....................................................................64
5.1 ZÁSUVNÉ KARTY PŘIPOJOVANÉ NA SBĚRNICI PC ................................................................67
5.2 PŘÍKLAD DOSTUPNÝCH TECHNICKÝCH PROSTŘEDKŮ NI: ....................................................70
5.3 OPERACE S DATY ZÍSKANÝCH Z MĚŘICÍCH KARET...............................................................75
6 PŘÍSTROJOVÉ OVLADAČE ...............................................................................................78
6.1 ADRESACE V PŘÍSTROJOVÝCH OVLADAČÍCH .......................................................................78
6.2 POVINNÉ FUNKCE V PŘÍSTROJOVÉM OVLADAČI ...................................................................79
6.3 MODELY PŘÍSTROJOVÉHO OVLADAČE .................................................................................79
6.4 IVI OVLADAČE ....................................................................................................................81
Použití počítačů v měřicí technice 3

6.5 POSTUP PŘI TVORBĚ PŘÍSTROJOVÉHO OVLADAČE ................................................................83


7 DISTRIBUOVANÉ APLIKACE............................................................................................84
7.1 VÝSLEDKY TESTŮ ...............................................................................................................89
7.1.1 Kapitola 1...................................................................................................................89
4 FEKT Vysokého učení technického v Brně

OBR. 1 – VIRTUÁLNÍ PŘÍSTROJ ..............................................................................................................8


OBR. 2 – ÚROVNĚ SW PRO MĚŘENÍ .......................................................................................................9
OBR. 3 – UKÁZKA APLIKACE V GENIDAC ...........................................................................................12
OBR. 4 - PROSTŘEDÍ PROGRAMU TEST POINT .....................................................................................13
OBR. 5 – BENCH LINK FIRMY HP........................................................................................................15
OBR. 6 – PROSTŘEDÍ VEE S UKÁZKOU POPISU ALGORITMU ...............................................................15
OBR. 7 – UKÁZKA APLIKACE DIADEM ...............................................................................................18
OBR. 8 - UKÁZKA PROSTŘEDÍ ORCAD CAPTURE VERZE 9 .................................................................20
OBR. 9 - SCHÉMA ZAPOJENÍ V SYSTÉMU WINEAGLE ........................................................................21
OBR. 10 - EDITOR PLOŠNÉHO SPOJE SYSTÉMU WINEAGLE ...............................................................22
OBR. 11 - SYSTÉM QCAD PRO KRESLENÍ SILNOPROUDÝCH INSTALACÍ, ROZVADĚČŮ I OBVODOVÝCH
SCHÉMAT.....................................................................................................................................22
OBR. 14 - UKÁZKA PROGRAMU HIQ VERZE 4.5..................................................................................26
OBR. 15- HISTORIE VÝVOJE LABWINDOWS ........................................................................................27
OBR. 16 – PROSTŘEDÍ LW/DOS, SOUČASNÉ ZOBRAZENÍ OKEN PROGRAM A INTERACTIVE.
REŽIM JAZYKA C........................................................................................................................29
OBR. 17 – INTERAKTIVNÍ TVORBA VOLÁNÍ KNIHOVNÍ FUNKCE S MOŽNOSTÍ JEJÍHO BEZPROSTŘEDNÍHO
SPUŠTĚNÍ .....................................................................................................................................31
OBR. 18 – VZNIK PODMNOŽINY PŘÍKAZŮ SYSTÉMU LW/DOS............................................................32
OBR. 19 – POSTUP TVORBY SAMOSTATNĚ SPUSTITELNÉHO PROGRAMU V LW/DOS ..........................35
OBR. 20 – VAZBA MEZI UŽIVATELSKÝM ROZHRANÍM A APLIKACÍ V LW/DOS...................................39
OBR. 21 – EDITOR UŽIVATELSKÉHO ROZHRANÍ S ROZVINUTOU NABÍDKOU OBJEKTŮ..........................40
OBR. 22 – SOUČÁSTI LW/CVI............................................................................................................41
OBR. 23 - OKNO PŘEKLADAČE LW/CVI VER.6.0 ...............................................................................42
OBR. 24 – OKNO PROJEKTU/WORKSPACE LW/CVI VER.6.0 ...............................................................42
OBR. 25 - LOKALIZAČNÍ NÁSTROJ LW/CVI VER. 6.0 .........................................................................43
OBR. 26 – NASTAVENÍ PODMÍNEK PRO SESTAVENÍ LW/CVI VER.6.0 .................................................43
OBR. 27 – PŘÍKLAD PROGRAMU LW/CVI...........................................................................................45
OBR. 28 – PŘÍKLAD 3D GRAFU V LW/CVI 6.0...................................................................................46
OBR. 29 – VAZBA MEZI UŽIVATELSKÝM ROZHRANÍM A APLIKAČNÍM PROGRAMEM ............................48
OBR. 30 – FRAGMENT PROGRAMU VOLÁNÍ CALLBACK FUNKCÍ Z UIR................................................48
OBR. 31 - UKÁZKA PANELU (UŽIVATELSKÉHO ROZHRANÍ) SYSTÉMU LABVIEW...............................54
OBR. 32 – DIAGRAM POPISUJÍCÍ ALGORITMUS (VIZ OBR. 31) .............................................................54
OBR. 33 – POPIS HIERARCHIE SUBVI PŘÍKLADU Z OBR. 31 ................................................................55
OBR. 34 – NÁSTROJ LV PRO JEDNODUCHÉ PUBLIKOVÁNÍ NA INTERNETU A JÍM VYTVOŘENÝ TEXT ....63
OBR. 35 – JEDNO Z OKEN PRŮVODCE AUTOMATIZOVANÉHO VYTVÁŘENÍ APLIKACÍ V LV ..................64
OBR. 36 – KARTA ROZHRANÍ PCI - GPIB...........................................................................................65
OBR. 37 - SYSTÉM PXI .......................................................................................................................66
OBR. 38 – BLOKOVÉ SCHÉMA MULTIFUNKČNÍ MĚŘICÍ KARTY ............................................................67
OBR. 39 – UKÁZKA MĚŘICÍ KARTY NI ................................................................................................67
OBR. 40 – MOŽNOSTI PŘIPOJENÍ MĚŘENÉHO OBJEKTU K MĚŘICÍ KARTĚ .............................................68
OBR. 41 – SYSTÉM SCXI PRO ÚPRAVU ANALOGOVÝCH SIGNÁLŮ PRO MĚŘICÍ KARTY A PXI..............75
OBR. 42 – ZPRACOVÁNÍ DAT Z MĚŘICÍ KARTY ....................................................................................76
OBR. 43 – ZPŮSOBY VYUŽITÍ VYROVNÁVACÍ PAMĚTI .........................................................................77
OBR. 44 – EXTERNÍ MODEL PŘÍSTROJOVÉHO OVLADAČE ....................................................................80
OBR. 45 – INTERNÍ MODEL PŘÍSTROJOVÉHO OVLADAČE .....................................................................81
OBR. 46 – SPLUPRÁCE IVI OVLADAČE S IVI ENGINE .........................................................................83
OBR. 47 – INTERAKTIVNÍ ROZHRANÍ PŘÍSTROJOVÉHO OVLADAČE (VLEVO LV, VPRAVO CVI) ...........84
Použití počítačů v měřicí technice 5

OBR. 48 – VYUŽITÍ DATASOCKET-U V LV .........................................................................................85


6 FEKT Vysokého učení technického v Brně

1 Úvod
Měření a měřicí technika vůbec je důležitou součástí řady oborů, ať již technických nebo i
netechnických. Setkáváme se s ní v běžném životě. Protože ale samotné provádění měřicího úkonu
je na člověka dosti náročné, někdy přímo i neproveditelné, vznikl již poměrně dávno požadavek
celý proces měření automatizovat. To má jednak stránku technickou (HW), ale též i programovou.
V tomto materiálu se budeme zabývat hlavně stránkou programovou a její implementaci na počítače
třídy PC. Jedná se o problematiku značně širokou, zde se budeme věnovat hlavně nástrojům pro
tvorbu programového vybavení měřicích systémů. Je třeba mít na paměti, že jde o nástroje – jejich
správné použití vyžaduje znalosti z teorie měření, teorie signálů, statistiky i informačních
technologií. Kromě toho zde budou zmíněny i prostředky pro tvorbu měřicích přístrojů jako
takových – tedy systémů CAD i prostředků pro zpracování již naměřených dat.

2 Zařazení předmětu ve studijním programu


Tento materiál byl vytvořen pro potřeby předmětu Použití PC v měřicí technice studijního
programu VUT-FEKT EEKR-BC-3 (zkratka PMT). Předpokládá znalosti z předmětu Měření
v elektrotechnice, základní znalosti z informatiky.

2.1 Úvod do předmětu

Cílem předmětu je naučit se pracovat s vybraným sw používaným pro tvorbu měřicích


systémů na bázi PC, principem práce jak na úrovni aplikací, tak i znalosti jeho struktury. Na
vybraných komerčních sw produktech (TestPoint, VEE, LabWINDOWS/CVI, LabVIEW) se pak
seznámit s postupem tvorby aplikačního programového vybavení a být schopen spolupracovat
s vývojáři.
V dalších kapitolách je uvedeno dělení používaného software, příklady řešení, software
používaného přímo v procesu měření a sw používané off-line. Podrobněji jsou popsány programové
systémy LabWINDOWS/DOS, LabWINDOWS/CVI, LabVIEW firmy National Instruments
(www.ni.com). Ve cvičeních si studenti samostatně ověří tento software, vytvoří jednoduché
aplikace nejdříve se simulovanými přístroje a na závěr i s reálnými přístroji.
Předkládaný text se technickými prostředky zabývá jen okrajově, což odpovídá i současnému
trendu nabízeného sw a hw vybavení. Uživatel se má věnovat řešení vlastního problému (např.
měření) a záležitosti OS, hw měřicí karty pro něj nemají být podstatné. Na druhé straně musí být
schopen požadavky na hw specifikovat.

2.2 Vstupní test


1) Uveďte názvy nejpoužívanějších A/D převodníků!
2) Vysvětlete zkratku SDRAM používanou u paměťových subsystémů PC!
3) Co znamená pojem CLUSTER v souvislosti s pevným diskem?
4) Jaký souborový systém standardně používá operační systém MS-Windows NT?
Použití počítačů v měřicí technice 7

5) Vypočtěte, jaké napětí je na vstupu měřicí karty, pokud měříme napětí zdroje
s U=4,2V,vnitřním odporem 100 kΩ, odporem vedení 1 Ω, pokud je vstupní odpor karty
820 kΩ !
Výsledky testu jsou v kap.7.1.1

3 Dělení používaného software pro měřicí techniku


Cíle kapitoly: Získat orientaci v programových prostředcích pro měřicí techniku, seznámit se
s vývojem
Obecně je měřicí technika již dlouhou dobu propojena s technikou výpočetní nebo obecně
s informačními technologiemi. Hlavním důvodem je to, že měřicí technika získává data z reálného
prostředí a ty je samozřejmě nutno zpracovat (archivovat, uložit do databáze, prezentovat…). Toto
propojení je známo a využíváno již dlouhou dobu, prakticky od 50. let dvacátého století. Většímu
rozšíření bránila vysoká cena výpočetní techniky. Další moment je v rozvoji číslicových metod
měření. Teprve přesné, malé a relativně levné analogově-číslicové (A/D) převodníky dovolily
automaticky získávat data nutná pro zpracování.
Výpočetní technika používaná pro měření byla vyvíjena do určité míry samostatně. Mohli
jsme se setkat s výpočetní technikou jiného charakteru (stolní kalkulátory, tzv. minipočítače), která
nebyla obecně určena na hromadné zpracování dat (sálové počítače „mainframe“). Teprve vznik
kategorie personálních počítačů na bázi mikroprocesorové techniky zajistil daleko častější použití i
v měření. To ovšem neznamená, že tzv. klasické měřicí přístroje (ať analogové nebo číslicové)
ztratily na významu.
Samotné zapojení výpočetní techniky ovšem nestačí. Nedílnou součástí je i aplikace a vývoj
potřebných algoritmů pro zpracování dat. Například algoritmus rychlé Fourierovy transformace
(která se velmi často používá) byl publikován v 60.letech 20.století. Tyto algoritmy dovolily
nahradit původní analogová řešení na bázi technických prostředků (obvodového řešení), což
přispělo jednak ke zjednodušení, ale i k lepším a stabilnějším výsledkům.
Předem je třeba říci, že dále popisované programové prostředky nevedou na realizaci měření
výhradně s použitím např. stolního PC. Jsou využívány i výrobci dedikovaných měřicích přístrojů,
jejichž součástí je často počítač např. IBM-PC kompatibilní, který ale uživatelům není dostupný.
Může jít i o řešení na bázi specializované unikátní architektury.
Použití PC v měřicí technice můžeme rozdělit na dvě základní skupiny:
- aplikace off-line, kdy počítač se přímo nepodílí na měřícím procesu
- aplikace on-line , kdy počítač je přímo do měření zapojen.
Aplikace off-line jsou tyto:
a/ návrh měřicích přístrojů. Jde o systémy označované jako systémy CAD obecně používané v
elektrotechnice pro návrh elektrických obvodů a návrh desek plošných spojů. Pro konstrukce více
mechanicky orientované typu AutoCAD. Návrhové systémy užívané v elektrotechnice obvykle mají
tyto možnosti:

- kreslení elektrického schématu


- simulace funkce obvodů dle schématu (analogových, číslicových)
- návrh obvodů typu PLD (PAL,GAL)
- návrh desek s plošnými spoji
- podklady pro tvorbu dokumentace
8 FEKT Vysokého učení technického v Brně

- podklady pro technologický postup

Může jít ovšem i o samostané programy, např. obvodové simulátory typu MicroCAP, PSPICE atd.
b/ výpočtové prostředky pro zpracování naměřených dat. Patří k nim statistické programy
typu STATGRAPHICS, ev. MatCAD, ale i MATLAB, HiQ atd. Může jít i o tabulkové procesory
typu EXCEL atd. Tyto prostředky zpracují naměřená data (mají modul vstupu dat), provedou
potřebné výpočty, jejichž řízení může být buď konverzační (pomocí menu) obsluhou nebo
programem a výsledky prezentují např. graficky s možností výstupu do textových procesorů k
tvorbě zpráv.
c/ textové procesory typu WORD, nebo složitějších programů DTP (Desk Top Publishing)
(AmiPro, VENTURA..)
d/ databázové systémy používané jednak pro úschovu naměřených dat (pro dokumentaci o
měřeném procesu), nebo i jako specialita databáze pro metrologické účely o kalibrovaných
přístrojích.
Aplikace on-line jsou řešeny speciálními programovými systémy, které budou dále podrobněji
popisovány. Řeší komunikaci s měřeným objektem i další zpracování dle tohoto schématu :

Sběr dat Zpracování Prezentace

Virtuální přístroj

Obr. 1 – Virtuální přístroj

Sběr dat - (data acquisition) - prostředky pro komunikaci s reálným okolím. Jedná se jak o
technické, tak i programové prostředky. Komunikace se děje buď pomocí karet připojovaných na
sběrnici počítače (A/D a D/A převodníky..), nebo pomocí běžných měřicích přístrojů,
komunikujících přes standardní sběrnice (GPIB, RS232C,USB…). V tomto případě se např. A/D
převod uskutečňuje v tomto přístroji (multimetr..), další operace jsou již nad číslicovými daty. Při
zpracování signálů v kmitočtovém rozsahu nad 20 MHz je tento postup nezbytný, zásuvné karty již
v tomto rozsahu běžně nepracují. Někdy je zařazen i prostředek pro analogové předzpracování
(zesilovače, přepínače..).
Programové prostředky obvykle dovolují současný sběr dat i jejich zpracování (pokud to
dovoluje výkon počítače). To je nezbytné např. i při ukládání dat na disk při jejich větších
objemech. Omezení v této části mohou být klíčové i pro celý systém. Na druhé straně u firemních
systémů je pravidlem omezení na technické prostředky téže firmy.
Zpracování - prostředky pro zpracování naměřených dat, bývají zde různé statistické metody,
filtrace, transformace atd. Tuto část je obvykle možno rozšiřovat uživatelem.
Prezentace - prostředky pro komunikaci s uživatelem prostřednictvím obrazovky, klávesnice
a myši. Možnost tvorby výstupních datových souborů, výstup na tiskárnu či zapisovač. Rozhoduje o
uživatelské přístupnosti systému, u programově ovládaných systémů pak o možnostech
programátora vytvořit systém dle požadavků zadavatele. Tato část bývá poměrně uzavřená a
základní elementy jsou neměnné. Prezentace může být realizována i vzdáleně např. internetovým
prohlížečem.
Koncepce uvedená na Obr. 1 je vlastně jiný pohled na libovolný měřicí přístroj. I u analogových
přístrojů můžeme nalézt část sběru dat (vstupní sondy, svorky, kabely), zpracování (analogový
převod napětí na úměrný proud např. rezistorem) i prezentaci (měřicí ústrojí realizuje převod do
Použití počítačů v měřicí technice 9

člověkem vnímatelné podoby). Označuje se také pojmem virtuální přístroj (virtual instrument). To
neznamená, že jde o nějakou simulaci. Takový přístroj skutečně měří zcela stejně , jak jsme zvyklí.

3.1 Přehled software pro on-line aplikace

Následující přehled je výčtem komerčně dostupných programů na různé úrovni. Je uvedena


základní charakteristika, označení a výrobce. Je třeba upozornit, že tentýž sw produkt je nabízen
různými firmami pod různým označením. Z dnešního pohledu je některý sw již zastaralý, je zde
uváděn pro představu o vývoji a vlastnostech.
Následující výčet je orientován na počítače IBM-PC kompatibilní, které jsou v ČR
nejrozšířenější. Existuje řada sw pro počítače MACINTOSH, dokonce je známo, že tato řada byla
průkopníkem v oblasti nasazeni PC do měření. Důvodem byl předstih hlavně v možnostech grafiky
a tedy prezentací výsledků. Podobně vznikla řada sw (u firmy Hewlett-Packard) určeného pro
pracovní stanice. Zde byl důvodem nedostatečný výkon tehdejších IBM-PC kompatibilních typů.
Z následujícího přehledu lze vysledovat, že původně většina sw pro IBM-PC kompatibilní
počítače pracovala na úrovni operačního systému DOS. Výhodou takového řešení byla plná
kontrola měřicího sw nad počítačem, malá režie a relativně snadná realizace. Vznikala často jen
jako demonstrační nebo testovací sw pro dodávané technické vybavení (např. měřicí kartu). Příchod
operačních systémů MS-WINDOWS způsobil komplikaci ve vývoji těchto sw. Důvodem je
poměrně dlouhá reakce na přerušení, nedostatečně vyřešené sdílení a to, že nejde o systém pro práci
v reálném čase. SW využívající MS-WINDOWS se objevuje až od verze WIN3.1, někdy dokonce
řešen tak, že veškeré operace probíhají na zvláštním procesoru zásuvné karty, PC je použito jen pro
konfiguraci a prezentaci výsledků. Proto řada realizovaných řešení např. v průmyslu zůstala na
úrovni DOS. I dnes mohou mít taková řešení význam pro realizaci na vestavných (embedded)
systémech.

3.1.1 Rozdělení dle otevřenosti a nároků na uživatele


Softwarové systémy lze rozdělit i dle otevřenosti. Jde vlastně o to, do jaké míry je uživatel
schopen zakoupený systém přizpůsobit svým požadavkům. Na druhé straně velká otevřenost klade
na uživatele větší nároky, musí být do jisté míry specialistou. Následující obrázek uvádí možnosti:

Neprogramátor Programátor
jednoduché aplikace komplexní aplikace

Hotový SW Vytvářený
plně uživatelem

ASYSTANT Ovladač karty

ASYST

Obr. 2 – Úrovně sw pro měření


Jistě nejotevřenější je sw plně vytvářený uživatelem. Od dodané např. měřicí karty obdrží
uživatel technický popis např. registrů (obvodové schéma jen výjimečně) a o ostatní se musí
postarat sám. K vývoji použije jím zvolený jazyk a vývojové prostředí. Hlavní nevýhodou je dlouhý
a nákladný vývoj.
10 FEKT Vysokého učení technického v Brně

Na druhé straně je tzv. hotový software, označovaný jako ready-to-run. Po instalaci může
uživatel ihned začít pracovat. Nevýhodou je, že takový sw je buď příliš jednoúčelový nebo sice
konfigurovatelný na základě různých nabídek a voleb, často tím dosti nepřehledný. Mezi těmito
extrémy je několik mezistupňů, kdy je např. dodán „ovladač“ k měřicí kartě (knihovna funkcí), tak
že aplikátor nemusí přesně znát hw řešení, dokonce je možné bez zásahu do sw použít i obdobnou
kartu. Další možností jsou různé pomůcky, které usnadňují programování v univerzálním jazyku
často používaných sekvencí.
Zvláštní skupinu tvoří tzv. vývojové systémy. Jde o specifické programovací jazyky a
prostředí, které mají značnou variabilitu a jsou vybaveny často používanými nástroji (pro
zpracování signálů, přístup na datovou síť, různá rozhraní, grafy pro zobrazování, prostředky pro
uživatelské rozhraní) a nástroji pro automatizaci programování měřicích aplikací. Dovolují rychlý
vývoj i neprogramátorům, hlavní nevýhodou je jejich cena a určitá vazba na firmu dodávající
takový systém (licence, chyby, technická podpora…) .

3.1.2 Kritéria pro volbu sw


Při rozhodování o volbě sw je třeba uvážit následující kritéria:
- rychlost sběru dat
- možnosti zpracování
- rozhraní sběru dat
- úroveň prezentace
- způsob ovládání
- nároky na OS, HW počítače
- otevřenost systému ven i dovnitř
- cena
- rychlost vývoje
- podpora výrobce

3.1.3 SW firmy ADVANTECH


Firma Advantech (www.advantech.com) je dlouholetý výrobce prostředků měřicí i
automatizační techniky. Dodává nebo dodávala následující software:
PC-LabDAS PCLS 701 (výrobek ADVANTECH). Určeno jako programová podpora řady
karet PC-LabCards (ADVANTECH). Lze využít k měření v laboratoři, testování výrobků,
monitorování aj. Je řízen pomocí menu, dovoluje ukládat data během jejich získávání. Výstupem je
tabulka), grafy (kanál/čas, kanál/kanál), možno zpracovat statistiku. Dovoluje vstup až 32
analogových kanálů, 4 analogové výstupy, 4x16 číslicových v/v, 3x čítače. Rychlost sběru dat
závisí na typu použité karty. Požadavky na počítač jsou minimální (XT, 640KB, 2x FD, CGA).
Dodávají se i zdrojové texty.
PC-SCOPE PCLS-800: Jednoduchý program pro emulaci číslicového osciloskopu počítačem
na bázi karty PC-LabCards (ADVANTECH). Lze užít k záznamu dat, záznamu přechodných dějů.
Má 16 kanálů, zobrazit lze 2 kanály. Má možnost synchronizace. Zobrazuje 500 bodů/kanál, časová
osa má 10 dílků. Časové měřítko závisí na typu karty, maximálně je 0.5 ms/dílek. Lze zpětně
odečítat naměřené hodnoty pomocí kurzoru.
Použití počítačů v měřicí technice 11

LABTECH ACQUIRE PCLS-702 (Laboratory Technologies Corp.): Program pro sběr dat
maximálně ze 4 analogových vstupů, jeden číslicový kanál. Vzorkování od 50 S/s do 1 S/3roky.
Možnost změny měřítka. Záznam se provádí na disk současně se zobrazením. Výstup pro řadu
analytických programů. Spouštění z klávesnice, z analogového nebo číslicového vstupu.
Kompatibilní s LABTECH NOTEBOOK.
LABTECH NOTEBOOK PCLS-701 (Laboratory Technologies Corp.): Integrovaný systém
pro sběr dat, monitorování a řízení v reálném čase. Určeno pro karty PC-LabCards. Obsahuje
prostředky pro linearizaci napětí z termočlánků, grafiku v reálném čase. Dovoluje analyzu dat při
jejich získávání (+,-,*, porovnání, FFT, průměry) ale i jako tzv. post-run data analysis (hledání
závislostí, FFT, analýza pomocí volání tabulkového procesoru. Minimální požadavky na HW.
Verze XE( práce na pozadí jiných programu).
LABTECH CONTROL PCLS-707 (Laboratory Technologies Corp.): Pro monitorování
průmyslových procesů, řídicí systémy. Kompatibilní s LABTECH NOTEBOOK. Dovoluje vytvářet
animované grafy technologického procesu, obsahuje prostředky pro řízení (PID regulátory,
distribuované řízení). Podporuje počítačovou síť typu peer-to-peer nebo file-server (Novell, 3Com).
Existuje ve verzi vývojové i jako run-time modul pro provozování vytvořených aplikací bez
možnosti zásahu.
EASYEST PCLS-804 (ASYST Software Technologies): Integrovaný soubor vysoké úrovně
s nástroji pro A/D převod, analýzu a grafické zobrazení. Udávají se tyto maximální rychlosti sběru
dat: A/D do souboru 45-65 kHz na jeden kanál, zobrazení "čárový zapisovač" 100 Hz na kanál,
regulátor PID 5 Hz. Z prostředků analýzy dovoluje polynomickou transformaci (do 5.řádu), filtry,
FFT vč. okének, integrace a derivace, základní mat. funkce. Grafika je typu "zapisovač", tabulky,
podpora výstupů jak v ASCII, tak PCX i HPGL a pro rodinu programů ASYST. Minimální
požadavky na HW.
ASYSTANT-GPIB PCLS-704-GPIB (ASYST Software Technologies):
Verze ASYSTANT (EASYEST) pro přístroje připojené přes GP-IB (karta ADVANTECH
PCL-848). Vlastnosti jako EASYEST.
DADiSP Signal Analysis Spreadsheet PCLS-708 (DSP Development):
Analytický nástroj vědeckého a inženýrského charakteru. Pro sběr dat je nutná verze
DADiSP/LT. Použití pro zpracování matic, obrazů, laboratorní automatizaci, vědu a výzkum. Je ve
verzi BASE (výpočty), PRO (rozšířené výpočty) a ACQ (BAS+DADiSP/LT)..
Control EG PCLS-709 (Quinn-Curtis):
Programová podpora karet PCL-711, 718, 818, 812(PG), 720, 722, 725, 726, 789. Ovládání
pomocí menu. Kombinuje výhody záznamníku, programovatelných automatů a regulátorů PID.
Maximální počet kanálů je 256. Minimální požadavky na HW.
SNAP-Series Softwares PCLS-805 (HEM Data Corporation):
Modulární programový systém pro sběr dat a jejich zpracování. Maximální vzorkovací
kmitočet je 100 kHz, počet vzorků 32 768. Základní moduly jsou: SNAPSHOT STORAGE SCOPE
(jádro programů SNAP), SNAP-CALC, SNAP-PRINT, SNAP-STREAM (data na HD do 60 kHz),
SNAP-FFT, SNAP-FILTER, SNAP-ACTION (rozhodování).
SNAP-MASTER for Microsoft Windows PCLS-806 (HEM Data Corporation): Inovace
SNAP pro práci pod Windows. Kombinuje ikony k sestavení vlastního "uživatelského přístroje".
Vyžaduje alespoň 2 MB RAM, Ms Windows 3.0, VGA.
Software Programming Tools for Measurement/Control/Graphics PCLS-807: Nástroje
pro TurboPascal 5.x, 6.x nebo TurboC 2.x, C++ nebo Microsoft C 5.x, 6.x a QC 2.x. Tvoří nástavbu
12 FEKT Vysokého učení technického v Brně

nad drivery karet , dovolují programovat Hardcopy, řízení myši, nástroje pro grafiku a grafy, PID
regulátor, linearizace termočlánků, prokládání křivek, FFT, sériovou komunikaci.
GeniDAQ (PCLS-GNI-W32 )
Grafický modulární systém pro tvorbu HMI aplikací. Určeno pro W95 atd. Multitasking,
komunikace TCP/IP. BasisScript, Multi-threaded technologie. V současnosti vytlačil všechen
ostatní sw pro měřicí účely fy ADVANTECH.
Test Program for PC-LabCards PCLS-TEST:
Bezplatně dodáván ke každé kartě ADVANTECH k ověření její funkce.

3.1.4 SW firmy Keithley MetraByte


Tato firma je hlavně dodavatelem měřicích přístrojů (www.keithley.com).
VIEWDAC : Vývojový prostředek pro sběr dat, řízení analýzu a grafiku. Pracuje pod Ms
Windows. Podporuje jak měřicí karty, tak i přístroje GP-IB a RS-232. Vyžaduje HW 486, VGA,
4MB RAM.
ASYST: programové prostředí pro sběr dat, grafiku a analýzu. Je to prostředek pro tvorbu
komplexních aplikací a zkušené uživatele (je bezprostředně úrovní nad drivery). Byl v určité době
velmi významný, dnes jde spíše o zajímavost.

KDAC500: Rozšíření BASICA, Quick Basic, Quick C, TurboC Quick Pascal, FORTRAN, TurboC,
C++, Turbo Pascal (dle verze). Doplňuje příslušný jazyk asi o 30 příkazů pro komunikaci s kartami.

Obr. 3 – Ukázka aplikace v GeniDac

CoOperator - pomocný nástroj pro univerzální jazyky (TP,C) pro rychlé vkládání sekvencí
komunikace s přístroji. Byl řešen jako rezidentní program v DOS, který bylo

možno aktivovat ve vývojovém prostředí zvoleného jazyka. Ten pak vygeneroval potřebnou
textovou posloupnost místo klávesnice.
TestPoint - prostředí pro tvorbu aplikací sběru a zpracování dat. Řízeno událostmi. Podporuje
jak práci se zásuvnými kartami, tak i přístroje připojené přes standardní rozhraní. Lze rozšířit o řadu
toolkitů pro práci s databázemi, přístup přes internet aj. Poměrně rozšířené, používá např. ČMI.
Dnes verze 4.0 (Obr. 4).
Použití počítačů v měřicí technice 13

Principem programování je vytvoření tzv. Action Listu, tj. seznamu akcí, které mají být
provedeny na základě události generované výkonným objektem. Událostí je např. „stisknutí“
tlačítka, odměření hodnoty, příjem znaku nebo ukončení výpočtu. Vlastní výkonné objekty jsou
prezentovány grafickými ikonami, které vybíráme ze zvláštního okna („Stock“). Uživatelské
rozhraní se vytváří ve zvláštním okně graficky a vyplněním tabulek. Vytvořenou aplikaci lze
převést do spustitelného tvaru bez možnosti úprav, součástí je i generátor instalace. Vývojové
prostředí je chráněno hw klíčem.

Obr. 4 - Prostředí programu Test Point

3.1.5 SW firmy Burr-Brown


Tato firma je známá jako výrobce integrovaných obvodů (A/D převodníky, zesilovače).
Vyráběla i zásuvné desky do počítačů (měřicí karty) a dodávala k nim software. Dnes součástí
Texas Instruments (http://www.ti.com/). Dodávalo se programové vybavení i pro PS/2, Macintosh.
Hypersignal-Workstation PCI-20210S:
Integrovaný systém pro sběr dat, práci se signály a presentaci. Obsahuje kompletní
matematické funkce, editor signálů, FFT, široký rozsah možných zobrazení.
PCImeter for Microsoft Windows PCI-20365S-1:
Zobrazování a sběr dat pod Ms Windows.
DADiSP Series; (viz ADVANTECH)
System Assurance Software - SYSCHECK
14 FEKT Vysokého učení technického v Brně

Kontrolní program pro ověření funkce karet B-B.


SmartCoder PCI-20357S
Slouží pro snadnou tvorbu programů, využívající dodávané drivery karet. Generuje kód podle
aktuálního HW a požadovaných funkcí. Existuje pro QuickBasic, C, Turbo Pascal. Prostředek pro
programátora měřicího systému.
TURBO STREAM Series PCI-20096S
Prostředek pro přímý záznam dat z měřicích karet na disk přes DMA. Využitelný pro
QuickBasic, C, Turbo Pascal. Prostředek pro programátora měřicího systému.
Pro podporu karet se signálovým procesorem (PCI-20202C-x) je k dispozici příslušná
knihovna (DSP Library Plus PCI-20203S), která odstraňuje nutnost přímého programování DSP.
Pokud je třeba vytvořit vlastní algoritmus na DSP, dodává se DSP Software Development Pack
PCI-20204S.

3.1.6 SW firmy HEWLETT-PACKARD (Agilent Technologies)


Velmi známá firma z oblasti měřicí techniky. Dnes její divize zabývající se měřicí technikou
přešla do samostatné firmy Agilent Technologies (www.agilent.com)
Instrument BASIC for Windows (HP E2200A):
Basic, rozšířený o možnost ovládání přístrojů přes GP-IB a tvorbu a práci s grafickými
objekty (na úrovni MS Windows). Vlastní programování je textové, byť v komfortním prostředí.
Tradiční prostředek, ostatní systémy se snaží využít zvyklostí v něm zavedených (názvy funkcí …)
ITG II Interactive Test Generator (HP E2020B):
Je to grafické prostředí, dovolující tvorbu programů (pro Instrument Basic for Windows, Ms
C, QuickC,QuickC for Windows, QuickBASIC) pomocí grafických nástrojů. Obsahuje prostředky
pro tvorbu grafů, matematické funkce, podpora cca 220 přístrojů HP přes GP-IB. Má nástroj pro
vlastní tvorbu ovladačů přístrojů. Program vytvoříte tak, že požadované operace provádíte 1x ručně
(použitím myši, ikon..). Kromě naměřených výsledků získáte program v požadovaném jazyce (text),
který po doplnění o specifické části (cykly, větvení atd.) přeložíte běžným překladačem a máte k
dispozici aplikaci (např. pod Ms Windows). Možno vytvářet aplikace i pro řadiče VXI na bázi P3,
či přes PC VXI. Jeho význam je ve zvláštním řešení a v zavedení určité formy přístrojových
ovladačů, která je do určité míry používána dodnes.
Pro tvorbu ovladačů je k dispozici samostatný program DWT, který formou průvodce
dovoluje vygenerovat ovladač pro jednoduché přístroje poskytující jednotlivá data (generátor,
multimetr, zdroj, RLC měřiče atd.). Pro tvorbu ovladače musíme být obeznámeni s vlastním
přístrojem a rozhraním (norma IEEE-488.2). Ovladač pro složitější přístroje (osciloskop…)
vyžaduje programování na úrovni Instrument Basic-u.
HP 82335 Family of PC HP-IB Products for Windows and DOS
Prostředek pro tvorbu programů v rozšířených programovacích jazycích pro DOS /Windows.
Dovoluje i interaktivní komunikaci s přístrojem. Pro ovládání je k dispozici cca 35 výkonných
příkazů. Je 100% kompatibilní s normou IEEE 488.2 a SCPI. V základní verzi se dodává s každou
HP-IB kartou (HP 82335I), jako upgrade HP 82335U pro karty jiné.
Bench Link (34850A)- sestava 3 komponent Scope (54500/600), Arb (33120A) a
Použití počítačů v měřicí technice 15

Obr. 5 – Bench Link firmy HP


Meter(34401,53100). Hotový SW pro snadné ovládání přístrojů, získání dat. Pracuje pod MS
WINDOWS. Ukázka prostředí je na Obr. 5. Jedná se o program typu Ready to Run, bez

Obr. 6 – Prostředí VEE s ukázkou popisu algoritmu


nutnosti programování. Dovoluje získat data např. z osciloskopu buď formou hodnot vzorků nebo i
jako rastrový obraz. Usnadňuje ovládání přístrojů, s kterými komunikuje přes rozhraní RS 232 nebo
GPIB. Při komunikaci přes GPIB se snaží navázat spojení automatický a přístroje i rozhraní
automaticky vyhledá. Je zajímavé, že spolupracuje dobře nejen s kartami Agilent, ale i National
Instruments.
W1130A Agilent T&M Programmers Toolkit for Visual Studio .NET – doplněk do
zmíněného prostředí Microsoft pro usnadnění programování měřicích aplikací.
VEE E2123A/2120A (Visual Engineer Environment) - grafický jazyk pro ovládání přístrojů
pomocí GPIB, RS-232 i zásuvných karet. Verze. Vazba na MATLAB. Tento produkt je současně
ve verzi 6.1 a provedení Pro/OneLab. Verze nižší jak 4 jsou pomalé. Poměrně jednoduchý na
naučení i práci, avšak výkonný. Existuje i ve verzi pro HP-UX. (Obr. 6).
16 FEKT Vysokého učení technického v Brně

Princip programování vychází ve vytvoření grafických vazeb mezi výkonnými objekty. Ty


mají tvar obdélníka s tzv. přípojnými body. Přípojné body orientované horizontálně slouží pro
přenos dat (vstupy vždy vlevo, výstupy vpravo). Výkonný objekt je aktivován tehdy, má-li na všech
svých vstupech data. Pokud je takových objektů více, je pořadí provádění ponecháno na systému.
Programátor však může posloupnost předepsat pomocí druhé sítě, která slouží výhradně pro řízení.
Pro tuto síť jsou důležité přípojné body orientované vertikálně, vstup je nahoře, výstup dole. Pokud
je použit přípojný bod pro řízení, musí být pro aktivaci výkonného bloku data na vstupech i na bodu
řízení. Signál pro řízení se získá buď z výstupu řízení jiného bloku nebo lze použít i data. Objekt
„Tlačítko“ například vytváří jen řídicí signál.
Výkonné objekty mohou být buď v minimalizovaném stavu, kdy je jejich rozměr menší a jsou
opatřeny jen zvoleným popisem (nebo ikonou) nebo v maximalizovaném (otevřeném stavu), kdy
lze případně měnit jejich nastavení, přidávat přípojné body a nastavovat atributy. Výstupní objekty
např. typu graf v maximalizovaném stavu přímo graf zobrazují. Lze tak vytvořit program, který
nemá uživatelské rozhraní, kde je výstup vidět přímo v diagramu algoritmu. Pokud ale je třeba, lze
uživatelské rozhraní vytvořit a diagram skrýt. Vytvořenou aplikaci lze uzamknout a spustit pomocí
dodaného Run-Time systému. Výkonné objekty jsou několika kategorií a jsou v nabídkách
programu. Pro matematické operace je součástí průvodce podobně, jako v programu EXCEL.
Systém využívá mechanizmu přístrojových ovladačů, kompatibilních s dříve zmíněným ITG.
I k VEE je dodán nástroj HPDWT. Systém je schopen automaticky vyhledat potřebné ovladače jen
podle toho, které přístroje jsou fyzicky připojeny k počítači a zapnuty. To velmi urychluje práci. Je
vybaven řadou ladicích prostředků, animací diagramu, sondami i profilerem pro zjištění nároku na
paměť i rychlost. Lze vytvářet modulární programy ve více vrstvách (user object – obdoba
subrutiny), struktura je vidět ve zvláštním okně Program Explorer. V posledních verzích lze
pracovat i s m-scripty MATLAB. V systému je zabudován WWW server, pomocí něhož lze
zpřístupnit běžící aplikace. Je podporován vzdálený přístup k měřicím přístrojům. Měřicí karty jsou
oficiálně podporovány až od verze 5. Systém dovoluje využívat externích modulů (dll knihovny).
Propojovací cesty pro data vlastně zastupují proměnné a jsou nejen jednoduché, ale velmi
často strukturované. Například pro uložení navzorkovaných dat je použita struktura WAVEFORM,
která obsahuje nejen vzorky, ale i jejich počet a vzorkovací interval. Barva propojovací cesty
charakterizuje typ dat (integer, float, character…). Zajímavostí je, že zůstala zachována zpětná
kompatibilita s nižšími verzemi a to i pokud jde o rychlost. Popis algoritmu je ukládán v textových
souborech s poměrně snadno pochopitelným obsahem.
Systém si neklade za cíl vytvořit zcela univerzální programovací jazyk. Je zaměřen na měřicí
aplikace a proto se poměrně snadno učí, díky i dobrému nápovědnímu systému. Nicméně je třeba si
zvyknout na způsob programování. Může někdy vadit poněkud jiný vzhled uživatelského rozhraní
než je zvykem v MS-WINDOWS. První verze systému se objevila v roce 1992. Výhodné jsou
cenové relace i licenční podmínky. Evaluation verze je po dobu dvou měsíců plně funkční. V ČR je
systém dosti známý a používaný, často ale ne v nejnovějších verzích.
Požadavky na počítač jsou tyto:
• 120 MHz Pentium /266 MHz Pentium II
• MS Windows 98/NT/2000/XP
• 32MB RAM, 64MB RAM pro Windows NT/2000/Xp
• Pevný disk 370MB (Windows 98), 570/370/175 MB pro Windows NT/2000/XP
• CD-ROM
• Nezbytná je síťová karta
Použití počítačů v měřicí technice 17

Registrace je vázána na konkrétní počítač a provádí se komunikací s výrobcem a to i u


vývojových (evaluation) verzí zdarma.

3.1.7 SW firmy Wavetek


Tato firma se orientovala na vybavení kalibračních laboratoří, nyní součástí fy. FLUKE:
WaveTest : Prostředek pro tvorbu řídicích programů pro GP-IB nebo VXI systémy. Obsahuje
knihovnu 200 přístrojů. Pracuje pod Ms Windows. Dovoluje intuitivní tvorbu testovacích
programů, automatickou tvorbu dokumentace, jednoduché ovládání, jednoduché a rychlé
formátování dat a ladicí prostředky. Skládá se ze tří programů- Program Generator, Library
generator a Panel editor. Převážně určeno pro přístroje DATRON.

3.1.8 SW National Instruments


National Instruments Corporation (Austin TX, USA) (www.ni.com) je významná a dá se i říci
průkopnická firma v oblasti sw pro měřicí účely. Původně vyráběla pouze karty rozhraní GP-IB pro
počítače PC, později se orientovala i na sw. Vyrábí jak vlastní precizní hw pro měřicí a
automatizační techniku, tak i příslušný sw. Některé její produkty se staly celosvětově uznávaným
standardem. Podrobně se některými těmto programovými produkty zabývá kapitola 99 tohoto textu,
zde je jen přehledový výčet:
• LabVIEW - grafický programovací jazyk pro měřicí aplikace, původní řešení NI. Vytvořeno
v roce 1985 pro počítače MAC, od r.1992 i pro PC/Ms-Windows a pracovní stanice SUN, nyní
i pro LINUX.
• LabVIEW Real-Time – LabVIEW pro speciální hardware (RT série modulů)
• LabWindows/CVI - textový jazyk (C) pro tvorbu měřicích systémů. Dnes součást balíku sw
s označením Measurement Studio.
• Component Works - komponenty ActiveX , součást Measurement Studia.
• Virtual Bench - hotové přístroje (pomocí měřicí karty sw řešení osciloskopu, generátorů,
záznamníku…)
• Measure - doplněk pro EXCEL pro sběr dat z měřicích karet, RS-232, GPIB
• Lookout - monitorování a řízení technologických procesů
• BridgeVIEW - monitorování a řízení technologických procesů. Vznikl rozšířením a modifikací
LabVIEW
• DasyLab (DASYTEC®) grafický systém pro sběr a zpracování dat, jednodušší jak LabVIEW (v
roce 2002 již není v nabídce).
• DIAdem – off-line analýza naměřených dat, generování protokolů (Obr. 7)
Mimo to je nabízena řada doplňků (tools), které rozšiřují možnosti předchozího software jako
• Report Generation Toolkit
• Test Stand
• Datalogging and Supervisory Control Module
• Internet Toolkit
• Database Connectivity Toolset
• SPC Toolkit
• PID Control Toolset
• System Simulation and Design Toolset
• Signal Processing Toolset (Ready to Run)
• Sound and Vibration Analysis
• Motion Control Tools
• Vision Development Module
18 FEKT Vysokého učení technického v Brně

Obr. 7 – Ukázka aplikace DIAdem

3.1.9 Česká produkce


Zvláště po roce 1990 vznikla řada sw pro měřicí účely. Mnoho i malých firem nabízelo tzv.
měřicí karty do PC a příslušný software. Kvalita hw i sw byla velmi rozdílná, následující ukázky se
týkají řešení určitým způsobem zajímavých. Některá řešení jsou dnes samozřejmě překonána nebo
modernizována.
Moravské přístroje,a.s - Control Panel
Určeno hlavně pro průmyslovou automatizaci, aplikací vysloveně pro měřicí techniku je
málo. Velice zajímavý produkt, jde o aplikaci v prostředí InVIEW. Bližší viz http://www.mii.cz/ .
Relativně levný produkt vysoké úrovně. Byl dále rozšiřován a doplňován, návazný produkt nese
název ControlWEB.
Merlin s.r.o.
DISYS - integrovaný diagnostický systém pro měření a analýzu dat, pracující pod
MsWindows. Je složen ze dvou částí- Recorder a Analyzer. Recorder dovoluje sběr dat a jejich on-
line zpracování, Analyzer pak postprocessing. Drivery jsou k dispozici pro karty Merlin,
ADVANTECH, Axiom, Keithley. Výkonný systém, ve vývojové verzi dosti drahý. Je zajímavý
tím, že pro získávání dat a preprocessing bylo možno využít speciální kartu, která obsahovala
procesor a tak byla nezávislá na výkonu hostitelského počítače. Tato verze byla dosti nákladná.
Další verze používala již běžné, výše zmíněné karty bez procesoru. Jedno z mála řešení pro MS-
WINDOWS 3.0.
IPP Measure s.r.o.
Použití počítačů v měřicí technice 19

EfLab- prostředí pro sběr dat a předzpracování. Ovládání pomocí menu, statická a dynamická
měření. Je možná kalibrace měřicího řetězce. Naměřené hodnoty lze zpracovat do tabulky nebo
grafu. Měření lze rozložit do posloupnosti jednotlivých kroků. Po skončení kroku je možno
rozhodnout o dalším postupu a tak plně automatizovat měření bez programování. Zajištěna vazba na
karty ADVANTECH, Axiom, EEp. Jsou k dispozici varianty s různým stupněm vybavení a tomu
odpovídající cenou. Součástí byly i prostředky pro řízení. Jednoduchý systém se zajímavým
řešením s minimálními nároky na HW.

3.2 Programy pro použití v nespřaženém režimu (off-line)

Jedná se o skupinu software, který většinou není specializován jen na aplikace v měření. Jde o
velmi rozsáhlou skupinu programů, se kterými bylo možno se setkat v jiných kurzech. Pracovník
v měřicí technice by měl být seznámen s obecnými programy pro psaní textu a tabulkovými
procesory (velmi často používané). Bylo by sem možno zařadit i vývojová prostředí pro
mikrokontroléry a DSP. Zde se dotkneme je programů typu CAD pro návrh plošných spojů,
statistických a vizualizačních programů

3.2.1 Systémy CAD užívané pro návrh plošných spojů


Předem je nutno upozornit na to, že obvodové schéma pro popis funkce zařízení je často
nahrazováno zápisem v textové podobě (u obvodů PLD-ABEL). Přesto je schéma zapojení obvyklá
pomůcka. Systém pro návrhy desek plošných spojů může mít následující části:
- editor schémat
- editor plošných spojů PCB
- editor knihovny schématických značek
- editor knihovny patic
Některé systémy mají tyto editory oddělené (jsou to zvláštní programy), jiné využívají shodný
editor pro všechny účely. Někde je knihovna značek a patic společná, jinde jde o samostatné části.
Pak bývá nutný prostředek, který zajistí vazbu (v OrCAD FLDSTUFF). Při oddělení knihoven lze
využívat např. patici opakovaně, při společné knihovně nikoli. Knihovny bývají členěny na části dle
povahy (např. obvody TTL, konstrukční díly, mikroprocesory, paměti). Zajímavým pohledem je i
to, zda jsou v systému členěny knihovny na lokální a globální. Lokální knihovny bývají kopírovány
do souboru, popisující schéma a nehrozí tak riziko znehodnocení ztrátou nebo záměnou knihovny.
- simulátor
Část systému, dovolující ověřit funkčnost zapojení. Bývá k dispozici analogový simulátor,
číslicový simulátor, eventuelně vazba na externí simulátor (PSPICE). Důležitá je kvalita simulátoru
a zda při simulaci je k dispozici schéma zapojení a zda simulované hodnoty lze do schématu přenést
zpět.
- výstupy pro technologii
Část označovaná jako postprocesory, dovoluje vazbu na fotoplotter a číslicovou vrtačku.
Rozhodující je, zda je systém schopen modifikace na zvolenou technologii, zda lze vykreslit části
(viz layout) atd. Nepružné postprocesory znemožní často systém použít.
- autorouter
Prostředek pro automatizaci návrhu. Často jen pro návrh desky plošných spojů, někdy lze
využít i pro schéma. Autorouter bývá typu 100% (RIP-UP), kdy je schopen 100% navrhnout plošný
20 FEKT Vysokého učení technického v Brně

spoj, pokud je k dispozici plocha desky a čas k návrhu (limitující faktor!). Parametry návrhu lze
modifikovat, vymezovat zakázané oblasti, volit směr kladení spojů ve vrstvách, v kolika vrstvách
autorouter pracuje (často jen ve dvou!). Autorouter bývá dodáván jako doplněk, někdy i od jiné
firmy než ostatní části. Dokonalý autorouter je značně nákladný. Protože propojení je možné jen na
správně rozmístěných součástkách, býval někdy součástí i automatický umisťovač součástek
(autopalce). S používáním obvodů vysoké integrace klesá význam autorouterů, řada firem
navrhující desky plošných spojů je vůbec nepoužívá, protože propojení a rozmístění je spíše dáno
funkcí (zpoždění na spojích, vzájemné vazby atd.) než jen propojením potřebných bodů.
- možnost volné editace
Zda lze kreslit kružnice, zasahovat např. do nepájivé masky atd., klást spoje mimo rastr,
tvořit i jednoduché konstrukční výkresy.
- zapojovací rastr a jeho limit. Dnes se dává přednost bezrastrovým řešením, které lépe využijí
plochu desky.
- návrh obvodů PLD
- texty, popisky, rozpisy
- zachycení postupu práce, možnost návratu o zadaný počet kroků, možnost přerušení práce
autorouteru, automatická archivace ve zvolených intervalech.
- přizpůsobení systému konkrétnímu HW (grafika, EMS, HD, tiskárna, plotter) a nároky na
něj
- způsob ovládání systému (menu, aktivované nebo trvale zobrazené), možnost maker,
předefinování menu, spolupráce více pracovišť u složitých řešení.
-cena (u síťových verzí jde do stovek tisíc Kč)

Obr. 8 - Ukázka prostředí OrCAD Capture verze 9


Použití počítačů v měřicí technice 21

Příklady:
OrCAD, EAGLE, ULTIBOARD, READC, EED, FORMICA...
simulátory (např, MICROCAP), SPICE

Obr. 9 - Schéma zapojení v systému WinEAGLE


22 FEKT Vysokého učení technického v Brně

Obr. 10 - Editor plošného spoje systému WinEAGLE

Obr. 11 - Systém QCad pro kreslení silnoproudých instalací, rozvaděčů i obvodových schémat.
Použití počítačů v měřicí technice 23

Málokdy ovšem konstruktér řeší návrh až na úroveň technologické výroby desky s plošným
spojem. Návrh je třeba provádět se znalostí technologie, způsobu pájení i doporučení výrobce
součástek. Proto je výhodné vlastní návrh desky a výrobu zadat specializované firmě a jí předat jen
návrh schématu zapojení. Je nezbytná domluva jak ohledně nastavení systému, tak i použitých

Obr. 12 – Simulace v programu MicroCap V

knihoven. Protože výroba desek je poměrně nákladná, je potřeba věnovat návrhu desek velkou
24 FEKT Vysokého učení technického v Brně

pozornost nejen z hlediska obvodového návrhu, ale i technologického provedení. Zde je třeba
odkázat na další specializované kurzy s toto problematikou.

3.2.2 Statistické programy


Statistické zpracování naměřených dat
Kriteria pro použití:
• vlastní statistické metody
• způsob importu dat a jejich editace
• prezentace vypočtených výsledků (grafy, tabulky)
• export vypočtených hodnot
• možnost generování textových zpráv (protokolů)
• způsob ovládání
• nároky na sw+hw
Programy pro statistické zpracování ale nejsou učebnice statistiky. Použité metody jsou
popsány jen velmi zhruba, nutno použít další literaturu. Některé statistické metody implementované
do systému se v měřicí technice nepoužívají, nebo jsou známy pod jinými názvy. Vzhledem ke
zdokonalování statistických možností obecných programů (EXCEL) musíme vysloveně statistické
programy používat dnes jen výjimečně.
Příklady:
STATGRAPHICS
starší systém pro DOS s minimálními nároky. Pro jeho použití je k dispozici literatura i
v češtině. Obsahoval i generátor zpráv pro tvorbu textu, ten je ale pro české texty nepoužitelný.
Grafické možnosti i ovládání odpovídá době vzniku. Základní nabídka, která charakterizuje
možnosti je následující:
Data management
DATA-FILE - IMPORT- EXPORT
System environment
GROPT -SLIDES-FOILS
Descriptive Methods
STATS - FHIST - WGTAVG - HIST3D
Distribution Functions
DSTFIT - DSTPLT - RANDOM
Analysis of Variance
ONEWAY - ANOVA
Regression of Variance
REG - OUTLINER - MREG - NONLIN
Time Series Analysis
Experimental Design
Response Surface Plotting
Použití počítačů v měřicí technice 25

Plotting and Descriptive Statistics

Obr. 13 – Základní okno programu STATGRAPHGICS pro DOS

ADSTAT
Program české produkce, vznikl na VŠCHT Pardubice. Jde o stavebnicový systém s různým
stupněm vybavení. Zde je jen několik oblastí, pro které je systém vhodný:
! Základní statistika
! Vícerozměrná data
! Analýza rozptylu
! Kalibrace (tvorba modelů kalibračních křivek)
! Vyhlazování
! Lineární regrese
! Nelineární regrese
! Růstové křivky.

HiQ
Programový produkt firmy National Instruments, existuje ve verzi Base a Professional.
Základní myšlenkou je vytvoření interaktivního poznámkového sešitu, který integruje jak text, tak
vzorce, grafy a popis algoritmů (scripts). Uživatel může měnit vstupní data (která lze zadávat ručně,
přebírat z jiných systémů (EXCEL, LabVIEW…), provést zpracování a zobrazit výsledky i graficky
v komfortním 3D zobrazení (a to nejen axonometricky, lze zobrazovat např. v kulových čí
válcových souřadnicích) se stínováním. V určité době se HiQ používal na 3D zobrazení výsledků
26 FEKT Vysokého učení technického v Brně

LabVIEW, který toto zobrazení neměl integrováno. HiQ lze používat i interaktivně jako kalkulátor.
Hlavní nevýhodou je nutnost učit se zvláštnímu programovacímu jazyku. Jde o konkurent systému
MATLAB, prakticky zaměřený na stejnou třídu úloh. Z toho důvodů dokáže i zpracovávat m-file
systému MATLAB, ne však v plném rozsahu. Pro vlastníky licence MATLAB byl poskytován
zdarma. Pro spouštění hotových aplikací („nootebook-ů“) je zdarma k dispozici HiQ Reader. Pro
typické aplikace je dodávána řada řešičů (Problem Solvers), např. z oblasti optimalizací, řešení
diferenciálních rovnic atd. Hlavní význam HiQ lze spatřovat ve výuce. Je dodáván na i CD
LabVIEW.

Obr. 14 - Ukázka programu HiQ verze 4.5

4 Programové systémy firmy National Instrument pro


laboratorní a testovací měřicí techniku
V této kapitole jsou poněkud podrobněji popsány systémy NI pro přímé aplikace v měření.
Systémy pro řízení a průmyslovou automatizaci nejsou součástí tohoto textu, stejně jako přehled hw
prostředků pro tuto oblast.
Použití počítačů v měřicí technice 27

4.1 Systém LabWINDOWS

Historie vývoje je patrná na následujícím obrázku:

Obr. 15- Historie vývoje LabWindows


Programový systém LabWINDOWS (dále LW, nemá přímý vztah k MS-WINDOWS) je
systém pro vytváření měřicích programů pro automatické měřicí systémy. Značně usnadňuje vývoj
těchto programů, které může tvořit i neprogramátor a přitom nabízí prostředky požadované u
moderních programů. Umožňuje řízení měřicích přístrojů po sběrnici GP-IB (IEEE 488.1 i IEEE
488.2), sériovým rozhraním RS 232C, systémů VXI i měřicích karet připojených přímo na sběrnici
počítače. Vytvořené programy lze provozovat jak v prostředí LW, tak mimo něj v prostředí MS-
DOS/Win. Hlavní předností je bohatství knihoven, které dovolí snadno ovládat příslušnou měřicí
periférii, provést analýzu signálu i realizovat zobrazení výsledků a ovládání měřicího systému na
příslušné úrovni.
28 FEKT Vysokého učení technického v Brně

4.1.1 LabWINDOWS pro DOS


LabWINDOWS verze pro DOS (dále LW/DOS) vznikla již v roce 1988. Tato první verze
měla velmi omezené možnosti dané malou dostupnou pamětí a malými možnostmi grafických
výstupů. Verze 2, která pochází z roku 1992 (a která měla řadu subverzí 2.1, 2.3) byla již poměrně
pokročilá. Obsahovala DOS extender paměti (DOS4M), který využíval i na úrovni Ms-DOSu
možností rozšířené paměti a v případě jejího zaplnění odkládal data na disk. To autorům LW/DOS
dovolilo zvětšit grafické možnosti o poměrně dobrý editor uživatelského rozhraní, přidat více
knihoven. Ve srovnání s jinými tehdy dostupnými programy šlo o výkonný systém. I dnes ho lze
ještě od výrobce zakoupit, pokud uživatel vyžaduje aplikaci na úrovni DOS. Systém sám ovšem
nedokáže vytvořit spustitelný program. To lze provést spoluprací s kompilátorem např. Microsoft
C, případně po zakoupení doplňku (Run-Time Systém). Určitou specialitou LW/DOS je i to, že
v něm můžeme pracovat s jazykem BASIC (varianta QuickBasic) a s jazykem C. Nejsou ovšem
plnohodnotné a je v nich několik omezení.
Zajímavým a dodnes používaným je specifický nápovědní systém pro knihovní funkce, což
značně usnadňuje práci se systémem, automatizuje programovaní a samozřejmě využívá výhod tzv.
přístrojových knihoven. LW/DOS nebyl výrobcem nikdy lokalizován do české podoby, v ČR se
pouze používal systém fontů pro grafické rozhraní s diakritikou a kódováním v kódu Kamenických.
Systém se skládá z hlavního programu LW.EXE, knihoven, ovladačů měřicích přístrojů,
souborů fontů a řady příkladů.
Části systému sdružuje hlavní program (integrovaný vývojový systém – IDE), který vyžaduje
minimální paměť typu extend o velikosti 2 MB. Potřebný prostor na disku je 8 MB. Využívaná
paměť je větší, obvykle 4 MB, která je ovšem virtualizována. S růstem velikosti operační paměti
typu extend roste i rychlost systému; v opačném případě se zvětšuje počet diskových operací a
odezva může být až 10 s. Velikost paměti je nastavitelná, nelze ji ale zmenšit pod 2 MB. Prostředí
LW/DOS je textové, vytvořené za použití semigrafických symbolů, blízké podobným řešením z té
doby (např. QuickC). Ovládání je pomocí nabídek, tlačítek a myši. Pouze editor uživatelského
rozhraní (User Interface Editor) je plně grafický. Do jisté míry lze toto prostředí uživatelsky
modifikovat, v některých případech za chodu bez nutnosti restartu.
Programy vytvořené v prostředí LW je možno kompilovat přímo v tomto prostředí a zde je i
provozovat. Pokud je třeba kompilace do tvaru souboru EXE, pak je nutno mít k dispozici
překladač QuickBasicu verze 4.0 či vyšší (nebo Microsoft BASIC ver.7.x), nebo lépe jazyk
Microsoft C verze 5.0 a vyšší (v konfiguraci Large) protože ty nejsou součástí dodávky LW.
Takový program může vystačit s operační pamětí do 640 KB. Pokud nedostačuje tato velikost
paměti pro danou aplikaci, je možno jej přeložit do tvaru RTM a provozovat za podpory tzv. Run-
Time systému (které se dodává zvlášť), případně i přeložit do tvaru .EXE v tomto speciálním
prostředí. Takto vytvořený program ovšem vyžaduje ke spuštění 2 MB extend paměti a počítač
s možnostmi alespoň AT 286.
Prostředí LW (Obr. 16) je určeno k tvorbě programů v jazyku, který je podmnožinou jazyka
QuickBasic, případně ANSI C. Protože produktem je zdrojový text, lze po jeho doplnění pracovat s
celou škálou příkazů C nebo QuickBasic (až na výjimky). Hlavní předností LW jsou knihovny s
množstvím procedur, jejichž parametry lze zadávat pomocí oken za podpory nápověd („helpů").
Zvláštní skupinu knihoven tvoří tzv. přístrojová knihovna (Instrument Library), která usnadňuje
ovládání konkrétních typů přístrojů připojených přes GPIB, RS-232C, VXI i jinak. Tuto knihovnu
lze měnit a doplňovat z prostředí LW. Další skupinu tvoří tzv. knihovna uživatelského prostředí
(User Interface Library), která slouží pro obsluhu uživateli přátelského prostředí vyvíjených
programů. Lze ovládat menu, "tlačítka", "přepínače", indikátory, grafy aj.
Použití počítačů v měřicí technice 29

Obr. 16 – Prostředí LW/DOS, současné zobrazení oken PROGRAM a INTERACTIVE. Režim jazyka C.

Prostředí LW má následující části :


• Textový editor
• Interní standardní knihovny
• Překladač
• Přístrojová knihovna
• Editor přístrojové knihovny
• Generátor EXE (LWMAKE)
• Editor uživatelského rozhraní
EDITOR - celostránkový textový editor, jehož ovládání je blízké produktům firmy Microsoft.
Editor pracuje se třemi okny, které lze editovat samostatně. Jde o okno PROGRAM, které se
používá při tvorbě měřicího programu. Okno INTERACTIVE se užívá hlavně při ladění programu,
ale lze ho využít i k editování jiného souboru, než který je editován v okně PROGRAM. Okno
STANDARD I/O je použito ke konverzaci běžícího programu s operátorem.
PŘEKLADAČ - překladač příslušné podmnožiny jazyka C nebo QuickBasicu, používaný při
práci uvnitř LW. Zajišťuje i vazbu na potřebné knihovny. Kromě ladicích funkcí (krokování, body
zastavení) dovoluje i překlad mezi jazykem C a QuickBasicem. Překlad i spuštění programu lze
provést jak v oknu PROGRAM, tak i INTERACTIVE. Z hlediska tvorby programu a jejich vazby
se obě okna považují za samostatné moduly programu.
LADICÍ PROSTŘEDKY - jsou částečně obsaženy v překladači, dalším prostředkem je
funkce VIEW, která dovolí prohlížet a modifikovat (dokonce i ukládat do souboru) zvolené
proměnné programu. Je zde i možnost potlačit při překladu některou část programu, aniž je ji třeba
vyznačit jako komentář či zrušit editorem. Úroveň ladicích možností se měnila v různých verzích.
Pro ladění lze použít i možnosti interaktivního ovládání knihoven, tak že lze data v poli přímo
zobrazit formou grafu.
30 FEKT Vysokého učení technického v Brně

EDITOR PŘÍSTROJOVÉ KNIHOVNY - slouží jak pro tvorbu přístrojové knihovny, tak i
knihovny zvané uživatelská. Jde o takové moduly, které mohou realizovat komunikaci s konkrétním
typem přístroje, ale i funkce bez vazby na reálné prostředí (např. speciální matematické funkce).
Protože knihovna obsahuje popis své struktury (strom funkcí knihovny), okna pro volbu parametrů
(tzv. funkční panel) i příslušné nápovědy (helpy), jsou zde prostředky pro tvorbu všech těchto částí.
Vlastní knihovní procedury lze vytvořit jak v prostředí LW (pak mají zvláštní tvar a jsou uloženy v
souborech *.LBW a *.LWI), tak i mimo něj (např. v MacroAssembleru či v Microsoft C) ve tvaru
*.OBJ. Popis stromu, oken i nápovědy jsou uloženy v souboru *.FP.
EDITOR UŽIVATELSKÉHO PROSTŘEDÍ - slouží pro tvorbu uživatelského prostředí. Jde o
grafický editor objektů tohoto prostředí. Umožňuje i vazbu na běžné grafické prostředky (např. pro
zakreslení technologického schématu) jako CorellDraw či PaintBrush - tedy těch, které mají výstup
ve formátu PCX.
GENERÁTOR PROGRAMU EXE - zajistí vygenerování dávkového souboru pro řízení
kompilátorů Microsoft (C či QuickBasic) a sestavujícího programu LINK. Pokud je k dispozici
dostatečná paměť, lze proces kompilace a sestavení spustit i z prostředí LW/DOS. Tuto část LW lze
spustit i přímo z prostředí MS-DOS. Spustitelný program lze vytvořit i pomocí tzv. Run-Time
systému (RTS). RTS je volitelný placený doplněk. Výhodou je, že rychlost a ostatní vlastnosti
vytvořeného spustitelného programu přesně odpovídají jeho chování při chodu uvnitř prostředí LW.
Základní knihovny jsou následující (Obr. 17):
Formatting and I/O - procedury řízení V/V, práce se soubory, převody mezi znaky a ciframi
dle zadaného formátu
User Interface - ovládání uživatelského prostředí
Graphics - grafické operace (lze užívat buď User Interface nebo Graphics, nikoli obou
současně v jednom programu). Slouží pro kompatibilitu s verzí 1.
Analysis (ev. Advanced Analysis) - matematické operace, práce s maticemi, komplexními
čísly, transformace, filtrace, návrhy číslicových filtrů. Knihovna Advanced Analysis se dodává na
zvláštní objednávku.
Data Acquisition AT (ev. MC) - ovládání karet s převodníky připojené přímo na sběrnici
počítače typu XT,AT (volba AT) nebo Microchannel (MC).
RS-232 - ovládání kanálu RS-232 C (volba parametrů, komunikačního protokolu, vlastní
přenos atd.).
VXI - řízení systému dle standardu VXI (není součástí standardní dodávky)
GPIB - řízení měřicího systému dle standardu IEEE 488.1 (IMS-2)
GPIB CALLs - řízení měřicího systému dle standardu IEEE 488.1 (IMS-2) pro QuickBasic
formou volání podprogramů
GPIB 488.2 - řízení měřicího systému dle standardu IEEE 488.2
System - systémové funkce, náhrada některých funkcí, které nelze ovládat přímo klíčovými
slovy jazyka.
Dále mohou následovat uživatelské knihovny, které lze též v prostředí LW vytvořit. Rozsah
užívaných knihoven lze volit, což zrychluje práci a snižuje nároky na paměť. Některé knihovní
funkce lze snadno nahradit konstrukcí jazyka, knihovní funkce bývají rychlejší. Nevýhodou
knihovních funkcí např. Analysis je to, že pracují jen s čísly typu double. To může být vzhledem
k přesnosti zbytečné a zvětšuje to jen požadavky na paměť.
Použití počítačů v měřicí technice 31

Obr. 17 – Interaktivní tvorba volání knihovní funkce s možností jejího bezprostředního spuštění
Systém LabWindows/DOS je vhodný pro tvorbu programů, které mají řešit komunikaci s
reálným prostředím, hlavně pro měřicí účely. Programování je mnohonásobně rychlejší, než v
univerzálním programovacím jazyku. Pro účely řízení však knihovny neobsahují žádnou podporu.
Systém neobsahuje žádný nástroj na tvorbu textových výstupů. Lze pouze vykreslit (vytisknout)
uživatelské rozhraní jako obrázek, avšak tištěné textové protokoly je nutno naprogramovat pomocí
formátovacích funkcí.
Nevýhodou je vyšší cena systému a i to, že i když jde vlastně o práci v reálném čase, je pro
tento režim poskytována podpora jen na úrovni knihoven (např. sběr dat metodou dvojitého
bufferu). Nelze také bez experimentů ověřit, zda je pro danou aplikaci systém vhodný. Dnes je třeba
na LW/DOS pohlížet jako na jedno z prvých komerčně nabízených prostředí pro tvorbu sw, které
obsahuje prvky automatizace programování. Řešení nápovědného systému knihoven formou panelů
zůstalo zachováno i ve vyšších verzích. Na druhé straně se nedá tento systém považovat za zcela
otevřený. Při tvorbě modulů v jiných jazycích a jejich začleňování do systému se musí dodržet
určitá pravidla, která ovšem nejsou v dodávaných manuálech jednoznačně popsána. To způsobuje,
že použití např. karet ADVANTECH s originálními knihovnami je nefunkční. Při implementaci
vzniká problém různé rychlosti při běhu přeloženého programu externím překladačem (větší
rychlost), někdy se po překladu externím překladačem objeví chyby, které nejsou v ladicím
prostředí zjistitelné. Přes tyto nevýhody byla v systému vytvořena řada aplikací nejen pro měřicí
účely, které jsou dodnes používány. Obnova technického vybaveni (upgrade počítače) vede ale
často i k nutnosti převodu a přepracování do systému LW/CVI, popsaného dále.
32 FEKT Vysokého učení technického v Brně

4.1.1.1 Základní vlastnosti jazyka C systému LW/DOS


Jazyk C systému LW/DOS je omezen. Důvodem tohoto omezení je jednak „dvojjazyčné“
prostředí (Obr. 18), ale také snaha, aby správně přeložený program bez chyb zachycených při
překladu též bez problému fungoval. Klíčovým omezením je možnost práce s ukazateli pouze pro
předání/převzetí dat do funkce. Tím se radikálně zmenší možnost chyb, které vedou k havárii při
běhu, na druhé straně se komplikuje programování, protože se musí používat zvláštních knihovních
funkcí. Nelze samozřejmě pracovat s dynamickými deklaracemi. Omezení lze obejít překladem

LW-C
ANSI C

QuickBasic

Obr. 18 – Vznik podmnožiny příkazů systému LW/DOS


externím překladačem, pak ale není možný návrat k ladění uvnitř LW/DOS.
Při programování je nutno respektovat u zvláštnosti systému vstupu a výstupu, který je řešen
zvláštní knihovnou a není kompatibilní s definicí jazyka C (funkce printf, scanf, atd.)
Identifikátory: max.31 znaků, začínají písmenem, rozlišuje malá a velká písmena.
Komentáře: části textu mezi znaky /* a */
Klíčová slova
int register for
char static float
double return while
long break switch
short if case
auto else default
Celočíselné konstanty: jen se znaménkem 32768 -32767 – int, jinak long, šestnáckové
vyjádření pomocí prefixu např. 0x100f
Znakové konstanty: např, ‘x’ - int. Speciální znaky \n \t \b \r \f \\ \’ , bitový obrazec ddd
\ddd \0.
Řetězecové konstany: “abc”.
Reálné konstanty: např. 123.25 -12e-3
Typy dat: int, short - 16bitů se znaménkem, long 32bitů, double 64bitů, float 32 bitů, char
* (8b).
Použití počítačů v měřicí technice 33

Maximální délka pole - integer 32768, long, float 16384, double 8192. Ukazatel není
povolen, vyjma ve volání funkcí.
Operátory
Unární:
* výraz - nepřímý přístup
& - ukazatel na objekt
- - unární mínus
! - logická negace
~ - jednotkový doplněk
++ - inkrement, nesmí být součást výrazu!
-- - dekrement, nesmí být součást výrazu!

Multiplikativní operátory Aditivní operátory


výraz * výraz výraz + výraz
výraz / výraz výraz - výraz
výraz % výraz
Operátory posunu
<< >>
Relační operátory
< > <= >= == !=
Operace po bitech
& ^ | && ||
Přiřazovací operátory
= += -= *= /= %= >>= <<= &= ^= |=
Deklarace – příklad:
static int x;
Povolené paměťové třídy: auto static register.
Inicializace proměnných (např. int x=12;)nejsou povoleny.
Příklady příkazů
if(výraz)příkaz1 else příkaz2
while(výraz) příkaz
for(výraz1; výraz2; výraz3)příkaz
výraz1 - inicializace
výraz2 - test na 0
výraz3 - krok (jen inkrement/dekrement!)
34 FEKT Vysokého učení technického v Brně

switch(výraz) {
case1: case 2: příkaz break; (break musí být použit vždy!)
default: příkaz break;
}
return - návrat ve funkci
Příklad funkce: int funkce(int x, int *y, float z)
volání funkce: z=funkce(26,&bbb,23.7);
Preprocesor dovoluje jen #define a #include. #define lze použít jen pro přiřazení konstanty.
#define ABC 25
#include “xyz.h”

Příklad programu v LW C, ve kterém nejde o optimální řešení


algoritmu ale o předvedení některých řešení.

void get_and_print_random(int *index, double *


random_val);
void main( )
{
double my_array[100];
int i;
cls( );
for(i=0; i<100; i++)
{
get_and_print_random(&i, &my_array[i]);
}
}

void get_and_print_random(int *index, double *


random_val)
{
*random_val=(double)rand() / 32768.0 ;
FmtOut( “ %d \t %f \n“,*index, *random_val);
}
Použití počítačů v měřicí technice 35

Vazby jednotlivých částí systému při tvorbě sw ve spustitelném tvaru při použití externího
překladače (CL) a sestavovacího programu (LINK)vyjadřuje následující obrázek:

Přístroje Knihovny .pro

.uir .c
LW
.h
.h

.app

HW

LWMAKE
Okolí
.bat .lnk

CL
Knihovna
LLIBCE
LINK

.exe

Obr. 19 – Postup tvorby samostatně spustitelného programu v LW/DOS

4.1.1.2 Knihovní funkce pro formátování dat


Z důvodu přenositelnosti programu mezi QuckBasicem a C bylo nutno zcela přepracovat tzv.
formátovací a skanovací funkce. Zřejmě šlo i o to, že formátování příkazových řetězců pro měřicí
přístroje a zpětný rozklad zpráv na např. numerické hodnoty je v měřicích programech velmi častý.
Tyto funkce se nachází v knihovně Formatting and I/O. Jde tedy o funkce konverzí různých
formátů, např. konverze textu na číslo a obráceně.
Pro formátovací funkce platí, že vytváří výsledný objekt (např. text) kombinací několika
dílčích komponentů. Jedná se o tyto funkce:
36 FEKT Vysokého učení technického v Brně

• Fmt(výstup,formátová_specifikace,v1,v2..vn) – konverze uvnitř paměti (identifikátor výstup,


vn)
• FmtFile(fh,formátová_specifikace,v1,v2..vn) – konverze paměť -> soubor (specifikovaný
pomocí fh)
• FmtOut(formátová_specifikace,v1,v2..vn) – konverze paměť -> interaktivní okno (konzola)
Jedná se o funkce s proměnným počtem vstupních parametrů. Formátová_specifikace je textový
řetězec, který definuje způsob konverze. Formálně má tvar
výstupní_specifikace<vstupní_specifikace_a_literál. Příkladem konverze dvou čísel typu integer
(i,j) na text (txt) je funkce
Fmt(txt,”%s<%i,%i”,i,j)
Pokud i=32 a j=66 bude text 32, 66. Výstupní/vstupní specifikace má tvar %rep formatcode[mod],
rep-nepovinný opakovač, [mod]- nepovinný modifikátor. Formatcode může být následující
• s - řetězec
• i – integer , mod určuje základ čís.soustavy
• x - integer šestnáckově
• o - integer osmičkově
• d - integer dekadicky
• f - reálné číslo
• c- kopíruje 1 znak
Modifikátory mají rozdílný význam podle formatcode.
Modifikátory pro integer (%i):
• [bn] - délka v bytech, 2/4
• [in] - offset v polích, u rep
• [z] - indikace dat string, u rep
• [rn] - základ, pro 256 znak ASCII
• [wn]- přesná délka výstupu
• [pc] - levostranné znaky jsou c
• [s] - se znaménkem
• [u] - bez znaménka
• [onnnn] - pořadí byte. INTEL má o0123, MOTOROLA o3210

Příklad: %3i[w3]
Modifikátory pro real (%f):
• [bn] - délka v bytech, 4/8
• [in] - offset v polích, u rep
• [z] - indikace dat string, u rep
• [wn]- přesná délka výstupu
• [pc] - počet cifer za des.tečkou je c
• [en] - exp. notace, počet cifer exponentu
• [f] - notace s desetinnou tečkou
• [t] - odseknutí desetinných míst (konverze do i)
• [r] - zaokrouhlení (konverze do i)

Příklad: %f[b4w7p2]
Použití počítačů v měřicí technice 37

Modifikátory pro string (%s):


• [in] - offset v polích, u rep
• [a] - přidání k předchozím
• [wn]- přesná délka výstupu
• [tn] - ukončovací znak
• [t-] - zrušit ukončovací znak
• [q] - nevyužité pozice znak NULL
• [t#] - ukončení numer. znakem 1-9,+,-

Příklad: %s[t32]
Pro opačný případ, tedy rozklad např. textu na subřetězce nebo čísla slouží skanovací funkce.
Opět jsou tři typy:
• Scan(vstup, formátová_specifikace,vý1,vý2..výn) - konverze uvnitř paměti (identifikátor vstup,
výn)
• ScanFile(fh, formátová_specifikace,vý1,..výn) - konverze soubor (specifikovaný pomocí fh) ->
paměť
• ScanIn( formátová_specifikace,vý1,vý2..výn) – konverze interaktivní okno (klávesnice) ->
paměť
Jedná se o funkce s proměnným počtem výstupních parametrů. Formátová_specifikace je
textový řetězec, který definuje způsob konverze. Formálně má tvar
vstupní_specifikace>výstupní_specifikace. Příkladem konverze textu (txt) na dvě čísla typu integer
(i,j) s verifikací oddělovací čárky je funkce
Scan(txt,”%s>%i,%i”,&i,&j)
Pokud txt je 32, 64 bude i=32 a j=66. Výstupní/vstupní specifikace má tvar %rep
formatcode[mod], rep-nepovinný opakovač, [mod]- nepovinný modifikátor. Formatcode může být
následující:
• s - řetězec
• i – integer , mod určuje základ čís.soustavy
• x - integer šestnáckově
• o - integer osmičkově
• d - integer dekadicky
• f - reálné číslo
• c- kopíruje 1 znak
modifikátory mají rozdílný význam podle formatcode:
• %i jsou povoleny bn, in, z,rn, wn, s, u, x, d
• %f: bn, in, z, wn, pn, en, f, x, d
• %s: in, a, wn, q, y, tn, t-, t#, x
Příklad: %s>%s[xt59]%s[xt59], vstupní řetězec je abc;XYZ;
Výstup1 je „abc“, výstup2 je „XYZ“
Pokud n nemá být konstantní, můžeme ho nahradit znakem „*“ a předat v seznamu parametrů:
ScanFile(fh,“%10f>10f[i25]“,pole); lze též použít
n=10; j=25;
ScanFile(fh,“%*f>*f[i*]“,n,n,j,pole);
38 FEKT Vysokého učení technického v Brně

Skanovací a formátovací funkce lze použít i ke konverzi polí např. z typu integer na double:
Fmt(pole_double,“%100f<%100i”,pole_integer);
Pokud je výstupni specifikace %s, můžeme ji včetně znaku > nebo <. Skanovací a formátovací
funkce vrací číslo, které udává, kolik vstupních/výstupních prvků seznamu bylo zpracováno.
Existují funkce, které analyzují výskyt chyb a počet bytů zkonvertovaných ze vstupu. Tak se dá
např. funkce Scan použít pro komparaci řetězce textu s předlohou.

4.1.1.3 Ovládání uživatelského rozhraní


Programy, které konverzují s obsluhou, musí řešit problém reakce obsluhy na chod programu
(asynchronní události). Na úrovni DOS nejsou k dispozici žádné prostředky, které by aplikace
mohla v tomto směru využívat. LW/DOS k manipulaci s objekty uživatelského rozhraní (UI)
používá vlastní knihovnu (UI Library) a diskový soubor vytvořený editorem uživatelského rozhraní
(User Interface Resource - přípona UIR). Lze říci, že UIR obsahuje statický popis uživatelské
obrazovky, příslušných objektů a případně i fontů (ty mohou být v aplikaci i externě). Manipulace
s těmito objekty za chodu programu (nastavování hodnot, čtení přepínačů, zadávacích polí atd.)
realizují knihovní funkce. Objekty uživatelského rozhraní mohou být ve čtyřech módech:
• NORMAL
• INDICATOR
• HOT
• VALIDATE
V módu NORMAL lze (např. nastavovací políčko s numerickou hodnotou) knihovní funkcí
(SetCtrlVal(…) z programu nastavit i číst (funkce GetCtrlVal(…). V módu INDICATOR lze
políčko pouze nastavovat z programu, z hlediska uživatele lze jen sledovat hodnotu. Řada objektů
(např. LED) má pouze tento mód. Mód HOT je sice totožný s módem NORMAL, avšak objekt
generuje tzv. událost (tj. jednobitovou informaci, že s objektem bylo manipulováno uživatelem –
nastavena nová hodnota, „stisknuto“ tlačítko atd.). Události jsou uchovávány v paměti FIFO a
uživatelský program je schopen analyzovat knihovní funkcí GetUserEvent(…. Pomocí ní zjistí,
který objekt událost generoval. Existuje jen jediný typ události. Uživatelský program musí tedy
periodicky volat tuto funkci (např. v cyklu while) a zjišťovat výskyt událostí. Pokud to nečiní
dostatečně často, uživatelské prostředí nereaguje i když události se neztrácejí. V případě časově
náročných operací se doporučuje informovat o zablokování zpracování událostí uživatele
zobrazením kurzoru ve tvaru hodin.
Mód VALIDATE sdružuje vlastnosti módu HOT s testováním dovolených mezí. Při
překročení meze zobrazí výstražné okno s žádostí obsluze o opravu.
Použití počítačů v měřicí technice 39

Obr. 20 – Vazba mezi uživatelským rozhraním a aplikací v LW/DOS


Knihovna uživatelského rozhraní může manipulovat s vlastnostmi objektů (tzv. atributy). Lze
měnit např. barvu, typ písma atd. V různých subverzích LW/DOS se měnil počet těchto atributů.
Identifikace objektů uživatelského rozhraní je dynamická. Při vytváření objektů editorem UI
je zachována následující hierarchie : soubor uir --- id_panelu --- id_objektu. Id_panel i id_objektu
jsou čísla integer, která se z důvodu přehlednosti nahrazují symbolickou konstantou (vzájemné
přiřazení je v příslušném header souboru, který editor automaticky generuje). Symbolická konstanta
má textový tvar panel_objekt. Uživatelský program identifikuje objekty poněkud jinak. Pokud chce
objekt využívat, musí příslušnou funkcí (LoadPanel) zavést potřebný panel, na němž je objekt
definován ze souboru UIR. K jeho určení slouží jméno souboru UIR a označení panelu. Po
úspěšném zavedení panelu tato funkce vrátí tzv. panel handle –integer číslo, které spolu se
symbolickou konstantou panel_objekt již objekt jednoznačně identifikuje. Tento princip je výhodný
tehdy, když tentýž panel používáme v programu opakovaně („klonujeme ho“). UI editorem je
vytvořen pouze „rodič“, v programu pak vytváříme potomky, které se liší jiným panel handlem.
Proto i funkce GetUserEvent vrací tuto proměnnou.
Podobným způsobem jako panely jsou vytvářeny i nabídky – hierarchická menu. Je třeba
upozornit, že rozvinutím menu zastavujeme ostatní aktivity programu (existoval však prostředek,
kterým lze i toto obejít, nebyl však jednoduše použitelný).
Uživatelské rozhraní (Obr. 21) nedovoluje logicky seskupovat objekty a nemá tedy možnost
vytvářet např. tabulku, se kterou by se dalo manipulovat jako s celekem. I když z vnějšího pohledu
se může takové seskupení vytvořit, programátor manipuluje s objekty samostatně. To vede na
poměrně pracná řešení, protože u symbolických konstant typu panel_objekt musíme předpokládat,
že editací UI mohou nabývat různých hodnot. Uživatelské objekty nelze vytvářet programově, vždy
jen pomocí UI editoru. Pokud program uživatelské rozhraní využívá, vždy zde musí být soubor UIR
(i když jeho jméno může být libovolné). Struktura souboru UIR není zveřejněna.
40 FEKT Vysokého učení technického v Brně

Obr. 21 – Editor uživatelského rozhraní s rozvinutou nabídkou objektů


Pro usnadnění programování UI existuje prostředek zvaný CODEGEN, který je schopen
vygenerovat na základě souboru *.UIR a odpovídajícího header souboru *.h kostru programu, který
toto rozhraní UI bude ovládat. Později se tento prostředek (jednalo se o zdrojový text, který se
spouštěl v prostředí LW/DOS) nahradil přímo funkcí v nabídce prostředí.
4.1.1.4 Konfigurace LW/DOS
Prostředí lze samozřejmě konfigurovat v příslušných nabídkách – jde o nastavení (volbu)
tiskárny a grafické karty. Nastavení týkající se „měřicí“ karty se provádí zvláštním programem
DAQCONF.EXE. Uživatel, který pracuje již z vytvořeným programem ovšem má možnost povést
konfiguraci, aniž to autor programu musel řešit uvnitř programu. Součástí systému LW/DOS jsou
totiž programy ADAPTER.EXE a HCSELECT.EXE, kterými lze nastavit typ grafické karty v PC a
tiskárny platnou pro aplikaci. Tyto programy vytvoří soubory ADAPTER.PRO a
HARDCOPY.PRO, které aplikace nalezne a použije. Měřicí kartu konfigurujeme programem
DAQCONF.EXE . Nastavení tiskárny (případně zapisovače) platí jen pro grafický režim, textový
tisk na tiskárně a její nastavení (ESC sekvence, PCL atd.) systém LW/DOS neřeší a je ponechán na
programátorovi a uživateli.
Použití počítačů v měřicí technice 41

4.1.2 LabWINDOWS/CVI
LabWINDOWS/CVI vznikl jako pokračování verze pro DOS. Jedná se o 32 bitový systém,
který bylo ve verzi 3 a 4 možno provozovat i na platformě MS-WINDOWS 3.1. Později byl tento
systém označován výhradně jako CVI ( C for Virtual Instrumentation).

Obr. 22 – Součásti LW/CVI


Obr. 22 dává představu o vazbách uvnitř systému a ven na externí překladače. Základní myšlenka
systému je stejná jako ve verzi pro DOS. Požadavky na HW vybavení je zhruba následující:
• Windows 95, 98,NT 4.0 SP3, 2000, XP
• Procesor Pentium 90 a vyšší
• 800 x 600 rozlišení video adaptéru
• Min. 16 MB paměť
• 50 MB pevný disk
CVI obsahuje plný kompilátor jazyka C dle ANSI a umožňuje vytvářet spustitelné programy
pro práci mimo vývojové prostředí. Jejich podporu zajišťuje RunTime systém (RunTime Engine).
Je automatizováno generování instalace (na diskety nebo CD) vytvářeného programu. Zásadně bylo
změněn princip práce s uživatelským rozhraním, bylo využito principu řízení událostmi (aplikace
Callback funkcí). I přes to zůstala zachována kompatibilita s verzí pro DOS. Starý program ve
zdrojovém tvaru v C včetně uživatelského rozhraní lze automatizovaně transformovat do CVI bez
ztráty funkčnosti. Jednotlivé verze CVI mají sice stejnou filozofii i překladač, ale ve vyšších verzích
narůstá počet knihovních funkcí, ladicí možnosti i kvalita objektů uživatelského rozhraní atd. Dnes
je k dispozici verze 6.0 jako součást Measurement Studia, poslední verze pro MS-WINDOWS 3.1
byla 4.1. Součástí systému je i Microsoft SDK, tak že lze pracovat přímo s API WINDOWS. Zdá
se, že výrobce neuvažuje s rozšířením jazyka na C++. To je vyřešeno vazbou například na
Microsoft Visual C++, který je součásti Measurement Studia.
42 FEKT Vysokého učení technického v Brně

Obr. 23 - Okno překladače LW/CVI ver.6.0

Obr. 24 – Okno projektu/workspace LW/CVI ver.6.0


Použití počítačů v měřicí technice 43

Obr. 25 - Lokalizační nástroj LW/CVI ver. 6.0

Obr. 26 – Nastavení podmínek pro sestavení LW/CVI ver.6.0


44 FEKT Vysokého učení technického v Brně

4.1.2.1 Vlastnosti překladače CVI

4.1.2.2 Hlavní součásti CVI


Hlavní síla tohoto prostředku je soustředěna v knihovnách. Jejich přehled je následující:
• User Interface Library
• Analysis Library. Knihovna práce s daty, operací s maticemi, komplexními čísly, statisstika,
číslicová filtrace, transformace.
• Easy I/O for DAQ Library. Slouží pro snadnou realizaci základních aplikací typu multimetr či
záznamník.
• Data Acquisition Library. Komunikace s „měřicími“ kartami. Instaluje se spolus instalací sw
této karty.
• GPIB-488/488.2 Library. Knihovna práce s přístroji přes rozhraní GPIB.
• RS-232 Library
• VISA Library (Virtual Instrument Software Architecture) – slouží hlavně pro tvorbu
přístrojových ovladačů
• IVI Library (Interchangable Virtual instrument) – slouží hlavně pro tvorbu přístrojových
ovladačů technologií IVI
Použití počítačů v měřicí technice 45

• TCP Library (Transport Control Protocol ) – pro výměnu dat po síti protokolem TCP/IP
• DataSocket Library – pro předávání dat pomocí protokolu DataSocket (NI)
• DDE Library (Windows Dynamic Data Exchange) – ovládání a výměna dat mezi programy ve
Windows
• ActiveX Automation Library – využívání externích aplikací podporující technogii MS Active X
• Formatting and I/O Library – formátovací a skanovací funkce, jednoduchá práce se soubory
kompatibilní s LW/DOS
• Utility Library – pomocné funkce (datum, čas, práce se soubory na disku…)
• ANSI C Library
Kromě toho obsahuje prostředí řadu nástrojů (které lze i uživatelsky doplňovat), jako je průvodce
CodeBuilder (pro generování kostry programu na základě uživatelského rozhraní), průvodce pro
ovládání ActiveX serverů, průvodce pro tvorbu IVI přístrojových ovladačů. Je dodáván i soubor
přístrojových ovladačů, případně další nástroje (např. Programmer Toolbox) a sada ukázkových
příkladů. V prostředí lze vyvolat nápovědu nebo nahlédnout do elektronické dokumentace.

4.1.2.3 Uživatelské rozhraní LW/CVI

Obr. 27 – Příklad programu LW/CVI


46 FEKT Vysokého učení technického v Brně

rozhraní CVI vychází z podobných principů jako rozhraní u verze pro DOS. Bylo
však značně vylepšeno (Obr. 27) a to jak do vzhledu, tak i co do počtu grafických objektů.
Zásadní změnu doznalo ovládání, které dovoluje využít mechanismu Callback funkcí. Také je zde
možnost vytvářet uživatelské rozhraní programově funkcemi User Interface Library, tedy bez
editoru a souboru UIR. Grafické objekty jsou následující:
• Numeric
• String
• Text Message
• Text Box
• Command Button
• Toggle Button
• LED
• Binary Switch
• Ring Control
• List Box
• Table
• Decorations
• Graphs and Strip Charts
• Pictures
• Timer Control
• Canvas (obecné kreslení vektorovou grafikou)
V různých verzích se měnil vzhled objektů, např. ve ve verzi 6 lze používat 3D objekty (Obr.
28).

Obr. 28 – Příklad 3D grafu v LW/CVI 6.0


Použití počítačů v měřicí technice 47

Každému grafickému objektu lze přiřadit funkci, která je mechanismem Callback vyvolána.
Tato funkce pak může analyzovat, jaká událost nastala a zjistit i další parametry. CVI pracuje
s následujícími typy událostí:

Byl zaveden objekt Timer, což je vlastně generátor událostí, který je generuje ve zvolených
intervalech.
Mechanismus Callback funkcí a ovládání uživatelského rozhraní vysvětluje Obr. 29.
48 FEKT Vysokého učení technického v Brně

Obr. 29 – Vazba mezi uživatelským rozhraním a aplikačním programem


Ukázka fragmentu programu je na Obr. 30. Lze ale setrvat i u způsobu ovládání jako u verze DOS.

main(){
panel_handle = LoadPanel(...);
DisplayPanel(panel_handle, ...);
menu_handle = LoadMenuBar(...);
RunUserInterface();
}

int CVICALLBACK PanelResponse (int handle, int event, void *callbackdata, int eventdata1, int
eventdata2)
{
switch (event) {
case EVENT_PANEL_SIZE :
/* Code that responds to the panel */
/* being resized */
break;
case EVENT_PANEL_MOVE :
/* Code that responds to the panel */
/* being moved */
break;
case EVENT_KEYPRESS :
/* Code that responds to a keypress */
/* eventdata1 & eventdata2 contain */
/* keycode information */
break;
}
return(0);
}

Obr. 30 – Fragment programu volání Callback funkcí z UIR


Použití počítačů v měřicí technice 49

tento způsob je podporován, avšak generátor CodeBuilder vždy generuje kostru s využitím
Callbacks.

4.1.3 Postup tvorby aplikace v LabWindows


Po potřebné analýze je vhodné rozhodnout, zda aplikace bude tvořena jediným spustitelným
modulem (vznikne jediné exe) nebo více. LW ver. 6.0 Podporuje tzv. WORKSPACE, což je souhrn
projektů. Projek odpovídá jedinému spustitelnému modulu. Po té je vhodné přistoupit k tvorbě
uživatelského rozhraní editorem UIR. Po jeho vytvoření vytvoříme kostru programu funkcí CODE
v UIR. Dále pokračujeme editací kostry programu v C. Po ověření správné funkce můžeme vytvořit
spustitelnou verzi (k jejímu spuštění je nutné, aby na počítači byl instalován Run-Time engine verze
alespoň takové, ve které pracuje základní prostředí), případně vytvořit instalační sadu. Instalační
sada může obsahovat kromě Run-Time engine i další doplňky (nápovědu, IVI Engine, DataSocket
atd.). LW/CVI od verze 5.0 vždy i pro ladicí účely vytváří exe soubor, který v režimu ladění
obsahuje kód pro ladění a může být i 2x tak velký, jako hotová verze.

4.1.4 Poznámka k využití technologie multithreading (vláken)


LW/CVI verzí 5.5 a vyšších podporuje multithreading. Tak lze jednak lépe využít
víceprocesorových konfigurací, hlavně lze eliminovat případ, kdy např. uživatelské rozhraní čeká
na dokončení zdlouhavé operace (provedení měření jako celku), případně jednotlivé panely pracují
v různých vláknech. Příklad takového programu je tento.
//------------------------------------------------------------------------------
// Example to demonstrate how to use threads with LW/CVI
//------------------------------------------------------------------------------

//-----------------------------------------------------------------------------
// Includes
//-----------------------------------------------------------------------------
#include <cvirte.h>
#include <utility.h>
#include <userint.h>
#include <stdio.h>

#include "OnePanel.h"
#include "toolbox.h"

//-----------------------------------------------------------------------------
// Defines
//-----------------------------------------------------------------------------
#define MAX_THREADS 49
#define NUMERIC_HEIGHT 40
#define NUMERIC_WIDTH 75

//-----------------------------------------------------------------------------
// Global Variables
//-----------------------------------------------------------------------------
static int panelHandle = 0;
static int numThreads = 0;
static volatile int exiting = 0;
static int poolHandle = 0;
static int tlvHandle = 0;
static char errorBuf[CMT_MAX_MESSAGE_BUF_SIZE];

//-----------------------------------------------------------------------------
// Prototypes
//-----------------------------------------------------------------------------
static int CVICALLBACK MyThreadFunction (void *ctrlID);
static int SetupApplication (void);
static int ShutdownApplication (void);
50 FEKT Vysokého učení technického v Brně

//-----------------------------------------------------------------------------
// Main
//-----------------------------------------------------------------------------
int __stdcall WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpszCmdLine, int nCmdShow)
{
if (InitCVIRTE (hInstance, 0, 0) == 0) /* Initialize CVI libraries */
return -1; /* out of memory */

SetSleepPolicy(VAL_SLEEP_MORE);

// Load and Display Panel


if ((panelHandle = LoadPanel (0, "OnePanel.uir", PANEL)) < 0)
return -1;
DisplayPanel (panelHandle);

// Setup critical section


if (SetupApplication() < 0)
goto Error;

// Wait for user input


RunUserInterface ();

Error:
// Terminates the threads if needed
ShutdownApplication();
return 0;
}

//-----------------------------------------------------------------------------
// Quit
//-----------------------------------------------------------------------------
int CVICALLBACK Quit (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{

switch (event) {
case EVENT_COMMIT:
QuitUserInterface (0);
break;
}

return 0;
}

//-----------------------------------------------------------------------------
// NewThread
//-----------------------------------------------------------------------------
// Each time we click on this button a new numeric indicator is created on
// the panel. Due to the size of the panel, no more than MAXTRHEADS threads can
// be created.
//-----------------------------------------------------------------------------
int CVICALLBACK NewThread (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
static int top = 24, left = 8;
static int panelWidth = 0;
char threadName[50];
int ctrlID;
int error = 0;

switch (event) {
case EVENT_COMMIT:
// Hide text message
if (numThreads == 0)
SetCtrlAttribute (panel, PANEL_TEXTMSG, ATTR_VISIBLE, 0);

// See how many threads we have already created


if (numThreads == MAX_THREADS) {
MessagePopup("Warning", "You have created the maximum number of threads for
this application");
return 0;
}

// Create the UIR numeric control


Použití počítačů v měřicí technice 51

sprintf(threadName, "Thread %d", numThreads + 1);

if (panelWidth == 0)
GetPanelAttribute (panel, ATTR_WIDTH, &panelWidth);

left = 8 + (numThreads % (panelWidth/83)) * (NUMERIC_WIDTH + 8);


top = 30 + (numThreads / (panelWidth/83)) * (NUMERIC_HEIGHT + 8);

ctrlID = NewCtrl (panel, CTRL_NUMERIC, threadName, top, left);


SetCtrlAttribute (panel, ctrlID, ATTR_DATA_TYPE, VAL_UNSIGNED_INTEGER);
SetCtrlAttribute (panel, ctrlID, ATTR_CTRL_MODE, VAL_INDICATOR);

// Create the thread


errChk (CmtScheduleThreadPoolFunction (poolHandle, MyThreadFunction,
(void *)ctrlID, NULL));
numThreads++;
SetCtrlVal (panelHandle, PANEL_THREADSRUNNING, numThreads);
break;
}

Error:
if (error < 0) {
CmtGetErrorMessage (error, errorBuf);
MessagePopup ("Error:", errorBuf);
}

return 0;
}

//-----------------------------------------------------------------------------
// MyThreadFunction - Each started thread will execute this code until request to exit
//-----------------------------------------------------------------------------
static int CVICALLBACK MyThreadFunction (void *ctrlID)
{
int *threadCount;

CmtGetThreadLocalVar (tlvHandle, (void **)&threadCount);

while (!exiting) {
// Update the thread local value
(*threadCount)++;
SetCtrlVal (panelHandle, (int)ctrlID, *threadCount);

// Tell system to expire the rest of this thread's time slice


Delay (0.0001);
}

return 0;
}

//-----------------------------------------------------------------------------
// SetupApplication
//-----------------------------------------------------------------------------
static int SetupApplication (void)
{
int error = 0;

errChk (CmtNewThreadLocalVar (sizeof (int), (void *)0, NULL, NULL, &tlvHandle));


errChk (CmtNewThreadPool (MAX_THREADS, &poolHandle));

Error:
return error;
}

//-----------------------------------------------------------------------------
// ShutdownApplication
//-----------------------------------------------------------------------------
static int ShutdownApplication (void)
{
SetMouseCursor (VAL_HOUR_GLASS_CURSOR);
if (poolHandle != 0) {
exiting = 1;
CmtDiscardThreadPool (poolHandle);
}

if (tlvHandle != 0) {
52 FEKT Vysokého učení technického v Brně

CmtDiscardThreadLocalVar (tlvHandle);
}
SetMouseCursor (VAL_DEFAULT_CURSOR);
return 0;
}

4.2 LabVIEW

Název je zkratkou, plný název je Laboratory Virtual Instrument Engineering Workbench. Je


založen na myšlence tzv. virtuálních přístrojů (VI) a jejich programové implementace. Vychází ze
zjednodušení měřicího přístroje na tři základní části:
- ovládací panel, pomocí něhož jsou sdělovány výsledky měření a kterým obsluha měření
zahajuje a nastavuje jeho podmínky (prezentace)
- stykovou jednotku, která zabezpečuje vazbu na měřicí systém (např. na počítač), pomocí
které může být přístroj ovládán a mohou být po něm předány výsledky měření
- vlastní měřicí část, která měření provádí (např. A/D převodník) a zpracovává naměřené
výsledky.
Virtuální přístroj je pak počítačová realizace takového zjednodušení. Musí mít ovládací
panel, který bude zobrazen na monitoru počítače a do něhož obsluha může zasahovat a tak řídit
měřicí proces i z něj získávat naměřené výsledky. Dále musí obsahovat program, který měření
provádí a zpracovává a musí mít možnost styku (interface) s jinými virtuálními i reálnými přístroji.

4.2.1 Základní východiska LabVIEW


Myšlenka virtuálních přístrojů potom vede na základní prostředky, které LabVIEW využívá -
je to ovládací panel, blokové schéma programu a ikona/konektor. Blokové schéma odpovídá
zdrojovému textu programu v klasických programovacích jazycích (Pascal, C). Ikona/konektor jsou
pak prostředky volání VI na nižších úrovních a prostředek výměny dat mezi těmito úrovněmi
(odpovídá procedurám v textově orientovaných jazycích, tzv. subVI). Panel je vlastně seznam
parametrů, které mění obsluha nebo jiné VI na vyšší úrovni. Blokový diagram obsahuje nástroje pro
vstup/výstup, výpočty, řízení procesu výpočtu a subVI. Tyto prostředky jsou v diagramu tvořeny
ikonami (uzly-nodes), které jsou navzájem propojeny spoji (dráty-wires). Takto vytvořený program
je řízen, na rozdíl od klasických programovacích jazyků, tokem dat. Uzel je aktivován tehdy, pokud
má na svých vstupech veškerá data k dispozici (Obr. 31, Obr. 32, Obr. 33).
Tento, poněkud netradiční přístup, je blízký spíše postupu při návrhu přístrojů na hw úrovni
nebo výkladu jejich funkce než postupu tvorby programových prostředků. Bude zřejmě bližší
takovému okruhu uživatelů, kteří se zabývají návrhem technických prostředků. Aplikace technik,
používaných v klasických textově orientovaných programovacích jazycích je sice možná, ale vede
na neefektivní programy.

4.2.2 Základní vlastnosti LabVIEW


Myšlenka aplikace virtuálních přístrojů byla rozvíjena firmou National Instruments již zhruba
deset let. Výsledkem je systém LabVIEW, který byl původně určen pro počítače Apple-Macintosh.
Teprve na podzim roku 1992 je k dispozici verze pro počítače řady IBM-PC, které využívají
Microsoft WINDOWS verze 3.1 a pro pracovní stanice SUN. První verze LabVIEW pro Win 3.1
měla označení 2.5.2. Verze 3.1 zahrnovala použítí tzv. atributů grafických objektů. Verze 4 je
určena pro Ms-Windows 95/3.1 . Nyní je aktuální verze 6i („Internetová“), označovaná jako 6.0. a
Použití počítačů v měřicí technice 53

poslední verze z února 2002 má označení 6.1. I tzv. malé upgrady často poskytují dosti zásadní
změny a zdokonalení. Kompatibilita je zajištěna směrem nahoru o 1 verzi, směrem k nižším verzím
kompatibilita zajištěna není. Dokumentace byla původně výhradně „papírová“, nyní je jak
v papírové, tak i elektronické podobě a to jako součást dodávky, tak ji lze získat i na serveru
National Instruments. Existuje řada aplikačních zpráv a příkladů, případně knižní literatura třetích
autorů. Bohužel tato literatura dosti rychle zastarává, protože nové možnosti v nových verzích LV
dovolí efektivnější řešení, než uvádí dosti drahá knižní literatura. Velmi dobré jsou různé diskusní
skupiny (NEWS) na Internetu , zabývající se LV.
Přenositelnost mezi hw a sw platformami je užitečná pro práci ve velkých laboratořích nebo
pro celosvětovou výměnu. LV se stal určitým známým standardem (i když neoficiálním). Na
druhou stranu je už poněkud nepřehledný, od původního záměru intuitivního programování a
„samodokumentujících se“ programů se už vzdálil. Pro kvalitní využití je nutno LV studovat
podobně, jako jiné jazyky. LV je dosti oblíben u uživatelů netechnického charakterů (biologie,
medicína, chemie, psychologie).
Při tvorbě hotových produktů pro koncové uživatele, kteří sami program nebudou
modifikovat a upravovat, se výhody LV poněkud ztrácejí. Ve srovnání s řešením podobného
problému pomocí C++ nebo i LW/CVI vychází řešení podstatně delší. Hlavní výhoda je na straně
vývoje. LV je někdy vytýkána určitá nejasnost řešení, programátoři mají dojem, že systém nemají
pod kontrolou, protože nemohou přesně zjistit, co vestavěné funkce a hlavně jak řeší.
LV byl původně nepříliš otevřený. Dovoloval rozšiřování jen na bázi tzv. CIN, vytvářených
pomocí překladače WATCOM C. Teprve později byla přidána možnost v rámci Ms-Windows
pracovat s dll knihovnami. Na úrovni technických prostředků lze pracovat se všemi používanými
rozhraními, přímo přistupovat na V/V adresy a k paměti.
Všechny verze LV jsou 32 bitové a to i ty, které pracovaly na platformě Ms-Windows 3.1.
Poslední instalace jsou distribuovány na dvou CD, vyžadují následující vlastnosti (pro IBM-PC):
! Grafika: 800x600 bodů, 256 barev, lépe 16-bit barevná hloubka a 1024x768
! 32 MB RAM, lépe 64MB
! zvuková karta a možnost přehrávání .avi souborů (pro výukový program)
! Microsoft Explorer alespoň verze 4.0
! 65 MB diskového prostoru
! Pro NT 4.0 instalovaný Service Pack 3
! kvalitní myš (optická)
! mechanika CD-ROM
! síťová karta
Distribuce LV je k dispozici pro
! Ms-Windows (od W98 do XP)
! Power Macintosh – Systém 7.6.1 nebo novější
! UNIX vyžadují X Window System server, (OpenWindows, CDE, nebo X11R6)
! SPARC stations (SUN) se sytémem Solaris verze alespoň 2.5.1
! LINUX pro procesory x86 s jádrem verze alespoň 2.0 a větší distribuce jako RedHat,
Mandrake, SuSE, nebo Debian.
54 FEKT Vysokého učení technického v Brně

Podrobné požadavky na jednotlivé distribuce a verze lze nalézt v Relase Notes.

Obr. 31 - Ukázka Panelu (uživatelského rozhraní) systému LabVIEW

Obr. 32 – Diagram popisující algoritmus (viz Obr. 31)


Použití počítačů v měřicí technice 55

Obr. 33 – Popis hierarchie subVI příkladu z Obr. 31

Celý systém je orientován graficky a to jak na úrovni ovládání prostředí, tak i tvorby
programů, tedy virtuálních přístrojů. Prostředí lze uživatelsky upravit formou uživatelských
nabídek, které mohou mít jak textovou, tak grafickou podobu (ikony). Vysloveňe grafická podoba
je pro začátečníky méně vhodná. Využívá se bohatý systém nabídek a ikon, myš se stává
nezbytností. Program se tvoří v grafickém jazyku, který je nazýván jazyk G. Ten je pak interně
kompilován a po jeho spuštění je jeho rychlost srovnatelná s řešením téhož problému v jazyce C.
Pro běh již odladěného programu v G je ale nutné buď celé prostředí LabVIEW, případně jeho Run-
Time modul a to verze stejné nebo vyšší, pod kterou byl program vytvořen. Program po překladu k
dispozici samozřejmě není v nějakém textovém jazyku. Jako placený doplněk je možno vytvořit
tvar EXE a provozovat jako aplikaci pod Microsoft WINDOWS. V tom případě můžeme vytvořit i
kompletní instalaci, kterou lze distribuovat na CD (není nutná licence). Kompletní virtuální přístroje
(Virtual Instruments - VI) jsou ukládány do diskových souborů s příponou vi. Ty jsou v binárním
proprietálním tvaru, formát se měnil pro různé verze LV. Kompletní aplikace většinou vyžadují ke
spuštění více VI, proto je možno potřebnou sadu VI uložit do knihoven LV (soubor s příponou
LLB) s vyznačením nejvyšší úrovně VI. Navíc jsou zde VI komprimovány, tak že zaujímají méně
místa na disku. Knihovny LLB jsou přenositelné mezi různými implementacemi LabVIEW a lze je
též editovat. V okamžiku načítání aplikace v LV jsou načteny do paměti a vyhledány potřebné
subVI a to jak z knihoven LLB, tak i ze systému. Stav prohledávání je zobrazen, pokud se určitý VI
nemůže v předvolených adresářích nalézt, je dotázána obsluha. Teprve po kompletním načtení lze
aplikaci spustit. Lze ale řešit i případ, že potřebné VI jsou načítány za běhu aplikace, případně že
určité subVI jsou spuštěny na vzdáleném počítači. Toto se týká jak spuštění v prostředí LV, tak i u
aplikací trvalých ve formě EXE.

4.2.3 Programování LabVIEW


Programování v jazyce G je, dosti odlišné od technik, používaných v textově orientovaných
jazycích. Zásadní rozdíl je v tom, že program je řízen tokem dat a nikoli tokem příkazů. Chceme-li
předepsat určitou posloupnost provádění operací, musíme použít zvláštních konstrukcí (objektů).
Pokud tak neučiníme, jsou operace aktivovány tehdy, až mají k dispozici na všech svých vstupech
data. Je-li takových možností více, určí sled kompilátor.
56 FEKT Vysokého učení technického v Brně

Zápis algoritmu v LV se děje propojením uzlů (nodes) pomocí spojů (wires). Uzly jsou
výkonné části a jejich základní sada je dodávána se systémem. Některé jsou needitovatelné (tzv.
funkce - functions), jiné editovatelné (subVI). Spoje vlastně odpovídají proměnným v jiných
jazycích. Spoje mohou začínat v tzv. ukončujících bodech (Terminals). To je vazba na objekty
panelu.
Je podporováno modulární programování. Cílový program (tj. VI nejvyšší úrovně) může být
složen z objektů nižší úrovně (sub VI), což je obdoba procedur. Každému VI je přiřazeno jméno (v
jazyce G je to i grafická ikona, kterou lze vytvořit vestavěným grafickým editorem), vstupní a
výstupní proměnné - což je tvořeno grafickým ovládacím panelem a tělem procedury - zapsaným v
jazyce G. Parametry do VI jsou předány z vyšší úrovně pomocí konektoru (obdoba seznamu
parametrů) do grafického ovládacího panelu. Do VI nejvyšší úrovně zadává parametry obsluha
prostřednictvím klávesnice a myši, výstupy jsou zobrazovány zvoleným způsobem, případně
tištěny. Výhodou tohoto postupu je, že každý VI lze jednoduše odzkoušet a z ověřených VI skládat
složitější VI.
Pro tvorbu VI jsou k dispozici tzv. funkce, které jsou součástí systému LV. Nemají vlastní
panely, lze je pouze využít ke stavbě VI. Lze je přirovnat k operátorům a příkazům konvenčních
jazyků. Soubor funkcí není neměnný, lze je rozšiřovat o vlastní VI. Při spouštění systému
LabVIEW jsou tyto nové VI automaticky zahrnuty do grafických menu pro tvorbu VI v G. Tak jsou
vytvořeny i některé dodávané utility, prostředky pro zpracování signálů a práci se soubory dat. I z
dodávaných demonstračních příkladů lze "vyjmout" vhodné sub VI a ty použít ve vlastních
programech v G.
Řada funkcí je tzv. polymorfní, tj. např. funkce sčítání může sčítat jak skalární proměnné
(např. typu double), ale také pole libovolných dimenzí i komplexní čísla a to bez potřeby nějaké
volby. Poslední verze dovolují i tvorbu vlastních polymorfních subVI.
Systém LabVIEW je typový jazyk. Numerické datové typy jsou následující:
Numerický Délka v Přibližný počet
Rozsah
datový typ bitech dekadických míst
Nejmenší kladné číslo: 6.48e–4966
Extended-
od 15 do 33 dle Největší kladné číslo: 1.19e+4932
precision floating- 128
platformy Nejmenší záporné čís.:–6.48e–4966
point
Největší záporné číslo:–1.19e+4932
Nejmenší kladné číslo: 4.94e–324
Double-precision Největší kladné číslo: 1.79e+308
64 15
floating-point Nejmenší záporné čís.: 4.94e–324
Největší záporné číslo: 1.79e+308
Nejmenší kladné číslo: 1.40e–45
Single-precision Největší kladné číslo: 3.40e+38
32 6
floating-point Nejmenší záporné čís.: -1.40e–45
Největší záporné číslo: –3.40e+38
Long signed
32 9 –2,147,483,648 až 2,147,483,647
integer
Word signed
16 4 –32,768 až 32,767
integer
Byte signed
8 2 -128 až 127
integer
Long unsigned
32 9 0 až 4,294,967,295
integer
Použití počítačů v měřicí technice 57

Numerický Délka v Přibližný počet


Rozsah
datový typ bitech dekadických míst
Word unsigned
16 4 0 až 65,535
integer
Byte unsigned
8 2 0 až 255
integer
od 15 do 33 dle Stejný jako extended-precision
Complex
256 platformy floating-point pro každou(reálnou a
extended-precision
imaginární) část
Stejný jako double-precision
Complex double-
128 15 floating-point pro každou(reálnou a
precision
imaginární) část
Stejný jako single-precision
Complex single-
64 6 floating-point pro každou(reálnou a
precision
imaginární) část
Kromě toho existují datové typy znakové, booleovské a speciální. Datový typ je v diagramu
vyjádřen barvou. Kromě jednoduchých typů jsou k dispozici pole a struktury zde nazývané
Clusters. V clustrech se položky specifikují buď dle jména nebo podle pořadí.
LabVIEW dovoluje přiřadit i fyzikální rozměr a kontrolovat, zda výsledný objekt (např.
indikátor) tomuto rozměru odpovídá. K manipulaci a fyzikálními rozměry je k dispozici několik
funkcí. Používání rozměrů sice komplikuje tvorbu programu, na druhé straně jde o určitý kontrolní
mechanismus, který ověřuje naprogramovaný algoritmus.
Kromě výše uvedených typů existuje i typ Variant, jehož typ lze dynamicky měnit (viz Visual
Basic, Visual C++). Zavedení typu Variant bylo nezbytné pro práci s ActiveX objekty.
Systém LabVIEW dovoluje odstranit komplikace s velkými datovými strukturami v paměti.
Uživatel není omezen vlastnostmi konkrétní technické základny. Pole jsou dynamická, jejich
velikost se může dle potřeby měnit a to bez nutnosti tento proces explicitně řídit. Další zajímavostí
je možnost tzv. autoindexování v cyklických strukturách jako je FOR či WHILE. Znamená to, že
např. při vstupu do cyklu FOR je jednodimenzionální pole automaticky rozloženo na jeho elementy,
které jsou automaticky indexovány proměnnou cyklu. Obdobná situace je i na výstupu z cyklu, kde
ze skalární proměnné je tvořeno jednorozměrné pole. Současně je i mez cyklu nastavena na max.
index pole, které do cyklu vstupuje (pokud není nastavena explicitně). Proces autoindexování
programy značně zrychluje, zjednodušuje jejich tvorbu v G, lze ho však i vypnout. Pro
vícerozměrná pole vede autoindexování na snížení počtu dimenzí o jedna (vstup) nebo zvýšení o
jedna (výstup).
Vlastní program se tvoří graficky z nabídky ikon. Ikony odpovídají funkci či sub VI a jsou
nazývány uzly. Základní členění uzlů je následující:
! Struktury a konstanty
! Aritmetické a logické funkce
! Trigonometrické a logaritmické funkce
! Porovnávání
! Konverze typů
! Operace s textovými řetězci
! Operace s poli a clustery
58 FEKT Vysokého učení technického v Brně

! Operace se soubory
! Dialog s obsluhou a čas
! Dodatkové funkce
! Analýza
! GPIB
! DAQ
! Utility
Toto členění je v různých verzích různé a uživatel je může měnit dle svých potřeb. Zvláště
funkce analýzy jsou značně rozmanité.
LabVIEW využívá možností multiprogramování. Lze vytvořit i několik VI, které pracují
samostatně (tj. není mezi nimi datová vazba vyjádřená spoji v diagramu) a jimž je předáváno řízení
dle určených priorit. Jsou zde i známé prostředky asynchronního řízení jako semafory, fronty,
výskyty (occurrence) . Lze též mít spuštěn některý VI a současně editovat jiný. Programově lze
spouštět i jiné aplikace Ms-Windows, pomocí DDE nebo ActiveX je ovládat a vyměňovat navzájem
data. Tyto možnosti omezuje jen výkon počítače.

4.2.4 Vazba na reálné okolí


Vazbu na měřený objekt je zajištěna sadami dodávaných VI. Je to vazba na karty,
připojované přímo na sběrnici počítače (od jednoduchých převodníků až po signálový procesor) a
na měřicí systémy prostřednictvím GPIB (IEEE 488, IMS-2), RS232C a po doplnění i VXI. Přímo
jsou podporovány jen firemní karty National Instruments. Rozsah funkcí je značně bohatý, např. pro
karty je k dispozici knihovna DAQ, obsahující více jak 80 VI. Je možný paralelní sběr dat i jejich
zpracování (pokud dostačuje výkon počítače). Knihovna GPIB obsahuje funkce pro ovládání dle
standardu IEEE 488.1 i IEEE 488.2. Dále jsou k dispozici tzv. přístrojové ovladače (instrument
drivers), které dovolují využívat v LabVIEW již konkrétní přístroje Pochopitelně si lze pro neběžný
přístroj takový ovladač vytvořit jak prostředky LV, tak i LW/CVI (viz dále).

4.2.5 Zpracování naměřených dat


Pro zpracování naměřených (či jinak získaných) dat je součástí LabVIEW knihovna
Analysis. Podle požadavku lze zakoupit buď knihovnu jednoduchou, jen s málo VI, nebo rozsáhlou,
která pokrývá prakticky veškeré požadavky, které se při zpracování vyskytnou. Jsou zde VI pro
generování dat, zpracování v oblasti časové i kmitočtové, prostředky pro návrh a realizaci
číslicových filtrů, rozsáhlé statistické VI, interpolace, regrese, operace s vektory a maticemi.
Celkem je zde kolem 200 VI. Pro seznámení s těmito VI, ale i jako dobrý prostředek pro úvod do
teorie zpracování signálů je k dispozici řada demonstračních VI. LV ale není učebnice teorie
signálů, pro optimální využití musí být uživatel na poměrně vysoké úrovni. Je implementována řada
matematických metod, např. pro řešení diferenciálních rovnic. Ke zpracování lze využít i vazbu na
MATLAB (musí být instalován) a HiQ. Ve verzi 6.1 je k dispozici sada VI pro zpracování signálů
po bodech (point-to-point). Uživatel se nemusí starat o to, že určité algoritmy v klasické podobě
vyžadují bloky dat, které se zpracovávají jako celek, ale že vždy doplní novou hodnotu a algoritmus
mu vypočte hodnotu posledního bodu. Hlavní výhoda je u číslicových filtrace a transformací
(FFT).
Použití počítačů v měřicí technice 59

4.2.6 Grafické prostředky


Grafické prostředky pro tvorbu ovládacího panelu jsou velmi pohodlné. Je k dispozici řada
grafických objektů (číslicových, textových, booleovských, analogových, typu graf či čárový
zapisovač), jejichž vlastnosti lze ve fázi editace jednoduše měnit. Původně nebylo možno grafické
objekty libovolně doplňovat, stejně tak program v G nemohl měnit jejich atributy. Od verze 3.0 tyto
možnosti jsou.
Grafické objekty umisťujeme na panel z příslušné nabídky. LV má objekty dvou typů –
Control a Indicator. Každému grafickému objektu, který manipuluje s daty, přísluší připojovací bod
(Terminal).
Data lze získat z objektu (např. „knoflík“) jednak z jeho připojovacího bodu, jednak
vytvořením tzv. lokální proměnné. Lokální proměnné dovolují přístup k objektu z více míst
diagramu.
Až do verze 6.0 vycházelo ovládání uživatelského rozhraní z dotazování na příslušné objekty.
Zvláště u tlačítek, která volila funkci, to bylo značně nepřehledné a neefektivní. Až verze 6.1 zavádí
možnost práce s událostmi podobně jako CVI.
Nápovědní systém pro koncového uživatele aplikace lze volit. Můžeme využít buď klasického
nápovědního systému (Help), nebo On-line nápovědy LV. Ta otvírá okno a zobrazuje informace o
objektu při pouhém „najetí“ kurzoru na objekt panelu. Můžeme použít i Tips Strips (krátkých textů
ve žlutém políčku, zobrazených u kurzoru myši po „najetí“ kurzoru na objekt panelu). Ty lze zadat
buď fixně, nebo je lze i měnit z programu.
Většina objektů na panelu má pomocné menu, rozvíjející se pravým tlačítkem myši. Tato
nabídka je poněkud jiná v režimu editace a v režimu běhu aplikace. Rozsah možných nastavení za
běhu lze měnit.
U grafických objektů manipulující s daty můžeme zkopírovat datový obsah a do jiného
objektu opět přenést. Nejde o kopírování jen grafiky, ale i dat. Po skončení práce VI lze panel
vytisknout nebo uložit do zvláštního souboru (Logging - z něj jde opět data obnovit)

4.2.7 Základní programovací techniky LabVIEW


Podobně jako jiné programovací jazyky, i jazyk G má prostředky pro řízení chodu programu
(cykly, podmínky, větvení, sekvence). Můžeme použít jak prostředky specifické pro G, tak i
prostředky známé z jazyka C. Pro účely těchto konstrukcí jsou potřebné objekty v položce Struktury
a konstanty. Proti klasickým jazykům však mají některé objekty ještě další možnosti, které urychlují
chod programu a zjednodušují programování.
Potřebné konstrukce jsou v grafické podobě ukázány dále a zároveň je uveden fragment
programu v jazyce C, který řeší stejný úkol. V grafické reprezentaci jsou udány všechny varianty, i
když v LV nejsou současně viditelné.
Cykl typu For
Posuvný
j=2;
10 registr
for(i=0;i<10;++i)
{
j
j+=3; 2
3
a[i]=j; a[i]
}
Auto-
indexování
výst. pole
60 FEKT Vysokého učení technického v Brně

Cykl typu WHILE:


i=0; 0
do
a[i]
{
a[i++]=rand();
}while(i<10);

10

Podmínka
if(x>10)Vysledek=”Větší jak nula“; else Vysledek=”Menší nebo rovno nule“;

True False

Menšínebo rovno nule


Vě tšíjak nula Vysledek
x

Přepínač:
switch(a){
case 0: x=1; break;
case 1: x=3; break;
default: x=10; break;
}

0 1 2,Default

x
1 3 10
a

Sekvence nemá v textovém jazyku ekvivalent. V jazyce G předepisuje posloupnost provádění


uzlů, které nemají datové vazby. Protože jde o poněkud nepřehlednou konstrukci, doporučuje se
zavést umělou datovou závislost a tím program zpřehlednit (např. provázání VI pomocí hlášení
chyby). Na příkladu je ukázáno vyslání hodnoty 2 na V/V adresu 300h a přečtení hodnoty z téže
0 [0..1] 1 [0..1]

x
300
2
Použití počítačů v měřicí technice 61

adresy. Pro předání adresy 300h je použita lokální proměnná v sekvenci.


Uzel vzorce (formula node) slouží pro zápis algoritmu v notaci blízké ANSI C. Použije se
tam, kde by zápis pomocí G byl zdlouhavý nebo zápis již existuje (lze kopírovat z textového
souboru):

Obdobně existuje možnost zápisu v m-scriptu (MATLAB) a HiQ scriptu:

M ATLAB Script
% convertrealvectorto string LorenzAttractor
Since M ATLAB doesn'texport
string through Active X server. pa = char(s); Y
W e have to do itin a hard way. % append search path According to the M ATLAB script,
path(path,pa); Y is a realmatrix.So Pop up on
s terminalY and setdata type to
examples\scriptnode RealM atrix
y= [1,1,1];
n = 30 / 0.05; Ifproblem occurs,check this
T = linspace(0,30,n); run time erroroutfordetailed
[t,Y]= ode23('LorenzEqs',T,y ); errormessage.
62 FEKT Vysokého učení technického v Brně

Komunikace s měřicím přístrojem (HP34401A) je znázorněna následujícím diagramem:


Configure Trigger M easure
Timeout(10000 ms)
Function (0:V DC)
ManualRes.(1:5.5 Digits) Source (0:Internal)
2
VISA session dup VISA session
errorin (no error) errorout
ManualDelay(0)
Range/Resolution (T:Auto)
ManualRange (1.00) Samples(1)
512

LabVIEW dovoluje řadu velmi zajímavých akcí a operací. Například program může být dynamicky
vytvořen až za chodu aplikace. Diagram ukazuje příklad „Plug-In“ řešení, kdy dostupné
programové moduly jsou zjištěny až po spuštění aplikace, nabídnuty obsluze (zde typy
transformací) a po výběru spuštěny. Lze též spustit subVI, který je na jiném síťovém počítači. Tyto
techniky jsou určeny pro pokročilé programátory

True
Transforms Transform Caption.Text
Transforms PutItem Name on Graph Caption
ItemNames Caption.Text -1 Transforms
ItemNames

type specifierVIRefnum Transforms


ItemNames
0
Trans.Pattern

-1
error
Transforms
Generate Transform
inputpattern
True
Trans.Pattern
0.00 inputpattern
inputpattern 0
-1 Transforms
VIDescription 100

Kromě vytváření datových vazeb mezi uzly pomocí spojů (wires) se používají tzv. lokální a
globální proměnné. Ty v diagramu poznáme podle zvláštních přípojných bodů. Lokální proměnné
dovolují přístup k objektům na panelu z více míst diagramu (jak pro čtení, tak i zápis dat). Globální
proměnné (tvořené skrytými objekty na panelu) dovolují přímé vazby mezi VI v různých úrovních
hierarchie.
Pro efektivní využívání vlastností LabVIEW je třeba vytvářet hierarchickou strukturu VI a
subVI. Při tom můžeme postupovat zdola nahoru – to ovšem vyžaduje dobrou analýzu problému a
rozvržení před vlastním programování. Novější verze dovolují postup i shora dolů- tento postup je
vhodný pro špatně analyzované projekty. Programovat se začne nejprve od nejvyšší úrovně VI a
opakující se části (nebo nepřehledné) se uzavřou do subVI. Větší projekty mohou mít i 100 subVI.
Použití počítačů v měřicí technice 63

4.2.8 Poznatky s aplikací LabVIEW


Pro práci se systémem LabVIEW je třeba se do značné míry oprostit od návyků z
programovaní v textově orientovaných jazycích. Je nutno poznat zvláštnosti jazyka G a naučit se je
využívat, jinak programy budou pomalé a nepřehledné. K tomu je možno využít dodávaných
příkladů, ale lépe je pustit se do samostatné práce a pokusit se navrhnout vlastní VI. Je třeba
využívat modularity jazyka, nesnažit se o řešení v jediném VI. Prostředí dovoluje vytvářet
komentáře jak k jednotlivým objektům, tak k celému řešenému problému. Ty lze rozmisťovat i
formou volného textu jak do diagramu programu v G, tak i do ovládacího panelu.
Verze 6 LV dovoluje analyzovat časové i paměťové nároky vytvářené aplikace. Obsahuje
Profiler, pomocí kterého je lze zjistit. Tvorbu velkých projektů vytvářených kolektivem
programátorů usnadňuje správce zdrojových souborů. Je automaticky vytvářena historie úprav a
verzí, kterou lze mimo automaticky generované zprávy doplnit i vlastními poznámkami. Součástí je
také nástroj pro převod použitých textů do jiného jazyka (nápisy, poznámky jsou všechny
vyexportovány, uživatelem přeloženy a vráceny zpět). Také je zde nástroj (Web Publishing Tool)
pro poloautomatické generování web stránky v HTML (Obr. 34).

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Draft//EN">


<HTML>
<HEAD>
<TITLE>Control Mixer Process</TITLE>
</HEAD>
<BODY >
<H1>Control Mixer Process</H1>
Text that is going to be displayed before the image of the VI Panel.<P>
<IMG src="/.snap?Control%20Mixer%20Process.vi" alt="Control Mixer Process"
BORDER=1><P>
Text that is going to be displayed after the image of the VI Panel.
</BODY>
</HTML>

Obr. 34 – Nástroj LV pro jednoduché publikování na internetu a jím vytvořený text


Pro usnadnění vlastního programování měřicí aplikace je součástí LV tzv. Solution Wizard,
který po odpovědi na dotazy vygeneruje potřebnou aplikaci, kterou uživatel jen doplní a upraví
(Obr. 35).
Některé z těchto nástrojů jsou dostupné jen ve verzi označované jako Full Development
System (FDS).
64 FEKT Vysokého učení technického v Brně

LabVIEW je zajímavý prostředek pro tvorbu měřicích systémů na bázi PC. Poskytuje
poměrně značný komfort a to jak při tvorbě programu v G, tak i při ladění a tvorbě ovládacího
panelu. Vytvořené virtuální přístroje lze snadno modifikovat a mohou mít značnou "inteligenci".
Aplikace moderních algoritmů zpracování signálů nečiní problémy. Ovládací panely jsou graficky
na výši a poskytují dokonalou iluzi skutečného přístroje.
LabWINDOWS i LabVIEW má přibližně stejné nároky na technické prostředky Nespokojeni
ovšem budou ti, kteří tvoří měřicí aplikace na bázi klasického programovacího jazyka, kdy lze
dosáhnout podstatně menších nároků na technické prostředky a kde i takto vytvořené programy jsou
kratší. Oba prostředky však lze kombinovat.

Obr. 35 – Jedno z oken průvodce automatizovaného vytváření aplikací v LV

5 Přehled technických prostředků


Technické (hardwarové) prostředky nutné pro realizaci měření pomocí PC lze je dělit do tří
skupin:
- "karty" připojované přímo na sběrnici počítače
- systém GPIB
- PXI
- VXI
Mimo to lze pro připojení zvláštních periférií využít i brány k připojení tiskárny nebo
sériového kanálu, USB a pod..
Standard GPIB (IEEE 488) vznikl na základě firemní propojovací soustavy firmy Hewlett -
Packard označenou jako HP-IB (Hewlett-Packard Interface Bus) v roce 1972. Konečné znění je pak
Použití počítačů v měřicí technice 65

uvedeno ve zprávě IEEE Standard 488-1975. Jiné označení bývá GP-IB, IEC 625, ale i IEEE 488.1,
v ČR jako IMS-2 (ČSN 35 6522). Rozšíření normy nese název IEEE 488.2 (1987). Navzájem se
tyto standardy liší jen velmi málo a lze je kombinovat.
Tento systém je v současné době nejrozšířenější soustavou pro automatizaci měřicích a
testovacích procesů. Jde o soustavu, která je určena pro sestavení flexibilních měřicích systémů v
rozsahu jedné či několika laboratoří či zkušeben. Systém se skládá z autonomních přístrojů (které
můžeme často použít i samostatně mimo měřicí systém), vzájemně jsou propojeny sběrnicí
liniového typu s tzv. řídičem (např. PC s příslušnou kartou). Maximální počet přístrojů je omezen
na 15.
Každá funkční jednotka (přístroj) připojovaná do systému musí být vybavena standardním
rozhraním (stykovou jednotkou). K řízení systému slouží systém přenášení zpráv. V určitém
okamžiku je v systému vždy jeden zdroj zpráv (mluvčí - Talker), příjemců může být i více
(posluchač - Listener). Zprávy se předávají sérioparalelně po bytech s maximální rychlostí
1Mbyte/s (nyní existují firemní úpravy, které při zkrácených délkách kabelů dovolí přenos až 7
Mbyte/s). Rychlost přenosu je přizpůsobena nejpomalejšímu posluchači. K tomu slouží třívodičová
sběrnice řízení přenosu dat (DAV-data platná, NRFD-nepřipraven pro data, NDAC-data nepřijata).
Zprávy jsou určeny pro řízení činnosti stykového systému (stykové zprávy - např. adresy) nebo pro
komunikaci s přístroji (přístrojové zprávy - např. volba rozsahu, naměřené hodnoty aj.). Zprávy jsou
převážně znakové v kódu ISO7. Kromě toho pro přenos tzv. jednovodičových zpráv se používá
skupina pěti vodičů (ATN, IFC, SRQ, REN, EOI). Celkem kabel obsahuje 16 signálních vodičů a 8
zpětných a zemnících.
Standardizovány jsou stykové zprávy, druh, vlastnosti a osazení konektorů a tzv. stykové
funkce. Konkrétní přístroj obsahuje jen ty funkce, které vyžaduje pro svou činnost (např. generátor
nemusí mít funkci mluvčího). Přístrojové zprávy jsou v zásadě jen doporučeny, dnes se výrobci řídí
standardem konsorcia SCPI (Standard Commands for Programmable Instruments). Přes to je při

Obr. 36 – Karta rozhraní PCI - GPIB


tvorbě programového vybavení měřicího pracoviště nutná dokonalá znalost konkrétních přístrojů.
Pro vazbu na GPIB je pro PC nutná speciální karta (Obr. 36).
66 FEKT Vysokého učení technického v Brně

Standard VXI (VMEbus Extension for Instrumentation) je výkonná stavebnice pro tvorbu
měřicích a testovacích systémů. Vychází ze standardu VMEbus (sběrnice MOTOROLA dle
standardu ANSI/IEEE STD1014-1987), doplněného o funkce specifické pro měřicí aplikace. Byl
vytvořen konsorciem světových firem (původně 5, v roce 1995 přes 100). Stavebnice specifikuje
rozměry zásuvných modulů, které mají funkci měřicích přístrojů, elektrické propojení i konektory.
Zásuvné moduly se vkládají do speciální vany (rámu-Main Frame), který zajišťuje propojení,
chlazení i napájení. Řízení systému zajišťuje řídící jednotka, která obsahuje vestavěný počítač
(IBM/PC kompatibilní nebo i jiný). Je však možné ovládání systému z externího počítače pomocí
GP-IB nebo sériového kanálu či MXI. Výhodou je kompaktnost a vysoký výkon (multiprocesorová
sběrnice dat 32 bitů, hodinový signál až 100 MHz…). Zásuvné moduly nejsou schopny samostatné
funkce. V systému lze použít i jednotek VMEbus. Ceny VXI komponentů jsou relativně vysoké
(jednotky až desítky tisíc $). Lze sice předpokládat, že jejich cena bude klesat, ale je jisté, že
VXIbus nebude nikdy patřit k levným měřicím systémům, což ovlivňuje jeho nasazení v praxi
(vojenský a letecký průmysl).
Měřicí systém PXI (PCI bus Extended for Instrumentation - Obr. 37) vznikl na bázi sběrnice

Obr. 37 - Systém PXI


Compact PCI rozšířením o specifické sběrnice (v jistém smyslu obdobné rozšíření jako u
VXI). Opět jde o stavebnici ze zásuvnách modulů, které se vkládají do speciální vany. V zásadě jde
o systém IBM-PC kompatibilní a jde na něm provozovat sw pro tyto systémy. Má však zaručované
parametry jako EMC, spolehlivost a metrologické vlastnosti. Vznikl u firmy National Instruments,
řada dalších spolupracujících firem se podílí na jeho rozvoji. Používá se např. pro měření
mechanických parametrů dopravních prostředků.
Použití počítačů v měřicí technice 67

5.1 Zásuvné karty připojované na sběrnici PC

Karty, připojované na sběrnici počítače (měřicí karty, blokové schéma Obr. 38) jsou velmi
často používaným prostředkem. Jsou sériově vyráběny praktický více jak deset let.

Vstup AMUX Interface PC

Zesilovac Vzork+A/D

Paměť

Řízení převodu a přepínače


časovač

D/A
Dig.vstupy/výstupy

Obr. 38 – Blokové schéma multifunkční měřicí karty

Obr. 39 – Ukázka měřicí karty NI


Tzv. měřicí karta je zvláštní periferie, přímo připojovaná na sběrnici počítače. S okolím je
spojena kabelem. Většinou se pod měřicí kartou rozumí taková, která má několik (8-16)
napěťových vstupů, několik pomocných digitálních vstupů a případně analogové výstupy. Primárně
68 FEKT Vysokého učení technického v Brně

je karta určena k převodu napěťového signálu na číslo. Bývá označována též jako laboratorní nebo
multifunkční. Jiné typy karet jsou specializovány na digitální signály, generování analogových nebo
číslicových signálů, přesné zdroje napětí a podobně. Těmi se zde nebudeme podrobně zabývat.
Měřicí karta má na svých vstupech před multiplexerem ochranné omezovací obvody, které ji chrání
před poškozením. Až na výjimky však karty nemají galvanicky oddělené vstupy, tak že připojení
libovolného signálu s úrovní nad 50V může kartu i počítač zničit. Proto je vhodné vstupní proudy
omezit rezistory.
Karta dále obsahuje přepínač napěťových vstupů. Tak je možno i s využitím jediného A/D
převodníku měřit více napětí, avšak nikoli současně. Pro případ, kdy je třeba současné vzorkování
musíme použít speciální typy, které mají dva i více A/D převodníků. Vstupy karet jsou zhruba tří
typů:

SE-G PC

SE PC

DIFF PC

Obr. 40 – Možnosti připojení měřeného objektu k měřicí kartě

• SE-G (single ended-grounded) – jedna svorka je pro všechny kanály společná a je spojená
se zemí počítače (tím i s ochranným vodičem sítě). Vhodné pro připojení k takovým
zdrojům napětí, které sami se zemí spojení nemají (např. izolované termočlánky)
Použití počítačů v měřicí technice 69

• SE (single ended) – jedna svorka je pro všechny kanály společná a proti zemi počítače i
ochrannému vodiči sítě může mít malý potenciál (řádově V). Vhodné pro připojení
k takovým zdrojům napětí, které sami se zemí spojení mají (např. termočlánky s jednou
svorkou uzemněnou).
• DIFF (differential) – každý kanál má dvě samostatné svorky a měří napětí mezi nimi.
Napětí svorek proti zemi nesmí převýšit několik V. Vhodné pro připojení tam, kde zdroje
nemají společnou svorku, případně u symetrických zdrojů.
Ukázky připojení jsou na Obr. 40.
Za přepínačem následuje zesilovač se zesílením 0,5-500. Jeho dynamické vlastnosti musí být
velmi dobré, protože při přepínání sousedních kanálů dochází k rychlým změnám. Zesílení 500, kdy
je na vstupech karty napětí řádově mV, vede na snížení přesnosti a i ke zhoršení frekvenční
charakteristiky. Proto je vhodné malá napětí nejprve externě zesílit před přivedením na měřicí kartu.
Vzorkovač a A/D převodník má vlastnosti uvedené ve specifikaci karty. Je však jen jednou ze
součástí a tak vlastnosti karty jsou horší než samotného převodníku. Převodník může mít
automatickou kalibraci. Paměť karty slouží k zachycení vzorků před jejich předáním do operační
paměti PC. Může být typu FIFO, někdy dovoluje cyklickou organizaci. Velikost má být taková, aby
v něm byly uloženy vzorky v časovém intervalu asi 0,1s.
Řídicí obvody karty realizují řízení přepínače, A/D převodníku a paměti. Obvykle obsahují
krystalem řízený generátor a několik programovatelných časovačů. Je třeba upozornit, že většinou
nelze nastavit libovolnou vzorkovací frekvenci, protože ta musí být celým podílem frekvence
krystalového oscilátoru. Například chceme-li vzorkovat signál o frekvenci 50 Hz, na periodu
odebrat 128 vzorků, dostaneme vzorkovací frekvenci 6400 Hz. Pro referenční generátor o frekvenci
1 MHz bychom potřebovali dělič 106/6400= 156,25, což není celé číslo a nelze tedy realizovat.
Interval přepínání nemusí být jednoznačně vázán na frekvenci vzorkování převodníku.
Analogové výstupy u tzv. multifunkčních měřicích karet jsou spíše statické, pro nastavení
podmínek měření. Jejich použití pro generování AC signálů je omezeno, protože nemají větší
vyrovnávací paměť. K tomu jsou určeny karty jiné (karty analogových výstupů).
Výše popsaná karta je určena pro kontinuální vzorkování, kdy vzorkovací signál není vázán
na měřený signál (ani frekvenčně, ani fázově). Pro rychlé děje, kdy nelze řešit problém softwarově,
mohou být karty vybaveny synchronizačními obvody podobně, jako osciloskop, případně musíme
vzorkovací signál generovat externě (většina karet dovoluje).
Rozhraní směrem k PC je dnes většinou typu PCI, což dovoluje vzorkování do frekvence 20
MHz. V praxi se stále můžeme setkat s rozhraním ISA u karet do 200 kHz.
Celkový přehled vlastností je značně rozsáhlý a je uveden ve výčtu dále. Nezanedbatelné ale
je to, zda ze zvoleným sw může karta jednoduše spolupracovat. Obvykle s malými problémy jsou
karty dodané (nebo vyráběné) přímo výrobcem sw. Je třeba upozornit na to, že ke kartě je nutno
(kromě velmi jednoduchých na úrovni DOS) instalovat potřebný ovladač, který je třeba
nakonfigurovat. Zvláště u karet v provedeni PC-CARD se musí přesně dodržet doporučený
instalační postup.
Vlastnosti karet neuvažují vliv připojovacího kabelu, který při nevhodném provedení a
umístění může vlastnosti značně zhoršit. Určitý obrázek o úrovni karty dá i to, zda obsahuje
manuálně nastavované prvky (trimry) a propojky, nebo zda je veškeré nastavování řešeno pomocí
sw a nastavení ukládáno do paměti EEPROM na kartě.

- vlastnosti analogové části : - rozsahy, připojení (SE,DIF), přepínač kanálů, zesilovač, vzorkovač
70 FEKT Vysokého učení technického v Brně

- převodník A/D (přesnost, rychlost, typ)


- vyrovnávací paměť pro naměřená data
- přenos dat do paměti (DMA, INT, dotaz)
- řízení vzorkování a převodníku
- synchronizační obvody
- dostupné číslicové V/V a jejich typ
- čítače/časovače
- typ sběrnice v počítači (ISA,EISA,MC,...)
- technologie, napájení, rozměry, cena
- vazba na SW prostředky.
I měřicí systém, postavený na bázi GPIB (IMS-2, HP-IB, IEEE488, IEC 625) je vázán na
doplňkovou kartu v počítači (Obr. 36). Při rozhodování o typu je v podstatě nejdůležitější
rozhodnout, jakým SW bude řízena. K dalším vlastnostem patří:
- typ počítače/sběrnice
- rychlost
- kompatibilita dle IEEE 488.2
- technologie, rozměry, cena.
Uživatel takto postaveného systému se ve většině případů nemusí zajímat o nejnižší vrstvu a
protokol sběrnice, pokud využívá příslušný SW. I zde je nutno instalovat ovladač a provést
konfiguraci a to i u karet P&P. Připojované přístroje musí mít navolenu předepsanou adresu (někdy
si aplikační program zjišťuje adresy sám, pak postačí aby adresy byly rozdílné) a případně jazyk
nebo kompatibilitu.
Měřicí systémy VXI opět vyžadují potřebný řadič. Ovládací počítač však může být součástí
VXI (Embeded Controler), na něm lze přímo provozovat výše uváděný SW. Někdy je třeba řešit
řízení nepřímo (MXI, GP-IB, RS-323) pomocí běžného PC. Samotný systém VXI je poměrně
komplikovaný a nákladný a lze ho doporučit jen tam, kde se využije jeho velká rychlost a
stavebnicovost. Některé z popisovaných SW dovolují řídit systém VXI (produkty NI, VEE).
Komponenty VXI vyrábí řada firem.
Měřicí systém PXI je schopen samostatné práce bez připojení k externímu PC nebo i
s externím PC. Některé „měřicí“ periferie (přístroje) se připojují přes sériové rozhraní RS232. Zde
je v přístroji třeba nastavit přenosovou rychlost, paritu, počet bitů (7-8) a způsob potvrzování
(XON-XOFF, RTS-CTS atd.) . Musí být použit kabel s potřebným počtem vodičů (3,5,7,9).
Podrobnosti musí být uvedeny v dokumentaci k přístroji.

5.2 Příklad dostupných technických prostředků NI:

V oblasti technických prostředků se jedná o karty pro komunikaci se sběrnicí GP-IB a to dle
nejnovějších norem (IEEE 488.2, SCPI) a různé podpůrné prostředky (konvertory, expandery,
analyzátory), ale i pro systémy PXI, VXI a řadiče VXI. Pro jednodušší systémy je k dispozici řada
karet, které dovolují komunikaci přímo s reálným okolím (karty analogových i číslicových V/V) a
to opět pro různé řady počítačů. Pro tyto karty jsou vyráběny i pomocné podpůrné prostředky
(svorkovnice, kabely) i prostředky pro analogové předzpracování signálu (přepínače, zesilovače,
Použití počítačů v měřicí technice 71

vzorkovače). Pro komplikované aplikace je dodáván i pomocný systém SCXI, která obsahuje jak
mechanické díly, tak i řídicí prostředky pro toto předzpracování. Pro potřebu rychlého zpracování
dat jsou dodávány podpůrné karty se signálovým procesorem.
Dodávaná dokumentace poskytuje výklad k ovládání karet i způsob připojení k měřenému
objektu. Princip funkce je popisován jen na úrovni blokového schématu, schémata zapojení nejsou
dodávána. U karet pro řízení sběrnice GP-IB se předpokládá použití firemního software, tak že
ovládání na nižší úrovní popisováno není (není uváděn popis použití zákaznického obvodu NI).
Softwarová dokumentace je poměrně podrobná, i když někdy na úkor obecnějšího pohledu na
systém. Zde firma NI předpokládá účast na některém z firemních školení, kde je poskytnut výklad i
poměrně rozsáhlý textový materiál. Pro naši oblast je ovšem účast na těchto školeních nákladná.
Obecně lze tyto karty rozdělit do několika kategorií a to podle různých kriterií. Obvykle je
důležité členění dle parametrů karet na straně komunikace s okolím, i když někdy jsou ovlivněny i
stranou počítače (rychlost). Tyto karty dovolují vybudovat poměrně dobrý měřicí systém, i když je
třeba respektovat některá omezení. Maximální vzorkovací kmitočet je omezen na 200 kHz, pro
směrnici EISA na 1MHz, PCI na 20MHz (r.2002), rozsah vstupních signálů max. 10V, zesílení v
rozsahu 1 - 500, rozlišení 12 - 20 bitů. Při zpracování malých signálů je třeba uvážit, že rušení od
počítače do vstupních obvodů může být značné a že s rostoucím zesílením klesá povolený
vzorkovací kmitočet. Analogové V/V do těchto karet nejsou galvanicky oddělené jak od
ochranného vodiče sítě (počítače) i navzájem. Maximálně jsou poskytovány rozdílové
(diferenciální) vstupy, kde součtová složka nesmí překročit 11 V. Obdobně i případné číslicové V/V
nejsou na kartách galvanicky odděleny, mají společnou svorku spojenou s ochranným vodičem sítě.
Úrovně na těchto V/V jsou TTL. U dodávaných karet je třeba sledovat následující vlastnosti:
Analogové vstupy:

- Počet kanálů
- Typ vstupů
- single ended SE
- pseudodiferenciální
- diferenciální
- Typ A/D převodníku
- postupná aproximace
- paralelní (flash)
- integrační
- sigma-delta
- Rozlišení (počet bitů)
- Maximální vzorkovací frekvence
- Vstupní rozsah, zesílení
- Vazba (AC, DC)
- Maximální pracovní napětí
- Ochrana před přepětím
- Velikost napětí, která zničí vstupy
72 FEKT Vysokého učení technického v Brně

- Velikost vyrovnávací paměti


- Typ přenosu dat do PC
- (DMA,přerušení,programově řízený V/V)
- Typ DMA (single, on-demand, block-mode)
- Velikost konfigurační paměti

Přenosové vlastnosti:

- Relativní chyba (přesnost), udaná v LSB


- Nelinearita v % z rozsahu
- Integrální nelinearita (INL)
- Diferenciální nelinearita (DNL)
- Chybějící kódy (nesmí být)
- Chyba offsetu (DC Offset Error) y=m.(x+b1)+b2
- pre gain offset error
- post gain offset error
- Chyba zesílení (v % nebo ppm)
- Chyba zesílení pro ss složku (DC Gain Error)
- Rozsah nastavení zesílení

Vlastnosti zesilovačů:

- Vstupní impedance
- Vstupní proud (v nA)
- Vstupní proudový offset
- Potlačení souhlasného signálu (CMRR)
- Výstupní rozsah
- Výstupní impedance

Dynamické vlastnosti:

- Šířka pásma (pro -3dB)


- Mezní frekvence pro st. vazbu (pro -3dB)
- Čas pro dosažení plného rozkmitu na výstupu
- Skenovací interval
Použití počítačů v měřicí technice 73

- Systémové rušení (v LSBrms, Vrms)


- Koeficient harmonického zkreslení (dB, %)
- Fázová nelinearita
- Posuv fáze mezi kanály
- Intermodulační zkreslení
- Čas zotavení po přetížení
- Přeslech mezi kanály

Vlastnosti filtrů:

- Typ (účel filtru)


- Mezní frekvence ( -3dB)
- Programovací možnosti
- Maximální frekvence hodin pro filtry se spínanými kapcitory
- Zvlnění v propustném pásmu
- Zeslabení v nepropustném pásmu
- Strmost (dB/okt, dB/dek)
- Potlačení určitého kmitočtu (např. 50Hz) NMR
- Zpoždění

Stabilita:

- Doba náběhu (Recommanded Warm-Up Time)


- Teplotní koeficient offsetu (mV/°C)
- Teplotní koeficient zesílení (ppm/ °C)
- Parametry kalibračních obvodů
- dlouhodobá stabilita

Analogové výstupy:

- Počet kanálů
- Rozlišení (počet bitů)
74 FEKT Vysokého učení technického v Brně

- Oddělení kanálů (Common-Mode Isolation)


- Maximální rychlost převodu
- Typ D/A převodu
- násobící
- sigma-delta
- Velikost vyrovnávací paměti
- Typ přenosu dat do PC
- (DMA,přerušení,programově řízený V/V)
- Výstupní charakteristiky:
- Typ výstupu (U/I, násobící)
- Výstupní rozsah
- Výstupní impedance
- Výstupní vazba
- Výstupní proud
- Stav výstupu po zapnutí
- Ochrana výstupu
Spouštění (trigger):

- Zdroj (který kanál)


- Úroveň
- Hrana (náběžná/sestupná)
- Rozlišení (v počtu bitů)
- Hystereze
- Šířka pásma
- Externí vstupy
- Vazba (ss,st)
- Ochrana proti poškození

Časovací obvody (Timing I/O):

- Počet kanálů
- Logické úrovně (parametry UH ,UL, IH, IL)
- Kapacita čítače (počet bitů)
- Parametry hodinového generátoru
- Maximální vstupní frekvence
Použití počítačů v měřicí technice 75

- Minimální doba otevření hradla


- Způsob přenosu dat, čtení
- Číslicové V/V (Digital I/O):
- Počet kanálů
- Logické úrovně (parametry UH ,UL, IH, IL)
- Řízení přenosu (platnost dat)
- Rychlosti, zpoždění
Konkrétní vlastnosti relativně levné karty NI601x E jsou v následující tabulce:

Pro analogovou úpravu signálu před přivedením na měřicí kartu je k dispozici řada stavebnic,
například systém SCXI fy National Instruments (Obr. 41).

Obr. 41 – Systém SCXI pro úpravu analogových signálů pro měřicí karty a PXI

5.3 Operace s daty získaných z měřicích karet

S daty získanými měřicí kartou můžeme zacházet různými způsoby. Nejjednodušší je případ,
kdy zvolíme získání např. 1024 vzorků, po jejich obdržení je zpracujeme a zobrazíme výsledek. Po
té následuje získání dalších vzorků atd. Tento principielně jednoduchý způsob má nevýhodu při
sledování kontinuálně probíhajících dějů, protože data získáváme s přestávkami. U velmi pomalých
dějů lze zpracování a zobrazení provést i mezi vzorky. Rychlé kontinuální děje zpracováváme tzv.
metodou dvojitého bufferu. Ta dovoluje současně získávat data i je zpracovávat (pokud dostačuje
výkon počítače). Pochopitelně se výpočet zpomalí. Různé metody využití vyrovnávací paměti jsou
na obr. Poznamenejme, že v prostředí LabVIEW lze pracovat i s vícenásobným bufferem
(segmentací).
76 FEKT Vysokého učení technického v Brně

Vzorky

Výpočet

Navzorkovat, potom výpočet,

Výpočet

Průběžný výpočet s využitím času mezi vzorky

Vzorky

Výpočet

Obr. 42 – Zpracování dat z měřicí karty


Použití počítačů v měřicí technice 77

Operace s jednoduchým bufferem

Plnění
Zpracování

Operace s kruhovým bufferem

Buffer pro zpracování dat

Operace s dvojitým bufferem

Obr. 43 – Způsoby využití vyrovnávací paměti


78 FEKT Vysokého učení technického v Brně

6 Přístrojové ovladače
Všechny vývojové sw pro tvorbu měřicích systémů používají princip přístrojových ovladačů
(Instrument Driver - dále PO). Používají se pro vazbu aplikačního programu na konkrétní složitější
přístroj jako je multimetr, osciloskop atd. Tím se zjednoduší programování, autor programu nemusí
detailně studovat dokumentaci k přístroji i komunikační rozhraní. Nápovědní systém spolu
s možností ověřit či vyzkoušet si jednotlivé funkce přímo s přístrojem urychlují seznámení
s přístrojem. Usnadňují i řešení situace, kdy je nutno změnit komunikační rozhraní, vyměnit přístroj
za jiný téhož charakteru (např. od jiné firmy), přechodu na jinou platformu nebo i aktualizaci sw.
Přístrojový ovladač ale na druhou stranu není nezbytný – jde u jistý mezičlánek, který zvětšuje
rozsah sw, může ho i zpomalovat. Pokud není k dispozici, přináší jeho vývoj jisté zdržení. Pokud
ale předpokládáme použití přístroje i v budoucnu, stojí za to přístrojový ovladač vytvořit.
Přístrojové ovladače byly určitým způsobem sjednoceny, tak že je možné používat i pro různé
vývojové systémy. Bývají dostupné na INTERNETU u výrobců sw, výrobců měřicích přístrojů
nebo na různých výměnných stránkách uživatelů. PO se většinou šíří bezplatně. Někdy se setkáme
s PO otevřeným, je k dispozici zdrojový text a můžeme ho měnit nebo přizpůsobovat obdobným
typům přístrojů. Uzavřené přístrojové ovladače zase do jisté míry poskytují záruku, že jsou
skutečně funkční.
Přístrojový ovladač může ovšem i řešit problém, který nemá s fyzickým měřicím přístrojem
mnoho společného. Existuje řada doplňků, které rozšiřují systém o další funkce (toolbox), převádí
fyzikální jednotky atd. Různé nástavby jsou ve skutečnosti přístrojové ovladače.
Přístrojový ovladač lze vytvořit různými způsoby:
• s vazbou na knihovnu rozhraní (GPIB, RS232). Změna rozhraní i u téhož přístroje
vyžaduje jiný PO. Toto je nepříjemné u přístrojů, které mají více typů rozhraní.
• s vazbou na VISA knihovnu. Knihovna VISA (Virtual Instrument Standard Architecture)
je vlastně univerzální rozhraní, do jisté míry nezávislé i na platformě počítače a
překladači. Toto ovšem neřeší problém použití jiného typu přístroje i stejných vlastností
(např. od jiné firmy). Nelze také provádět zásahy v již hotové a sestavené aplikaci.
• s vazbou na IVI knihovnu. Ovladače s využitím prostředků IVI (Interchangeable Virtual
Instrumentation) jsou dokonce měnitelné i po sestavení aplikace. IVI instaluje vlastního
správce – IVI Engine, prostřednictvím kterého se přístroje ovládají. Došlo k oddělení
přístrojového ovladače od řídicího programu. Tyto ovladače mají řadu i dalších výhod,
jsou však poměrně rozsáhlé. Je k dispozici prostředek pro automatizaci tvorby IVI
ovladačů.

6.1 Adresace v přístrojových ovladačích

Rozhraní (interface), používané u jednotlivých přístrojů vyžadují adresaci. U rozhraní RS232


jde pouze o určení fyzického rozhraní COM (1-32), skutečné adresovací možnosti má GPIB, VXI
atd. Adresa do ovladače může vstupovat jako číslo, případně textový řetězec. Knihovna VISA
používá následující textový řetězec, který specifikuje jak adresu, tak i typ rozhraní:
• GPIB: GPIB[board]::primární adresa[::sekundární adresa][::INSTR]
• VXI: VXI[board]::VXI logická adresa[::INSTR]
• RS232: ASRL<port>::INSTR
Použití počítačů v měřicí technice 79

Parametry uvedené kurzívou souvisí s konfigurací rozhraní, parametry a texty v [] jsou nepovinné.
IVI používá adresování jako VISA. Další parametry rozhraní (parita, přenosová rychlost atd.)
určuje funkce inicializace s podmínkami.

6.2 Povinné funkce v přístrojovém ovladači

Přístrojový ovladač je vlastně knihovna, někdy statická, často dynamická DLL. Pro zachování
určité jednotnosti se doporučuje její struktura. Porušení struktury sice nemusí znamenat
nefunkčnost, ale takové ovladač nemůže být certifikován (např. National Instruments ovladače
certifikuje pro své programové systémy). Ovladač obsahuje funkce povinné a volitelné, které závisí
na konkrétním druhu přístroje, ale i na autorovi. Povinné funkce jsou:
• Inicializace a inicializace s podmínkami
• Uzavření (Close)
• Nulování (Reset)
• Auto test (Self-test)
• Dotaz na číslo revize (Revision Query)
• Dotaz na chybu (Error Query)
• Chybová zpráva (Error Message)
• Vezmi/Zruš Informaci o chybě (Get/Clear Error Info)
• Vezmi další záznam o platné hodnotě
• Vezmi/Nastav atribut
• Nastav neplatné všechny atributy
• Zamkni/odemkni sezení (Lock/Unlock Session)
• Piš/čti data z/do přístroje

6.3 Modely přístrojového ovladače

Vzájemnou vazbu modulů ovladače uvnitř i navenek charakterizuje model ovladače. Externí
model ovladače vyjadřuje vazby navenek (Obr. 44). V tomto modelu existuje aplikační rozhraní
API, kterým je navázán ovladač na uživatelský (aplikační) program, dále obsahuje interaktivní
rozhraní pro spolupráci s uživatelem v konverzačním režimu (uživatel může přes PO přímo přístroj
řídit a číst z něj data). Směrem k přístroji (tedy přes fyzické rozhraní) je PO navázán buď přes
knihovnu rozhraní (GPIB Library, RS232 Library atd.) nebo přes knihovnu VISA.
80 FEKT Vysokého učení technického v Brně

Externí model přístrojového ovladače

Uživatelský (aplikační) program

Interaktivní Programové
rozhraní rozhraní (API)

Funkční tělo přístrojového IVI


ovladače eng

Rozhraní I/O VISA I/O


řešené interně rozhraní
Obr. 44 – Externí model přístrojového ovladače

V případě ovladače IVI funkční tělo spolupracuje s IVI Engine. Vazby vyjadřuje Obr. 44.
Interní model popisuje funkční tělo ovladače. Konkrétní řešení závisí na přístroji i použité
technologii (VISA,IVI). Model je na Obr. 45.
Použití počítačů v měřicí technice 81

Interní model přístrojového ovladače

Funkční tělo

Aplikační funkce

Uzavření (Close)
Inicializace

Akce/Stav

Data

Utility
Konfigurace

Atributy

Vnitřní Callback funkce

Pro IVI ovladače

IVI Eng.

Obr. 45 – Interní model přístrojového ovladače

6.4 IVI ovladače

IVI ovladače jsou nejnovější „technologií“ ovladačů. Hlavním cílem bylo zajistit pružnost
navrhovaného sw vzhledem k technickým prostředkům (přístroji). Jde totiž o to, že konkrétní
vytvořená aplikace vyžaduje konkrétní typ přístroje (např. multimetru). Pokud např. dojde k jeho
poruše, musíme mít k dispozici náhradní téhož typu. Jiný typ multimetru týchž vlastností (přesnost,
funkce, rozsahy…) není možno použít bez zásahu do sw, nového překladu atd. I když existuje snaha
sjednotit ovládání přístrojů zavedením standardního jazyka SCPI, je tolik variant, že samotné SCPI
problém neřeší. Další smysl zavedení IVI bylo shrnout určité části ovladačů do jediné výkonné časti
a tím zmenšit opakování určitých modulů v každém ovladači samostatně. IVI je postaven na
objektové struktuře, kterou vyjadřuje Obr. 46. IVI Engine je samostatně instalovaný modul OS,
který spolupracuje se všemi aktivními přístrojovými ovladači. Tím má přehled o využití fyzické
sběrnice a může . organizovat práci všech přístrojů, i když jsou využívány různými aplikacemi.
Přístrojový ovladač pak samozřejmě bez IVI Engine není schopen samostatné práce. Obsahuje
funkce pro nastavování atributů (rozsahy, funkce přístroje, parametry přenosu, činnost IVI Engine),
82 FEKT Vysokého učení technického v Brně

rozsahové tabulky pro atributy (např. povolené měřicí rozsahy), funkce pro ovládání přístroje
formou callback funkcí. Ty zajišťují zaslání a příjem dat do/z přístroje a callback funkce pro zjištění
stavu přístroje. IVI Engine obsahuje paměť stavu přístrojů, tak že může eliminovat opakované
přenosy dat např. pro nastavení měřicího rozsahu, pokud tento rozsah již v přístroji je nastaven. IVI
dovoluje jednoduše nastavit režim simulace přístroje. Při vývoji sw by bylo příliš nákladné, aby
programátor měl k dispozici po celou dobu vývoje potřebné měřicí přístroje. V režimu simulace
přístrojový ovladač je sice funkční, ale fyzický přístroj nevyžaduje. Měřená data jsou generována
náhodně, výstupní data nejsou předávána. Bez použití IVI musíme mít pro simulaci prakticky
zvláštní („demo“) PO. Spolupráce ovladače s IVI Engine je na obr. 11. IVI používá čtyři třídy
(class) přístrojů:
! Multimetr
! Osciloskop
! Generátor
! Napájecí zdroj
Atributy mohou být členěny následujícím způsobem:
! společné pro všechny IVI ovladače (inherent)
! společné pro třídu (class)
! společné pro přístroj (instrument-specific)
! privátní/skryté (hidden)
! veřejné (public)
Atributy mají příznaky, k nim patří: jen ke čtení, nedostupné pro čtení uživatelem,
neexistující, neukládané do cache...

Výhody IVI ovladačů lze shrnout takto:


! Úschova stavu přístroje (State-caching)
! Konfigurovatelné kontroly rozsahu (range-checking)
! Konfigurovatelná kontrola stavu (status query)
! Simulace
Použití počítačů v měřicí technice 83

Spolupráce ovladače s IVI

Funkce vysoké úrovně Nastav atribut


konfigurace, měření atd.
Kontrola rozsahu
Porovnat s Cache
Rozsahové tabulky
Simulace?

Callbacks pro atributy Zápis do přístroje


(čtení, zápis) Ulož do Cache
Zjisti stav přístroje
Callbacks sezení
(zjištění stavu atd.)
IVI Eng.
Přístrojový ovladač
Obr. 46 – Splupráce IVI ovladače s IVI Engine

6.5 Postup při tvorbě přístrojového ovladače

Vytvoření přístrojového ovladače je poměrně odpovědná práce, protože ovladač bude obvykle
využíván opakovaně. Optimální je, pokud PO vytváří firma, která je zároveň i výrobcem
příslušného přístroje. To bohužel z různých (i konkurenčních) důvodů není možné, tak že i tvůrce
aplikace musí k vytvoření ovladače přistoupit. Nevyplácí se ovladač příliš omezit, tím jenom
zvýšíme pravděpodobnost dodatečných zásahů. Tvůrce ovladače musí přístroj i metodu dobře znát,
musí znát ovládací posloupnosti přístroje, protokoly i formáty dat. Některé části tvorby PO mohou
být automatizovány, např. i tím, že přístroj je fyzicky připojen a průvodce generátoru ovladače si
potřebné zjistí sám (IVI). Velkou pozornost je třeba věnovat ošetření chybových stavů, kontrole
přípustných rozsahů parametrů a hlášení chyb volajícímu programu.
Vlastní postup lze popsat následujícími body:
1. Určit jméno ovladače
2. Definovat atributy (automatizováno průvodcem)
3. Definovat funkce a třídy funkcí (automatizováno průvodcem)
4. Vytvořit strom funkcí, vytvořit nápovědu na nejvyšší úrovni (automatizováno průvodcem)
5.Pro každou funkci
a) definovat parametry, typy, meze, chybové kódy (automatizováno průvodcem)
b) vytvořit funkční panel, nápovědu pro panel a „controls“ (tedy vytvořit interaktivní
rozhraní – je částečně automatizováno průvodcem)
c) vytvořit tělo funkce (program)
d) otestovat zdrojový kód
6. Vytvořit include soubor .h (automatizováno průvodcem)
84 FEKT Vysokého učení technického v Brně

7. Prověřit funkce pomocí funkčních panelů


8. Vytvořit dokumentaci
Pokud IVI nepoužijeme, je součástí vývojových systémů „kostra“ univerzálního ovladače,
kterou podle pokynů editujeme. Kostra je k dispozici pro přístroje s rozhraním RS232, GPIB a
VXI.. Dokumentace v textové podobě je automaticky vytvořena z interaktivního rozhraní.
Je nutno poznamenat, že vytvoření funkčního PO tak, aby splňoval i formální požadavky
(např. grafickou podobu zdrojového textu, odstavce, komentáře, interaktivní rozhraní včetně
nápověd atd.) je poměrně zdlouhavá práce a musí být prováděna velmi pečlivě. Testování PO by
mělo provádět více nezávislých osob. Podrobnosti je třeba hledat v dokumentaci a aplikačních
zprávách výrobce systému.
Přístrojový ovladač je uložen v několika souborech. Pro systémy firmy National Instruments
to jsou následující:
LW/DOS: driver.lbw, driver.lwi, driver.fp, driver.doc. LW/DOS je schopen ze souborů
s příponou llb a lwi získat úplný zdrojový text v jazyku QuckBasic nebo C. Soubor s příponou fp
popisuje interaktivní rozhraní, soubor .doc je textová forma dokumentace (jde o prostý text, nikoli
soubor pro WORD). Mohou být ovšem k dispozici i přímo zdrojové texty (driver.c, driver.h),
případně přeložené ( driver.obj, driver.lib), které ovšem nejdou editovat.
LW/CVI: driver.c, driver.h, driver.obj, driver.dll, driver.sub, driver.txt, driver.hlp.
LabVIEW: driver.llb, driver.dll

Obr. 47 – Interaktivní rozhraní přístrojového ovladače (vlevo LV, vpravo CVI)

7 Distribuované aplikace
Měřicí systém může být v jednoduchém případě realizován lokálně, tj. na jednom místě je jak
měřený objekt, tak PC na kterém probíhá vyhodnocení i prezentace. Můžeme však požadovat, aby
všechny části byly prostorově odděleny a propojeny datovou sítí. Tento případ je řešitelný a
prakticky všechny moderní sw prostředky toto řešení dovolují. V případě např. aplikace „měřicí“
karty máme tyto možnosti:
• PC s měřicí kartou umístit u měřeného objektu, ostatní (zapracování, prezentace) na
vzdáleném PC
Použití počítačů v měřicí technice 85

• PC s měřicí kartou a část zpracování umístíme u měřeného objektu, zbytek na vzdáleném


PC
• PC s měřicí kartou, zpracování a prezentace u měřeného objektu, na dalším vzdáleném jen
prezentace.
Prvý případ řeší ovladače měřicí karty, které dovolují vzdálený přístup, aniž se musí
programátor o tuto skutečnost starat. Nevýhodou je velký objem dat přenášený mezi PC s kartou a
zbytkem systému.
Druhý případ vyžaduje použití specifických nástrojů. Zdánlivě nejjednodušší je použít
knihovnu TCP (součást LW, LabVIEW), ovšem pohybujeme se na nízké vrstvě protokolu, musíme
tedy řešit následující problémy:
• zvolit TCP/IP bránu (port) a doufat, že je volná
• Definovat protokol (co přijmout, kdy vyslat)
• Konfigurovat Server (PC s kartou) pro sledování brány a vybudovat spojení, když o něj Klient
požádá
• Konfigurovat Server pro vyslání dat do všech spojení
• Zpracovat chyby
• Konfigurovat Klientskou aplikaci pro propojení na bránu,
• přijmout data a zobrazit je
Jinou možností je použít nástroje NI zvaného DataSocket (DS). Jedná se o serverovou

Obr. 48 – Využití DataSocket-u v LV


86 FEKT Vysokého učení technického v Brně

aplikaci, s níž pomocí specifického firemního protokolu (DSTP) komunikují klienti. Ti


mohou data ukládat a uložená vybírat. DataSocket server může běžet i na samostatném PC.
V našem případě by do serveru DS ukládalo data PC s kartou a částečným zpracováním (klient 1),
druhá etapa zpracování a prezentace by probíhala na jiném PC, klientovi 2. Klientů pro výběr dat
může být i více. Lze aplikovat zabezpečení, k datům přiřazovat atributy, sdělovat klientovi 2 přísun
nových dat. DS lze využít jak pro Measurement Studio, tak i LabVIEW. Příklad diagramu pro zápis
dat na server DS je následující:
Program pro CVI je poněkud rozsáhlejší (uvedeny jen Callback funkce, volané uživatelem
nebo funkcemi DS)
int CVICALLBACK spojit (int panel, int control, int event, void *callbackData, int eventData1, int eventData2)
{ /* navázání spojení s DS */
switch (event)
{
case EVENT_COMMIT:
if(dsH)DS_CloseConnection (dsH);
GetCtrlVal (pH, PANEL_URL, url); /* zadání URL */
DS_OpenConnection (url, DSConst_WriteAutoUpdate, DSeventfunction, NULL, &dsH);
break;
}
return 0;
}

int CVICALLBACK zapsat (int panel, int control, int event, void *callbackData, int eventData1, int eventData2)
{
char *ttime;
static double data[5]={1,2,3,4,5};
switch (event)
{
case EVENT_COMMIT: /* zápis dat do serveru DS */
DS_SetDataValue (dsH, CAVT_DOUBLE|CAVT_ARRAY, data, 5, 0);
ttime = TimeStr ();
/* atribut dat – čas */
DS_SetAttrValue (dsH, "cas", CAVT_CSTRING, ttime,StringLength (ttime) , 0);
data[4]++;
break;
}
return 0;
}

int CVICALLBACK konec (int panel, int control, int event, void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
DS_CloseConnection (dsH); /* konec spojení na DS server */
QuitUserInterface (0);
break;
}
return 0;
}

void CVICALLBACK DSeventfunction (DSHandle dsHandle, int event, void *callbackData)


{ /* CALLBACK generované DS */
HRESULT err;
switch(event)
{
case DS_EVENT_DATAUPDATED:
Použití počítačů v měřicí technice 87

/* informace o obnovení dat na DS */


MessagePopup ("DS", "Data Updated");
case DS_EVENT_STATUSUPDATED:
DS_GetStatus (dsH, &stasus);
SetCtrlVal (pH, PANEL_STAV, stasus);/* změněn stav DS */
DS_GetLastMessage (dsH, terr, 255);
SetCtrlVal (pH, PANEL_STAVT, terr);
DS_GetLastError (dsH, &err);
CA_GetAutomationErrorString (err, terr, 256);
SetCtrlVal (pH, PANEL_ERR, terr);
Beep();
break;
}}
Samotný DS je program, který po spuštění může zobrazovat počet připojení a objem
přenesených dat. Zobrazuje toto okénko:

Je možno stanovit přístupová práva a označení dat. Pokud povolíme, může být i více zdrojů
dat.
K identifikaci dat používá DS URL (Universal Resource Locator), který je možno použít i pro
přístup k lokálním souborům různých formátů. Příklad:
dstp://pccejka.dame.fee.vutbr.cz/mydata.dat.
Lze přistupovat i k jiným zdrojům dat, např. ftp://ftp.SomeServer.com/mydata.dat. ,
k lokálnímu souboru file://myfile.txt. DataSocket lze využít i pro vytvoření studentského
experimentu s následující strukturou:

Internet

Sběr dat DS Server Student1 Student2

Pokud ale potřebujeme ovládat aplikaci vzdáleně, poskytuje LabVIEW ještě jiné možnosti, které
vůbec nevyžadují programování. Řídicí objekty na panelu aplikace (A1) můžeme přímo v menu
propojit na DS server. Pak vytvoříme druhou aplikaci, která má jen panel (uživatelské rozhraní).
Pokud i v druhé aplikaci (A2) nastavíme propojení na týž DS server, budou oba panely po spuštění
propojeny a nastavení z panelu A2 budou ovládat objekty na A1 a naopak. Při vhodném
nakonfigurování můžeme aplikaci A1 ovládat a sledovat i z více míst.
LabVIEW verze 6.1 poskytuje ještě jednodušší možnost. Jde o funkci tzv. Remote Panel,
která dovoluje přistupovat k aplikaci LabVIEW prostřednictvím internetového prohlížeče (Internet
Explorer, Netscape). LabVIEW obsahuje vestavěný WWW server, který dovoluje vzdálený přístup.
LV dovoluje poloautomaticky vygenerovat WWW stránku, která je na tento server navázána a
88 FEKT Vysokého učení technického v Brně

obsahuje povely pro navázání spojení s aplikací. Vlastní prohlížeč si instaluje potřebný Plug-in (ze
serveru National Instruments, velikost až 20 MB). Uživatel nejprve uvidí statický obrázek
vzdáleného rozhraní aplikace. Pravým tlačítkem myši požádá o připojení, které mu je potvrzeno.
Potom již aplikaci ovládá zcela stejně, jako na lokálním stroji. Podobným způsobem se může i
odhlásit.
Aplikace využívající Remote Panel může omezit přístup jen z některých IP a musí respektovat
určitá pravidla (nelze např. přistupovat k lokálním souborům vzdáleně, jiný systém hlášení chyb,
aplikace musí být vždy v paměti, měla by minimalizovat objem přenášených dat – grafy jsou
náročné). Počet současně vzdáleně přistupujících uživatelů k LV je omezen dle počtu zakoupených
a zaregistrovaných licencí. To se týká i přímo spustitelných aplikací vytvořených v LV (LV6.1
k tomu používá Licence Manager).
Vestavěného WWW serveru LabVIEW lze využít k sledování chodu aplikace. To lze provést
prohlížečem bez zvláštního Plug-In, jde o přenos obrázků panelu.
Další možnosti využití Internetu pro LV i LW poskytuje Internet Toolkit jako zvláštní
doplněk. K ovládání lze použít CGI Scriptu a Cookies, odesílat e-maily atd. Bohužel však chybí
aktualizace tohoto nástroje (r.2002).
Pro šíření hotových aplikací a jejich prohlížení slouží další prostředek – LVPlayer. Po stažení
souboru knihovny LLB pro LabVIEW ji může prohlížet a spouštět (je to podobné jako „stahování“
např. videoklipů). LVPlayer má omezené některé funkce – nelze editovat, je blokován HW přístup,
DS server, TCP a UDP, volání DLL a CIN, ActiveX a on-line help. Přenášený soubor LLB musí
být opatřen elektronickým podpisem (na to existuje nástroj do LV), aby ho bylo možno prohlížet a
spouštět pod LVPlayerem. LVPlayer je k volnému použití (free).
Jiný způsob vzdáleného přístupu spočívá ve využití objektů ActiveX (Component Works –
Measurement Studio) a jazyka Visual C (Visual Basic). S objekty ActiveX pak přímo pracuje
prohlížeč (Internet Explorer) na straně klienta.
Některé třetí firmy vytvořily vlastní nástroje pro zpřístupnění aplikací LV pomocí Internetu.
Na bázi Java appletů vznikl ApplerVIEW jako placený nástroj.
Firemní prostředky National Instruments poskytují možnost řešení aplikací typu Klient-
Server. Je na uživateli, aby posoudil nasazení takového řešení pro daný problém, případně se
rozhodl pro řešení „vše v jednom“ – jediný spustitelný soubor. Řešení pomocí knihovny TCP nebo
serveru DataSocket-u má výhodu v mnohem menším objemu dat, přenášených sítí, na druhé straně
uživatel musí řešit klientskou aplikaci. Prostředí LabVIEW 6.1 dovoluje editovat a vytvářet aplikaci
i na vzdáleném počítači a k Remote Panelu se lze připojit i přímo, bez internetového prohlížeče.

=========================================================
Použití počítačů v měřicí technice 89

7.1 Výsledky testů

7.1.1 Kapitola 1
Výsledky vstupního testu:
1) S postupnou aproximací, paralelní (Flash), integrační, integrační s dvojitou integrací, sigma-
delta…
2) Synchronous Dynamic Random Acces Memory
3) Nejmenší alokační jednotka dat, ke které může přistupovat operační systém
4) NTFS
5) Uvst=3,74 V.
90 FEKT Vysokého učení technického v Brně

Seznam použité literatury


[1] Firemní literatura firem Advantech, Burr-Brown, Agilent Technologies, National
Instruments
[2] Johnson G W.: LabVIEW graphical programming. McGraw-Hill books 1994. ISBN 0-07-032719-X

You might also like