2007/15 – 7.5.2007
AMEX - programovací prostředek pro ovládání měřidel z listu MS Excel.
Ing. Miroslav Talpa e-mail:
[email protected] Katedra elektrotechniky. Fakulta vojenských technologií, Univerzita obrany v Brně, Kounicova 65, 61200 Brno. Tento článek popisuje programovací prostředek AMEX, který umožňuje uživateli v krátkém čase a s minimem programátorské práce sestavit aplikaci pro ovládání měřidel přímo z listu MS Excelu. Uvedený, prakticky ověřený a používaný programovací prostředek, lze aplikovat při tvorbě programového vybavení automatizovaných měřicích systémů operativního charakteru založených na sběrnicích GPIB, RS232-C, USB a Ethernet nebo využívajících měřicí karty či jiné modulární prostředky. Popisovaný prostředek používá pro tento účel experimentálně vyvinutý jazyk „T“. Našel své místo zejména ve výuce, v oblasti metrologie a při řešení vědeckých úkolů . AMEX tvoří množina doplňků MS Excelu, kterou lze uživatelsky rozšiřovat pomocí vestavěného jazyka VBA s užitím externích knihoven DLL. Článek dále popisuje experimentální doplnění jazyka SCPI o symbolické datové parametry usnadňující provázání měřidel s programovacím prostředkem bez použití vyšších programovacích jazyků.V poslední části je ukázána metrologická aplikace prostředku AMEX. Klíčová slova: Automatizované měřicí systémy, MS Excel, AMEX , jazyk T, SCPI. 1. Koncepce programovacího prostředku. Nosnou myšlenkou řešení je nápad, doplnit tabulky vstupních a výstupních hodnot v MS Excelu značkami a popisy tak, aby představovaly algoritmus měření – program. Interpret značek pak programuje jednotlivá měřidla a naměřené hodnoty ukládá do tabulky. Zapsané značky jsou nedílnou součástí tabulky – kalibračního listu. Jazyk zápisu byl nazván pracovně T a programovací prostředek využívající tento jazyk Amex. Interpret jazyka T byl sestaven v jazyce VBA, který je součástí MS Excelu. 2. Základní principy jazyka „T“. Programovací jazyk T spojuje co nejtěsněji zápis dat se zápisem vlastního programu. U jazyka T záleží na fyzickém rozmístění příkazů a řídicích značek po ploše. Data jsou uspořádána do tabulky doplněné o příkazy a řídicí značky programu. Interpreta jazyka můžeme přirovnat k poutníkovi, který prochází dle určitých pravidel buňky tabulky a řídí se instrukcemi umístěnými v určité vzdálenosti od jeho polohy. Příkazy určují jak budou zpracována data obsažená v buňce na které se nachází. Řídicí značky určují zda budou vůbec zpracována a kterou buňku interpret aktivuje po jejich zpracování. Interpretace tabulky začíná na startovní buňce. Obecně jde tabulku interpretovat více způsoby. Cesta poutníka může také záviset na vlastních datech. Základní experimenty s jazykem T byly prováděny v prostředí tabulkového procesoru MS Excel. Vznikající programovací prostředek byl pracovně nazván AMEX, což je zkratka slov „Automatizovaná Měření s ms EXcel“.Výsledky experimentů dávají možnost zobecnění podoby jazyka T a jeho odtržení od konkrétního problému automatizovaných měření. Přesto bude další popis pracovat s příklady týkajícími se automatizovaných měření. 2.1 Základní struktura programu 15-1
2007/15 – 7.5.2007 Vlastní zápis programu a dat se provádí do tabulky. Pro příklad si zvolme jednoduché zadání. Na výstupu zdroje napětí má být postupně nastaveno napětí 1, 1.5 a 3V. Každé nastavené napětí má být změřeno voltmetrem a hodnota doplněna do tabulky. Na obr.2.1 je sestavená tabulka pro interpretaci typu Tabxy dle pravidel jazyka T . Stav je před spuštěním interpretace. Požadované hodnoty napětí jsou uvedeny ve sloupci C, konkrétně v buňkách C5 až C7. Naměřené hodnoty budou postupně ukládány do sloupce D, konkrétně do buněk D5 až D7. Tabulka je doplněna řídicími značkami, které tvoří řádek C4 až E 4 a sloupec B5 až B4. Značky „M“ dávají interpretovi informaci, že daný sloupec obsahuje proveditelný příkaz a data na daném řádku jsou uvolněná pro zpracování. Značky „*“ jsou tzv. ukončovací znaky řádku a sloupce řídicích značek. Interpret podle nich pozná konec řádku (E40) a konec tabulky (B8). Nad řídicími značkami sloupců jsou řídicí záhlaví sloupců dané tabulky, obsahují příkaz jazyka T a pevný parametr. Konkrétně sloupec C obsahuje hypotetický příkaz „nastav“ s parametrem „zdroj“.Sloupec D příkaz „odečti“ s parametrem „voltmetr“. Poloha startovní buňky pro interpretaci typu Tabxy je určena průsečíkem řádku a sloupce řídicích značek a leží o jeden sloupec vpravo a jeden řádek dolů. Konkrétně buňka C5. Po startu interpretace typu Tabxy hledá interpret po řádcích tabulky , ve směru osy x, první buňku na průsečíku řídicích značek „M“ řádku a sloupce. Jde o buňku C5. Detekuje řídicí záhlaví a provádí příkaz nastavení napětí na zdroji. Po provedení příkazu se přesouvá na vedlejší buňku. A 1 2 3 4 5 6 7 8 9
B
M M M *
C
D
E
nastav odečti zdroj voltmetr M M 1 1.5 3
F
G
H
I
*
Obr.2.1. Základní struktura výchozí tabulky typu Tabxy. Stav po druhém kroku interpretace je uveden na obr.2.2. Interpret detekoval řídicí záhlaví a odečetl hodnotu z voltmetru, kterou zapsal do buňky D5. A B C D E F G H I 1 2 nastav odečti 3 zdroj voltmetr 4 M M * 5 M 1 1.05 6 M 1.5 7 M 3 8 * 9 Obr. 2.2. Postupně vyplňovaná tabulka typu Tabxy. V dalším kroku interpret aktivuje buňku E5 a zjistí podle řídicí značky „*“ v buňce E4 konec řádku, proto se posune na buňku C6, a začne zpracovávat další řádek tabulky. Tabulku
15-2
2007/15 – 7.5.2007 interpretuje tak dlouho až narazí na značku „*“ v buňce B8, která interpretaci zastaví.Interpretace typu Tabxy je nejpoužívanější. Jiné typy budou informativně popsány později. Stejně tak množina příkazů bude blíže konkretizována při popisu implementace jazyka T do prostředí MS Excel. 2.2 Rozšířená struktura programu Za rozšířenou strukturu programu považujeme tu, kdy řídicí záhlaví sloupce nebo řádku obsahuje příkaz, který interpreta odvolá, přesune, na interpretaci jiné, další tabulky. Tuto tabulku můžeme nazvat subtabulkou tabulky výchozí. Jde o analogii volání tzv. podprogramu v textovém jazyce. Konkrétní příklad tohoto mechanismu je ukázán na obr.2.3. A 1 2 3 4 5 6 7 8 9
B
M M M *
C
D
E
nastav tabulka zdroj tabxyH5;H7 M M 1 1.03 2 3
F
G
H
M M *
odečti voltmetr M 1.04 1.02 1.03
*
I
*
Obr. 2.3. Tabulka Tabxy se subtabulkou typu Tabxy. Měřené napětí je vyhodnoceno jako střední hodnota ze dvou odměrů voltmetru. Hypotetický příkaz „tabulka“ obsahuje složený parametr, který určuje typ interpretace subtabulky (tabxy), startovní buňku subtabulky (H5) a buňku ve které se nachází výsledná hodnota(H7).Operace výpočtu střední hodnoty(H7) může být provedena buď příkazem jazyka T nebo použitím vzorce konkrétního tabulkového procesoru. Zde je pro přehlednost prezentována druhá možnost. 2.3 Základní typy interpretace programu Mezi základní typ interpretace patří typ Tabxy. Podoba tabulky odpovídající této interpretaci je uvedena na obr. 2.4. A 1 2 3 4 5 6 7 8 9
B
M M M *
C
D
E
nastav odečti zdroj voltmetr M M 1 2 3
F
G
H
I
*
Obr. 2.4. Tabulka typu Tabxy Jde o tzv. interpretaci po řádcích. Interpret prochází tabulku ve směru osy x kartézského systému, obdobně jak když čteme text. Pokud by interpret postupoval ve směru y, tedy ve
15-3
2007/15 – 7.5.2007 směru sloupců, šlo by o interpretaci typu Tabyx. Příklad takovéto tabulky je uveden na obr.2.5. První příkaz „nastav“ se vztahuje k buńce E4. Po jeho vykonání interpret aktivuje buňku E1, registruje řídicí značku „*“ konce sloupce a přesouvá se o sloupec vedle na políčko F4 a posléze na F5. A 1 2 3 4 5 6 7 8 9
B
C
nastav zdroj odečti voltmetr
D
M M *
E
F
G
H
M 1
M 2
M 3
*
I
Obr. 2.5. Tabulka typu Tabyx Nejjednodušší interpretace je typu Tabx a Taby. Jsou uvedeny na obr.2.6. Startovní buňka pro typ Tabx je A5. Pro typ Taby H5. Tyto typy interpretace se dají s výhodou použít i v tabulkách pro interpretaci typu Tabxy a Tabyx. Interpret po provedení příkazu neaktivuje žádnou další buňku. Zápis programu nevyžaduje žádné ukončovací značky „*”. A 1 2 3 4 5 6 7 8 9
B
C nastav zdroj M 1
D
E
F
G
H
nastav
zdroj
M
1
I
Obr. 2.6. Tabulka typu Tabx (vlevo) a Taby (vpravo). Na obr.2.7. je uveden složitější typ zápisu pro interpretaci typu Tabxyz. Příklad reprezentuje toto zadání. Měřené napětí je funkcí dvou napětí, nastavovaných na zdrojích 1 a 2. Startovní buňka je pro tento typ E6. Na zdroji 2 je nastaveno napětí 4.9V, pak interpret aktivuje buňku F5 a nastaví napětí 1V na zdroji 1. Posléze aktivuje buňku F6 a zapíše do ní hodnotu odečtenou z voltmetru, pak se přesune na buňku G5, nastaví napětí 2V na zdroji 1 a aktivuje buňku G6, do které uloží další hodnotu napětí. Interpretace probíhá ve směru x.
15-4
2007/15 – 7.5.2007 A 1 2 3 4 5 6 7 8 9
B
nastav nastav nastav
C
zdroj2 zdroj2 zdroj2
D
M M M *
E
F
odečti nastav voltmetr zdroj1 M M 1 4.9 1.01 5.0 5.1
G
H
nastav zdroj1 M 2 2.00
nastav zdroj1 M 3
I
*
Obr. 2.7. Tabulka typu Tabxyz a Tabyxz . Stejnou tabulku z obr.2.7 lze interpretovat i po sloupcích jako typ Tabyxz. Startovní buňka má polohu F5. První činností je nastavení napětí 1V na zdroji 1, druhou nastavení napětí 4.9V na zdroji 2 a třetí odečet napětí na voltmetru. 2.4 Způsoby blokování vykonávání příkazů Jednotlivé příkazy, či skupiny příkazů jde blokovat, nebo uvolňovat. Interpret každý příkaz nejprve nalezne a detekuje, pak rozhodne o jeho provedení. Příkaz je uvolněn pro provedení, pokud příslušný sloupec a řádek začíná řídicí značkou, jinak je ignorován. Na obr.2.8. je vynecháním řídicí značky „M“ blokováno provedení příkazů v řádku 6. A 1 2 3 4 5 6 7 8 9
B
M M *
C
D
E
nastav odečti zdroj voltmetr M M 1 1.03 2 3 3.01
F
G
H
I
*
Obr. 2.8. Blokování vynecháním řídicí značky. Pokud je potřeba blokovat pouze jeden příkaz, mohou být použity dvě metody. První je uvedena na obr.2.9. Řídicí značka „-„ zablokuje jen provedení příkazu vztahujícího se k buňce C6. Nevýhodou této metody je ztráta obsahu buňky C6.
15-5
2007/15 – 7.5.2007 A 1 2 3 4 5 6 7 8 9
B
M M M *
C
D
E
nastav odečti zdroj voltmetr M M 1 1.03 1.02 3 3.01
F
G
H
I
*
Obr. 2.9. Blokování značkou „-“. Příklad druhé metody, která neovlivňuje parametr příkazu je uveden na obr.2.10. Před blokovanou buňkou je zapsána řídicí značka „#“. Její účinek je zřejmý. Příkaz odečtu z voltmetru je ignorován a buňka zůstane beze změny. Nevýhodou této metody je nutnost rozšíření tabulky o jeden sloupec. Všechny metody uvolňování a blokování lze navzájem kombinovat. A 1 2 3 4 5 6 7 8 9
B
M M M *
C nastav zdroj M 1 2 3
D
E odečti voltmetr M 1.03
F
G
H
I
*
# 3.01
Obr. 2.10. Blokování značkou „#“. 2.5 Větvení programu Větvení programu v jazyce T lze zabezpečit několika způsoby. Buďto hypoteticky speciálními příkazy jazyka T nebo s využitím funkcí příslušného tabulkového procesoru a řídicích značek jazyka T. Tento případ je uveden na obr.2.11. Voltmetr 1 měří napětí do 2V a voltmetr 2 nad 2V. Pokud výskyt značek „#“svážeme s podmínkou předpokládaného vstupního napětí příslušnou formulí tabulkového procesoru (KDYŽ), můžeme zajistit odečet pouze na žádaném přístroji.
15-6
2007/15 – 7.5.2007 A 1 2 3 4 5 6 7 8 9
B
C
D
nastav zdroj M 1 2 3
M M M *
E
F
odečti voltmetr1 M 1.03
G
H
odečti voltmetr2 M
*
I
#
# #
2.02 3.01
Obr. 2.11. Větvení programu interaktivitou listu. 2.6 Cykly Opakování sekvencí příkazů, přesněji řečeno, řádků , sloupců nebo celé tabulky zajišťuje výskyt řídicí značky „R“ v příslušné buňce programu . Opakování celé řádky vyvolá přítomnost značky „R“ na konci řádku ve sloupci pod ukončovací značkou „*“. Viz obr.2.12. V buňce E5 je uvedena značka pro opakování. Vedle v buňce F5 je uveden počet již uskutečněných opakování. Výskyt značky jde svázat s nějakou podmínkou příslušnou formulí konkrétního tabulkového procesoru. A 1 2 3 4 5 6 7 8 9
B
M M M *
C
D
nastav odečti zdroj voltmetr M M 1 0.99 2 3
E
F
* R
5
G
H
I
Obr. 2.12. Cyklus opakování řádku. Příklad opakování celé tabulky je uveden na obr.2.13. řídicí značka „R“ zde nahrazuje řídicí značku ukončení interpretace tabulky „*“. Alternaci obou značek opět může zajistit příslušná formule tabulkového procesoru nebo hypoteticky nějaký příkaz jazyka T. V buňce B9 je hodnota odpovídající počtu již uskutečněných opakování interpretace tabulky.
15-7
2007/15 – 7.5.2007 A 1 2 3 4 5 6 7 8 9
B
M M M R 7
C
D
E
nastav odečti zdroj voltmetr M M 1 1.06 2 2.10 3 3.02
F
G
H
I
*
Obr. 2.13. Cyklus opakování tabulky. 2.7 Krokování programu Krokování programu po řádcích nebo sloupcích lze zajistit pomocí řídicí značky „S“ (step).Pokud je řádek či sloupec započat řídicí značkou „S“ je interpretován, řídicí značka přesunuta o jeden řádek či sloupec dále a interpretace ukončena. Další spuštění interpretace provede nově označený řádek. Pokud jde o poslední řádek tabulky, značka „S“ zmizí a tabulka je neinterpretovatelná. Příklad stavu krokového provádění tabulky po řádcích po první interpretaci je uveden na obr.2.14. A 1 2 3 4 5 6 7 8 9
B
S
C
D
E
nastav odečti zdroj voltmetr M M 1 1.06 2 3
F
G
H
I
*
*
Obr. 2.14. Krokování tabulky Tabxy Blokování značkou „-“.po řádcích. 2.8 Příkazy přesunu dat Jazyk T také obsahuje příkazy pro přesun dat v rámci celého pracovního prostoru . Obecně mohou existovat příkazy pro přesun obsahu celých tabulek. Prakticky však najdou uplatnění tyto příkazy. Hypotetický příkaz „přidej“, kdy je nová hodnota zapsána za hodnotu dříve zapsanou a hypotetický příkaz „přiřaď“, kdy je hodnota dříve zapsaná přepsaná hodnotou novou. Příklad příkazu přidej je uveden na obr.2.15. Hodnota z buňky E5 je přidávána v cyklu za poslední buňku sloupce E.
15-8
2007/15 – 7.5.2007 A 1 2 3 4 5 6 7 8 9
B
M *
C
D
E
nastav odečti přidej zdroj voltmetr M M M 1 1.06 1.06 1.04 1.03 1.06
F
G
* R
3
H
I
Obr. 2.15. Expanze tabulky ve směru Y. Přiřazovací příkaz „přiřaď“ z příkladu na obr.2.16. přepisuje obsah buňky H2 obsahem aktivní buňky ze sloupce E. Takto se dá „vytáhnout“ hodnota právě interpretované buňky mimo tabulku např. ve formě zobrazovače A 1 2 3 4 5 6 7 8 9
B
M M M *
C
D
E
nastav odečti přiřaď zdroj voltmetr H2 M M M 1 1.03 1.03 2 3
F
G
H
I
1.03 *
Obr. 2.16. Příklad použití přiřazovacího příkazu.
3. Implementace jazyka T do prostředí MS Excel. Jazyk T byl implementován do prostředí MS Excel v podobě doplňku Amex97.xla. Tento doplněk obsahuje základní příkazy jazyka a interprety Tabx, Tabxy, Tabxyz, Taby, Tabyx a Tabyxz a je napsán v interním programovacím jazyce VBA, obsaženém v Excelu. Základní repertoár příkazů jde rozšiřovat o tzv. externí příkazy, které jsou zapsány v jazyce VBA ve formě dalších doplňků Excelu. Například byl vytvořen doplněk Amex97opt.xla, umožňující testovat stisknuté klávesy klávesnice a během interpretace průběžně ukládat sešit na paměťové médium nebo doplněk GPIBlib.xla obsahující obslužné procedury pro přístroje připojené prostřednictvím sběrnice GPIB. 3.1 Základní podoba aplikace vytvořené pomocí programovacího prostředku Amex 97. Pro popis podoby vzorové aplikace byl vybrán obdobný příklad jaký byl použit při obecném popisu jazyka T. Konkrétní zdroj napětí je představován přístrojem Agilent E3631A s adresou 17 a multimetr přístrojem Agilent 34401A s adresou 22. Oba přístroje jsou propojeny s počítačem standardu PC pomocí sběrnice GPIB. K MS Excelu je připojen doplněk Amex97.xla a doplněk GPIBlib.xla. Úkolem aplikace uvedené na obr.3.1 je
15-9
2007/15 – 7.5.2007 nastavovat na zdroji napětí Un dle hodnot z tabulky a to následně změřit multimetrem jako napětí Um. Hypotetický příkaz „nastav“ je konkrétně tvořen příkazem GPIB0 a jménem obslužné procedury U_HPE3631AP6V s parametrem GPIB adresy 17. Hypotetický příkaz „odečti“ je konkrétně tvořen příkazem GPIB0 a jménem obslužné procedury U_HP34401A s parametrem adresy 22. Uživatel po sestavení tabulky dle pravidel jazyka T označí startovní buňku E13 a z nabídky „Nástroje“ spustí interpretaci typu Tabxy.
Obr. 3.1. Základní podoba aplikace. Jiná varianta spouštění je uvedena na obr.3.2. Pomocí obslužného makra „Makro1()“, vytvořeného uživatelem dle pravidel MS Excelu, je možné aplikaci spouštět stiskem virtuálního tlačítka „Start“. Startovní buňka má přidělen název „start1“. Podoba makra je ukázána v okně editoru jazyka VBA. Skrytí řídicích záhlaví a sloupců řídicích značek je ukázáno na obr.3.3. Touto operací vznikne spustitelný virtuální dokument-formulář, který může být uložen do podoby šablony *.xlt a využit pro rutinní provoz. Jinou metodou skrytí je použití barvy inkoustu shodné s barvou pozadí buněk.
15-10
2007/15 – 7.5.2007
Obr. 3.2. Aplikace doplněná spouštěcím tlačítkem.
Obr. 3.3. Konečná podoba aplikace po skrytí řídicích informací.
15-11
2007/15 – 7.5.2007 3.2 Ovládání měřidel pomocí programovacího prostředku Amex 97 Při vývoji programovacího prostředku Amex 97 byly prakticky ověřeny tyto způsoby programové vazby měřidel s buňkami MS Excelu. Vazba pomocí jazyka VBA a vazba pomocí jazyka SCPI experimentálně rozšířeného o symbolické datové parametry. a)
Vazba pomocí jazyka VBA Přehled vybraných interních příkazů pro ovládání měřidel prostřednictvím VBA je uveden na obr.3.4. Interní příkazy volají obslužné procedury přístrojů vytvořené ve VBA, které mají vazbu na ovladače ve formě DLL knihoven příslušných stykových jednotek. Výrobci dodávané DLL knihovny pro Visual Basic jde ve většině případů přímo implementovat do VBA. S výhodou lze použít knihovny VISA nebo rozhraní Windows API . Nevýhodou tohoto způsobu ovládání měřidel je skutečnost, že uživatel musí být schopen vytvořit a odladit krátký program ve VBA. Experimentálně byla ověřena obsluha těchto rozhraní, měřicích karet a měřicích modulů: - Stykové jednotky GPIB-PCI a GPIB Enet100 firmy National Instruments. - Styková jednotka GPIB IEEE-488 firmy CEC. - Styková jednotka GPIB 82350A firmy Agilent. - Styková jednotka RS232C a RS485. - Měřicí karty Lab PC+ a PCI-6035E firmy National instruments. - Styková jednotka Ethenet ve spojení s měřicími moduly ADAM firmy Advantech, protokoly TCP/IP a TCP/Modbus. - Meřicí modul USB KV8055 fy Velleman. Příklad obsluhy přístrojů po sběrnici GPIB pomocí stykových jednotek firmy National Instruments a programu ve VBA je uveden na obr.3.5.
15-12
2007/15 – 7.5.2007
Obr. 3.4. Příkazy pro ovládání měřidel ve spojení s makry ve VBA .
Obr. 3.5. Příklad obslužných maker v jazyce VBA.
15-13
2007/15 – 7.5.2007 b)
Vazba pomocí jazyka SCPI a symbolických datových parametrů. Na obr. 3.6 je uveden příklad pokročilého ovládání měřidel po sběrnici GPIB bez nutnosti sestavení příslušné obslužné procedury ve VBA. Příklad obsluhy sběrnice RS232 je uveden na obr.3.7. Použité měřicí přístroje jsou programovatelné pomocí jazyka SCPI. Jeho doplněním o symbolické parametry byl vytvořen nástroj pro snadné propojení měřidel s listem MS Excelu. Symbolické parametry , na obr. 3.6 zvýrazněné tučně, zajišťují vyzvednutí hodnot z buněk MS Excelu, jejich převedení do patřičného formátu včetně oddělovacích znaků a začlenění do programovacího slova. Při vyhodnocení informačního slova jsou hodnoty vyslané měřidlem naopak ukládány do buněk MS Excelu ve zvoleném formátu a zbavovány oddělovacích znaků. Mechanismus jazyka symbolických parametrů dovoluje také maskovat části informačního slova a tím je vyřadit ze zpracování. Symbolické datové parametry jsou využívány externími příkazy doplňku Amex97.xla a začleněny do doplňku pro obsluhu sběrnice GPIB ieeevba.xla a RS232C rsvba.xla. Soubor příkazů je uveden na obr.3.8. Externí příkazy obecně začínají znakem „&”. Jednotlivé typy symbolických datových parametrů včetně syntaktické stavby jsou uvedeny na obr.3.9. Příklad efektivnosti jazyka symbolických datových parametrů je uveden na Obr. 3.10. Pomocí obsahu buňky D5 je po sběrnici RS232 ve spojení s příkazem v buňce D4 naprogramován generátor libovolného průběhu. Generovaný signál je sejmut digitálním osciloskopem připojeným na sběrnici GPIB. Jeho relativně složité programování zajistí obsah buňky D11 ve spolupráci s příkazem v buňce D10.
Obr. 3.6. Ovládání měřidel po sběrnici GPIB bez použití VBA.
15-14
2007/15 – 7.5.2007
Obr. 3.7.Ovládání měřidel po sběrnici RS-232 bez použití VBA.
Obr. 3.8. Příkazy styku s měřidly po sběrnici GPIB a RS232 bez použitíVBA.
15-15
2007/15 – 7.5.2007
Obr. 3.9. Symbolické datové parametry a příklady jejich použití.
Obr. 3.10. Příklad obsluhy měřidel s využitím mechanizmu symbolických parametrů.
15-16
2007/15 – 7.5.2007 3.3 Přehled obecných příkazů jazyka T programovacího prostředku Amex 97 Jednoduché aplikace Amexu v podstatě nevyžadují od uživatele znát jiné příkazy jazyka „T“ než příkazy pro obsluhu měřidel. Popis těchto příkazů byl podán již dříve. Pokud však půjde o složitější aplikaci, vyžadující použití většího množství spolu provázaných tabulek nebo bude nutná interaktivita s uživatelem či se aplikace bude týkat časosběrného způsobu měření, bude muset uživatel při sestavování aplikace použít jazyk T v plném rozsahu. Mezi nejpoužívanější obecné příkazy je možné zařadit příkazy pro rozšíření struktury programu a pro přesun dat. Množina těchto příkazů se základním popisem syntaxe je uvedena na obr.3.14 a obr.3.15. Příkazy pro řízení chodu aplikace a práci s časem jsou uvedeny na obr.3.16. S jejich pomocí lze aplikaci automaticky spouštět v předem zvoleném čase. Použitím příkazů uvedených na obr.3.16 lze zajistit dialog s uživatelem nebo distribuovat sešit během chodu aplikace prostřednictvím sítě. Zde jsou uvedeny také externí příkazy, které obsahuje doplněk Amex97_opt.xla. Repertoár externích příkazů může být uživatelem rozšiřován za pomoci jazyka VBA . Procedury externích příkazů, začínají znakem „&”, mohou volat další procedury obsažené v DDL knihovnách vytvořených v jiných programovacích jazycích. Tím je zaručena možnost téměř neomezeného rozšiřování základního repertoáru příkazů obsaženého v základním doplňku Amex97.xla.
Obr. 3.14. Přehled obecných příkazů jazyka T (I.).
15-17
2007/15 – 7.5.2007
Obr. 3.15. Přehled obecných příkazů jazyka T (II.).
Obr. 3.16. Přehled obecných příkazů jazyka T (III.).
15-18
2007/15 – 7.5.2007
Obr. 3.17. Přehled obecných příkazů jazyka T (IV.). 4. Praktická aplikace programovacího prostředku Amex 97. Na obr. 4.1-4 je uvedena prakticky používaná metrologická aplikace pro kontrolu kmitočtového normálu pomocí čítače Tesla BM642 propojeného prostřednictvím sběrnice GPIB s řídicím PC. Předložené kopie obrazovek ukazují jen výsek jednotlivých listů - částí aplikace. List „náběh“ obsahuje tabulku, která demonstruje časosběrný způsob získávání dat s neekvidistantně rozdělenými časovými okamžiky. Na Listu „stabilita“ je použita tabulka interpretovaná způsobem Tabxy, zajišťující odměr 20 hodnot frekvence kmitočtového normálu . Podobná tabulka je na listu „nestabilita“.
15-19
2007/15 – 7.5.2007
Obr. 4.1. Ukázková metrologická aplikace s neskrytými značkami jazyka T.
Obr. 4.2. Výstupní tabulka ukázkové aplikace
15-20
2007/15 – 7.5.2007
Obr. 4.3. Další část ukázkové metrologické aplikace s neskrytými značkami jazyka T.
Obr. 4.4. Výstupní tabulka ukázkové metrologické aplikace.
15-21
2007/15 – 7.5.2007 5. Závěr. Vytvořený programovací prostředek Amex97 umožňuje uživateli rychle vytvářet běžné programové konstrukce typu cyklu „nastav-změř-odečti-vyhodnoť“ ve formě tabulky vstupních a výstupních hodnot doplněné o řídicí záhlaví a řídicí značky s možností volání tzv. sub tabulek, které zajišťují hierarchickou strukturu vytvářeného programu pro automatizované testovací systémy. Řídicí záhlaví, příkazy a řídicí značky tvoří původní jazyk T. Uživatel má možnost aplikovat své externí příkazy ve formě maker VBA a tím rozšiřovat možnosti jazyka T. Tímto způsobem byly vytvořeny příkazy pro obsluhu měřidel vybavených v současnosti nejrozšířenějšími stykovými systémy. Externí příkazy mohou využívat knihoven DLL a zajistit tak otevřenost celého systému v rámci operačního systému MS Windows. Dosažené praktické poznatky a zkušenosti jsou dobrým východiskem jak pro další výzkum v oblasti programování automatizovaných měření na základě využití tabulkových procesorů, tak pro práce na poli automatizovaných měření zejména operativního charakteru.
Seznam použité literatury. [1] TALPA,M.: Automatizované měření s MS Excel, sborník konference STO7, Vojenská akademie v Brně 1998. [2] ZAORÁLEK,Z.-TALPA,M.: AMEX – An Effective Tool for Laboratory Measurement of Electronic Components. Konference Radioelektronika 2001, UREL FEI VUT Brno. [3] HÁLA,A.-TALPA,M.: Semiautomatic PC Based Measurement of Magnetising Pulses. Proceding of Conference Magnetic Measurements 2000. Prague, September 11-12, 2000 pp.41-44 [4] KURKA,O.-LEUCHTER,J.: Výkonová elektronika v nové generaci mobilních zdrojů elektrické energie, sborník celostátní konference EPVE 2000, VUT Brno, 2000. [5] BALUI,S.:Excel 7.0 kompendium. UNIS Publishing, Brno, 1996. [6] WALKENBACH,J.:Microsoft Excel 2000 Programování ve VBA. Computer Press, Praha, 1999 [7] ČERNÝ,J.:Excel 5,7,97,2000 záznam, úprava a programování maker. GradaPublishing, Praha, 2000. [8] KAČMÁŘ,D:Programujeme v COM a COM+.Computer Press, Praha, 2000. [9] MASCHKE,J-VLČEK,Č.:Investigation of polarization of fiber segment in thermal field, sborník symposia „Measurements for Research and Industry“, National Technical University of Athens, Greece 2004.
15-22