1. èást
Transkript
1. èást
PSP3 Editor procesní stanice Obsluha programu Verze 3.20 R Aplikace Mikroprocesorové Techniky Veškerá práva vyhrazena. Žádná část této publikace nesmí být kopírována, přenášena nebo ukládána na jakémkoli médiu nebo překládána do cizích jazyků jakýmkoli způsobem bez písemně vyjádřeného souhlasu výrobce. AMiT spol. s r.o. nepřejímá žádné záruky, co se týče obsahu této publikace. AMiT spol. s r.o. si dále vyhrazuje právo měnit věcný obsah bez závazku tyto změny oznámit jakékoli osobě či organizaci. AMiT je registrovaná ochranná známka. V publikaci použité názvy produktů, firem apod. mohou být ochrannými známkami nebo registrovanými ochrannými známkami příslušných vlastníků. Copyright (c) 2001, AMiT® spol.s r.o. AMiT spol.s r.o. Chlumova 17, 130 00 Praha 3, Česká republika tel./fax 02/22 78 01 00, 22 78 15 16, 22 78 22 97 Kollárova 6a, 612 00 Brno, Česká republika tel./fax: 05/41 21 72 20, 49 21 04 03 Starobělská 13, 700 30 Ostrava, Česká republika tel./fax: 069/6708 300 INSTALACE A ZÁKLADY OBSLUHY PROGRAMŮ . . . . . . . . . . . . . . . . . . . . . . . . 6 1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2 Instalace programů na PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3 Základy obsluhy programů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.1 Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2 Dialogová okénka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3 Horké klávesy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.4 Okna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 PSP - SPRÁVCE PROJEKTŮ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 PSP - správce projektů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Generování aplikace procesní stanice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Obsluha programu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Start a ukončení programu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Stručný přehled menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Práce s projektem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Komunikace ve Windows95 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Spojení pomocí standardního COM portu PC . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Spojení pomocí externího převodníku 232TO485PC A . . . . . . . . . . . . . . . . . . 4.3 Spojení pomocí karty PC485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Spojení pomocí modemu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 14 14 15 15 15 23 26 27 29 29 30 PSE - EDITOR PROCESNÍ STANICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Změny oproti starším verzím programu PSE . . . . . . . . . . . . . . . . . . . . . . 3 Filozofie procesní stanice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Struktura univerzální procesní stanice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Editor PSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Rozšiřování systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Editor procesní stanice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Start a ukončení programu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Stručný přehled menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Návrat editací zpět (undo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Zadání informací o procesní stanici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Popis aplikace procesní stanice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Konfigurace procesních vstupů a výstupů . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.1 Vstupně-výstupní subsystém . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.2 Definice fyzického V/V kanálu procesní stanice . . . . . . . . . . . . . . . . . . . . . . 4.6.3 Popis použitých V/V signálů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7 Procesní databáze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.1 Filosofie procesní databáze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.2 Definice proměnné . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.3 Definice počátečních hodnot proměnné . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8 Definice zpracujících procesů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8.1 Definice procesu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9 Popis procesu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9.1 Funkční moduly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9.2 Parametry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9.3 Pseudojazyk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.10 Proces - logický automat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 33 34 35 35 36 37 38 38 38 47 47 49 50 50 51 58 58 58 59 60 62 64 66 66 67 69 72 4.11 Proces - reléové schéma . . . . . . . 4.11.1 Ovládání editoru . . . . . . . . . . . . 4.12 Spouštění procesů . . . . . . . . . . . . 4.13 Kontrola navržené procesní stanice 4.13.1 Expertní kontrola . . . . . . . . . . . 4.13.2 Automatická tvorba dokumentace 4.13.3 Analýza datových toků . . . . . . . 4.14 Ladění aplikace . . . . . . . . . . . . . . 4.14.1 Inspektor databáze . . . . . . . . . . 4.14.2 Inspektor modulů . . . . . . . . . . . . 4.14.3 Watch-režim reléového schématu 4.15 Úschova dat z procesní stanice . . . 4.16 Nastavování parametrů . . . . . . . . 4.16.1 Systém . . . . . . . . . . . . . . . . . . . 4.16.2 Reléové schéma . . . . . . . . . . . . ............................... ............................... ............................... ............................... ............................... .............................. ............................... ............................... ............................... ............................... ............................... ............................... ............................... ............................... ............................... 5 Síťové aplikace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 82 84 86 86 87 88 90 90 92 93 94 94 94 95 98 LCDSHELL - EDITOR TERMINÁLOVÝCH OBRAZOVEK . . . . . . . . . . . . . . . . . . 99 1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 2 Filozofie univerzálního LCD displeje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 2.1 Struktura univerzálního LCD displeje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 2.2 Editor LCDSHELL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 3 Editor displejů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 3.1 Start a ukončení programu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 3.2 Stručný přehled menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 3.3 Základní informace o shellu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 3.4 Popis procesní stanice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 3.5 Definice zobrazujících displejů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 3.5.1 Co je to displej? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 3.5.2 Definice displeje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 3.6 Popis displeje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 3.6.1 Funkční prvky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 3.6.2 Parametry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 3.7 Expertní kontrola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 3.8 Automatická tvorba dokumentace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 3.9 Nastavování parametrů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 3.10 Simulátor terminálu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 OVLÁDÁNÍ TERMINÁLŮ ŘADY APT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Popis terminálu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Hlavní části terminálu APT110, APT130 a ART400 . . . . . . . . . . . . . . . . . . . . 3 Obsluha terminálu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Přihlášení se do systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Obecná pravidla obsluhy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Obsluha na systémové úrovni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 F1 - Uživatel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 F2 - Databáze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 F3 - Deník . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 F4 - SHELL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5 F5 - Čas&Datum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 F8 - Konec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 120 121 121 123 123 125 127 127 127 128 129 129 130 DTE - EDITOR FORMÁTOVACÍCH ŘETĚZCŮ PROVOZNÍHO DENÍKU . . . . . 1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Popis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Uživatelské kódy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Definice formátovacího řetězce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Editor DTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Start a ukončení programu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Ukončení programu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Začlenění programu do PSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Ovládání programu - stručný přehled menu . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Příklad parametrizace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 132 133 133 133 135 135 135 135 135 138 ZAVEDENÍ APLIKACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Konfigurace procesní stanice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Nastavení HW konfigurace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Nastavení SW konfigurace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Informace na displeji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Propojení procesní stanice s PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Zavedení operačního systému NOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Zavedení a spuštění aplikace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 142 143 143 143 148 149 150 151 STAVOVÉ A CHYBOVÉ INFORMACE, PROVOZNÍ DENÍK . . . . . . . . . . . . . . . . 1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Provozní deník . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Význam stavových LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Seznam chyb systému DB-Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 155 156 157 159 Instalace a základy obsluhy programů Instalace a základy obsluhy programů Instalace a základy obsluhy programů 6 Instalace a základy obsluhy programů 1 Úvod Tato příručka podrobně popisuje postup a práci s návrhovými programovými prostředky, které umožňují vytvořit uživatelskou aplikaci na řídicích systémech firmy AMiT spol. s r.o. Text je pro přehlednost rozdělen do několika dílčích částí: ! Instalace a základy obsluhy programů Čtenář zde nalezne informace důležité pro instalaci celého balíku programů na svůj počítač. Dále se seznámí se základní obsluhou všech programů. ! PSP - Správce projektů V této části je podrobně popsán význam a základní funkce programu PSP, který zastřešuje celý návrhový systém. ! PSE - Editor procesní stanice Stěžejní část celé příručky, v které je podrobně popsán nejen způsob tvorby vlastní algoritmizace aplikace, ale i základní filozofie programového vybavení procesních stanic na systémové úrovni. ! LCDSHELL - Editor terminálových obrazovek V této části je podrobně vysvětlena filozofie řízení obsluhy terminálů procesní stanicí. ! Ovládání terminálu řady APT Náplní této části je uživatelský popis obsluhy terminálů řady APT. Čtenář se tak seznámí s možnostmi programového vybavení procesní stanice při obsluze terminálu koncovým uživatelem. Text doporučujeme použít jako součást dokumentace k aplikaci, která se předá koncovému uživateli. ! DTE - Editor formátovacích řetězců provozního deníku Tato část popisuje program pro parametrizaci formátovacích řetězců provozního deníku. Znalost programu DTE ocení tvůrce aplikace, pokud potřebuje tisknout provozní deník na tiskárně připojené k procesní stanici nebo zobrazovat provozní deník na terminálu, případně zpracovávat na vizualizační stanici. ! Zavedení aplikace Čtenář zde nalezne důležité informace, bez nichž nelze zavést a spustit program v procesní stanici. Před prvním zapnutím procesní stanice by si měl každý uživatel přečíst právě tuto část. ! Stavové a chybové informace, provozní deník Tato část popisuje provozní deník, který slouží ke shromažďování hlášení a případných chyb, které se vyskytnou za provozu procesní stanice. Součástí textu je seznam chyb a hlášení a popis stavových LED stanice. ! ! Dále uvádíme stručný přehled příruček firmy AMiT, které se týkající tvorby aplikací PSE: Knihovna funkčních modulů a zobrazovacích prvků V této příručce nalezne čtenář přehled všech funkčních modulů editoru procesní stanice včetně podrobného popisu funkce a parametrů. U každého funkčního modulu je uveden ilustrativní příklad použití. Další kapitolou je přehled všech zobrazovacích prvků programu LCDSHELL. Uživatelská příručka PSE Tato příručka je pomocníkem tvůrce aplikace, ze které se doví, jak se který problém řeší. Příručka je rozdělena do tematických okruhů - např. zpracování vstupních signálů, akční zásahy, regulace, archivace, atd. Každý okruh nabízí doporučení, jak realizovat typické algoritmy a činnosti stanice pomocí modulů PSE a prvků LCDSHELL. Na této příručce se momentálně pracuje a není prozatím k dispozici. Instalace a základy obsluhy programů 7 Instalace a základy obsluhy programů 2 Instalace programů na PC Instalace Na instalační disketě jsou vždy přítomny soubory INSTALL.TXT a README.TXT. V těchto souborech naleznete aktuální informace nutné k úspěšné instalaci balíku PSE. Instalace probíhá automaticky s vytvořením doporučené adresářové struktury. Tuto strukturu nedoporučujeme měnit, všechny odkazy na soubory v dalších příručkách předpokládají předepsanou strukturu adresářů. Instalační program nakopíruje všechny potřebné soubory na pevný disk i s nastavením parametrů všech programů týkající se aktuálního umístění programu na disku. Struktura adresářů Doporučená struktura adresářů je následující ----------BIN | spustitelné soubory ----------LIB | knihovní moduly ----------APL | APL soubory ----------NOS | operační systém NOS ----------EXAMPLES příklady použití Seznam souborů Na instalační disketě (a samozřejmě také po instalaci PSE na pevném disku) naleznete soubor F_PSE.DOC, který obsahuje konkrétní popis všech souborů dodávaných v instalaci programů PSE. Nároky na systém Kompletní instalace balíku vyžaduje cca 6 MB na pevném disku. Programy vyžadují cca 4 MB RAM a lze je spustit pod operačním systémem DOS verze 5.0 a vyšší. Úprava souboru AUTOEXEC.BAT Je třeba nastavit systémovou proměnnou PATH na cestu ke spustitelným souborům v adresáři PSP3\BIN. Máte-li nainstalován generátor PSE v adresáři C:\PSP3\BIN, pak nastavte proměnnou PATH na hodnotu PATH=C:\PSP3\BIN Soubor COMMAND.COM Cesta na příkazový procesor COMMAND.COM operačního systému DOS musí být správně nastavena v proměnné COMSPEC, nebo cesta na tento soubor musí být zadána v proměnné PATH. Pakliže toto nebude splněno, nebude správně pracovat správce projektu PSP. Bližší informace k systémovým proměnným PATH a COMSPEC najdete v každém manuálu k operačnímu systému DOS. Typy souborů Při práci s generátorem PSE se setkáte s několika typy souborů, které se liší příponou. Seznam těchto typů je uveden v následující tabulce. Přípona Popis PSP projekt pro správce projektu PSP PSE soubor z editoru PSE LCD soubor z editoru LCDSHELL LIB binární soubor obsahující knihovní moduly APL binární soubor obsahující obecně popis rozhraní ABS binární soubor pro zavedení aplikačního programu do stanice Instalace a základy obsluhy programů 8 Instalace a základy obsluhy programů Přípona Popis HEX soubor ve formátu Intel Hex pro zavedení operačního systému do stanice OBP OBL OBD binární soubory, meziprodukt při generování aplikace OPT binární soubor s parametry pro program PSE nebo LCDSHELL PRM soubor s parametry prostředí CFG konfigurační soubory pro programy PSE a PSP LST výsledek expertní kontroly TXT soubor vytvořený automatickou tvorbou dokumentace aplikace ERR DBG $$$ soubory vzniklé při generování aplikace, po úspěšném vygenerování aplikace lze tyto soubory smazat INF soubor vzniklý při generování aplikace s informacemi pro program PSE AUX soubor vzniklý při generování aplikace s informacemi pro Watch-režim reléového schéma Instalace a základy obsluhy programů 9 Instalace a základy obsluhy programů 3 Základy obsluhy programů V této kapitole jsou popsány obecné zásady práce s programy, které jsou psány nad knihovnou TVision (produkt firmy Borland). Stejný charakter ovládání mají programy PSP, PSE, LCDSHELL a DTE, tedy všechny dialogově orientované programy v dodávaném balíku PSE. Uživatelé znalí produktů firmy Borland International - zejména integrovaných vývojových prostředí jazyků Pascal nebo C++ mohou zbytek této kapitoly směle přeskočit, neboť bude řeč o věcech jim důvěrně známých. Celý systém ovládání je lehce zvládnutelný a do velké míry intuitivní. Ovládání programu by nemělo nikomu činit zvláštní potíže. 3.1 Menu Menu ! ! ! ! 3.2 Menu (v některých příručkách též nabídka) na horním řádku obrazovky je základním nástrojem pro řízení práce programu. Menu zadává programu určitý příkaz, vyvolává podmenu nebo dialogová okénka. Existují celkem čtyři způsoby výběru podle menu: stiskem horké klávesy <F10> aktivujeme řádek menu a pomocí kurzorových šipek a stiskem klávesy <Enter> vybereme položku nebo stiskem horké klávesy <F10> aktivujeme řádek menu a stiskem zvýrazněného písmene (např. klávesa <S> pro položku Soubor) vybereme položku nebo vybereme položku přímo stiskem klávesy <Alt> a zvýrazněného písmene (např. <Alt+S> pro položku Soubor) nebo "klikneme" na položku menu myší. Pro pohyb v podmenu, která se "rozbalují" od každé položky hlavního menu, lze použít kurzorových šipek, zvýrazněných písmen nebo kliknutí myší. Pro návrat v menu o jednu úroveň výše bez volby kterékoli položky použijeme klávesu <Esc> nebo klikneme myší na okno, se kterým chceme pracovat, tedy které se má stát aktivním. Dialogová okénka Dialogová okénka Při zadávání údajů do programu jsou hojně využita dialogová okénka. Jsou to speciální okna, která obsahují informativní a/nebo zadávané údaje a řídicí prvky (budou popsány dále). Každý z těchto prvků je popsán; jedno písmeno popisu je zvýrazněno stejně jako u menu (např. Odsazování). Jeden z prvků dialogového okénka je vždy aktivní - jeho popis je zvýrazněn - s tímto prvkem budeme pracovat. Vybrat jiný prvek lze pomocí kláves <Tab> (směrem vpřed) a <Shift+Tab> (směrem vzad), klávesou <Alt> a zvýrazněným písmenem nového prvku nebo kliknutím myší na tento nový prvek. Tlačítko (button) Tlačítka vypadají na obrazovce jako "stínovaný text"; vyvolávají okamžitě provedení určité specifické akce, např. ukončení editace v dialogovém okénku. Jedno z tlačítek v dialogovém okénku může být tzv. implicitní (viz dále) - toto tlačítko je rovněž zvýrazněno, i když jinou barvou, než popis aktivního prvku v dialogovém okénku. Tlačítka se ovládají pomocí tří speciálních kláves - <Mezerník>, <Enter> a <Esc>. Mezerník simuluje "stisk" právě vybraného (aktivního) tlačítka, <Enter> stiskne implicitní tlačítko, obvykle tlačítko "OK" (ukonči editaci, akceptuj nové hodnoty), <Esc> stiskne tlačítko "Cancel" (zruš výsledky editace, navrať se k minulým hodnotám). Je třeba upozornit na to, že výběr tlačítka pomocí myši nebo "horké klávesy" <Alt+písmeno> má za následek zároveň jeho stisknutí, zatímco při výběru pomocí <Tab> a <Shift+Tab> je ke stisknutí potřeba klávesa <Mezerník>. Instalace a základy obsluhy programů 10 Instalace a základy obsluhy programů Přepínače (check box) Přepínače umožňují zapínat a vypínat nejrůznější volby. Je-li volba zapnuta, zobrazuje se přepínač jako [x], je-li vypnuta, jako [ ]. Přepnutí přepínače provádíme stejným způsobem, jako stisk tlačítka, tedy kliknutím myší, stiskem horké klávesy <Alt+písmeno> nebo výběrem a klávesou <Mezerník>. Existuje zde jedna odlišnost od tlačítek - přepínače se vyskytují vždy ve skupinách. Všechny přepínače jedné skupiny leží vždy v jednom poli, barevně odlišeném od zbytku dialogového okénka. Toto pole se stane aktivním po výběru klávesami <Tab>, <Shift+Tab>, zatímco uvnitř pole vybíráme jednotlivé přepínače pomocí kurzorových šipek. Je-li pole přepínačů aktivní, je rovněž možné měnit stav jeho přepínačů místo <Alt+písmeno> zkrácenou horkou klávesou <písmeno> (tedy např. <A> místo <Alt+A>). Rádiová tlačítka (radio buttons) Rádiová tlačítka jsou velmi podobná přepínačům - výběr i přepínání se provádí zcela shodně. Oba dva typy prvků se liší pouze v jediné věci: zatímco přepínače umožňují zapnutí či vypnutí kterékoli volby nezávisle na volbách ostatních, rádiová tlačítka umožňují zapnutí právě jedné volby v poli tlačítek - jde tedy o výběr jedné z více možností (obdoba volby rozsahu radiopřijímače - DV/SV/KV/VKV - odsud i název). Rádiová tlačítka je možné od přepínačů odlišit i vzhledově - zapnutá volba se zobrazuje jako (.), vypnutá jako ( ). Vstupní pole (input line) Vstupní pole (vstupní řádka) umožňuje zadávání textů a čísel v dialogových okénkách. Po výběru pole kliknutím myši, horkou klávesou <Alt+písmeno> nebo klávesami <Tab> a <Shift+Tab> do pole zapíšeme požadovaný údaj. Při zápisu lze používat běžných editačních kláves <Del>, <BkSp> a kurzorových šipek, lze přepínat režim vkládání a přepisování pomocí klávesy <Ins>. Pozor na to, že klávesa <Enter> obvykle ukončuje práci s celým dialogovým okénkem - pro přesun na následující pole použijte klávesu <Tab> nebo myš. Po výběru vstupního pole je celý text v poli podbarven. Při stisku jakékoli klávesy kromě výše zmíněných editačních kláves se okamžitě celý text smaže a bude nahrazen nově zadaným textem. Pokud tedy chceme stávající text pouze poopravit, je třeba nejprve stisknout nějakou editační klávesu různou od <Del>, např. kurzorovou šipku. Pak lze v původním textu provádět opravy. Historie Některá vstupní pole - zejména jde o jména souborů apod. - jsou spojena s tzv. historií seznamem několika dříve zadaných hodnot. Historie se zobrazuje jako šipka dolů vpravo vedle editačního pole. Je-li vstupní pole aktivní, zobrazíme historii kliknutím myší na její šipku nebo klávesou <Šipka dolů>. Vybereme požadovanou položku pomocí kurzorových šipek a výběr ukončíme pomocí klávesy <Enter>. Seznamy Seznam je podobný vzhledem i ovládáním historii, ale text nelze libovolně měnit, je pouze možné vybrat jednu z mnoha nabízených variant. Pro pohodlnější výběr položky ve velmi dlouhém seznamu je k dispozici tzv. inkrementální vyhledávání. To znamená, že po výběru seznamu začneme psát text, který chceme vybrat. Seznam automaticky postupně vyhledává položku, jejíž text začíná námi zapsanými písmeny. Dohledání žádané položky je samozřejmě možné pomocí kurzorových šipek. Posuvné pásky (scroll bars) Posuvné pásky slouží pro rychlý pohyb v dlouhých seznamech nebo při listování např. dlouhým textem, zobrazeným v okně. Posuvný pásek je vždy vybaven šipkami na obou koncích a posuvným jezdcem. Kliknutí na šipku odpovídá stisku kurzorové šipky v odpovídajícím směru, kliknutí mezi šipku a jezdec odpovídá posunu o šířku či délku stránky v příslušném směru. Rychlý přesun na libovolné místo v textu (seznamu) lze provést tak, že překryjeme myší jezdec, stiskneme tlačítko myši a odvedeme jezdec do potřebného místa; tam uvolníme tlačítko myši. Tento postup se nazývá "táhni a upusť" (anglicky drag and drop). Instalace a základy obsluhy programů 11 Instalace a základy obsluhy programů 3.3 Horké klávesy O horkých klávesách (angl. hot keys) jsme se již zmínili při popisu dialogových okének jedná se o klávesy, které urychlují pohyb v dialogových okénkách nebo zrychlují volby činností v menu - odpadají zdlouhavé přesuny v menu pomocí kurzorových šipek, nebo v dialogových oknech pomocí tabulátoru. Horké klávesy jsou velmi vhodnou alternativou ovládání programu, nemáme-li k dispozici myš. Jejich použití je často i rychlejší než použití myši. V programu jsou dva zásadně odlišné druhy horkých kláves - v dialogových oknech a v menu. Horké klávesy v dialogových oknech byly již popsány v předcházejících odstavcích. Tyto klávesy "překrývají" význam horkých kláves v menu - např. <Alt+X> je horká klávesa v menu pro ukončení programu a tatáž klávesa v dialogovém okně způsobí stisk tlačítka "OK". V takovém případě stisk <Alt+X> v dialogovém okně ukončí editaci a akceptuje nově zadané hodnoty. Opakovaný stisk <Alt+X> ukončí program, protože se nyní jedná o horkou klávesu menu, která byla předtím "zastíněna" horkou klávesou dialogového okna. Horké klávesy v menu jsou uvedeny jednak vpravo vedle položky menu, např. "Otevři F3" a jednak na stavovém řádku na dolním okraji obrazovky, např. "F10 Menu". 3.4 Okna Veškeré informace se zobrazují v oknech. Každé okno je orámováno - aktivní okno dvojitým a neaktivní okno jednoduchým rámečkem. Na horním okraji rámečku je uveden titulek okna a jeho pořadové číslo. Výběr okna, se kterým chceme pracovat provedeme buď kliknutím myši do tohoto okna, nebo horkou klávesou <Alt+číslo okna>, nebo můžeme jednotlivá okna postupně procházet klávesami <F6> a <Shift+F6>. Myš Aktivní okno se vždy zobrazí nahoře ve skupině oken, je tedy vždy viditelné celé. Na jeho rámečku jsou další ovládací prvky - posuvné pásky (viz odstavec 2.2), zavírací tlačítko [.] pro zrušení okna, zvětšovací/zmenšovací tlačítko [|] pro zvětšení okna na celou obrazovku a jeho opětovné zmenšení na původní rozměr a zvětšovací okraj v pravém dolním rohu rámečku pro plynulou změnu velikosti okna. Tyto prvky slouží k manipulaci s oknem pomocí myši. Přesun okna lze provést metodou táhni a upusť. Aktivní oblastí je v tomto případě titulek okna. Klávesnice Všechny operace mají své klávesové ekvivalenty přístupné jak pomocí menu (položka Okna), tak pomocí horkých kláves. Volba Okna | Přesuň (resp. <Ctrl+F5>) umožňuje přesun okna pomocí kurzorových šipek případně změnu jeho velikosti při držení klávesy <Shift> a použití kurzorových šipek. Volba velikosti a polohy se ukončí klávesami <Enter> (akceptuj) nebo <Esc> (vrať se k původní). Instalace a základy obsluhy programů 12 PSP - Správce projektů PSP - Správce projektů PSP - Správce projektů 13 PSP - Správce projektů 1 PSP - správce projektů Co je PSP Prostředí PSP je určeno pro tvorbu aplikací pomocí návrhových systémů PSE a LCDSHELL. Prostředí integruje všechny nezbytné kroky nutné pro sestavení funkční aplikace pro procesní stanice z produkce AMiT (ADiS, ART400, AMAP, AMiRiS). Ačkoliv je možné postupovat v jednotlivých krocích a volat nezbytné programy samostatně, prostředí PSP usnadňuje všechny tyto kroky tím, že jsou ve velké míře zautomatizovány. Příručka je určena všem, kteří samostatně navrhují procesní stanice systému DB-Net, a programátorům, kteří připravují programové vybavení procesních stanic, nebo je rozšiřují o nové funkční moduly. 1.1 Generování aplikace procesní stanice Projekt Projekt je souhrn všech činností nutných k sestavení funkčního programu pro procesní stanici. Z hlediska prostředí PSP je projekt datový soubor, který obsahuje všechny informace nutné pro vytvoření aplikace procesní stanice. Sestavení každé aplikace je tedy řízeno jedním projektem. Části projektu Každý projekt sestává z několika částí, které zahrnují informace o souboru pro editor procesní stanice PSE, o typu procesní stanice a o parametrech pro další programy, které jsou spouštěny z PSP a o kterých uživatel nemusí znát žádné podrobnosti. Tvorba aplikace V následujícím obrázku je zobrazeno schéma postupu při vytváření aplikačního programu pro procesní stanici. Aplikační program pro stanici vytváříme v editoru PSE, který je popsán v části Editor procesní stanice PSE. Spolu s ním může být v aplikaci zahrnuto řízení zobrazovacího a ovládacího prvku zapojeného přímo na stanici, které je vytvořeno editorem LCDSHELL (např. terminál APT110 připojený na linku RS232). Tyto dva programy generují soubory, které jsou následně sestavovány spolu s knihovními moduly do funkčního programu s příponou .ABS programem RL166. V této chvíli končí generování programu (soubor .ABS je plnohodnotný program). Posledním krokem je samotné zavedení aplikace do procesní stanice pomocí síťového zavaděče. Konkrétní postup při manipulaci se stanicí je popsán v části Postup při tvorbě aplikace. Obdélníkem je vyznačena činnost, která je integrována do prostředí PSP a která je prováděna zcela automaticky. Zavedení aplikace do stanice je rovněž integrováno do prostředí. PSE *.PSE PSL *.OBP LCDSHELL *.LCD LCDSHELL generace *.OBL DTE *.DTE DTE *.OBD RL166 *.ABS knihovny PSP zavaděč procesní stanice PSP - Správce projektů 14 PSP - Správce projektů 2 Obsluha programu Základní obsluha uživatelského rozhraní, jako jsou menu, dialogová okénka, horké klávesy je popsána v části Základy obsluhy programů. 2.1 Start a ukončení programu Program PSP startujeme pomocí příkazu Start programu PSP3 [soubor] ! soubor Parametr povelového řádku není povinný. Jeho význam je tento: Jméno souboru projektu, který se po startu automaticky načte. Není-li tento parametr použit, vytvoří se nový projekt. Ukončení programu Ukončení provedeme volbou Soubor | Konec nebo horkou klávesou <Alt+X>. Pokud máme otevřeny rozpracovaný projekt, program automaticky projekt uloží spolu s nastavením prostředí. 2.2 Stručný přehled menu Nejprve uvedeme stručný přehled všech položek menu programu PSP s krátkým komentářem k prováděným činnostem. Podrobný popis vybraných činností bude uveden v následujících odstavcích. Projekt Menu Projekt zajišťuje veškerou práci s projektem. Projekt | Nový Založení nového, zatím nepojmenovaného projektu. Touto operací začínáme, chceme-li vytvořit nový projekt. Pokud máme již nějaký projekt otevřený, automaticky se uzavře a uloží. Projekt | Otevři <F3> Otevření již existujícího projektu pro editaci. Pokud máme již nějaký projekt otevřený, automaticky se uzavře a uloží. PSP - Správce projektů 15 PSP - Správce projektů Obr. 1: Otevření existujícího projektu Projekt | Zavři Zavření rozpracovaného projektu. Bylo-li něco v projektu během tvorby aplikace pozměněno a změny dosud nebyly uloženy na disk, program automaticky projekt uloží. Jedná-li se o nový (dosud nepojmenovaný) projekt, je uživatel vyzván k zadání jména nově vytvářeného projektu. Tato volba je nepřístupná, není-li žádný projekt otevřen. Projekt | Ulož <F2> Uloží rozpracovaný projekt na disk. Jedná-li se o nový (dosud nepojmenovaný) projekt, je autor aplikace vyzván k zadání jména nově vytvářeného projektu. Tato volba je nepřístupná, není-li žádný projekt otevřen. Projekt | Ulož jako Uloží rozpracovaný projekt na disk pod novým jménem. Autor je vyzván, aby toto nové jméno zadal. Tuto funkci lze využít jako alternativu pro vytváření nového projektu, který je podobný již dříve vytvořenému projektu - otevřeme již hotový projekt, uložíme pod novým jménem a editujeme pouze rozdíly mezi oběma projekty. Tato volba je nepřístupná, není-li žádný projekt otevřen. Projekt | Vlož PSE Umožňuje vložit do projektu jméno souboru (soubor s příponou .PSE), který bude zpracováván editorem PSE. Takový soubor může být v projektu pouze jediný. Zadáme-li jméno souboru, který neexistuje, bude po spuštění programu PSE vytvořen. Projekt | Vlož LCD Umožňuje vložit do projektu jméno souboru (soubor s příponou .LCD), který bude zpracováván editorem terminálových obrazovek LCDSHELL. Takový soubor může být v projektu pouze jediný. Zadáme-li jméno souboru, který neexistuje, bude po spuštění programu LCDSHELL vytvořen. Projekt | Vlož DTE Umožňuje vložit do projektu jméno souboru (soubor s příponou DTE), který bude zpracováván editorem formátovacích řetězců provozního deníku DTE. Takový soubor může být v projektu pouze jediný. Zadáme-li jméno souboru, který neexistuje, bude po spuštění programu DTE vytvořen. PSP - Správce projektů 16 PSP - Správce projektů Projekt | Vlož položku <Ins> ! ! ! ! Umožňuje vložit do projektu jméno souboru. Zadáním příkazu nebo klávesou <Ins> v okně projektu se vyvolá dialogové okénko s výběrem typu souboru. Lze volit typy souborů: PSE Jméno souboru zpracovávaného editorem PSE. Tato volba provede totéž co příkaz Projekt | Vlož PSE. LCD Jméno souboru zpracovávaného editorem LCDSHELL. Tato volba provede totéž co příkaz Projekt | Vlož LCD. DTE Jméno souboru zpracovávaného editorem DTE. Tato volba provede totéž co příkaz Projekt | Vlož DTE. Jiný Jméno souboru jiného typu. Tato volba se běžně vůbec nepoužívá, má smysl pouze ve speciálních aplikacích. Projekt | Zruš položku <Del> Zruší aktuálně nastavenou (zvýrazněnou) položku v projektu, tedy jeden ze souborů s příponou .PSE, .LCD nebo .DTE. Projekt | Prohlédni Otevře prohlížeč textových souborů (např. pro prohlédnutí dokumentace vytištěné do souboru). Projekt | DOS shell Bez ukončení programu PSP se volá příkazový řádek systému MS-DOS. Pro návrat do prostředí PSP je třeba použít příkaz operačního systému DOS EXIT. Projekt | Konec <Alt+X> Ukončení práce s programem PSP. Pokud je rozpracován nějaký projekt, je automaticky uzavřen. Poté se řízení vrací operačnímu systému. Generace V menu Generace se spouští vlastní generování aplikace. Výsledkem generace je soubor, který lze zavést do procesní stanice. Generace | Generuj dle změn <F9> Funkce spustí překlad pouze v případě, když se datové aplikační soubory (s příponou .PSE, .LCD nebo .DTE) od posledního překladu změnily, nebo pokud jsou překládány poprvé. Vždy se ovšem spustí sestavení aplikačního programu. Funkce je výhodné použít, máte-li v projektu více souborů (.PSE, .LCD i .DTE), ale upravujete pouze jeden (např. .PSE). Použití vede k ušetření času nutného pro překlad nezměněného souboru. Generace | Generuj vše Vždy se spustí překlad všech datových aplikačních souborů i sestavení aplikačního programu. Přenos Příkazy pro zavedení aplikačního programu do procesní stanice, nastavení data a času stanice, identifikaci stanice a nahrávání operačního systému NOS do stanice. Podrobnější popis je uveden v kapitole Práce s projektem. Volby Položky menu Volby umožňují práci s různými pomůckami a nastavení základních vlastností programu PSP. PSP - Správce projektů 17 PSP - Správce projektů Volby | Komunikace Tímto příkazem nastavujeme parametry komunikační linky, která se využívá pro přenos programu do procesní stanice, nastavování data a času stanice, identifikaci stanice a pro správnou funkci inspektora databázových proměnných stanice v programu PSE (viz popis v části PSE - Editor procesní stanice). Veškeré uvedené funkce spojené s přímou komunikací s procesní stanicí využívají komunikační protokol informačního systému DB-Net. Příkaz nastavení komunikační linky je obsažen i v programu PSE (Volby | Komunikace). Vzhledem ke shodnosti tohoto příkazu v obou programech, nezáleží na tom, kde se příkaz spustil. Nastavení je potom totožné jak v PSP tak v PSE. Pro nastavení lze použít předdefinované hodnoty anebo zvolit nové uživatelské nastavení. Volby | Komunikace | Standardní Standardní nastavení komunikační linky. Volba umožňuje zvolit následující položky: Obr. 2: Dialogové okno pro nastavení parametrů sériové linky ! ! Rychlost Nastavení tlačítka určuje rychlost s jakou budou komunikovat procesní stanice s počítačem. Doporučená rychlost je 19200 Baud. Kanál Volby určují typ sériového kanálu v počítači PC, který bude použit pro připojení procesní stanice. Jsou předdefinovány následující typy: COM1,COM2 Standardní sériové kanály počítače PC PC485(COM3) PC485(COM4) Karta PC485 z produkce firmy AMiT se dvěma kanály galvanicky oddělené linky RS485. Tyto dvě volby odpovídají HW konfiguraci karty tak, jak je nastavená z výroby: Kanál IRQ Bázová adresa PC485(COM3) 4 3E8h PC485(COM4) 3 2E8h Řízení sériových kanálů: RS485 řízená signálem RTS. 232TO485(COM1) 232TO485(COM2) Převodník linky RS232 na RS485 pro počítače PC z produkce firmy AMiT *) uživatelský Uživatelské nastavení komunikační linky, vlastní nastavení se provádí příkazem Volby | Komunikace | Uživatelské Win95 - COM Win95 - MODEM Speciální nastavení komunikační linky pro prostředí Windows95. Blíže viz kapitola 4. Komunikace ve Windows95 PSP - Správce projektů 18 PSP - Správce projektů *) Převodník se připojuje na sériový kanál COM1 (nebo COM2) do konektoru CANON 25. V současné době je převodník vyráběn pod označením 232TO485PC. ! Číslo stanice Číslo určuje adresu PC jako stanice na síti DB-Net. Dle zvyklostí systému DB-Net se pro servisní počítač (v tomto případě počítač pro tvorbu a ladění aplikace) používá číslo "31". Lze samozřejmě zvolit i jiné, musí se však zajistit, aby se na komunikační síti nevyskytovaly stanice se shodným číslem. Volby | Komunikace | Uživatelská Tento příkaz použijte pouze v případě, že pro sériovou linku, kterou používáte, nevyhovuje žádné ze standardních nastavení. Nejprve musíte pomocí příkazu v menu Volby | Komunikace | Standardní nastavit volbu kanálu na "uživatelský". Poté bude program používat nastavení zvolené ve Volby | Komunikace | Uživatelská. V dialogovém okně se postupně nastavuje číslo přerušení komunikační linky, bázová adresa, ofset adresy řízení a povel pro příjem a vysílání. Volby | Komunikace | Zavěšení modemu Tento příkaz použijte v případě, že používáte komunikaci Win95-MODEM a chcete přerušit (zavěsit) spojení. Blíže viz kapitolu 4. Komunikace ve Windows95 Volby | Typ stanice V dialogu se volí typ procesní stanice (ADiS, AMiRiS, AMAP98,...), pro kterou je projekt tvořen (viz obrázek). Tato informace je využívána jak v prostředí PSP, tak v editoru procesní stanice PSE. Obr. 3: Výběr typu procesní stanice Volby | Obrazovka | Video 25/50ř Příkaz přepíná režim zobrazení mezi 25 a 50 řádky na obrazovce. Volby | Obrazovka | Znakové sady ! ! ! ! Příkaz dovoluje nastavit dvě znakové sady. První sada se používá pro zobrazování na obrazovce a vstup z klávesnice, druhá sada se používá pro tisk dokumentace. Je možno volit ze čtyř znakových sad: Kamenických Latin-2 (kódová stránka 852) EE ANSI (kódová stránka 1250) Bez diakritiky - potlačuje českou diakritiku PSP - Správce projektů 19 PSP - Správce projektů Spouští-li se programové prostředí PSP v DOSovském okně operačního systému Windows 95 (nazývá se “Příkazový řádek”), používá se typicky pro obrazovku a klávesnici nastavení Latin-2. Nastavení pro tisk dokumentace se musí přizpůsobit připojené tiskárně. Upozornění: Nastavením znakové sady se neinstaluje žádný ovladač pro podporu češtiny. Prostředí PSP se pouze “přizpůsobí” nastavení na konkrétním počítači. Volby | Obrazovka | Barevný mód Příkaz přepíná jeden ze čtyř barevných módů (dvě barevné sady a dále černobílý a monochromatický režim). Barevná definice je pak používána i pro všechny další programy . Obr. 4: Volba barevného módu prostředí PSP Volby | Obrazovka | Editace barev Příkaz dovoluje nadefinovat uživatelské barvy pro celé prostředí PSP. Volby | Adresáře Příkaz vyvolá dialogové okénko pro zadávání adresářů. Nastavení adresářů rozhoduje o tom, kde program PSP hlédá a kam zapisuje potřebné soubory. Nastavení se uchovává v souboru projektu s příponou .PSP. Význam jednotlivých adresářů je následující: ! ! ! ! Programy a nástroje Z tohoto adresáře PSP spouští externí programy, tzn. PSE, LCDSHELL, překladače apod. LIB - knihovny Adresář, kde se nalézají knihovny funkčních modulů (soubory s příponou *.LIB). Pokud není soubor knihovny uveden v projektu s celou adresářovou cestou, hledá se v aktuálním adresáři. APL - knihovny Adresář, kde se hledají potřebné APL soubory. Každá knihovna (soubor s příponou LIB) musí mít k sobě odpovídající popisný soubor s koncovkou APL (tedy např. knihovna PSE.LIB musí mít odpovídající soubor PSE.APL). Výstupy Adresář, kam se ukládají soubory, které vznikají při generaci. Není-li zadán adresář, soubory se ukládají do aktuálního adresáře. PSP - Správce projektů 20 PSP - Správce projektů Obr. 5: Volba adresářů Okna Menu Okna umožňuje práci s okny na obrazovce - změnu jejich rozměrů, polohy, výběr aktivního okna atd. Okna | Následující <F6> Příkaz vybere následující okno jako aktivní, tedy okno, se kterým se bude nadále pracovat. Okna | Předcházející <Shift+F6> Příkaz vybere předcházející okno jako aktivní, tedy okno, se kterým se bude nadále pracovat. Okna | Zvětši/zmenši <F5> Příkaz zvětší aktivní okno z původního rozměru na plnou velikost pracovní plochy obrazovky. Je-li okno již zvětšené, opět ho zmenší na původní velikost. Okna | Přesuň <Ctrl+F5> Příkaz umožní "ručně", tedy pomocí klávesnice plynule zvětšovat, zmenšovat a přemísťovat aktivní okno. Pro přemístění používáme kurzorové šipky, pro změnu rozměru kurzorové šipky doplněné klávesou <Shift>. Ukončení operace se provede klávesou <Enter> nebo <Esc>. Okna | Dláždi Příkaz přemístí veškerá okna a změní jejich velikost tak, aby tato okna vyplnila beze zbytku celou pracovní plochu jako kachličky. Tak je zajištěno, že se okna nepřekrývají. Okna | Kaskáda Příkaz přemístí veškerá okna a změní jejich velikost tak, aby tato okna byla uspořádána "v zástupu" za sebou tak, že poslední okno vyplní celou obrazovku, následující okno je o 1 řádek a 1 sloupec menší. Tak je zajištěno, že jsou vidět titulky všech oken a lze je snadno myší vybírat. Okna | Zavři <Alt+F3> Příkaz uzavře okno. S tímto oknem nelze dále pracovat, dokud se opětovně neotevře odpovídajícím příkazem menu. PSP - Správce projektů 21 PSP - Správce projektů Okna | Uživatelská obrazovka <Alt+F5> Příkaz přepne zobrazení na výstupní obrazovku. Do výstupní obrazovky zapisují informace některé spouštěné programy (např. program pro zavedení aplikace do procesní stanice - příkaz Přenos). Po stisku libovolné klávesy se zobrazení přepne zpět do prostředí programu PSP. Info Tento příkaz zobrazí informační okno s vyznačením čísla verze programu PSP, verze distribuční sady, autorských práv a informace o jménu otevřeného projektu a velikosti volné paměti. PSP - Správce projektů 22 PSP - Správce projektů 3 Práce s projektem Projekt je soubor s příponou .PSP, který obsahuje jméno souboru s příponou .PSE (ten bude dále zpracováván editorem procesní stanice PSE) a případně soubor s příponou .LCD, který je používán editorem terminálových obrazovek LCDSHELL, případně ještě soubor s příponou .DTE používaný editorem DTE . Tato jména se zadávají v menu Projekt funkcemi Projekt | Vlož PSE nebo Projekt | Vlož LCD, příp. Projekt | Vlož DTE. Zavedením jiného souboru typu .PSE, .LCD nebo .DTE se původní soubor z projektu vypustí. Potřebujete-li vypustit některý soubor z projektu, je třeba zvýraznit daný soubor v seznamu projektu a příkazem Projekt | Zruš položku nebo stiskem <Del> daný soubor z projektu vypustit. Doporučujeme vytvořit pro každou aplikaci zvláštní adresář, ve kterém budou umístěny všechny soubory aplikace (.PSP, .PSE, příp. ještě .LCD a .DTE). Program PSP je vhodné spouštět z tohoto adresáře. Volba procesní stanice V menu Volba | Typ stanice je třeba zvolit procesní stanici, pro kterou je vytvářen aplikační program. Tuto volbu je třeba vždy nastavit, jinak nebude možné projekt sestavit! Toto nastavení je uchováno v projektu (soubor s příponou .PSP). Tvorba aplikace Poté, co je do projektu zadáno jméno .PSE a případně .LCD nebo .DTE souboru, lze začít vlastní tvorbu aplikace. V projektu pomocí kurzorových kláves zvýrazníme položku se souborem PSE a stiskneme klávesu <Enter>. Prostředí PSP spustí program PSE. Vlastní tvorbě aplikace je věnována část PSE - Editor procesní stanice. Stejným postupem vytváříme data pro řízení terminálu program LCDSHELL, jehož ovládání je popsáno v části LCDSHELL - Editor terminálových obrazovek nebo data pro formátování provozního deníku popsaného v části DTE - editor formátovacích řetězců provozního deníku. Generování aplikace Po vytvoření aplikace v programu PSE (a případné editaci terminálové obrazovky pro průmyslové terminály) je třeba vygenerovat samotný aplikační program. Generování aplikace se spustí volbou Generace | Generuj dle změn nebo funkcí Generace | Generuj vše. Rozdíl mezi těmito funkcemi spočívá v tom, že první funkce spustí překlad pouze těch souborů, u kterých došlo ke změně od poslední generace. Druhá funkce spustí vždy překlad všech souborů. Výsledkem generace je soubor s příponou .ABS, který má jméno shodné se jménem projektu. Obsah tohoto souboru se zavádí do procesní stanice. Chyby během generování aplikace Během generování by nemělo dojít k žádným chybám. Jakákoliv chyba, která se vyskytne během generování, je ohlášena spolu s popisem chyby a případně návodem na její odstranění. Volná paměť ve stanici Po úspěšném vygenerování aplikace se do informačního okna vypíše hlášení o velikosti volné paměti ve stanici. Hlášení má tento formát: Volná paměť ve stanici[B] Pro program a konstanty 13282 Pro data modulů 96030 Pro databázi 96030 Rozlišují se tři oblasti paměti. Jejich význam vysvětlíme následovně: PSP - Správce projektů 23 PSP - Správce projektů Každá aplikace se skládá z funkčních modulů či zobrazovacích prvků a databázových proměnných. Dále již nebudeme mluvit o zobrazovacích prvcích, ale platí o nich totéž co o funkčních modulech. Co se stane, vložíme-li do aplikace nový modul? Modul potřebuje paměť, do které se umístí jeho programový kód. Je-li však již v aplikaci vložen modul se stejným jménem, žádná paměť pro kód není potřeba, protože se využije programový kód již vloženého modulu. Dále nový modul potřebuje paměť pro své parametry, které programátor zadal. Tyto parametry se při běhu aplikace již nemění a jsou tedy konstantní. Nároky na paměť pro tyto parametry má nový modul nezávisle na tom, zda je již v aplikaci modul se stejným jménem vložen nebo ne. Konstantní parametry spolu s programovým kódem modulu se společně umísťují do oblasti ”Pro program a konstanty”. Dále modul potřebuje paměť pro svá vnitřní data, která se za běhu mohou měnit. Tato data se umísťují do oblasti “Pro data modulů” a podobně jako u konstantních parametrů má nároky na paměť pro tato data nový modul nezávisle na tom, zda je již v aplikaci modul se stejným jménem vložen nebo ne. Poslední oblastí, do které se umísťují databázové proměnné je oblast “Pro databázi”. Jelikož hranice těchto tří paměťových oblastí nejsou vždy pevné, ale mohou se do jisté míry posouvat, není součet volných velikostí v oblastech roven celkové volné paměti. Často se například stává, že oblast pro databázi je totožná s oblastí pro data modulů. V takovém případě jsou tato dvě čísla stejná a znamená to, že např. přidáním databázové proměnné ubude volná paměť v obou oblastech současně. Informační čísla je tedy třeba chápat, jako maximální prostor, který mohu ještě zabrat v dané oblasti za předpokladu, že nezaberu nic navíc v ostatních oblastech. Za normálního stavu jsou všechna tři čísla kladná. Pokud je aplikace příliš velká a “nevejde” se do paměti, je minimálně jedno z čísel záporné. Záporná hodnota informuje o tom, kolik paměti se v dané oblasti nedostává. Programátor musí aplikaci v daném směru “zmenšit”. Pod výpis volné paměti je ještě přidáno varovné hlášení, že aplikaci nelze spustit. Spustí-li se aplikace v procesní stanici, běží typicky v paměti FLASH. Umožňuje-li HW procesní stanice, pro kterou se aplikace generuje, aby aplikace běžela i z RAM, rozliší se při generaci tyto dva případy běhu dvěma řádky výpisu volné paměti: Volná paměť ve stanici[B] Běh z FLASH Běh z RAM Pro program a konstanty 13282 109312 Pro data modulů 96030 109312 Pro databázi 96030 109312 Je-li aplikace příliš velká a nelze ji spouštět z FLASH, zbývá někdy ještě možnost spouštět ji z RAM. Zavedení aplikace do procesní stanice Po vygenerování aplikace je možné přímo z prostředí PSP příkazem Přenos | Přenos programu zavést soubor s příponou .ABS do procesní stanice. V dialogovém okně, které se otevře po vyvolání této funkce, je možné tlačítkem volbou Jiný nastavit jiný soubor, který bude zaveden do stanice, než ten, který byl vytvořen při sestavování aplikace. Další volbou v dialogu může programátor změnit číslo stanice, do které se má program zavádět. Po vyvolání dialogu je automaticky nastaveno číslo stanice tak, jak je definované v dialogovém okně Stanice v aplikaci PSE. Upozornění! Při přepsání staré aplikace v paměti procesní stanice novou aplikací se ztratí veškeré hodnoty, které systém během své činnosti změřil anebo vypočítal (archivy apod.). Proto je nutné odzálohovat archivy případně databázové proměnné (viz kapitola Úschova dat z procesní stanice v části PSE - Editor procesní stanice). Před vlastním zavedením aplikace je nutné nejprve správně nastavit konfigurační přepínače procesní stanice a propojit počítač s procesní stanicí. Podrobný popis PSP - Správce projektů 24 PSP - Správce projektů konfiguračních přepínačů jednotlivých typů stanic a propojení komunikačním kabelem je podrobně popsáno v části Zavedení aplikace. Identifikace procesní stanice Doporučujeme před přenosem zvolit příkaz Přenos | Identifikace. Tímto způsobem zjistíte rychle, zda je správně navázána komunikace s procesní stanicí. Pokud je spojení v pořádku, zobrazí se okno s informacemi o verzi operačního systému procesní stanice a verzi systému DB-Net, údaji o generaci a uživatelem definovanými texty. Nastavení data a času Pokud zavádíte aplikaci poprvé, je vhodné vyvolat příkaz Přenos | Datum a čas a zkontrolovat, případně nastavit správný systémový čas procesní stanice. Při navázané komunikaci se zobrazí v okně datum a čas načtený z procesní stanice. Volbou Načti lze opakovaně načíst aktuální informace ze stanice. Pokud je potřeba korigovat datum a čas, použijte volbu Zapiš. Je nutné dodržet předdefinovaný formát zápisu. Další možností jak opravit systémový čas stanice je zvolit Synchronizuj s PC. V tomto případě se zapíše datum a čas shodný s údaji v osobním počítači v okamžiku spuštění volby. V případě, že jsou údaje v pořádku, ukončí se práce s oknem stiskem klávesy <ESC> anebo volbou Cancel. Zavedení operačního systému NOS do procesní stanice V některých případech je potřeba zavést do stanice operační systém NOS. Stává se to například při upgrade nové verze operačního systému. Zavedení operačního systému se provádí příkazem Přenos | Nahrát NOS. Zadáním příkazu se vyvolá dialogové okénko, ve kterém se volí číslo komunikačního portu, přes který se propojí počítač s procesní stanicí. Pokračuje se dále tlačítkem “OK” a vyvolá se speciální okno s interaktivním návodem pro zavádění. Uživatel je v postupných krocích informován o způsobu připojení procesní stanice a nastavení DIP přepínačů na stanici. Návod je uzpůsoben pro typ stanice zvolený příkazem Volby | Typ stanice. Po ukončení zavádění se program vrací zpět do prostředí PSP. Upozornění! Po zavedení operačního systému se v paměti procesní stanice zruší původní aplikační program včetně dat, které systém během své činnosti změřil anebo vypočítal (archivy apod.). Proto je nutné odzálohovat archivy případně databázové proměnné (viz kapitola Úschova dat z procesní stanice v části PSE - Editor procesní stanice) ještě před zavedením operačního systému. Po zavedení operačního systému je potřeba aplikaci nahrát znovu. PSP - Správce projektů 25 PSP - Správce projektů 4 Komunikace ve Windows95 Prostředí Windows95 je natolik odlišné od původního prostředí, do kterého byl program PSP navrhnut, že komunikační část programu PSP již nemusí uspokojivě pracovat. Proto byla do stávajícího PSP zahrnuta speciální podpora komunikace ve Windows95, která s použitím knihoven a funkcí Windows95 zabezpečí správnou komunikaci. Problém komunikace je natolik důležitý zvládnout (bez něj by nebylo možno ani nahrát přeložený program do stanice), že je mu věnována tato samostatná kapitola. Nejprve je nutno nastavit základní Volby | Komunikace | Standardní. ! ! ! komunikační parametry příkazem Parametrem “rychlost” se určí rychlost s jakou budou komunikovat procesní stanice s počítačem. Doporučená rychlost je 19200 Baud. Parametrem “číslo stanice PC” se určí adresa PC jako stanice na síti DB-Net. Dle zvyklostí systému DB-Net se pro servisní počítač (v tomto případě počítač pro tvorbu a ladění aplikace) používá číslo "31". Lze samozřejmě zvolit i jiné, musí se však zajistit, aby se na komunikační síti nevyskytovaly stanice se shodným číslem. Parametrem “kanál” se určí typ připojení, což v našem případě je: “Win95-COM” - pro pevné připojení RS232 pomocí standardního COM portu PC. Tuto volbu lze také použít pro komunikaci po RS485. V tomto případě se musí použít karta PC485 nebo externí převodník 232TO485PC A - oba jsou výrobky z produkce firmy AMiT. UPOZORNĚNÍ: Karta i převodník musí být nastaveny na automatické řízení vysílání. Toto nastavení se provádí pomocí propojek na kartě příp. pomocí DIP-přepínače na převodníku. Z výroby je standardně nastaveno automatické řízení vysílání jako vypnuté. “Win95-MODEM” - pro připojení pomocí modemu. Jako druhý krok je nutno nastavit specifické parametry pro Windows95. To se provede vyplněním dalšího dialogu, který se vyvolá stiskem tlačítka “Další parametry”. Jejich vyplnění popisují následující kapitoly 4.1. až 4.4. Po potvrzení dialogu se provede potřebná inicializace a proběhne-li úspěšně, je možno normálně s projektem PSP pracovat. Konflikty při inicializacii a komunikaci Při používání připojení typu “Win95...” může v následujících případech dojít ke konfliktu: PSP - Správce projektů 26 PSP - Správce projektů ! Pokud se použije připojení jiného typu než “Win95...” se stejným COM portem PC, pak nelze inicializovat připojení typu “Win95...”. Je nutno ukončit program PSP a znovu jej spustit. Typickým příkladem je situace, kdy stará aplikace je nastavena na komunikaci pomocí “COM2”. Po otevření uživatel vyvolá akci Přenos | Identifikace a teprve potom se pokusí nastavit připojení “Win95...” pomocí COM portu 2, což se nepodaří a je nutno ukončit a znovu spustit PSP. Správným přístupem je nastavit připojení “Win95...” jako první akci po spuštění PSP a teprve poté provést identifikaci Přenos | Identifikace. ! Pokud se použije jiný COM port PC, který sdílí stejné IRQ (např. COM1 a COM3 nebo COM2 a COM4), může dojít ke konfliktu. Ten se projeví nefunkčností připojení “Win95...”, kdy inicializace úspěšně proběhne, ale vlastní komunikace se vůbec nespustí nebo po chvíli přestane fungovat. V takovém případě je nutné vypnout a zapnout PC - nestačí jen “resetovat”! Typickým příkladem je kombinace připojení “Win95...” na COM2 a libovolným používáním COM4. Spojení PSP <-> stanice Při použití spojení pomocí modemu je nutno vzít do úvahy ještě jeden fakt, a sice že při inicializaci komunikace nedochází ještě k fyzickému spojení s protistanicí. Spojení se začne navazovat až v okamžiku potřeby (tedy v okamžiku, kdy uživatel požaduje poprvé přečíst nebo zapsat libovolná data z/do stanice) a navázání spojení může trvat řádově i minuty (podle typu a nastavení modemů a kvality telefonní sítě). Všechny časově náročné operace jako je inicializace komunikace nebo navazování spojení má uživatel možnost přerušit současným stiskem kláves Ctrl+Break. Fyzické spojení modemů se přerušuje až v okamžiku ukončení PSP. Pokud chcete spojení ukončit dříve (například po prohlédnutí dat) použijte příkaz Volby | Komunikace | Zavěšení modemu. 4.1 Spojení pomocí standardního COM portu PC Je nutno vyplnit jediný parametr “Kanál COM”, kterým se určí číslo COM portu, který se má použít pro spojení. Dále je nutno zvolenému COM portu zakázat přímo ve Windows95 přijímací FIFO. To se provede následovně: Vyvolejte okno “Ovládací panely” - jednou z možností jak toho dosahnout je v menu “Start” vybrat položku “Nastavení / Ovládací panely”. PSP - Správce projektů 27 PSP - Správce projektů V okně “Ovládací panely” najděte položku “Systém” a otevřete ji. Zobrazí se dialog nastavení systému. Vyberte záložku “Správce zařízení”. Ve zobrazeném stromu jednotlivých zařízení najděte položku “zásuvky (COM a LPT)”, rozviňte ji a vyberte příslušný COM port, který chcete nastavit. Tlačítkem “Vlastnosti” vyvolejte dialog pro nastavení příslušného COM portu. PSP - Správce projektů 28 PSP - Správce projektů Ve zobrazeném dialogu zvolte záložku “Nastavení zásuvky” a v něm pomocí tlačítka “Upřesnit...” vyvolejte dialog pro nastavení FIFO. Povolte použití FIFO a nastavte “Přijímací vyrovnávací paměť” na nejmenší hodnotu a “Přenosovou vyrovnávací paměť” na nejvyšší hodnotu. Pokud se Vám uvedeným způsobem nepodaří vyvolat dialog “Upřesnění nastavení zásuvky” nebo nelze povolit použití FIFO, znamená to, že Váš počítač není vybaven modernizovaným komunikačním obvodem. To však není na závadu a i v takovém případě bude komunikace plně funkční. 4.2 Spojení pomocí externího převodníku 232TO485PC A UPOZORNĚNÍ: Převodník musí být nastaven na automatické řízení vysílání. Toto nastavení se provádí pomocí DIP-přepínače na převodníku. Externí převodník se připojuje ke standardnímu COM portu PC. Nastavení je stejné jako při přímé komunikaci po stadardním COM portu a je popsáno v předcházející kapitole. 4.3 Spojení pomocí karty PC485 UPOZORNĚNÍ: Karta musí být nastavena na automatické řízení vysílání. Toto nastavení se provádí pomocí propojek na kartě. Karta má mnoho možností nastavení, které se provádí pomocí propojek. Z výroby je karta nastavena na komunikaci po RS485 se standardním nastavením kanálů jako COM3 a COM4. Stačí tedy pouze nastavit automatické řízení vysílání, které je standardně z výroby vypnuté. PSP - Správce projektů 29 PSP - Správce projektů V PSP3 se ve volbách pro nastavení komunikace zvolí komunikace WIN95-COM a v “Dalších parametrech” se nastaví kanál 3 nebo 4. Ve Windows je nutné mít správně nastavené parametry kanálů COM3 a COM4. Podobně jak je posáno v kapitole “Spojení pomocí standardního COM portu PC” se dostaneme do okna vlastností dané komunikační zásuvky (někdy označováno jako komunikační port). Ve vlastnostech zvolíme záložku “Prostředky” a zkontrolujeme, případně opravíme nastavení parametrů “rozsah vstupu a výstupu” a “požadavek přerušení”. Správné nastavení pro COM3 je “3E8-3EF” a “4”. Pro COM4 pak “2E8-2EF” a “3”. Nastavení FIFO může být v tomto případě libovolné. 4.4 Spojení pomocí modemu Při používání modemů je nutno zadat několik tzv. řídicích řetezců pro modem. Tyto řetezce slouží k ovládání modemu. Musí mít formát AT příkazů jimž daný modem rozumí, kromě toho mohou obsahovat některé speciální sekvence: Sekvence ^ ~ |doba,odpověď| Popis Uvozuje tzv. control-sekvence, jimiž se zadávají znaky s ASCII kódem menším jak 32, kde "^@"=0, "^A"=1, ... ,"^_"=31. Typicky se používá "^M" jako sekvence ukončující AT příkaz Znak reprezentuje 0.5s prodlevu. Typicky se používá v příkazu pro zavěšení modemu. Předepisuje čekání ovladače po dobu v sekundách na odpověď modemu. Typicky se používá sekvence "|5,OK|", která znamená, že se má čekat maximálně 5 sekund na odpověď "OK". ! Parametr “Kanál COM” specifikuje číslo COM portu PC, ke kterému je připojený modem. ! Parametr “Inicializace” specifikuje inicializační řetězec - příkaz pro modem. Může být i prázdný, pak se použije standardní řetezec "~ATN1X3&C1&D2&K3&R1&S1S0=0S7=90^M|5,OK|" ! Parametr “Vytáčení” specifikuje vytáčení řetězec - prefix, který musí obsahovat AT příkaz pro vytočení telefonního čísla. Typicky se používá “ATDP” pro klasickou pulsní volbu nebo “ATDT” pro moderní tónovou volbu. Řetezec může být i prázdný, pak se použije standardní řetězec "~ATDP". PSP - Správce projektů 30 PSP - Správce projektů ! Parametr “Zavěšení” specifikuje zavěšovací řetezec - příkaz pro modem. Ten musí být zvolen tak, aby v každém případě modem zavěsil. Může být i prázdný, pak se použije standardní řetezec "~~~+++~~~ATH0^M|5,OK|”. ! Parametr “PIN” je volitelný a specifikuje čtyřmístný PIN pro GSM modemy. Při použití klasických modemů musí být tento parametr prázdný. ! Parametr “Tel. číslo” specifikuje telefonní číslo, které se má volat. Musí obsahovat všechny eventuelní předvolby podnikových a telefonních ústředen. Může navíc obsahovat znak “,”(čárka), který způsobí cca 0,5s pauzu mezi volenými čísly. ! Parametr “Heslo” specifikuje heslo stanice, se kterou se budeme spojovat. Musí být stejné, jako heslo uvedené v modulu “Modem...” při parametrizaci stanice. PSP - Správce projektů 31 PSE - Editor procesní stanice PSE - Editor procesní stanice PSE - Editor procesní stanice 32 PSE - Editor procesní stanice 1 Úvod Tato část příručky popisuje programové vybavení řídicích systémů firmy a prostředek pro jejich parametrizaci - editor procesní stanice PSE. Příručka je určena všem, kteří samostatně navrhují aplikace řídicích systémů v rámci informačního systému DB-Net, a programátorům, kteří připravují programové vybavení procesních stanic, nebo je rozšiřují o nové funkční moduly. Při studiu příručky předpokládáme u čtenáře znalost hardwarové koncepce a parametrů průmyslových řídicích počítačů z produkce firmy AMiT. V této části příručky se blíže seznámíte se strukturou programového vybavení procesní stanice a postupem přípravy programového vybavení konkrétní aplikace. Dále jsou popsány základní principy pro ovládání editoru procesní stanice PSE a způsob popisu procesní stanice v editoru PSE. Po rychlém seznámení se s jednotlivými položkami menu jsou podrobně probrány jednotlivé úkony při editaci procesní stanice. V závěru je vysvětleno použití pokročilých funkcí PSE, jako je např. expertní kontrola, analýza datových toků a prostředky pro ladění aplikace za chodu. PSE - Editor procesní stanice 33 PSE - Editor procesní stanice 2 Změny oproti starším verzím programu PSE Pro čtenáře, kteří již mají zkušenosti s předchozími verzemi programu PSE uvádíme přehled nejdůležitějších změn ve verzi 3.0 a vyšší. Časování procesů Běžné procesy jsou časovány ve vteřinách s minimální periodou 0.1s. Lze volit posun prvního startu procesu a tak dosáhnout lepšího vytížení procesní stanice. Např. lze zajistit, aby se dva procesy spouštěné s periodou 2s pravidelně střídaly po 1s. Quick proces Oproti dřívější verzi umožňuje nastavení časování na 5,10,20,50 nebo 100 ms. Rychlé procesy V aplikaci mohou běžet dva rychlé (High speed) procesy s minimální periodou až 1 ms. Interrupt procesy V aplikaci je možné použít až 16 procesů, navázaných na přerušení od vstupů. Reakční doba takového procesu je v desítkách µs. Reléové schéma Proces může být parametrizován v pseudografickém režimu v reléové logice. Jednoduché vkládání funkčních bloků a jejich pospojování je rychlou cestou k vytvoření jednoduchých, ale rychlých procesů. Logický automat Proces může být také parametrizován pomocí instrukcí (LA-modulů) logického automatu, které vychází z normy IEC 1131. V některých návrhových prostředcích je podobný nástroj nazýván AWL. Použitím LA-modulů lze docílit maximální rychlosti procesu (délky vykonávání). Kompilace do kódu Kompilace LET příkazu do kódu, kompilace procesů do kódu namísto interpretru - oboje výrazně zrychluje provádění programu. Variabilní parametry modulů V modulech jsou některé parametry variabilní - uživatel má možnost vybrat si, zda parametrem bude např. databázová proměnná, logický V/V kanál nebo konstanta. Velikost databázových matic Velikost může být větší než 16kB, paměť procesní stanice je optimálně využitá. Bitové proměnné Na bity databázových proměnných se lze odkazovat pomocí "alias" jmen. Jména V/V signálů V parametrech modulů se lze odkazovat přímo na jména V/V signálů. Ukládání pracovní plochy Program PSE si “pamatuje” nastavení pracovní plochy od posledního spuštění. Je to výhodné zejména pro uchování nastavení inspektorů databázových proměnných. Různé typy zobrazení a editace inicializovaných proměnných Inicializované proměnné lze dle přání editovat v šestnáctkové soustavě, binární soustavě, ve formátu datum a čas nebo ve formátu textového řetězce. Modul REM Pro komentáře a optické oddělení částí aplikace v rámci procesu lze s výhodou použít modul REM. Příkaz LET Komfortnější ovládání. Myš Zlepšené ovládání programu pomocí myši. PSE - Editor procesní stanice 34 PSE - Editor procesní stanice 3 Filozofie procesní stanice Procesní stanicí se rozumí libovolný řídicí systém firmy AMiT s operačním systémem NOS a příslušnými programovými aplikačními nadstavbami. V této kapitole je popsána koncepce programového vybavení univerzální procesní stanice, jeho struktura a postup přípravy programového vybavení konkrétní procesní stanice. Kapitola dá čtenáři základní přehled o částech programového vybavení a jejich vzájemných souvislostech bez vysvětlování a detailních popisů jejich činnosti. 3.1 Struktura univerzální procesní stanice Aplikační program Nejvyšší úrovní je aplikační část programu, která podle údajů zadaných tvůrcem aplikace (projektantem) spojuje a řídí chod ostatních částí programového vybavení tak, aby procesní stanice vykonávala požadovanou činnost. Knihovna modulů Funkční moduly jsou předprogramované bloky, které vykonávají dílčí operace jako je např. měření teploty teploměrem Pt100, algoritmus PID, řízení ovládacího ventilu výměníku apod. Požadované činnosti procesní stanice se dosáhne právě zařazením jednotlivých funkčních modulů za sebe a jejich správným propojením se vstupními, výstupními (dále pouze V/V) a mezilehlými datovými body (též databázovými proměnnými) - to je právě úkolem aplikačního programu. Operační systém NOS Operační systém NOS je nejnižší úrovní systému DB-Net na procesní stanici - umožňuje chod programového vybavení vyšších vrstev, zajišťuje správné časování jednotlivých operací a přístup funkčních modulů k V/V a mezilehlým datovým bodům. Dále zajišťuje sdílení databázových proměnných (datových bodů) po síti DB-Net, je-li procesní stanice součástí sítě. Parametrizace stanice Všechny tři základní části univerzální procesní stanice jsou stejné ve všech typech procesních stanic. Čím se jednotlivé stanice od sebe liší, jsou data popisující, které funkční moduly budou jakým způsobem propojeny a jaké budou jejich parametry. K přípravě, kontrole a předzpracování těchto dat slouží programy, popsané v následujících odstavcích. PSE - Editor procesní stanice 35 PSE - Editor procesní stanice Aplikační program Funkční moduly Operační systém NOS Síť DB-Net Technologický proces Obr. 1: Základní struktura programového vybavení univerzální procesní stanice 3.2 Editor PSE Editor procesní stanice PSE (zkratka anglického názvu Process Station Editor) je základním programem pro návrh procesní stanice neprogramátorským způsobem. Umožňuje snadno a přehledně vytvořit, opravit a důkladně prověřit data definující činnost procesní stanice. Popis stanice Vytvoření procesní stanice spočívá v zadání určitých obecných informací, definici datových bodů procesní stanice, tedy V/V signálů a databázových proměnných a v popsání jednotlivých měřicích a regulačních okruhů nebo obecněji procesů. Každý okruh (proces) je tvořen posloupností funkčních modulů. Tvorba dokumentace Editor procesní stanice umožňuje automaticky generovat dokumentaci k navrhované procesní stanici - dokonce tvůrce aplikace "nutí", aby veškeré potřebné údaje poskytl. Tím je zajištěn soulad mezi dokumentací a skutečnou činností procesní stanice, což je základní podmínkou pro udržovatelnost a pozdější modifikovatelnost připraveného programového vybavení. Tím, že je tvůrce aplikace veden k průběžnému vkládání dokumentačních údajů, zároveň lépe promýšlí jednotlivé části navrhované procesní stanice a dopouští se tak obvykle méně chyb. Expertní kontrola Editor procesní stanice umožňuje provést tzv. expertní kontrolu navržené procesní stanice - celá stanice je křížově prověřena a v protokolu se objeví určité souhrnné údaje o stanici spolu s varováními či informacemi o chybách, kterých se autor dopustil. Tyto informace umožní odstranit většinu (podle experimentálního odhadu až 90%) logických chyb v návrhu procesní stanice - použití nesprávného datového bodu, zmatek či kolize ve V/V signálech apod. Jedná se zejména o chyby, jejichž detekce za chodu stanice je poměrně obtížná. Analýza signálových toků Součástí automaticky generované dokumentace může být i tzv. analýza datových toků procesní stanice - jedná se o grafické vyjádření postupu signálů ve stanici od vstupních datových bodů přes mezilehlé až k výstupním. Výsledky analýzy jsou neocenitelným PSE - Editor procesní stanice 36 PSE - Editor procesní stanice podkladem při odstraňování zbylých logických chyb v návrhu stanice a při ověřování její správné činnosti v provozu. 3.3 Rozšiřování systému Pokud při tvorbě procesních stanic nedostačuje nabídka funkčních modulů, které jsou k dispozici a tento nedostatek nejde z jakéhokoli důvodu obejít využitím podprogramů a programovacího pseudojazyka (viz dále), je možné doplnit do systému nové funkční moduly. Doplňování funkčních modulů je jediný způsob rozšiřovaní funkčních možností procesní stanice. Funkční moduly se programují v jazyce C. Je však třeba upozornit, že programování modulů vyžaduje velmi dobrou znalost jazyka C, operačního systému NOS, filozofie systému DB-Net a všech konvencí, které je třeba dodržovat. Diskuse těchto problémů v příručce pro uživatele programu PSE by bylo značně matoucí, proto je této problematice věnována samostatná příručka, která není standardní součástí této dokumentace. PSE - Editor procesní stanice 37 PSE - Editor procesní stanice 4 Editor procesní stanice Kapitola se zabývá popisem procesní stanice v editoru PSE. Po rychlém seznámení se s jednotlivými položkami menu jsou podrobně probrány jednotlivé úkony při editaci procesní stanice v tom pořadí, ve kterém se při návrhu procesní stanice obvykle používají. V závěru kapitoly je vysvětleno použití pokročilých funkcí PSE, jako je např. expertní kontrola navržené procesní stanice. 4.1 Start a ukončení programu Start programu Program PSE spouštíme z prostředí PSP. Veškeré parametry, které program potřebuje ke správnému chodu, jsou automaticky dodány prostředím PSP. Ukončení programu Program PSE ukončí svoji činnost po stisku klávesy <Alt+X> nebo po vyvolání funkce Soubor | Konec. 4.2 Stručný přehled menu Nejprve uvedeme stručný přehled všech položek menu programu PSE s krátkým komentářem k prováděným činnostem. Podrobný popis vybraných činností bude uveden v dalších odstavcích. Následující popis je určen zejména zkušenějším uživatelům, kteří absolvovali příslušné školení a potřebují rychle osvěžit své vědomosti. Naprostým začátečníkům doporučujeme následující odstavce přeskočit, pokračovat odstavcem 4.3. a vrátit se k tomuto odstavci až po prostudování zbytku této kapitoly. K jednotlivým položkám v nabídce jsou připsány v lomených závorkách horké klávesy (např. Soubor | Otevři <F3>). Soubor Podmenu Soubor zajišťuje veškerou práci se soubory jako celky. Jednotlivé položky umožňují následující operace. Soubor | Nový Založení nového, zatím nepojmenovaného souboru s popisem pracovní stanice. Touto operací začínáme, chceme-li vytvořit popis nové procesní stanice. Soubor | Otevři <F3> Otevření již existujícího souboru pro editaci. Soubor | Zavři Zavření rozpracovaného souboru s definicí procesní stanice. Byla-li procesní stanice během editací pozměněna a změny dosud nebyly uloženy na disk, vyzve program k uložení. V případě souhlasu se soubor uloží. Jedná-li se o nový (dosud nepojmenovaný) soubor, je tvůrce aplikace vyzván k zadání jména nově vytvářeného souboru. Tato volba je nepřístupná, není-li žádný soubor otevřen. Soubor | Ulož <F2> Uloží rozpracovaný soubor na disk. Jedná-li se o nový (dosud nepojmenovaný) soubor, je autor aplikace vyzván k zadání jména nově vytvářeného souboru. Tato volba je nepřístupná, není-li žádný soubor otevřen. PSE - Editor procesní stanice 38 PSE - Editor procesní stanice Soubor | Ulož jako Uloží rozpracovaný soubor na disk pod novým jménem. Uživatel je vyzván, aby toto nové jméno zadal. Tuto funkci lze využít jako alternativu pro vytváření nové procesní stanice, která je podobná již dříve vytvořené stanici - otevřeme již hotový soubor, uložíme pod novým jménem a editujeme pouze rozdíly mezi oběma stanicemi. Tato volba je nepřístupná, není-li žádný soubor otevřen. Soubor | Změna hesla Položka dovoluje změnit heslo pro danou aplikaci. Editace aplikace může být chráněna heslem tak, aby náhodným přístupem k programu a načtení aplikace nebylo možné nechráněně měnit program. Soubor | Import Umožňuje doplnění údajů právě zpracovávaných programem PSE o údaje na disku. Jsou k dispozici tři specifické operace. Žádná z těchto voleb není přístupná, není-li otevřen žádný soubor. Soubor | Import | Z editoru PSE Právě editovaná procesní stanice je doplněna o kompletní procesní stanici, popsanou v již existujícím souboru na disku. Jde tedy o operaci typu "k právě editované stanici přidej data a funkce již hotové stanice". Soubor | Import | Databáze Definice procesní databáze právě editované stanice je rozšířena o definice proměnných, uložené na disku v souboru ve formátu .DBF (dBASE III). Tato funkce je vhodná zejména při návrhu síťových aplikací systému DB-Net, kdy obvykle provádíme centralizovaný návrh globální procesní databáze (např. pomocí programu dBASE, Quattro Pro apod.), definici celé databáze exportujeme ve formátu .DBF a do každé procesní stanice importujeme definice proměnných, jichž je tato stanice zdrojem. Tak je zaručena konzistence celé síťové databáze. Formát souboru .DBF není striktně předepsán - funkce bezchybně importuje soubory ve formátu identickém s formátem duální funkce Soubor | Export | Databáze (viz dále). Je však doplněna expertem, který umožňuje importovat data i ve formátech "podobných" doporučenému formátu - rozdíly v pořadí a délce datových polí a drobnější rozdíly v názvech polí nejsou většinou na závadu. Uživatel je však na tyto neshody upozorněn a musí zkontrolovat, zda import skutečně proběhl tak, jak předpokládal. Soubor | Import | Clipboard Program PSE může současně pracovat pouze s jedinou aplikací. Je však vybaven clipboardem (poznámkový blok), který je možno využít pro přenášení dat mezi různými aplikacemi. Pro usnadnění definice procesní stanice, podobné již hotové stanici je možné popis této hotové stanice načíst do clipboardu a jednotlivé "hodící se" části popisu označit a vložit do právě připravované stanice. Tato funkce je další alternativou přípravy "podobné" stanice. Soubor | Export Umožňuje uložení některých specifických údajů z programu PSE na disk. Jsou k dispozici tři specifické operace duální k operacím Soubor | Import. Žádná z těchto voleb není přístupná, není-li otevřen žádný soubor. Soubor | Export | Do editoru PSE Uloží rozpracovanou procesní stanici pod zadaným jménem. Tato funkce je velmi podobná funkci Soubor | Ulož jako. Odlišnost spočívá v tom, že funkce Soubor | Ulož jako přejmenuje právě zpracovávanou stanici podle zadaného jména editujeme tedy dále novou stanici - zatímco funkce Soubor |Export | Do editoru PSE přejmenování rozpracované stanice neuvede - po uložení tedy editujeme původní stanici. Tuto funkci s výhodou použijeme při ukládání mezivýsledků editace. PSE - Editor procesní stanice 39 PSE - Editor procesní stanice Soubor | Export | Databáze Umožňuje uložit do souboru .DBF (formát dBASE III) definice proměnných z procesní databáze stanice. Definice každé proměnné je uložena v jednom záznamu. Struktura záznamu je následující: Jméno Typ Délka Význam (podrobně viz odst.4.6.2) Wid Character 5 Číselné jméno (WID) proměnné Typ Character 2 Typ proměnné (I, L, F, MI, ML, MF) R Numeric 3 Počet řádků u matic, 1 u jednoduchých S Numeric 3 Počet sloupců u matic, 1 u jednoduchých Ps Numeric 2 Číslo procesní stanice, která je zdrojem Jmeno Character 12 Textové jméno proměnné Poznámka Character 40 Popis významu proměnné Soubor | Export | Clipboard Umožňuje uložit okamžitý obsah clipboardu do souboru jako by to byl popis procesní stanice. Tato funkce je zařazena pouze pro symetrii s menu Soubor | Import | Clipboard. Lze ji využít pro dočasné "odložení si" obsahu clipboardu. Je však třeba dát pozor na to, aby takto vzniklý soubor nebyl chápán jako plnohodnotná procesní stanice. Soubor | Tiskni Tiskne dokumentaci k rozpracované procesní stanici na tiskárnu nebo do souboru. Co všechno bude dokumentace obsahovat lze určit v dialogovém okénku Volby | Systém v poli Tisk dokumentace. Soubor | Prohlédni Prohlížečka textových souborů - umožňuje např. prohlížení dokumentace vytištěné do souboru apod. Soubor | DOS shell Bez ukončení programu PSE se volá příkazový řádek systému (COMMAND.COM). Pro návrat do editoru PSE je třeba použít příkaz EXIT. MS-DOS Soubor | Konec (<Alt+X>) Ukončení práce s programem PSE. Pokud je rozpracovaná nějaká procesní stanice, je automaticky uzavřena (včetně případného dotazu na uložení změn apod.). Poté se řízení vrací Správci projektů PSP. Následujících šest položek menu Soubor tvoří tzv. pick list, tedy seznam až šesti souborů (procesních stanic), s nimiž program PSE naposledy pracoval. Volbou příslušné položky v této části menu otevřeme patřičný soubor k editaci, aniž bychom museli zadávat jméno souboru. Při střídavé práci se dvěma a více soubory přináší tato funkce značné zrychlení výměny pracovních souborů. Edit Položky menu Edit umožňují vyvolávání základních editačních funkcí programu PSE. Tyto funkce obvykle pracují s vybranou položkou v aktivním okně. Není-li tedy žádný soubor otevřen nebo není zobrazeno žádné okno, jsou všechny položky menu (až na Edit | Clipboard) nepřístupné. Při popisu následujících příkazů operujeme s pojmem okno a řádek. Oknem míníme v tomto případě pro zjednodušení popisu nejen samotné okno na obrazovce, ale i jeho obsah, tedy např. definice databázových proměnných. Řádkem míníme skupinu údajů zobrazených v daném okně na jediném řádku. Jedná se o definici V/V kanálu, definici databázové proměnné, popis funkčního modulu apod. PSE - Editor procesní stanice 40 PSE - Editor procesní stanice Práce s bloky Edit | Odstraň <Del> Odstraní označené řádky z aktivního okna a vloží je do clipboardu. Není-li žádný řádek označen, odstraní běžný řádek, tedy řádek, na němž je kurzor. Edit | Kopíruj <Ctrl+Ins> Kopíruje označené řádky z aktivního okna do clipboardu, aniž by je odstraňoval z okna. Není-li žádný řádek označen, kopíruje běžný řádek. Edit | Vlož <Shift+Ins> Kopíruje označené řádky z clipboardu do aktivního okna. Není-li v clipboardu žádný řádek označen, nekopíruje se nic. Při vkládání do clipboardu pomocí Edit | Odstraň nebo Edit | Kopíruj se odznačí celý původní obsah clipboardu a označí se pouze nově vkládané řádky. Výše popsané tři příkazy plně implementují tzv. mechanismus cut and paste, tedy mechanismus rušení, kopírování a vkládání řádků nebo skupin řádků v takovém rozsahu, jak jej známe např. z MS-Windows nebo vývojových prostředí firmy Borland. Pro označování a odznačování zpracovávaných řádků slouží následující příkazy: Edit | Vlož nový řádek <Ctrl+N> Vloží prázdný řádek do reléového schématu. Nový řádek se vloží před řádek, na kterém je kurzor. Příkaz funguje pouze v reléovém schématu. Edit | Zruš řádek/blok <Ctrl+Y> Zruší řádek v reléovém schématu. Rušit lze pouze prázdné řádky. Příkaz funguje pouze v reléovém schématu. Edit | Označ <Šedé ∗> Označí řádek pod kurzorem. Je-li řádek již označen, "odznačí" ho - příkaz tedy pracuje jako přepínač "zapni/vypni". Označit řádek je rovněž možné kombinací kláves <Shift>, <šipka nahoru> nebo <šipka dolů>. Držíme-li stisknutou klávesu <Shift> a stiskneme-li klávesu <šipka dolů>, označíme řádek, na němž byl kurzor umístěn před stiskem klávesy <šipka dolů>. Byl-li řádek již označen, je odznačen. Držíme-li stisknutou klávesu <Shift> a stiskneme-li klávesu <šipka nahoru>, označíme řádek, na který se kurzor přesune stiskem klávesy <šipka nahoru>. Byl-li řádek již označen, je odznačen. Edit | Označ vše <Šedé + > Označí všechny existující řádky - od prvního do posledního bez ohledu na to, zda jsou v okně právě zobrazeny nebo ne a zda jsou již označeny nebo ne. Edit | Odznač vše <Šedé -> Odznačí všechny existující řádky - od prvního do posledního bez ohledu na to, zda jsou v okně právě zobrazeny nebo ne a zda jsou označeny nebo ne. Edit | Přidej <Ins> Přidá nový řádek a umožní editaci hodnot v patřičném dialogovém okénku. Nový řádek se vkládá bezprostředně před kurzor (běžný řádek). Aby bylo možné vložit nový řádek i na konec, je možné přesunout kurzor i na pozici následující za posledním řádkem. U oken jejichž řádky jsou setříděny podle nějakého kritéria je místo, kde použijeme příkaz Edit | Přidej, nepodstatné, protože po ukončení editace nového řádku dojde k jeho automatickému zatřídění na správné místo. Edit | Edituj <Enter> Vyvolá dialogové okénko pro editaci hodnot v běžném řádku. Pokud se kurzor nachází za posledním řádkem, vyvolá se automaticky funkce přidání nového řádku (Edit | Přidej). PSE - Editor procesní stanice 41 PSE - Editor procesní stanice Edit | Prohlédni <Mezerník> Pokud údaj v běžném řádku obsahuje další údaje "nižší úrovně", které v základním zobrazení nejsou vidět, zobrazí tento příkaz nové okno, které detailněji zobrazuje tyto údaje. Tento mechanismus je využit např. u definic databázových proměnných - na řádku okna definic proměnných jsou údaje jako jméno, WID, typ, rozměr a další obecné údaje o proměnné. Chceme-li však prohlížet nebo editovat počáteční nastavení hodnot této proměnné, musíme použít příkaz Edit | Prohlédni. Tato logika zůstává stejná v celém programu PSE - příkaz Edit | Edituj <Enter> edituje ty údaje, které jsou zobrazeny v běžném řádku, zatímco příkaz Edit | Prohlédni <Mezerník> se zanoří do hloubky a zobrazí okno s detailnějším pohledem. Pro editaci patřičného detailnějšího údaje pak použijeme v novém okně příkaz Edit | Edituj <Enter> pro editaci "toho co je vidět". Edit | Najdi a zaměň <Ctrl+F> Funkce nalezne výskyt textového řetězce v aplikaci a nahradí ho zadaným řetězcem. V okně procesu funguje příkaz tak, že hledá řetězec pouze v rámci tohoto jediného procesu. Chceme-li prohledávat pouze některé řádky procesu, musíme je předtím označit. V okně seznamu procesů příkaz prohledává všechny procesy. Chceme-li prohledávat pouze některé procesy, musíme je předtím označit. Prohledávat a zaměňovat lze pouze hodnoty parametrů modulů nebo komentáře modulů. Edit | Clipboard Clipboard slouží k dočasnému odkládání informací z editovaných oken. Na rozdíl od clipboardů např. ve vývojovém prostředí Borland Pascal apod. je u programu PSE situace komplikována tím, že zde pracujeme s mnoha datovými formáty, nikoli pouze se zdrojovým textem programu. Aby zůstala zachována jednoduchost práce s clipboardem i při rozdílnosti datových formátů, nabízí program PSE samostatný clipboard pro každý z použitých základních datových formátů. Příkaz Edit | Clipboard pak umožňuje zobrazení okna toho clipboardu, se kterým chceme pracovat. Uvnitř zobrazeného okna clipboardu jsou přístupné všechny dosud popsané příkazy s těmito výjimkami - příkaz Edit | Odstraň nenávratně ruší označené řádky a příkazy Edit | Kopíruj a Edit | Vlož jsou zcela potlačeny, protože nemají smysl. Edit | Clipboard | Stanice Příkaz zobrazí dialogové okénko pro editaci základních údajů o procesní stanici. Edit | Clipboard | Konfigurace V/V Příkaz zobrazí okno s definicemi V/V kanálů procesní stanice. Edit | Clipboard | Databáze Příkaz zobrazí okno s definicemi jednotlivých databázových proměnných. Edit | Clipboard | Alias-databáze Příkaz zobrazí okno s definicemi alias-jmen bitů (“přezdívek” bitů) databázových proměnných. Edit | Clipboard | Tabulka procesů Příkaz zobrazí okno s definicemi jednotlivých procesů (regulačních smyček) a podprogramů. Edit | Clipboard | Moduly procesu Příkaz zobrazí okno s definicemi funkčních modulů (normálních PSE modulů). Tato funkce nemá ekvivalent u zpracovávané procesní stanice. Je to proto, že u procesní stanice je každý funkční modul definován a použit v rámci některého procesu (regulační smyčky). Pracujeme-li s procesem jako celkem, vkládá se např. při operaci Edit | Kopíruj do clipboardu kopie celého procesu včetně všech jeho funkčních modulů a parametrů. Používáme-li však clipboard pro kopírování a přesouvání definic PSE - Editor procesní stanice 42 PSE - Editor procesní stanice jednotlivých funkčních modulů, je vhodné a přehlednější mít pro tyto operace speciální tzv. pomocný (kopírovací) proces. Právě jeho obsah se zobrazí příkazem Edit | Clipboard | Moduly procesu. Edit | Clipboard | Moduly procesu LA Příkaz zobrazí okno s definicemi funkčních modulů logického automatu. Jde o podobný pomocný (kopírovací) proces, který je určen pro moduly z procesů typu “Logický automat”. Edit | Clipboard | Moduly procesu RS Příkaz zobrazí okno s definicemi funkčních modulů reléového schématu. Jde o podobný pomocný (kopírovací) proces, který je určen pro moduly z procesů typu “Reléové schéma”. Stanice Příkaz zobrazí dialogové okénko pro editaci základních údajů o procesní stanici. Pozn.: Pro speciální procesní stanice bez vstupů a výstupů (např. APT2100) je zaveden speciální zobecněný typ, který se v tomto dialogovém okně zobrazí jako “EMPTY”. Není proto chyba, pokud zvolíte v PSP příkazem Volby | Typ stanice “APT2100” a potom v dialogu Stanice v programu PSE vidíte “EMPTY”. Popis Příkaz zobrazí okno jednoduchého textového editoru, který umožní zapsat slovní popis činnosti navrhované procesní stanice. Tento popis se stane součástí automaticky generované dokumentace procesní stanice. Konfig.V/V Příkaz zobrazí okno s definicemi V/V kanálů procesní stanice. Databáze Položky menu Databáze umožňují editovat databázi proměnných a databázi alias-jmen bitů proměnných. Databáze | Databáze proměnných Příkaz zobrazí okno s definicemi jednotlivých databázových proměnných. Databáze | Alias-databáze Příkaz zobrazí okno s definicemi alias-jmen jednotlivých bitů databázových proměnných. Některé bity databázových proměnných tak lze pojmenovat a v aplikaci se na ně odkazovat pomocí těchto jmen. Proces Příkaz zobrazí okno s definicemi jednotlivých procesů (regulačních smyček) a podprogramů. Volby Položky menu Volby umožňují práci s různými pomůckami a nastavení základních vlastností programu PSE. Volby | Expertní kontrola Příkaz vyvolá funkci expertní kontroly navržené procesní stanice. Tato funkce je detailně popsána v kapitole Expertní kontrola. Volby | Systém Příkaz vyvolá dialogové okénko pro zadávání nejrůznějších systémových údajů. PSE - Editor procesní stanice 43 PSE - Editor procesní stanice Volby | Reléové schéma Příkaz vyvolá dialogové okénko pro zadávání údajů týkajících se procesů typu reléové schéma. Volby | Komunikace Příkaz slouží k nastavení parametrů pro komunikační linku, která se využívá při sledování reálných hodnot v ladicí fázi tvorby aplikace (příkaz Volby | Inspektor modulů, Volby | Inspektor databáze a Volby | Watch-režim reléového sch.). Při nastavení parametrů lze využít standardní předdefinované parametry (příkaz Volby | Komunikace | Standardní) anebo uživatelsky volitelné (příkaz Volby | Komunikace |Uživatelská). Podrobnější informace jsou uvedeny v části PSP správce projektů této příručky. Volby | Inspektor Modulů <Ctrl+I> Příkaz umožňuje zobrazovat aktuální "živé" hodnoty proměnných použitých ve vybraném funkčním modulu. Pro správnou činnost příkazu je nutné připojit procesní stanici s aplikací pomocí komunikační linky. Volby | Inspektor databáze <Ctrl+F7> Příkaz je obdobou pøedchozího avšak s rozdílem, že lze vybírat pro zobrazení hodnot libovolnou proměnnou z databáze procesní stanice. Volby | Watch-režim reléového sch. <Ctrl+W> Příkaz umožňuje zobrazovat aktuální "živé" hodnoty v procesu reléového schématu. Pro správnou činnost příkazu je nutné propojit procesní stanici s aplikací pomocí komunikační linky. Volby | Úschova dat Skupina příkazů umožňujících uložit hodnoty databázových proměnných ze stanice do souboru na disku nebo opačně zapsat hodnoty ze souboru na disku do stanice. Další příkazy umožňují prohlížet uložená data a porovnávat je s aktuálními daty ve stanici. Úschova dat se používá například v případech, když je potřeba nahrát do stanice novou verzi aplikace a zachovat původní nastavení databázových proměnných. Postupuje se tak, že před nahráváním nové verze aplikace se nejprve uloží databáze stanice do souboru. Poté se nahraje nová verze aplikace a nakonec se do stanice zapíše databáze z uloženého souboru. Volby | Úschova dat | Ulož Příkaz umožňuje uložit hodnoty databázových proměnných ze stanice do souboru na disku. Lze tak uložit aktuální stav celé stanice. Jsou-li v okně databáze nějaké proměnné označeny, program se dotáže, zdali se mají ukládat pouze tyto označené proměnné nebo celá databáze. Není-li označena žádná proměnná, uloží se celá databáze. Volby | Úschova dat | Obnov Příkaz umožňuje zapsat hodnoty databázových proměnných do stanice ze souboru na disku. Lze tak obnovit uložený stav celé stanice. Jsou-li v okně databáze nějaké proměnné označeny, program se dotáže, zdali se mají zapisovat pouze tyto označené proměnné nebo celá databáze. Není-li označena žádná proměnná, zapíše se celá databáze. Volby | Úschova dat | Prohlédni Příkaz umožňuje zobrazit do okna hodnoty databázových proměnných uložených v souboru na disku. První částí výpisu je seznam uložených proměnných, ve sloupečku Validita je označení, zdali se povedlo danou proměnnou správně přenést ze stanice. Pokud se proměnnou nepovedlo načíst (např. výpadky komunikace při zarušení sítě), je označena !I, jinak je proměnná označena OK. Druhá část výpisu obsahuje hodnoty uložených databázových proměnných. Hodnota proměnné je vypsána v tabulce následující za popisem proměnné. Nulové hodnoty proměnných nebo hodnoty proměnných, které se nepovedlo načíst ze stanice se nevypisují. PSE - Editor procesní stanice 44 PSE - Editor procesní stanice Volby | Úschova dat | Porovnej Příkaz umožňuje porovnat hodnoty databázových proměnných uložených v souboru na disku s aktuálními hodnotami ve stanici. Výsledek porovnání se vypíše do okna. Jsou-li v okně databáze nějaké proměnné označeny, program se dotáže, zdali se mají porovnávat pouze tyto označené proměnné nebo celá databáze. Není-li označena žádná proměnná, porovnává se celá databáze. Volby | Úschova dat | Aktualizuj Příkaz umožňuje aktualizovat hodnoty inicializovaných proměnných v aplikaci. Aktuální hodnoty inicializovaných proměnných ve stanici se přenesou a zapíšou přímo do aplikace PSE. Připomeňme, že inicializované proměnné jsou ty proměnné, kterým autor aplikace přiřadil nějakou nenulovou hodnotu při editaci databáze. Jsou-li v okně databáze nějaké inicializované proměnné označeny, program se dotáže, zdali se mají aktualizovat pouze tyto označené proměnné nebo všechny inicializované proměnné v databázi. Není-li označena žádná inicializovaná proměnná, aktualizují se všechny inicializované proměnné v databázi. Volby | Vypnout / zapnout komentáře <Ctrl+K> Příkaz umožňuje vypnout zobrazení komentářů modulů v oknech procesů. Lze tak zviditelnit i ty části výpisu parametrů, které by jinak byly zakryty komentáři. Volby | Obrazovka Příkaz v sobě zahrnuje nástroje pro nastavení vzhledu a barev pracovní obrazovky programu podle představ uživatele. Nastavení se automaticky použije i pro programy PSP a LCDSHELL. Volby | Obrazovka | Video 25/50ř. Příkaz přepíná režim zobrazení mezi 25 a 50 řádky na obrazovku. Volby | Obrazovka | Znakové sady ! ! ! ! Příkaz dovoluje nastavit dvě znakové sady. První sada se používá pro zobrazování na obrazovce a vstup z klávesnice, druhá sada se používá pro tisk dokumentace. Je možno volit ze čtyř znakových sad: Kamenických Latin-2 (kódová stránka 852) EE ANSI (kódová stránka 1250) Bez diakritiky - potlačuje českou diakritiku Spouští-li se programové prostředí PSP v DOSovském okně operačního systému Windows 95 (nazývá se “Příkazový řádek”), používá se typicky pro obrazovku a klávesnici nastavení Latin-2. Nastavení pro tisk dokumentace se musí přizpůsobit připojené tiskárně. Upozornění: Nastavením znakové sady se neinstaluje žádný ovladač pro podporu češtiny. Prostředí PSP se pouze “přizpůsobí” nastavení na konkrétním počítači. Volby | Obrazovka | Barevný mód Příkaz přepíná jeden ze čtyř barevných módů (dvě barevné sady a dále černobílý a monochromatický režim). Volby | Obrazovka | Barvy Příkaz vyvolá dialogové okénko, které umožňuje libovolně předefinovat barvy všech objektů na obrazovce - pozadí, menu, pracovních oken a údajů v nich a dialogových oken. PSE - Editor procesní stanice 45 PSE - Editor procesní stanice Volby | Otevři Volby | Ulož Volby | Ulož jako Tyto příkazy mají podobnou funkci jako stejnojmenné příkazy v menu Soubor s tím rozdílem, že pracují s nastavenými volbami a vlastnostmi programu PSE. Tyto volby se ukládají a čtou do souborů s příponou .OPT. Volby nastavené v okamžiku ukončení práce s programem PSE se ukládají automaticky do souboru PSEX.OPT. Program PSE se při startu pokouší tento soubor načíst a zkonfigurovat se tak do stavu, v němž byl při posledním ukončení práce. Pokud z nějakého důvodu vyžadujeme nastavení více voleb, je možné je za chodu přepínat pomocí Volby | Otevři. Volby | Kalkulačka Příkaz otevře okénko s jednoduchým kalkulátorem. Při práci s PSE je často třeba provést jednoduchý výpočet a skutečná kalkulačka není po ruce - zabudovaná kalkulačka tedy dobře poslouží. Okna Práce s okny Menu Okna umožňuje práci s okny na obrazovce - změnu jejich rozměrů, polohy, výběr aktivního okna atd. Okna | Následující <F6> Příkaz vybere následující okno jako aktivní, tedy okno, se kterým se bude nadále pracovat. Okna | Předcházející <Shift+F6> Příkaz vybere předcházející okno jako aktivní, tedy okno, se kterým se bude nadále pracovat. Okna | Zvětši/zmenši <F5> Příkaz zvětší aktivní okno z původního rozměru na plnou velikost pracovní plochy obrazovky. Je-li okno již zvětšené, opět ho zmenší na původní velikost. Okna | Přesuň <Ctrl+F5> Příkaz umožní "ručně", tedy pomocí klávesnice plynule zvětšovat, zmenšovat a přemísťovat aktivní okno. Pro přemístění používáme kurzorové šipky, pro změnu rozměru kurzorové šipky doplněné klávesou <Shift>. Ukončení operace se provede klávesou <Enter> nebo <Esc>. Okna | Dláždi Příkaz přemístí veškerá okna a změní jejich velikost tak, aby tato okna vyplnila beze zbytku celou pracovní plochu jako kachličky. Tak je zajištěno, že se okna nepřekrývají. Okna | Kaskáda Příkaz přemístí veškerá okna a změní jejich velikost tak, aby tato okna byla uspořádána "v zástupu" za sebou tak, že poslední okno vyplní celou obrazovku, následující okno je o 1 řádek a 1 sloupec menší. Tak je zajištěno, že jsou vidět titulky všech oken a lze je snadno myší vybírat. Okna | Zavři <Alt+F3> Příkaz uzavře okno. S tímto oknem nelze dále pracovat, dokud se opětovně neotevře odpovídajícím příkazem menu - např. okno definice databázových proměnných příkazem Databáze. Při uzavření souboru s procesní stanicí program PSE automaticky uzavře také všechna okna zobrazující data z tohoto souboru. Uzavřená okna již nelze otevřít - nejprve je třeba otevřít soubor s další procesní stanicí. PSE - Editor procesní stanice 46 PSE - Editor procesní stanice Okna | Seznam <Alt+0> Příkaz zobrazí okno se seznamem všech otevřených oken. Z tohoto seznamu lze přehledně vybrat okno, do kterého se chceme přepnout, případně lze vybrané okno uzavřít. Okna | Otevři Příkaz načte pracovní plochu ze zadaného souboru. Při startu programu se automaticky načítá nastavení pracovní plochy při posledním ukončení programu. Chceme-li pracovat střídavě s více různými nastaveními pracovní plochy, lze použít příkazy Okna | Otevři a Okna | Ulož. Okna | Ulož Příkaz uloží pracovní plochu do zadaného souboru. Info Příkazy pro nápovědu a informace o systému. Info | Nápověda <F1> Příkaz zobrazí okno nápovědy. Jsme-li při vyvolání nápovědy přepnuti do okna nějakého procesu, vyvolá se nápověda k modulu, na kterém je kurzor, jinak se vyvolá úvodní obrazovka nápovědy. Info | Info Tento příkaz zobrazí informační okno s vyznačením čísla verze programu PSE, autorských práv a informace o jménu právě otevřeného souboru s procesní stanicí a velikosti volné paměti. 4.3 Návrat editací zpět (undo) Systém nepodporuje klasické undo. Vkládání řádků a změny hodnot nelze vrátit zpět. Existuje však mechanismus, jak lze navrátit zpět odstraněnou položku příp. více položek (bylo-li jich odstraněno více najednou). Položkou se myslí řádek v okně databáze, v okně alias databáze, v tabulce procesů, v okně jednotlivého procesu, v okně konfigurace V/V nebo grafický objekt v reléovém schematu. Návrat zpět se provede pomocí příkazu Edit | Vlož nebo pomocí stisku kláves <Shift+Ins>. Příkaz Edit | Odstraň (<Del>) totiž neprovádí úplné odstranění položky, ale položku pouze přesune do příslušného klipbordu a označí ji v něm. Následné vložení z klipbordu pomocí Edit | Vlož (<Shift+Ins>) tedy přesune zrušenou položku zase zpět. V klipbordu se uchovávají všechny zrušené položky a lze se tedy vrátit zpět do libovolné hloubky. To však již vyžaduje před vložením ručně označit v daném klipbordu konkrétní položku (položky). 4.4 Zadání informací o procesní stanici Základní informace o procesní stanici se zadávají v dialogovém okně, které vyvoláme příkazem menu Stanice resp. pro clipboard Edit | Clipboard | Stanice. PSE - Editor procesní stanice 47 PSE - Editor procesní stanice Obr. 2: Dialogové okno se základními informacemi o procesní stanici Tyto základní informace zahrnují: Všeobecné údaje ! Jméno projektu, jehož je procesní stanice součástí: např. "Kotelna DIMKO, Hranice". ! Číslo verze zpracování tohoto projektu. Číslo verze se skládá ze dvou částí - čísla etapy a čísla modifikace. Číslo generace (00 až 99) udává etapu zpracování projektu jako celku a číslo modifikace (00 až 99) pořadové číslo drobnější modifikace projektu v rámci jedné etapy. Číslování verzí většinou začíná od verze 01.00. ! Autorská práva na realizaci projektu a tedy i procesní stanice. Text odpovídá mezinárodnímu doporučení, tedy "Copyright (c)" následovaný letopočtem a jménem autorské firmy, např. "1998, DELTA Ltd". ! Číslo procesní stanice na síti DB-Net. Jedná-li se o izolovanou procesní stanici, není tento údaj významný. Číslování procesních stanic začínáme podle konvencí systému DB-Net od čísla 4, není to však podmínkou. Detailní informace k vytváření aplikace na procesní stanici v síti DB-Net najdete v kapitole Síťové aplikace. ! Název a několikaslovný popis činnosti procesní stanice. ! Číslo verze programového vybavení procesní stanice. Platí totéž co pro číslo verze celého projektu. Přitom číslo verze stanice nemusí nutně odpovídat číslu verze projektu. Příslušné číslování je zcela v rukou tvůrce aplikace. ! Jméno autora procesní stanice. ! Textová identifikace v rámci komunikační sítě DB-Net. Tyto texty jsou volně parametrizované a slouží pouze pro informaci o dané stanici. Texty lze načíst z procesní stanice po komunikační síti ve správci projektů PSP. Volby V současné době je implementována jediná volba - bude v procesní stanici využito automatické přemapování WIDů proměnných xx000 až xx999 podle čísla stanice? Tato volba je využitelná u síťových aplikací s opakujícími se aplikačními programy na více stanicích. Princip mapování WIDů je podrobněji vysvětlen v Uživatelské příručce. Pro běžnou práci se tato volba nevyužije. Hardware Informace o typu procesní stanice, t.j. zda se jedná o stanici ADiS, AMiRiS, AMAP98 atd. Typ procesní stanice se nastavuje ve správci projektů PSP. Protokol Protokol aktivní nebo pasivní stanice. Aktivní stanice je stanice, která je schopna a oprávněna převzít řízení sítě. Pasivní stanice pouze odpovídá na dotazy, vznášené aktivní stanicí. Procesní stanice bývá obvykle pasivní stanicí sítě DB-Net. Pro izolovanou procesní stanici, která není součástí komunikační sítě více stanic, nemá tato volba význam. PSE - Editor procesní stanice 48 PSE - Editor procesní stanice Protože dialogové okénko neumožňuje přímou práci s menu, jsou kromě obvyklých tlačítek "OK" (akceptuj hodnoty) a "Cancel" (návrat k předchozím hodnotám) doplněna ještě tlačítka "Kopíruj" a "Vlož", která nahrazují volby Edit | Kopíruj a Edit | Vlož menu. 4.5 Popis aplikace procesní stanice Editor procesní stanice je vybaven jednoduchým textovým editorem, který umožní zapsat slovní popis činnosti navrhované procesní stanice. Tento popis se stane součástí automaticky generované dokumentace procesní stanice. Vlastnosti editoru Kontrolní mechanismus programu PSE (expert) vede uživatele k tomu, aby slovní popis činnosti stanice používal. Vhodná délka popisu však plně závisí na autorovi; může se pohybovat od několika řádků až do několika stránek. Ovládání editoru ! ! ! ! ! Použitý textový editor má jednoduchý soubor povelů pro editaci textu. Tento soubor v podstatě odpovídá základním klávesám editoru T602. Pro pohyb kurzoru lze použít klávesy: kurzorové šipky - Posun o 1 znak nebo řádek <Ctrl> + šipky - Posun o slovo <Home>, <End> - Přesun na začátek/konec řádku <PgUp>, <PgDn> - Přesun o stránku <Ctrl+PgUp>, <Ctrl+PgDn> - Přesun na začátek/konec celého textu ! ! ! ! ! ! ! ! ! Dále lze používat tyto základní editační klávesy: <BkSp> - Zrušení znaku před kurzorem (vlevo) <Del> - Zrušení znaku pod kurzorem <Ctrl+T> - Zrušení textu od kurzoru do konce slova <Ctrl+Y> - Zrušení řádku <Ctrl+Q><Y> - Zrušení textu od kurzoru do konce řádku <Ins> - Přepínání režimu vkládání nebo přepisování <Ctrl+O> - Zapnutí/vypnutí automatického odsazování textu <Ctrl+Q><F> - Vyhledání řetězce v textu <Ctrl+Q><A> - Náhrada řetězce v textu jiným řetězcem ! ! ! Při psaní textu není nutné kontrolovat konce řádků - editor automaticky přechází na nový řádek dosáhl-li řádek doporučené délky cca 70 znaků. Tuto funkci automatického řádkování lze vypnout nebo opětovně zapnout pomocí kláves <Ctrl+Q><W>. Část textu lze označit jako blok tak, že navedeme kurzor na začátek bloku, stiskneme klávesu <Shift> a navedeme kurzor na konec bloku. Tam klávesu <Shift> uvolníme. Bezprostředně nato následuje povel pro operaci s označeným blokem, jinak je označení zrušeno. Lze použít tyto povely: <Ctrl+K><Y> nebo <Del> - Zrušení bloku <Ctrl+K><W> - Uložení bloku do souboru <Ctrl+K><R> - Náhrada bloku textem ze souboru. Není-li žádný blok označen, vloží se soubor na místo kurzoru. Pokud místo povelu začneme psát text, bude blok zrušen a nahrazen nově zapisovaným textem. Export/import do T602 Pokud při psaní delších popisů vestavěný jednoduchý editor nevyhovuje nebo chceme již připravený popis např. v T602 importovat do programu PSE, použijeme funkci načtení bloku textu ze souboru (<Ctrl+K><R>). Příslušný soubor doporučujeme exportovat z T602 příkazem Soubor | Export | ASCII1. Pro opačný postup, tedy přenos textu z PSE do T602 označíme text, uložíme jej pomocí <Ctrl+K><W> a načteme do T602 pomocí Blok|Načtení. Při přenosu textů je třeba mít na paměti, že program PSE využívá kódování češtiny v kódu bratří Kamenických (kódová stránka 895). Toto kódování je třeba nastavit v programu T602 pomocí příkazu v menu Text602 | Vst./výs.kód | KEYBCS2. PSE - Editor procesní stanice 49 PSE - Editor procesní stanice 4.6 Konfigurace procesních vstupů a výstupů Konfigurace procesních V/V spočívá v popisu vstupně-výstupních signálů z technologického procesu, přivedených přes přizpůsobovací převodníky, případně V/V expandery na základní V/V vývody procesní stanice. Na základě tohoto popisu bude procesní stanice schopna správně pracovat s každým připojeným signálem bez ohledu na šíři sortimentu těchto signálů a na jejich počet. 4.6.1 Vstupně-výstupní subsystém Operační systém NOS, jako systém určený pro aplikace v technologických procesech, zajišťuje vstup a výstup z technologického procesu nezávislý na technickém provedení a konfiguraci procesních vstupů a výstupů. Programátor pak nemusí znát konkrétní způsoby práce s jednotlivými typy vstupů či výstupů. Nakonfiguruje-li v jediném místě programu vstupně-výstupní subsystém, nemusí ani při změně konfigurace vstupů a výstupů upravovat zdrojový text programu. To je velmi důležité zejména při přechodu na jiný typ hardware procesní stanice. Typy vstupů a výstupů Procesní stanice je vybavena vstupy pro získávání informací o technologickém procesu. Tyto vstupy jsou v zásadě dvojí podle typu měřených signálů - analogové a digitální (číslicové). Měření hodnot obou typů zajišťuje přímo operační systém procesní stanice NOS. Analogové vstupy Analogové vstupy se označují AI. Jsou určeny k měření spojitých signálů, převedených na elektrické napětí. Takto se měří např. teplota, tlak, tlaková diference, výška hladiny, vzdálenost, koncentrace složek apod. Rozlišení vstupního AD převodníku je u procesních stanic firmy AMiT zpravidla 10 bitů (přesnost 0.1%) na deseti kanálech. Digitální vstupy Digitální vstupy se označují DI. Jsou určeny k měření dvoustavových signálů, např. stavů koncových spínačů, závor, prahových čidel apod. Počet digitálních vstupů je závislý na konkrétní procesní stanici. Tyto vstupy jsou velmi odolné vůči poruchám, není proto potřeba provádět jakoukoli filtraci. Impulsní vstupy Některé digitální vstupy mohou být použity pro měření impulsních signálů; pak se tyto vstupy nazývají impulsní vstupy. Impulsní vstupy jsou po technické stránce normální digitální vstupy, ale měronosným signálem zde není stav vstupu (aktivní, neaktivní), ale počet, vzdálenost nebo frekvence hran signálu. Takto se měří např. průtoky, výkony, vzdálenosti a úhly apod. Impulsní vstupy se zpracovávají pomocí speciálních modulů v aplikaci, operační systém procesní stanice NOS pracuje s těmito vstupy jako s normálními vstupy DI . Regulační a ovládací moduly ukládají hodnoty výstupních veličin do procesní databáze, odkud je přebírají výstupní moduly, které zajišťují jejich konverzi na výstupy z procesní stanice do technologického procesu. Tyto výstupy jsou dvojího typu - analogové a digitální. Analogové výstupy Analogové výstupy (AO) umožňují generování spojitých signálů v podobě elektrického napětí. Počet a rozlišení výstupních převodníků je závislé na konkrétní procesní stanici. Tento typ výstupů je na rozdíl od vstupů poměrně řídký a lze v naprosté většině případů nahradit digitálními výstupy. Digitální výstupy Digitální výstupy (DO) generují dvoustavové výstupní signály. Těmito signály lze ovládat naprostou většinu běžných akčních členů - servopohony a ventily, houkačky, žárovky, vybavovací relé odpojovačů, dávkovačů, ventilů apod. Konverze hodnot v procesní PSE - Editor procesní stanice 50 PSE - Editor procesní stanice databázi na stavy jednotlivých digitálních výstupů je v některých případech dosti složitá. Tyto funkce jsou proto zajištěny specializovanými výstupními funkčními moduly. Počet a provedení digitálních výstupů závisí na konkrétní procesní stanici. Impulsní výstupy Impulsní výstupy jsou opět pouze speciální formou digitálních výstupů. Požadavky na tyto výstupy kladené mohou být naprosto různorodé - závisí především na měronosném signálu - počet nebo vzdálenosti hran signálu, střída signálu apod. Proto nejsou tyto výstupy podporovány přímo operačním systémem NOS, ale jejich obsluha je zajištěna o úroveň výše - specializovanými výstupními funkčními moduly. Fyzický a logický kanál Fyzický kanál Pro fyzický přístup na vstup a výstup procesní stanice zavádí systém NOS pojem fyzický kanál. Fyzický kanál reprezentuje jediné nastavení adresních signálů, které je různé u různých typů procesních stanic. Pod tímto pojmem si můžeme představit určitou konkrétní pozici V/V modulu procesní stanice. Program PSE dostatečně odstiňuje uživatele od konkrétního fyzického zapojení V/V signálů. Logické kanály, kanálová skupina Adresovací možnosti jednotlivých procesních stanic jsou různé, konfigurace vstupních a výstupních modulů se liší od jednoho typu procesní stanice ke druhému. Proto zavádí systém NOS další pojem, tzv. logický kanál. Logický kanál je fiktivní zařízení, přizpůsobené vnitřní reprezentaci vstupně-výstupních hodnot ve dvou slovech paměti (32 bitů). Přes tento kanál lze načíst či zapsat 16 signálů digitálních nebo jeden signál analogový. Každý fyzický kanál se mapuje do jednoho logického kanálu DI, jednoho kanálu DO a do 10 kanálů AI - tato skupina deseti po sobě následujících logických analogových kanálů se nazývá kanálová skupina. Tato filozofie umožňuje zcela efektně přecházet na různé typy procesních stanic se stejným aplikačním programem, neboť fyzické rozdíly jsou potlačeny jednotným systémem logických kanálů. Při přechodu na jiný typ procesní stanice je nutné pouze změnit přiřazení fyzických a logických kanálů (příkaz Konfig. V/V). 4.6.2 Definice fyzického V/V kanálu procesní stanice Příkazem menu Konfig.V/V zobrazíme okno s definicemi jednotlivých fyzických kanálů navrhované procesní stanice. Na každém řádku je uvedena definice jednoho fyzického kanálu resp. V/V modulu. Podle typu zvolené procesní stanice se liší způsob definování fyzických kanálů. Procesní stanice typu ADiS, ADiS-F, ADiS167 Fyzické vstupy a výstupy u procesních stanic typu ADiS, ADiS-F a ADiS167 jsou určeny pozicí vstupně/výstupních modulů (např. AD-DI8, AD-DO8, AD-AI5 apod.) v sestavě procesní stanice. Úkolem programátora je nadefinovat pomocí PSE, které moduly a na jakých pozicích byly použity. Definici modulů vytvoříme příkazem Edit | Přidej (horká klávesa <Ins>). Existující modul editujeme tak, že na něj navedeme kurzor a použijeme příkaz Edituj | Edituj (horká klávesa <Enter>). Zobrazí se dialogové okénko s definicí nového V/V kanálu. PSE - Editor procesní stanice 51 PSE - Editor procesní stanice Obr. 3: Editace fyzického kanálu V/V u systému ADiS ! ! ! ! ! Okénko umožňuje zadat: Pozice Číslo pozice v sestavě procesní stanice. Pozice se číslují zleva od nuly, tzn. první modul systému sousedí s modulem AD-CPU166 a má číslo 0, čtvrtý V/V modul má číslo 3. Log. kanál Mapování fyzického V/V kanálu do logického kanálu. Funkční moduly pak přistupují pouze k logickým V/V kanálům. Ofset Určení pozice fyzických bitů V/V modulu v 16 bitovém slově. Jak bylo řečeno, přes logický kanál lze načíst či zapsat 16 digitálních signálů. Pokud je V/V modul 5 bitový (např. AD-RDO5S), vyplní pouze 5 bitů ze 16-tice. Na stejný logický kanál lze umístit další 3 fyzické V/V moduly stejného typu. V případě 8 bitových V/V modulů (např. AD-DO8, AD-DI8) lze do jednoho logického kanálu umístit dva takové moduly. Umístění příslušných bitů V/V modulů do logického kanálu se volí v položce Ofset. Zadáním čísla se určí o kolik bitů logického kanálu se posune mapování fyzických bitů (čísluje se od 0). Např. v systému jsou použity dva moduly AD-DI8. První z nich nebude mít žádný ofset (zadá se 0) a druhý se posune při mapování o 8 bitů (zadá se 7). Všech 16 bitů logického kanálů potom bude odpovídat postupně všem 16 signálům z uvedených modulů. Typ Typ V/V modulu, který je možný na danou pozici umístit. Pomocí tlačítka Výběr nabídne program seznam všech doposud používaných modulů systému. Všechny tři systémy ADiS, ADiS-F a ADiS167 používají stejné V/V moduly. Komentář k definovanému modulu. Tyto parametry se vyplňují pro naprostou většinu typů V/V modulů (digitální vstupy a výstupy, analogové vstupy a výstupy). Pouze některé speciální V/V moduly mají jiné parametry. Pokud se vybere takový typ modulu, dialog na zadávání parametrů se automaticky upraví pro daný typ. Speciální moduly jsou např. komunikační moduly (AD-UART, AD-MODEM), u kterých se místo logického kanálu a ofsetu zadává číslo komunikačního kanálu. Dalším typem speciálních V/V modulů jsou moduly pro zpracování distribuovaných vstupů a výstupů na sběrnici CAN se zcela specifickými parametry. Procesní stanice typu AMiRiS Fyzické vstupy a výstupy u procesní stanice typu AMiRiS jsou pevně dány. Systém AMiRiS není na úrovni fyzických vstupů a výstupů modifikovatelný (nelze měnit pozice a tím vnitřní adresaci modulů). PSE - Editor procesní stanice 52 PSE - Editor procesní stanice Při volbě příkazu Konfig. V/V se zobrazí seznam všech možných logických a fyzických kanálů v systému AMiRiS. Autor aplikace nemá možnost měnit žádné údaje kromě komentářů k jednotlivým modulům. Vazba mezi logickými a fyzickými kanály je následující: Typ Logický kanál Počet signálů Konektor modulů / svorky DI 0 8 (0.0÷0.7) svorky DI0÷DI7 *) DI-AC 1 8 (1.0÷1.7) svorky DI0÷DI7 *) DAI 2 6 (2.0÷2.5) svorky AI0÷AI5 *) DAI-AC 3 6 (3.0÷3.5) svorky AI0÷AI5 *) DO 0 9 (0.0÷0.8) konektor "DIGITAL OUT" DO-LED 1 1(1.0) svorky “LED” AI 0 6 (0.0÷0.5) svorky AI0÷AI5 AO 0 2 (0.0÷0.1) svorky AO0,AO1 *) Digitální vstupy lze připojit různými způsoby: Na svorky DI0÷DI7 lze připojit buď standardní vstupy se stejnosměrným signálem nebo vstupy se střídavým signálem. Máme-li připojené stejnosměrné vstupy, odkazujeme se na ně v aplikaci přes kanál č. 0 (typ DI). Máme-li připojené střídavé vstupy, odkazujeme se na ně přes kanál č. 1 (typ DI-AC). Digitální vstupy lze v případě potřeby rozšířit na úkor analogových vstupů. Takovéto digitální vstupy se pak připojují na svorky AI0÷AI5. Jde-li o stejnosměrné vstupy, odkazujeme se na ně přes kanál č. 2 (typ DAI), v případě střídavých vstupů je to kanál č. 3 (DAI-AC). Procesní stanice typu AMiRiS99 Fyzické vstupy a výstupy u procesní stanice typu AMiRiS99 jsou pevně dány. Systém AMiRiS99 není na úrovni fyzických vstupů a výstupů modifikovatelný (nelze měnit pozice a tím vnitřní adresaci modulů). Při volbě příkazu Konfig. V/V se zobrazí seznam všech možných logických a fyzických kanálů v systému AMiRiS99. Autor aplikace nemá možnost měnit žádné údaje kromě komentářů k jednotlivým modulům. Vazba mezi logickými a fyzickými kanály je následující: Typ Logický kanál Počet signálů Konektor modulů DI0 0 8 (0.0÷0.7) DI0.0÷DI0.7 *) DI0-AC 1 8 (1.0÷1.7) DI0.0÷DI0.7 *) DI1 2 8 (2.0÷2.7) DI1.0÷DI1.7 *) DI1-AC 3 8 (3.0÷3.7) DI1.0÷DI1.7 *) DAI0 4 8 (4.0÷4.7) AI0.0÷AI0.7 *) DAI0-AC 5 8 (5.0÷5.7) AI0.0÷AI0.7 *) DO0 0 8 (0.0÷0.7) DO0.0÷DO0.7 DO1 1 8 (1.0÷1.7) DO1.0÷DO1.7 DO2 2 9 (2.0÷2.8) DO2.0÷DO2.8 AI0 0 8 (0.0÷0.7) AI0.0÷AI0.7 **) Ni1000 1 8 (1.0÷1.7) AI0.0÷AI0.7 **) AO0 0 4 (0.0÷0.3) AO0.0÷AO0.3 *) Digitální vstupy lze připojit různými způsoby: PSE - Editor procesní stanice 53 PSE - Editor procesní stanice Na vstupy DI0.0÷DI0.7 a DI1.0÷DI1.7 lze připojit buď standardní vstupy se stejnosměrným signálem nebo vstupy se střídavým signálem. Máme-li připojené stejnosměrné vstupy, odkazujeme se na ně v aplikaci přes kanály č. 0 a 2 (typ DIx). Máme-li připojené střídavé vstupy, odkazujeme se na ně přes kanály č. 1 a 3 (typ DIx-AC). Digitální vstupy lze v případě potřeby rozšířit na úkor analogových vstupů. Takovéto digitální vstupy se pak připojují na svorky AI0.0÷AI0.7. Jde-li o stejnosměrné vstupy, odkazujeme se na ně přes kanál č. 4 (typ DAI0), v případě střídavých vstupů je to kanál č. 5 (DAI0-AC). **) Analogové vstupy lze připojit různými způsoby: Na vstupy AI0.0÷AI0.7 lze připojit buď standardní analogové vstupy (napěťové nebo proudové) nebo odporové snímače Ni1000. Máme-li připojené standardní vstupy, odkazujeme se na ně v aplikaci přes kanál č. 0 (typ AI0). Máme-li připojené odporové snímače Ni1000, odkazujeme se na ně přes kanál č. 1 (typ Ni1000). Pro správnou funkci vstupů se snímači Ni1000 je nutné nastavit příslušné HW propojky na procení stanici dle technické dokumentace. V aplikaci PSE se vstupy se snímači Ni1000 načítají pomocí modulu Ni1000. Procesní stanice typu AMAP98 Fyzické vstupy a výstupy u procesní stanice typu AMAP98 jsou pevně dány. Na úrovni fyzických vstupů a výstupů není systém AMAP98 modifikovatelný (nelze měnit pozice a tím vnitřní adresaci modulů). Při volbě příkazu Konfig. V/V se zobrazí seznam všech možných logických a fyzických kanálů v systému AMAP98. Autor aplikace nemá možnost měnit žádné údaje kromě komentáře k jednotlivým modulům. Vazba mezi logickými a fyzickými kanály je následující: Typ Logický kanál Počet signálů Konektor modulů DI 0 8 (0.0÷0.7) DI0÷DI7 *) 1 8 (1.0÷1.7) DI8÷DI15 *) 2 8 (2.0÷2.7) DI16÷DI23 *) 3 8 (3.0÷3.7) DI0÷DI7 *) 4 8 (4.0÷4.7) DI8÷DI15 *) 5 8 (5.0÷5.7) DI16÷DI23 *) 0 5 (0.0÷0.4) RDO00÷RDO04 1 5 (1.0÷1.4) RDO05÷RDO09 2 5 (2.0÷2.4) RDO10÷RDO14 3 4 (3.0÷3.3) RDO15÷RDO18 DO 4 4 (4.0÷4.3) TDO0÷TDO3 AI 0 5 (0.0÷0.4) AI0÷AI4 1 5 (1.0÷1.4) AI5÷AI9 2 5 (2.0÷2.4) AI10÷AI14 0 6 (0.0÷0.5) AO0÷AO5 DI-AC RDO AO *) Digitální vstupy lze připojit různými způsoby: Na svorky DI0÷DI23 lze připojit buď standardní vstupy se stejnosměrným signálem nebo vstupy se střídavým signálem. Máme-li připojené stejnosměrné vstupy, odkazujeme se na ně v aplikaci přes kanály č. 0,1,2 (typ DI). Máme-li připojené střídavé vstupy, odkazujeme se na ně přes kanály č. 3,4,5 (typ DI-AC). PSE - Editor procesní stanice 54 PSE - Editor procesní stanice Procesní stanice typu AMAP99 Fyzické vstupy a výstupy u procesní stanice typu AMAP99 jsou pevně dány. Na úrovni fyzických vstupů a výstupů není systém AMAP99 modifikovatelný (nelze měnit pozice a tím vnitřní adresaci modulů). Při volbě příkazu Konfig. V/V se zobrazí seznam všech možných logických a fyzických kanálů v systému AMAP99. Autor aplikace nemá možnost měnit žádné údaje kromě komentáře k jednotlivým modulům. Vazba mezi logickými a fyzickými kanály je následující: Typ Logický kanál Počet signálů Konektor modulů DI0 0 8 (0.0÷0.7) DI0.0÷DI0.7 *) DI1 1 8 (1.0÷1.7) DI1.0÷DI1.7 *) DI2 2 8 (2.0÷2.7) DI2.0÷DI2.7 *) DI0-AC 3 8 (3.0÷3.7) DI0.0÷DI0.7 *) DI1-AC 4 8 (4.0÷4.7) DI1.0÷DI1.7 *) DI2-AC 5 8 (5.0÷5.7) DI2.0÷DI2.7 *) RDO0 0 5 (0.0÷0.4) RDO0.0÷RDO0.4 RDO1 1 5 (1.0÷1.4) RDO1.0÷RDO1.4 RDO2 2 5 (2.0÷2.4) RDO2.0÷RDO2.4 RDO3 3 4 (3.0÷3.3) RDO3.0÷RDO3.3 DO4 4 4 (0.0÷0.3) DO4.0÷DO4.3 AI0 0 5 (0.0÷0.4) AI0.0÷AI0.4 **) AI1 1 5 (1.0÷1.4) AI1.0÷AI1.4 **) AI2 2 5 (2.0÷2.4) AI2.0÷AI2.4 **) Ni0 3 5 (3.0÷3.4) AI0.0÷AI0.4 **) Ni1 4 5 (4.0÷4.4) AI1.0÷AI1.4 **) Ni2 5 5 (5.0÷5.4) AI2.0÷AI2.4 **) AO0 0 6 (0.0÷0.5) AO0.0÷AO0.5 *) Digitální vstupy lze připojit různými způsoby: Na vstupy DI0.0÷DI0.7, DI1.0÷DI1.7 a DI2.0÷DI2.7 lze připojit buď standardní vstupy se stejnosměrným signálem nebo vstupy se střídavým signálem. Máme-li připojené stejnosměrné vstupy, odkazujeme se na ně v aplikaci přes kanály č. 0, 1, 2 (typ DIx). Máme-li připojené střídavé vstupy, odkazujeme se na ně přes kanály č. 3, 4, 5 (typ DIx-AC). **) Analogové vstupy lze připojit různými způsoby: Na vstupy AI0.0÷AI0.4, AI1.0÷AI1.4, AI2.0÷AI2.4 lze připojit buď standardní analogové vstupy (napěťové nebo proudové) nebo odporové snímače Ni1000. Máme-li připojené standardní vstupy, odkazujeme se na ně v aplikaci přes kanály č. 0, 1, 2 (typ AIx). Máme-li připojené odporové snímače Ni1000, odkazujeme se na ně přes kanály č. 3, 4, 5 (typ Nix). Pro správnou funkci vstupů se snímači Ni1000 je nutné nastavit příslušné HW propojky na procení stanici dle technické dokumentace. V aplikaci PSE se vstupy se snímači Ni1000 načítají pomocí modulu Ni1000. Procesní stanice typu ART400 Fyzické vstupy a výstupy u procesní stanice typu ART400 jsou pevně dány. Systém ART není na úrovni fyzických vstupů a výstupů modifikovatelný (nelze měnit pozice a tím vnitřní adresaci modulů). Autor aplikace má k dispozici fyzicky různé externí moduly, ale v rámci typu kanálu se jedná vždy o stejné V/V typy (např. modul ART-ACDO9 je z hlediska výše definovaného fyzického kanálu shodný s modulem AREL7S2P). PSE - Editor procesní stanice 55 PSE - Editor procesní stanice Při volbě příkazu Konfig. V/V se zobrazí seznam všech možných logických a fyzických kanálů v systému ART400. Aplikátor nemá možnost měnit žádné údaje kromě komentáře k jednotlivým modulům. Vazba mezi logickými a fyzickými kanály je následující: Typ Log. kanál Konektor modulů DI 0 XI0 1 XI1 DO AI 2 XI2 0 XO0 1 XO1 0 XAI Procesní stanice typu ART267 a ART267A Fyzické vstupy a výstupy u procesní stanice typu ART267 a ART267A jsou pevně dány. Systém není na úrovni fyzických vstupů a výstupů modifikovatelný (nelze měnit pozice a tím vnitřní adresaci modulů). Při volbě příkazu Konfig. V/V se zobrazí seznam všech možných logických a fyzických kanálů v systému . Autor aplikace nemá možnost měnit žádné údaje kromě komentáře k jednotlivým modulům. Vazba mezi logickými a fyzickými kanály je následující: Typ Logický kanál Počet signálů Konektory modulů DI0 0 8 (0.0÷0.7) DI0.0÷DI0.7 *) DI0-AC 1 8 (1.0÷1.7) DI0.0÷DI0.7 *) DAI0 2 6 (2.0÷2.5) AI0.0÷AI0.5 *) DAI0-AC 3 6 (3.0÷3.5) AI0.0÷AI0.5 *) DO0 0 8 (0.0÷0.7) DO0.0÷DO0.7 LEDs 1 3 (1.0÷1.2) LED diody: OK, Stop, Error AI0 0 6 (0.0÷0.5) AI0.0÷AI0.5 **) Ni1000 1 6 (1.0÷1.5) AI0.0÷AI0.5 **) AO0 0 2 (0.0÷0.1) AO0.0÷AO0.1 *) Digitální vstupy lze připojit různými způsoby: Na vstupy DI0.0÷DI0.7 lze připojit buď standardní vstupy se stejnosměrným signálem nebo vstupy se střídavým signálem. Máme-li připojené stejnosměrné vstupy, odkazujeme se na ně v aplikaci přes kanál č. 0 (typ DI0). Máme-li připojené střídavé vstupy, odkazujeme se na ně přes kanál č. 1 (typ DI0-AC). Digitální vstupy lze v případě potřeby rozšířit na úkor analogových vstupů. Takovéto digitální vstupy se pak připojují na svorky AI0.0÷AI0.5. Jde-li o stejnosměrné vstupy, odkazujeme se na ně přes kanál č. 2 (typ DAI0), v případě střídavých vstupů je to kanál č. 3 (DAI0-AC). **) Analogové vstupy lze připojit různými způsoby: Na vstupy AI0.0÷AI0.5 lze připojit buď standardní analogové vstupy (napěťové nebo proudové) nebo odporové snímače Ni1000. Máme-li připojené standardní vstupy, odkazujeme se na ně v aplikaci přes kanál č. 0 (typ AI0). Máme-li připojené odporové snímače Ni1000, odkazujeme se na ně přes kanál č. 1 (typ Ni1000). Pro správnou funkci vstupů se snímači Ni1000 je nutné nastavit příslušné HW propojky na procení stanici dle technické dokumentace. V aplikaci PSE se vstupy se snímači Ni1000 načítají pomocí modulu Ni1000. Procesní stanice typu ART4000 a ART4000F Fyzické vstupy a výstupy u procesní stanice typu ART4000 a ART4000F jsou pevně dány. Systém není na úrovni fyzických vstupů a výstupů modifikovatelný (nelze měnit PSE - Editor procesní stanice 56 PSE - Editor procesní stanice pozice a tím vnitřní adresaci modulů). Při volbě příkazu Konfig. V/V se zobrazí seznam všech možných logických a fyzických kanálů v systému . Autor aplikace nemá možnost měnit žádné údaje kromě komentáře k jednotlivým modulům. Vazba mezi logickými a fyzickými kanály je následující: Typ Logický kanál Počet signálů Konektory modulů DI0 0 8 (0.0÷0.7) DI0.0÷DI0.7 *) DI0-AC 1 8 (1.0÷1.7) DI0.0÷DI0.7 *) DAI0 2 8 (2.0÷2.7) AI0.0÷AI0.7 *) DAI0-AC 3 8 (3.0÷3.7) AI0.0÷AI0.7 *) DO0 0 8 (0.0÷0.7) DO0.0÷DO0.7 AI0 0 8 (0.0÷0.7) AI0.0÷AI0.7 **) Ni1000 1 8 (1.0÷1.7) AI0.0÷AI0.7 **) AO0 0 2 (0.0÷0.1) AO0.0÷AO0.1 *) Digitální vstupy lze připojit různými způsoby: Na vstupy DI0.0÷DI0.7 lze připojit buď standardní vstupy se stejnosměrným signálem nebo vstupy se střídavým signálem. Máme-li připojené stejnosměrné vstupy, odkazujeme se na ně v aplikaci přes kanál č. 0 (typ DI0). Máme-li připojené střídavé vstupy, odkazujeme se na ně přes kanál č. 1 (typ DI0-AC). Digitální vstupy lze v případě potřeby rozšířit na úkor analogových vstupů. Takovéto digitální vstupy se pak připojují na svorky AI0.0÷AI0.7. Jde-li o stejnosměrné vstupy, odkazujeme se na ně přes kanál č. 2 (typ DAI0), v případě střídavých vstupů je to kanál č. 3 (DAI0-AC). **) Analogové vstupy lze připojit různými způsoby: Na vstupy AI0.0÷AI0.7 lze připojit buď standardní analogové vstupy (napěťové nebo proudové) nebo odporové snímače Ni1000. Máme-li připojené standardní vstupy, odkazujeme se na ně v aplikaci přes kanál č. 0 (typ AI0). Máme-li připojené odporové snímače Ni1000, odkazujeme se na ně přes kanál č. 1 (typ Ni1000). Pro správnou funkci vstupů se snímači Ni1000 je nutné nastavit příslušné HW propojky na procení stanici dle technické dokumentace. V aplikaci PSE se vstupy se snímači Ni1000 načítají pomocí modulu Ni1000. Procesní stanice typu ART4000M Fyzické vstupy a výstupy u procesní stanice typu ART4000M jsou pevně dány. Systém není na úrovni fyzických vstupů a výstupů modifikovatelný (nelze měnit pozice a tím vnitřní adresaci modulů). Při volbě příkazu Konfig. V/V se zobrazí seznam všech možných logických a fyzických kanálů v systému . Autor aplikace nemá možnost měnit žádné údaje kromě komentáře k jednotlivým modulům. Vazba mezi logickými a fyzickými kanály je následující: Typ Logický kanál Počet signálů Konektory modulů DI0 0 8 (0.0÷0.7) DI0.0÷DI0.7 *) DI0-AC 1 8 (1.0÷1.7) DI0.0÷DI0.7 *) DAI0 2 8 (2.0÷2.7) AI0.0÷AI0.7 *) DAI0-AC 3 8 (3.0÷3.7) AI0.0÷AI0.7 *) DO0 0 8 (0.0÷0.7) DO0.0÷DO0.7 DO1 1 8 (1.0÷1.7) DO1.0÷DO1.7 AI0 0 8 (0.0÷0.7) AI0.0÷AI0.7 **) Ni1000 1 8 (1.0÷1.7) AI0.0÷AI0.7 **) PSE - Editor procesní stanice 57 PSE - Editor procesní stanice *) Digitální vstupy lze připojit různými způsoby: Na vstupy DI0.0÷DI0.7 lze připojit buď standardní vstupy se stejnosměrným signálem nebo vstupy se střídavým signálem. Máme-li připojené stejnosměrné vstupy, odkazujeme se na ně v aplikaci přes kanál č. 0 (typ DI0). Máme-li připojené střídavé vstupy, odkazujeme se na ně přes kanál č. 1 (typ DI0-AC). Digitální vstupy lze v případě potřeby rozšířit na úkor analogových vstupů. Takovéto digitální vstupy se pak připojují na svorky AI0.0÷AI0.7. Jde-li o stejnosměrné vstupy, odkazujeme se na ně přes kanál č. 2 (typ DAI0), v případě střídavých vstupů je to kanál č. 3 (DAI0-AC). **) Analogové vstupy lze připojit různými způsoby: Na vstupy AI0.0÷AI0.7 lze připojit buď standardní analogové vstupy (napěťové nebo proudové) nebo odporové snímače Ni1000. Máme-li připojené standardní vstupy, odkazujeme se na ně v aplikaci přes kanál č. 0 (typ AI0). Máme-li připojené odporové snímače Ni1000, odkazujeme se na ně přes kanál č. 1 (typ Ni1000). Pro správnou funkci vstupů se snímači Ni1000 je nutné nastavit příslušné HW propojky na procení stanici dle technické dokumentace. V aplikaci PSE se vstupy se snímači Ni1000 načítají pomocí modulu Ni1000. Procesní stanice typu APT2100 APT2100 je řídicí terminál bez vlastního vstupně/výstupního systému. Konfigurace V/V je u tohoto typu stanice prázdná a nelze ji měnit. 4.6.3 Popis použitých V/V signálů Vybereme-li kurzorem jeden fyzický kanál resp. V/V modul, lze příkazem Edit | Prohlédni (horká klávesa <Mezerník>) otevřít okno definic použitých V/V signálů. V tomto okně je možné zdokumentovat skutečně použité V/V signály a přidělit jim symbolická jména. Symbolické jméno signálu musí být jedinečné v rámci celé aplikace. Program nedovolí zadat jméno, které již bylo zadáno pro jiný signál. Má-li signál přidělené symbolické jméno, lze se na něj v aplikaci odkazovat pomocí tohoto jména. Na signál se lze v aplikaci odkazovat také pomocí čísla kanálu a čísla signálu, ale je to méně přehlednější. Odkazy pomocí jmen signálů se také osvědčí v případě, kdy je nutné ve stávající aplikaci změnit pořadí fyzického zapojení signálů. Tehdy stačí pouze změnit pořadí jmen signálů v popisu V/V signálů a nemusí se měnit parametry modulů, které se na tyto signály odkazují. Informace v tomto okně zadané využívá program PSE také při expertní kontrole stanice a generaci dokumentace. V okně se zobrazují pouze ty signály, které jsou právě dostupné na daném typu fyzického kanálu. Po navedení kurzoru na vybraný signál můžeme příkazem Edit | Edituj (horká klávesa <Enter>) změnit jméno a popis signálu, popřípadě signál od stanice odpojit (stiskem tlačítka "Odpoj"). Odpojené (nepřipojené) signály jsou označeny symbolem NC (not connected). 4.7 Procesní databáze Nejprve popíšeme stručně význam a princip činnosti databáze procesní stanice a způsob jejího začlenění do sítě DB-Net. Poté popíšeme způsob, jak lze v programu PSE definovat procesní databázi a eventuálně počáteční hodnoty některých proměnných. 4.7.1 Filosofie procesní databáze Úkolem procesní databáze je správa procesních dat. Databáze tedy obsahuje veškeré naměřené, vypočtené a archivní údaje, konstanty, parametry, plány atd. týkající se PSE - Editor procesní stanice 58 PSE - Editor procesní stanice daného technologického procesu. Kromě toho obsahuje doplňující údaje o počtu a stavu uložených dat apod. Veškeré procesní údaje jsou v databázi uloženy v proměnných. Každá proměnná je označena jménem, má určitý typ, rozměr a zdroj. TID Každá proměnná má v programu své jedinečné jméno označované zkratkou TID (Text Identification). Jméno proměnné je textový řetězec obsahující pouze číslice, znaky abecedy a případně podtržítko "_". Žádné jméno proměnné nesmí začínat číslicí. Nelze také používat českou diakritiku. Ve vstupech nebo výstupech funkčních modulů jsou poté používána pouze tato jména jako identifikátory příslušných proměnných. WID Ve vnitřní reprezentaci má každá proměnná přiřazen číselný identifikátor v rozsahu 0 až 65500 označovaný jako WID. Toto číslo je používáno při přístupu k proměnné a musí být jedinečné v celé aplikaci (tedy i v síti procesních stanic). Přidělování WID řeší program PSE automaticky. Každý WID je sestaven z čísla stanice na síti DB-Net a pořadového čísla proměnné v konkrétní stanici. Tak je zajištěno, aby nedocházelo ke kolizím identifikátorů WID v aplikaci. Typy proměnných Proměnné v databázi jsou jednoho ze šesti typů. popis typ rozsah celé číslo 16 bitů I 0-0xFFFF (hexa) 0-65535 (dekadicky) celé číslo 32 bitů L 0-0xFFFFFFFF (hexa) cca 0- 4.109 reálné číslo F cca 10-39 až 1039 s přesností na 7 až 8 platných číslic matice čísel typu I MI max. 9999 řádků a 9999 sloupců *) matice čísel typu L ML max. 9999 řádků a 9999 sloupců *) matice čísel typu F MF max. 9999 řádků a 9999 sloupců *) *) Maximální počet řádků a sloupců je spíše teoretický, jelikož maximální velikost proměnné je omezena velikostí volné paměti v procesní stanici. Matice Pro přístup k prvku matice slouží dvojice indexů - řádkový a sloupcový. Indexace začíná hodnotou indexu 0. Má-li např. matice Teploty rozměr 20 řádků a 2 sloupce, znamená zápis Teploty[15,0] odkaz na prvek matice, ležící v 16. řádku (tedy řádku č. 15) a 1. sloupci (tedy sloupci č. 0). 4.7.2 Definice proměnné Příkaz menu Databáze otvírá okno s definicemi databázových proměnných. Na každém řádku je uvedena definice jedné proměnné. Definice proměnných jsou setříděné abecedně podle jmen. Horkou klávesou <Ctrl+T> lze setřídit databázi i podle hodnoty WIDu. Opětovným stiskem <Ctrl+T> se databáze setřídí opět podle jmen. Definici nové proměnné vytváříme v dialogovém okénku po zadání příkazu Edit | Přidej resp. <Ins>. Existující definici můžeme opravit tak, že ji vybereme kurzorem a zadáme příkaz Edit | Edituj resp. <Enter>. V dialogovém okénku vytváření resp. editace definice databázové proměnné můžeme zadat: ! ! jméno proměnné typ proměnné - zadáváme ho jako I, L, F, MI, ML nebo MF PSE - Editor procesní stanice 59 PSE - Editor procesní stanice ! ! rozměr proměnné - pro jednoduché proměnné je rozměr nevýznamný, u matic lze volit počet řádků i sloupců libovolně v rozsahu 1 až 9999. Celková délka proměnné je omezená velikostí volné paměti v procesní stanici. druh proměnné: Bezpečná Inicializovaná při teplém startu [x] [ ] [x] [ ] ! ! ! Systém speciálním mechanismem zajišťuje , aby nedošlo k narušení dat maticové proměnné ani v kritických situacích jako jsou náhodné výpadky napájení. Tato “bezpečnost “ je zaplacena zhruba dvojnásobnými nároky na paměť procesní stanice pro každou takovou proměnnou. Příznak má význam zadávat pouze u matic, jednoduché proměnné jsou zabezpečeny automaticky. Normální proměnná Proměnná je inicializovaná při každém startu aplikačního programu (tj. po každém výpadku napájení procesní stanice či restartu). Při každém startu se do proměnné zapíše hodnota definovaná programátorem, případně se proměnná vynuluje, pokud programátor nezadal žádnou inicializační hodnotu. Tímto mechanismem lze nahradit inicializaci proměnné pomocí modulu LET v Init procesu. Proměnná je inicializovaná pouze při prvním spuštění aplikace. Do proměnné se zapíše hodnota definovaná programátorem, případně se proměnná vynuluje, pokud programátor nezadal žádnou inicializační hodnotu. číslo stanice, na které je proměnná definována. WID proměnné - je doplňován automaticky a není třeba jej měnit (editace je ovšem umožněna, nedoporučujeme však WID bezdůvodně přepisovat). popis významu proměnné Obr. 4: Definice databázové proměnné Po akceptování nových hodnot tlačítkem "OK" provede program PSE test zadaného jména proměnné a upozorní na případ vícenásobného použití proměnné. V takovém případě je třeba proměnné přidělit dosud nepoužité jméno nebo veškeré editační výsledky zrušit tlačítkem "Cancel". Zevrubnou kontrolu všech databázových proměnných provede až expertní kontrola (příkaz Volby | Expertní kontrola). PSE - Editor procesní stanice 60 PSE - Editor procesní stanice 4.7.3 Definice počátečních hodnot proměnné U konstant regulátorů, linearizačních křivek apod. má zásadní význam možnost definice počátečních hodnot databázových proměnných. Procesní stanice tak může hned po startu pracovat se správnými hodnotami a není nutné je nejprve nastavovat po síti nebo pomocí terminálu, než bude možné stanici připojit na technologii. V okně definice databázových proměnných vybereme kurzorem proměnnou a příkazem Edit | Prohlédni nebo <Mezerník> zobrazíme počáteční hodnoty. Okno editace počátečních hodnot zobrazí řádkové indexy podél levého okraje okna, sloupcové indexy podél horního okraje okna. Vlastní editovatelné hodnoty jsou zobrazeny po vnitřní ploše okna. Vybrána je vždy jedna hodnota. Pro snazší orientaci je spolu s ní zvýrazněn i její řádkový a sloupcový index. Navedeme-li kurzor na zvolenou hodnotu, lze příkazem Edit | Edituj resp. <Enter> otevřít dialogové okénko změny hodnoty. Obr. 5: Zadání počátečních hodnot databázové proměnné Operační systém procesní stanice NOS zajišťuje vynulování hodnot všech databázových proměnných při prvním startu aplikačního programu. Proto lze za proměnnou s počáteční hodnotou považovat takovou proměnnou, jejíž hodnota, nebo hodnota kteréhokoli jejího prvku (je-li to matice) je různá od nuly. Operační systém může některé proměnné inicializovat nejen při prvním startu aplikačního programu, ale i při každém dalším startu - viz popis parametru Druh proměnné v dialogovém okénku změny databázové proměnné. Formáty Počáteční hodnoty proměnné se zobrazují a editují v základním dekadickém formátu. Dle potřeby lze formát zobrazení změnit pomocí horké klávesy <CTRL+F> v okně počátečních hodnot proměnné. Celočíselné typy proměnných lze zobrazovat dekadicky, v šestnáctkové soustavě a ve dvojkové soustavě. Typy L a ML lze ještě také zobrazovat ve formátu datum čas. Typ MI může být ještě zobrazen speciálním způsobem jako řetězec znaků. Znakový řetězec je pak představován jedním řádkem matice, hodnoty v jednotlivých sloupcích jsou ASCII kódy znaků řetězce. Uložení hodnot na disk Pomocí horké klávesy <CTRL+W> lze počáteční hodnotu proměnné uložit na disk. Horkou klávesou <CTRL+R> lze hodnotu načíst zpět z disku do aplikace. Hodnoty se ukládají textově, u matic je každý řádek matice uložen na jednom řádku textového souboru. Příkazů lze s výhodou použít například při editaci velkých matic, které si potřebujeme nejprve připravit v nějakém tabulkovém procesoru. PSE - Editor procesní stanice 61 PSE - Editor procesní stanice 4.7.4 Alias-databáze (pojmenování bitů proměnných) K celočíselným proměnným typu I a MI lze přistupovat nejen jako k číslům, ale také proměnné mohou představovat také šestnáctice hodnot 0/1, které mají nejčastěji význam ANO/NE. Takovéto hodnoty se nazývají bity proměnné a jsou určeny číslem 0 až 15 přičemž bit číslo 0 je nejspodnější bit (nejméně významný). K jednotlivým bitům takových proměnných se přistupuje v některých parametrech modulů případně v příkazu LET. Daný bit je pak identifikován pomocí jména proměnné a čísla bitu (jméno.číslo). Jelikož jednotlivé bity obvykle reprezentují v aplikaci různé stavy, povely apod., je vhodné tyto bity pojmenovat a odkazovat se na ně přímo pomocí těchto jmen. K tomu slouží tzv. alias jména, což jsou vlastně “přezdívky” jednotlivých bitů databázových proměnných. Alias jméno pak nahrazuje odkaz pomocí jména proměnné a čísla bitu: alias = jméno.číslo K definování alias proměnných slouží příkaz Databáze | Alias-databáze. Zobrazí se seznam alias proměnných což jsou zmíněné přezdívky jednotlivých bitů databázových proměnných. Definici nové alias proměnné vytváříme v dialogovém okénku po zadání příkazu Edit | Přidej resp. <Ins>. Existující definici můžeme opravit tak, že ji vybereme kurzorem a zadáme příkaz Edit | Edituj resp. <Enter> . Obr. 6: Editace alias proměnné ! ! ! 4.8 V dialogovém okénku můžeme zadat: jméno alias jméno a bit proměnné, pro který vytváříme přezdívku (jméno proměnné lze snadno zadat pomocí tlačítka “Výběr!) popis významu alias proměnné Definice zpracujících procesů V tomto odstavci popíšeme filosofii práce s procesy na procesní stanici a způsob, jakým se procesy definují v programu PSE. PSE - Editor procesní stanice 62 PSE - Editor procesní stanice Co je to proces? Práce procesní stanice neprobíhá sekvenčně - je rozdělena do tzv. procesů. Každý proces je část programu, která pracuje relativně samostatně a nezávisle na ostatních procesech. Zejména u jednodušších procesních stanic je výhodné popsat jedním procesem jeden regulační nebo měřicí okruh. Tím je zajištěna správná časová součinnost a vazba všech prvků okruhu a nezávislost na dalších okruzích. U složitějších stanic je možné do jednoho procesu sdružovat okruhy se stejným časováním. Řádný proces Operační systém NOS umožňuje definovat až 37 procesů. Šestnáct z nich jsou tzv. procesy řádné - v programu PSE je značíme Proc00 až Proc15. Tyto procesy využíváme pro popis regulačních okruhů. Perioda spouštění každého z těchto procesů lze volit v rozsahu 0.1 až 1000000 sekund (maximálně cca 11 dní). U řádných procesů lze ještě navíc volit tzv. ofset periody, který udává posunutí prvního spuštění. Pomocí tohoto ofsetu lze v případě potřeby optimálněji využít čas procesoru. Máme-li například dva procesy, které jsou náročné na výpočetní čas, lze je posunout tak, aby vždy mezi spuštěním každého z nich byla časová mezera, ve které se spouští prázdný proces (viz dále). Perioda procesů P00 Idle P01 P00 P01 Idle a) bez posunu P00 Idle P01 Idle P00 Idle P01 Ofset b) s posunem Další procesy jsou speciální. Prázdný proces Prázdný proces (v programu PSE označovaný jako ProcIDLE) je speciální proces, který je spouštěn v okamžiku, kdy si žádný ze zbývajících procesů nenárokuje procesor, tedy kdy procesor "nemá co dělat". Rychlý proces Rychlý proces (v programu PSE označovaný jako ProcQUICK) je speciální proces, který je určen k obsluze rychlých dějů v procesní stanici, zejména impulsních vstupů. Tento proces je standardně spouštěn každých 50 ms, ale periodu spouštění lze změnit výběrem z hodnot 5, 10, 20, 50 a 100 ms. Rychlý proces musí svoji činnost omezit na nezbytné minimum, aby ponechal dostatek času ostatním procesům. Velmi rychlé procesy Dva procesy (v programu PSE označované jako ProcHi00 a ProcHi01 - od slova High-Speed) jsou podobně jako proces Quick speciální procesy určené k obsluze rychlých dějů v procesní stanici. Od procesu Quick se odlišují tím, že jejich perioda se dá měnit libovolně po jedné milisekundě v rozsahu od 1 do 1677 ms. Interrupt procesy V aplikaci lze vytvořit až 16 Interrupt procesů (v programu PSE označované jako ProcITR00 až ProcITR15), které se vyvolávají na základě přerušení od vnější události. Touto vnější událostí se rozumí změna hladiny digitálního signálu přivedeného na speciální vstupní modul procesní stanice. Spuštění procesu může být odvozeno od náběžné PSE - Editor procesní stanice 63 PSE - Editor procesní stanice hrany signálu nebo od sestupné hrany signálu, případně od obou hran signálu. Interrupt procesy jsou závislé na použitém HW procesní stanice. Následující tabulka uvádí vazbu těchto procesů na konkrétní digitální vstupy pro jednotlivé HW: Proces \ HW AMAP98, AMiRiS ITR00 ITR01 ITR02 ITR03 ITR04 ITR05 ITR06 ITR07 ITR08 ITR09 ITR10 ITR11 ITR12 ITR13 ITR14 ITR15 DI0 DI1 DI2 DI3 DI4 DI5 DI6 DI7 - AMAP99 AMiRiS99 DI0.0 DI0.1 DI0.2 DI0.3 DI0.4 DI0.5 DI0.6 DI0.7 DI0.8 DI0.9 DI0.10 DI0.11 DI0.12 DI0.13 DI0.14 DI0.15 DI0.0 DI0.1 DI0.2 DI0.3 DI0.4 DI0.5 DI0.6 DI0.7 DI0.8 DI0.9 DI0.10 DI0.11 - ART267, ART267A *) DI0.0 DI0.1 DI0.2 DI0.3 DI0.4 DI0.5 DI0.6 DI0.7 - ADiS, APT2100 ART4000, ADiS-F, ART4000M ADiS167 **) FDI0.0 DI0.0 FDI0.1 DI0.1 FDI0.2 DI0.2 FDI0.3 DI0.3 FDI0.4 DI0.4 FDI0.5 DI0.5 FDI0.6 DI0.6 FDI0.7 DI0.7 FDI0.8 FDI0.9 FDI0.10 FDI0.11 FDI0.12 FDI0.13 FDI0.14 FDI0.15 - *) Do verze NOS V3.13 byly vstupy DI0 až DI7 mapovány na ITR8 až ITR15 a měly obrácenou logiku hran (přechod signálu z “0” do “1” se projevil jako sestupná hrana a opačně z “1” do “0” jako náběžná hrana). Od verze NOS V3.14 platí přiřazení dle tabulky se správnou logikou hran a zároveň je zachována zpětná kompatibilita, takže lze použít i procesy ITR8 až ITR15, které zachovávají obrácenou logiku hran. **) Procesy ITR00 až ITR07 jsou navázány na první modul FDI v sestavě (FDI nejblíže CPU modulu). Procesy ITR08 až ITR15 jsou navázány na druhý modul FDI v sestavě. Nezáleží na přiřazení logických kanálů těchto modulů. Inicializační proces Inicializační proces (v programu PSE označovaný jako ProcINIT) se spustí pouze při startu procesní stanice. Opětovné spuštění není možné. Tento proces lze využít pro nastavení počátečních stavů řídicího systému. Procesy a podprogramy Dosud popsané vlastnosti procesů jsou určovány operačním systémem procesní stanice NOS. Univerzální procesní stanice však zavádí další pojem, tzv. podprogram. Podprogram je speciální proces, který není spouštěn periodicky, ale výhradně na požádání jiného procesu. Má tedy funkci stejnou jako podprogram v běžném programovacím jazyce. Univerzální procesní stanice (a tedy i program PSE) umožňuje definovat až 900 (teoreticky) těchto podprogramů a žádat jejich provedení z periodických procesů nebo jiných podprogramů. V podprogramech bývají definovány často se opakující činnosti, které by jinak bylo nutno stále znovu opakovaně definovat. 4.8.1 Definice procesu Příkaz Procesy zobrazí okno s definicemi jednotlivých procesů. Pro identifikaci jednotlivých procesů jsou použita symbolická jména Proc00 až Proc15, ProcIDLE, ProcQUICK, ProcHI0, ProcHi1, ProcITR00 až ProcITR15, ProcINIT a pro podprogramy Lib100 až Lib999. Navedením kurzoru a stiskem <Enter> resp. Edit | Edituj můžeme editovat definici zvoleného procesu nebo po stisku <Ins> resp. Edit | Přidej můžeme definovat nový proces. V příslušném dialogovém okénku lze zadat následující hodnoty: PSE - Editor procesní stanice 64 PSE - Editor procesní stanice ! ! Identifikace procesu Zadávají se hodnoty 0 až 15, IDLE, QUICK, HI0, HI1, ITR0 až ITR15 a hodnoty 100 až 999. Tyto hodnoty odpovídají výše uvedeným symbolickým jménům procesů. Typ Lze definovat 3 typy procesů: Normální Logický automat Reléové schéma ! ! Běžný proces PSE, který se skládá z normálních modulů PSE. Vazby mezi moduly jsou přes databázové proměnné. Moduly jsou komplexní celky schopné řešit i poměrně složité problémy. Programátor je poměrně značně odstíněn od programování, aplikace se vytváří spíše formou parametrizování a provázání modulů. Proces, který se skládá z tzv. LA-modulů. LA-moduly pracují nad logickým zásobníkem, přes který si předávají parametry. Vazby mezi moduly jsou především přes logický zásobník a částečně přes databázové proměnné. Moduly představují spíše elementární operace a programátor musí více programovat. Takovéto procesy však mohou být extrémně rychlé a používají se pro velmi rychlé zpracování jednoduchých problémů. Proces vytvářený v pseudografickém režimu. Moduly jsou představovány bloky, které se na obrazovce spojují pomocí čar. Způsob propojování modulů vychazí z reléové logiky. Čáry představují většinu vazeb mezi moduly. Částečně se moduly mohou vázat i přes databázové proměnné. Návrh aplikace je grafický a tedy velmi přehledný. Moduly představují v podstatě grafické reprezentace LA-modulů. Programátor má tedy k dispozici spíše jen elementarní operace. Takovéto procesy však mohou být podobně jako procesy logického automatu extrémně rychlé. Pro svou názornost jsou velmi vhodné pro logické a stavové řízení. Hrana interrupt procesu Interrupt proces je vždy svázán s nějakým vstupním signálem od jehož změny se proces vyvolává. V tomto parametru lze definovat na jakou hranu vstupního signálu se má proces spouštět. Parametr je aktivní pouze pro procesy typu interrupt. Perioda Pomocí tlačítka Perioda se vyvolá okénko dialogu pro zadání periody procesu. Tlačítko je aktivní pouze pro periodicky spouštěné procesy. Perioda se zadává různým způsobem pro jednotlivé typy procesů: Proc00 až Proc15 Quick HI0, HI1 0.1 až 1000000 s 5, 10, 20, 50 nebo 100 ms. 1 až 1677 ms Perioda procesu určuje čas, po kterém je proces znovu spuštěn. ! Krátký popis činnosti procesu Používá se pouze pro automatickou generaci dokumentace. Po ukončení editace tlačítkem OK provede program PSE kontrolu korektnosti zadaných hodnot. Na případnou neshodu upozorní a volá znovu dialogové okénko. PSE - Editor procesní stanice 65 PSE - Editor procesní stanice Obr. 7: Definice nového procesu 4.9 Popis procesu Navedeme-li kurzor na některý z procesů, lze stiskem klávesy <Mezerník> resp. Edit | Prohlédni zobrazit okno s popisem činnosti tohoto procesu, tedy se seznamem jednotlivých funkčních modulů, které vykonávají činnost příslušné regulační smyčky. Právě zde leží těžiště činnosti tvůrce aplikace - popis činnosti jednotlivých regulačních a měřicích smyček jako posloupnosti správně parametrizovaných funkčních modulů. 4.9.1 Funkční moduly Nejprve popíšeme funkční moduly, pomocí kterých se vytváří běžné procesy v PSE. Moduly logického automatu a moduly reléových schémat budou popsány v dalších kapitolách. Činnost procesu - regulační smyčky - je popsána jako posloupnost funkčních modulů. Na každém řádku je popsán jeden funkční modul. Popis se skládá z pořadového čísla modulu v procesu, návěští, typu a parametrů modulu. Popis je doplněn komentářem textem popisujícím činnost funkčního modulu v daném místě. Návěští modulu Každý funkční modul v popisu procesu může být označen návěštím. Návěští je jedinečné, na téže procesní stanici opakovaně nepoužité číselné označení jednoho konkrétního funkčního modulu. Odkaz jednoho funkčního modulu na druhý vždy používá návěští. Je-li návěští modulu, na nějž se odkazujeme, v témže procesu jako modul, který se odkazuje, hovoříme o návěští lokálním, jinak o návěští globálním. Hodnota návěští "NONE" odpovídá stavu, kdy funkční modul není označen žádným návěštím. Toto je také implicitní hodnota návěští modulu, která vyhoví pro naprostou většinu funkčních modulů. Typ modulu Každému druhu funkčního modulu je přiřazeno jeho autorem jednoznačné číselné jméno (WID modulu) a symbolické jméno. Číselné jméno slouží pouze pro vnitřní potřebu univerzální procesní stanice a programátor se s ním v programu PSE prakticky nesetká. Naproti tomu symbolické jméno, nebo také typ modulu, je pro programátora velmi důležitý - ví např., že modul AnIn zajišťuje vstup analogového údaje z logického kanálu a modul PID implementuje regulační algoritmus PID. PSE - Editor procesní stanice 66 PSE - Editor procesní stanice Parametry Parametry určují konkrétní vstupy, výstupy a detailní vlastnosti konkrétního funkčního modulu. V popisu modulu jsou uvedeny za typem modulu; jednotlivé hodnoty jsou odděleny čárkami. Prostor pro parametry vyhrazený v okně je z praktických důvodů omezen - nechává na konci řádky místo pro komentář. Je-li seznam parametrů příliš dlouhý, objeví se na jeho konci symbol pokračování seznamu ». "Neviditelné", zakryté parametry je možné prohlédnout si v editačním dialogovém okénku. Lze také pomocí příkazu Volby | Vypnout/Zapnout komentáře (horká klávesa <Ctrl+K>) zrušit vypisování komentářů, parametry pak budou vypisovány na maximální šířku. Šířka prostoru pro zobrazení parametrů je však volena tak, že vyhoví většině funkčních modulů bez omezení. Vložení nového modulu Chceme-li vložit definici nového funkčního modulu, navedeme kurzor na místo, kam budeme modul vkládat a klávesou <Ins> resp. příkazem Edit | Přidej vyvoláme dialogové okénko výběru typu modulu. Toto okénko obsahuje seznam všech právě dostupných typů funkčních modulů v (abecedním pořadí). Vybereme vhodný typ modulu kurzorovými šipkami nebo využitím inkrementálního vyhledávání - začneme psát jméno modulu a dialogové okénko nám hledanou položku vyhledá. Výběr ukončíme stiskem tlačítka "OK". Tím je nový funkční modul v požadovaném místě vytvořen. Program PSE naplní jeho parametry implicitními hodnotami a zobrazí dialogové okénko editace již existujícího modulu (viz dále). Editace existujícího modulu Pokud místo vkládání nového modulu chceme editovat již existující modul, navedeme kurzor na něj a stiskem <Enter> resp. Edit | Edituj otevřeme dialogové okénko editace modulu. V tomto okénku můžeme zadat následující parametry: ! ! ! Návěští modulu Číslo v rozsahu 0 až 65500 nebo NONE. Implicitní hodnota návěští je NONE, což vyhoví většině funkčních modulů. Pokud některé moduly vyžadují odkazy jeden na druhého (jedná se zejména o příkazy pseudojazyka) je Expert při kontrole stanice schopen doplnit většinu těchto odkazů automaticky. Krátký popis činnosti modulu Slouží pro potřeby dokumentace Hodnoty všech parametrů Po aktivaci seznamu parametrů vybereme příslušný parametr a stiskem tlačítka "Edituj" otevřeme dialogové okénko pro zadání jeho hodnoty. Implicitním tlačítkem v tomto dialogovém okénku není tlačítko "OK", ale tlačítko "Edituj". Klávesa <Enter> tedy spouští editaci vybraného parametru, zatímco pro akceptování hodnot je třeba použít myš nebo klávesu <Alt+K>. Tato výjimka ve volbě "implicitního" tlačítka je vedena snahou o důsledné dodržení logiky "chci editovat ještě dále, stisknu tedy <Enter>". PSE - Editor procesní stanice 67 PSE - Editor procesní stanice Obr. 8: Vložení nového modulu do procesu 4.9.2 Parametry Parametrů funkčních modulů je k dispozici více jak dvacet různých typů. Lze je rozdělit do několika skupin podle vzájemné příbuznosti. Číselné hodnoty Parametry, jejichž hodnotou je číslo, slouží k zadávání konstant čidel, regulátorů, režimů činnosti apod. U každého z parametrů může být omezen rozsah přípustných hodnot, např. režim činnosti regulátoru bude přípustný v rozsahu 1 až 3. Číselné parametry mohou být v zásadě trojího typu: ! ! ! celé číslo (1213, -451 apod.) celé číslo zadávané v šestnáctkové soustavě (1A8F, 4FDE12BA apod.) reálné číslo (-23.456, 13.546e-8 apod.) Strukturované číslo Speciálním typem číselného parametru je tzv. bitově kódovaný parametr. Hodnota takového parametru je složena ze dvou nebo více dílčích hodnot logického typu (ANO/NE) nebo celočíselného typu (hodnota). Hodnota parametru tohoto typu se zobrazuje jako číslo v šestnáctkové soustavě, ale při zadávání hodnoty se objeví seznam dílčích složek čísla. Výběr složky ze seznamu k editaci provádíme stejným způsobem jako výběr parametru modulu, editaci zahájíme tlačítkem "Edituj". Je-li vybraná složka logického typu, změní ihned po stisku "Edituj" svůj stav, je-li číselná, je nutné zadat její hodnotu. Po editaci všech potřebných složek čísla stisk tlačítka "OK" editaci tohoto parametru ukončí. Z hodnoty jednotlivých složek se určí hodnota parametru jako celku. PSE - Editor procesní stanice 68 PSE - Editor procesní stanice Obr. 9: Dialogové okno editace bitově kódovaného parametru Databázové proměnné Odkazy na databázové proměnné tvoří druhou, velmi významnou skupinu parametrů funkčních modulů. Těchto odkazů je opět řada variant. Ve všech se vždy zadává jméno proměnné (TID). Požadované jméno můžeme přímo zapsat nebo, odmítáme-li si ze zásady cokoli pamatovat, lze stiskem tlačítka "Výběr" zobrazit seznam všech proměnných definovaných v databázi a z něj si pouze vybrat. Program PSE volbu zkontroluje; neexistuje-li námi zadaná proměnná, upozorní nás. V takovém případě je možné definovat požadovanou proměnnou do databáze přímo z okna editace parametrů funkčního modulu, není nutné přepínání oken a prohledávání databáze. Kromě TIDu může odkaz na databázovou proměnnou obsahovat ještě další údaje - např. číslo bitu uvnitř proměnné nebo číslo řádku příp. číslo sloupce pro přístup k řádkům, sloupcům nebo jednotlivým prvkům matice. Na bity databázových proměnných se lze s výhodou odkazovat také pomocí tzv. aliasproměnných, což jsou vlastně “přezdívky”, které nahrazují odkazy pomocí jména proměnné a čísla bitu. Pro odlišení alias jmen od jmen databázových proměnných se před alias jméno přidává znak @. Tento znak se přidává před jméno parametru při výpisu parametrů v okně procesu. Při editaci parametru typu bit databázové proměnné lze zadat obě varianty odkazů. Začneme-li psát jméno začínající znakem @, jedná se o alias jméno a editační pole na zadání čísla bitu automaticky z dialogu zmizí. Pokud začneme psát jméno jiným znakem, jedná se o jméno databázové proměnné a je třeba ještě zadat číslo bitu do dalšího editačního pole. Podobným způsobem se rozlišují jména v příkazu Let. Odkaz na modul Podobný předcházejícímu typu je odkaz na funkční modul. Hodnotou parametru je v tomto případě návěští (lokální nebo globální) funkčního modulu, na nějž se odkazujeme. Je zřejmé, že návěštím musejí být vybaveny pouze ty moduly, na které se chceme odněkud odkázat. Program PSE je většinou schopen automaticky určit, na který modul se chceme odkázat - hovoříme o tzv. automatickém lokálním návěští. Ponecháme-li při editaci takový odkaz nevyplněný (hodnota NONE), doplní Expert při kontrole navržené procesní stanice odkaz na vhodné návěští sám. Chybí-li návěští u modulu, na nějž se odkazujeme, je expertní kontrola schopna i toto návěští doplnit - smysl těchto odkazů bude objasněn v dalších kapitolách. Z výše uvedeného vyplývá výrazné zjednodušení používání návěští - autor aplikace musí definovat pouze globální návěští a odkazy na ně (není nutné si je pamatovat, máme k dispozici tlačítko "Výběr" stejně jako u databázových proměnných), prakticky PSE - Editor procesní stanice 69 PSE - Editor procesní stanice veškerá lokální návěští jsou automatická a jejich vytváření a používání můžeme svěřit expertní kontrole. V/V kanály Dalším typem parametru je odkaz na logický kanál vstupu (DI, AI) nebo výstupu (DO, AO). Číslo logického kanálu může být doplněno číslem bitu DI nebo DO v rozsahu 0 až 15. Na bit logického kanálu se lze také s výhodou odkazovat pomocí jména signálu. Pro odlišení jmen signálů od jmen databázových proměnných se před jméno V/V signálu přidává znak #. Tento znak se přidává před jméno parametru při výpisu parametrů v okně procesu. Při editaci parametru v dialogovém okénku editace parametru se zadává pouze holé jméno signálu. Výjimkou je příkaz Let, ve kterém se jméno signálu musí odlišit znakem # již při editaci výrazu. Jiný odkaz na V/V do technologického procesu než přes logický kanál nebo jméno signálu nelze použít. Proto při úpravě procesní stanice nebo její části pro použití s jiným typem procesní stanice nebo v jiné aplikaci není nutné provádět jakékoli změny v popisu funkčních modulů. Stačí pouze předefinovat konfiguraci procesního V/V, což představuje obvykle úpravu jednoho nebo nejvýše několika řádků definic fyzických kanálů a celá úprava je "bezbolestně" provedena. Variabilní parametry Některé parametry modulů mohou být variabilní, což znamená, že typ parametru je volitelný a tvůrce aplikace jej může vybrat ze seznamu. Programátor se tak může rozhodnout zda daný parametr bude zadán číselně jako konstanta nebo to bude databázová proměnná případně logický V/V kanál. Volba typu parametru se provádí pomocí tlačítka “Typ” v dialogovém okénku editace parametru. Tímto tlačítkem se vyvolá dialogové okénko pro výběr variabilního parametru. Tlačítko “Typ” je zobrazeno pouze u těch parametrů, které jsou variabilní. Výraz Posledním a nejsložitějším typem parametru je výraz. Tento parametr je použit ve speciálním funkčním modulu - příkazu pseudojazyka Let. Tento příkaz a tedy i syntaxe příslušného parametru je popsán detailně v části této příručky popisující funkční moduly. 4.9.3 Pseudojazyk Až dosud jsme hovořili zcela obecně o funkčních modulech jako stavebních kamenech procesní stanice. Spojení mezi funkčními moduly zajišťují datové body, tedy V/V signály do technologického procesu a databázové proměnné jako mezilehlé datové body. Funkční moduly zajišťují vlastní výkon požadované činnosti, tedy linearizaci signálů z čidel, regulační algoritmy, řízení ventilů apod. Je-li dostupný sortiment funkčních modulů nedostatečný, tedy jestliže nelze daný problém uspokojivě vyřešit dostupnými funkčními moduly, je třeba rozšířit univerzální procesní stanici (a tedy i program PSE) o nový funkční modul. To je samozřejmě správný a z technického hlediska nejlepší postup, ale vyžaduje dodatečné vybavení a znalosti pro rozšiřování procesní stanice a pokud jde o problém ojedinělý, prakticky neopakovatelný, může být takové řešení neekonomické. Proto nabízí program PSE náhradní řešení - tzv. pseudojazyk. Pseudojazyk je tvořen několika specializovanými funkčními moduly, které nabízejí podobné možnosti jako velmi jednoduché programovací jazyky (např. BASIC). S jejich pomocí a s minimální znalostí programování může tvůrce aplikace "naprogramovat" nestandardní činnost procesní stanice bez jakéhokoli speciálního vybavení. Teprve později, je-li to účelné a ekonomické, může být tato nestandardní činnost realizována “pravým” funkčním modulem. Podrobný popis příkazů pseudojazyka nalezne čtenář v příručce Knihovny funkčních modulů. Zde uvedeme pouze nástin "jazykových konstrukcí" a základních pravidel jejich použití. Příkaz Let Základním příkazem pseudojazyka je příkaz Let. Jedná se o přiřazovací příkaz typu proměnná = výraz, který lze použít k veškerým výpočtům, logickým a srovnávacím PSE - Editor procesní stanice 70 PSE - Editor procesní stanice operacím prováděným procesní stanicí. Tento příkaz jako jediný příkaz pseudojazyka budeme potřebovat při návrhu prakticky každé procesní stanice, neboť nahrazuje velké množství specializovaných aritmetických a logických funkčních modulů ze systémů jiných výrobců. Přitom zápis výrazu je blízký obvyklému technickému chápání - jeho zvládnutí tedy nebude činit žádné obtíže. Uvedeme pouze několik příkladů pro ilustraci. Let C = 0 Nulování databázové proměnné Let Suma = Vysledek1 + Vysledek2 Sumace přírůstků (integrace) Let Prumer = AVG(A1, A2, A3) Výpočet aritmetického průměru Let Vlajky.1 = Stav.12 and Stav.7 Kombinační logický výraz Let Vlajky.2 = F1 > 230.8 Relační (porovnávací) výraz Příkazy If-Else-EndIf Druhým základním příkazem pseudojazyka je příkaz If, který umožňuje podmíněné vykonání skupiny funkčních modulů nebo příkazů pseudojazyka. Spolu s příkazem Let je dostatečným nástrojem pro tvorbu kombinačních a sekvenčních logických operací. Po doplnění časovacími funkčními moduly TimerOn, TimerOff a TimerPuls tak aplikátor získává úplný aparát pro realizaci řídicí automatiky, který se vyrovná možnostem běžných programovatelných automatů. Základní myšlenka použití příkazu If je tato: Úplný tvar If-Else-EndIf Let podmínka = logický výraz If podmínka, návěští příkaz/modul č. 1 ... příkaz/modul č. N Else návěští příkaz/modul č. N+1 ... příkaz/modul č. M EndIf PSE - Editor procesní stanice 71 PSE - Editor procesní stanice Zkrácený tvar If-Else-EndIf Let podmínka = logický výraz If podmínka, návěští příkaz/modul č. 1 ... příkaz/modul č. N EndIf Přiřazovacím příkazem Let se nejprve vyhodnotí podmínka větvení. Příkaz If tuto podmínku testuje a je-li splněna, vykoná sérii příkazů resp. funkčních modulů za ním bezprostředně následujících. Narazí-li na příkaz Else, přeskočí následující funkční moduly. Zpracování pokračuje prvním funkčním modulem za příkazem EndIf. Není-li podmínka splněna, pokusí se předat řízení prvnímu funkčnímu modulu za příkazem Else. Pokud tento příkaz není nalezen (viz zkrácený tvar příkazu If), předává řízení prvnímu funkčnímu modulu za příkazem EndIf. Funkční moduly "uvnitř" příkazu If se tedy v tomto případě nevykonají. Význam lokálních automatických návěští Jak již bylo řečeno, nejedná se o skutečný programovací jazyk, ale o pseudojazyk, jehož jednotlivé příkazy jsou pouze specializované funkční moduly. Proto na rozdíl od řádného programovacího jazyka musí příkaz If vědět o svém "partnerském příkazu", tedy o příkazu Else nebo EndIf. K tomu slouží návěští. V příkladu použití příkazu If jsou pro lepší názornost odkazy návěštími na "partnerské příkazy" naznačeny graficky. K realizaci takového odkazu musí být příkaz Else resp. EndIf vybaven návěštím, které je parametrem předcházejícího příkazu If resp. Else. Stejný mechanismus je využit i u ostatních párových příkazů pseudojazyka, např. For-EndFor, While-EndWhile apod. Aby však programátor nebyl zatížen nutností definovat jakákoli návěští pro použití v pseudojazyce, jsou všechna tato návěští automaticky lokální, to znamená, že expert při kontrole procesní stanice doplňuje sám jak příslušná návěští, tak i odkazy na ně. Další příkazy pseudojazyka Další příkazy pseudojazyka umožňují realizaci programových smyček a složitějších větvení. Jedná se o příkazy (resp. páry příkazů) For-EndFor (iterační cyklus), WhileEndWhile (cyklus s podmínkou na začátku), Repeat-Until (cyklus s podmínkou na konci), Switch-EndSwitch spolu s Case-EndCase (vícenásobné větvení - přepínač), Call-Exit (volání podprogramů), Break (přerušení cyklů For, While, Repeat) a REM (oddělovací komentář). Všechny tyto příkazy jsou podrobně popsány v příručce Knihovny funkčních modulů. Jejich znalost však není podmínkou efektivního používání univerzální procesní stanice - k tomu stačí zvládnutí příkazů Let a If-Else-EndIf a běžných funkčních modulů. Zvýraznění syntaxe Program PSE usnadňuje programátorovi využívání prostředků pseudojazyka tím, že používá odsazování funkčních modulů uvnitř příkazových párů a tzv. zvýrazňování syntaxe. Příkazy pseudojazyka jsou barevně odlišeny od řádných funkčních modulů. Podmíněně vykonávané funkční moduly nebo příkazy jsou odsazeny vpravo na znamení jejich "podřízenosti" příkazu If-EndIf. Stejným způsobem pracuje odsazování u ostatních párových příkazů pseudojazyka. PSE - Editor procesní stanice 72 PSE - Editor procesní stanice Vnořujeme-li příkazy do větší hloubky (např. iterační cyklus For-EndFor uvnitř podmínky If-EndIf), dochází k odsazení funkčních modulů o další pozici vpravo. Tento proces lze opakovat až do hloubky vnoření 10. Oba dva párové příkazy If a EndIf jsou spojeny vertikální čarou. Stejně tak jsou vertikální čarou spojeny kterékoli jiné dva související párové příkazy. To značně usnadní orientaci v jednotlivých úrovních vnoření u složitějších programových konstrukcí. Značně se tím omezuje možnost neúmyslného vzniku chybné jazykové konstrukce, např. For-Until. 4.10 Proces - logický automat V této kapitole seznámíme čtenáře s tvorbou procesů typu logický automat (dále již jen LA-proces). Vytváření LA-procesu je podobné jako vytváření normálního procesu PSE. Proces je reprezentován seznamem modulů, každý modul je na jednom řádku. Rozdíl oproti normálnímu procesu PSE je v tom, že LA-proces se skládá z tzv. LA-modulů. LA-moduly jsou spíše elementární operace jako např. načtení databázové proměnné, logické operace, aritmetické operace apod. Naproti tomu normální moduly PSE jsou určeny pro složitější a komplexní činnosti. Například ovládání ventilu, regulátor PID, časový plán, archivace hodnot apod. Dalo by se říci, že v normálních procesech se spíše vyplňují parametry modulů tak, aby se přizpůsobily řešenému problému, kdežto v LA-procesu se musí více “programovat”. Výhodou LA-procesu je vysoká rychlost provádění procesu, proto je vhodné použít LA-proces všude tam, kde je požadovaná vysoká rychlost. Jedná se zejména o rychlé procesy s periodou vykonávání řádově jednotek milisekund a o interrupt procesy, u kterých se předpokládá spouštění velmi rychle za sebou. Logický zásobník ! ! ! Hlavním rozdílem LA-modulů oproti normálním modulům je předávání parametrů mezi jednotlivými LA-moduly v procesu přes logický zásobník. Normální moduly si mohou předávat parametry pouze přes databázové proměnné, což je výrazně časově náročnější. Logický zásobník funguje jako jakýsi mezisklad, kam moduly ukládají své výsledky a odkud si berou své vstupní parametry. Zásobník představuje frontu, která má vrchol a dno. Hodnota se do zásobníku ukládá tak, že se vloží na vrchol a hodnoty, které byly do zásobníku vloženy již dříve se posunou směrem dolů. Na vrcholu zásobníku tak vždy zůstává posledně vložená hodnota. Tato hodnota představuje tzv. vrchol zásobníku. Vybírat hodnoty ze zásobníku lze pouze tak, že se vybere hodnota na vrcholu zásobníku a ostatní hodnoty se posunou směrem nahoru. Ze zásobníku lze také hodnotu pouze přečíst aniž by se zásobník změnil. Číst lze pouze položku na vrcholu zásobníku. To znamená, že zásobník se nemění, pouze se načte nejhornější položka. LA-moduly se dle přístupu k logickému zásobníku dají rozdělit na 3 základní typy: Vstupní Jsou to moduly, které nedělají nic jiného než, že vloží na zásobník hodnotu databázové proměnné, logického V/V kanálu případně konstantní hodnotu. Příkladem jsou moduly LD (načtení binární hodnoty na zásobník) a LDN (načtení negované binární hodnoty na zásobník). Výstupní Jsou to moduly, které zapisují hodnotu z vrcholu zásobníku do databázové proměnné nebo do logického V/V kanálu. Například moduly ST (zápis binární hodnoty do proměnné nebo kanálu) a STN (zápis negované binární hodnoty do proměnné nebo kanálu). Zásobníkové Pracují výhradně se zásobníkem. Vstupy načítají ze zásobníku a výstupy ukládají na zásobník. Typicky např. modul logického součinu AND pracuje tak, že ze zásobníku vybere dvě binární hodnoty tj. ze zásobníku je zruší, provede logický součin těchto dvou hodnot a výsledek uloží na zásobník. Takže na zásobníku ubydou dvě položky a jedna přibude. PSE - Editor procesní stanice 73 PSE - Editor procesní stanice Práci se zásobníkem vysvětlíme na příkladě: Chceme realizovat logický výraz Y = (A and B and C) or (D and E). Poznamenejme, že závorky jsou ve výrazu pouze pro názornost, protože logický součin and má vyšší prioritu než logický součet or. Tabulka uvádí výsledný program, ve sloupcích vpravo je znázorněn stav zásobníku po vykonání modulu na daném řádku. LA-modul Vrchol-2 LD A LD B LD C AND AND LD D LD E AND OR Zásobník Vrchol-1 A A B A A and B and C A and B and C D A and B and C ST Y Vrchol A B C B and C A and B and C D E D and E (A and B and C) or (D and E) (A and B and C) or (D and E) Datové typy Doposud jsme pracovali pouze s binárními hodnotami 0/1, které se nazývají logické hodnoty. LA-moduly umí zpracovávat také celočíselné hodnoty a reálné hodnoty s plovoucí řádovou čárkou. Tyto hodnoty se souhrnně nazývají analogové. Následující tabulka ukazuje všechny možné datové typy: Datový typ Zkratka Logické bit b Analogové Int Word Long i w l Odpovídající databázový typ Bit proměnné typu I (proměnná.bit nebo alias-proměnná) I, MI I, MI L, ML DWord Float d f L, ML F, MF Numerický rozsah 0/1 -32768 .. 32767 0 .. 65535 -2147483648 .. 2147483647 0 .. 4294967295 (+/-)3.4e-38 .. (+/-)3.4e38 Typy na zásobníku Každý modul, který načítá nějaký vstup nebo více vstupů z logického zásobníku, předpokládá, že na zásobníku budou hodnoty takových datových typů, které očekává. Pokud nějaký typ nesouhlasí, tak nelze aplikaci vygenerovat. Správnost typů musí zajistit programátor. Pokud chceme zjistit, jaké typy parametrů na zásobníku modul očekává, vyvoláme dialogové okno editace modulu a v seznamu parametrů najdeme sloupec hodnot parametrů. Jedná-li se o vstupní parametr, který modul očekává na logickém zásobníku, je u něj místo hodnoty označení STI(...). Jedná-li se o výstupní parametr, který modul vloží na logický zásobník, je u něj označení STO(...). V závorce je uveden datový typ parametru, např. (int). Existují parametry, které mají povoleno více různých typů. Jejich typ je v seznamu uveden jako interval, např. (int..float). Takové typy parametrů se nazývají volné. Moduly s volnými typy parametrů jsou většinou binární operace nad analogovými hodnotami. Příklady takových modulů uvádí tabulka: PSE - Editor procesní stanice 74 PSE - Editor procesní stanice Operace aritmetické logické vyhodnocovací Moduly ADD, SUB, MUL, DIV, MOD ANDx, ANDNx, ORx, ORNx, XORx, XORNx GT, GE, EQ, LE, LT, NE Tyto moduly mají většinou dva vstupní parametry na logickém zásobníku, které mohou být libovolného typu z povoleného intervalu, ovšem daný typ musí být stejný u obou dvou parametrů. Aby se zjednodušila pro programátora kontrola typů při tvorbě aplikace, obsahuje okno LA-procesu informační pole o datových typech na zásobníku. Informační pole je umístěné v okně na každém řádku modulu mezi polem, kde se vypisují parametry modulu a komentářem. Informační pole zobrazuje stav zásobníku po vykonání modulu na daném řádku. Každá položka na zásobníku je označena zkratkou svého datového typu (viz tabulka výše). Výstupní parametry, které modul vložil na zásobník jsou v okně odlišeny jinou barvou. Položky se vypisují zleva doprava tak, že poslední položka vpravo je vrchol zásobníku. Jako příklad ukážeme realizaci logického výrazu @Y=((A-B)>=C)and @B0, kde proměnné A,B,C mají datový typ word a proměnné @Y a @B0 jsou proměnné typu bit (alias-proměnné). Ukázka okna procesu s komentáři, které popisují význam položek na zásobníku: Poř.Návěští 1 2 3 4 5 6 7 8 Modul LDw LDw SUB LDw GE LD AND ST Parametry A B C @B0 @Y Zásobník w ww w ww b bb b b Komentář A A, B A-B A-B, C (A-B)>=C (A-B)>=C, @B0 (A-B)>=C and @B0 (A-B)>=C and @B0 Pokud je na zásobníku jiný typ než modul očekává, objeví se v informačním poli zásobníku místo zkratky typu znak “!”. Je-li v předchozím příkladě proměnná C databázového typu L a načteme ji na zásobník jako datový typ DWord, projeví se to takto: Poř.Návěští 1 2 3 4 5 Modul LDw LDw SUB LDd GE Parametry A B C Zásobník w ww w wd ! Komentář A A, B A-B A-B, C Chyba, očekává dva stejné typy! Přetypování Aby se zajistily správné typy na zásobníku, jsou k dispozici vstupní a výstupní moduly všech datových typů. Odlišují se koncovkou jména modulu. Např. LDi načte proměnnou typu int, LDf načte proměnnou typu float atd. Máme-li přesto na zásobníku položku jiného typu než modul očekává, lze ji přetypovat pomocí speciálního modulu. Moduly pro přetypování začínají jménem CAST a jako příponu mají zkratku požadovaného výsledného typu na zásobníku (např. CASTi, CASTf, ...). Předchozí příklad by se dal upravit následovně: Poř.Návěští 1 2 3 4 5 6 7 8 9 Modul LDw LDw SUB LDd CASTw GE LD AND ST Parametry A B C @B0 @Y Zásobník w ww w wd ww b bb b b Komentář A A, B A-B A-B, C Přetypování dword -> word (A-B)>=C (A-B)>=C, @B0 (A-B)>=C and @B0 (A-B)>=C and @B0 Pořadí parametrů při předávání do modulu Vstupní parametry se na zásobník předávají ve stejném pořadí, jaké je pořadí vstupních parametrů modulu. Výstupní parametry modul ukládá na zásobník ve stejném pořadí, jaké je pořadí výstupních parametrů. Znamená to, že nejhlouběji na zásobníku bude uložen první výstupní parametr a na vrcholu zásobníku bude poslední výstupní PSE - Editor procesní stanice 75 PSE - Editor procesní stanice parametr. Při zpracování takto uložených parametrů na zásobníku postupujeme tak, že nejprve zpracujeme parametr na vrcholu zásobníku, po té tento parametr ze zásobníku zrušíme pomocí modulu POP a zpracujeme další parametr atd. Jako příklad uvedeme zpoždění náběžné hrany signálu pomocí modulu TON: Poř.Návěští 1 2 3 4 5 6 Modul LD LDd TON STd POP ST Parametry @X T Cas @Y Zásobník b bd bd bd b b Komentář Vstup Délka zpoždění Výstup + hodnota časovače Uložení hodnoty časovače Zrušení položky ze zásobníku Uložení výstupu Větvení programu systémové moduly ! ! Je-li potřeba provádět pouze určitou část programu na základě nějaké podmínky, lze to provést dvěma způsoby: Podmíněné volání podprogramu Část programu, kterou chceme vyvolávat podmíněně vytvoříme ve zvláštním procesu podprogramu (označení Lib...). V hlavním procesu voláme tento podprogram pomocí modulu podmíněného volání CALC nebo CALN. Tyto moduly vyvolají proces na základě hodnoty bitu na logickém zásobníku. Tento bit má potom význam vyvolávací podmínky, která se musí vytvořit pomocí předchozích modulů. Systémové moduly Do LA-procesu lze vkládat systémové moduly, což jsou vlastně moduly normálního procesu PSE. Vkládají se v okně LA-procesu pomocí horké klávesy <Ctrl+S>. Lze použít všechny konstrukce pseudojazyka známé z normálních procesů PSE. Např. If-Else-Endif (větvení), For-EndFor (iterační cyklus), While-EndWhile (cyklus s podmínkou na začátku), Repeat-Until (cyklus s podmínkou na konci), Switch-EndSwitch spolu s Case-EndCase (vícenásobné větvení). Kromě modulů pseudojazyka PSE, lze jako systémové moduly do LA-procesů také vkládat běžné moduly PSE a kombinovat tak části LA-modulů s normálními moduly. Je ovšem třeba postupovat opatrně, protože narozdíl od modulů pseudojazyka, které se provádí velmi rychle, normální PSE moduly se mohou provádět poměrně dlouho a zdržovat tak celý LA-proces. Vložením systémového modulu se přeruší souvislý blok LA-modulů, logický zásobník se vyprázdní a nelze tak v dalším bloku LA-modulů pracovat s položkami, které byly na zásobníku v předchozím bloku. Tyto položky se musejí na zásobník v případě potřeby načíst znovu. 4.11 Proces - reléové schéma Co je to reléové schéma Reléové schéma je grafický způsob vytváření procesu. Diagram vypadá podobně jako běžné elektrické schéma. Příklad: Mějme elektrický obvod se dvěma vypínači a žárovkou. Žárovka svítí, pokud jsou oba vypínače zapnuté. Elektrické schéma: PSE - Editor procesní stanice 76 PSE - Editor procesní stanice + VYP1 VYP2 Žárovka - Odpovídající reléové schéma: VYP1 VYP2 Žárovka [ ] [ ] ( ) Moduly v normálních procesech se skládají za sebou, každý modul na jeden řádek. Předávání parametrů mezi jednotlivými moduly se provádí pomocí databázových proměnných. Například jeden modul načte analogový vstup, jeho hodnotu přepočte na fyzikální rozměr a uloží ji do databázové proměnné. Jiný modul v procesu pak tuto proměnnou načte a dál ji zpracovává. V procesech reléových schémat je tento způsob předávání parametrů spíše výjimečný. Moduly v reléovém schématu jsou představovány grafickými (semigrafickými) bloky, které mají na levé straně vstupní kontakty a na pravé straně výstupní kontakty. Parametry mezi moduly se pak předávají tak, že jednotlivé vstupní a výstupní kontakty modulů se vhodně propojí čarami. Vazby mezi moduly jsou tak velmi přehledné. Název reléové schéma vychází z toho, že způsob vytváření procesu je podobný kreslení zapojování klasických relé. Reléové schéma je v podstatě grafická forma zápisu LA-procesu. Z toho důvodu mají procesy reléových schémat podobné charakteristiky jako LA-procesy. Moduly reléových schémat jsou spíše elementární operace jako např. načtení databázové proměnné, logické operace, aritmetické operace apod. Moduly neřeší natolik komplexní činnosti jako některé moduly normálních procesů PSE. Výhodou reléových schémat je vysoká rychlost provádění procesu. Proto jsou vhodné např. v rychlých procesech s periodou vykonávání řádově jednotek milisekund a v interrupt procesech, u kterých se předpokládá spouštění velmi rychle za sebou. Díky nabídce modulů řešících logické operace a časování se procesy s výhodou uplatní v problémech logického řízení nebo ovládání např. strojů a zařízení. Použití není omezeno pouze na extrémně rychlé procesy, pro svoji přehlednost díky grafickému zápisu jsou reléová schémata dobře použitelná i v případech složitých nebo rozsáhlých logických vztahů a vazeb. Dlaždice Základním stavebním prvkem je tzv. dlaždice. Dlaždice je obdélník o rozměru 7 znaků vodorovně a 4 znaky svisle. Schéma se skládá z plochy tvořené jednotlivými dlaždicemi. Kurzor je plošný rozměru jedné dlaždice a pohybuje se po jednotlivých dlaždicích. Modul Modul je obdélník tvořený jednou nebo více dlaždicemi. Vstupy modulu jsou tvořeny “kontakty” na levé straně modulu, výstupy jsou tvořeny kontakty na pravé straně modulu. Příklad modulu rozměru jedné dlaždice (LD - načte bit @A): @A --[ ]-- Příklad modulu rozměru 2x2 dlaždice (RS klopný obvod): PSE - Editor procesní stanice 77 PSE - Editor procesní stanice S RS_LA Q1 R1 Datové typy ! ! Datové typy používané v procesech reléové schéma jsou stejné jako datové typy v procesech LA. Jsou dva druhy datových typů: Logické: Bit Analogové: Int, Word, Long, DWord, Float Detailní popis typů je uveden v předchozí kapitole Proces - logický automat. Spojovací čáry Schéma se vytváří umísťováním jednotlivých modulů v ploše a propojováním jejich kontaktů pomocí čar. Jsou dva typy čar: logické a analogové. Pro oba druhy čar platí následující pravidla: ! ! ! signál se šíří zleva doprava všechna křížení čar jsou propojená křížení nelze spojovat různé typy čar, tj. analogové a logické čáry se nemohou spolu spojovat Logické čáry Logické čáry přenášejí digitální signál (datový typ Bit) o dvou hodnotách 1/0 nebo ON/OFF apod. Mohou spojovat pouze digitální kontakty. Používají se hlavně pro logické a stavové řízení. Mohou se větvit a vytvářet složité logické struktury. Analogové čáry Analogové čáry mohou přenášet pouze analogové signály. Nemohou se používat v logických sítích. Čáry se nemohou nijak větvit. Čáru nelze rozvětvovat do více větví ani nelze spojovat více větví do jedné čáry. Jsou určeny pro propojování analogových kontaktů. Vstupní moduly Vstupní moduly slouží k načtení databázových proměnných, logických V/V kanálů nebo konstant. Pro vstupní moduly se používá několik symbolů. Zde je popíšeme pouze schematicky, detailní popis modulů je v příručce Knihovny funkčních modulů. Symbol Logické Modul LD [ ] Popis Logický vstup, načte bit Charakteristika IN 1 0 OUT 1 0 LDN [/] Logický negovaný vstup, načte negovaný bit IN 1 0 OUT 1 0 PSE - Editor procesní stanice 78 PSE - Editor procesní stanice Symbol Modul LD_R Popis Pulz od náběžné hrany načteného bitu [+] Charakteristika 1 IN 0 OUT 1 0 LD_F Pulz od sestupné hrany čteného bitu [-] 1 IN 0 OUT 1 0 LD_RF Pulz od náběžné i od sestupné hrany čteného bitu [&] 1 IN 0 OUT 1 0 Analogové i w l LDi Načtení analogové hodnoty typu Int LDw Načtení analogové hodnoty typu Word LDl Načtení analogové hodnoty typu Long LDd Načtení analogové hodnoty typu DWord LDf Načtení analogové hodnoty typu Float d f Výstupní moduly Výstupní moduly slouží k uložení hodnot do databázových proměnných a logických V/V kanálů. Pro výstupní moduly se používá několik symbolů. Zde je popíšeme pouze schematicky, detailní popis modulů je v příručce Knihovny funkčních modulů. Výstupní moduly bývají umístěny vždy vpravo na konci signálových větví. Mohou být do schématu zapojeny pouze zleva. Symbol Logické Modul ST Popis Logický výstup, uloží bit ( ) Charakteristika IN 1 0 OUT 1 0 STN (/) Logický negovaný výstup, uloží negovaný bit IN 1 0 OUT 1 0 PSE - Editor procesní stanice 79 PSE - Editor procesní stanice Symbol Modul ST_R Popis Pulz od náběžné hrany vstupu (+) Charakteristika IN 1 0 OUT 1 0 ST_F Pulz od sestupné hrany vstupu (-) IN 1 0 OUT 1 0 (&) ST_RF Pulz od náběžné i od sestupné hrany vstupu IN 1 0 OUT 1 0 (L) S R (U) Analogové i w f Reset (UNLATCH). Je-li na vstupu “1”, uloží do výstupní proměnné nebo V/V kanálu “0”. Jinak výstup nemění. Nastavení do “1” se musí provést na jiném místě v programu . LDi Uložení analogové hodnoty typu Int LDw Uložení analogové hodnoty typu Word LDl Uložení analogové hodnoty typu Long LDd Uložení analogové hodnoty typu DWord LDf Uložení analogové hodnoty typu Float l d Set (LATCH). Je-li na vstupu “1”, uloží do výstupní proměnné nebo V/V kanálu “1”. Jinak výstup nemění. Nulování se musí provést na jiném místě v programu . IN 1 0 OUT 1 0 IN ? 1 0 OUT 1 0 ? Jednoduchá logická schémata Logická schémata se mohou skládat pouze z logických vstupních modulů a logických čar. Existuje několik základních spojení, které se mohou libovolně kombinovat. Na příkladech ukážeme jednotlivá spojení za použití dvou modulů. Ve skutečnosti lze ale spojovat více než dva moduly a vytvářet tak i složitá schémata. PSE - Editor procesní stanice 80 PSE - Editor procesní stanice AND Standardní logický součin. Výsledek je “1”, pokud jsou oba vstupy v “1”. Je-li některý vstup nebo oba vstupy v “0”, je výsledek “0”. Odpovídající schéma vypadá takto: Vstup1 Vstup2 [ ] [ ] OR Standardní logický součet. Výsledek je “1”, pokud je alespoň jeden vstup v “1”. Jsou-li oba vstupy v “0”, je výsledek “0”. Odpovídající schéma vypadá takto: Vstup1 [ ] Vstup2 [ ] XOR ! Exkluzívní součet. Výsledek je “0”, jsou-li oba vstupy v “0” nebo jsou-li oba vstupy v “1”. Odpovídající schéma vypadá takto: Vstup1 [ ] Vstup1 [/] Vstup2 [/] Vstup2 [ ] Příklad Mějme dopravníkový pás, jehož motor se spouští pomocí tlačítka Start a vypíná pomocí tlačítka Stop. Na konci dopravníku je snímač Konec, který signalizuje, že se má dopravník vypnout. Dopravník se vypíná rovněž v případě, když je signalizována chyba snímačem Chyba. Odpovídající schéma vypadá takto: Start Stop Konec Chyba [ ] [/] [/] [/] Motor () Motor [ ] Moduly ! Doposud jsme popisovali pouze jednoduché logické moduly, které mají pouze jeden vstup nebo výstup. Složitější moduly mají více vstupů a výstupů. Pro práci s moduly obecně platí tato pravidla: Pořadí vyhodnocování schématu při vykonávání programu stanice je zleva-doprava, shora-dolů. Narazí-li se při vyhodnocování schématu na vstupní větev, která ještě nebyla vyhodnocena, vyhodnotí se nejprve tato větev a pak se pokračuje v původním pořadí. PSE - Editor procesní stanice 81 PSE - Editor procesní stanice ! ! ! Všechny vstupy modulu musejí být zapojeny, jinak nelze aplikaci vygenerovat. Výjimkou jsou pouze logické a analogové vstupní moduly, které tvoří začátky signálových větví ve schématu a jsou tudíž zapojeny pouze zprava. Musí být zapojen alespoň jeden výstup modulu. U ostatních nezapojených výstupů program nahlásí varování při expertní kontrole (bude popsána v samostatné kapitole), ale aplikaci lze normálně vygenerovat. Propojené kontakty modulů musejí mít stejný datový typ. Správnost typů musí zajistit programátor. Pokud chceme zjistit, jaké typy parametrů na svých kontaktech modul očekává, vyvoláme dialogové okno editace modulu a v seznamu parametrů najdeme sloupec hodnot parametrů. Parametry, které odpovídají vstupním kontaktům jsou označeny identifikátorem STI(...). Parametry, které odpovídají výstupním kontaktům jsou označeny identifikátorem STO(...). V závorce je uveden datový typ parametru, např. (int). Existují kontakty, které mají povoleno více různých typů. Jejich typ je v seznamu uveden jako interval, např. (int..float). Takové typy kontaktů se nazývají volné. Moduly s volnými typy parametrů jsou většinou binární operace nad analogovými hodnotami. Příklady takových modulů uvádí tabulka: Operace aritmetické logické vyhodnocovací Moduly ADD, SUB, MUL, DIV, MOD ANDx, ANDNx, ORx, ORNx, XORx, XORNx GT, GE, EQ, LE, LT, NE Tyto moduly mají většinou dva vstupní kontakty, které mohou být libovolného typu z povoleného intervalu, ovšem daný typ musí být stejný u obou dvou kontaktů. Přetypování Aby se umožnilo načíst nebo uložit správný datový typ signálu ve schématu, jsou k dispozici vstupní a výstupní moduly všech datových typů (viz tabulky vstupních a výstupních modulů na začátku kapitoly). Stane-li se přesto, že signál na spojovací čáře je jiného datového typu než kontakt modulu se kterým jej chceme spojit, lze signál přetypovat pomocí speciálního modulu. Moduly pro přetypování začínají jménem CAST a jako příponu mají zkratku požadovaného výsledného typu (např. CASTi, CASTf, ...). Příklad: Chceme porovnat dvě proměnné A a B, výsledek výrazu A >= B bude uložen do proměnné C. Proměnná A má databázový typ I a proměnná B má databázový typ L. Porovnání provedeme modulem GE, který vyžaduje, aby oba vstupy byly stejného datového typu. Proto proměnnou A před porovnáním přetypujeme na datový typ Long. A i B l CASTl <L> A B GE Y C () Y=A>=B 4.11.1 Ovládání editoru V této části popíšeme ovládání editoru při práci s reléovými schématy. Vložení modulu Vložení nového modulu provedeme tak, že nastavíme kurzor na požadované místo ve schématu a příkazem Edit | Přidej nebo klávesou <Ins> vyvoláme dialogové okénko pro výběr modulu. Modul se vybírá ze seznamu podobně jako v normálním procesu PSE. Vybráním modulu se vyvolá dialogové okénko editace modulu. V něm je seznam PSE - Editor procesní stanice 82 PSE - Editor procesní stanice parametrů. Ve velké většině parametry představují kontakty modulu a nejsou editovatelné. Spíše výjimečně se objeví parametr, který nepředstavuje kontakt a je tedy možno jej editovat. Editace parametrů je stejná jako u normálních procesů PSE. Typicky programátor pouze vyplní komentář, který se potom zobrazí pod spodní částí modulu. Je-li vybraný modul rozměru jedné dlaždice, bude umístěn přímo na pozici kurzoru. V případě většího rozměru bude modul umístěn tak, že jeho levý horní roh bude ležet na pozici kurzoru. Je nutné ještě před vložením modulu zkontrolovat, zda je na daném místě ve schématu dostatek volného místa, aby se do něj modul vešel. V opačném případě nelze modul vložit. Editace již existujícího modulu Editaci již vloženého modulu vyvoláme tak, že kurzor přemístíme na jakoukoliv část modulu a zadáme příkaz Edit | Edituj nebo stiskneme klávesu <Enter>. Kreslení čar Kontakty modulů se propojují pomocí čar. Čáry jsou dvojího druhu: logické, které spojují logické kontakty a analogové, které spojují analogové kontakty. Logické a analogové čáry jsou od sebe barevně odlišeny a nesmějí se vzájemně spojovat ani křížit. Nelze připojovat logickou čáru k analogovému kontaktu a obráceně analogovou čáru k logickému kontaktu. V takovém případě by program zahlásit varovnou zprávu “Nesouhlasí typ kontaktu při vkládání dlaždice”. Totéž se může stát i v případě, pokud vkládáme modul do schématu na takové místo, kde by vložený modul byl některým svým kontaktem spojen s čárou nevhodného typu nebo s nevhodným typem kontaktu jiného modulu. Kreslení logické čáry Logická čára se kreslí tak, že kurzor umístíme na dlaždici odkud chceme začít kreslit a za stálého stisku klávesy <Alt> kreslíme čáru pomocí šipkových kláves pro pohyb kurzoru. Čára se kreslí ve směru, kterým posunujeme kurzor. Najedeme-li při kreslení kurzorem na již existující logickou čáru, tak se vytvoří spojení s kreslenou čarou. Podobně, posuneme-li kurzorem při kreslení čáry směrem k logickému kontaktu některého modulu ve schématu, vytvoří se spojení kontaktu s čárou. Rozvětvení čáry provedeme tak, že kurzor umístíme na pozici odkud chceme čáru rozvětvit a kreslíme čáru požadovaným směrem nové větve. Kreslení analogové čáry Analogová čára se kreslí podobně jako logická. Kurzor umístíme na dlaždici odkud chceme začít kreslit a za stálého stisku kláves <Alt+Shift> kreslíme čáru pomocí šipkových kláves pro pohyb kurzoru. Čára se kreslí ve směru, kterým posunujeme kurzor. Analogová čára se nemůže křížit, rozvětvovat ani spojovat s jinou čárou! Označování objektů ! ! Moduly a čáry se dají označovat podobně jako v normálních procesech PSE dvojím způsobem: Příkazem Edit | Označ nebo klávesou <Šedé∗> se označí celý modul příp. dlaždice pod kurzorem, příkazem Edit | Označ vše nebo klávesou <Šedé+> se označí celá plocha schématu a příkazem Edit | Odznač vše nebo klávesou <Šedé−> se odznačí celá plocha schématu. Za stálého stisku klávesy <Shift> lze pomocí kurzorových šipek označovat bloky v ploše schématu. S označenými dlaždicemi, moduly nebo bloky lze pracovat obvyklým způsobem jako v normálních procesech. Bloky lze rušit příkazem Edit | Odstraň (<Del>), přenášet do clipboardu příkazem Edit | Kopíruj (<Ctrl+Ins>) nebo přenášet z clipboardu do schématu příkazem Edit | Vlož (<Shift+Ins>). Blok přenášený z clipboardu se umístí do schématu tak, že jeho levý horní roh bude ležet na pozici kurzoru. Vložení prázdného řádku Do rozpracovaného schématu lze v případě potřeby vložit nový řádek pomocí příkazu Edit | Vlož nový řádek nebo kláves <Ctrl+N>. Nový řádek se vloží před řádek, na kterém je kurzor. Nový řádek nelze vložit na takové místo ve schématu, kde by se jeho vložením “roztrhl” nějaký modul nebo čára. PSE - Editor procesní stanice 83 PSE - Editor procesní stanice Zrušení prázdného řádku Prázdný řádek lze zrušit pomocí příkazu Edit | Zruš řádek/blok nebo klávesami <Ctrl+Y>. Část schématu pod zrušeným řádkem se posune o řádek nahoru. Pokud řádek není prázdný, musí na něm před zrušením nejprve vše smazat. Větvení programu systémové moduly ! ! Je-li potřeba provádět pouze určitou část programu na základě nějaké podmínky, lze to provést dvěma způsoby obdobně jako v procesech typu LA: Podmíněné volání podprogramu Část programu, kterou chceme vyvolávat podmíněně, vytvoříme ve zvláštním procesu podprogramu (označení Lib...). V hlavním procesu voláme tento podprogram pomocí modulu podmíněného volání CALC nebo CALN. Tyto moduly vyvolají proces na základě logické hodnoty na svém vstupu. Systémové moduly Do reléového schématu lze vkládat systémové moduly, což jsou vlastně moduly normálního procesu PSE. Vkládají se do speciálního systémového sloupce ve schématu. Systémový sloupec je sloupec zcela vlevo před sloupcem číslo 1. Najedeme-li kurzorem do tohoto sloupce a zadáme-li příkaz pro vložení modulu, vyvolá se dialogové okno s výběrem modulu v jehož nabídce je seznam systémových modulů. Pro větvení programu lze použít všechny konstrukce pseudojazyka známé z normálních procesů PSE. Např. If-Else-Endif (větvení), For-EndFor (iterační cyklus), While-EndWhile (cyklus s podmínkou na začátku), Repeat-Until (cyklus s podmínkou na konci), Switch-EndSwitch spolu s Case-EndCase (vícenásobné větvení). Kromě modulů pseudojazyka PSE, lze jako systémové moduly do schématu také vkládat běžné moduly PSE a kombinovat tak části reléového schématu s normálními moduly. Je ovšem třeba postupovat opatrně, protože narozdíl od modulů pseudojazyka, které se provádí velmi rychle, normální PSE moduly se mohou provádět poměrně dlouho a zdržovat tak celý proces. Příklad: Chceme generovat pulz do výstupní proměnné na základě náběžné nebo sestupné hrany vstupního signálu. Proměnná Nabezna bude rozlišovat, zda je pulz generován od náběžné nebo od sestupné hrany. If Nabezna, :NONE Else Vstup Vystup [ ] (+) :NONE Vstup Vystup [ ] (-) EndIf 4.12 Spouštění procesů Způsob spouštění procesů je důležité znát při tvorbě aplikací náročných na rychlost odezvy na změny vstupních podmínek a zejména při tvorbě aplikací, ve kterých se sdílejí databázové proměnné mezi jednotlivými procesy. Operační systém procesní stanice spouští jednotlivé procesy způsobem závislým na druhu procesu: PSE - Editor procesní stanice 84 PSE - Editor procesní stanice Spouštění řádných procesů Řádné procesy se spouští periodicky. Je-li proces spušten, nemůže být přerušen jiným řádným procesem. Další řádný proces může být spuštěn až po dokončení předchozího. Sejdou-li se v jednom okamžiku požadavky na spuštění více procesů, jsou spuštěny v pořadí od procesu s nejnižším číslem směrem k nejvyššímu. Ze vzájemné nepřerušitelnosti řádných procesů vyplývá příjemný fakt, že hodnoty databázových proměnných, se kterými proces pracuje, nemohou být během provádění procesu ovlivněny jinými procesy. Proměnné se z tohoto důvodu mohou bez problémů mezi řádnými procesy sdílet. Spouštění prázdného procesu Prázdný proces je spouštěn v okamžiku, když není požadavek na spuštení žádného jiného procesu. Prázdný proces je s řádnými procesy vzájemně nepřerušitený, takže sdílení proměnných s řádnými procesy je bezproblémové. Spouštění procesů schopných přerušovat Všechny ostatní procesy (rychlý proces, velmi rychlé procesy a interrupt procesy) jsou schopné přerušovat běh jiných procesů. Pravidla, jak se mohou procesy přerušovat jsou určeny prioritou procesu. Proces může být přerušen pouze procesy s vyšší prioritou a sám může přerušit pouze procesy s nižší prioritou. Procesy na stejné prioritě jsou vzájemně nepřerušitelné. Pořadí priorit procesů počínaje nejvyšší ukazuje tabulka: Proces ProcITR00 .. ProcITR15 ProcHi00 ProcHi01 ProcQuick Proc00 .. Proc15 ProcIdle Popis Interrupt procesy. Mají nejvyšší prioritu. Vzájemně se mohou také přerušovat, přičemž nejvyšší prioritu má proces ProcITR00. Velmi rychlý proces 0. Velmi rychlý proces 1. Rychlý proces. Řádné procesy. Neumí přerušovat. Prázdný proces. Neumí přerušovat. Sdílení společných databázových proměnných mezi procesy, kdy jeden může být druhým přerušen, je poněkud problematické a je třeba dbát zvýšené opatrnosti. U procesu, který je přerušován nelze zajistit, že hodnoty databázových proměnných nebudou během provádění procesu ovlivněny druhým procesem. Může se stát, že proměnná, kterou první proces načte na začátku bude mít při dalším čtení jinou hodnotu, změněnou druhým procesem, který přerušil vykonávání prvního. Jako příklad uvedeme špatně navržené vyhodnocování náběžné hrany: V rychlém procesu ProcQuick budeme načítat binární signál z DI kanálu do proměnné @Sig. Použijeme modul BinIn. V řádném procesu Proc00 budeme vyhodnocovat náběžnou hranu signálu. Aktuální hodnotu signálu @Sig budeme porovnávat s minulou hodnotou @Last. Je-li minulá hodnota “0” a aktuální “1”, vyhodnotíme změnu jako náběžnou hranu. Hodnotu proměnné @Sig poté zapíšeme do proměnné @Last pro odpamatování minulého stavu. ProcQuick: Proc00: BinIn #0.0, 0x0000, @Sig Let Let @Nabezna = @Sig and not @Last @Last = @Sig PSE - Editor procesní stanice 85 PSE - Editor procesní stanice Problém nastává v tomto případě: Dejme tomu, že proměnné @Sig a @Last jsou nulové. Prvním příkazem Let vyhodnotíme, že není náběžná hrana. Před vykonáním druhého příkazu Let dojde k přerušení a spustí se proces ProcQuick. Dejme tomu, že v té chvíli dojde ke skutečné náběžné hraně - do proměnné @Sig se načte hodnota “1”. Vykonávání procesu ProcQuick se ukončí, řízení se vrátí do procesu Proc00 a začne se vykonávat druhý příkaz Let. Ten již načte do proměnné @Last novou změněnou hodnotu “1” proměnné @Sig. V příštím běhu procesu Proc00 by se měla vyhodnotit náběžná hrana, ale jelikož proměnná @Last již má hodnotu “1”, tak se hrana nevyhodnotí. Nejjednodušší řešení je samozřejmě umístit načítání vstupního signálu a vyhodnocení náběžné hrany do jednoho procesu. Pokud je z nějakého důvodu nutné, aby to bylo ve dvou procesech, je možné problém odstranit použitím pomocné proměnné. Hodnota @Sig se v procesu Proc00 nejprve uloží do pomocné proměnné a pak se pracuje již pouze s touto pomocnou proměnnou: ProcQuick: Proc00: BinIn #0.0, 0x0000, @Sig Let Let Let @Pom = @Sig @Nabezna = @Pom and not @Last @Last = @Pom Další možností je použít na vyhodnocování náběžné hrany modul BinDiff, který má zabudovaný mechanismus s pomocnou proměnnou uvnitř. Tento příklad pouze ukázal na problém se sdílením proměnných. Problematické jsou i jiné případy, například plnění matice v jenom procesu a práce s touto maticí v jiném procesu. Přerušující proces může přerušit v době, kdy je část matice naplněna novými hodnotami a část ještě starými. Obecně lze říci, že problémy nastávají, pokud procesy pracují se sdílenými proměnnými, které se nenačítají nebo nezapisují pouze na jednom místě v procesu nebo pokud pracují se skupinou proměnných jejichž stav je nějak spolu svázaný. Dojde-li k přerušení uprostřed zápisu jednotlivých proměnných skupiny, je tato skupina pro přerušující proces nekonzistentní. 4.13 Kontrola navržené procesní stanice Po dokončení popisu procesní stanice je vhodné uložit návrh stanice na disk (Soubor | Ulož resp. <F2>), provést expertní kontrolu a vytvořit dokumentaci k navržené stanici. Následující odstavce stručně popisují jednotlivé kroky. 4.13.1 Expertní kontrola K provedení expertní kontroly zvolíme v menu příkaz Volby | Expertní kontrola. Program PSE zobrazí standardní dialogové okénko pro volbu jména souboru - protokolu o provedené expertní kontrole. Tento protokol je k dispozici i pro pozdější použití. Program PSE standardně používá pro jméno souboru s protokolem jméno souboru procesní stanice, doplněné příponou .LST (ASCII soubor). Po stisku tlačítka "OK" program provede expertní kontrolu a zobrazí v okně protokol o provedené expertní kontrole. Do protokolu zapisuje program PSE údaje tří typů - jsou to souhrnné údaje, varování a chybová hlášení. Souhrnné údaje Souhrnné údaje informují o statistických a jiných údajích zjištěných při expertní kontrole např. celková délka databáze procesní stanice, odhad vytížení procesoru stanice apod. Podle těchto údajů získá autor aplikace představu o celkovém budoucím chování a vlastnostech navrhované procesní stanice. PSE - Editor procesní stanice 86 PSE - Editor procesní stanice Varování Expert informuje autora o drobných prohřešcích proti pravidlům a konvencím návrhu procesní stanice ve formě varování. Programátor musí sám posoudit, zda je předmět varování skutečně drobný a nepodstatný prohřešek nebo zda signalizuje skrytou vážnější chybu. Typickým varováním jsou upozornění na prohřešky proti správným a úplným podkladům pro automatické generování dokumentace. Chyby a vážné chyby Pokud Expert nalezne zásadní prohřešky proti zásadám návrhu procesní stanice informuje o tom autora v podobě hlášení o chybě nebo vážné chybě. Znamená to, že navržená procesní stanice není schopná z uvedeného důvodu běhu. Chybu je nutno opravit a provést znovu expertní kontrolu. Typickými chybami jsou zrušené databázové proměnné, na které se funkční moduly stále odkazují, databázové proměnné nesprávného typu nebo rozměru, chybně použité příkazy pseudojazyka apod. Výsledky kontroly Protokol o expertní kontrole je rozdělen do několika sekcí. Tyto sekce odpovídají jednotlivým etapám návrhu procesní stanice - definici V/V, popisu databáze atd. Na konci každé sekce je uveden souhrnný počet chyb a varování v sekci. Na konci protokolu je pak uveden celkový počet chyb a varování v celé procesní stanici. Je dobrým zvykem pokračovat v úpravách procesní stanice tak dlouho, dokud neskončí expertní kontrola s výsledkem "0 chyb, 0 varování". Další činnost Experta Kromě sběru souhrnných údajů a výpisu varovných a chybových hlášení o databázi, funkčních modulech a jejich parametrech a dalších částech procesní stanice prověřuje Expert korektnost použití návěští ve stanici. Podle potřeby je schopen dodefinovat a správně použít veškerá automatická lokální návěští (viz výše). Detailní popis všech kontrolovaných datových objektů a vazeb a podrobné vysvětlení všech varování a chybových hlášení jde nad rámec této příručky. Nové verze programu PSE budou průběžně doplňovány o další funkce a kontroly Experta, takže počet hlášení bude značně narůstat. Přitom hlášení sama jsou dostatečně názorná, aby upozornila na problém a doporučila způsob jeho odstranění i bez dalšího výkladu. Obr. 10: Ukázka výsledku expertní kontroly 4.13.2 Automatická tvorba dokumentace Než vytvoříme dokumentaci k procesní stanici, je třeba příkazem Volby | Systém vyvolat dialogové okénko, kde v přepínači tisk dokumentace zvolíme, které části PSE - Editor procesní stanice 87 PSE - Editor procesní stanice dokumentace vyžadujeme a které nikoli. Pak příkazem Soubor | Tisk vyvoláme dialogová okénka pro určení cíle tisku dokumentace. Program PSE tiskne dokumentaci standardně do souboru se stejným jménem jako je jméno aplikace s příponou .TXT. Zadáním jména jiného souboru nebo jména tiskárny (např. LPT1) lze standardní volbu změnit. Po stisku tlačítka "OK" program PSE vygeneruje a vytiskne (resp. zapíše do souboru) dokumentaci s požadovaným obsahem. Pokud jsme zapsali dokumentaci do souboru, je možné si ji prohlédnout příkazem Soubor|Prohlédni po zadání jména souboru, do nějž se dokumentace zapisovala. Přepínače Tisk dokumentace dialogového okénka Volby | Systém umožňují začlenit do dokumentace tyto části: Obr. 11: Dialogové okno Volby | Systém ! ! ! ! ! ! ! Parametry stanice Základní údaje o procesní stanici a popis její činnosti. Konfigurace V/V Popis konfigurace procesních V/V stanice, tedy definice jednotlivých fyzických kanálů. Je-li navíc zapnut přepínač “Popis V/V signálů”, je za každou definicí fyzického kanálu uveden výpis všech použitých V/V signálů. Databáze Popis procesní databáze, tedy definice jednotlivých databázových proměnných. Je-li navíc zapnut přepínač “Hodnoty proměnných”, je za každou inicializovanou databázovou proměnnou uvedena tabulka s jejími počátečními hodnotami. Tabulka procesů Popis tabulky definic procesů a podprogramů. Výpis procesů Výpis vlastního "programu" procesní stanice, tedy jednotlivých funkčních modulů, jejich návěští, parametrů a komentářů v obdobném formátu, jako na obrazovce při editaci. Je-li seznam parametrů příliš dlouhý nebo je žádoucí doplnit ke každé hodnotě jméno parametru pro snazší orientaci, aktivujte přepínač "Výpis parametrů". Na řádcích následujících za definicí funkčního modulu pak program PSE vypíše znovu hodnoty všech parametrů ve formátu "jméno = hodnota". Aktivujete-li navíc přepínač "Výpis bitových polí", program PSE rozepíše i strukturované číselné parametry do jednotlivých složek, opět ve formátu "jméno = hodnota". Analýza datových toků Součástí výpisu dokumentace bude i analýza datových toků v navržené procesní stanici. Podrobněji se této problematice věnuje další kapitola. Výpis knihovny modulů PSE - Editor procesní stanice 88 PSE - Editor procesní stanice ! Součástí výpisu dokumentace bude i výpis kompletního sortimentu funkčních modulů a příkazů pseudojazyka, které jsou v tomto okamžiku k dispozici v knihovně. Volby "Popis parametrů" a "Popis bitových polí" mají podobný význam jako u výpisu funkčních modulů v procesech. Rozdílný je pouze formát výpisu. Jeho podrobný popis sahá nad rámec této příručky - výpis knihovny je určen zejména pro diagnostické a servisní účely. Výpis clipboardu Pro diagnostické účely může být zajímavé zahrnout do výpisu dokumentace také výpis obsahu clipboardu. Je-li tento přepínač zapnut, vypíše program PSE obsah clipboardu ve stejném formátu, v jakém vypisuje řádnou procesní stanici - uvažuje tedy všechny dosud popsané přepínače. 4.13.3 Analýza datových toků Analyzátor datových toků procesní stanice pracuje jako součást generátoru dokumentace. Aktivuje se zapnutím přepínače "Analýza datových toků" dialogového okénka Volby | Systém a následným výpisem dokumentace příkazem Soubor | Tisk. Analyzátor vytvoří tzv. stromy datových toků pro vytvořenou procesní stanici. Tyto stromy pak zvoleným způsobem tiskne. Signál se v procesní stanici šíří ze vstupních datových bodů přes funkční moduly, které jej zpracovávají, dále přes mezilehlé datové body, které slouží jako spojovací body funkčních modulů, do výstupních datových bodů. Úmyslně zde neříkáme vstupní a výstupní signály či svorky procesní stanice, protože komunikace po síti DB-Net celou situaci poněkud komplikuje. Vstupní a výstupní body Vstupním datovým bodem procesní stanice bezesporu jsou vstupní signály z technologického procesu. Vstupními datovými body jsou ovšem i ty databázové proměnné, jejichž hodnoty jsou zadávány zvenčí - po síti DB-Net, z obslužného terminálu nebo při generaci procesní stanice PSE. Jde tedy o takové datové body (V/V signály či proměnné), které jsou ovlivňovány pouze vnějšími vlivy, nikoli samotným programem procesní stanice. Výstupním datovým bodem procesní stanice je analogicky takový datový bod, který již neovlivňuje další datové body uvnitř procesní stanice - signál se z tohoto bodu šíří pouze mimo stanici. Sem patří všechny výstupní signály do technologického procesu a dále databázové proměnné, které nejsou použity žádným funkčním modulem jako zdroj hodnot. Cesty šíření dat, uzel Ostatní datové body v procesní stanici jsou mezilehlé - jsou ovlivňovány funkčními moduly a samy ovlivňují jiné funkční moduly. Tento mechanismus ovlivňování je plně uvnitř procesní stanice a je tedy možné ho vyšetřit. Obr. 12: Šíření dat z jednoho datového bodu do druhého zajišťují funkční moduly. Data se šíří z datového bodu přes funkční modul do jednoho nebo více dalších datových bodů. Tomuto elementárnímu kroku šíření dat říkáme uzel. Situaci ilustruje obr. 12 - hodnota proměnné s WIDem 04009 (KonstMedia) ovlivňuje prostřednictvím funkčního modulu DInput proměnné 04000 (SumaMedia) a 04001(OkamMedia). Symbol »--¤ označuje vstupní datový bod (v tomto případě databázová proměnná obsahující konstantu měřidla hodnota zadávaná zvenčí) a symbol ¤--» označuje výstupní datový bod (v tomto případě pomocná proměnná, jejíž hodnota není nikde v procesní stanici dále využívána a je tedy dostupná pouze po síti). Proměnná 04000 (SumaMedia) není nijak označena; znamená to, že se z ní signál šíří ještě dále. PSE - Editor procesní stanice 89 PSE - Editor procesní stanice Stromy datových toků Jak již bylo řečeno, data se šíří ze vstupních bodů k výstupním, přičemž základním krokem šíření je uzel. Na jeden uzel může navazovat jeden i více uzlů dalších. Pro každý vstupní signál tak získáváme strom šíření tohoto signálu - vstupní bod ovlivňuje jeden či dva další body, které ovlivňují jeden či dva další body atd. Obr. 13: Situaci ilustruje obr. 13 - z něj je zřejmé, proč hovoříme o stromu - signál se šíří z proměnné 04009 (kořene stromu) přes jednotlivé uzly do výstupních datových bodů. Povšimněte si, že ve stromech datových toků lze detekovat signálové smyčky (označeno ve výpisu textem "smyčka!"). Je na programátorovi, aby posoudil, zda je signálová smyčka žádoucí nebo není. V tomto případě se jedná o korektní sumaci přírůstků příkazem typu Let Sum = A1 + A2 V jiném případě může jít o nesprávně použitou proměnnou apod. Způsob tisku datových toků Výsledky analýzy je možné prezentovat dvěma různými způsoby - po jednotlivých uzlech vytvořených stromů datových toků (krátký formát, odpovídá obrázku 12) a po celých stromech toků (dlouhý formát, odpovídá obrázku 13). Formát výpisu určujeme rádiovými tlačítky "Způsob tisku datových toků" dialogového okénka Volby | Systém. Omezení analyzátoru datových toků Současná verze analyzátoru má několik omezení. Není schopná správně zhodnotit situaci, kdy jeden vstupní parametr funkčního modulu ovlivňuje pouze některé výstupní parametry, zatímco druhý vstupní parametr jiné. V dosavadní verzi každý vstupní parametr ovlivňuje všechny výstupní parametry. Důsledkem této skutečnosti jsou poněkud "košatější", nikoliv však nesprávné stromy datových toků. Druhým omezením je snížená schopnost správně zhodnotit datové toky, které využívají jednotlivých bitů databázových proměnných pro úschovu digitálních hodnot (ANO/NE). Důsledkem této skutečnosti jsou opět poněkud "košatější" stromy datových toků. Je zde však ještě třetí omezení - nelze provést důslednou analýzu datových toků ve výrazu příkazu Let. V čase přípravy procesní stanice editorem PSE totiž nejsou známy skutečné hodnoty všech databázových proměnných za všech možných situací. Analyzátor datových toků musí tedy určité vazby mezi proměnnými pouze předpokládat. Za této situace opět produkuje "košatější" stromy datových toků. Ani v tomto případě však žádná vazba nechybí a výsledky analýzy jsou tedy plně použitelné. PSE - Editor procesní stanice 90 PSE - Editor procesní stanice 4.14 Ladění aplikace Pro fázi ladění aplikace jsou k dispozici nástroje, které podstatně napomáhají rychlému a spolehlivému odladění aplikace na procesní stanici. Postup Každý aplikační program vytvořený v prostředí PSE se ve správci projektů PSP přeloží do spustitelného programu. PSP rovněž zajistí zavedení programu do paměti procesní stanice a jeho spuštění. Program PSE umožňuje "On-Line" sledovat aktuální hodnoty měřené a vypočtené procesní stanicí zapojené přímo v technologii. Navíc tvůrci aplikace poskytuje možnost za chodu procesní stanice měnit libovolnou databázovou proměnnou a tak nastavit podmínky, které v reálném procesu nelze snadno nastavit či nasimulovat. Lze tak lehce nalézt chyby logického charakteru, které není možné podchytit expertní kontrolou ani analýzou datových toků (např. v důsledku rozsáhlých aplikací anebo při častém používání příkazu Let). Nástroje Pro sledování hodnot databázových proměnných a jejich případné nastavování jsou určeny nástroje inspektor databáze a inspektor modulů. V procesech reléových schémat lze navíc použít zvláštní Watch režim zobrazování schématu, který je určen zejména k ladění logických schémat. Komunikace s procesní stanicí Pro spolehlivou funkci inspektoru je nutné propojit komunikačním kabelem procesní stanici s počítačem a nastavit správné parametry komunikační linky příkazem Volby | Komunikace v programu PSE anebo PSP. Podrobnější informace o nastavení komunikační linky naleznete v části PSP - správce projektů v této příručce. 4.14.1 Inspektor databáze ! ! Inspektor databáze umožňuje zobrazovat aktuální hodnoty proměnných definovaných v databázi pod jmény vytvořenými programátorem. Tato funkce lze vyvolat dvěma způsoby: V okně databáze vybereme jednu proměnnou nebo označíme více proměnných a zadáme příkaz Volby | Inspektor modulů <Ctrl+I>. Do okna inspektora se přenesou všechny označené proměnné. Tento příkaz lze provést i opakovaně a postupně tak do okna inspektora přidávat další proměnné. Příkazem Volby | Inspektor databáze nebo stiskem <Ctrl+F7> se vkládá nová položka do okna inspektora. Na obrazovce se zobrazí okénko, v kterém je možno zadat: PSE - Editor procesní stanice 91 PSE - Editor procesní stanice Obr. 14: Volba sledované proměnné a formát zobrazení ! ! ! ! Jméno Název proměnné, u které chceme sledovat hodnotu za běhu procesní stanice. Pro snazší zadání této položky lze použít tlačítko “Výběr”, které po stisku nabídne seznam všech proměnných v databázi procesní stanice. Řádek, sloupec, bit U maticových proměnných lze vybrat pouze část matice (sloupec, řádek anebo prvek) a případně konkrétní bit proměnné (stav ANO/NE). Zobrazení Volba co se bude zobrazovat. Vliv této volby si nejlépe popíšeme na příkladu. Chceme sledovat matici obsahující celá čísla (typ MI). V položce Řádek a Sloupec zadáme konkrétní prvek matice. Nyní máme možnost zobrazit: - vlastní hodnotu prvku volbou Hodnota - celou matici volbou Matice - řádek matice, který obsahuje zvolený prvek volbou Řádek - sloupec matice, který obsahuje zvolený prvek volbou Sloupec - bitovou hodnotu (tzn. 0/1) uvedeného bitu zvoleného prvku matice volbou Bit Formát Určuje způsob zobrazení hodnoty nebo hodnot (v případě matice). K dispozici jsou 4 možnosti formátu: dekadický, hexa, binární a datum a čas. Implicitním tlačítkem dialogového okna je "OK". Zrušení zadávání proměnné se provede tlačítkem "Cancel". Okno inspektora Po zvolení databázové proměnné, kterou chceme sledovat, se zobrazí v dolní části obrazovky okno. PSE - Editor procesní stanice 92 PSE - Editor procesní stanice Obr. 15: Okno inspektoru V okně jsou na jednotlivých řádcích zobrazeny jména jednotlivých zvolených proměnných, jejich typ a vlastní hodnoty. Pokud nejsou z nějakého důvodu aktuální data z procesní stanice k dispozici (např. nefunkční komunikační kabel nebo chybně nastavené parametry komunikace), zobrazí se místo číselných hodnot otazníky. Pokud je okno inspektoru aktuální, lze využívat další funkce inspektora. Editace, přidání a vymazání proměnné Změna způsobu zobrazení a formátu se provede stiskem klávesy <Enter> na zvýrazněné položce v okně inspektora. Dialogové okno je shodné jako při zadávání nové položky. Novou sledovanou proměnnou lze kromě stisku <Ctrl+F7> přidat i v okně inspektora stiskem <Enter> na volném posledním řádku anebo klávesou <Ins>. Do okna inspektoru lze zadat proměnnou i vícenásobně, ale pokaždé s jiným způsobem zobrazení. Inspektor však nedovolí zadat tutéž proměnnou se stejnými formáty. Vyjmutí zvýrazněné proměnné z okna inspektora je možné příkazem Edit | Odstraň nebo stiskem klávesy <Del>. Prohlížení proměnné Stiskem klávesy <Mezera> se otevře další okno, které podle povahy proměnné zobrazí detail zvolené proměnné. V případě, že se jedná o jednoduchou (jednorozměrnou) proměnnou, zobrazí se přímo hodnota. Pokud je sledovaná proměnná typu matice, zobrazí se v nově otevřeném okně hodnoty matice po řádcích. Opakujeme-li tento postup na libovolný takto zobrazený řádek, zobrazí se další okno a v něm budou uvedeny hodnoty jednotlivých prvků daného řádku. Tímto způsobem lze snadno a rychle sledovat určité části maticových proměnných. Zapsání nové hodnoty Inspektor umožňuje přímo za chodu procesní stanice měnit obsahy jejich databázových proměnných. Stiskem <Ctrl+Z> je možné zadat novou hodnotu a přenést do procesní stanice. Přenést lze pouze jednoduchou proměnnou anebo jediný prvek matice. U matic je proto nutné zadat novou položku do okna inspektoru s uvedením konkrétního prvku anebo pomocí klávesy <Mezera> vybrat požadovaný prvek. Poté lze již aplikovat stisk <Ctrl+Z>. PSE - Editor procesní stanice 93 PSE - Editor procesní stanice 4.14.2 Inspektor modulů Funkce je obdobná jako inspektor databáze. Vyvolá se příkazem z menu Volby | Inspektor modulů anebo stiskem kláves <Ctrl+I>. Příkaz je aktivní pouze pokud je zobrazené okno s popisem procesu. Příkaz se liší od inspektora databáze tím, že automaticky vloží do okna inspektora všechny proměnné, které jsou obsaženy jako parametry ve zvýrazněném funkčním modulu nebo v označené skupině modulů a tím značně urychluje zadávání proměnných souvisejících s daným modulem. Veškeré další funkce, jako editace, vkládání, zadávání nových hodnot jsou podporovány stejným způsobem jak bylo uvedeno u popisu inspektora databázových proměnných. 4.14.3 Watch-režim reléového schématu V procesech reléových schémat lze používat inspektor databáze i inspektor modulů stejně jako v normálních procesech. Inspektor modulů lze opět vyvolat buď pro modul, na kterém je kurzor, anebo, je-li označen nějaký blok ve schématu, pro všechny moduly v tomto bloku najednou. Reléová schémata umožňují navíc ještě zvláštní způsob zobrazování schémat, který se nazývá Watch režim. V tomto režimu se logické čáry přebarvují podle reálných hodnot logických signálů ve stanici, které tyto čáry představují. Tímto způsobem lze snadno a přehledně prověřovat správnost navrženého schématu. Ve Watch režimu jsou také zobrazeny “živé” hodnoty některých parametrů modulů. Jsou to parametry (databázové proměnné), které se zobrazují číselnou formou a převážně se vyskytují ve vstupních a výstupních modulech. Zapnutí režimu Watch režim se zapíná v okně procesu příkazem Volby | Watch-režim reléového sch. příp. klávesami <Ctrl+W>. Zpět do normálního režimu se přepíná stejným příkazem. Aby se mohly zobrazovat všechny logické čáry, je nutné vygenerovat aplikaci se zaškrtnutou volbou v dialogu Volby | Reléové schéma - [X] Generace pomocných proměnných pro Watch-režim. Takto vygenerovaný proces je o něco pomalejší, protože vygenerovaný kód není optimalizovaný na maximální rychlost. Po odladění reléových schémat je proto vhodné vygenerovat aplikaci s nezaškrtnutou volbou. Zobrazení logických čar a) b) c) Logické čáry mohou být zvýrazněny třemi různými barvami, barvy jsou volně nastavitelné, zde uvádíme implicitně nastavené barvy: Logická hodnota “1” (červená) Logická hodnota “0” (modrá) Neznámá logická hodnota (nezvýrazněná žlutá) - takto se zobrazují některé logické čáry v případě, že aplikace byla vygenerovaná s nezaškrtnutou volbou [ ] Generace pomocných proměnných pro Watch-režim. Čára představuje logickou hodnotu větve logického schématu. Lze ji chápat jako elektrický signál v klasickém elektrickém schématu. Čára tedy nepředstavuje hodnotu výstupu modulu, ze kterého vychází, ale je to výsledná logická hodnota části schématu, ze které čára vychází. Jako příklad uvedeme jednoduchá schémata AND a OR (silná čára představuje hodnotu “1”): A B C Y [ ] [ ] [ ] ( ) 1 0 1 0 PSE - Editor procesní stanice 94 PSE - Editor procesní stanice A Y [ ] ( ) 1 1 B [ ] 0 4.15 Úschova dat z procesní stanice Úschova dat se používá zejména v případech, kdy je potřeba nahrát do stanice novou verzi aplikace a zachovat aktuální nastavení databázových proměnných ve stanici. Postupuje se tak, že před nahráváním nové verze aplikace se nejprve uloží databáze stanice do souboru. Poté se nahraje nová verze aplikace a nakonec se do stanice zapíše databáze z uloženého souboru. Další možností je porovnávat aktuální data ve stanici s daty dříve uloženými v souboru. Lze tak např. rychle zjistit změny parametrů systému, které provedla obsluha, nebo změny některých parametrů v různých režimech systému. Hodnoty uložených proměnných lze prohlížet v přehledných tabulkách, čehož lze využít při ladění aplikací a orientaci ve velkých databázových maticích. Aktualizace inicializovaných proměnných lze využít v případech, kdy se např. za provozu dolaďují parametry regulátorů. Takové parametry bývají typicky inicializované proměnné a lze je tedy po úspěšném odzkoušení za provozu aktualizovat přímo v aplikaci PSE. To znamená, že pokud se bude v budoucnu aplikace upravovat, tak tyto inicializované proměnné budou mít správnou odzkoušenou hodnotu. 4.16 Nastavování parametrů V této části popíšeme nastavování parametrů programu jako je způsob a formát tisku dokumentace k aplikaci procesní stanice, způsob výpisu analýzy datových toků a způsob generování reléových schémat. 4.16.1 Systém Systémové parametry se nastavují v dialogovém okénku Volby | Systém. O tomto dialogovém okénku jsme se již zmínili v kapitole o automatické tvorbě dokumentace. Kromě parametrů definujících obsah tisknuté dokumentace lze zadat následující parametry: PSE - Editor procesní stanice 95 PSE - Editor procesní stanice Obr. 16: Dialogové okno Volby | Systém ! ! ! ! ! ! Odsazování Délka odsazení funkčních modulů vnořených do příkazů If-EndIf atd. Povolený rozsah hodnot je 0 až 9, přičemž hodnota 0 znamená, že se odsazovat nebude. Modul (průměr µs) Průměrná doba vykonávání funkčního modulu (1 až 999999 mikrosekund). Tento údaj se použije pro odhad vytížení procesoru procesní stanice při expertní kontrole. "Rozumná" hodnota tohoto parametru se pohybuje kolem 200 µs u standardních funkčních modulů. Počet záloh Program PSE umožňuje vytváření 1 až 10 záložních kopií souboru. Tyto záložní kopie mají stejné jméno souboru, ale příponu .BAK, .BA1, .BA2 až .BA9 místo přípony .PSE běžného souboru. Zadáme-li počet záloh 0, zálohování se neprovádí. Perioda ukládání Program PSE umožňuje automaticky uložit soubor nejpozději 1 až 600 minut po provedené změně. Při zadání hodnoty 0 se soubor ukládá pouze na vyžádání obsluhou pomocí Soubor | Ulož nebo <F2>. Formát výpisu Zde se zadává požadovaná délka řádku tiskového dokumentu ve znacích a dále počet desetinných míst při výpisu reálných čísel. Výpis matic Matice budou při tisku dokumentace automaticky zarovnávány na definovanou délku řádku nebo při výběru volby na plnou délku řádku (tj.. 255 znaků). U matic lze použít kompresi šířky polí podle největšího čísla v matici. Matice jsou potom přehlednější a dokumentace není tak rozsáhlá. Pokud není tato volba vybrána, je každé políčko matice široké 15 znaků bez ohledu na velikost čísel. 4.16.2 Reléové schéma Systémové parametry, které se týkají výhradně reléových schémat se nastavují v dialogovém okénku Volby | Reléové schéma. PSE - Editor procesní stanice 96 PSE - Editor procesní stanice Obr. 17: Dialogové okno Volby | Reléové schéma ! ! Generace pomocných proměnných pro Watch-režim Použití této volby bylo popsáno v kapitole Watch-režim reléového schématu. Je-li volba zaškrtnuta, lze ve Watch režimu reléového schématu sledovat zvýrazněné hodnoty všech logických čar ve schématu dle aktuálního stavu ve stanici. Takto vygenerovaný program je ovšem o něco pomalejší. Maximální rychlosti provádění programu se dosáhne, pokud tato volba zaškrtnutá není. V tomto případě ovšem ve Watch režimu nebudou některé logické čáry zvýrazněny. Tisk schématu Při tisku velkého schématu, které se celé nevejde na jednu stránku papíru se schéma rozdělí na jednotlivé bloky a ty se pak tisknou na stránky postupně za sebou. Lze zvolit pořadí, ve kterém se bloky tisknou. Na obrázcích je pořadí označeno čísly: [] [] [] [] [] () [] 3 1 [] [] [] 5 () () [] 2 4 6 Obr. 18: Tisk reléového schématu shora-dolů PSE - Editor procesní stanice 97 PSE - Editor procesní stanice [] [] [] [] [] () [] 2 1 [] [] [] 3 () () [] 4 5 6 Obr. 19: Tisk reléového schématu zleva-doprava ! Tisk bloku oddělovat stránkami Je-li volba zaškrtnuta, přidává se za každou stránku příkaz pro odstránkování tiskárny. Tím je zajištěno, že každý blok bude vytištěn na vlastní stránku a nemůže dojít k tomu, že by se na jednu stránku vytiskla část jednoho bloku a část druhého. Pokud se tiskne na tiskárnu, kde nejsou jednotlivé papíry ale souvislá role papíru, je výhodné tisknout bloky shora dolů bez oddělování stránek. Schéma se tak rozdělí do svislých pruhů, které lze potom případně snadněji slepit dohromady a vytvořit tak souvislou plochu. [] [] [] [] [] () [] () [] [] [] () [] 1 2 3 Obr. 20: Tisk reléového schématu shora-dolů bez oddělování stránkami ! Velikost bloku Udává se velikost tisknutého bloku na stránku ve znacích. PSE - Editor procesní stanice 98 PSE - Editor procesní stanice 5 Síťové aplikace V této kapitole stručně popíšeme, jak se vytváří síťové aplikace. Co je to síťová aplikace Síťová aplikace se skládá ze dvou a více stanic zapojených do společné komunikační sítě. Stanicemi v síti mohou být procesní stanice a stanice PC. Procesní stanice se starají o sběr a krátkodobou archivaci dat, monitorování a lokální řízení technologického procesu. Stanice PC jsou určeny pro vizualizaci, a dlouhodobou archivaci dat. Stanice PC mohou také plnit funkci nadřazené úrovně řízení technologického procesu a nastavování parametrů pro procesní stanice. Stanice PC Stanice PC RS 485 Procesní stanice Procesní stanice Procesní stanice Procesní stanice většinou pracují se svými lokálními daty a mohou správně fungovat i bez komunikace. Stanice samy žádné hodnoty z komunikační sítě nepožadují ani hodnoty do komunikační sítě nezapisují. Z hlediska komunikace jsou pasivní. Stanice PC naproti tomu komunikaci vyžadují, protože vizualizují data, která získávají od procesních stanic ze sítě. Potřebná data samy iniciativně požadují od procesních stanic. Z hlediska komunikace jsou tedy aktivní. Aktivní stanice mohou od ostatních stanic nejen data žádat, ale také do stanic data zapisovávat. Toho se využívá pro nadřazené řízení nebo pro zadávání některých parametrů obsluhou na PC a následným zápisem těchto dat do procesních stanic. Jsou případy, kdy je nutné, aby se i některé procesní stanice staly z hlediska sítě aktivní. Stává se to v případech, kdy například procesní stanice požaduje k řízení nějakého procesu data, jejichž měření není sama schopna kapacitně zvládnout, nebo vzdálenost mezi stanicí a měřicími čidly je taková, že kabeláž by se značně prodražila a je tedy výhodnější měřit tato data jinou procesní stanicí a přenášet je po síti. Aby se procesní stanice mohla stát aktivní stanicí, musí mít nastaven přepínač Aktivní stanice v dialogovém okně Stanice. Takováto aktivní stanice již může přenášet hodnoty databázových proměnných do jiných stanic nebo opačně načítat hodnoty z jiných stanic. Přenos databázových proměnných se uskutečňuje pomocí speciálních komunikačních modulů umístěných v některém procesu aplikace. Detailní popis těchto modulů je v příručce Knihovny funkčních modulů. Problematika komunikací je dále rozpracována v Uživatelské příručce. Zde se budeme zabývat pouze základními záležitostmi procesních stanic. Každá stanice v síti musí mít jedinečné číslo. Čísla stanic mohou být v rozsahu 0 až 31. Vývoj aplikačních programů stanic se rozpadá do samostatných projektů aplikací PSP. Projekty jednotlivých stanic jsou buď v jednom společném adresáři a odlišují se od sebe vhodnými jmény projektů, nebo se každý projekt vytváří ve zvláštním adresáři. V aplikacích PSE je nutno dbát na to, aby každá stanice měla jedinečné číslo a aby případné aktivní stanice měly nastaven příslušný přepínač v dialogu Stanice. Identifikátor WID databázové proměnné musí být jedinečný v rámci celé sítě. Pokud programátor nastaví již od začátku vývoje aplikace každé stanici jedinečné číslo, program PSE automaticky zajistí, aby identifikátory WID proměnných byly v celé síti jedinečné. PSE - Editor procesní stanice 99 LCDSHELL - Editor terminálových obrazovek LCDSHELL - Editor terminálových obrazovek LCDSHELL - Editor terminálových obrazovek 100 LCDSHELL - Editor terminálových obrazovek 1 Úvod Tato část příručky popisuje programové vybavení pro univerzální parametrizaci LCD displeje (terminálu) a ovládání programu LCDSHELL. Příručka je určena všem, kteří samostatně navrhují procesní stanice typu ADiS, ART400, AMAP a AMiRiS a programátorům, kteří připravují programové vybavení procesních stanic, nebo je rozšiřují o nové funkční moduly. Při studiu předpokládáme u čtenáře dobrou znalost a pochopení editoru procesní stanice PSE. Dále předpokládáme u čtenáře znalost hardwarové koncepce a parametrů průmyslových řídicích počítačů typu ADiS, ART400, AMAP a AMiRiS, které jsou podporovány programem PSE a LCDSHELL. Obsah této části příručky je rozdělen do několika kapitol. V úvodu je popsána koncepce programového vybavení obecného terminálu, jeho struktura a postup přípravy programového vybavení. Dále jsou popsány základní principy pro ovládání editoru LCDSHELLu a způsob popisu jednotlivých “obrazovek” v editoru LCDSHELL. Po rychlém seznámení se s jednotlivými položkami menu jsou podrobně probrány jednotlivé úkony při editaci. V závěru je vysvětleno použití pokročilých funkcí LCDSHELLu, jako je expertní kontrola a simulátor terminálu. Postup začlenění obsluhy terminálu do programu vytvořeným editorem PSE, přehled a popis standardně dodávaných funkčních modulů zobrazovacích prvků je podrobně popsán v příručce PSE - Knihovna funkčních modulů. LCDSHELL - Editor terminálových obrazovek 101 LCDSHELL - Editor terminálových obrazovek 2 Filozofie univerzálního LCD displeje V této kapitole je popsána koncepce programového vybavení univerzálního LCD displeje, jeho struktura a postup přípravy programového vybavení aplikace. Kapitola dá čtenáři základní přehled o částech programového vybavení a jejich vzájemných souvislostech bez vysvětlování a detailních popisů jejich činnosti. 2.1 Struktura univerzálního LCD displeje Interpret displejů Základní struktura programového vybavení univerzálního LCD displeje je tato. Aplikace pro procesní stanici obsahuje seznam všech LCD displejů (obrazovek), které se mají zobrazit. Pod pojmem displej nebo obrazovka v tomto případě rozumíme konkrétní zobrazení prvků na displeji, tj. všechny texty a číselné hodnoty. Těchto obrazovek bývá v aplikaci několik. Každý displej obsahuje seznam zobrazovacích prvků, které provádějí zobrazení na displeji nebo přecházejí na jiné displeje. Nejvyšší úrovní je tzv. interpret displejů - část programu, která podle údajů zadaných tvůrcem aplikace spojuje a řídí chod zobrazení na displeji tak, aby procesní stanice zobrazovala požadované údaje. Vlastní interpret LCD displeje je jeden z funkčních modulů v Editoru procesní stanice PSE. Knihovna prvků Knihovna funkčních prvků obsahuje vlastní zobrazovací prvky - jednotlivé funkční prvky zajišťují zobrazení dílčích údajů jako je např. zobrazení měřené teploty teploměrem Pt100, parametry algoritmu PID, zobrazení stavu řízení ovládacího ventilu výměníku apod. Požadovaného zobrazení údajů z procesní stanice se dosáhne zařazením jednotlivých funkčních prvků za sebe a jejich správným propojením s databází procesní stanice - to je úkolem interpretu. Operační systém NOS Operační systém NOS je nejnižší úrovní informačního systému DB-Net na procesní stanici - umožňuje chod programového vybavení vyšších vrstev, zajišťuje správné časování jednotlivých operací a přístup funkčních modulů k V/V a mezilehlým datovým bodům. Dále zajišťuje sdílení databázových proměnných (datových bodů) po síti DB-Net, je-li procesní stanice součástí sítě. Parametrizace displeje Interpret displejů je v každé stanici stejný. Liší se jen parametrizačními daty, kde co a jak zobrazit na displeji. Pro přípravu těchto dat slouží dále popsaný program LCDSHELL. 2.2 Editor LCDSHELL Editor LCD displejů LCDSHELL je základním programem pro návrh displejů neprogramátorským způsobem. Umožňuje snadno a přehledně vytvořit, opravit a důkladně prověřit data definující činnost zobrazování na displeji. Popis shellu Pod pojmem Shell budeme chápat konkrétní aplikační realizaci jednotlivých displejů (obrazovek) a vazby mezi nimi. Vytvoření zobrazování spočívá v zadání všech displejů, které chceme zobrazit. Pro každý displej je třeba vytvořit seznam LCD prvků, které zobrazují na displeji vhodně zvoleným formátem údaje z procesní databáze stanice. Uživatel má k dispozici několik LCD prvků. Především jsou to prvky pro řízení logického řazení jednotlivých displejů (menu, přechod na libovolnou obrazovku, zobrazení statického textu), zobrazení hodnot (v binární, číselné a textové podobě) a editace databázových proměnných. Jednotlivé displeje je třeba mezi sebou propojit pomocí prvků, které reagují na klávesy a přecházejí při jejich stisku na jiné displeje (např. menu). LCDSHELL - Editor terminálových obrazovek 102 LCDSHELL - Editor terminálových obrazovek Tvorba dokumentace Editor LCD displejů umožňuje automaticky generovat dokumentaci k navrhované aplikaci. Tím je zajištěn soulad mezi dokumentací a skutečnou činností zobrazování, což je základní podmínkou pro udržovatelnost a pozdější modifikovatelnost připraveného programového vybavení. Tím, že je autor aplikace veden k průběžnému vkládání dokumentačních údajů, zároveň lépe promýšlí jednotlivé části navrhované procesní stanice a dopouští se tak obvykle méně chyb. Simulátor terminálu Po ukončení návrhu jednotlivých displejů umožňuje program simulovat chování terminálu. Autor tak bez použití skutečného terminálu a nutnosti neustálého přeprogramovávání procesní stanice může snadno a rychle navrhnout a odladit definitivní vzhled a ovládání displejů. LCDSHELL - Editor terminálových obrazovek 103 LCDSHELL - Editor terminálových obrazovek 3 Editor displejů Tato kapitola se zabývá návrhem terminálových displejů v editoru LCDSHELL. Po rychlém seznámení se s jednotlivými položkami menu jsou dále podrobněji rozepsány některé úkony spojené s vlastním návrhem. 3.1 Start a ukončení programu Start programu Program LCDSHELL spouštíme z prostředí PSP. Veškeré parametry, které program potřebuje ke správnému chodu, jsou automaticky dodány prostředím PSP. Ukončení programu Program LCDSHELL ukončí svoji činnost po stisku klávesy <Alt+X> nebo po vyvolání funkce Soubor | Konec. 3.2 Stručný přehled menu Nejprve uvedeme stručný přehled všech položek menu programu LCDSHELL s krátkým komentářem k prováděným činnostem. Podrobný popis vybraných činností bude uveden v dalších odstavcích. Následující popis je určen zejména zkušenějším uživatelům, kteří potřebují rychle osvěžit své vědomosti. Naprostým začátečníkům doporučujeme následující odstavce přeskočit, pokračovat odstavcem 3.3 a vrátit se tomuto odstavci až po prostudování zbytku této kapitoly. K jednotlivým položkám v nabídce jsou v lomených závorkách připsány horké klávesy (např. Soubor | Otevři <F3>). Soubor Podmenu Soubor zajišťuje veškerou práci se soubory jako celky. Jednotlivé položky umožňují: Soubor | Nový Založení nového, zatím nepojmenovaného souboru s popisem LCD shellu. Touto operací začínáme, chceme-li vytvořit popis nového shellu. Pokud je nějaký soubor s popisem shellu již otevřen, a změny nebyly dosud uloženy, vyzve program uživatele k uložení. V případě souhlasu je starý soubor uložen a je vytvořen nový soubor. Soubor | Otevři <F3> Otevření již existujícího souboru pro editaci. Pokud je nějaký soubor s popisem shellu již otevřen, a změny nebyly dosud uloženy, vyzve program uživatele k uložení. V případě souhlasu je starý soubor uložen a uzavřen a poté je otevřen nový, již existující soubor. Soubor | Zavři Zavření rozpracovaného souboru s definicí shellu. Byla-li procesní stanice během editace pozměněna a změny dosud nebyly uloženy na disk, vyzve program uživatele k uložení. V případě souhlasu se soubor uloží. Jedná-li se o nový (dosud nepojmenovaný) soubor, je vyzván k zadání jména nově vytvářeného souboru. Tato volba je nepřístupná, není-li žádný soubor otevřen. Soubor | Ulož <F2> Uloží rozpracovaný soubor na disk. Jedná-li se o nový (dosud nepojmenovaný) soubor, je uživatel vyzván k zadání jména nově vytvářeného souboru. Tato volba je nepřístupná, není-li žádný soubor otevřen. LCDSHELL - Editor terminálových obrazovek 104 LCDSHELL - Editor terminálových obrazovek Soubor | Ulož jako Uloží rozpracovaný soubor na disk pod novým jménem. Programátor je vyzván, aby toto nové jméno zadal. Tuto funkci lze využít jako alternativu pro vytváření nového popisu shellu, který je podobný již dříve vytvořenému shellu - otevřeme již hotový soubor, uložíme pod novým jménem a editujeme pouze rozdíly mezi oběma aplikacemi. Tato volba je nepřístupná, není-li žádný soubor otevřen. Soubor | Změna hesla Pro zabránění prohlížení a editace nepovolanými osobami je možné soubor s popisem shellu chránit heslem. Po volbě tohoto příkazu je programátor postupně vybídnut k zadání nového hesla, opakování zadání pro vyloučení překlepu a k uložení souboru. Poté již není možné soubor otevřít bez zadání správného hesla. Pro zrušení ochrany heslem je nutné soubor otevřít (samozřejmě se zadáním správného hesla), zvolit příkaz Soubor | Změna hesla a heslo vymazat. Tato volba je nepřístupná, není-li žádný soubor otevřen. Soubor | Tiskni Tiskne dokumentaci k rozpracovanému shellu na tiskárnu nebo do souboru. Co všechno bude dokumentace obsahovat lze určit v dialogovém okénku Volby | Systém v poli “Tisk dokumentace”. Soubor | Prohlédni Prohlížečka textových souborů - umožňuje např. prohlížení dokumentace vytištěné do souboru apod. Soubor | DOS shell Bez ukončení programu LCDSHELL se volá příkazový řádek systému MS-DOS (COMMAND.COM). Pro návrat do editoru LCDSHELL je třeba použít příkaz EXIT. Soubor | Konec <Alt+X> Ukončení práce s programem LCDSHELL. Pokud je rozpracován nějaký návrh, je automaticky uzavřen (včetně případného dotazu na uložení změn apod.). Poté se řízení vrací Správci projektů PSP. Následujících pět položek menu Soubor tvoří tzv. pick list, tedy seznam až pěti souborů, s nimiž program LCDSHELL naposledy pracoval. Volbou příslušné položky v této části menu otevřeme patřičný soubor k editaci, aniž bychom museli zadávat jméno souboru. Při střídavé práci se dvěma a více soubory přináší tato funkce značné zrychlení výměny pracovních souborů. Edit Položky menu Edit umožňují vyvolávání základních editačních funkcí programu LCDSHELL. Tyto funkce obvykle pracují s vybranou položkou v aktivním okně. Není-li tedy žádný soubor otevřen nebo není-li zobrazeno žádné okno, jsou všechny položky menu (až na Edit | Clipboard) nepřístupné. Při popisu následujících příkazů operujeme pojmem okno a řádek. Oknem míníme v tomto případě pro zjednodušení popisu nejen samotné okno na obrazovce, ale i jeho obsah, tedy např. definice databázových proměnných. Řádkem míníme skupinu údajů zobrazených v daném okně na jediném řádku. Práce s bloky Edit | Odstraň <Del> Odstraní označené řádky z aktivního okna a vloží je do clipboardu. Není-li žádný řádek označen, odstraní běžný řádek, tedy řádek, na němž je kurzor. Edit | Kopíruj <Ctrl+Ins> Kopíruje označené řádky z aktivního okna do clipboardu, aniž by je odstraňoval z okna. Není-li žádný řádek označen, kopíruje běžný řádek. LCDSHELL - Editor terminálových obrazovek 105 LCDSHELL - Editor terminálových obrazovek Edit | Vlož <Shift+Ins> Kopíruje označené řádky z clipboardu do aktivního okna. Není-li v clipboardu žádný řádek označen, nekopíruje se nic. Při vkládání do clipboardu pomocí Edit | Odstraň nebo Edit | Kopíruj se odznačí celý původní obsah clipboardu a označí se pouze nově vkládané řádky. Výše popsané tři příkazy plně implementují tzv. mechanismus cut and paste, tedy mechanismus rušení, kopírování a vkládání řádků nebo skupin řádků v takovém rozsahu, jak jej známe např. z MS-Windows nebo vývojových prostředí firmy Borland. Pro označování a odznačování zpracovávaných řádků slouží následující příkazy: Edit | Označ <Šedé *> Označí řádek pod kurzorem. Je-li řádek již označen, "odznačí" ho - příkaz tedy pracuje jako přepínač "zapni/vypni". Označit řádek je rovněž možné kombinací kláves <Shift>, <šipka nahoru> nebo <šipka dolů>. Držíme-li stisknutou klávesu <Shift> a stiskneme-li klávesu <šipka dolů>, označíme řádek, na němž byl kurzor umístěn před stiskem klávesy <šipka dolů>. Byl-li řádek již označen, je odznačen. Držíme-li stisknutou klávesu <Shift> a stiskneme-li klávesu <šipka nahoru>, označíme řádek, na který se kurzor přesune stiskem klávesy <šipka nahoru>. Byl-li řádek již označen, je odznačen. Edit | Označ vše <Šedé +> Označí všechny existující řádky - od prvního do posledního bez ohledu na to, zda jsou v okně právě zobrazeny nebo ne a zda jsou již označeny nebo ne. Edit | Odznač vše <Šedé -> Odznačí všechny existující řádky - od prvního do posledního bez ohledu na to, zda jsou v okně právě zobrazeny nebo ne a zda jsou označeny nebo ne. Edit | Přidej <Ins> Přidá nový řádek a umožní editaci hodnot v patřičném dialogovém okénku. Nový řádek se vkládá bezprostředně před kurzor (běžný řádek). Aby bylo možné vložit nový řádek i na konec, je možné přesunout kurzor i na pozici následující za posledním řádkem. U oken jejichž řádky jsou setříděny podle nějakého kritéria, je místo, kde použijeme příkaz Edit | Přidej, nepodstatné, protože po ukončení editace nového řádku dojde k jeho automatickému zatřídění na správné místo. Edit | Edituj <Enter> Vyvolá dialogové okénko pro editaci hodnot v běžném řádku. Pokud se kurzor nachází za posledním řádkem, vyvolá se automaticky funkce přidání nového řádku (Edit | Přidej). Edit | Prohlédni <Mezerník> Pokud údaj v běžném řádku obsahuje další údaje "nižší úrovně", které v základním zobrazení nejsou vidět, zobrazí tento příkaz nové okno, které detailněji zobrazuje tyto údaje. Tento mechanismus je využit např. u definic displeje. Pokud chceme editovat název a komentář displeje stiskneme tlačítko <Enter> . Chceme-li však prohlížet nebo editovat jednotlivé prvky, musíme použít příkaz Edit | Prohlédni. Tato logika zůstává stejná v celém programu LCDSHELL - příkaz Edit | Edituj (<Enter>) edituje ty údaje, které jsou zobrazeny v běžném řádku, zatímco příkaz Edit | Prohlédni (<Mezerník>) se zanoří do hloubky a zobrazí okno s detailnějším pohledem. Pro editaci patřičného detailnějšího údaje pak použijeme v novém okně příkaz Edit | Edituj (<Enter>) pro editaci "toho co je vidět". Edit | Clipboard Clipboard slouží k dočasnému odkládání informací z editovaných oken. Na rozdíl od clipboardů např. ve vývojovém prostředí Borland Pascal apod. je u programu LCDSHELL situace komplikována tím, že zde pracujeme s mnoha datovými formáty, nikoli pouze se zdrojovým textem programu. Aby zůstala zachována LCDSHELL - Editor terminálových obrazovek 106 LCDSHELL - Editor terminálových obrazovek jednoduchost práce s clipboardem i při rozdílnosti datových formátů, nabízí program LCDSHELL samostatný clipboard pro každý z použitých základních datových formátů. Příkaz Edit | Clipboard pak umožňuje zobrazení okna toho clipboardu, se kterým chceme pracovat. Uvnitř zobrazeného okna clipboardu jsou přístupné všechny dosud popsané příkazy s těmito výjimkami - příkaz Edit | Odstraň nenávratně ruší označené řádky a příkazy Edit | Kopíruj a Edit | Vlož jsou zcela potlačeny, protože nemají smysl. Edit | Clipboard | Display Příkaz zobrazí dialogové okénko pro editaci základních údajů o shellu. Edit | Clipboard | LCD-shell Příkaz zobrazí okno s definicemi jednotlivých displejů. Edit | Clipboard | Prvky Příkaz zobrazí okno s definicemi funkčních prvků. Tato funkce nemá ekvivalent u zpracovávaného shellu. Je to proto, že u procesní stanice je každý funkční prvek definován a použit v rámci některého displeje. Pracujeme-li s displejem jako celkem, vkládá se např. při operaci Edit | Kopíruj do clipboardu kopie celého displeje včetně všech jeho funkčních prvků a parametrů. Používáme-li však clipboard pro kopírování a přesouvání definic jednotlivých funkčních prvků, je vhodné a přehlednější mít pro tyto operace speciální tzv. pomocný (kopírovací) displej. Právě jeho obsah se zobrazí příkazem Edit | Clipboard | Prvky. Display Příkaz zobrazí dialogové okénko pro editaci základních údajů o shellu (viz kapitola “Základní informace o shellu”). Popis Příkaz zobrazí okno jednoduchého textového editoru, který umožní zapsat slovní popis činnosti navrhovaného shellu. Tento popis se stane součástí automaticky generované dokumentace shellu. LCD-shell Příkaz zobrazí okno s definicemi jednotlivých displejů. Generace Příkaz umožňuje vygenerovat soubor .OBL, který obsahuje potřebný popis dat pro funkční modul LCDK12, LCDK14, LCD4x20, LCDTTY, LCDGTTY, LCD485 nebo LCDG485 z knihovny LCD pro PSE. Pokud během generace došlo k chybě je tato chyba zobrazena a vygenerovaný soubor není správný a nelze ho použít. Správce projektu PSP spouští generaci zcela automaticky a není proto potřeba po ukončení práce generaci spustit "ručně". Databáze Příkaz zobrazí okno s definicemi jednotlivých databázových proměnných. Databáze | Otevři Umožňuje prohlížet databázové proměnné definované v PSE aplikačního programu libovolné procesní stanice. Databáze | Prohlédni Zobrazí přehled databázových proměnných svázaných s aplikací aktuální procesní stanice, pro kterou se navrhuje vzhled displejů. Volby Položky menu Volby umožňují práci s různými pomůckami a nastavení základních vlastností programu LCDSHELL. LCDSHELL - Editor terminálových obrazovek 107 LCDSHELL - Editor terminálových obrazovek Volby | Expertní kontrola Příkaz vyvolá funkci expertní kontroly navržené procesní stanice. Tato funkce je detailně popsána v kapitole Expertní kontrola. Volby | Systém Příkaz vyvolá dialogové okénko pro zadávání nejrůznějších systémových údajů. Volby | Simulátor Spustí simulátor terminálu pro rychlou kontrolu vzhledu navržených displejů a způsobu ovládání. Vypnout / zapnout komentáře <Ctrl+K> Příkaz potlačí / obnoví zobrazení komentářů funkčních prvků v popisu činnosti displeje. Vypnutím zobrazení komentářů je možné získat více místa na obrazovce pro zobrazení parametrů funkčních prvků, které by byly jinak skryty komentáři. Volby | Obrazovka Příkaz v sobě zahrnuje nástroje pro nastavení vzhledu a barev pracovní obrazovky programu podle představ uživatele. Nastavení se automaticky použije i pro programy PSP a PSE. Volby | Obrazovka | Video 25/50ř. Příkaz přepíná režim zobrazení mezi 25 a 50 řádky na obrazovku. Volby | Obrazovka | Znakové sady ! ! ! ! Příkaz dovoluje nastavit dvě znakové sady. První sada se používá pro zobrazování na obrazovce a vstup z klávesnice, druhá sada se používá pro tisk dokumentace. Je možno volit ze čtyř znakových sad: Kamenických Latin-2 (kódová stránka 852) EE ANSI (kódová stránka 1250) Bez diakritiky - potlačuje českou diakritiku Spouští-li se programové prostředí PSP v DOSovském okně operačního systému Windows 95 (nazývá se “Příkazový řádek”), používá se typicky pro obrazovku a klávesnici nastavení Latin-2. Nastavení pro tisk dokumentace se musí přizpůsobit připojené tiskárně. Upozornění: Nastavením znakové sady se neinstaluje žádný ovladač pro podporu češtiny. Prostředí PSP se pouze “přizpůsobí” nastavení na konkrétním počítači. Volby | Obrazovka | Barevný mód Příkaz přepíná jeden ze čtyř barevných módů (dvě barevné sady a dále černobílý a monochromatický režim). Volby | Obrazovka | Barvy Příkaz vyvolá dialogové okénko, které umožňuje libovolně předefinovat barvy všech objektů na obrazovce - pozadí, menu, pracovních oken a údajů v nich a dialogových oken. Volby | Otevři Volby | Ulož Volby | Ulož jako Tyto příkazy mají podobnou funkci jako stejnojmenné příkazy v menu Soubor s tím rozdílem, že pracují s nastavenými volbami a vlastnostmi programu LCDSHELL. Tyto volby se ukládají a čtou do souborů s příponou .OPT. Volby nastavené v okamžiku ukončení práce s programem LCDSHELL se ukládají automaticky do souboru LCD.OPT. Program LCDSHELL se při startu pokouší tento LCDSHELL - Editor terminálových obrazovek 108 LCDSHELL - Editor terminálových obrazovek soubor načíst a zkonfigurovat se tak do stavu, v němž byl při posledním ukončení práce. Pokud z nějakého důvodu vyžadujeme nastavení více voleb, je možné je za chodu přepínat pomocí Volby | Otevři. Volby | Kalkulačka Příkaz otevře okénko s jednoduchým kalkulátorem. Při práci s LCDSHELL je často třeba provést jednoduchý výpočet a skutečná kalkulačka není po ruce - zabudovaná kalkulačka tedy dobře poslouží. Okna Práce s okny Menu Okna umožňuje práci s okny na obrazovce - změnu jejich rozměrů, polohy, výběr aktivního okna atd. Okna | Následující <F6> Příkaz vybere následující okno jako aktivní, tedy okno, se kterým se bude nadále pracovat. Okna | Předcházející <Shift+F6> Příkaz vybere předcházející okno jako aktivní, tedy okno, se kterým se bude nadále pracovat. Okna | Zvětši/zmenši <F5> Příkaz zvětší aktivní okno z původního rozměru na plnou velikost pracovní plochy obrazovky. Je-li okno již zvětšené, opět ho zmenší na původní velikost. Okna | Přesuň <Ctrl+F5> Příkaz umožní "ručně", tedy pomocí klávesnice plynule zvětšovat, zmenšovat a přemísťovat aktivní okno. Pro přemístění používáme kurzorové šipky, pro změnu rozměru kurzorové šipky doplněné klávesou <Shift>. Ukončení operace se provede klávesou <Enter> nebo <Esc>. Okna | Dláždi Příkaz přemístí veškerá okna a změní jejich velikost tak, aby tato okna vyplnila beze zbytku celou pracovní plochu jako kachličky. Tak je zajištěno, že se okna nepřekrývají. Okna | Kaskáda Příkaz přemístí veškerá okna a změní jejich velikost tak, aby tato okna byla uspořádána "v zástupu" za sebou tak, že poslední okno vyplní celou obrazovku, následující okno je o 1 řádek a 1 sloupec menší. Tak je zajištěno, že jsou vidět titulky všech oken a lze je snadno myší vybírat. Okna | Zavři <Alt+F3> Příkaz uzavře okno. S tímto oknem nelze dále pracovat, dokud se opětovně neotevře odpovídajícím příkazem menu. Při uzavření souboru s procesní stanicí program LCDSHELL automaticky uzavře také všechna okna zobrazující data z tohoto souboru. Uzavřená okna již nelze otevřít nejprve je třeba otevřít soubor s další procesní stanicí. Info Tento příkaz zobrazí informační okno s vyznačením čísla verze programu LCDSHELL, autorských práv a informace o jménu otevřeného souboru s shellem a velikosti volné paměti. LCDSHELL - Editor terminálových obrazovek 109 LCDSHELL - Editor terminálových obrazovek 3.3 Základní informace o shellu Základní informace o shellu se zadávají v dialogovém okně, které vyvoláme příkazem menu Display resp. pro clipboard Edit | Clipboard | Display. Tyto základní informace zahrnují: Všeobecné údaje ! Jméno projektu, jehož je procesní stanice s LCD displejem součástí: např. "Kotelna DIMKO, Hranice". ! Číslo verze zpracování tohoto projektu. Číslo verze se skládá ze dvou částí - čísla etapy a čísla modifikace. Číslo generace (00 až 99) udává etapu zpracování projektu jako celku a číslo modifikace (00 až 99) pořadové číslo drobnější modifikace projektu v rámci jedné etapy. Číslování verzí většinou začíná od verze 01.00. ! Autorská práva na realizaci projektu a tedy i LCD shellu. Text odpovídá mezinárodnímu doporučení, tedy "Copyright (c)" následovaný letopočtem a jménem autorské firmy, např. "1994, DELTA Ltd". ! Číslo procesní stanice na síti DB-Net pro kterou je shell určen. Údaj má pouze informativní hodnotu. ! Název a několikaslovný popis činnosti procesní stanice. ! Číslo verze programového vybavení shellu. Platí totéž co pro číslo verze celého projektu. Přitom číslo verze shellu stanice nemusí nutně odpovídat číslu verze projektu. Příslušné číslování je zcela v rukou tvůrce aplikace. ! Jméno autora shellu. Obr. 1: Základní údaje o shellu LCD displej ! Před další prací je nutné definovat typ displeje, tj. zda se jedná o LCDK12, LCDK14 (volba 2x16), APT110, APT130, ART400 (volba 4x20), APT2000, APT2100 (volba 16x40) nebo ART267 (volba Mini). Typ displeje se volí v přepínači nadepsaném “LCD displej”. Tímto nastavením se pak řídí simulátor displeje. Definice uživatelů ! Definice přihlašovacích jmen, hesel a přístupových práv tří uživatelských úrovní. Jméno i heslo je tvořeno celým číslem z intervalu 0 až 65535. Přihlašování se do systému je podrobně popsáno v části Ovládání terminálů řady APT. Systémové menu ! Povolení/zakázání jednotlivých položek systémového menu. Systémové menu se objeví na obrazovce terminálu poté, co se uživatel přihlásí pod heslem s nejvyšší úrovní oprávnění (Programátor). V systémovém menu lze editovat databázi, prohlížet provozní deník LCDSHELL - Editor terminálových obrazovek 110 LCDSHELL - Editor terminálových obrazovek a nastavovat datum a čas stanice. Každou z těchto položek menu lze zakázat a dosáhnout tím úspory paměti procesní stanice. Maximální úspora činí cca 4.5 kB. LCDSHELL ! Aktivní Volba, zda LCDSHELL sám aktivně čte ze sítě DB-Net zobrazované proměnné a po jejich případné editaci je do sítě aktivně zapisuje. Takto zpracovává pouze ty proměnné, které mají v definici databáze uvedeno jiné číslo stanice, než je číslo vlastní stanice. Další nutnou podmínkou aktivního chování je to, aby stanice jako celek byla aktivní (volba v aplikaci PSE). Není-li LCDSHELL aktivní, tj. buď není zvolena tato volba, nebo stanice jako celek není aktivní, ušetří se cca 2 až 5 kB paměti stanice. Úspora závisí na typu aplikace. ! Čeština Volba, zda LCDSHELL bude umožňovat zobrazení českých znaků na LCD displeji. Bližší informace o možnostech a omezeních použití českých znaků jsou v dodatku manuálu “Knihovna zobrazovacích prvků LCDSHELL”. Není-li volba zaškrtnuta, ušetří se cca 2 kB paměti procesní stanice. Automatické odhlášení ! Čas v minutách. Není-li po tento čas stisknuta žádná klávesa, dojde k odhlášení přihlášeného uživatele. Pro další práci s terminálem je třeba se znovu přihlásit zadáním správného jména a hesla. Je-li zadán čas 0 min, nedojde k automatickému odhlášení. 3.4 Popis procesní stanice LCDSHELL je vybaven jednoduchým textovým editorem, který umožní zapsat slovní popis činnosti navrhované procesní stanice. Tento popis se stane součástí automaticky generované dokumentace procesní stanice. Vlastnosti editoru Kontrolní mechanismus programu LCDSHELL (expertní kontrola) vede tvůrce aplikace k tomu, aby slovní popis činnosti stanice používal. Vhodná délka popisu však plně závisí na autorovi; může se pohybovat od několika řádků až do několika stránek. Ovládání editoru Použitý textový editor má jednoduchý soubor povelů pro editaci textu. Tento soubor v podstatě odpovídá základním klávesám "chronicky známého" editoru T602. Pro pohyb kurzoru lze použít klávesy: ! ! ! ! ! kurzorové šipky <Ctrl> + šipky <Home>, <End> <PgUp>, <PgDn> <Ctrl+PgUp>, <Ctrl+PgDn> - Posun o 1 znak nebo řádek - Posun o slovo - Přesun na začátek/konec řádku - Přesun o stránku - Přesun na začátek/konec celého textu ! ! ! ! ! ! ! ! ! Dále lze používat tyto základní editační klávesy: <BkSp> - Zrušení znaku před kurzorem (vlevo) <Del> - Zrušení znaku pod kurzorem <Ctrl+T> - Zrušení textu od kurzoru do konce slova <Ctrl+Y> - Zrušení řádku <Ctrl+Q><Y> - Zrušení textu od kurzoru do konce řádku <Ins> - Přepínání režimu vkládání nebo přepisování <Ctrl+O> - Zapnutí/vypnutí automatického odsazování textu <Ctrl+Q><F> - Vyhledání řetězce v textu <Ctrl+Q><A> - Náhrada řetězce v textu jiným řetězcem Při psaní textu není nutné kontrolovat konce řádků - editor automaticky přechází na nový řádek dosáhl-li řádek doporučené délky cca 70 znaků. Tuto funkci automatického řádkování lze vypnout nebo opětovně zapnout pomocí kláves <Ctrl+Q><W>. LCDSHELL - Editor terminálových obrazovek 111 LCDSHELL - Editor terminálových obrazovek Část textu lze označit jako blok tak, že navedeme kurzor na začátek bloku, stiskneme klávesu <Shift> a navedeme kurzor na konec bloku. Tam klávesu <Shift> uvolníme. Bezprostředně nato následuje povel pro operaci s označeným blokem, jinak je označení zrušeno. Lze použít tyto povely: ! ! ! <Ctrl+K><Y> nebo <Del> <Ctrl+K><W> <Ctrl+K><R> - Zrušení bloku - Uložení bloku do souboru - Náhrada bloku textem ze souboru. Není-li žádný blok označen, vloží se soubor na místo kurzoru Pokud místo povelu začneme psát text, bude blok zrušen a nahrazen nově zapisovaným textem. Export/import do T602 Pokud při psaní delších popisů vestavěný jednoduchý editor nevyhovuje nebo chceme již připravený popis např. v T602 importovat do programu PSE, použijeme funkci načtení bloku textu ze souboru (<Ctrl+K><R>). Příslušný soubor doporučujeme exportovat z T602 příkazem Soubor | Export | ASCII1. Pro opačný postup, tedy přenos textu z PSE do T602 označíme text, uložíme jej pomocí <Ctrl+K><W> a načteme do T602 pomocí Blok|Načtení. Při přenosu textů je třeba mít na paměti, že program PSE využívá kódování češtiny v kódu bratří Kamenických (kódová stránka 895). Toto kódování je třeba nastavit v případě programu T602 pomocí příkazu v menu Text602 | Vst./výs.kód | KEYBCS2. 3.5 Definice zobrazujících displejů V tomto odstavci popíšeme filosofii práce s displeji na procesní stanici a způsob, jakým se displeje definují v programu LCDSHELL. 3.5.1 Co je to displej? Na fyzickém LCD displeji se zobrazují, různé hodnoty a texty. Programátor má možnost zvolit si kam chce hodnotu z databáze zobrazit a jakým způsobem. Displej tedy obsahuje sekvenčně funkční prvky, které zvolil programátor aplikace. Pokud uživatel stiskne klávesu, je tato klávesa zase postupně poskytnuta všem prvkům, které ji na základě svých parametrů zpracují. 3.5.2 Definice displeje ! ! Příkaz LCD-shell zobrazí okno s definicemi jednotlivých displejů. Pro identifikaci jednotlivých displejů jsou použita čísla 1..65535. Navedením kurzoru a stiskem <Enter> resp. Edit | Edituj můžeme editovat definici zvoleného displeje nebo po stisku <Ins> resp. Edit | Přidej můžeme definovat nový displej. V příslušném dialogovém okénku lze zadat: Identifikaci displeje - zadávají se hodnoty 1 až 9999. Krátký popis činnosti displeje - používá se pouze pro automatickou generaci dokumentace. Po ukončení editace tlačítkem "OK" provede program LCDSHELL kontrolu korektnosti zadaných hodnot. Na případnou neshodu upozorní a zobrazí znovu dialogové okénko. LCDSHELL - Editor terminálových obrazovek 112 LCDSHELL - Editor terminálových obrazovek Obr. 2: Definice displejů 3.6 Popis displeje Navedeme-li kurzor na některý z procesů, lze stiskem klávesy <Mezerník> resp. Edit | Prohlédni zobrazit okno s popisem činnosti tohoto displeje, tedy se seznamem jednotlivých funkčních prvků, které vykonávají činnost příslušného zobrazení. Právě zde leží těžiště činnosti autora aplikace - popis činnosti jednotlivých zobrazujících požadavků od uživatele správně parametrizovanými funkčními prvky. Obr. 3: Okno s popisem jednoho z displejů 3.6.1 Funkční prvky Činnost zobrazení je popsána jako posloupnost funkčních prvků. Na každém řádku je popsán jeden funkční prvek. Popis se skládá z pořadového čísla prvku v displeji, přístupových práv, typu a parametrů prvku. Popis je doplněn komentářem - textem popisujícím činnost funkčního prvku v daném místě. LCDSHELL - Editor terminálových obrazovek 113 LCDSHELL - Editor terminálových obrazovek Přístupová práva Každý prvek má přístupová práva. Přístupová práva jsou rozdělena do tří úrovní. ! ! ! Obsluha, Technolog Programator Jak tvůrce aplikace využije tato přístupová práva záleží pouze na něm. Prvek je aktivně zpracován pouze tehdy, jsou-li přístupová práva uživatele alespoň v jednom případě totožná s přístupovým právem prvku. Pokud není tato podmínka splněna je automaticky tento prvek ignorován jako by nebyl. Typ prvku Každému druhu funkčního prvku je přiřazeno symbolické jméno. Symbolické jméno, nebo také typ prvku, je pro programátora velmi důležitý - ví např., že modul ClrScr zajišťuje vymazání obsahu displeje. Parametry Parametry určují konkrétní vstupy, výstupy a detailní vlastnosti funkčního prvku. V popisu prvku jsou uvedeny za typem prvku; jednotlivé hodnoty jsou odděleny čárkami. Prostor pro parametry vyhrazený v okně je z praktických důvodů omezen - nechává na konci řádky místo pro komentář. Je-li seznam parametrů příliš dlouhý, objeví se na jeho konci symbol pokračování seznamu ». "Neviditelné", zakryté parametry je možné prohlédnout v editačním dialogovém okénku. Šířku prostoru pro zobrazení parametrů je možné zvětšit vypnutím komentářů horkou klávesou <Ctrl+K> resp. příkazem Volby | Vypni / zapni komentáře. Vložení nového prvku Chceme-li vložit definici nového funkčního prvku, navedeme kurzor na místo, kam budeme prvek vkládat a klávesou <Ins> resp. příkazem Edit | Přidej vyvoláme dialogové okénko výběru typu prvku. Toto okénko obsahuje seznam všech právě dostupných typů funkčních prvků v (abecedním pořadí). Vybereme vhodný typ prvku kurzorovými šipkami nebo využitím inkrementálního vyhledávání - začneme psát jméno prvku a dialogové okénko nám hledanou položku vyhledá. Výběr ukončíme stiskem tlačítka "OK". Tím je nový funkční modul v požadovaném místě vytvořen. Program LCDSHELL naplní jeho parametry implicitními hodnotami a zobrazí dialogové okénko editace již existujícího prvku (viz dále). Editace existujícího prvku ! ! ! Pokud místo vkládání nového prvku chceme editovat již existující prvek, navedeme kurzor na něj a stiskem <Enter> resp. Edit | Edituj otevřeme dialogové okénko editace prvku. V tomto okénku můžeme zadat: Přístupová práva (“Obsluha”, “Technolog”, “Programator”). Krátký popis činnosti prvku - slouží pro potřeby dokumentace. Hodnoty všech parametrů - po aktivaci seznamu parametrů vybereme příslušný parametr a stiskem tlačítka "Editace" otevřeme dialogové okénko pro zadání jeho hodnoty. V případě zadávání proměnné jako parametr nabízí dialogové okénko tlačítko "Výběr", které nabídne seznam všech databázových proměnných spojených s aplikací procesní stanice. Pomocí kurzoru a klávesy <Enter> se přenese zvolená proměnná jako parametr zobrazovacího prvku. Implicitním tlačítkem v tomto dialogovém okénku není tlačítko "OK", ale tlačítko "Editace". Klávesa <Enter> tedy spouští editaci vybraného parametru, zatímco pro akceptování hodnot je třeba použít myš nebo klávesu <Alt+K>. Tato výjimka ve volbě "implicitního" tlačítka je vedena snahou o důsledné dodržení logiky "chci editovat ještě dále, stisknu tedy" <Enter> zavedené v úvodu této příručky. LCDSHELL - Editor terminálových obrazovek 114 LCDSHELL - Editor terminálových obrazovek Obr. 3: Dialogové okno editace funkčního prvku 3.6.2 Parametry Parametry funkčních modulů mohou být asi dvaceti různých typů. Lze je rozdělit do několika skupin podle vzájemné příbuznosti. Číselné hodnoty Parametry, jejichž hodnotou je číslo, slouží k zadávání konstant. U každého z parametrů může být omezen rozsah přípustných hodnot. Číselné parametry mohou být v zásadě trojího typu: - celé číslo (1213, -451 apod.) - celé číslo zadávané v šestnáctkové soustavě (1A8F, 4FDE12BA apod.) - reálné číslo (-23.456, 13.546e-8 apod.) Strukturované číslo Speciálním typem číselného parametru je tzv. bitově kódovaný parametr. Hodnota takového parametru je složena za dvou nebo více dílčích hodnot logického typu (ANO/NE) nebo celočíselného typu (hodnota). Hodnota parametru tohoto typu se zobrazuje jako číslo v šestnáctkové soustavě, ale při zadávání hodnoty se objeví seznam dílčích složek čísla. Výběr složky ze seznamu k editaci provádíme stejným způsobem jako výběr parametru modulu, editaci zahájíme tlačítkem "Edituj". Je-li vybraná složka logického typu, změní ihned po stisku "Edituj" svůj stav, je-li číselná, je nutné zadat její hodnotu. Po editaci všech potřebných složek čísla stisk tlačítka "OK" editaci tohoto parametru ukončí. Z hodnoty jednotlivých složek se určí hodnota parametru jako celku. Databázové proměnné Odkazy na databázové proměnné tvoří druhou, velmi významnou skupinu parametrů funkčních prvků. Těchto odkazů je opět řada variant. Ve všech se vždy zadává jméno proměnné (TID). Požadované jméno můžeme přímo zapsat nebo, odmítáme-li si ze zásady cokoli pamatovat, lze stiskem tlačítka "Výběr" zobrazit seznam všech proměnných definovaných v databázi a z něj si pouze vybrat. Program LCDSHELL volbu zkontroluje; neexistuje-li námi zadaná proměnná, upozorní nás. Kromě TIDu může odkaz na databázovou proměnnou obsahovat ještě další údaje - např. číslo bitu uvnitř proměnné nebo pro přístup k řádkům, sloupcům nebo jednotlivým prvkům matice řádkový nebo sloupcový index popř. oba dva indexy. LCDSHELL - Editor terminálových obrazovek 115 LCDSHELL - Editor terminálových obrazovek 3.7 Expertní kontrola K provedení expertní kontroly zvolíme v menu příkaz Volby|Expertní kontrola. Program LCDSHELL zobrazí standardní dialogové okénko pro volbu jména souboru protokolu o provedené expertní kontrole. Tento protokol je k dispozici i pro pozdější použití. Program LCDSHELL standardně používá pro jméno souboru s protokolem jméno souboru s návrhem obrazovek, doplněné příponou .LST. Po stisku tlačítka "OK" program provede expertní kontrolu a zobrazí v okně protokol o provedené expertní kontrole. Do protokolu zapisuje program LCDSHELL údaje tří typů jsou to souhrnné údaje, varování a chybová hlášení. Souhrnné údaje Souhrnné údaje informují o statistických a jiných údajích zjištěných při expertní kontrole např. počet navržených obrazovek, celkový počet použitých popisných prvků apod. Podle těchto údajů získá autor aplikace představu o celkovém budoucím chování a vlastnostech návrhu. Varování Expert informuje autora o drobných prohřešcích proti pravidlům a konvencím návrhu ve formě varování. Programátor musí sám posoudit, zda je předmět varování skutečně drobný a nepodstatný prohřešek nebo zda signalizuje skrytou vážnější chybu. Typickým varováním jsou upozornění na prohřešky proti správným a úplným podkladům pro automatické generování dokumentace. Chyby a vážné chyby Pokud Expert nalezne zásadní prohřešky proti zásadám návrhu obrazovek informuje o tom programátora v podobě hlášení o chybě nebo vážné chybě. Chybu je nutno opravit a provést znovu expertní kontrolu. Typickými chybami jsou zrušené databázové proměnné, na které se funkční prvky stále odkazují, databázové proměnné nesprávného typu nebo rozměru, chybně použité příkazy pseudojazyka apod. Výsledky kontroly Protokol o expertní kontrole je rozdělen do dvou sekcí. - kontrola tabulky obrazovek a kontrola návrhu jednotlivých obrazovek. Na konci každé dílčí části je uveden souhrnný počet chyb a varování. Na konci protokolu je pak uveden celkový počet chyb a varování v celém návrhu. Je dobrým zvykem pokračovat v úpravách tak dlouho, dokud neskončí expertní kontrola s výsledkem "0 chyb, 0 varování". Obr. 4: Výsledek expertní kontroly LCDSHELL - Editor terminálových obrazovek 116 LCDSHELL - Editor terminálových obrazovek 3.8 Automatická tvorba dokumentace Než vytvoříme dokumentaci k procesní stanici, je třeba příkazem Volby | Systém vyvolat dialogové okénko, kde v přepínači “Tisk dokumentace” zvolíme, které části dokumentace vyžadujeme a které nikoli. Pak příkazem Soubor | Tisk vyvoláme dialogové okénko pro určení cíle tisku dokumentace. Program LCDSHELL tiskne dokumentaci standardně do souboru na disku. Zadáním jména tiskárny (např. LPT1) nebo jiného jména souboru na disku lze standardní volbu změnit. Po stisku tlačítka "OK" program LCDSHELL vygeneruje a vytiskne (resp. zapíše do souboru) dokumentaci s požadovaným obsahem. Pokud jsme zapsali dokumentaci do souboru, je možné si ji prohlédnout příkazem Soubor | Prohlédni po zadání jména souboru, do nějž se dokumentace zapisovala. Přepínače “Tisk dokumentace” dialogového okénka Volby | Systém umožňují začlenit do dokumentace tyto části: Obr. 5: Nastavení formátu tisku dokumentace ! ! ! ! ! Základní údaje Základní údaje o shellu a jeho popis. Tabulka displejů Popis tabulky definic displejů. Výpis displejů Výpis vlastního obsahu jednotlivých displejů se zobrazovacími prvky, jejich parametry a komentáři. Je-li seznam parametrů příliš dlouhý nebo je žádoucí doplnit ke každé hodnotě jméno parametru pro snazší orientaci, aktivujte přepínač "Popis parametrů". Aktivujeme-li navíc přepínač "Popis bitových polí", program LCDSHELL rozepíše i strukturované číselné parametry do jednotlivých složek. Výpis knihovny modulů Součástí výpisu dokumentace bude i výpis kompletního sortimentu zobrazovacích prvků, které jsou k dispozici v knihovně. Volby "Popis parametrů" a "Popis bitových polí" mají podobný význam jako u výpisu displejů. Výpis clipboardu Pro diagnostické účely může být zajímavé zahrnout do výpisu dokumentace také výpis obsahu clipboardu. Je-li tento přepínač zapnut, vypíše program LCDSHELL obsah clipboardu ve stejném formátu, v jakém popisuje jednotlivé displeje - uvažuje tedy všechny dosud popsané přepínače. LCDSHELL - Editor terminálových obrazovek 117 LCDSHELL - Editor terminálových obrazovek 3.9 Nastavování parametrů ! ! ! 3.10 V tomto odstavci zbývá popsat dialogové okénko Volby | Systém. O tomto dialogovém okénku jsme se již zmínili v kapitole o automatické tvorbě dokumentace. Kromě parametrů definujících obsah tisknuté dokumentace lze zadat následující parametry: Počet záloh Program LCDSHELL umožňuje vytváření 1 až 10 záložních kopií souboru. Tyto záložní kopie mají stejné jméno souboru, ale příponu .BAK, .BA1, .BA2 až .BA9 místo přípony .LCD běžného souboru. Zadáme-li počet záloh 0, zálohování se neprovádí. Perioda ukládání Program LCDSHELL umožňuje automaticky uložit soubor nejpozději 1 až 600 minut po provedené změně. Při zadání hodnoty 0 se soubor ukládá pouze na vyžádání obsluhou pomocí Soubor | Ulož nebo <F2>. Formát výpisu Zde se zadává požadovaná délka řádku tiskového dokumentu ve znacích a dále počet desetinných míst při výpisu reálných čísel. Simulátor terminálu Simulátor umožňuje rychlé a efektivní otestování návrhu displejů v aplikaci. K činnosti simulátoru není potřeba generovat výsledný kód pro procesní stanici, ale prakticky kdykoli během práce spustit a otestovat. Simulátor terminálu se spustí příkazem Volby | Simulátor. Nejprve se otevře dialogové okno, které nabízí volbu typu shellu (aplikační nebo systémový) a zda budou hodnoty zobrazených proměnných brány z dialogového okna simulátoru či z databáze PSE. Typ shellu ! Aplikační Simuluje pouze chování aplikační, tj. programátorem vytvořené části LCDSHELLu. To znamená, že není nutno se přihlašovat a objeví se rovnou obrazovka, která je v seznamu definic displejů uvedena jako první. ! Systémový Simuluje chování systémové i aplikační části LCDSHELLu. Objeví se obrazovka s logem, po stisku libovolné klávesy je možno přihlásit se zadáním jména a hesla, čímž je zpřístupněna vlastní aplikační část. Podle typu zvoleného terminálu se zobrazí v okně rozmístění tlačítek s popisy a displeje. Příklad simulátoru pro APT110, hodnoty proměnných z dialogu, naznačuje následující obrázek. Pokud by byla vybrána volba hodnoty proměnných z databáze, nebyly by zobrazeny zadávací položky Long, Hex a Float ve spodní části okna simulátoru. LCDSHELL - Editor terminálových obrazovek 118 LCDSHELL - Editor terminálových obrazovek Obr. 6: Příklad simulátoru pro APT110 Obsluha simulátoru Obsluha simulátoru je shodná s obsluhou na reálném terminálu. Stisk tlačítka terminálu se simuluje stiskem příslušné klávesy na klávesnici počítače anebo stiskem patřičného tlačítka na obrazovce pomocí myši. Na displeji se zobrazují jednotlivé prvky tak, jak jsou v návrhu. Při nevyhovujícím zobrazení některého z prvku je nutné nejprve ukončit činnost simulátoru stiskem klávesy <Esc> či tlačítka Cancel a poté editovat jednotlivé prvky v okně návrhu displeje. Testy formátů Při volbě zobrazení hodnot proměnných z dialogu jsou v dolní části okna simulátoru k dispozici zadávací položky, pomocí kterých lze zkontrolovat správné zobrazení a zadávání hodnot proměnných. Podle typu proměnné se spustí editace stiskem patřičného tlačítka (Long anebo Float). Po nastavení příslušné hodnoty se zobrazuje hodnota ve všech prvcích s daným typem proměnné na displeji. Hodnotu typu LONG a INT lze zadat jak v dekadickém, tak i v hexa formátu. Pokud některý prvek displeje nastavuje hodnotu proměnné, její nově nastavený obsah se zobrazí v editačních položkách u patřičného typu. Ověření přístupových práv U položky Level v dolní části simulátoru je možné změnit přístupová práva (význam zkratek: U - obsluha, T - technolog, P - programátor), která nastavuje uživatel při přihlašování se na terminálu. Po nastavení přístupového práva simulátor zohledňuje u jednotlivých prvků jejich přístup pro jednotlivé typy uživatelů, tzn. blokuje prvky pokud uživatel nedisponuje patřičným přístupovým právem. LCDSHELL - Editor terminálových obrazovek 119 Ovládání terminálů řady APT Ovládání terminálů řady APT Ovládání terminálů řady APT 120 Ovládání terminálů řady APT 1 Úvod Tato uživatelská část příručky obsahuje popis ovládání průmyslového terminálu řady APT v systémech řady ADiS, ART, AMAP a AMiRiS pod operačním systémem NOS. Příručka je určena všem, kteří navrhují vlastní displeje a ovládání terminálu a především koncovým uživatelům instalovaného systému, technologovi a programátorovi aplikace. Obsah příručky je rozdělen do tří základních částí. V první se uživatel seznámí s vlastní obsluhou terminálu. Naučí se získat přístupová práva do systému a zadávat požadované hodnoty. Druhá část je určena především technologům a programátorům, kteří pomocí terminálu vstupují do řídicího systému na systémové úrovni. Ovládání terminálů řady APT 121 Ovládání terminálů řady APT 2 Popis terminálu Každý řídicí systém, který vyžaduje ke své činnosti zadávání nových hodnot, popřípadě by chtěl naopak obsluhu systému informovat o svém provozním stavu, obsahuje některý z komunikačních prostředků mezi člověkem a strojem. Jednou z možností jak tuto komunikaci vyřešit je připojit k řídicí jednotce jednoduchý terminál, který nevyžaduje od obsluhy velké znalosti o výpočetní technice. Popišme si nejprve z jakých základních prvků se terminál skládá. 2.1 Hlavní části terminálu APT110, APT130 a ART400 Terminál se skládá ze dvou základních částí - displeje a klávesnice (viz obrázek). Displej Displej, neboli zobrazovač, je umístěn v horní části terminálu. Úkolem displeje je zobrazovat v psané podobě informace o řízeném zařízení a informace, které zadává uživatel. Uživatel má tedy neustále přehled co zadává a jak na to řídicí systém reaguje. Na displeji lze zobrazit současně čtyři řádky po dvaceti znacích. Znaky mohou být různé texty, čísla nebo písmena. Displej Funkční klávesy F1 F7 F8 Industrial Control F2 F3 F4 F5 F6 7 8 9 ENTER 4 5 6 + 1 2 3 0 . ALT Terminal Klávesa ENTER Klávesa pro změnu funkce Kurzorové šipky Numerické klávesy Ovládání terminálů řady APT 122 Ovládání terminálů řady APT Klávesnice Většinu plochy terminálu představuje sada kláves (tlačítek). Jelikož se jedná o tzv. membránovou klávesnici, jsou jednotlivé klávesy pouze předkresleny na fólii. Stisknout klávesu znamená zatlačit prstem na plošku vymezenou políčkem s černým rámečkem a popisem klávesy. Po zatlačení se daná ploška promáčkne a ozve se slabé "lupnutí". V tomto okamžiku byla klávesa skutečně stisknuta. Již na první pohled jsou patrné tři barevně odlišené skupiny kláves. Funkční klávesy V políčkách s modrou barvou jsou nadepsány klávesy postupně F1, F2 až F8. Těmto klávesám říkáme funkční. Používají se zpravidla pro řízení běhu programu v terminálu. Numerické klávesy Numerické klávesy jsou označeny bílými políčky. Obsahují číslice 0, 1 až 9 a oddělovač desetinných míst ".". Pomocí těchto kláves se zadávají veškeré číselné údaje. Editační klávesy V šedě zbarvených políčkách jsou umístěny tzv. editační klávesy. Nejdůležitější z nich je klávesa ENTER. Stiskem této klávesy říkáme systému, že hodnota, kterou jsme zadali na numerické klávesnici je platná a potvrzujeme její správnost. Proto každé zadávání nové hodnoty je ukončeno stiskem této klávesy. Dalšími klávesami z šedé oblasti jsou označené šipkami nahoru, dolů, vlevo a vpravo. Používají se nejčastěji pro posun textu na displeji nebo při mazání chybně zadaných hodnot. Použití těchto kláves bude vysvětleno dále. Ovládání terminálů řady APT 123 Ovládání terminálů řady APT 3 Obsluha terminálu Rozdíly pro jednotlivé typy klávesnic ! ! Terminály lze rozdělit na dva základní typy dle použité klávesnice: Numerická klávesnice Většina terminálů má klávesnici s numerickými klávesami (APT110, APT130, APT2000, APT2100). Miniklávesnice Jsou to terminály s klávesnicí bez numerických kláves (v současnosti ART267 a ART4000M). Tyto terminály mají velmi omezený počet kláves a jejich obsluha se poněkud liší od terminálů s numerickými klávesami. Čísla se musí zadávat speciálním způsobem využívajícím pouze šipkových kláves. Způsob zadávání je popsán dále v kapitole “Obecná pravidla obsluhy”. Jelikož většina terminálů má numerické klávesy, budeme dále popisovat obsluhu těchto terminálů. Odlišnosti pro terminály bez numerické klávesnice uvedeme v poznámkách “Miniklávesnice” vložených na patřičných místech v textu. Obrazovka Pro další výklad si zaveďme pojem obrazovka. Pod tímto označením si budeme představovat obsah displeje v daném okamžiku. Pro názornost budeme v této části příručky typické obrazovky znázorňovat v obdélníku, který bude představovat displej. Obrazovka Logo Po zapnutí řídicího systému se rozsvítí displej a zobrazí se základní informace. Pro jednoduchost budeme tuto obrazovku nazývat jako obrazovku s logem. Na displeji se zobrazí LCDShell (c)1998 3.1 V3.00 AMiT Přihlášení se do systému Pokud vyžadujeme některé informace od řídicího systému nebo mu naopak chceme některé informace zadat, musíme se nejprve pomocí terminálu "přihlásit". Přihlášení spočívá v zapsání jména a hesla pomocí klávesnice. Pokud se uživatel nepřihlásí správně, nemá možnost žádné údaje získat ani zadat. Tímto způsobem je ošetřena ochrana systému před zneužitím nepovolanými osobami. Pomocí jména lze navíc rozlišit různé úrovně přístupu k údajům. Rozlišujeme tři základní úrovně: ! ! ! uživatelská technologická systémová V této kapitole se budeme zabývat prvními dvěma úrovněmi. Uživatelská úroveň (uživatelský přístup) poskytuje pouze základní, nezbytně nutné informace o systému. Technologická úroveň umožňuje měnit některé vybrané hodnoty související přímo s parametry řízeného zařízení (technologie). Obsluha na této úrovni musí dobře znát řízený systém a dokázat ovlivnit pomocí řídicího systému vlastní chod. Ovládání terminálů řady APT 124 Ovládání terminálů řady APT Evidence v provozním deníku Při každém přihlášení a odhlášení uživatele se automaticky provede zápis o této události do provozního deníku stanice. Jméno a heslo Jméno i heslo je tvořeno číslem (libovolné číslo v intervalu 0 až 65535). Každý instalovaný řídicí systém má svá specifické jména i hesla. Uživatel je musí při převzetí řídicího systému obdržet, aby mohl se systémem dále spolupracovat samostatně. Zadání jména Před vlastním přihlášením se do systému musí být na terminálu zobrazena obrazovka s logem. Stiskem libovolné klávesy se na displeji vykreslí obrazovka, která od uživatele požaduje zadání jména. Jmeno?:_ Heslo?: Na prvním řádku, hned za dvojtečkou bliká krátká vodorovná čárka. Této značce říkáme kurzor (ukazovátko) a říká nám, do kterého místa na displeji se bude vypisovat vše co budeme psát pomocí klávesnice. Postupně stiskneme příslušné číslice na klávesnici, které tvoří jméno. Pokud uděláme chybu, můžeme se opravit tak, že klávesou s šipkou "vlevo" smažeme na displeji chybně uvedenou číslici. Pokud je na displeji zobrazeno správné číslo (jméno) stiskneme klávesu <Enter> a tím oznámíme řídicímu systému, že má vyhodnotit uvedené jméno. Pokud systém zjistí, že uvedené jméno nezná, zobrazí na displeji následující Jmeno?: Spatne jmeno ! Po stisku libovolné klávesy se zobrazí opět obrazovka s logem. Pozn.: Miniklávesnice Na začátku je vypsáno jméno ‘00000’. Kurzor je nastaven na první číslici vlevo. Pomocí šipek vpravo a vlevo se pohybuje kurzorem po jednotlivý číslicích, pomocí šipek nahoru a dolů se mění jednotlivé číslice. Zadávání se ukončuje pomocí klávesy <Enter>. Zadání hesla Pokud bylo zadáno správné jméno, kurzor se objeví za dvojtečkou na druhém řádku. Nyní zadáme heslo stejným způsobem, jako jméno. Liší se pouze způsob vypisování stisknutých kláves na displej. V tomto případě se místo číslic zobrazuje znak "*". I zde, pokud stiskneme omylem jinou klávesu, lze pomocí klávesy se šipkou "vlevo" smazat poslední číslici, kterou představuje hvězdička.. Pokud bylo zadáno heslo stiskneme opět klávesu <Enter>. V případě chybného hesla se vypíše Jmeno?: Spatne heslo ! a po stisku libovolné klávesy se vykreslí obrazovka s logem. Ovládání terminálů řady APT 125 Ovládání terminálů řady APT Pozn.: Miniklávesnice Heslo se zadává stejným způsobem jako jméno, pouze místo číslic jsou zobrazeny hvězdičky ‘*****’. Hlavní nabídka Pokud bylo zadáno správné jméno i heslo, na displeji se zobrazí hlavní nabídka činností (nejčastěji ve formě menu), která je vždy závislá na konkrétní aplikaci. 3.2 Obecná pravidla obsluhy Zadávání hodnot Zadávání hodnot je jednou ze základních činností s terminálem. Řídicí systém vyžaduje pro svůj správný chod informace. Hodnoty lze zadávat až po bezchybném přihlášení se a výběru příslušné položky z hlavní nabídky. Obsluhující program terminálu zpravidla oznámí jakým způsobem se vyvolá zadávání hodnoty (zpravidla po stisku některé z funkčních kláves F1 až F8). Vlastní hodnoty se zadávají pomocí numerické části klávesnice. Pokud se překlepneme, lze opravovat chybné číslice klávesou s šipkou "vlevo", čímž se chybná číslice smaže. Poté je nutné stisknout znovu správnou klávesu s číslicí. Při zadávání desetinných čísel se používá místo desetinné čárky tečka. Všechny hodnoty se do systému zapíší až po stisku klávesy <Enter>. Do té doby systém o hodnotě na displeji "neví". Pozn.: Miniklávesnice Pro vyvolávání editace má uživatel k dispozici omezenou množinu kláves (Enter, <+>, <->, příp. i šipkové klávesy). Typicky se používá klávesa Enter. Je-li na obrazovce více editačních prvků, lze je všechny vyvolávat pomocí Enter. Editace se pak spouští postupně pro jednotlivé prvky. Hodnoty se zobrazují v pevném formátu, který je určen parametry editačních prvků udávajících počet celých a desetinných míst, např. ‘###.#’. Čísla se zobrazují v tomto formátu a jsou doplněné nulami, např. ‘012.0’. Po vyvolání editace se číslo nesmaže, ale objeví se kurzor na první číslici vlevo. Kurzorem lze pohybovat pomocí šipek vpravo a vlevo. Číslici, na které je kurzor lze měnit pomocí šipek nahoru a dolů. Cyklus znaků, které se takto mění je omezen pouze na ty, které mají na daném místě čísla význam. Normálně to jsou znaky ‘0’ až ‘9’, v případě HEX formátu to jsou znaky ‘0’ až ‘F’ a v případě BIN formátu to jsou znaky ‘0’ a ‘1’. Pevné znaky, např. desetinná tečka uvnitř čísla se při editaci přeskakují. Editace textového řetězce je podobná, řetězec je doplněn mezerami a cyklus znaků jde přes všechny zobrazitelné znaky. Výběr položky z menu Nabídka (menu) obsahuje několik položek, které určují další činnost terminálu (např. zobrazení určitých hodnot, zadávání potřebných údajů apod.). Volba položky (vyvolání patřičné činnosti) se provede stiskem příslušné klávesy (zpravidla funkční klávesa). Každá položka je aktivována pouze jedinou klávesou. Tato příslušná klávesa bývá zpravidla uvedena u názvu položky na displeji, aby měl uživatel neustálý přehled, kterou funkční klávesou vyvolá patřičnou činnost. Jiný způsob výběru položky je pomocí zvýrazněného řádku. Takový řádek se odlišuje od ostatních malou šipkou u levého okraje displeje. Při stisku kláves se šipkou "nahoru" nebo "dolů" se tato malá šipka pohybuje buď o řádek nahoru nebo dolů. Výběr položky se provede stiskem klávesy <Enter>. Pokud je zvýrazněný řádek na spodním řádku displeje a nabídka obsahuje další položky, po stisku klávesy se šipkou "dolů: dojde k tzv. rolování nabídky (viz následující odstavec). Pozn.: Miniklávesnice Výběr se provádí pouze pomocí zvýrazněného řádku. Rolování Často se stane, že nabídka možných činností zobrazená na displeji se nevejde do čtyř řádků displeje. Terminál umožňuje po stisku kláves se šipkou "dolů" odrolovat (posunout) veškerý obsah displeje o jeden řádek nahoru, tzn. horní řádek zmizí, obsah druhého řádku se přesune na první atd. a na poslední řádek se vypíše nová položka. Opětovným Ovládání terminálů řady APT 126 Ovládání terminálů řady APT stiskem klávesy se šipkou "dolů" se text dále roluje. Pokud už nejsou v nabídce další položky, zobrazí se po opětovném stisku klávesy opět první řádek nabídky . Je možno rolovat i směrem nahoru, a to stiskem klávesy se šipkou "nahoru". Ovládání terminálů řady APT 127 Ovládání terminálů řady APT 4 Obsluha na systémové úrovni Při přihlášení do systému na systémové úrovni se nespustí přímo uživatelská obsluha displeje, ale zpřístupní se implicitní obsluha displeje. Tato obsluha je vždy součástí každé aplikace procesní stanice s terminálem APT. Umožňuje prohlížet a měnit všechny databázové proměnné, umožňuje prohlížet provozní deník, umožňuje číst a měnit systémový čas a datum v RTC obvodu a spustit uživatelsky naparametrizovanou obsluhu. Po přihlášení do systému se na obrazovce objeví menu s těmito položkami: F1 - Uživatel F2 - Databáze F3 - Deník F4 - SHELL F5 - Čas&Datum F8 - Konec Popišme si podrobně jednotlivé položky nabídky. 4.1 F1 - Uživatel Tato položka menu se vyvolá klávesou <F1> nebo pomocí rolování a klávesy <Enter>. Po spuštění této položky se lze znovu do systému přihlásit jako jiný uživatel, třeba i s jinými přístupovými právy. Podle přístupové úrovně se pak spustí znovu tato obsluha nebo uživatelská obsluha displeje. 4.2 F2 - Databáze Tato položka menu se vyvolá klávesou <F2> nebo pomocí rolování a klávesy <Enter>. Umožňuje prohlížet a editovat databázové proměnné. Po vyvolání se na obrazovce objeví první databázová proměnná. Formát zobrazeni je následující: TWWWWW [xx,yy] F:NNNNNNN T typ databázové proměnné, která může být: i - proměnná typu INT l - proměnná typu LONG f - Proměnná typu FLOAT Strukturované proměnné (matice) poznáme podle toho, že za WIDem je zobrazen v hranatých závorkách řádek a sloupec proměnné, kterou právě prohlížíme. WWWWW WID databázové proměnné (na displeji se vždy zobrazují pouze WIDy a ne TIDy). Je-li strukturovaná, následuje XX,YY číslo řádky a sloupce zobrazované databázové proměnné. F formát zobrazení čísla. Možné formáty jsou: Ovládání terminálů řady APT 128 Ovládání terminálů řady APT d - Dekadické zobrazení v pohyblivé řádové čárce. h - V hexadecimální podobě. Má význam pouze u celočíselných typů. D - Zobrazení data ve formátu DD.MM.RR. Toto zobrazení má pouze význam u typu LONG, v kterém je uložen datum a čas v DB-Net formátu. T - Zobrazení času ve formátu hh:mm:ss. Toto zobrazení má pouze význam u typu LONG, v kterém je uložen datum a čas v DB-Net formátu. b - Zobrazení dat v binární podobě. Zobrazuje se dolní polovina 16 bitového slova. Má význam pouze pro proměnnou typu INT. B - Zobrazení dat v binární podobě. Zobrazuje se horní polovina 16 bitového slova. Má význam pouze pro proměnnou typu INT. Pro přechod na další databázovou proměnnou používáme klávesu se šipkou "dolů" pro následující proměnnou a pro předcházející databázovou proměnnou klávesu se šipkou "nahoru". Pokud je proměnná strukturovaná, můžeme použít pro prohlížení jednotlivých položek funkční klávesu <F1>. Pak pomocí kláves se šipkami "nahoru", "dolů", "vlevo" a "vpravo" se můžeme posouvat po jednotlivých položkách matice. V [ ] (hranatá závorka) se mění řádek a sloupec. Pokud chceme přejít na další databázovou proměnnou, znovu stiskneme <F1>. Nyní můžeme procházet databázové proměnné stejně jako předtím. Pro změnu režimu zobrazení používáme klávesu <F4>. Po stisku klávesy se zobrazí další formát. Formáty následují po sobě v tomto pořadí d, h, D, T, b, B a pak zase d atd. Chceme-li editovat proměnnou stiskneme klávesu <F2>. Proměnná se edituje ve formátu jakém byla zobrazena. Po stisku klávesy se na druhém řádku objeví ?. Za něj zadáme novou hodnotu a stiskem <Enter> ukončíme zadávání a nová hodnota se vloží do databáze. Pokud ukončíme zadávání stiskem <F8>, nic se neuloží a v databázi zůstane původní hodnota. Pokud se hodnota při zobrazení mění a chceme tyto nové hodnoty sledovat "on-line" je třeba stisknout klávesu <F3>. Na třetím řádku se objeví hvězdička a proměnná se průběžně oživuje z databáze. POZOR! tato funkce koliduje s funkcí editace hodnoty, proto musí být při editaci vypnuta. Klávesa <F8> ukončí prohlížení databáze a zobrazí zase opět na displeji hlavní systémové menu. Pozn.: Miniklávesnice <Nahoru> - předchozí položka <Dolů> - následující položka <+> - přepínání režimu prohlížení jednotlivých buňek matice V tomto režimu se lze pohybovat po jednotlivých buňkách pomocí šipkových kláves. Režim se ukončuje opětovným stiskem <+>. <-> - změna režimu (formátu) zobrazení <Enter> - vyvolání a ukončení editace <Esc> - zrušení editace, návrat do systémového menuF3 - Deník Zapínat “on line” sledování na miniklávesnicích nelze. Pro oživení hodnoty se musí provést přechod na předchozí databázovou položku a zase zpět. 4.3 F3 - Deník Tato položka menu se vyvolá klávesou <F3> nebo pomocí rolování a klávesy <Enter>. Umožňuje prohlížení provozního deníku. Provozní deník je dále popsán v části Stavové a chybové informace, provozní deník. Po vyvolání provozního deníku se na obrazovce zobrazí: Ovládání terminálů řady APT 129 Ovládání terminálů řady APT nn{cccc}hh:mm:ss Datum:DD.MM.RR WID: xxxxx L: yyyyy nn Číslo položky v kruhovém seznamu provozních hlášení. Položky mohou nabývat hodnot 0 až 49. cccc Hexadecimální kód chyby. (viz seznam chyb v části Stavové a chybové informace v této příručce). hh:mm:ss Čas vložení této události do provozního deníku. DD.MM.SS datum vložení události do provozního deníku. Tato položka na druhém řádku je měnitelná podle údaje, který chceme zobrazit. Údaj se mění klávesou <F2>. Další údaje (položky hlášení v různých formátech), které můžeme zobrazit jsou: ! ! ! ! ! ! ADR - položky Segment:Offset WID - položka WID F - položka Data ve formátu pohyblivé řádové čárky L - položka Data ve celočíselném formátu 2 dat - položka Data ve formátu datum 2 čas -položka Data ve formátu čas Přechod na další nebo předcházející údaj z deníku se provede pomocí kláves se šipkou "dolů" a "nahoru". Další užitečnou funkcí je klávesa <F1>, která zobrazí poslední vložené hlášení do deníku. Klávesou <F8> se opět vrátíme do základního menu. Pozn.: Miniklávesnice <Nahoru> - předchozí položka <Dolů> - následující položka <+> - zobrazení posledního vloženého hlášení <-> - přepínání jednotlivých dat položky hlášení <Esc> - návrat do systémového menu 4.4 F4 - SHELL Tato položka menu se vyvolá klávesou <F4> nebo pomocí rolování a klávesy <Enter>. Tato funkce spustí první displej z uživatelsky parametrizovaného SHELLu (pokud existuje). Není-li SHELL k dispozici neprovede se žádná akce. 4.5 F5 - Čas&Datum Tato položka menu se vyvolá klávesou <F5> nebo pomocí rolování a klávesy <Enter>. Na obrazovce se zobrazí Ovládání terminálů řady APT 130 Ovládání terminálů řady APT *Datum:DD.MM.RR Cas :hh:mm:ss Hvězdička ukazuje na aktivní položku. Hvězdička se přesunuje klávesami se šipkou "nahoru" nebo "dolů". Klávesa <Enter> spustí editaci položky označené hvězdičkou. U data se na pozici roku zadává poslední dvojčíslí. Dvojtečku při editaci časového údaje zapíšete pomocí kláves <Alt-.> (současný stisk klávesy <Alt> a <.>). Klávesou <F8> se vrátíme zpátky do hlavního menu. Pozn.: Miniklávesnice <Nahoru> - předchozí položka <Dolů> - následující položka <Enter> - vyvolání a ukončení editace <Esc> - zrušení editace, návrat do systémového menu 4.6 F8 - Konec Tato položka menu se vyvolá klávesou <F8> nebo pomocí rolování a klávesy <Enter>. Po jejím výběru se na terminálu zobrazí obrazovka s logem a systém čeká na přihlášení nového uživatele. Ovládání terminálů řady APT 131 DTE - Editor formátovacích řetězců provozního deníku DTE - Editor formátovacích řetězců provozního deníku DTE - Editor formátovacích řetězců provozního deníku 132 DTE - Editor formátovacích řetězců provozního deníku 1 Úvod Tato část příručky popisuje program pro parametrizaci formátovacích řetězců provozního deníku. Program se používá v případě, kdy je třeba tisknout provozní deník na tiskárně připojené k procesní stanici nebo zobrazovat provozní deník na terminálu, případně zpracovávat provozní deník na vizualizační stanici PC. Program DTE je začleněn do prostředí správce projektů PSP. DTE - Editor formátovacích řetězců provozního deníku 133 DTE - Editor formátovacích řetězců provozního deníku 2 Popis Jednotlivá hlášení provozního deníku se na procesní stanici udržují v binární formě v kruhovém bufferu. Jedna položka hlášení má strukturu: Položka Počet bytů Význam Kód 2 Kód chyby / hlášení Time 4 Čas vzniku Segment 2 Číslo procesu Offset 2 Místo v programu WID 2 WID proměnné / doplňkový kód Data 4 Hodnota Uživatel má možnost ovlivnit pouze silně orámované položky. Pro generování hlášení na procesní stanici slouží např. moduly ErrSig a Report. Pomocí systémového menu na terminálu LCDSHELL lze prohlížet provozní deník v binární (číselné) formě. Aby bylo možné zobrazovat jednotlivá hlášení pomocí textu nebo tyto texty tisknout na tiskárně, je nutné pro každý kód hlášení definovat odpovídající řetězec. K tomu slouží program DTE. Pro každé hlášení lze definovat nejen pevný text, ale i variabilní texty, které se vybírají na základě hodnot zvolených datových položek hlášení. Např. lze definovat jeden kód pro hlášení '”Alarm nastal: “ a k němu několik variabilních textů: “Maximalni hladina”, “Minimalni hladina”, “Maximalni tlak pary” atd. Konkrétní variabilní text se potom vybere např. dle hodnoty položky WID. V textech lze také zobrazovat číselné hodnoty datových položek hlášení. 2.1 Uživatelské kódy Tvůrce aplikace může volit kódy chyb/hlášení v rozsahu 100..30000, ostatní kódy jsou rezervovány pro systémové účely. 2.2 Definice formátovacího řetězce Pro formátovací řetězce programu DTE mají ve struktuře binárního hlášení provozního deníku význam pouze tyto položky: Položka Počet bytů Význam Kód 2 Kód chyby / hlášení WID 2 WID proměnné / doplňkový kód Data 4 Hodnota Ke každému kódu hlášení, který se může v aplikaci vyskytnout, se definuje formátovací řetězec. Formátovací řetězec může kromě normálního textu obsahovat speciální formátovací makra, která umožňují převod číselných údajů hlášení na text. Formátovací makro začíná znakem %, za kterým následují až 3 znaky specifikace makra. Tato makra lze vkládat na libovolnou pozici v řetězci a mohou se v řetězci vyskytovat i vícekrát. Makro udává, ze které datové položky hlášení se získá hodnota pro přeformátování - lze se odvolávat na WID nebo Data. DTE - Editor formátovacích řetězců provozního deníku 134 DTE - Editor formátovacích řetězců provozního deníku Makro také udává, jak se bude chápat význam těchto položek. WID je vždy celočíselná hodnota INT nebo WORD. Data mohou být hodnoty typu INT, WORD, FLOAT, nebo mohou být chápána jako datum nebo čas. Pomocí maker lze zobrazit: Čísla Celá nebo desetinná čísla, hexadecimální čísla. Datum+čas Číslo ve formátu LONG převedené na datum nebo čas, případně obojí. Variabilní texty Pomocí číselných hodnot se vybere variabilní text dle tabulky. Pro tento případ musí existovat převodní tabulka, která danému číslu přiřazuje nějaký text. ! ! Jsou dva typy převodních tabulek: Celočíselné - texty se vybírají dle celých čísel. Desetinné - texty se vybírají dle desetinných čísel. Následující tabulka popisuje jednotlivá makra. V prvním sloupci je popis makra, ve sloupci WID je makro odkazující se na položku hlášení WID, ve sloupci Data16 je makro odkazující se na dolní dva byty položky hlášení Data, ve sloupci Data32 je makro odkazující se na celou položku hlášení Data (4 byty). Popis WID Data16 Data32 Celé číslo se znaménkem %0i %1i %l Celé číslo bez znaménka %0w %1w %d Hexadecimální číslo %0x %1x %X Desetinné číslo %f Datum %D Čas %t Datum a čas %T Variabilní text z celočíselné tabulky %0sw Variabilní text z desetinné tabulky DTE - Editor formátovacích řetězců provozního deníku %1sw %sl %sf 135 DTE - Editor formátovacích řetězců provozního deníku 3 Editor DTE 3.1 Start a ukončení programu Program DTE se spouští z prostředí správce projektu PSP. Veškeré parametry, které program potřebuje ke správnému chodu, jsou automaticky dodány prostředím PSP. 3.2 Ukončení programu Program DTE ukončí svoji činnost po stisku klávesy <Alt+X> nebo po vyvolání menu příkazu Soubor | Konec. 3.3 Začlenění programu do PSP V prostředí PSP se pracuje s aplikací DTE stejně, jako s aplikací PSE nebo LCDSHELL. Na začátku se vloží do projektu soubor aplikace, který má příponu .DTE (Příkaz PSP Projekt | Vlož DTE). Další práce je identická s aplikacemi PSE a LCDSHELL. 3.4 Ovládání programu - stručný přehled menu Program se ovládá podobně jako programy PSE a LCDSHELL. Část funkcí je v programu DTE zcela shodných s funkcemi v programech PSE a LCDSHELL (volby Soubor, Editace, Okna). Poznámka Některé položky menu nemají ve stávající verzi programu (V1.04) žádnou funkci. V dalším popíšeme přehled nejdůležitějších menu charakteristických speciálně pro program DTE. Ukaz Podmenu Ukaz umožňuje vyvolávat okna s parametrizačními tabulkami textových hlášení. Ukaz | System ! ! ! ! Zobrazí dialog pro zadání parametrů: název aplikace jména autora délka prefixu hlášení Každé hlášení může začínat prefixem (0 až 3 znaky), dle kterého lze hlášení třídit do skupin. Používá se např. při prohlížení deníku na PC. konec řádku Koncové znaky automaticky přidávané na konec řetězce, pokud je potřeba. Lze přidávat znaky CR nebo LF, případně oboje. Tím lze dosáhnout odřádkování na tiskárně po každém hlášení. Ukaz | Formaty Zobrazí se okno s tabulkou parametrů pro jednotlivá hlášení. Lze vkládat, rušit nebo editovat jednotlivá hlášení. Parametry jednoho hlášení: DTE - Editor formátovacích řetězců provozního deníku 136 DTE - Editor formátovacích řetězců provozního deníku Kód chyby (hlášení) Zadává se číslo odpovídající kódu zadaného v aplikaci např. modulem Report. Komentář Text, který slouží pro orientaci tvůrce aplikace při parametrizaci. Do procesní stanice se nepředává. Kód - prefix Textový prefix hlášení max. 3 znaky pro třídění hlášení do skupin. Použití pouze na PC. Formát Formátovací řetězec. Může obsahovat formátovací makra (viz Definice formátovacího řetězce). Tabulka textu DW Převodní tabulka pro výběr variabilního textu na základě celočíselné hodnoty. Uvádí se jméno tabulky. Pokud je tabulka již definovaná, lze ji vybrat pomocí tlačítka: Vyber textu DW. Parametr se vyplňuje pouze v případě, kdy se ve formátovacím řetězci použijí formátovací makra odkazující se na celočíselné hodnoty. Převodní tabulku lze vytvořit v okně definic tabulek pomocí příkazu: Ukaz | Tabulky DOUBLEWORD parametru. Tabulka textu F Převodní tabulka pro výběr variabilního textu na základě desetinné hodnoty. Uvádí se jméno tabulky. Pokud je tabulka již definovaná, lze ji vybrat pomocí tlačítka Vyber textu F. Parametr se vyplňuje pouze v případě, kdy se ve formátovacím řetězci použijí formátovací makra odkazující se na desetinné hodnoty. Převodní tabulku lze vytvořit v okně definic tabulek pomocí příkazu Ukaz | Tabulky FLOAT parametru. ! ! ! ! ! ! Ukaz | Tabulky DOUBLEWORD parametru Zobrazí se okno se seznamem převodních tabulek celočíselných hodnot na variabilní texty. Tabulka je zadaná parametry: Název Komentář Jednotlivé položky každé tabulky se editují v okně tabulky variabilních textů, které lze vyvolat vybráním dané tabulky (stisk mezerníku nad danou tabulkou). ! ! Okno tabulky variabilních textů ! ! ! V okně tabulky je seznam jednotlivých položek tabulky. Každá položka je definována následujícími parametry: Dolní mez Dolní mez intervalu hodnot (včetně), který určuje danou položku. Horní mez Horní mez intervalu hodnot (včetně), který určuje danou položku. Text Variabilní text dané položky. Při formátování makra, které se odkazuje na tabulku variabilních textů, se prochází jednotlivé položky tabulky a hledá se první položka, jejíž interval hodnot zahrnuje porovnávanou číselnou hodnotu. Pokud taková položka existuje, vybere se daný variabilní text, jinak je variabilní text brán jako prázdný řetězec. Pokud není třeba zadávat variabilní texty pro intervaly hodnot, ale každý variabilní text je dán jedinou hodnotou, stačí zadat dolní i horní mez rovnou této hodnotě. Ukaz | Tabulky FLOAT parametru Zobrazí se okno se seznamem převodních tabulek desetinných hodnot na variabilní texty. Parametry tabulek i funkce je stejná jako u tabulek s celočíselnými hodnotami. Rozdíl je pouze v tom, že při porovnávání číselných hodnot se pracuje s desetinnými hodnotami. DTE - Editor formátovacích řetězců provozního deníku 137 DTE - Editor formátovacích řetězců provozního deníku Nastroje Podmenu Nastroje zajišťuje generaci parametrizovaných tabulek požadovaných aplikací PSE nebo vizualizačními programy na PC. do formátů Nastroje | Generace pro PSE Generace do formátu pro aplikaci PSE. Jelikož se program DTE spouští z prostředí PSP, není nutné tuto funkci využívat, protože ji PSP provádí automaticky. Nastroje | Generace pro LOG Generace do formátu pro vizualizaci na PC. Parametry Podmenu Parametry slouží pro konfiguraci programu. Parametry | Konfig Nastavují se dva parametry: Generovat "C" Příznak, zda se má generovat soubor pro překladač C jazyka. Pro běžného uživatele nemá význam, používá se při vývoji a ladění modulů PSE programátorem. Výstupní adresář Adresář, do kterého se ukládají všechny výstupní soubory. V případě spouštění programu z prostředí PSP nemá význam. ! ! Upozornění! Instalační sada PSE obsahuje v adresáři ..\BIN soubor DEFAULT.DTE, kde jsou naparametrizovaná systémová hlášení operačního systému NOS a aplikací PSE. Tento soubor je dobrým východiskem pro vytvoření konkrétní aplikace DTE. Parametrizace systémových hlášení by měla být v každé aplikaci DTE obsažena! DTE - Editor formátovacích řetězců provozního deníku 138 DTE - Editor formátovacích řetězců provozního deníku 3.5 Příklad parametrizace Tabulka formátů je vyplněna následovně: Kód Prefix Text chyby Komentář 0 OK Zadna chyba OK 16 nos Zavedeni operacniho systemu Zavedeni operacniho systemu 17 nos Studeny start sitoveho zavadece Studeny start sitoveho zavadece 18 nos Teply start sitoveho zavadece (vypadek: %T) Teply start sitoveho zavadece 19 nos Studeny start aplikace Studeny start aplikace 20 nos Teply start aplikace (vypadek: %T) Teply start aplikace 21 Texty DW Procesor Texty F nos Chyba procesoru: %0sw Chyba procesoru 22 nos Zapis do zakazane pameti Zapis do zakazane pameti 23 nos Interni chyba radice preruseni, adr.: %d Interni chyba radice preruseni 32 *Db WID %0i neexistuje. Spatny WID *Db Spatny handle promenne %0w Spatny handle *Db Spatny typ %1sw promenne %0i Spatny typ *Db Spatny radek %1w promenne %0w Spatny radek 33 34 Typy 35 36 *Db Spatny sloupec %1w promenne %0w Spatny sloupec 37 *Db Spatny pocet radku %1w promenne %0w Spatny pocet radku 38 *Db Spatny pocet sloupcu %1w promenne %0w Spatny pocet sloupcu 39 nos Nedostatek pameti Nedostatek pameti 40 aeg Spatny 1/4h pulz, delka: %t Spatny 1/4h pulz 32772 val U ventilu %0w - %1w jsou oba dva KS sepnuty Sepnuty oba dva KS 32773 val U ventilu %0w - %1w jsou oba dva KS v poradku KS OK 32774 val Ventil %0w - %1w nedojel na KS OTEVRENO KS otevreno nesepnul 32775 val Ventil %0w - %1w nedojel na KS ZAVRENO KS zavreno nesepnul 32776 val Ventil %0w - %1w dojel na KS OTEVRENO KS otevreno sepnul 32777 val Ventil %0w - %1w dojel na KS ZAVRENO KS zavreno sepnul 32800 Bufer lcd Nelze vlozit cteci pozadavek do buferu %sl Nelze vlozit cteci pozadavek 32801 Bufer lcd Nelze vlozit zapisovy pozadavek do buferu %sl Nelze vlozit zapisovy pozadavek lcd Prihlaseni uzivatele %0w Prihlaseni uzivatele lcd Odhlaseni uzivatele %0w Odhlaseni uzivatele 32802 32803 1010 ALARM A Alarm nastal %0sw Alarm nastal 1011 ALARM a Alarm skoncil %0sw Alarm skoncil %0sw 1012 ALARM a Alarm kvitovan 1013 ALARM a Alarm odkvitovan DTE - Editor formátovacích řetězců provozního deníku %0sw Alarm kvitovan Alarm odkvitovan 139 DTE - Editor formátovacích řetězců provozního deníku Dále jsou definovány převodní tabulky celočíselných hodnot na variabilní texty: ! Tabulka ALARM Dolní mez Horní mez Text 11 11 MAX. tlak pary 12 12 PORUCHA vzduch. ven. 4006 4006 Maximalni hladina 4007 4007 Minimalni hladina Tato tabulka definuje variabilní texty pro alarmová hlášení. Ta jsou generována v aplikaci PSE modulem ErrSig. Modulu se zadává základní kód (1010) a modul potom modifikuje tento kód pro jednotlivé události (1010..1013): Ofset kódu Událost 0 Alarm nastal 1 Alarm skončil 2 Alarm kvitován 3 Alarm odkvitován Pro každou událost je v tabulce formátů definován textový formát hlášení s makrem %0sw. Makro má následující význam: "variabilní text z celočíselné tabulky dle položky WID". Proto musí mít tato 4 hlášení definovanou celočíselnou převodní tabulku (ALARM). Toto hlášení očekává v položce WID programátorem zadaný kód pro výběr variabilního textu - určení čeho se alarm týká. Je-li např. položka WID binárního hlášení rovna 4006 a kód hlášení roven 1010, je výsledný text zformátován: Alarm nastal ! Maximalni hladina Tabulka Procesor Dolní mez Horní mez Text 1 1 Nedefinovany kod instrukce 2 2 Zakazana instrukce 3 3 Spatny typ operandu instrukce 4 4 Spatna adresa dat 5 5 Spatny pristup na sbernici procesoru 6 6 Preteceni zasobniku procesoru 7 7 Podteceni zasobniku procesoru Je-li např. kód roven 10 a WID roven 4, je výsledný text: Chyba procesoru Spatna adresa dat ! Tabulka Typy Dolní mez Horní mez Text 0 0 DBT_INT 1 1 DBT_LONG 2 2 DBT_FLOAT DTE - Editor formátovacích řetězců provozního deníku 140 DTE - Editor formátovacích řetězců provozního deníku Dolní mez Horní mez Text 3 3 DBT_INTMTX 4 4 DBT_LONGMTX 5 5 DBT_FLOATMTX Pro kód hlášení 3 je v tabulce formátů definován text s makrem %1sw (variabilní text dle celého čísla - dolních dvou byte položky Data) a makrem %0i (celé číslo se znaménkem z položky WID). Formát hlášení se odkazuje na tabulku Typy. Toto hlášení očekává v položce WID - identifikátor databázové proměnné a v položce Data - typ proměnné. Např. pro hodnoty WID roven 4023 a typ roven 3, je výsledné hlášení: Spatny typ DBT_INTMTX databazove promene 4023 ! Tabulka Bufer Dolní mez Horní mez Text 0 0 NOSu 65536 65536 LCDSHELLLu Pro kódy hlášení 32800 a 32801 jsou v tabulce formátů definovány texty s makrem %1sl (variabilní text dle celého čísla - všech 32 bitů položky Data). Formáty hlášení se odkazují na tabulku Bufer. Dle hodnoty Data se rozlišuje, zda se hlášení týká buferu operačního systému NOS nebo buferu aplikace LCDSHELLu. Např. pro kód 32800 a hodnotu Data rovnu 0, je výsledné hlášení: Nelze vlozit cteci pozadavek do buferu NOSu. DTE - Editor formátovacích řetězců provozního deníku 141 Zavedení aplikace Zavedení aplikace Zavedení aplikace 142 Zavedení aplikace 1 Úvod Tato praktická část příručky se zabývá postupem zavedení aplikace do procesní stanice s využitím správce projektů PSP. Od čtenáře se očekává, že má znalosti s ovládáním PSP, editorů PSE a LCDSHELL, s tvorbou aplikačního programu a zná hardwarové možnosti konkrétních procesních stanic. Tato část je určena všem, kteří samostatně realizují aplikace na procesních stanicích s operačním systémem NOS a průmyslovým komunikačním systémem DB-Net. Text je rozdělen do několika kapitol, v kterých je uveden kompletní přehled konfigurace přepínačů procesní stanice, popis propojení procesní stanice s osobním počítačem PC, popis zavedení operačního systému NOS, popis zavedení a spuštění aplikace a další informace potřebné pro úspěšnou práci. Zavedení aplikace 143 Zavedení aplikace 2 Konfigurace procesní stanice Pojmem konfigurace procesní stanice budeme v následujícím textu rozumět nastavení DIP přepínačů. Konkrétní nastavení má význam pro činnost stanice připojené v síti DB-Net a při spuštění vlastní aplikace. Nastavení konfigurace (resp. její změna) u všech typů procesních stanic je základním programovým vybavením akceptováno pouze po spuštění či resetu stanice, tzn. chcete-li, aby stanice pracovala v patřičném režimu, musíte vždy po nastavení přepínačů resetovat stanici (zpravidla vypnutím a zapnutím napájení stanice). Přepnutí přepínače během chodu stanice nemá většinou žádný vliv na její chování. ! ! Na všech typech procesních stanic jsou vždy dvě skupiny DIP přepínačů: HW konfigurace (4 přepínače) Slouží k nastavení, jak se má chovat hardware stanice. SW konfigurace (10 přepínačů, některé starší systémy mají pouze 8 přepínačů, viz dále) Slouží k nastavení, jak se má chovat programové vybavení stanice. Skupiny DIP přepínačů jsou na procesních stanicích označeny názvy HW a SW. Jsou očíslovány a mají označenu polohu ON. 2.1 Nastavení HW konfigurace HW konfigurace se nastavuje pomocí HW-DIPu, který má 4 přepínače s následujícím významem: HW konfigurace Přepínač ON OFF 1 Start z FLASH Start z RAM *) 2 Povolení zápisu do FLASH - 3 Bootstrap povolen Normální činnost 4 Povolen reset po lince RS232 Reset po lince nepovolen Nastavení přepínačů má význam při zavádění operačního systému a při zavádění a běhu aplikace a bude proto popsáno v příslušných kapitolách. *) Poznámka: U řídicího terminálu APT2100 je význam přepínače 1 jiný. Terminál startuje vždy z FLASH bez ohledu na polohu přepínačů. Nastavením přepínače 1 do polohy ON a následným startem systému se vyvolává konfigurační obrazovka, viz dále. 2.2 Nastavení SW konfigurace SW konfigurace se nastavuje pomocí SW-DIPu, který má standardně 10 přepínačů s následujícím významem: SW konfigurace (10 přepínačů) Přepínač ON OFF 1..5 Číslo stanice v síti DB-Net (viz tabulka) 6..7 Komunikační rychlost (viz tabulka) Zavedení aplikace 144 Zavedení aplikace 8 Komunikace DB-Net je na kanálu S1 RS485 Komunikace DB-Net je na kanálu S0 RS232 9 Spuštění uživatelské aplikace Síťový zavaděč 10 Nemá význam. Je určen pro volné použití. Některé starší systémy mají pouze 8 přepínačů SW konfigurace (např. ART400). Jejich význam je následující: SW konfigurace (8 přepínačů) Přepínač ON 1..5 OFF Číslo stanice v síti DB-Net (viz tabulka) 6 Komunikace DB-Net je na kanálu S1 RS485 Komunikace DB-Net je na kanálu S0 RS232 7 Spuštění uživatelské aplikace Síťový zavaděč 8 Nemá význam. Je určen pro volné použití. Číslo stanice Každá procesní stanice v síti systému DB-Net musí mít své jedinečné číslo (adresu). Číslo stanice se volí přepínači č. 1..5 SW konfigurace, viz předchozí tabulky. Zde uvedeme tabulku nastavení přepínačů pro konkrétní číslo stanice. Číslo stanice 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Zavedení aplikace 1 OFF ON OFF ON OFF ON OFF ON OFF ON OFF ON OFF ON OFF ON OFF ON OFF ON OFF ON OFF ON OFF ON OFF ON OFF ON OFF ON 2 OFF OFF ON ON OFF OFF ON ON OFF OFF ON ON OFF OFF ON ON OFF OFF ON ON OFF OFF ON ON OFF OFF ON ON OFF OFF ON ON Přepínač 3 OFF OFF OFF OFF ON ON ON ON OFF OFF OFF OFF ON ON ON ON OFF OFF OFF OFF ON ON ON ON OFF OFF OFF OFF ON ON ON ON 4 OFF OFF OFF OFF OFF OFF OFF OFF ON ON ON ON ON ON ON ON OFF OFF OFF OFF OFF OFF OFF OFF ON ON ON ON ON ON ON ON 5 OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF ON ON ON ON ON ON ON ON ON ON ON ON ON ON ON ON 145 Zavedení aplikace Komunikační rychlost Komunikační rychlost se nastavuje kombinací přepínačů č. 6 a 7 SW konfigurace podle následující tabulky (platí pro standardní 10-ti přepínačovou variantu): Přepínač 6 Přepínač 7 Komunikační rychlost [Bd] OFF OFF 9600 ON OFF 19200 OFF ON 38400 ON ON 57600 Konfigurační obrazovka Některé starší systémy s nestandardními 8 přepínači SW konfigurace nemají možnost nastavovat komunikační rychlost pomocí DIP-přepínačů. Rychlost se nastavuje ve speciální konfigurační obrazovce po zapnutí stanice. Konfigurační obrazovku (mimo řídicího terminálu APT2100) aktivujeme tak, že při vypnuté procesní stanici stiskneme současně klávesu ALT a "." (desetinná tečka) a za stálého držení těchto kláves procesní stanici zapneme. V procesní stanici musí být zaveden operační systém NOS. Na displeji procesní stanice se zobrazí konfigurační obrazovka. Jako příklad uveďme konfigurační obrazovku systému ART: NOS/ART4x0 Vx.xx (c) 1998 AMiT Rychlost:19200[Bd] Autorepeat:vyp Kurzor bliká na údaji komunikační rychlosti. ! ! ! Pomocí kurzorových šipek nahoru a dolů přesouváme kurzor mezi řádkem pro komunikační rychlost a řádkem pro autorepeat. Pomocí kurzorových šipek doleva a doprava měníme údaj, na kterém je kurzor. Klávesou ENTER potvrdíme volbu a procesní stanice přejde do běžného pracovního režimu. Komunikační rychlost může nabývat hodnot 9600, 19200, 38400 a 56818 Bd, implicitně (po nahrání operačního systému) je 19200 Bd. Zavedení aplikace 146 Zavedení aplikace Konfigurační obrazovka APT2100 U tohoto řídicího terminálu se konfigurační obrazovka zobrazí po startu systému, pokud je přepínač 1 “HW konfigurace” v poloze ON. Vzhled konfigurační obrazovky je následující: Version Vx.xx (c) AMiT 1999 Serial Change configuration Environment Speed Parity Stop bit Interface : : : : 19200 even 1 RS232 * Echo CR->CR LF Display Autorepeat Contrast Scr.saver Invert : : : : : : : on off scroll off 5 5 off Pohyb v konfiguračním menu se ovládá kurzorovými šipkami. Aktuální (vybraná) položka je označena znakem * (hvězdička). Parametry aktuální položky lze měnit klávesami + nebo -. Do pracovního režimu terminálu se lze dostat stiskem klávesy ENTER a následným potvrzením klávesou +. Konfigurace se zároveň uloží do paměti EEPROM. Popis jednotlivých položek v konfiguračním menu: Nastavení položek “Speed”, “Parity”, “Stop bit”, “Interface” a “Echo” nemá vliv na činnost řídicího terminálu při normálním provozu, t.j. na zobrazování dat z LCDSHELLu aplikace, provozované přímo na řídicím terminálu APT2100. S využitím těchto položek se počítá pro případnou realizaci režimu ASCII-terminálu, tedy pro zobrazování dat přijímaných po sériovém rozhraní. Dalším důvodem pro ponechání těchto položek v konfigurační obrazovce je maximální kompatibilita s terminálem APT2000. ! ! ! ! ! ! Speed Hodnota "600 / 1200 / 2400 / 4800 / 9600 / 19200". Nastavuje přenosovou rychlost sériové linky. Parity Typ "none / even". Nastavuje typ parity sériové linky. Stop bit Hodnota "1 / 2". Nastavuje počet stop bitů sériové linky. Interface Typ "RS232 / RS485". Udává jaký typ sériové linky bude použit pro komunikaci s terminálem APT2100. Echo Hodnota "on / off". Udává, zda se bude stisknutá klávesa zároveň zobrazovat na displeji. CR -> CR LF Hodnota "on / off". Pokud je nastaveno "on", bude se při příjmu znaku CR automaticky přidávat i znak LF. Zavedení aplikace 147 Zavedení aplikace ! ! ! ! ! Pro správnou činnost LCDSHELLu musí být nastaveno “on”. Display Hodnota "scroll / overwr". Nastavuje se "scrollování" nebo přepisování displeje. Pro správnou činnost LCDSHELLu musí být nastaveno “scroll”. Autorepeat Hodnota "on / off". Lze zapnout nebo vypnout autorepeat klávesnice. Konstanty autorepeatu jsou pevně dané a nelze je měnit. Contrast Hodnota "1 - 10". Nastavuje kontrast obrazovky. Scr. saver Hodnota "1 - 15 " Nastavuje dobu v minutách, za kterou bude vypnuto podsvětlení displeje od posledního stisku klávesy. Zobrazování dat na tuto dobu nemá žádný vliv. Šetří se tak životnost použité výbojky. Invert Hodnota "on / off". Lze zvolit typ zobrazení. Při hodnotě "on" budou tmavá písmena na světlém pozadí. Při hodnotě "off" se budou zobrazovat světlá písmena na tmavém pozadí. Nastavení autorepeat na displeji Autorepeat klávesnice na displeji se nastavuje v závislosti na typu terminálu: ! ! ! Terminály se sériovým rozhraním (RS232, RS485, RS422) Příkladem tohoto typu terminálu jsou terminály APT100, APT110 nebo APT2000. Autorepeat se nastavuje pomocí DIP přepínače přímo na vlastním terminálu. Terminály s paralelním rozhraním (kromě APT2100) Příkladem paralelních terminálů jsou APT130, LCDK12 a LCDK14. Systém ART400 je také z hlediska rozhraní paralelním terminálem, i když to není pouhý terminál, ale kompaktní řídicí systém. Autorepeat se nastavuje ve speciální konfigurační obrazovce po zapnutí stanice. Popis konfigurační obrazovky byl podán v předchozí kapitole ”Nastavení SW konfigurace”. Autorepeat může být vypnut, pomalý (první opakování 1 sec. po zmáčknutí klávesy, potom cca. 3 opakování za sekundu) nebo rychlý (první opakování 0.5 sec. po zmáčknutí klávesy, potom 10 opakování za sekundu). Implicitně (po nahrání operačního systému) je autorepeat vypnut. Řídicí terminál APT2100 Autorepeat na tomto typu terminálu lze pouze zapnout nebo vypnout, a to v konfigurační obrazovce, viz předchozí kapitolu. Zavedení aplikace 148 Zavedení aplikace 2.3 Informace na displeji Systémy s paralelním displejem po zapnutí zobrazují na displeji částečnou informaci o SW konfiguraci. Uvedeme příklad pro systém ART400: NOS/ART4x0 Vx.xx (c) 1998 AMiT Vpravo na druhém řádku je zobrazen znak podle režimu, ve kterém se stanice nachází: L A spuštěn síťový zavaděč spuštěna aplikace vytvořená v PSE V případě spuštění aplikace se vypisuje znak A pouze pokud aplikace neobsahuje obsluhu aplikačních obrazovek terminálu. Při inicializaci se vypisuje v pravém dolním rohu fáze inicializace. Dojde-li při spuštění aplikace k závažné chybě je na displeji zobrazeno NOS-Krit. chyba. Na druhém řádku je text významu chyby. Bližší popis chyb je v části “Stavové a chybové informace, provozní deník” této příručky. Zavedení aplikace 149 Zavedení aplikace 3 Propojení procesní stanice s PC Pro komunikaci s procesní stanicí (při zavádění aplikace, nastavení data a času, kontrole chodu aplikace pomocí inspektoru v PSE apod.) je třeba propojit komunikační linky (RS232 resp. RS485) stanice a servisního počítače. Linka na procesní stanici se určuje přepínačem volby kanálu pro komunikaci v síti DB-Net. Komunikace po RS485 vyžaduje speciální komunikační kartu do servisního počítače PC anebo externí převodník. Vlastní fyzické propojení signálů u linky RS232 zobrazují následující obrázky. pin pin Tx 2 2 Rx Rx 3 3 Tx CTS 7 7 RTS GND 5 5 GND ADiS, ART400, AMiRiS, AMAP98, APT2100 (CAN9) PC (CAN9) Obr. 1: Propojení stanice typu ADiS, ART400, ART400F, AMiRiS, AMAP98 a APT2100 s PC. Toto propojení se realizuje standardním kabelem firmy AMiT pod označením KABEL232P. pin pin Tx 2 2 Rx Rx 3 3 Tx GND 5 5 GND AMAP (CAN9) PC (CAN9) Obr. 2: Propojení stanice typu AMAP s PC. Toto propojení se realizuje standardním kabelem firmy AMiT pod označením KABEL232K. Zavedení aplikace 150 Zavedení aplikace 4 Zavedení operačního systému NOS Zavedení operačního systému NOS se provádí ve správci projektů PSP volbou Přenos | Nahrát NOS. Objeví se dialogové okénko, ve kterém lze zvolit číslo COM portu, přes který se propojí stanice PC s procesní stanicí. Pokračujeme-li dále tlačítkem “OK”, vyvolá se speciální okno s interaktivním návodem pro zavádění. Uživatel je v postupných krocích informován o způsobu připojení procesní stanice a nastavení DIP přepínačů na stanici. Návod je uzpůsoben pro typ stanice zvolený příkazem Volby | Typ stanice. Po ukončení zavádění se program vrací zpět do prostředí PSP. Pozn.: V případě procesní stanice typu APT2100 se zavedením operačního systému zde uvedeným postupem vymaží grafická data, která jsme předtím nahráli do stanice z programu GRADET (WGRADET). Přesto můžete tento postup použít, pokud Vaše aplikace grafické objekty programu GRADET (WGRADET) nepoužívá. U tohoto typu procesní stanice se operační systém zavádí současně s grafickými daty příkazem Soubor|Vyslat programu WGRADET, případně přeložením a vysláním souboru .GO s navoleným “APT2100” v programu GRADET. Zavedení aplikace 151 Zavedení aplikace 5 Zavedení a spuštění aplikace Zavedení aplikace se provádí ve správci projektů PSP volbou Přenos | Přenos programu. Poznamenejme, že aplikace musí být vygenerovaná a bez chyb (expertní kontrola). Zavádí se vygenerovaný soubor jméno.ABS, kde jméno je jméno projektu aplikace. Podrobnější informace jsou popsány v části PSP-Správce projektů. Další podmínkou pro úspěšné zavedení aplikace je také správné nastavení parametrů komunikace v prostředí PSP a správné propojení počítače komunikačním kabelem s procesní stanicí. V následujících tabulkách jsou použity popisy nastavení přepínačů stavy ON, OFF, A, B, L a x. Stav A označuje, že přepínač musí být nastaven na hodnotu odpovídající požadované adrese stanice podle tabulky. Stav B označuje, že přepínač musí být nastaven na hodnotu odpovídající požadované komunikační rychlosti podle kapitoly 2 této části příručky. Stav L označuje, že nastavení přepínače závisí na použité komunikační lince podle příslušné tabulky v kapitole 2 u daného typu zařízení. Stav x označuje, že nastavení konkrétního přepínače nemá na uvedenou funkci žádný vliv. První zavedení aplikace Případy, kdy ve stanici není nahraná žádná aplikace jsou tyto: nová stanice od výrobce nebo stanice ve stavu po zavedení operačního systému NOS. ! ! Při vypnuté stanici připojit komunikační kabel linky RS232 nebo RS485 Nastavit přepínače (správně nastavit SW přepínače 1 až 8 podle tabulek uvedených v kapitole “Konfigurace procesní stanice”) HW konfigurace 1 *) ON SW konfigurace 2 3 4 1 2 3 4 5 6 7 8 9 10 ON OFF OFF A A A A A B B L ON x Pozn.: U starších systémů s 8-mi přepínači SW konfigurace jsou vynechány přepínače č. 6 a 7 pro nastavení komunikační rychlosti. *) OFF u řídicího terminálu APT2100. ! ! ! Zapnout napájení Zavedení aplikace: Zavést aplikaci příkazem Přenos | Přenos programu ve správci projektu PSP. Aplikace se poté spustí automaticky. HW přepínač č. 2 doporučujeme přepnout do stavu OFF, aby byl program chráněn proti zápisu do FLASH. Přepínač lze přepnout za chodu aniž by bylo nutné stanici resetovat. HW konfigurace 1 *) ON SW konfigurace 2 3 4 1 2 3 4 5 6 7 8 9 10 OFF OFF OFF A A A A A B B L ON x Pozn.: U starších systémů s 8-mi přepínači SW konfigurace jsou vynechány přepínače č. 6 a 7 pro nastavení komunikační rychlosti. *) OFF u řídicího terminálu APT2100. Pozn.: v případě procesní stanice typu APT2100 je nutné uvedený postup opakovat po každém vyslání grafických dat z programu GRADET (WGRADET), protože tento program před vysíláním dat maže celou paměť FLASH terminálu, tedy včetně zavedené aplikace, a zavádí pouze operační systém NOS a grafická data. Zavedení aplikace 152 Zavedení aplikace Opakované zavedení aplikace a) b) c) Pokud již ve stanici je nahraná nějaká aplikace, lze ve většině případů postupovat stejně jako při prvním zavedení aplikace. Pokud jsou přepínače SW konfigurace nastaveny tak, že se nemusí měnit, může se celý postup zavádění provést za chodu bez vypínaní a zapínání stanice. Výjimky, u kterých nelze postupovat jako při prvním zavedení aplikace: Aplikace, které využívají oba dva systémové komunikační kanály pro jiné účely než pro komunikaci DB-Net. Příkladem je stanice, na které je na kanálu S0 připojena tiskárna a na kanálu S1 připojen terminál. Stanice po kritické chybě. Kritická chyba je na většině systémů signalizována LED diodami (chyby jsou popsány v části “Stavové a chybové informace, provozní deník”) Chceme nahrávat po jiném komunikačním kanálu, než na kterém běží komunikace DB-Net. Například stanice je zapojená do sítě RS485 (kanál S1) a na servisním počítači není k dispozici převodník RS232 na RS485 pro připojení do této sítě. Proto je potřeba nahrávat aplikaci po kanálu RS232 (kanál S0). V takových případech se aplikace musí zavádět podle následujícího postupu: ! ! Spuštění síťového zavaděče: Při vypnuté stanici připojit komunikační kabel linky RS232 nebo RS485 Nastavit přepínače (správně nastavit SW přepínače 1 až 8 podle tabulek uvedených v kapitole “Konfigurace procesní stanice”) HW konfigurace 1 *) ON SW konfigurace 2 3 4 1 2 3 4 5 6 7 8 9 10 ON OFF OFF A A A A A B B L OFF x Pozn.: U starších systémů s 8-mi přepínači SW konfigurace jsou vynechány přepínače č. 6 a 7 pro nastavení komunikační rychlosti. *) OFF u řídicího terminálu APT2100. ! ! ! Zapnout napájení Zavedení aplikace: Zavést aplikaci příkazem Přenos | Přenos programu ve správci projektu PSP Spuštění aplikace: Nastavit přepínače (HW přepínač č. 2, který povoluje zápis do FLASH lze ponechat ve stavu ON, doporučujeme však ochranu FLASH přepnutím do OFF). HW konfigurace 1 *) ON SW konfigurace 2 3 4 1 2 3 4 5 6 7 8 9 10 OFF OFF OFF A A A A A B B L ON x Pozn.: U starších systémů s 8-mi přepínači SW konfigurace jsou vynechány přepínače č. 6 a 7 pro nastavení komunikační rychlosti. *) OFF u řídicího terminálu APT2100. ! Reset stanice (vypnout a zapnout) Běh aplikace v RAM Výše uvedené postupy zavádění aplikace jsou určeny pro standardní způsob spouštění aplikace, kdy program je umístěn v paměti FLASH a je tak zabezpečen proti náhodnému přepsání (např. při blízkém úderu blesku u nezajištěných rozvodů). Na některých starších typech procesních stanic lze spouštět aplikaci ve zvláštním režimu, kdy je program aplikace umístěn v paměti RAM. Tento zvláštní režim je nabídnut správcem projektu PSP při zavádění aplikace, pokud ten zjistí, že program aplikace je natolik velký, že jej nelze nahrát do relativně malé paměti FLASH staršího systému, ale je možné jej nahrát do paměti RAM. Zavádění aplikace se v tomto případě Zavedení aplikace 153 Zavedení aplikace pozastaví a uživatel je vybídnut, aby přepnul přepínač pro režim startu aplikace z RAM (HW přepínač č. 1 - OFF). Současně je možné zakázat zápis do FLASH (HW přepínač č. 2 - OFF). HW konfigurace SW konfigurace 1 2 3 4 1 2 3 4 5 6 7 8 9 10 OFF OFF OFF OFF A A A A A B B L ON x Po té se dokončí zavedení aplikace do RAM a aplikace se automaticky spustí. Zavedení aplikace 154 Stavové a chybové informace, provozní deník Stavové a chybové informace, provozní deník Stavové a chybové informace, provozní deník 155 Stavové a chybové informace, provozní deník 1 Úvod Tato část příručky popisuje provozní deník, který slouží k evidenci informací o chybách a provozních stavech procesní stanice. Dále je popsán význam stavových LED na procesní stanici a chybové kódy, které se mohou objevit v provozním deníku. Stavové a chybové informace, provozní deník 156 Stavové a chybové informace, provozní deník 2 Provozní deník Provozní deník slouží k evidenci chyb a jiných hlášení, které se vyskytnou při vlastním provozu procesní stanice. Je to kruhový buffer, jehož položkami jsou jednotlivá hlášení. Po zavedení operačního systému do stanice je deník prázdný. Postupně se zaplňuje jednotlivými hlášeními. Jakmile se celý zaplní, začínají se přepisovat nejstarší hlášení nejnovějšími. Tímto mechanismem se zajišťuje uchování počtu n posledních hlášení. Číslo n se nazývá hloubka provozního deníku. Systémový provozní deník Procesní stanice vždy automaticky obsahuje provozní deník s hloubkou 50 hlášení. Tento provozní deník se nazývá systémový a je umístěn v operačním systému NOS. Systémový provozní deník lze prohlížet pouze na terminálu připojeném k procesní stanici. Aplikační provozní deník Aby mohl být provozní deník přístupný i po komunikační síti a mohl se tak zpracovávat speciálními programy na stanicích PC, musí se v aplikaci definovat tzv. aplikační provozní deník. Aplikační provozní deník se vytvoří tak, že se v databázi aplikace vytvoří dvě proměnné se speciálními hodnotami identifikátorů WID. Tento aplikační deník může mít libovolnou hloubku, která je omezena pouze velikostí volné paměti ve stanici. WID xx900 *) Databázový typ I xx901 *) MI Význam Index Index je číslo položky v bufferu, která bude přepsána příštím hlášením Buffer Buffer na jednotlivé položky hlášení. Rozměry matice určují hloubku deníku. Hloubka je daná celkovým počtem buněk matice děleným 8: n= R$S, 8 kde R je počet řádků a S je počet sloupců matice. Typicky pro hloubku 50 (+1 položka navíc) se zadává rozměr [1,408]. *) xx je číslo stanice, např. na stanici č. 4 mají proměnné WID 4900 a 4901 Je-li na stanici aplikační provozní deník, zapisují se všechna hlášení do něj, včetně těch hlášení, která vznikají mimo běh aplikace (např. start síťového zavaděče apod.). Aplikační deník tak zcela nahrazuje systémový deník a kromě prohlížení pomocí připojeného terminálu ještě poskytuje možnost zpracování na stanicích PC v síti. Další výhodou je možnost větší hloubky deníku, ovšem na úkor volné paměti procesní stanice. V případě aplikace s jednou izolovanou stanicí většinou systémový deník zcela postačí. Způsob prohlížení provozního deníku na terminálu je popsán v části Ovládání terminálů řady APT. Struktura položky hlášení Položky hlášení provozního deníku se na procesní stanici udržují v binární formě s následující strukturou: Položka Kód Time Segment Offset WID Data Počet bytů 2 4 2 2 2 4 Význam Kód chyby / hlášení Čas vzniku Nemá význam Číslo procesu, ve kterém chyba vznikla WID proměnné / doplňkový kód Hodnota Význam položek WID a Data je různý pro jednotlivé chyby příp. hlášení a je popsán v tabulce seznamu chyb. Stavové a chybové informace, provozní deník 157 Stavové a chybové informace, provozní deník 3 Význam stavových LED Pro všechny typy hardware procesních stanic, které mají indikační LED diody, je význam stavových LED stejný. Indikační LED mají v současné době všechny typy procesních stanic z produkce firmy AMiT mimo stanice ART. Ta má indikaci stavu řešenou textovými výpisy na displeji. Výpisy stavů na displeji mají také všechny ostatní typy stanic, které podporují připojení zobrazovacího displeje (terminálu) paralelním kabelem a mají tak signalizaci na LED i na displeji současně. Význam stavových LED je různý za normálního běhu a ve stavu chyby: LED PW Run Err S0 S1 S2 Význam Normální běh Kritická chyba svítí = zapnuté napájení stanice Režim běhu: nesvítí bliká pomalu = běh aplikace bliká rychle = běh síťového zavaděče nesvítí / bliká / svítí - viz níže svítí Signalizace běhu Idle procesu Kód chyby (svítí = právě běží Idle proces) Blikají v závislosti na stavu komunikace Rozpoznání stavu kritické chyby Je-li v aplikaci použit funkční modul pro připojení na sběrnici CAN (moduly CNC_...), může v některých případech svit nebo blikání diody Err signalizovat nikoliv kritickou chybu, nýbrž chybový stav na sběrnici CAN. Rozhodující pro rozeznání těchto dvou případů je stav diody Run. Pokud je dioda Run trvale zhasnutá (a dioda Err svítí), jedná se o stav kritické chyby. Pokud dioda Run bliká, pak dioda Err indikuje chybový stav na sběrnici CAN. Konkrétní význam jednotlivých režimů svitu či blikání diody Err v tomto případě najdete v popisu použitého funkčního modulu CNC_.... Signalizace běhu Idle procesu Dle svitu LED diody signalizující běh Idle procesu za normálního běhu stanice lze přibližně odhadnout zatížení procesoru stanice nároky aplikačního programu. Jelikož Idle proces se spouští v okamžicích, kdy procesor “nemá co dělat”, lze říci, že zatížení systému je tím větší, čím méně svítí LED dioda S0. Za normálního provozu by měla dioda svítit většinu času a zhasínat by měla pouze na krátké okamžiky. Zhasíná-li dioda na delší dobu než je nejkratší perioda řádného procesu v dané aplikaci nebo je-li dioda trvale zhasnutá, pak je systém přetížen. V takovém případě je nutné vhodněji časově rozvrhnout činnosti aplikace, např. zvolit delší periody časově náročných procesů anebo zoptimalizovat algoritmizaci aplikace. Stavové a chybové informace, provozní deník 158 Stavové a chybové informace, provozní deník Svítí-li dioda Err a nesvítí-li ani nebliká dioda Run , je stanice ve stavu kritické chyby a na diodách S0, S1 a S2 je “vysvícen” kód chyby. Tabulka ukazuje význam jednotlivých kódů kritických chyb včetně případných textových hlášení na stanicích s paralelním displejem: S2 LED S1 S0 N N S N S N N S S S N N Popis Nesprávný V/V modul Na stanici ADiS je na některé pozici umístěn jiný typ V/V modulu než jak je definován ve V/V konfiguraci aplikace. Neznámý V/V modul Na stanici ADiS je na některé pozici umístěn V/V modul typu, který daná verze operačního systému NOS nezná. Málo místa v paměti procesní stanice Aplikace vyžaduje více volné paměti než je k dispozici. K této chybě může dojít pouze teoreticky, protože nedostatek volné paměti se detekuje již ve fázi generace aplikace. Interní chyba řadiče přerušení Tato chyba při běžném režimu prakticky nemůže nastat. Stavové a chybové informace, provozní deník Textové hlášení na stanicích s paralelním displejem Chyba V/V syst. Chyba V/V syst. Malo pameti Chyba preruseni 159 Stavové a chybové informace, provozní deník 4 Seznam chyb systému DB-Net Tato kapitola obsahuje popis chyb v systému, které nejsou závislé na parametrizaci a jsou hlášeny vlastním systémem, nebo knihovnami funkčních modulů. Chyby se evidují v provozním deníku procesní stanice. Pokud má daná procesní stanice LCD displej, lze provozní deník prohlížet na tomto displeji. Způsob prohlížení je popsán v části Ovládání terminálů řady APT. Provozní deník lze rovněž prohlížet na stanicích PC připojených do komunikační sítě. K tomu účelu slouží speciální programy. Hlášení provozního deníku se na procesní stanici udržují v binární formě v kruhovém bufferu. Struktura hlášení byla popsána v kapitole “Provozní deník”, význam položek WID a Data struktury je různý pro jednotlivé chyby příp. hlášení a je popsán v následující tabulce. Dále je v tabulce popsána příčina vzniku chyby a typický text hlášení, tak jak je předdefinován v souboru DEFAULT.DTE v dodávané distribuční sadě PSE. Soubor obsahuje předdefinované texty pro zpracování v Editoru formátovacích řetězců provozního deníku DTE. Seznam chyb a hlášení: Chyby / Hlášení Systémové vznikající v operačním systému Kód HEX 0 0 16 10 17 11 18 12 19 13 Další data Položka Význam Data Čas výpadku napájení Popis Žádná chyba Vše v pořádku. Zavedení operačního systému Hlášení po zavedení operačního systému NOS do stanice. Vše se startuje “od nuly”. Ve stanici je pouze NOS, aplikace se musí nahrát. “Zavedení operačního systému” Studený start síťového zavaděče Studený start zavadeče nastává po zavedení operačního systému, nebo v případě, že systém předtím detekoval narušení paměti RAM. Zároveň musí být přepínačem DIP zvolen běh zavaděče. Operační systém se inicializuje celý od začátku, provozní deník je vyprázdněn. “Studený start síťového zavaděče” Teplý start síťového zavaděče Teplý start zavaděče nastává po výpadku napájení nebo při zavádění aplikace. Zároveň musí být přepínačem DIP zvolen běh zavaděče. Operační systém se inicializuje pouze částečně, provozní deník se zachovává. V poli Data je čas posledního výpadku napájení před startem stanice. “Teplý start síťového zavaděče (výpadek: <Data>)” Studený start aplikace Studený start aplikace nastává po zavedení operačního systému, nebo v případě, že systém předtím detekoval narušení paměti RAM. Zároveň musí být přepínačem DIP zvolen běh aplikace. Operační systém se inicializuje celý od začátku, provozní deník je vyprázdněn. Aplikace se také inicializuje celá od začátku. Databázové proměnné se nulují, nebo se jim nastavují inicializované hodnoty, archivy se vyprazdňují. “Studený start aplikace” Stavové a chybové informace, provozní deník 160 Stavové a chybové informace, provozní deník Chyby / Hlášení Systémové vznikající v aplikaci Kód HEX 20 14 21 15 22 16 23 Další data Položka Význam Čas výpadku Data napájení WID Kód chyby 17 Data Segment Adresa číslo vektoru 32 20 WID WID 33 21 WID Handle 34 22 WID Data WID Typ 35 23 WID Data WID n 36 24 WID Data WID n Popis Teplý start aplikace Teplý start aplikace nastává po výpadku napájení. Zároveň musí být přepínačem DIP zvolen běh aplikace. Operační systém se inicializuje pouze částečně, provozní deník se zachovává. Databázové proměnné si zachovávají svoje hodnoty, pokud Init proces nebo jejich inicializační předpis nestanoví jinak. V poli Data je čas posledního výpadku napájení před startem stanice. “Teplý start aplikace (výpadek: <Data>)” Chyba procesoru Při chodu programu došlo k systémové chybě detekované procesorem. Kód Chyba Nedefinovaný kód instrukce 1 Zakázaná instrukce 2 Špatný typ operandu instrukce 3 Špatná adresa dat 4 Špatný přístup na sběrnici 5 procesoru Přetečení zásobníku procesoru 6 Podtečení zásobníku procesoru 7 “Chyba procesoru: <text>” Zápis do zakázané paměti Po komunikační síti přišel požadavek na zápis do paměti stanice do zakázané oblasti. Chyba může nastat pouze ve speciálních případech. Při běžném provozu stanice nebo při zavádění aplikace chyba nenastává. “Zápis do zakázané paměti” Interní chyba řadiče přerušení Tato chyba při běžném režimu prakticky nemůže nastat. “Interní chyba řadiče přerušení” Špatný WID Při pokusu převést WID na handle databázové proměnné došlo k chybě. WID, který se nepovedl převést je v poli WID. "WID <WID> neexistuje" Špatný handle Handle databázové proměnné, který nemůže existovat. Hodnota je ve WID. Je-li hodnota -1 (nebo 65535, HEX:FFFF) pak tento handle vznikl nepovoleným převodem WID na handle (například programátor zadal místo jména databázové proměnné jméno NONE do parametru modulu příp. do parametru zobrazovacího prvku a daný modul příp. prvek to nedovoluje). "Špatný handle proměnné <WID>". Špatný typ Při převodu WID na handle, nebo při odkazu na databázovou proměnnou došlo ke kolizi typů u databázové proměnné. Ve WID je WID proměnné. V Data-L je požadovaný typ . Proměnná je jiného typu. "Špatný typ <text> proměnné <WID>" Špatný řádek Při odkazu na strukturovanou proměnnou (matici) došlo k chybě. Požadovaný index n proměnné WID je mimo meze minimálního a maximálního indexu řádku. "Špatný řádek <Data> proměnné <WID>". Špatný sloupec Při odkazu na strukturovanou proměnnou (matici) došlo k chybě. Požadovaný index n proměnné WID je mimo meze minimálního a maximálního indexu sloupce. "Špatný sloupec <Data> proměnné <WID>". Stavové a chybové informace, provozní deník 161 Stavové a chybové informace, provozní deník Chyby / Hlášení Kód HEX 37 25 38 26 39 27 Knihovna AEG 40 28 Modul LET 32 768 8 000 32 769 8 001 32 772 Moduly pro řízení ventilu Speciální Další data Položka Význam WID WID Data n WID Data WID n Data Čas 8 004 WID Data Info1 Info2 32 773 8 005 WID Data Info1 Info2 32 774 8 006 WID Data Info1 Info2 32 775 8 007 WID Data Info1 Info2 32 776 8 008 WID Data Info1 Info2 32 777 8 009 WID Data Info1 Info2 32 778 800A WID číslo procesu Popis Špatný počet řádků Při odkazu na strukturovanou proměnnou (matici) došlo k chybě. Požadovaný počet řádků n proměnné WID neodpovídá skutečnému rozměru matice. Chyba může nastat u maticových operací, kde si rozměry operandů musejí navzájem odpovídat. "Špatný počet řádků <Data> proměnné <WID> " Špatný počet sloupců Při odkazu na strukturovanou proměnnou (matici) došlo k chybě. Požadovaný počet sloupců n proměnné WID neodpovídá skutečnému rozměru matice. Chyba může nastat u maticových operací, kde si rozměry operandů musejí navzájem odpovídat "Špatný počet sloupců <Data> proměnné <WID> " Nedostatek paměti Aplikace požaduje více volné paměti než je k dispozici. Kontrola velikosti volné paměti probíhá již při generaci aplikace, takže za běhu by již chyba neměla nastat. “Nedostatek paměti” Špatný (1/4h.) pulz Synchronizační 1/4h. pulz od elektroměru AEG (příp. obdobného zařízení) přišel v čase mimo povolenou toleranci. Špatná délka pulsu je v poli Data. "Špatný 1/4h puls, délka: <Data>" LET: chyba přetypování (nenastává, pouze z důvodu kompatibility s verzí 2.0) LET: špatný kód (nenastává, pouze z důvodu kompatibility s verzí 2.0) Ventil: Koncové spínače sepnuty Oba dva koncové spínače ventilu jsou sepnuty. Význam doplňkových dat Info1 a Info2 závisí na použitém modulu pro řízení ventilu. "U ventilu <Info1> - <Info2> jsou oba dva KS sepnuty." Ventil: Koncové spínače v pořádku Oba dva koncové spínače ventilu jsou v pořádku. Význam doplňkových dat Info1 a Info2 závisí na použitém modulu pro řízení ventilu. "U ventilu <Info1> - <Info2> jsou oba dva KS v pořádku." Ventil: Nedojel na koncový spínač “otevřeno” Jde zřejmě o poruchu koncového spínače. Podle odhadované polohy by měl být spínač sepnut , ale není. Význam doplňkových dat Info1 a Info2 závisí na použitém modulu pro řízení ventilu. "Ventil <Info1> - <Info2> nedojel na KS OTEVŘENO." Ventil: Nedojel na koncový spínač “zavřeno” Jde zřejmě o poruchu koncového spínače. Podle odhadované polohy by měl být spínač sepnut , ale není. Význam doplňkových dat Info1 a Info2 závisí na použitém modulu pro řízení ventilu. "Ventil <Info1> - <Info2>nedojel na KS ZAVŘENO." Ventil: Dojel na koncový spínač “otevřeno” Význam doplňkových dat Info1 a Info2 závisí na použitém modulu pro řízení ventilu. "Ventil <Info1> - <Info2> dojel na KS OTEVŘENO." Ventil: Dojel na koncový spínač “zavřeno” Význam doplňkových dat Info1 a Info2 závisí na použitém modulu pro řízení ventilu. "Ventil <Info1> - <Info2> dojel na KS ZAVŘENO." Proces překročil povolený čas běhu (hlášení nenastává, pouze z důvodu kompatibility s verzí 2.0) Stavové a chybové informace, provozní deník 162