# Nastavení parametrů aplikace

Veškeré parametry a nastavení aplikace systému Control Web jsou shromážděny v aplikační sekci settings. Sekce není povinnou součástí aplikace, nicméně vývojové prostředí ji při generování automaticky vytváří (o generování se můžete dočíst v kapitole Integrované vývojové prostředí).

Jednotlivé parametry mohou být platné globálně — pro všechny moduly jedné vícemodulární aplikace (v modulech mimo hlavní je takový parametr ignorován), lokálně pouze pro modul, který parametr ve své sekci settings obsahuje, nebo se mohou navzájem přepisovat — platná bude poslední přečtená hodnota parametru (hodnota přečtená z později překládaného modulu, tato hodnota také platí globálně).

Následující seznam obsahuje všechny dostupné parametry, přičemž v hranatých závorkách za klíčovým slovem příslušného parametru je uvedeno písmeno 'G', platí-li nastavení globálně nebo písmeno 'L', platí-li nastavení lokálně:

- operation_mode `[L]` — hlavní parametr, který určuje režim práce aplikace. Přípustné hodnoty parametru jsou real_time a data_driven. V prvém případě aplikace pracuje v režimu reálného času, ve druhém případě běží jako řízená daty. Popis obou režimů obsahují kapitoly Časování aplikace reálného času a Běh datově řízené aplikace. Počáteční hodnota parametru operation_mode je real_time. Tato počáteční hodnota se uplatní i v případě, kdy parametr operation_mode není definován.
- input_timeout `[L]` — prodleva měření vstupních a obousměrných kanálů. Měřící jádro čeká na doměření dat nejvýše po dobu stanovenou tímto parametrem. Parametr input_timeout ovlivňuje komunikaci všech kanálů, které nemají prodlevu stanovenou individuálně (ve své definici). Počáteční hodnota parametru je 0, takže věškerá měření v každém časovém kroku probíhají na pozadí. O prodlevách komunikace se dočtete v kapitole Časování aplikace reálného času.
- output_timeout `[L]` — prodleva zápisu výstupních a obousměrných kanálů. Jádro čeká na potvrzení zápisu dat nejvýše po dobu stanovenou tímto parametrem. Parametr output_timeout ovlivňuje komunikaci všech kanálů, které nemají prodlevu stanovenou individuálně (ve své definici). Počáteční hodnota parametru je 0, takže věškeré zápisy probíhají na pozadí bez čekání na jejich dokončení. O prodlevách komunikace se dočtete v kapitole Časování aplikace reálného času.
- time_error_limit `[L]` — nejdelší časový interval, po který může aplikace pracovat s nezmenšujícím se skluzem. Pokud po dobu time_error_limit skluz neklesl, hlásí Control Web chybu časování a případně v aplikacích pevného reálného času zastavuje modul. Počáteční hodnota parametru je 30 sekund. Nastaví-li se hodnota parametru na infinite, chyba časování nebude hlášena. Parametr má význam pouze v aplikacích reálného času.
- hard_real_time `[L]` — logický parametr definující způsob běhu jádra aplikace reálného času. Hodnota parametru true zapíná pevný reálný čas, kdy přednostně pracují přístroje aplikace a zprávy operačního systému jsou zpracovávány jen v případě, kdy je dostatek času. V opačném případě (hodnota parametru je false) aplikace frontu zpráv zpracovává v každém časovém kroku jádra. Počáteční hodnota parametru je false.
- paint_time_limit `[L]` — nejdelší časový interval běhu aplikace pevného reálného času, po který se nezpracovává fronta zpráv operačního systému. Počáteční hodnota parametru je 750 milisekund. Správně navržená aplikace pevného reálného času nesmí pracovat ve skluzu a měla by proto frontu zpráv normálně zpracovávat i bez nuceného přerušování v intervalech paint_time_limit. Parametry hard_real_time a paint_time_limit popisuje sekce Řízení nebo vizualizace kapitoly Časování aplikace reálného času.
- process_priority `[G]` — parametr může nabývat hodnot idle, normal nebo high. Počáteční hodnota parametru je normal. Parametr ovlivňuje prioritu procesu — tedy všech jeho prováděcích toků. O procesech a prováděcích tocích pojednává kapitola Co to jsou procesy a prováděcí toky, o vlastním použití parametru process_priority se dočtete v sekci Princip časování kapitoly Časování aplikace reálného času.
- remote_sync `[L]` — logický parametr, který zapíná nebo vypíná synchronizaci měření kanálů mezi vzdálenými moduly (tedy automatické ovládání měření kanálů cizího modulu). Hodnota parametru false synchronizaci vypíná, modul na měření kanálu cizího modulu nečeká, a může proto pracovat se starou hodnotou kanálu. Počáteční hodnota parametru je true.
- remote_sync_timeout `[L]` — nejdelší časový interval, po který čeká jádro na dokončení měření kanálů vzdáleného modulu. Parametr má význam pouze v situaci, kdy má parametr remote_sync hodnotu true. Počáteční hodnota parametru remote_sync_timeout je 5 sekund. Použití i chování obou parametrů — remote_sync_timeout i remote_sync — podrobně popisuje sekce Synchronizace modulů kapitoly Modulární a distribuované aplikace.
- show_timing_info `[L]` — logický parametr, který řídí zobrazení "Okna časování". Okno se zobrazí, má-li parametr hodnotu true. Počáteční hodnota parametru je opačná (false), a okno proto není standardně otevíráno. Popis okna i jeho jednotlivých údajů obsahuje sekce Okno časování kapitoly Časování aplikace reálného času.
- procedure_instruction_limit `[L]` — největší povolený počet instrukcí provedených v jednom běhu procedury. Pokud počet vykonaných instrukcí procedury překročí hodnotu tohoto parametru, Control Web proceduru přeruší a ukončí aktuální časový krok jádra. Parametr je vysvětlen v sekci Nekonečné smyčky a dlouhé algoritmy kapitoly Programování a procedury — OCL.
- independent_procedure_execution `[L]` — logický parametr ovlivňující chování procedur. Procedury (kromě systémové událostní procedury OnActivate) jsou typicky volány jako podprogramy, což může v případě použití přerušovaích příkazů pause, wait a yield vést na chybné rekurzivní volání. Standardně (hodnota parametru independent_procedure_execution je false) je proto použití přerušovacích příkazů mimo proceduru OnActivate zakázáno. Hodnota parametru true povolí nezávislý (indepenent) běh všech procedur, takže je nutné všechna rekurzivní volání explicitně programově ošetřit. Programy starších verzí systému Control Web (verze 3.11SP4 a nižší) z kompatibilních důvodů tento parametr automaticky nastavují na hodnotu true. Parametr je podrobně popsán v sekci Rekurzivní volání a zpožďující instrukce kapitoly Programování a procedury — OCL.
- skip_init_outputs `[L]` — logický parametr řídící první zápis inicializačních hodnot výstupních kanálů. Parametr ovlivňuje jednak způsob komunikace a jednak způsob inicializace. Počáteční nastavení parametru je false. Tehdy se inicializační hodnoty všech výstupních kanálů zapisují do technologie ještě před rozběhem aplikace. Podrobně je význam parametru popsán v sekci Inicializace dat kapitoly Časování aplikace reálného času.
- skip_init_procedures `[L]` — logický parametr řídící prvotní volání procedur spojených s inicializací přístrojů. Procedury při inicializaci volají typicky řídicí přístroje — například control nebo switch. Počáteční hodnota parametru je false, takže veškerá volání procedur proběhnou v plném rozsahu. Parametr je popsán v sekci Rozběh přístrojů, startup kapitoly Časování aplikace reálného času.
- disable_init_messages `[L]` — logický parametr řídící posílání prvotních inicializačních zpráv. Během své inicializace zprávy typicky posílají řídicí a ovládací přístroje — například control nebo switch. Počáteční hodnota parametru je false, takže se veškeré zprávy uplatní v plném rozsahu. Parametr je popsán v sekci Rozběh přístrojů, startup kapitoly Časování aplikace reálného času.
- log_window `[G]` — logický parametr ovlivňující viditelnost "Okna zpráv". Pokud je parametr nastaven na hodnotu true, bude okno zobrazeno, v opačném případě nikoli. Počáteční hodnota parametru je true.
- log_window_history `[G]` — počet zpráv, které jsou zobrazeny v každé záložce "Okna zpráv". Nejstarší zprávy se při překročení takto definovaného počtu automaticky ze seznamu odstraní. Odstraněné zprávy tak zůstávají pouze v souborech zpráv. Počáteční hodnota parametru log_window_history je 500.
- clear_log_on_start `[G]` — logický parametr — pokud je nastaven na hodnotu true, jsou při startu aplikace vymazány obsahy záložek "Okna zpráv". V opačném případě (hodnota parametru je false) zůstanou v záložkách předchozí zprávy. Počáteční hodnota parametru je true.
- ignore_same_message `[G]` — logický parametr, který povoluje filtraci stejných po sobě jdoucích zpráv. Vyskytnou-li se během intervalu vymezeného parametrem ignore_time_interval shodné zprávy, je v případě nastavení parametru ignore_same_message na hodnotu true do záložky vypsána pouze jedna zpráva. V opačném případě (hodnota false) budou do záložky zapsány všechny zprávy. Počáteční hodnota parametru je true.
- ignore_time_interval `[G]` — časový interval, po který je aktivní mechanizmus filtrace shodných zpráv (sama filtrace se zapíná či vypíná parametrem ignore_same_message). Po uplynutí stanoveného intervalu je vypsána shodná zpráva bez ohledu na předchozí zápisy. Počáteční hodnota parametru je 0,5 sekund.
- log_file_size `[G]` — maximální velikost souboru zpráv. Všechny zprávy vypisované do záložek "Okna zpráv" jsou automaticky zapisovány také do příslušného 'log' souboru. Při překročení definované velikosti souboru jsou z něj odstraněny nejstarší zprávy. Počáteční hodnota parametru je 64, přičemž jednotka tohoto parametru je KB (Kilobyte).
- run_project_timeout `[G]` — maximální délka trvání jedné fáze spuštění distribuované aplikace. Spouštění distribuované aplikace probíhá ve čtyřech krocích, přičemž v každém kroku se prodleva spuštění vždy počítá od začátku. Počáteční hodnota parametru je 120 sekund (2 minuty). Více se o modulárních a distribuovaných aplikacích dočtete v kapitole Modulární a distribuované aplikace.
- show_network_info `[G]` — logický parametr, který řídí zobrazení "Okna síťové komunikace". Okno se zobrazí, má-li parametr hodnotu true. Počáteční hodnota parametru je opačná (false), a okno proto není standardně otevíráno.
- allow_open_connections `[G]` — logický parametr povolující v dané modulární aplikaci použití nekryptovaných spojení. Počáteční hodnota parametru je false a spojení se proto standardně uzavírají vždy kryptovaná. Parametr ovlivňuje také příchozí spojení (požadavky z cizích počítačů) — cizí počítač úspěšně naváže otevřené (nekryptované) spojení jen v případě, že to bude hodnotou parametru true povoleno. Tato situace nastává například při použití Java appletů systému Control Web — applety komunikují nekryptovaně a vynucují si proto nastavení allow_open_connections na true. Počáteční hodnota parametru je false.
- allow_attach `[L]` — logický parametr povolující attach připojení cizího modulu. Spojení attach bude navázáno jen bude-li mít parametr allow_attach hodnotu true. Počáteční nastavení parametru je false.
- attach_level `[L]` — číselný parametr definující nejmenší možná přístupová práva nutná k úspěšnému navázání attach spojení. Pokud parametr není uveden, nevyžaduje se od cizího (připojujícího se) systému autorizace. V opačném případě se cizí systém musí před začátkem komunikace nejprve autorizovat. Standardně parametr není uveden a attach spojení proto nevyžaduje autorizaci. Parametr má význam jen je-li v aplikaci aktivní systém správy uživatelských práv. O parametrech allow_attach a attach_level se dočtete také v kapitole Modulární a distrubuované aplikace.

Kromě popsaných parametrů navíc systém Control Web načítá také parametry time_step_limit, crash_calling, dv_read_only a tidy_bitmaps, které používaly předchozí verze systémů Control Web a Control Panel. Tyto parametry chování aplikace nijak neovlivňují.