Měřící systém se vzdáleným přístupem. Příručka skriptovacího jazyka



Podobné dokumenty
21. Číslicový měřicí systém se sběrnicí IEEE 488 (základní seznámení)

Podrobný postup pro vygenerování a zaslání Žádosti o podporu a příloh OPR přes Portál farmáře

Základní stavební prvky algoritmu

Výzva pro předložení nabídek k veřejné zakázce malého rozsahu s názvem Výměna lina

Algoritmizace a programování

NÁVRHOVÝ PROGRAM VÝMĚNÍKŮ TEPLA FIRMY SECESPOL CAIRO PŘÍRUČKA UŽIVATELE

Věc: Výzva pro předložení nabídek k veřejné zakázce s názvem: VÚ a ŠJ PŠOV, Nákup nového osmimístného vozidla

PALETOVÉ REGÁLY SUPERBUILD NÁVOD NA MONTÁŽ

Podrobný postup pro doplnění Žádosti o dotaci prostřednictvím Portálu Farmáře. 1. kolo příjmu žádostí Programu rozvoje venkova ( )

Algoritmizace a programování

I. Základní pojmy a zkratky. - provedení koordinační funkční zkoušky EPS a navazujících zařízení,

Uživatelská dokumentace

účetních informací státu při přenosu účetního záznamu,

PODMÍNKY VÝBĚROVÉHO ŘÍZENÍ

-1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy

téma: Formuláře v MS Access

NÁVOD K OBSLUZE MODULU VIDEO 64 ===============================

Ovoce do škol Příručka pro žadatele

170/2010 Sb. VYHLÁŠKA. ze dne 21. května 2010

Smlouvu o uskutečnění programu celoživotního vzdělávání (dále jen jako Smlouva ) I. Předmět Smlouvy

Magnetic Levitation Control

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

PROSTOROVÝ TERMOSTAT S PODSVÍCENÝM DISPLEJEM

Automatická regulace hoření Reg 200

Zadávání tiskových zakázek prostřednictvím JDF a Adobe Acrobat Professional

SCHÉMA PROCESU MTM ÚPRAV V SYSTÉMU INVESMARK FUTURA

Obchodní podmínky pro spolupráci se společností Iweol EU s.r.o.

Mikromarz. CharGraph. Programovatelný výpočtový měřič fyzikálních veličin. Panel Version. Stručná charakteristika:

6. Příklady aplikací Start/stop Pulzní start/stop. Příručka projektanta VLT AQUA Drive

KÓDOVÝ ZÁMEK 1105/2 A 1156/10

Příloha č. 54. Specifikace hromadné aktualizace SMS-KLAS

EAGLE 1 & EAGLE 2. Manuál pro uživatele. Univerzální detektory pohybu pro automatické dveře EAGLE 1 : jednosměrný radar EAGLE 2 : dvousměrný radar

Č e s k ý m e t r o l o g i c k ý i n s t i t u t Okružní 31,

D O P L Ň K O V Á P R A V I D L A. pro prodej bytových a nebytových jednotek z majetku města Děčína ve vybraných domech

Vyvažování tuhého rotoru v jedné rovině přístrojem Adash Vibrio

S t r á n k a 1 I N V E S T I C E D O R O Z V O J E V Z D Ě L Á V Á N Í

Čl. I. Vyhláška č. 106/2001 Sb., o hygienických požadavcích na zotavovací akce pro děti, ve znění vyhlášky č. 148/2004 Sb.

KAPITOLA 6.3 POŽADAVKY NA KONSTRUKCI A ZKOUŠENÍ OBALŮ PRO INFEKČNÍ LÁTKY KATEGORIE A TŘÍDY 6.2

Vzdělávací program pro obchodní partnery společnosti ROCKWOOL průvodce školením

DOPRAVNÍ ZNAČENÍ do 30/2001: změna / doplnění nový název

MyQ samoobslužný tisk

Testovací aplikace Matematika není věda

WEBDISPEČINK NA MOBILNÍCH ZAŘÍZENÍCH PŘÍRUČKA PRO WD MOBILE

Pokyny k vyplnění Průběžné zprávy

SMLOUVA O POSKYTOVÁNÍ SOCIÁLNÍ SLUŽBY č.../2013

Reklamační řád. Uplatnění reklamace

ZÁKLADNÍ POVINNOSTI DOPRAVCE I PRÁCI S DATY Z DIGITÁLNÍHO TACHOGRAFU

1. Úvodní ustanovení. 2. Uživatelský účet

PUBLICITA v OP VK. Seminář pro příjemce v rámci globálních grantů Olomouckého kraje. Olomouc, 20. a 21. dubna 2009

SOUTĚŽNÍ ŘÁD soutěží ČSOB v orientačním běhu

OBCHODNÍ PODMÍNKY obchodní společnosti

Pomocník diabetika Uživatelská příručka

se věc hodí k účelu, který pro její použití Prodávající uvádí nebo ke kterému se věc tohoto druhu obvykle používá,

4. Zápůjčka je bezúročná. 5. Žadatel o Zápůjčku odpovídá za pravdivost údajů uvedených v Žádosti i dokladech poskytnutých ke kontrole.

Veřejnoprávní smlouva o poskytnutí investiční dotace č. 1/2016

Směrnice ke schvalování účetní závěrky MČ Brno-Kohoutovice

INTERNETOVÝ TRH S POHLEDÁVKAMI. Uživatelská příručka

Android Elizabeth. Verze: 1.3

L 110/18 Úřední věstník Evropské unie

Výzva k podání nabídek (zadávací dokumentace)

Vodafone promo kit uživatelský manuál Uživatelský manuál pro aplikaci. Vodafone promo kit. Verze dokumentu: 2.

Zadavatel: Zadavatel ve smyslu zákona: územní samosprávný celek - 2 odst. 2 písm. c) zákona Právní forma: Název zakázky:

KODÉR PRO 18 ÚČASTNÍKŮ S INTEGROVANOU HLASOVOU JEDNOTKOU 1072/19A

Programový komplet pro evidence provozu jídelny v modul Sklad Sviták Bechyně Ladislav Sviták hotline: 608/

Městská část Praha 10. vyhlašuje. v souladu s usnesením Rady m. č. Praha 10 č. 183 ze dne

Měření impedancí v silnoproudých instalacích

SO 182 DIO NA RYCHLOST. SILNICI R4 PS, km 9,196-11,926

Integrovaný Ekonomický Systém Zakázkový list - IES WIN 2006

DATABÁZE DŮLEŽITÉ: Před načtením nové databáze do vaší databáze si prosím přečtěte následující informace, které vám umožní:

Zadání. Založení projektu

Návod a používání BLMFis

Data v počítači EIS MIS TPS. Informační systémy 2. Spojení: jan.skrbek@tul.cz tel.: Konzultace: úterý

1.2.5 Reálná čísla I. Předpoklady:

POKYNY PRO PLATBY FINANČNÍ MECHANISMUS EHP A NORSKÝ FINANČNÍ MECHANISMUS (1.revize - 21.června 2007)

1. Údaje o zařízení : 2. Popis zařízení : 3. Režimové požadavky:

Metodika kontroly naplněnosti pracovních míst

PŘÍLOHA č. 2C PŘÍRUČKA IS KP14+ PRO OPTP - ZPRÁVA O REALIZACI

Jak na KOTLÍKOVÉ DOTACE? JEDNODUCHÝ RÁDCE PRO ZÁKAZNÍKY

obecně závazné vyhlášky o vedení technické mapy obce A. OBECNÁ ČÁST Vysvětlení navrhované právní úpravy a jejích hlavních principů

TENZOMETRICKÝ KOMPARÁTOR

VŠEOBECNÉ PODMÍNKY PLATNÉ PRO

Přijímací řízení. Univerzitní informační systém. Svazek 6. Panevropská vysoká škola

ŘÁD UPRAVUJÍCÍ POSTUP DO DALŠÍHO ROČNÍKU

GIGAmatic. Tenzometrický přetěžovací převodník. 1. Popis Použití Technické informace Nastavení Popis funkce 6. 6.

Všeobecné podmínky pro užívání portálu a účast na elektronických dražbách nemovitostí a movitostí (dále též jen Všeobecné podmínky ).

Návod k používání registračního systému ČSLH

KRAJSKÝ ÚŘAD JIHOMORAVSKÉHO KRAJE Odbor dopravy Žerotínovo náměstí 3/5, Brno

Komunikativní regulátor fancoilu s ventilátorem

Ekvitermní regulátory, prostorová regulace a příslušenství

SMLOUVA O POSKYTNUTÍ DOTACE

SMĚRNICE Č. 15/2015 NAKLÁDÁNÍ S BYTY A S PROSTORY SLOUŽÍCÍMI PODNIKÁNÍ

VNITŘNÍ NORMA (Směrnice) č. 4/2010

PŘEDPISY V SOCIÁLNÍ OBLASTI TÝKAJÍCÍ SE SILNIČNÍ DOPRAVY nařízení (ES) č. 561/2006, směrnice 2006/22/ES, nařízení (EU) č. 165/2014

AXIgo NÁVOD K OBSLUZE

NÁVRH ÚPRAV DOPRAVNÍHO REŽIMU V PRAZE - SUCHDOLE

R O Z H O D N U T Í. Miroslav Vala datum narození: a Jana Valová datum narození: rozhodnutí o umístění stavby

Microsoft Office Project 2003 Úkoly projektu 1. Začátek práce na projektu 1.1 Nastavení data projektu Plánovat od Datum zahájení Datum dokončení

S_5_Spisový a skartační řád

Tlačítkový spínač s regulací svitu pro LED pásky TOL-02

MAGIS ve strojírenské firmě Strojírna Vehovský s.r.o.

Transkript:

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA ELEKTROTECHNICKÁ KATEDRA MĚŘENÍ Měřící systém se vzdáleným přístupem Příručka skriptovacího jazyka v 1.0 / 28.2.2005 platné pro verzi 1.0 měřícího enginu Jiří Javůrek 2003/2005

0. Obsah 0. Obsah...1 1. Požadavky...2 2. Abecední seznam částí...2 2. 1 CALCULATORS...2 2. 2 INSTRUMENTS...2 2. 3 SECTION...3 2. 4 VARIABLES...3 3. Abecední seznam příkazů...3 3. 1 ASLEEP_SET...3 3. 2 ASLEEP_WAIT...3 3. 3 BREAK...4 3. 4 BREAKPOINT...4 3. 5 COMPLETE...4 3. 6 CONTINUE...4 3. 7 DDO...4 3. 8 DO...5 3. 9 DQUERY...5 3. 10 DREAD...5 3. 11 DSEND...5 3. 12 FAILON...6 3. 13 FOR...6 3. 14 GOTO...6 3. 15 GOSUB...7 3. 16 GPIB_GET...7 3. 17 IF...7 3. 18 LET...8 3. 19 LOG...8 3. 20 LOGLEVEL...8 3. 21 PRECISION...8 3. 22 RETURN...9 3. 23 SLEEP...9 3. 24 : LABEL...9 4. Programovací techniky...10 A. Vzorové skripty...12 A. 1 Jednoduchý ohmmetr...12 A. 2 Ověřování zdroje...12-1-

1. Požadavky Aby bylo možné plánovat provedení úloh na určitý čas, musí být předem jasné, jakým způsobem má měření úlohy proběhnout. K tomu slouží jednoduchý skriptovací jazyk, který umožňuje definovat postup měření a použité příkazy přístrojů. 2. Abecední seznam částí Pokud v definici některé z částí je před jméno proměnné napsán znak podtržítko _, pak hodnota této proměnné nebude zapisována do souboru výsledků. V samotném skriptu se podtržítko již dále nepíše. 2. 1 CALCULATORS Část slouží k definování proměnných, které zastupují veličny, jež jsou z měřených hodnot stanovovány výpočtem (např. výkon z měření napětí a proudu). Interpret skriptu sám dbá na to, aby při změně hodnoty některé ze vstupních proměnných výrazu byl aktualizován i výsledek. CALCULATORS <jméno proměnné>=[<označení jednotky>]=[<popis veličiny>]=<výraz> [ ] END_CALCULATORS jméno proměnné - označení proměnné, pod kterým bude dostupný výsledek výpočtu označení jednotky - označení fyzikální jednotky výsledku výpočtu popis veličiny - slovní popis výsledku výpočtu výraz - výraz, definující výpočet 2. 2 INSTRUMENTS Část slouží k definování použitých měřících přístrojů a jejich hardwarových adres (v závislosti na použité měřící sběrnici). Výsledky měření daného přístroje jsou přístupné přes jméno proměnné, která je k danému přístroji přidružena. Jsou zde rovněž definovány hardwarové adresy rozhraní (karet v PC), pokud je třeba je k nějakým činnostem využívat. INSTRUMENTS <jméno proměnné>=[<označení jednotky>]=[<popis veličiny>]=[<soubor příkazů>]=<adresa> [ ] END_INSTRUMENTS jméno proměnné - označení proměnné, pod kterým bude dostupný výsledek posledního dotazu (výsledku měření), a které slouží k označení přidruženého přístroje označení jednotky - označení fyzikální jednotky výsledku výpočtu popis veličiny - slovní popis výsledku výpočtu soubor příkazů soubor s předdefinovanými příkazy pro daný přístroj adresa hardwarová adresa přístroje -2-

2. 3 SECTION Část sloužící k definování postupu měření. Tato část obsahuje příkazy, které jsou interpretem příkazů vykonávány. Těchto částí může být až 16 a lze mezi nimi libovolně předávat řízení nebo jednotlivé části používat jako podprogramy (procedury). SECTION <název> <příkaz> [ ] END_SECTION název označení sekce (musí být jedinečné). Speciální označení je INIT sekce tohoto jména se provede jako první a FAILED sekce tohoto jména se provede při havárii měření a měla by obsahovat především příkazy pro vypnutí zdrojů napětí a proudu. příkaz jednotlivý příkaz (viz 3. Abecední seznam příkazů) 2. 4 VARIABLES Část sloužící k definování proměnných, které nemají přímou souvislost s jednotlivými přístroji případně měřenými a vypočítávanými veličinami, ale jsou potřebné pro běh skriptu úlohy. VARIABLES <jméno proměnné> [ ] END_VARIABLES jméno proměnné - označení proměnné, pod kterým bude dostupná její hodnota 3. Abecední seznam příkazů 3. 1 ASLEEP_SET Příkaz definující začátek měření asynchronní časové prodlevy. Provedením tohoto příkazu se započne měřit časový interval aniž by bylo pozastaveno provádění skriptu. Skript je pozastaven do doby vypršení definovaného časového intervalu příkazem ASLEEP_WAIT. ASLEEP_SET [<výraz>] ASLEEP [<výraz>] výraz velikost časového intervalu v milisekundách (zjednodušený zápis) 3. 2 ASLEEP_WAIT Příkaz pozastavující běh skriptu do doby vypršení časového intervalu definovaného příkazem ASLEEP_SET. ASLEEP_WAIT -3-

3. 3 BREAK Příkaz pro ukončení cyklu. Jeho provedení způsobí předčasné ukončení cyklu FOR nebo WHILE. Skript bude pokračovat dalším příkazem následujícím za příkazem NEXT právě prováděného cyklu. BREAK 3. 4 BREAKPOINT Příkaz sloužicí k ladění skriptu úlohy. Na tomto příkazu se provádění úlohy zastaví a interpret čeká na povolení pokračování od uživatele. Název breakpointu se zapíše do log souboru tím lze poznat, v jaké části skriptu se vykonávání přerušilo. BREAKPOINT [<název>] název označení breakpointu 3. 5 COMPLETE Příkaz pro synchronizaci běhu úlohy. Na tomto příkazu se vykonávání skriptu zastaví do doby, než jsou dokončeny všechny rozpracované příkazy vykonávané jednotlivými měřícími přístroji. Doporučuje se tento příkaz provést na konci skriptu jako poslední příkaz. COMPLETE 3. 6 CONTINUE Příkaz pro předčasné ukončení iterace cyklu FOR nebo WHILE. Po provedení příkazu CONTINUE bude skript pokračovat další iterací cyklu (včetně přiřazení nové hodnoty do proměnné cyklu podle výrazu iterace u cyklů typu FOR). CONTINUE 3. 7 DDO Příkaz pro vykonání příkazu měřícího přístroje. Označenému přístroji je předán zadaný text, jako příkaz. Do příkazu lze vkládat hodnoty výrazů jako parametry. Každý výraz, který má být vyhodnocen je v hranatých závorkách a bezprostředně mu předchází znak $. Pokud znaku $ předchází znak \, pak je speciální význam znaku $ ignorován. Rovněž lze do textu příkazu zapisovat libovolné znaky pomocí jejich hexadecimálních hodnot zapsaných jako dva znaky za znak \. Např. \0D. (blíže viz A. Vzorové skripty) DDO <přístroj> <příkaz [$<[výraz]>] > přístroj označení přístroje, který má daný příkaz vykonat příkaz text, který je zapsán na přístoj jako příkaz -4-

výraz znakem $ předcházený výraz, jehož číselný výsledek bude vložen do textu příkazu jako parametr 3. 8 DO Příkaz pro vykonání příkazu měřícího přístroje. Označenému přístroji je předán příkaz, jehož jméno je uvedeno jako příkaz. Tento příkaz musí být definován v souboru předdefinovaných příkazů pro daný přístroj. Parametry jsou výrazy, které jsou v uvedeném pořadí doplněny do textu příkazu na označená místa. Počet těchto parametrů se musí shodovat s počtem uvedených výrazů. DO <přístroj> <příkaz> [<[parametr]> <[parametr]> ] přístroj označení přístroje, který má daný příkaz vykonat příkaz označení příkazu, pod kterým je definován text příkazu v souboru definovaných příkazů pro daný přístroj parametr výraz, který bude doplněn na označené místo v textu příkazu 3. 9 DQUERY Obdoba příkazu DDO, bez automatického vyhodnocení čekání na odpověď přístroje. Zadaný příkaz se předpokládá takový, že bude vrácena odpověď přístroje. Označenému přístroji je předán zadaný text, jako příkaz. Do příkazu lze vkládat hodnoty výrazů jako parametry. Každý výraz, který má být vyhodnocen je v hranatých závorkách a bezprostředně mu předchází znak $. Pokud znaku $ předchází znak \, pak je speciální význam znaku $ ignorován. Rovněž lze do textu příkazu zapisovat libovolné znaky pomocí jejich hexadecimálních hodnot zapsaných jako dva znaky za znak \. Např. \0D. (blíže viz A. Vzorové skripty) DQUERY <přístroj> <příkaz [$<[výraz]>] > QUERY <přístroj> <příkaz [$<[výraz]>] > (zjednodušený zápis) přístroj označení přístroje, který má daný příkaz vykonat příkaz text, který je zapsán na přístoj jako příkaz výraz znakem $ předcházený výraz, jehož číselný výsledek bude vložen do textu příkazu jako parametr 3. 10 DREAD Doplňkový příkaz příkazů DSEND a DQUERY. Příkaz neposílá přístroji žádný text, pouze čeká na odpověď přístroje, která je reakcí na jinou událost (jiný příkaz). DREAD <přístroj> READ <přístroj> přístroj označení přístroje, který má daný příkaz vykonat (zjednodušený zápis) 3. 11 DSEND Obdoba příkazu DDO, bez automatického vyhodnocení čekání na odpověď přístroje. Zadaný příkaz se předpokládá takový, že nebude vrácena odpověď přístroje. Označenému přístroji je předán zadaný text, jako příkaz. Do příkazu lze vkládat hodnoty výrazů jako parametry. Každý výraz, který má být vyhodnocen je v hranatých závorkách a -5-

bezprostředně mu předchází znak $. Pokud znaku $ předchází znak \, pak je speciální význam znaku $ ignorován. Rovněž lze do textu příkazu zapisovat libovolné znaky pomocí jejich hexadecimálních hodnot zapsaných jako dva znaky za znak \. Např. \0D. (blíže viz A. Vzorové skripty) DSEND <přístroj> <příkaz [$<[výraz]>] > SEND <přístroj> <příkaz [$<[výraz]>] > (zjednodušený zápis) přístroj označení přístroje, který má daný příkaz vykonat příkaz text, který je zapsán na přístoj jako příkaz výraz znakem $ předcházený výraz, jehož číselný výsledek bude vložen do textu příkazu jako parametr 3. 12 FAILON Příkaz definující důvod předčasného ukončení běhu skriptu při výskytu chyby. Je možné určit ukončení skriptu pokud dojde k chybě během komunikace s přístroji nebo je některý příkaz přístrojem odmítnut. Je možné definovat ukončení při výskytu obou událostí nebo předčasné ukončení skriptu zakázat. FAILON [NEVER CMDERR IOERR ALLERR] Pokud není uvedena žádná z těchto hodnot, je nastavena úroveň NEVER. 3. 13 FOR Příkaz vykonávající cyklus typu FOR nebo WHILE (podle způsobu zápisu). Slouží k definování cyklů. Pokud je definován pouze výraz podmíky, jedná se o cyklus typu WHILE. Pokud je definována proměnná cyklu, musí být definována její inicializační hodnota. Výraz přiřazovaný do proměnné při každé iteraci je nepovinný, u cyklu typu WHILE nesmí být použit. Modifikátor NOWAIT způsobí, že příkaz nebude čekat na dokončení příkazů na všech přístrojích, takže hodnoty proměnných při vyhodnocování výrazů nemusí odpovídat výsledkům posledního příkazu přístroje. FOR [NOWAIT] [<jméno prom.> <inicializace>] <podmínka> [<iterace>] <příkaz> NEXT jméno prom. jméno proměnné cyklu. Pokud je uvedeno, bude se jednat o cyklus FOR inicializace výraz, na jehož hodnotu je nastavena proměnná cyklu při prvním průchodu. Inicializace je povinná u cyklu typu FOR, nesmí být uvedena u cyklu typu WHILE. podmínka výraz, který definuje, zda má cyklus pokračovat. Pokud je výraz pravdivý (má nenulovou hodnotu), bude cylus pokračovat další iterací. iterace výraz, jehož hodnota je přiřazena do proměnné cyklu při každém dalším průchodu cyklem. Nesmí být uveden u cyklu typu WHILE, u cyklu typu FOR je nepovinný. 3. 14 GOTO Příkaz skoku na jiný příkaz. -6-

Provede předání řízení skriptu na jiný příkaz v uvedené sekci. Pokud není uvedeno žádné návěští, je příslušná sekce prováděna od začátku. GOTO <jméno sekce>[.<jméno návěští>] jméno sekce označení sekce, do které se má předat řízení jméno návěští označení místa v sekci, odkud se má v provádění skriptu pokračovat 3. 15 GOSUB Příkaz skoku na podprogram. Provede předání řízení skriptu na jiný příkaz v uvedené sekci. Pokud není uvedeno žádné návěští, je příslušná sekce prováděna od začátku. Po provedení příkazu RETURN nebo skončení sekce, provede skok zpět na místo volání. GOSUB <jméno sekce>[.<jméno návěští>] jméno sekce označení sekce, do které se má předat řízení jméno návěští označení místa v sekci, odkud se má v provádění skriptu pokračovat 3. 16 GPIB_GET Příkaz pro provedení GroupExecutionTriggeru. Lze použít pouze na přístroje připojené k jedné sběrnici (interfaceu) typu GPIB. Příkaz provede naadresování uvedených přístrojů a vykonání příkazu GET. Konfigurování přístrojů a čtení výsledků musí skript obsloužit jinými příkazy (DO nebo DDO). GPIB_GET <interface> <přístroj> [<přístroj> ] interface označení interfaceu sběrnice, ke kterému jsou připojeny přístroje, na něž má být poslán příkaz GET. Interface musí být typu GPIB. přístroj označení přístroje, na který má poslán příkaz GET. Přístroje musí být připojeny k interfaceu interface. 3. 17 IF Příkaz větvení programu. Pokud je podmínka splněna, jsou provedeny příkazy pseudo-sekce následující bezprostředně za IF příkazem. Pokud není, jsou provedeny příkazy pseudo-sekce uvedené za označením ELSE (pokud je tato část uvedena). Modifikátor NOWAIT způsobí, že příkaz nebude čekat na dokončení příkazů na všech přístrojích, takže hodnoty proměnných nemusí odpovídat výsledkům posledního příkazu přístroje. IF [NOWAIT] <[výraz]> [ELSE] [ ] ENDIF výraz - výraz, definující podmínku. Podmínka je vyhodnocena jako pravdivá, pokud má výraz nenulovou hodnotu. -7-

3. 18 LET Příkaz přiřazení. Příkaz přiřadí do uvedené proměnné výsledek uvedeného výrazu. Modifikátor NOWAIT způsobí, že příkaz nebude čekat na dokončení příkazů na všech přístrojích, takže hodnoty proměnných nemusí odpovídat výsledkům posledního příkazu přístroje. LET [NOWAIT] <jméno proměnné> <[výraz]> jméno proměnné - označení proměnné, do které se má uložit výsledek výrazu výraz - výraz, definující výpočet 3. 19 LOG Příkaz zápisu výsledků. Příkaz provede zápis výsledků do souboru výsledků úlohy. Jsou zaznamenány hodnoty všech proměnných (definovaných ve všech sekcích: VARIABLES, INSTRUMENTS, CALCULATORS). Nejsou však zaznamenány hodnoty těch proměnných, před jejichž názvem byl při definici napsán znak _. Dále je zaznamenán čas provedení tohoto příkazu. Modifikátor NOWAIT způsobí, že příkaz nebude čekat na dokončení příkazů na všech přístrojích, takže hodnoty proměnných nemusí odpovídat výsledkům posledního příkazu přístroje. LOG [NOWAIT] 3. 20 LOGLEVEL Příkaz definující úroveň závažnosti ladících hlášení, která budou zapisována do log souboru úlohy. Tuto úroveň lze v průběhu běhu skriptu libovolně měnit. LOGLEVEL [<výraz>] výraz - výraz, definující úroveň hlášení. Pokud výraz není uveden, je nastavena základní úroveň 5. Význam jednotlivých úrovní je: 0 = fatální chyby 1 = chyby (a vše předchozí) 2 = varování (a vše předchozí) 3 = komunikace (a vše předchozí) 4 = ladící hlášení (a vše předchozí) 5 = podrobnější ladící hlášení (úroveň 1) (a vše předchozí) 6 = podrobnější ladící hlášení (úroveň 2) (a vše předchozí) 7 = podrobnější ladící hlášení (úroveň 3) (a vše předchozí) 8 = informační hlášení (a vše předchozí) 3. 21 PRECISION Příkaz pro určení počtu desetinných míst, na která se mají zaznamenávat změřené hodnoty do souboru výsledků úlohy. Tuto přesnost lze v průběhu skriptu libovolně měnit. PRECISION [<výraz>] -8-

výraz - výraz, definující počet desetinných míst. Pokud není uveden je nastavena základní hodnota 7 desetinných míst (tj. 8 platných číslic standardní formát float ). 3. 22 RETURN Příkaz návratu z podprogramu. Příkaz provede skok na místo ve skriptu, odkud byl vyvolán podprogram pomocí příkazu GOSUB. Pokud je proveden na nejvyšší úrovni, je měření ukončeno. Příkaz RETURN je automaticky proveden, pokud běh skriptu dospěje na konec některé sekce. RETURN 3. 23 SLEEP Příkaz čekání. Příkaz provede pozastavení provádění skriptu úlohy na uvedenou dobu v milisekundách. SLEEP <[výraz]> výraz výraz výpočtu, jehož výsledek je doba čekání v milisekundách 3. 24 : LABEL Označení návěští. Pseudo-příkaz pro označení návěští, které může být uvedeno za tečkou u příkazů GOTO a GOSUB. : <jméno návěští> jméno návěští označení návěští, musí být jediněčné v rámci dané sekce -9-

4. Programovací techniky Základní pravidla pro psaní skriptu jsou následující: Každý příkaz je psán na samostatný řádek. Počet mezer (tabulátorů a podobných znaků) před a za příkazem není rozhodující. Řádky začínající znakem # jsou komentáře a jsou ignorovány. Skript může obahovat libovolné množství prázdných řádků. Matematické výrazy (a podmínky) se zapisují do hranatých závorek, vyjma definice výrazů v části CALCULATORS. Příkazy nemohou stát ve skriptu samostatně mimo definované sekce. (Takové příkazy jsou ignorovány.) 4. 1 Vyhodnocování výrazů Výrazy mohou obsahovat operátory: unární +, - +, -, *, /, % součet, rozdíl, součin, podíl, zbytek po dělení <, <=, >, >=,!=, <>, == relační operátory &&, logické AND a OR ( ) závorky k určení priority operací Definované matematické funkce: SQRT(x) druhá odmocnina čísla x POW(x,n) n-tá mocnina čísla x (lze použít též pro výpočet n-té odmocniny pokud n=1/m, kde m je požadovaná odmocnina) ABS(x) absolutní hodnota čísla x SIGN(x) znaménko čísla x (=1 pokud x>0, =-1 pokud x<0, =0 pokud x=0) CEIL(x) zaokrouhlení čísla x vždy směrem dolů (lze použít k normálnímu zaokrouhení, pokud provedeme CEIL(x+0.5) ) SIN(x), COS(x), TAN(x), ASIN(x), ACOS(x), ATAN(x) goniometrické funkce a funkce inverzní ATAN2(y,x) arctang (y/x), přičemž výsledek je upraven podle kvadrantu, kde se výsledný úhel nachází. SINH(x), COSH(x), TANH(x), ASINH(x), ACOSH(x), ATANH(x) hyperbolické funkce a funkce inverzní. TODEG(x), TORAD(x) převod čísla x z radiánů na stupně a ze stupňů na radiány. EXP(x) exponenciální funkce, e umocněno na x LG(x) dekadický logaritmus čísla x LN(x) přirozený logaritmus čísla x LOG(x,a) logaritmus čísla x o základu a FACT(x) faktoriál čísla x -10-

Předdefinované konstanty: Značka Jméno Hodnota Jednotka Popis π PI 3.141592654 - Ludolfovo číslo e e 2.718281828 - Eulerovo číslo µ 0 MI0 12.566370614e-7 NA -2 Permeabilita vakua ε 0 EPS0 8.854187817e-12 Fm -1 Permitivita vakua g ag 9.80665 ms -2 Gravitační zrychlení m p mp 9.1093826e-31 kg klidová hmotnost elektronu m e me 1.67262171e-27 kg klidová hmotnost protonu m n mn 1.67492728e-27 kg klidová hmotnost neuronu Q e Qe 1.60217653e-19 C Náboj elektronu N A NA 6.0221415e+23 mol -1 Avogadrova konstanta F F 96485.3383 C mol -1 Faradayova konstanta R R 8.314472 J mol -1 K -1 Molární plynová konstanta v c vc 299792458 m s -1 rychlost světla ve vakuu k k 1.3806505e-23 J K -1 Boltzmanova konstanta h h 6.6260693e-34 J s Planckova konstanta σ SIGMA 5.670400e-8 W m -2 K -4 Stefan-Boltzmanova konst. K J KJ 483597.879e+9 Hz V -1 Josephsonova k. ϕ 0 FI0 2.06783372e-15 Wb magnetic flux kvantum Příklad přiřazení do proměnné: LET a [(krok+1)*2/ln(sqrt(2))] -11-

A. Vzorové skripty Kurzívou psaný text v pravém sloupci je vysvětlující komentář ke kódu skriptu. A. 1 Jednoduchý ohmmetr AUTHOR=administrator DESCRIPTION=jednoduchy ohmmetr INSTRUMENTS o=ohm=odpor_dekady==gpib0::22::instr END_INSTRUMENTS VARIABLES krok END_VARIABLES SECTION INIT FOR krok [0] [krok<10] [krok+1] LOG NEXT END_SECTION SECTION FAILED COMPLETE END_SECTION QUERY o MEAS:RES? Nepovinná hlavička (bude zapsána do souboru logu úlohy). Pro přístroj není definován soubor předdefinovaných příkazů. Provede 10 odměrů, po každém odměru bude zvýšena hodnota proměnné krok o jedničku. Pošle příkaz přístroji o a čeká na odpověď (tj. výsledek měření). V případě havárie dokončí příkaz prováděný přístrojem (přístroji) a skončí. A. 2 Ověřování zdroje Předpokládejme zadání: Ověřte dvěma voltmetry výstupní napětí zdroje v rozsahu 0V až 6V s krokem po 0,05V v obou směrech (pro zvyšující se napětí a pro snižující se). Odměr napětí proveďte oběma voltmetry současně s využitím funkce GET sběrnice GPIB. #definice pouzitych pristroju instruments _KARTA====GPIB0::INTFC z=x=zdroj==gpib0::2::instr v1=v=voltmetr==gpib0::22::instr v2=v=voltmetr==gpib0::23::instr end_instruments Pro použití příkazu GET sběrnice gpib je nutné definovat gpib interface #preddefinovane vypocty calculators odchylka1=v=chyba napeti zdroje=v1-z odchylka2=v=chyba napeti zdroje=v2-z end_calculators -12-

#pouzite promenne variables krok _pocatek _konec end_variables Proměnné počátek a konec nebudou logovány section INIT loglevel [2] failon NEVER let krok [0.05] let pocatek [0.0] let konec [6.0] Inicializace proměnných podle požadavků zadání. #zapnuti zdroje send z sour:curr 0.01 send z sour:volt 0.0 send z outp:state on #konfigurace voltmeru send v1 conf:volt:dc send v2 conf:volt:dc send v1 trig:sour bus send v2 trig:sour bus gosub mereni_nahoru gosub mereni_dolu Provedení podprogramů pro vlastní měření. #vypnuti rucniho trigrovani send v1 trig:sour imm send v2 trig:sour imm #vypnuti zdroje send z sour:volt 0.0 send z outp:state off complete end_section section FAILED #vypnuti zdroje send z outp:state off send v1 trig:sour imm send v2 trig:sour imm complete end_section section mereni_nahoru for z [pocatek] [z<=konec] [z+krok] send z sour:volt $[z] sleep [1000] ddo v1 init ddo v2 init gpib_get KARTA v1 v2 V případě havárie vypneme zdroj a ruční trigrování přístrojů Inicializujeme přístroje (do režimu čekání na trigger) Proveme příkaz GET pro intrface KARTA (viz definice přístrojů) na -13-

ddo v1 FETCH? ddo v2 FETCH? sleep [200] log next end_section section mereni_dolu for z [konec] [z>=pocatek] [z-krok] send z sour:volt $[z] sleep [1000] ddo v1 init ddo v2 init gpib_get KARTA v1 v2 ddo v1 FETCH? ddo v2 FETCH? sleep [200] log next end_section KARTA (viz definice přístrojů) na přístrojích v1 a v2. Z přístrojů přečteme změřené výsledky. Obdoba měření se zvyšujícím se napětím. -14-