Ústav počítačové a řídicí techniky VŠCHT Praha
TomPack ver. 1.18 pro Windows NT 4.0, Windows 2000, Windows XP
Základní uživatelská příručka
pracovní text
S použitím materiálů firmy ProjectSoft HK a.s zpracoval Miloš Kmínek
Praha, duben 2007
TomPack ver.1.18
Uživatelská příručka
OBSAH 1 ÚVOD.................................................................................................................. 3 2 PROGRAM TPSERVER................................................................................. 3 3 PROGRAM TPVIEW...................................................................................... 4 4 PROGRAM TPCONFIG .................................................................................. 5 4.1 4.2 4.3
Projekt............................................................................................................................... 5 Clustery............................................................................................................................. 5 Proměnné .......................................................................................................................... 6
4.3.1 4.3.2 4.3.3
4.4
Typy proměnných..................................................................................................................6 Složky proměnných ...............................................................................................................7 Skupiny proměnných ............................................................................................................8
Hlavní menu .................................................................................................................... 9
4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.4.7 4.4.8 4.4.9 4.4.10
Windows .................................................................................................................................9 Projekt ....................................................................................................................................9 Edit........................................................................................................................................11 Tools......................................................................................................................................12 Align......................................................................................................................................17 View ......................................................................................................................................19 Variables...............................................................................................................................19 Setup .....................................................................................................................................22 Window.................................................................................................................................24 Help.......................................................................................................................................24
5 PROGRAMOVÁNÍ UŽIVATELSKÝCH SEKVENCÍ .............................. 25 6 FUNKCE PRO PROGRAMOVÁNÍ UŽIVATELSKÝCH SEKVENCÍ ... 26 6.1 6.2 6.3 6.4 6.5 6.6
Základní a matematické funkce ................................................................................... 26 Systémové funkce pro práci s okny, s alarmy apod.................................................... 28 Funkce pro práci se znakovými soubory ..................................................................... 29 Speciální funkce (časovače, zpoždění, události, zvuk,...) ............................................ 30 Speciální funkce - regulátory ........................................................................................ 31 Speciální funkce – ODBC.............................................................................................. 32
2 / 32
TomPack ver.1.18
Uživatelská příručka
1 ÚVOD Soubor programů TomPack slouží pro vytváření a běh operátorských displejů pro vizualizaci a ovládání technologických procesů na PC pod operačními systémy Windows NT 4.0, 2000 a XP. TomPack je tvořen třemi základními programy: • TpConfig slouží pro vytváření displejů a jejich ladění, • TPView je určen k zobrazování displejů při provozu systému, je součástí provozní instalace, • TPServer zajišťuje vazby a obsluhu jednotlivých částí systému, je součástí provozní instalace. K dispozici jsou ovladače pro různé systémy komunikace po průmyslových sběrnicích, TomPack umožňuje využívat i komunikačních systémů DDE, ODBC a OPC. Programové moduly jsou vytvořeny v jazyku C++ a některých prvků tohoto jazyka a způsobu zápisu aritmetických a logických výrazů se používá i při konfigurování objektů displejů.
2 PROGRAM TPServer TPServer je jádrem systému TomPack. Komunikuje s DDE Servery, ukládá zvolené proměnné do souborů historických hodnot a vyhodnocuje alarmy, jejichž změny ukládá do souboru s historií alarmů. Také zajišťuje periodické vykonávání skriptů ServerCode. Bloková struktura a vazby jsou znázorněny na obrázku.
Data z DDE serveru
Kopie projektu ~~TPS~~.tp
DiskVar.dsk
TPServer Proměnné Process
Proměnné Disk
Proměnné Memory Redundantní TPServer
Proměnné DDE
x.jou
Výpočty Logování pro trendy
Logování alarmů
Alarm.dat
pro TPView
ServSys.log
Menu programu: File Start server spustí všechny činnosti v TPServeru Stop server zastaví TPServer, projekt zůstane otevřen, ale zastaví se komunikace a uzavřou soubory. Update zastaví se TPServer, načte se konfigurace a a znovu se spustí. Update All funguje jako Update, ale před spuštěním ještě inicializuje všechny proměnné typu Disk, a to i složky těchto proměnných Logon vyvolá dialog přihlášení uživatele. Logoff odhlásí uživatele Exit ukončí program 3 / 32
TomPack ver.1.18
Uživatelská příručka
Config Configuration vyvolá okno pro konfiguraci, kde je možné zadat: Directory pracovní adresář TPServeru Trend/Alarm file size velikost souboru pro uchování historických trendů a alarmů (v MB) zaškrtnutím Simulate se všechny proměnné typu Process budou chovat jako paměťové proměnné, ale jen do příštího spuštění programu TPServer
Tcp log
zapne / vypne záznam (log) komunikace s TPView do znakového souboru ServTcp.log. Ikony v panelu nástrojů (obr.) mají funkce z menu File,zleva: Start server, Stop server, Update, Logon, Logoff a Exit
Ovládání i ukončení TPServeru je možné pouze po přihlášení uživatele s nejvyšší úrovní priority (999). Uživatelé jsou uloženi i s hesly v projektu. Nemá-li tedy TPServer otevřen žádný projekt, nelze se k němu přihlásit. Je však možné poslat do něj projekt z TPConfig. TPServer je ještě možné ukončit bez přihlášení ze správce úloh Windows (i v tomto případě se ukončí korektně). Do pracovního adresáře si TPServer ukládá kopii projektu (soubor ~~TPS~~.tp), soubory xx_HistAlarms.mdb (historie alarmů), soubory xx_DiskVar.mdb (hodnoty disk proměnných), logy (ServSys.log, ServSys.lo1 a ServTcp.log) a soubory historických hodnot (s příponou .jou) a soubory s příponou .ldb, vytvořené databázovými funkcemi. Není-li k počítači připojen ochranný klíč, TPServer může běžet pouze v tzv. DEMO režimu. V tomto režimu není možné pracovat s procesními proměnnými, při existenci těchto proměnných v projektu se program ukončí.
3 PROGRAM TPView TPView je jedinou částí systému, která komunikuje s uživatelem při běhu aplikace. Je spojen pouze s TPServerem a s ním si předává informace. Zobrazuje nakonfigurované obrazovky a umožňuje je jejich prostřednictvím oboustrannou komunikaci operátora s procesem. TPView může běžet na stejném či na jiném počítači než je TPServer. Žádná data neukládá, takže nemusí běžet nepřetržitě. Nemá vysoké nároky na parametry počítače, pouze vyžaduje dostatečný grafický výkon. V normálním režimu je ovládácí lišta programu skrytá a TPView je navíc roztažen přes celou obrazovku. Při použití funkce LockKeyboard jsou navíc zablokovány všechny klávesy, pomocí kterých je možný přístup do operačního systému (kromě klávesových zkratek zástupců programů). Zobrazení lišty je možné klávesou ALT X, ale pouze tehdy, je-li přihlášen uživatel s úrovní 999. Není-li, program se zeptá na jméno a heslo a po úspěšném přihlášení se lišta ukáže. Lištu lze také zobrazit funkcí ShowFrame. Menu programu: File Initialize zavře projekt a otevře ho znovu Configuration zobrazí dialog pro konfiguraci. Zde je možné zadat pracovní adresář TPView a určit, zda se pro zadávání číselných hodnot použije pomocné okno s číselnými klávesami Show frame zobrazí či skryje lištu okna Logon vyvolá dialog přihlášení uživatele. Logoff odhlásí uživatele ukončí program Exit
4 / 32
TomPack ver.1.18
Uživatelská příručka
File Open window otevře dialog s výběrem oken pro otevření; totéž způsobí stisk CTRL+O, ale jen tehdy, je-li přihlášen uživatel s úrovní 999. Ovládání i ukončení TPView je možné pouze po přihlášení uživatele s úrovní 999. Uživatelé jsou uloženi i s hesly v projektu. Nemá-li tedy TPView otevřen žádný projekt, nelze se k němu přihlásit. Je však možné poslat do něj projekt z TPConfig. TPView je ještě možné korektně ukončit bez přihlášení ze správce úloh Windows. Do pracovního adresáře si TPView ukládá kopii projektu (soubor ~~TPV~~.tp), logy (ViewSys.log a ViewSys.lo1) a soubor s příponou .ldb, vytvořený databázovými funkcemi.
4 PROGRAM TPConfig Program slouží k vytváření projektů. Má prostředky pro návrh obrazovek, kreslení grafických prvků, definování jejich vzhledu a funkce, deklarace proměnných, programování skriptů atd. Program nepracuje bez hardwarového klíče (LPT nebo USB).
4.1 Projekt Celý projekt je uložen v jednom souboru s příponou tp. Z programu TPConfig se příkazem Run pošle projekt do všech příslušných programů TPServer a TPView, které si uloží jeho kopii pod jménem ~~TPS~~.tp a ~~TPV~~.tp a dále pracují s kopií projektu. Při posílání projektu je nutno určit jméno počítače, na kterém běží příslušný TPServer-TPView, jinak se předpokládá, že běží na stejném jako TPConfig. Výše zmíněné kopie projektu jsou plnohodnotné a přesné (mají i stejný čas), lze je tedy v případě nouze zkopírovat a pracovat s nimi jako s originálním projektem. Soubory ~~.tp se však nesmí přímo otevřít z TPConfigu, je třeba vytvořit jejich kopie. Jednotlivé části projektu jsou mezi TPServer a TPView rozděleny takto: jméno části Servers Variable group History values group ServerCode ViewCode Users Windows Colors Variables System
popis seznam serverů skupiny proměnných (DDE topiků) skupiny pro pro ukládání historických hodnot výpočty, vykonávané v TPServeru výpočty, vykonávané v TPView uživatelé a hesla popisy obrazovek(displejů) barevná paleta všechny deklarované proměnné různé systémové parametry
TPServer ano ano ano ano ne ano *) ne ne ano ano
TPView ano ne ne ne ano ano ano ano ano ano
*) jen pro odemknutí menu
Pokud tedy pouze změníme např. umístění prvku na obrazovce, stačí projekt poslat jen do TPView. Pokud naopak změníme pouze ServerCode, stačí projekt poslat do příslušného TPServeru. Po ukončení ladění je samozřejmě vhodné poslat projekt všude.
4.2 Clustery Části projektu, které jsou za běhu v TPServeru, lze rozdělit do několika tzv. clusterů. Každý cluster může navíc být zdvojen (na dvou počítačích). Každý TPView je potom připojen ke každému TPServeru (resp. k jednomu z dvojice), takže z pohledu TPView není rozlišitelné, že je aplikace rozdělena na různé části. Clustery se definují pomocí menu Project / Clusters. Volba otevře tabulku Clusters (obr.). Do ní se do levého sloupce Cluster napíše jméno clusteru. Toto jméno je interní a slouží k určení, kam patří např. proměnné.
5 / 32
TomPack ver.1.18
Uživatelská příručka
Do dvou sloupců vedle (Name or ip for clients) se zapisují jména nebo IP adresy počítačů, na kterých daný cluster běží. Lze vyplnit pouze jeden (není-li server zdvojený), případně žádný. Nevyplníme-li žádný, je příslušný cluster na všech počítačích (tedy v každém TPServeru). To je užitečné pro malé aplikace, kde je jak TPServer, tak TPView na jednom počítači. První z dvojice počítačů je preferovaný, všechny TPView se k němu snaží přednostně připojovat. Do poslední dvojice sloupců vpravo (Name or ip for ynchronization) se zapisují IP adresy speciálního spojení pro synchronizaci počítačů. Obě PC pro jeden cluster by pak měly mít ještě jednu ethernetovou kartu s IP adresou a musí být vzájemně spojeny, nejlépe kříženým kabelem. IP adresy tohoto spojení se do sloupců zapíší. Spojení slouží pro synchronizaci proměnných. Program TPServer podle této tabulky rozlišuje, jaké proměnné a další prvky má obsahovat a TPView použije tabulku k určování, na který počítač se má připojit. Spojení mezi jednotlivými programy je pomocí TCP/IP. Pro posílání projektu do TPServeru je použit protokol TCP, port 1201. Pro posílání projektu do TPView je použit protokol TCP, port 1202. Pro komunikaci mezi TPView a TPServer slouží TCP, port 1203. A konečně pro redundantní spojení mezi TPServery slouží TCP protokol, port 1204 a UDP protokol, port 1205. Pro identifikaci počítačů je možné použít jak IP adresy, tak jména. Při použití jmen však musí být každý počítač schopen tato jména přeložit do správných IP adres, takže používání IP adres přímo je spolehlivější.
4.3 Proměnné 4.3.1
Typy proměnných
TomPack pracuje se čtyřmi typy proměnných z hlediska projektu: Process, Disk, Memory a View. Každá z těchto proměnných může být z hlediska zobrazení v počítači jedním ze čtyř typů boolean, integer, real a string. Proměnné typu Process musí být zařazena do nějaké skupiny (Varible Group), která určuje DDE Server a topik v něm (tedy konkrétní automat), a mít jméno (Item Name - vlastní jméno proměnné, jeho formát je závislý na DDE Serveru). Takováto proměnná je lokalizována v automatu a TPServer uchovává její kopii. Při změně hodnoty proměnné se okamžitě posílá nová hodnota do DDE Serveru a tím do automatu. Při zápisu se hodnota proměnné v TPServer změní ihned a nečeká se na potvrzení od DDE Serveru, pouze se zablokuje změna od DDE Serveru do přijetí potvrzení (kdyby se proměnná mezitím změnila v automatu). To je proto, aby se na obrazovce např. změněný parametr ihned aktualizoval, protože zápis do automatu může trvat i několik sekund. Proměnné typu Disk se při startu TPServeru načtou ze souboru DiskVar.dsk a při změně jejich hodnoty se nová hodnota zapíše zpět do tohoto souboru. Pouze tehdy, neexistuje-li soubor nebo proměnná v něm, přiřadí se proměnné inicializační hodnota z dialogu deklarace proměnné. Proměnné Memory se při startu vždy nastaví na inicializační hodnotu. Po ukončení nebo opakované inicializaci TPServeru se na tuto hodnotu opět nastaví. Proměnné View se chovají podobně jako Memory, ale existují pouze v TPView, navíc v každém TPView existuje vlastní 6 / 32
TomPack ver.1.18
Uživatelská příručka
instance této proměnné. V každém TPView může tedy mít tato proměnná jinou hodnotu (může se do ní ukládat např. jméno přihlášeného uživatele, který je jiný pro každý TPView). Proměnné View nemají tzv. složky. Proměnná Boolean může nabývat hodnot false nebo true. Proměnná Integer je 32bitová se znaménkem, její rozsah je od –2 147 483 648 do 2 147 483 647. Proměnná Real je interně typu double (64bitové číslo s plovoucí čárkou). Proměnná String může obsahovat maximálně 256 znaků. Názvy proměnných mohou mít max. 100 znaků, musí začínat písmenem nebo podtržítkem a musí obsahovat jen písmena anglické abecedy, čísla nebo podtržítko. U proměnných záleží na velkých a malých písmenech, ale nelze deklarovat proměnné lišící se pouze velkými či malými písmeny.
4.3.2
Složky proměnných
Každá proměnná (kromě typu View) má vnitřní strukturu, k jejímž složkám je možné přistupovat tak, že k názvu proměnné se připojí tečka a jméno složky. Samotný název proměnné označuje první složku, což je přepočítaná hodnota proměnné. Některé složky se ukládají do souboru DiskVar.dsk (a to nezávisle na tom, zda je proměnná typu Disk či nikoliv), jiné jsou pouze virtuální, tedy jsou určeny výpočtem z jiných složek. Je-li u položky text dle Disk Param, je složka Memory nebo Disk podle zadání u proměnné. Všechny proměnné Process, Disk a Memory mohou nabývat ještě hodnoty ‘Neplatná hodnota’. Výjimkou je pouze složka .Valid (ta je stále platná a navíc sděluje, zda je hlavní složka platná). Přehled složek jednotlivých proměnných uvádějí následující tabulky. Proměnná Boolean složka
typ bool
přepsatelná ano
druh
.Raw
bool
ano
Process/Disk/Memory
.LoAlarm .HiAlarm .Valid
bool bool bool
ne ne ne
virtuální virtuální virtuální
virtuální
popis přepočtená hodnota .Raw složky hodnota přímo z DDE Serveru nebo disku atd. nastal alarm dolní meze nastal alarm horní meze platnost proměnné
Proměnná Real složka
typ
přepsatelná
druh
double
ano
virtuální
.Raw
double
ano
Process/Disk/Memory
.MinRaw .MaxRaw .MinEU .MaxEU .Units
double double double double string
ano ano ano ano ano
dle Disk Param dle Disk Param dle Disk Param dle Disk Param dle Disk Param
.LoLevel
double
ano
Disk
.HiLevel
double
ano
Disk
.LoAlarm .HiAlarm .Valid
bool bool bool
ne ne ne
virtuální virtuální virtuální 7 / 32
popis přepočtená hodnota .Raw podle mezí Raw a EU hodnota přímo z DDE Serveru nebo disku atd. minimum Raw hodnoty maximum Raw hodnoty minimum přepočítané hodnoty maximum přepočítané hodnoty jednotky dolní mez pro alarm (přepočtená hodnota) horní mez pro alarm (přepočtená hodnota) nastal LoAlarm nastal HiAlarm platnost proměnné
TomPack ver.1.18
Uživatelská příručka
Proměnná Integer složka
typ
přepsatelná
druh
integer
ano
virtuální
.Raw
integer
ano
Process/Disk/Memory
.MinRaw .MaxRaw .MinEU .MaxEU .Units
integer integer integer integer integer
ano ano ano ano ano
dle Disk Param dle Disk Param dle Disk Param dle Disk Param dle Disk Param
.LoLevel
integer
ano
Disk
.HiLevel
integer
ano
Disk
.LoAlarm .HiAlarm .Valid
bool bool bool
ne ne ne
virtuální virtuální virtuální
popis přepočtená hodnota .Raw podle mezí Raw a EU hodnota přímo z DDE Serveru nebo disku atd. minimum Raw hodnoty maximum Raw hodnoty minimum přepočítané hodnoty maximum přepočítané hodnoty jednotky dolní mez pro alarm (přepočtená hodnota) horní mez pro alarm (přepočtená hodnota) nastal LoAlarm nastal HiAlarm platnost proměnné
Poznámky: .MinRaw a .MaxRaw existují pouze u Process proměnné, ne u Memory a Disk .LoLevel a .LoAlarm existují jen tehdy, je li zaškrtnuto LoEnable v definici proměnné .HiLevel a .HiAlarm existují jen tehdy, je li zaškrtnuto HiEnable v definici proměnné Proměnná String složka
.Valid
typ
přepsatelná
druh
string
ano
Process/Disk/Memory
bool
ne
virtuální
popis hodnota přímo z DDE Serveru nebo disku atd. platnost proměnné
TomPack pracuje s UNICODE kódováním znaků. Při čtení řetězců z automatu se převedou znaky z ASCII (resp. z aktuální kódové stránky Windows) do UNICODE a při zápisu naopak. Funkce WriteStringA a ReadStringA (viz kap. 6) rovněž provádějí tento převod. Poslední případ, kdy se provádí převod, je DDE komunikace na proměnné TPServeru, kdy je TPServer zároveň DDE Serverem.
4.3.3
Skupiny proměnných
Proměnné typu Process jsou sdruženy do skupin (Variable Group – viz též kap. 4.3.1 a 4.3.7). Každá skupina odpovídá jednomu topiku v DDE serveru. Položky Service a Topik určují DDE adresu proměnných (Item složka adresa je až u proměnných). Status Item je název proměnné, která hodnotou false oznamuje výpadek komunikace daného topiku. U UniServeru se vždy jmenuje status. Pokud je vyplněna, dokáže TPServer efektivně určit, které proměnné jsou platné a které ne. Při použití UniServeru je tedy nutné sem zapsat text status. TomPack umožňuje komunikaci i s OPC servery. V tomto případě se vyplňuje pouze jméno OPC serveru a případně prefix item (to je text, který se přidá před item jméno každé proměnné v dané skupině pro přístup k OPC serveru).
8 / 32
TomPack ver.1.18
Uživatelská příručka
4.4 Hlavní menu 4.4.1
Windows
New Window ... Name - jméno a parametry nově vytvářeného okna, Origin - umístění levého horního rohu okna (údaje v bodech; 0, 0 je levý horní roh obrazovky), Size - velikost okna, Color - barva pozadí okna, Type - typ okna: Flat pro pevně umístěné okno bez lišty, Frame pro okno s horní lištou a možností posunu po obrazovce, Show edge - zobrazení rolovacích pruhů
Open Window ... nabídne možnost výběru z existujících oken daného projektu Save Window uloží aktuální okno pod jeho jménem do daného projektu Save Window As ... umožní aktuální okno nově pojmenovat a uloží je pod tímto jménem do daného projektu Close Window uzavře aktuální okno; pokud nebylo po poslední změně uloženo, tak na to upozorní Delete Window ... nabídne seznam existujících oken, v něm lze kliknutím myší označit (popřípadě opět odznačit) ta, která mají být vymazána; po odeslání žádá potvrzení akce Edit Window ... umožní změnit jméno a parametry okna (viz položka New Window); tlačítko Save position obnoví stav před provedením změny, Restore position provede zadanou změnu okna Print ... vytiskne aktuální okno; před tiskem nabídne volbu tiskárny a nastavení jejích parametrů Print Preview zobrazí ukázku výsledného tisku na obrazovce Print Setup ... umožní volbu tiskárny a nastavení parametrů tisku Exit ukončí běh programu TPConfig
4.4.2
Projekt
New Project vytvoří nový projekt; jeho jméno se zadá v okně, které je stejné jako u Open Project Open Project 9 / 32
TomPack ver.1.18
Uživatelská příručka
otevře již existující projekt; okno umožňuje výběr adresáře a projektu Close Project uzavře aktuální projekt Repair Project obnoví (znovu otevře) již uzavřený projekt; okno má stejný tvar jako u Open Project Convert Old Project převede projekt ze starší verze TomPacku do nové; okno má stejný tvar jako u Open Project Clusters definuje clustery (viz kap. 4.2) Server Code Umožní vytvořit uživatelský modul v jazyku C++ pro TPServer. Příkaz otevře okno se seznamem již existujících uživatelských modulů, ve kterém je možné přidat nový modul (Add), editovat některý stávající (Edit) nebo některý vymazat (Delete). Tlačítka Add a Edit způsobí otevření okna Server Code Record, kde se zapisují jméno modulu (Name), perioda jeho spouštění v ms (Period) a programový kód v syntaxi jazyka C++ (Code). Takto definované moduly jsou pak součástí projektu pro server.
View Code slouží ke stejnému účelu jako Server Code, ale je určen pro TPViewer. Users slouží k definování nových uživatelů a jejich úrovně. Příkaz nejprve otevře okno se seznamem již definovaných uživatelů (minimálně je v něm uveden uživatel „operator“), kde je možné přidat nového uživatele (Add), editovat vybraného již existujícího (Edit) nebo vybraného uživatele zrušit (Delete). Tlačítka Add a Edit způsobí otevření okna User, kde se zapisují jméno uživatele (User name), jeho úroveň (Level) a jeho přístupové heslo (Password). Heslo se zadává dvakrát kvůli kontrole. Úroveň je vyjádřena celým číslem v rozsahu 1 - 999 a používá se k definování přístupových práv daného uživatele v projektu; obecně platí, že čím vyšší je toto číslo, tím větší je rozsah jeho práv.
10 / 32
TomPack ver.1.18
Uživatelská příručka
Run slouží k odeslání hotového projektu do TPServer a TPview a k jeho spuštění. V zaškrtávacích okénkách TPServer a TPView určíme, kam chceme projekt odeslat, příslušný program musí být přitom spuštěn. Okénko Initialize parameters se vztahuje k TPServer a jeho zaškrtnutí znamená, že se hodnoty proměnných ukládaných na disk (typ Disc - viz položka menu Variable) při startu serveru nepřečtou z disku, ale nastaví na počáteční hodnoty (tuto volbu se nedoporučuje používat). Okénko Initialize se vztahuje k TPView a inicializuje jeho proměnné (tato volba se obvykle používá).
4.4.3
Edit
Položka menu Edit obsahuje funkce běžné ve většině programových produktů používaných pod Windows, proto bude následující popis jen velice stručný. Undo umožní vrátit se o krok zpět, tj. před naposled provedenou změnu; u řady změn však návrat není možný, proto se doporučuje často ukládat mezivýsledky práce na disk Cut, Copy, Paste mají běžnou funkci a slouží k přenosu objektů mezi pracovní plochou a schránkou (clipboardem) Delete vymaže označený objekt z pracovní plochy Select all vybere (označí) všechny objekty na pracovní ploše Group, Ungroup seskupí označené objekty na pracovní ploše do jednoho, respektive rozdělí složený objekt na objekty původní Move To Back, Move To Front používají se při překrývání objektů; příkaz přesune označený objekt do zadní respektive do přední vrstvy Next Object, Previous Object slouží k přechodu na následující respektive předchozí objekt (podle pořadí, jak byly vytvářeny nebo měněny) Check slouží k testování správnosti vytvořeného projektu a jeho částí: • Check Project testuje celý projekt; při testování musí být všechna okna projektu uzavřena, • Check Window testuje aktuální okno, • Check Selection testuje označený objekt.
11 / 32
TomPack ver.1.18
4.4.4
Uživatelská příručka
Tools
Položka menu Tools slouží k vytváření objektů na pracovní ploše a jejich vazby na jednotlivé prvky a části řídicího a vizualizačního systému. Select aktivuje nástroje pro výběr objektů (implicitně jsou aktivovány) Line Slouží ke kreslení čar. Při volbě této položky se kurzor myši změní na křížek, ten se umístí do počátečního bodu čáry, stiskne se levé tlačítko myši, drží se a táhne se myší do konečného bodu čáry, kde se levé tlačítko uvolní. Kliknutím pravým tlačítkem myši na vybrané čáře se otevře okno Line properties pro nastavení vlastností čáry jako objektu: • •
•
• •
Name formální jméno objektu, Enable - v okně lze zapsat logický výraz (v notaci jazyka C++): je-li pravdivý, čára se zobrazí, jinak ne, Color - je-li zapsaný logický výraz pravdivý, zobrazí se čára v barvě určené tlačítkem u True, není-li pravdivý, zobrazí se v barvě určené tlačítkem u False, Type - typ čáry: Solid - plná, Dotted - čárkovaná, Width - síla čáry (v bodech).
Polyline Slouží ke kreslení lomených čar. Při volbě této položky se kurzor myši změní na křížek, ten se umístí do místa počátku čáry, klikne se levým tlačítkem myši, pak se táhne myší do bodu zlomu, tam se opět klikne levým tlačítkem myši atd. až do konečného bodu čáry, kde se kreslení ukončí dvojklikem. Kliknutím pravým tlačítkem myši na vybrané čáře se otevře okno Line properties pro nastavení vlastností lomené čáry jako objektu, okno je stejné jako u Line. Rectangle Slouží ke kreslení pravoúhelníků. Při volbě této položky se kurzor myši změní na křížek, ten se umístí do místa levého horního rohu pravoúhelníku, stiskne se levé tlačítko myši, drží se a táhne se myší do místa pravého dolního rohu pravoúhelníku, kde se levé tlačítko uvolní. Kliknutím pravým tlačítkem myši na vybraném pravoúhelníku se otevře okno Rectangle properties pro nastavení vlastností pravoúhelníku jako objektu:
12 / 32
TomPack ver.1.18
Uživatelská příručka
•
Name - formální jméno objektu, • Enable - logický výraz zapsaný v okně určuje, zda se objekt zobrazí nebo ne, • Line Color barva obrysové čáry v závislosti na hodnotě logického výrazu zapsaného v okně, • Type - typ obrysové čáry: Solid - plná, Dotted čárkovaná, • Width - síla obrysové čáry (v bodech), • Fill Color - barva výplně objektu v závislosti na hodnotě logického výrazu zapsaného v okně, • Bar Color - barva sloupce grafu při grafickém zobrazování hodnoty veličiny výškou sloupce; výsledná barva závisí na hodnotě logického výrazu uvedeného v okně, • Bar Direction - směr, kterým se sloupec grafu mění při zvětšování hodnoty zobrazované veličiny. V okně se zapisuje jméno proměnné nebo aritmetický výraz (v notaci jazyka C++), který vypočítává velikost sloupce odpovídající hodnotě zobrazované veličiny; výsledek musí být z intervalu <0, 100>. Ellipse Slouží ke kreslení elipsy a kružnice. Při volbě této položky se kurzor myši změní na křížek, ten se umístí do místa levého horního rohu pravoúhelníku, do něhož je elipsa (kružnice) vepsaná, stiskne se levé tlačítko myši, drží se a táhne se myší do místa pravého dolního rohu pravoúhelníku, kde se levé tlačítko uvolní. Kružnice se kreslí stejně jako elipsa a správný tvar je nutno odhadnout podle mřížky. Kliknutím pravým tlačítkem myši na vybrané čáře se otevře okno Rectangle properties pro nastavení vlastností elipsy (kružnice) jako objektu, okno je stejné jako u Rectangle. Polygon Slouží ke kreslení obecných mnohoúhelníků. Při volbě této položky se kurzor myši změní na křížek, ten se umístí do místa jednoho vrcholu mnohoúhelníku, klikne se levým tlačítkem myši, pak se táhne myší do dalšího vrcholu, tam se opět klikne levým tlačítkem myši atd. až do vytvoření požadovaného tvaru; kreslení se ukončí dvojklikem. Kliknutím pravým tlačítkem myši na vybrané čáře se otevře okno Rectangle properties pro nastavení vlastností lomené čáry jako objektu, okno je stejné jako u Rectangle. Kliknutím pravým tlačítkem myši na některém vrcholovém bodě se otevře malé menu s možnostmi Add Point (přidá jeden bod do obrysu) a Delete Point (odstraní bod, na němž je právě kurzor). Obě tyto funkce umožňují upravit dodatečně tvar objektu.
13 / 32
TomPack ver.1.18
Uživatelská příručka
Text Slouží k zápisu textů a zobrazování číselných hodnot proměnných. Při volbě této položky se kurzor myši změní na křížek, ten se umístí do místa kde má být text a začne se psát. V tom okamžiku se otevře okno Text Properties, které umožňuje nastavení vlastností textu (otevření tohoto okna se vyvolá i kliknutím na textu pravým tlačítkem myši): • Name - formální jméno objektu, • Enable - logický výraz zapsaný v okně určuje, zda se textový objekt zobrazí nebo ne, • Color barva písma v závislosti na hodnotě logického výrazu zapsaného v okně, • Text - text, který má být zobrazen (zapisuje se do uvozovek), nebo jméno proměnné, jejíž hodnota se má v textovém objektu zobrazovat, • Origin - způsob zarovnání textu ve vodorovném (Hor.) a svislém (Vert.) směru vůči textovému okénku, • Digits - při zobrazování hodnoty proměnné určuje počet míst před a za desetinnou čárkou, • Show units - při zaškrtnutém políčku se za hodnotou veličiny zobrazí její jednotka (viz menu Variable), • tlačítko v levém dolním rohu okna - vyvolá okno, ve kterém lze zvolit typ (font), velikost a styl písma textu; výsledek volby se zobrazí na tlačítku. Bitmap slouží ke vložení bitmapy (*.BMP) na pracovní plochu. Volba položky způsobí změnu kurzoru myši na křížek, který umístíme do místa, kde chceme mít levý horní roh bitmapy, kliknutí levým tlačítkem otevře okno pro výběr souboru s bitmapou z disku. Výběrem se bitmapa umístí na pracovní plochu. Její velikost ani jiné vlastnosti nelze měnit, pouze lze kliknutím pravým tlačítkem myši otevřít okno, kde jí lze přiřadit jméno jako objektu (Name) a zapsat logický výraz, který řídí její zobrazování (Enable). V okně jsou také zobrazeny rozměry bitmapy v bodech (Dimension), jméno původního souboru (Original) a velikost bitmapy v bajtech (Size), tyto údaje však nelze měnit. Button Slouží ke kreslení aktivních tlačítek. Při volbě této položky se kurzor myši změní na křížek, ten se umístí do místa levého horního rohu tlačítka, stiskne se levé tlačítko myši, drží se a táhne se myší do místa pravého dolního rohu tlačítka, kde se levé tlačítko myši uvolní. Kliknutím pravým tlačítkem myši na vybraném tlačítku se otevře okno Button properties pro nastavení vlastností tlačítka jako objektu: • Name - pojmenování objektu, • Enable - logický výraz určující, zda se tlačítko zobrazí nebo ne, • Interaction enable - logický výraz určující, zda je tlačítko aktivováno nebo ne, 14 / 32
TomPack ver.1.18
Uživatelská příručka
•
• •
Keyboard Event - klávesa, na jejíž stisk tlačítko také reaguje (zatím není funkční), • Code Down - výraz (v jazyku C++), který se vyhodnotí v okamžiku stisku tlačítka kliknutím myší, • Code Pressed - výraz (v jazyku C++), který se periodicky vyhodnocuje, dokud je tlačítko stisknuto (tj. držíme levé tlačítko myši) • Period - údaj v ms určující periodu se kterou se výraz uvedený v Code Pressed vyhodnocuje, • Code Up - výraz (v jazyku C++), který se vyhodnotí v okamžiku uvolnění tlačítka (tj. uvolnění levého tlačítka myši), • Text - text (popis tlačítka); zápis “ “ znamená, že na tlačítku se žádný text nezobrazí • Pressing - logický výraz, který když je pravdivý způsobí, že tlačítko se vykreslí jako stisknuté, Color - barva výplně tlačítka v závislosti na hodnotě logického výrazu zapsaného v okně, tlačítko v levém dolním rohu okna - vyvolá okno, ve kterém lze zvolit typ (font), velikost a styl písma textu; výsledek volby se zobrazí na tomto tlačítku.
Value Slouží k vytvoření objektu (políčka) pro zobrazení a změnu hodnoty proměnné. Při volbě této položky se kurzor myši změní na křížek, ten se umístí do místa levého horního rohu pravoúhlého zobrazovacího políčka, stiskne se levé tlačítko myši, drží se a táhne se myší do místa pravého dolního rohu, kde se levé tlačítko uvolní. Kliknutím pravým tlačítkem myši na vybraném políčku se otevře okno Variable properties pro nastavení vlastností zobrazovacího políčka jako objektu: • Name - jméno objektu, • Enable - logický výraz určující, zda se objekt zobrazí nebo ne, • Interaction enable - logický výraz určující, zda je dovoleno hodnotu proměnné měnit, • Keyboard Event - (zatím nefunguje) • Variable - jméno proměnné, jejíž hodnota se má zobrazovat nebo měnit, 15 / 32
TomPack ver.1.18
Uživatelská příručka
• Color - barva pozadí zobrazovacího políčka, • Digits - určuje počet míst před a za desetinnou čárkou, • Show units - při zaškrtnutí se za hodnotou veličiny zobrazí její jednotka, • Font - vyvolá okno, ve kterém lze zvolit typ (font), velikost a styl písma textu; výsledek volby se zobrazí na tlačítku. V okénku je v TPConfig vždy zobrazena hodnota 123,45%, ta se po spuštění projektu změní na skutečnou hodnotu proměnné. Graph Slouží k vytvoření okna pro zobrazení časového průběhu hodnot veličin. Při volbě této položky se kurzor myši změní na křížek, ten se umístí do místa levého horního rohu okna, stiskne se levé tlačítko myši, drží se a táhne se myší do místa pravého dolního rohu, kde se levé tlačítko uvolní.
Kliknutím pravým tlačítkem myši na vybraném políčku se otevře okno History Graph Variables pro volbu zobrazovaných veličin a nastavení parametrů grafu: • Name - jméno grafu jako objektu, • Enable - logický výraz určující, zda se graf zobrazí nebo ne, • Font - vyvolá okno, ve kterém lze zvolit typ (font), velikost a styl písma textu; výsledek volby se zobrazí na tlačítku, • Background - barva pozadí grafu, • Axis - barva os grafu, • Buttons - barva výplně tlačítek pro proměnné v pravé části grafu, • Ruler - barva posuvného svislého pravítka sloužícího pro zjišťování hodnot zobrazovaných veličin v určitém místě grafu, • Variable - seznam jmen proměnných, které se v daném grafu zobrazují, • Add - přidání nové proměnné do grafu; otevře okno Variable Identifier, do něhož se zadá jméno proměnné, • Delete - odstranění vybrané proměnné ze seznamu zobrazovaných proměnných Variable, • Details - popis k jednotlivým zobrazovaným proměnným (vždy k proměnné vybrané v seznamu Variable): Title - popis vztahující se k dané proměnné, uvádí se na příslušném tlačítku, Color - barva křivky grafu a písma na tlačítku dané proměnné, Precision - počet desetinných míst na tlačítku zobrazované hodnoty dané proměnné • Time - barva písma popisu časové osy.
16 / 32
TomPack ver.1.18
Uživatelská příručka
Alarms Slouží k vytvoření okna pro zobrazení alarmů. Při volbě této položky se kurzor myši změní na křížek, ten se umístí do místa levého horního rohu okna, stiskne se levé tlačítko myši, drží se a táhne se myší do místa pravého dolního rohu, kde se levé tlačítko uvolní. Zápis alarmového hlášení má pět sloupců, jejichž šířku lze měnit a do kterých se zapisují: 1. datum a čas, 2. informační symbol (+ ... alarm vznikl, - ... alarm zanikl, A ... alarm byl potvrzen) 3. skupina, do které alarm patří, 4. priorita, která byla alarmu přidělena, 5. vlastní text alarmového hlášení. Kliknutím pravým tlačítkem myši na vybraném políčku se otevře okno Alarm Properties pro nastavení parametrů alarmových zpráv: • Name - jméno okna alarmů jako objektu, • Enable - logický výraz určující, zda se alarmový objekt zobrazí, • Date and time - Time only zaškrtnutí způsobí, že se u alarmů nezobrazuje datum, ale jen čas, • Show acked - zaškrtnutí způsobí, že se zobrazují i potvrzené alarmy, • History - zaškrtnutí znamená, že se alarmy budou ukládat do archivu, • Colors - nastavení barvy písma pro alarmy aktivní (tj. příčina trvá) a nepotvrzené (Activ, not acked), aktivní a potvrzené (Activ, acked), neaktivní (tj. příčina pominula) a nepotvrzené (Inactiv, not acked); nastavení barvy pozadí okna alarmů (Background), • Priority - čísla vyznačující rozmezí priorit; zobrazují se pouze alarmy pro veličiny, jejichž priorita (viz menu Variables) spadá do tohoto rozmezí. Zaškrtnutí okénka Show znamená, že se číslo priority v alarmovém hlášení zobrazuje, • Group - název skupiny alarmů (píše se do uvozovek); zobrazují se pouze alarmy veličin, které patří do dané skupiny. Zaškrtnutí okénka Show znamená, že se název skupiny v alarmovém hlášení zobrazuje, • Page Up - jméno logické proměnné; jestliže proměnná nabyde hodnoty true, provede se skok v seznamu alarmů o stránku dopředu (na obrazovce směrem nahoru), • Page Down - jméno logické proměnné; jestliže proměnná nabyde hodnoty true, provede se skok v seznamu alarmů o stránku zpět (na obrazovce směrem dolů), • Start time - jméno proměnné typu real, jejíž hodnota určuje počáteční čas zobrazení výběru alarmů z historie (okénko je přístupné jen při zaškrtnutí políčka History), • Stop time - jméno proměnné typu real, jejíž hodnota určuje konečný čas zobrazení výběru alarmů z historie (okénko je přístupné jen při zaškrtnutí políčka History), • dlouhé tlačítko v pravém dolním rohu - vyvolá okno, ve kterém lze zvolit typ (font), velikost a styl písma textu alarmových hlášení; výsledek volby se zobrazí na tlačítku.
4.4.5
Align
Položka menu Align slouží k definování mřížky a k různému způsobu zarovnávání dvou nebo více označených objektů na pracovní ploše. 17 / 32
TomPack ver.1.18
Uživatelská příručka
Grid Setting ... vyvolá okno pro nastavení atributů mřížky, tj. rozteče (vyjádřené v bodech) ve vodorovném (Size X) a svislém (Size Y) směru. Zadávané hodnoty mohou být celá čísla z intervalu <3, 400>.
Show Grid přepínač pro znázornění mřížky na pracovní ploše Align To Grid zarovná označený objekt k nejbližším bodům mřížky Left zarovná označené objekty (alespoň dva) doleva k objektu, který je na pracovní ploše nejvíc vlevo tak, že levé okraje všech objektů leží na svislé přímce Horizontal Center zarovná označené objekty (alespoň dva) tak, že středy (vodorovné) všech objektů leží na svislé přímce v místě, které leží ve středu vzdálenosti objektu nejvíce vlevo a objektu nejvíce vpravo Right zarovná označené objekty (alespoň dva) doprava k objektu, který je na pracovní ploše nejvíc vpravo tak, že pravé okraje všech objektů leží na svislé přímce Top zarovná označené objekty (alespoň dva) nahoru k objektu, který je na pracovní ploše nejvíc nahoře tak, že horní okraje všech objektů leží na vodorovné přímce Vertical Center zarovná označené objekty (alespoň dva) tak, že středy (svislé) všech objektů leží na vodorovné přímce v místě, které leží ve středu vzdálenosti objektu nejvíce nahoře a objektu nejvíce dole Bottom zarovná označené objekty (alespoň dva) dolů k objektu, který je na pracovní ploše nejvíc dole tak, že dolní okraje všech objektů leží na vodorovné přímce Horizontal Spacing zarovná označené objekty (alespoň tři) mezi objekt nejvíce vlevo a nejvíce vpravo tak, že vzdálenosti mezi levými okraji všech objektů jsou stejné; ve svislém směru se poloha objektů nemění Vertical Spacing zarovná označené objekty (alespoň tři) mezi objekt nejvíce nahoře a nejvíce dole tak, že vzdálenosti mezi horními okraji všech objektů jsou stejné; ve vodorovném směru se poloha objektů nemění Width upraví šířku označených objektů (alespoň dva) na stejnou hodnotu odpovídající šířce naposled označeného objektu; poloha objektů na pracovní ploše se nemění Height upraví výšku označených objektů (alespoň dva) na stejnou hodnotu odpovídající výšce naposled označeného objektu; poloha objektů na pracovní ploše se nemění Size upraví velikost (šířku i výšku) označených objektů (alespoň dva) na stejnou hodnotu odpovídající velikosti naposled označeného objektu; poloha objektů na pracovní ploše se nemění
18 / 32
TomPack ver.1.18
4.4.6
Uživatelská příručka
View
Tato položka menu obsahuje přepínače pro zobrazení panelů nástrojů s ikonami nahrazujícími některé podpoložky hlavního menu. Status Bar řádek v dolní části obrazovky, na kterém se zobrazuje nápověda k jednotlivým položkám menu nebo ikonám, na něž právě ukazuje kurzor myši Main Toolbar ikony týkající se operací se soubory, schránkou a tiskárnou, postupně zleva: vytvoření nového okna, otevření existujícího okna, uložení aktuálního okna na disk, vymazání okna z disku (nabídne se seznam uložených oken), položka menu Project / Run, vyjmutí označených objektů a uložení do schránky, zkopírování označených objektů do schránky, zkopírování obsahu schránky na pracovní plochu, tisk aktuálního okna na tiskárnu, informace o programu Align Toolbar ikony týkající se mřížky a zarovnávání označených objektů (viz menu Align), postupně zleva: zobrazení mřížky, zarovnání k nejbližším bodům mřížky, zarovnání vlevo, na střed vodorovně, vpravo, zarovnání nahoru, na střed svisle, dolů, stejné vzdálenosti vodorovně, stejné vzdálenosti svisle, stejná šířka, stejná výška, stejná velikost Objects Toolbar ikony týkající se vytváření objektů na pracovní ploše (viz menu Tools), postupně zleva: šipka pro označování, výběr a sdružování objektů, Line, Rectangle, Ellipse, Polyline, Polygon, Text, Bitmap, Button, Value, Graph, Alarm, spojit označené objekty do jednoho (Group), rozdělit složený objekt na dílčí (Ungroup), přesunout označený objekt do pozadí (Move To Back), přesunout označený objekt do popředí (Move To Front)
4.4.7
Variables
Variables slouží k definování proměnných; volba této položky vyvolá okno pro definici: Blok VARIABLE - určení jména a typu proměnné a jejího použití v systému: • Name - jméno proměnné, • Type - typ proměnné a její funkce v systému: Boolean - logická proměnná, Integer - celočíselná proměnná, Real - racionální proměnná (v pohyblivé řádové čárce), String - řetězcová proměnná (text), Process - proměnná má vazbu na konkrétní adresu v procesním počítači (PLC), Disk - hodnota proměnné se ukládá na disk a při startu programu TPView se z disku čte, Memory - hodnota proměnné se ukládá do paměti PC a při ukončení programu TPView se ztrácí, View - použití pro více PC s běžícím programem TPView • Comment - komentář vysvětlující k čemu se proměnná používá,
19 / 32
TomPack ver.1.18
Uživatelská příručka
Blok ITEM - definování vazby proměnné na ostatní části řídicího systému: • Access Name - jméno skupiny, do které proměnná patří (obvykle jedno PLC), • Name - jméno proměnné v PLC nebo jiném počítači; v PLC je tvořeno u logických proměnných zápisem X
a u celočíselných a reálných proměnných zápisem R, Blok VALUE - inicializace, fyzikální jednotky a přepočty: • Read Only - zaškrtnutí znamená, že hodnota proměnné se pouze čte (např. z PLC), • Initial - počáteční hodnota proměnné při startu programu TPView, • Units - fyzikální jednotka veličiny (text), • MinEU - dolní mez hodnoty proměnné ve fyzikálních jednotkách, • MaxEU - horní mez hodnoty proměnné ve fyzikálních jednotkách, • MinRaw - dolní mez hodnoty proměnné tak, jak se vyjadřuje v počítači (např. 0 celočíselně), • MaxRaw - horní mez hodnoty proměnné tak, jak se vyjadřuje v počítači (např. 65535 celočíselně), Blok ALARM - hlídání a signalizace mezních hodnot proměnné: • Log - (zatím nefunguje - nezaškrtávat) • Priority - přiřazení čísla priority danému alarmu, • DeadBand - pásmo necitlivosti (v jednotkách hodnoty veličiny) pro alarmové meze při jejich rychlém přecházení oběma směry, • Group - jméno skupiny, do které alarmové hlášení patří, • LoEnable - zaškrtnutí aktivuje alarm při poklesu hodnoty veličiny pod dolní mez, 20 / 32
TomPack ver.1.18
• • • • •
Uživatelská příručka
LoLevel - hodnota dolní meze (v jednotkách hodnoty veličiny), LoMsg - text alarmového hlášení pro dolní mez, HiEnable - zaškrtnutí aktivuje alarm při stoupnutí hodnoty veličiny nad horní mez, HiLevel - hodnota horní meze (v jednotkách hodnoty veličiny), HiMsg - text alarmového hlášení pro horní mez,
Blok DATA - zápis dat do archivu: • Log - zaškrtnutí znamená, že se veličina zapisuje do archivu, • Journal Group - jméno skupiny dat, která se zapisují do určitého souboru na disk; vyplněním se veličina do této skupiny zařadí, • DeadBand - změna hodnoty veličiny, při jejímž překročení se hodnota zapíše do souboru, i když to perioda zápisu ještě nevyžaduje, • MinScan - doba (s), za kterou se hodnota proměnné nejčastěji zapisuje do souboru, i když překračování DeadBand je ještě častější, • MaxScan - doba (s), za kterou se hodnota proměnné nejméně často zapisuje do souboru; za tuto dobu se zapíše vždy, i když hodnota DeadBand není překročena, Blok EVENTS - ošetření událostí - zatím nepoužívat: Blok MESSAGE - pro proměnné typu String: • InitialValue - počáteční hodnota řetězcové proměnné (text), Tlačítka v dolní části okna slouží k práci se seznamem proměnných: • New - definice nové proměnné, • Save - uložení definované proměnné do seznamu, • Delete - zrušení již definované proměnné, • Reload - obnovení původního nastavení parametrů proměnné (před použitím Save !), • Select VARIABLE Name - otevře okno se seznamem definovaných proměnných, výběr proměnné se provede myší a její okno se otevře dvojklikem, • tlačítka se symboly šipek - listování v seznamu proměnných, • Done - ukončení práce s položkou menu Variables Variable Group slouží k definování skupiny proměnných pro přenosy pomocí DDE; volba této položky vyvolá okno seznamu skupin proměnných Variable group list, které umožňuje přidat novou skupinu (Add), zrušit existující (Delete) nebo modifikovat existující (Edit). Tlačítka Add a Edit otevřou okno Variable group, kde je: • Name - jméno skupiny, • DDE / OPC volba komunikace • Service / OPC Server - jméno programu pro řízení komunikace (např. SattBus), • Topic / OPC Item prefix jméno počítače, se kterým se budou hodnoty proměnných dané skupiny komunikovat; je uvedeno v seznamu připojených jednotek použitého DDE serveru (např. program SattBus DDE Server v položce PLC list), • Status item - (viz kap. 4.3.3) • Cluster (viz kap. 4.2)
21 / 32
TomPack ver.1.18
Uživatelská příručka
History Value Group slouží k definování skupiny proměnných pro zápis na disk do archivního souboru; volba této položky vyvolá okno seznamu skupin proměnných History values group list, které umožňuje přidat novou skupinu (Add), zrušit existující (Delete) nebo modifikovat existující (Edit).
Tlačítka Add a Edit otevřou okno History values group, kde je: • Name - jméno skupiny, • File Name - jméno souboru (formát MS Access), do kterého se budou hodnoty proměnných zapisovat; jméno se uvádí bez přípony, • Size - velikost souboru vyjádřená časovým údajem: dny (Days) + hodiny (Hours) + minuty (Min.); zapsané údaje starší než udaná délka se z archivu ztrácejí
4.4.8
Setup
Color Table otevře okno Color Palette, kde jsou tři oblasti: • System Colors - tabulka standardních systémových barev, • Special Colors - umožní definovat standardní barvu pozadí (Background) a popředí (Foreground) objektů a je k dispozici barva Transparent pro průhledné objekty, • User Colors - obsahuje 50 tlačítek a každému z nich je možné přiřadit vlastní barvu; kliknutím na tlačítku se otevře okno Change Color Attributes, kde se vytvářejí barvy nastavením poměru základních barevných složek R, G a B: Basic Color - základní barva přiřazená tlačítku, Alternate Color - druhá barva přiřazená tlačítku, která se může se základní barvou periodicky střídat a tím umožní blikání objektu, Period - perioda (s) střídání barev, Alternating - číslo z intervalu <0, 1> určující, jakou část z periody bude mít objekt základní barvu 22 / 32
TomPack ver.1.18
Uživatelská příručka
Common Setup umožňuje zvolit okno, které se otevře po spuštění aplikace (projektu) v TPView; volba pložky otevře okno Common Setup: • Default - jméno okna (resp. dvou oken), které se otevře po spuštění projektu; tlačítko ? otevře okno se seznamem všech oken, která jsou v projektu k dispozici a z nich je možné vybrat, • Main window- určuje polohu levého horního rohu (horní dvě okénka) a vodorovnou a svislou velikost (v bodech) hlavního okna, tj. uvedeného na prvním místě, • Show Maximized - zaškrtnutí znamená, že se hlavní okno zobrazí v maximální velikosti na celou obrazovku bez rámečků (pak se souřadnice počátku a velikost okna v Main Window neuvádějí), • Show Frame - zaškrtnutí znamená, že se okno zobrazí v místě a velikosti uvedené v Main Window, • Alarm history in days - uvádí se počet dnů zpět, za které se archivují alarmová hlášení, • Application name - jméno souboru s projektem, který má být spuštěn (popř. včetně cesty)
23 / 32
TomPack ver.1.18
4.4.9
Uživatelská příručka
Window
Tato položka definuje způsob uspořádání oken na obrazovce a výběr oken, která mají být zobrazena. Show Edge přepínač zobrazení rolovacích pruhů u aktuálního okna Arrange Icons (příkaz zatím není funkční) Cascade uspořádá všechna otevřená okna do kaskády tak, že jsou vidět jejich lišty s názvy; aktuální okno je vidět vždy celé Tile uspořádá všechna otevřená okna vedle sebe jako dlaždice (tento způsob zobrazení není příliš přehledný)
4.4.10 Help Help Topics (příkaz zatím není funkční) About TPConfig informace o původu a verzi programu TPConfig
24 / 32
TomPack ver.1.18
Uživatelská příručka
5 PROGRAMOVÁNÍ UŽIVATELSKÝCH SEKVENCÍ Uživatelské sekvence pro provádění výpočtů a logických operací se používají v Server Code, View Code a v definici funkcí některých grafických objektů. Syntaxe zápisu vychází z jazyka C. možnosti programování jsou však vůči jazyku C omezené. V programových sekvencích (skriptech) lze zapisovat buď výrazy nebo příkazy. Příkazem může být přiřazovací příkaz, podmíněný příkaz if (i s variantou else), příkaz do a while. Jednotlivé příkazy jsou odděleny středníkem. Výraz může být aritmetický (typu int, real), logický (typu bool) nebo řetězcový (string). Implicitní konverze je z int na real a v některých případech ještě z int a real na bool (nenulová hodnota znamená true). Ve výrazech lze používat operátorů uvedených v následující tabulce, kde jsou seřazeny podle priority při vyhodnocování od nejvyšší k nejnižší. Prioritu vyhodnocování lze měnit použitím závorek, závorky se používají kulaté a lze je vkládat do sebe (v podstatě bez omezení). operátor ! ~ (typ)
priorita 1 1
pořadí ← ←
1
←
* /
2
→
%
2
→
+ -
3
→
< > <= >=
4
→
==
5
→
6 7 8 9 10
→ → → → →
& ^ | && ||
!=
typy int →i nt; real → real bool → bool int → int mezi bool, int, real a string int, int → int; real, real → real; int, real → real; real, int → real int, int → int int, int → int; real, real→real; int, real → real; real, int → real int,int → bool; real ,real → bool; int, real → bool; real, int → bool int, int → bool; real, real → bool; int, real → bool; real, int → bool; bool, bool → bool; string, string → bool int, int→int int, int → int int, int → int vše kromě string → bool vše kromě string → bool
popis unární minus a plus logické NOT bitové NOT přetypování násobení a dělení zbytek po dělení součet a rozdíl porovnání rovnost a nerovnost bitové AND bitové XOR bitové OR logické AND logické OR
Ve sloupci pořadí šipka udává směr vyhodnocování operací stejné priority, uvnitř závorek probíhá vyhodnocování zleva doprava. Ve výrazech a příkazech mohou být použity konstanty, proměnné a funkce. Konstantou může být číslo dekadické, hexadecimální (0xab), float (1.23 nebo 1e5), logická hodnota (true, false) nebo řetězec (uzavřený do uvozovek). Proměnné se označují identifikátory (jméno proměnné, případně ještě s tečkou a jménem složky), rozlišují se malá a velká písmena. Explicitní přetypování je možné mezi bool, int a real a string, implicitně se konvertuje int na real a u logických operací real a int na bool. Poznámky: Proměnné v TPServeru (process, memory a disk) mají ještě „vnitřní“ hodnotu, udávající, zda je hodnota platná či nikoliv. Pokud se vypočte výraz, jehož nějaká hodnota je neplatná, je výsledek též neplatný a případný přiřazovací příkaz se nevykoná (např. příkaz var1 = var2+1 do var1 nechá původní hodnotu, pokud bude var2 neplatná). Pokud bude podmínka v if() neplatná, příkaz za if se nevykoná (případně se vykoná varianta else). Při neplatné hodnotě podmínky do a while se cyklus ukončí. Aby se zamezilo případnému zacyklení do a while, je možné omezit maximální počet průběhů smyčky. Tato hodnota se zadává v Common setup dialogu. 25 / 32
TomPack v 1.18
Uživatelská příručka
6 FUNKCE PRO PROGRAMOVÁNÍ UŽIVATELSKÝCH SEKVENCÍ Součástí TomPacku je řada funkcí, kterých je možno používat při vyhodnocování výrazů a zejména při vytváření kódu pro Server Code a View Code. Následující tabulka obsahuje popis těchto funkcí. Ve sloupci TPS je vyznačeno křížkem, že je funkce použitelná pro TPServer, ve sloupci TPV stejně pro TPView.
6.1 Základní a matematické funkce funkce
TPS TPV typ fce
typ parametrů
popis
CurrentDateTime
x
x
real
DateTimeToString
x
x
string
real
převede datum-čas do řetězce
SetSystemDateTime
x
x
bool
real
nastaví datum a čas počítače, true - podařilo se
Second
x
x
integer
real
vrátí sekundy z časového údaje
Minute
x
x
integer
real
vrátí minuty z časového údaje
Hour
x
x
integer
real
vrátí hodiny z časového údaje
Day
x
x
integer
real
sdělí den z časového údaje
Month
x
x
integer
real
vrátí měsíc z časového údaje
Year
x
x
integer
real
vrátí rok z časového údaje
Time
x
x
real
integer
integer
integer
parametry: hodina, minuta a sekunda, údaj času převede na číslo real
Date
x
x
real
integer
integer
integer
parametry: den, měsíc a rok, údaj data převede na číslo real
vrátí aktuální datum a čas počítače jako reálnou hodnota
DateTimeDlg
x
real&
zobrazí dialog pro zadání hodnoty real jako datum/čas
BoolDlg
x
bool&
zobrazí dialog pro zadání hodnoty boolean
IntDlg
x
integer&
zobrazí dialog pro zadání hodnoty integer
RealDlg
x
real&
zobrazí dialog pro zadání hodnoty real
StringDlg
x
string&
zobrazí dialog pro zadání hodnoty string
IntLimitsDlg
x
integer& integer
integer
string
zobrazí dialog pro zadání hodnoty integer s mezemi (2. a 3. parametr) a jednotkami (4. parametr)
RealLimitsDlg
x
real&
real
string
zobrazí dialog pro zadání hodnoty real s mezemi (2. a 3. parametr) a jednotkami (4. parametr)
real
26 / 32
TomPack v 1.18
funkce
Uživatelská příručka
TPS TPV typ fce
typ parametrů
popis
Sin
x
x
real
real
vrátí sinus, argument v radiánech
Cos
x
x
real
real
vrátí cosinus, argument v radiánech
Tan
x
x
real
real
vrátí tangens, argument v radiánech
ASin
x
x
real
real
vrátí arcussinus, výsledek v radiánech
ACos
x
x
real
real
vrátí arcuscosinus, výsledek v radiánech
ATan
x
x
real
real
vrátí arcustengens, výsledek v radiánech
ATan2
x
x
real
real
Abs
x
x
integer
integer
vrátí absolutní hodnotu čísla integer, výsledek integer
FAbs
x
x
real
real
vrátí absolutní hodnotu čísla real, výsledek real
Exp
x
x
real
real
vrátí hodnotu exp(parametr)
Log
x
x
real
real
vrátí hodnotu ln(parametr) - přirozený logaritmus
Log10
x
x
real
real
vrátí hodnotu log(parametr) - dekadický logaritmus
Rand
x
x
integer
Sqrt
x
x
real
real
vrátí hodnotu druhé odmocniny z parametru
GetLength
x
x
integer
string
vrátí hodnotu délky řetězce
IsEmpty
x
x
bool
string
vrátí hodnotu true, je-li řetězec prázdný
GetAt
x
x
integer
string
integer
Mid
x
x
string
string
integer
Left
x
x
string
string
integer
vrátí levou část řetězce o délce dané 2.parametrem
Right
x
x
string
string
integer
vrátí pravou část řetězce o délce dané 2.parametrem
MakeUpper
x
x
string
string
vrátí řetězec převedený na velká písmena
MakeLower
x
x
string
string
vrátí řetězec převedený na malá písmena
SetAt
x
x
real
vrátí arcustangens podílu parametrů, podle znamének určí kvadrant
vrátí hodnotu pseudonáhodného čísla integer v rozsahu 0 až 32767
vrátí znak na pozici v řetězci dané hodnotou 2.parametru integer
vrátí střed řetězce, 2.parametr ... pozice 1.znaku výběru, 3.parametr ... pozice posledního znaku výběru
vrátí řetězec vytvořený z řetězce (1.parametr) tak, že znak na pozici (2.parametr) nahradí znakem (3.parametr = ASCII kód)
27 / 32
TomPack v 1.18
Uživatelská příručka
6.2 Systémové funkce pro práci s okny, s alarmy apod. funkce
TPS TPV typ fce
typ parametrů
popis
FormatInt
x
x
string
integer
integer
převede celočíselnou proměnnou (1.parametr … její jméno) na řetězec o délce dané 2.parametrem, zleva doplní mezery
FormatIntZero
x
x
string
integer
integer
jako FormatInt, zleva doplní nuly
FormatReal
x
x
string
real
integer
ComputerName
x
x
string
vrátí jméno počítače
CurrentUser
x
string
vrátí jméno přihlášeného uživatele
CurrentLevel
x
integer
vrátí úroveň (level)přihlášeného uživatele
Logon
x
bool
Logoff
x
odhlásí uživatele
LogonDlg
x
zobrazí okno pro přihlášení uživatele
ShowFrame
x
bool
zobrazi (parametr true) nebo skryje menu a modré záhlaví hlavního okna
OpenWindow
x
string
otevře nové okno, parametr ... jméno okna
OpenWindowAt
x
string
integer
ReplaceWindow
x
string
string
CloseWindow
x
string
PrintWindow
x
string
integer
AckAlarms
x
string
integer
integer
string
integer
integer
string
převede reálnou proměnnou (1.parametr) na řetězec, počet míst před a za desetinnou tečkou určuje 2. a 3. parametr
integer
string
přihlásí uživatele, první parametr je jméno a druhý heslo, true - podařilo se
integer
otevře nové okno na zadaných souřadnicích nahradí okno jiným oknem (je-li 1. parametr "", nahradí aktuální okno) zavře okno (je-li parametr "", zavře aktuální okno) vytiskne okno (1.parametr … jméno okna) na aktuální tiskárně; 2.parametr musí být 0. Je-li 1.parametr prázdný, vytiskne se aktuální okno (tj. okno na kterém je kód). potvrdí všechny alarmy ve skupině (1.parametr) od úrovně (2.parametr) do úrovně (3.parametr)
AlarmCount
x
Exit
x
x
ukončí program
ExitWindows
x
x
ukončí program a ukončí i Windows NT
LockKeyboard
x
x
zakáže řídicí klávesy ALT+TAB, CTRL+ESC atd. kromě CTRL+ALT+DEL
UnlockKeyboard
x
x
povolí řídicí klávesy
bool
vrátí počet aktivních (je-li 4.parametr false) resp. nepotvrzených (4.parametr true) alarmů ve skupině (1.parametr) od úrovně (2.parametr) do úrovně (3.parametr)
28 / 32
TomPack v 1.18
Uživatelská příručka
6.3 Funkce pro práci se znakovými soubory První parametr je vždy celočíselná proměnná obsahující číslo pod kterým je soubor otevřen - tzv. „handle“; soubory se musí uzavřít v tom bloku Server Code, ve kterém byly otevřeny. Funkce vracejí hodnotu true, když se operace podařila, hodnotu false když se nepodařila. funkce
TPS TPV typ fce
typ parametrů
popis
OpenTextFile
x
bool
integer& string
otevře textový soubor pro čtení, do proměnné (1.parametr) uloží číslo souboru, 2.parametr … jméno souboru: začíná-li disk: nebo \\ , označuje absolutní cestu, jinak je relativní vzhledem k aktuálnímu adresáři
CreateTextFile
x
bool
integer& string
otevře nový textový soubor pro zápis, pokud soubor daného jména již existuje, vymaže se; význam parametrů jako u OpenTextFile
CreateAppendTextFil e
x
bool
integer& string
otevře textový soubor pro zápis, pokud soubor daného jména již existuje, zapisuje za jeho poslední položku; význam parametrů jako u OpenTextFile
CloseTextFile
x
bool
integer
uzavře soubor otevřený pod daným číslem (1.parametr
WriteBoolA
x
bool
integer
bool
zapíše řádek s textem true nebo false podle hodnoty 2.parametru
WriteIntA
x
bool
integer
integer
zapíše řádek s hodnotou 2.parametru převedenou na řetězec
WriteRealA
x
bool
integer
real
zapíše řádek s hodnotou 2.parametru převedenou na řetězec
WriteStringA
x
bool
integer
string
zapíše řádek s hodnotou 2.parametru
ReadBoolA
x
bool
integer
bool&
přečte řádek ze souboru a převede obsah na hodnotu proměnné (2.parametr)
ReadIntA
x
bool
integer
integer&
přečte řádek ze souboru a převede obsah na hodnotu proměnné (2.parametr)
ReadRealA
x
bool
integer
real&
přečte řádek ze souboru a převede obsah na hodnotu proměnné (2.parametr)
ReadStringA
x
bool
integer
string&
přečte řádek ze souboru a převede obsah na hodnotu proměnné (2.parametr)
WriteToLog
x
void
string
x
zapíše řetězec do souboru logu TPServer nebo TPView
29 / 32
TomPack v 1.18
Uživatelská příručka
6.4 Speciální funkce (časovače, zpoždění, události, zvuk,...) funkce
TPS TPV typ fce
typ parametrů
popis
Timer
x
x
bool
bool
bool
integer
časovač (resp. zpožďovač): první parametr je vstup, druhý HOLD a třetí doba zpoždění (vyjádřená jako počet volání funkce Timer). Funkce vrátí hodnotu true až po provedení nastaveného (třetí parametr) počtu volání, při nichž je vstup true. časovač je aktivní, je-li 2.parametr true.
DelayReal
x
x
real
real
real
integer
simulace dopravního zpoždění: první parametr je vstup, druhý hodnota pro počáteční inicializaci (naplnění) fronty a třetí délka fronty, která může být 1 až 5000. Při každém volání se hodnota ze vstupu zapíše do fronty a nejstarší hodnota se přepíše do výstupu funkce.
PipeSimul
x
x
real
real
integer
real
simulace dopravního zpoždění v potrubí: první parametr je vstup, druhý objem potrubí (vyjádřený číslem od 1 do 5000 jednotlivých průtoků) a třetí průtok pro jedno volání. Funkce simuluje potrubí, kdy hodnota ze vstupu se objeví na výstupu až po době dané průtokem a objemem (zpožďovaná hodnota nemůže být průtok).
Edge
x
x
bool
bool
Event
x
x
string
string
PlaySound
x
x
void
string
spustí zvuk ze souboru .wav, string je jméno souboru relativní vzhledem k prac. adresáři
Execute
x
x
void
string
spustí se externí program, string je jeho jméno včetně cesty
test vzestupné hrany: pouze při prvním volání fce, kdy se změní parametr z false na true je výsledek true string
string
int, int
zapisuje událost do historie alarmů; parametry jsou: Server, Text, Group, priority, status (v TPServer je buď Server prázdné nebo je to jméno serveru, na kterém je spuštěno)
30 / 32
TomPack v 1.18
Uživatelská příručka
6.5 Speciální funkce - regulátory funkce
TPS TPV typ fce
popis
Pid
x
x
void
PID algoritmus, parametry: real … regulovaná veličina real … žádaná hodnota real& … akční veličina (výstup z regulátoru) real … zesílení [bezrozměrné] real … integrační časová konstanta [s] real … derivační časová konstanta [s] real … offset výstupu (při vyřazené integrační složce) real … dolní mez akční veličiny real … horní mez akční veličiny bool … zapnutí (true) a vypnutí (false) regulátoru; při zapnutí převezme stávající hodnotu proměnné označující akční veličinu jako počáteční hodnotu real … perioda spouštění regulátoru [s]
PidPuls
x
x
void
PID algoritmus pro pulsní výstup na servopohon bez vysilače polohy, parametry: real … regulovaná veličina real … žádaná hodnota bool& … akční veličina - výstup pro otevírání bool& … akční veličina - výstup pro zavírání real … zesílení [bezrozměrné] real … integrační časová konstanta [s] real … derivační časová konstanta [s] real … minimální délka pulsu [s] real … minimální délka mezery mezi pulsy [s] real … doba přechodu serva z jedné krajní polohy do druhé [s] bool … zapnutí (true) a vypnutí (false) regulátoru real … perioda spouštění regulátoru [s]
31 / 32
TomPack v 1.18
Uživatelská příručka
6.6 Speciální funkce – ODBC funkce
TPS TPV
typ fce
typ parametrů
popis
DBConnect
x
x
bool
integer& string
DBOpenTable
x
x
bool
integer& int
DBInitTable
x
x
bool
integer& int
DBBindBool
x
x
bool
integer
bool&
string
připojí bool proměnnou pro přenos hodnot; 2. parametr je jméno sloupce, (v hranatých závorkách)
DBBindInt
x
x
bool
integer
integer& string
připojí integer proměnnou pro přenos hodnot; 2. parametr je jméno sloupce, (v hranatých závorkách)
DBBindReal
x
x
bool
integer
real&
string
připojí real proměnnou pro přenos hodnot; 2. parametr je jméno sloupce, (v hranatých závorkách)
DBBindString
x
x
bool
integer
string&
string
připojí string proměnnou pro přenos hodnot; 2. parametr je jméno sloupce, (v hranatých závorkách)
DBMoveFirst
x
x
bool
integer
přesune ukazatel v tabulce na první záznam a aktualizuje proměnné.
DBMoveLast
x
x
bool
integer
přesune ukazatel v tabulce na poslední záznam a aktualizuje proměnné.
DBMoveNext
x
x
bool
integer
přesune ukazatel v tabulce na další záznam a aktualizuje proměnné.
DBMovePrev
x
x
bool
integer
přesune ukazatel v tabulce na předchozí záznam a aktualizuje proměnné.
DBIsBOF
x
x
bool
integer
bool&
do proměnné ve druhém parametru vloží true, je-li ukazatel za poslední položkou. Vrací-li funkce false, je hodnota proměnné nedefinována.
DBIsEOF
x
x
bool
integer
bool&
do proměnné ve druhém parametru vloží true, je-li ukazatel před první položkou. Vrací-li funkce false, je hodnota proměnné nedefinována.
DBCloseTable
x
x
bool
integer
uzavře tabulku
DBDisconnect
x
x
bool
integer
uzavře spojení.
DBEdit
x
x
bool
integer
přepíše aktuální řádek proměnnými
DBAddNew
x
x
bool
integer
přidá nový řádek s hodnotami proměnných
otevře spojení na ODBC zdroj; parametry:1. integer proměnná, do které se uloží handle na spojení, 2. připojovací řetězec (DSN jméno). string
string
string
otevře tabulku; parametry: 1. integer proměnná, do které se uloží handle na tabulku,. 2. handle spojení (z DBConnect), 3. jméno tabulky (v hranatých závorkách), 4. filtr, 5. řadící podmínka (pro ODBC WHERE a ORDER BY). připraví tabulku pro připojení proměnných;parametry: 1. proměnná, do které se uloží handle na spojení, 2. handle spojení (z DBConnect)
32 / 32