Navigation:  Dávka >

Terminál

Previous pageReturn to chapter overviewNext page

Terminál je funkce programu GEUS pro příjem a odesílání dat přes sériové porty. Jedná se o poměrně obecně naprogramovanou funkci, která by měla umožnit komunikaci přes sériový port téměř s libovolným zařízením, které tuto komunikaci podporuje a nevyžaduje žádný speciální komunikační protokol. Funkce je zjednodušenou podobou funkce Windows známé jako Hyperterminál. Zde je tato funkce určena hlavně k předávání dat s totálními stanicemi a polními záznamníky (Psion, SDR,...).

Logika práce s terminálem

Terminál komunikuje na obecné úrovni, nezajímá se tedy o strukturu dat. Data přijímá a odesílá přesně tak, jak jsou mu předložena. Konverze před nebo po přenosu provádí jiné části programu.

V případě příjmu dat přečte terminál data ze sériového portu, vloží je do svého okna a při ukončení nebo na příkaz uživatele je uloží do textového souboru. Název souboru je zároveň automaticky vložen do Seznamu souborů ke zpracování ve formuláři Polární metoda dávkou.

V případě odesílání dat načte data z textového souboru do svého okna a na příkaz uživatele je odešle na sériový port.

Nastavení sériového portu

Nastavení sériového portu může být pro neznalého uživatele poměrně složité, operuje se při něm totiž s poměrně mnoha neznámými termíny: rychlost, datové bity, stop bity, parita. Důležité je vědět, že na obou stranách kabelu, tedy na výstupním i vstupním zařízení, musí být nastaveny naprosto shodné hodnoty. Stačí trochu pozměnit jedinou hodnotu a sériová komunikace nebude běhat vůbec. Naštěstí se názvy jednotlivých hodnot poměrně dodržují a neměl by tedy být problém vyhledat tyto hodnoty v dokumentaci přístroje a stejné hodnoty nastavit i v tomto terminálu.

Sériový port: Počítač PC má většinou více sériových portů (minimálně 2, maximálně 8). Jsou označovány COM1 až COM8. Zde musí být samozřejmě nastavený ten port, do kterého je kabel ze zařízení zastrčen. Obecný návod jak poznat, který vývod na počítači patří k určitému COMx, neexistuje. Pokud ho výrobce počítače neoznačí nápisem, nezbývá než zkoušet.

Rychlost: Rychlost nelze nastavit libovolnou, musí se vybírat z předem přednastavených hodnot. Hodně totálních stanic a polních zápisníků umí komunikovat maximální rychlostí 9600 b/s. Často mají však od výrobce přednastavenou nižší rychlost, to musíte zjistit v manuálu k zařízení. Obecně je nižší rychlost spolehlivější. Například při nižší rychlosti získává počítač delší čas pro zpracování přijatých dat. Pokud se tedy komunikace nedaří při vyšších rychlostech (např. vypadávají některé znaky), zkuste rychlost snížit. POZOR, rychlost (a všechny ostatní hodnoty) musí být stejné na počítači i zařízení.

Data bity: Nastavte stejnou hodnotu, která je přednastavená v zařízení. Není žádný důvod ji měnit.

Stop bity: Nastavte stejnou hodnotu, která je přednastavená v zařízení. Není žádný důvod ji měnit.

Parita: Nastavte stejnou hodnotu, která je přednastavená v zařízení. Není žádný důvod ji měnit.

Řizení toku dat: Tato nastavení opět záleží na nastavení zařízení, se kterým chcete komunikovat. Obecně slouží řízení toku dat (anglicky se tomu říká handshake) k pozastavení přenosu dat ve chvíli, kdy zařízení na druhé straně není připraveno, například zrovna čte data z disku nebo je na něj ukládá. Totální stanice a polní zápisníky jsou obecně značně pomalejší zařízení, než je stolní počítač, proto může být správné nastavení řízení toku dat poměrně důležité. Většinou je celkem označováno stejně, jako jsou uvedené zkratky v okně nastavení terminálu. Přesný obecný návod by byl dosti složitý, odkážeme tedy spíše na dodavatele konkrétního zařízení, který by měl být schopen správné a nejlepší nastavení poradit. To totiž nesouvisí s přímo programem GEUS, ale je obecné pro všechny přenosy do počítače.

Velice často se používá nastavení, kdy je řízení toku dat vypnuto. To je sice jednoduché pro nastavení, ale pokud je zařízení na přijímací straně trochu pomalejší, můžou některé znaky vypadávat. V takovém případě může být řešením snížení rychlosti komunikace. V případě odesílání z terminálu do zařízeny lze ještě zvětšit prodlevu, viz následující položka nastavení.

Prodleva: Jedná se o hodnotu milisekundách, na kterou se zastaví přenos z terminálu do zařízení mezi jednotlivými řádky textu. Zvláště pokud je vypnuto řízení toku dat, lze tím zlepšit spolehlivost přenosu. Většina zařízení totiž zpracovává data vždy po přijetí jedné řádky. Pokud je zařízení pomalejší, mohou mu zatím některé znaky "uniknout", proto je lepší po každém řádku přenos na chvíli pozastavit. Obecně nelze poradit vhodnou hodnotu, může stačit i jen několik milisekund, někdy jsou nutné i celé sekundy. Vše musí vyzkoušet nebo si opět nechat poradit od dodavatele zařízení.

Timeout: Ponechali jsme původní anglické označení. Jedná se hodnotu, po kterou čeká terminál na signál z druhé strany. Jedná se buď o signál, že druhá strana je připravena přijímat data nebo naopak data odesílat. Pokud není nastaveno řízení toku dat, data se z terminálu odesílají okamžitě, bez ohledu na nastavenou hodnotu timeoutu. Na příjem dat do terminálu nemá nastavení timeoutu vliv, příjem dat vždy ukončuje uživatel. Hodnota timeotu nastavená na 0, znamená nekonečné čekání.

Příjem dat

Pokud jsou správně nastaveny parametry sériových portů na obou stranách kabelu, otevře se port pro příjem dat příkazem Otevřít přenos. Od této chvíle bude program zachytávat všechna data, která přijdou po sériovém portu. Data bude očekávat tak dlouho, dokud se přenos nezavře příkazem Zavřít přenos, tedy třeba nekonečně dlouho. Přijímaná data se objevují v okně terminálu. Data z okna pak lze uložit na disk příkazem Uložit do souboru. Pokud terminál ukončíte a do jeho okna byla přidána nějaká data, která nejsou uložená, program sám vyzve uživatele k jejich uložení.

Odesílání dat

Data se nejdříve načtou z textového souboru do okna terminálu příkazem Otevřít soubor. Pokud jsou správně nastaveny parametry sériového portů na obou stranách kabelu, lze data odeslat příkazem Odeslat na port.Ve chvíli spuštění tohoto příkazu musí být na zařízení druhé straně již připravené zachytávat data. Následné chování programu záleží na nastaveném způsobu komunikace:

1. Pokud není nastaven žádný způsob řízení toku dat, budou se data odesílat bez ohledu na to, zda je zařízení na druhé straně připraveno.

2. Pokud je nastaven nějaký vhodný způsob řízení toku dat, bude program po spuštění přenosu čekat a signál z druhé strany. Pokud je však řízení toku dat nastaveno špatně, bude program čekat nekonečně dlouho nebo dokud nevyprší timeout. Případně lze přenos ukončit příkazem Přerušit přenos. Protože odesílání dat zajišťuje přímo operační systém Windows a terminál na něj čeká, může mít reakce terminálu zpoždění.