.PAR - sekce [STATION]
V sekci [STATION] se uvádějí definice parametrů jednotlivých stanic.
Promos RT / RTm / RT40
1 0 255 0ANALOG_LIMITS_END
2 -30 50 0
3 0 600 244
Od verze 3.07:
Rozšíření čtení/zápisu dat do libovolné oblasti paměti systému Promos-RT/RTm/RT40.
Do sekce [STATION] lze připsat libovolný počet bloků MEMORY_BLOCK pro I/O přístup do paměti CMOS-RAM automatu.
Obecná definice
{ možné typy: }
{ BYTE 8 bit bez znaménka, v DMF shortcard
WORD 16 bit bez cardinal
INTEGER 16 bit s integer
CARDINAL 32 bit bez longcard
LONGINT 32 bit s longint
REAL 3bf float real
+ < smer: INPUT, OUTPUT, BIDIR >, v DMF input, output, bidirectional }
< typ promenne > < smer >Ukázka:
MEMORY_BLOCK
ADDR $D61A { pocatek stejny s ADVYP, tj. aktualni stav analog. vstupu }
CHANNEL 10001 { blok bude prirazen ke kanalum od cisla 10001 }
CHANNEL_READ 10000 { kanal boolan output, jeho zapsanim se zpusobi vycteni celeho bloku }
TYPES { zacatek definic jednotlivych kanalu "za sebou" }
REAL INPUT { kanal 10001, reprezentujici AD01 }
REAL INPUT { kanal 10002, reprezentujici AD02 }
REAL INPUT { kanal 10003, reprezentujici AD03 }
REAL INPUT { kanal 10004, reprezentujici AD04 }
REAL INPUT { kanal 10005, reprezentujici AD05 }
TYPES_END
MEMORY_BLOCK_END
MEMORY_BLOCK
ADDR $0301 { pocatek bloku, 1. regulator UT }
CHANNEL 20001 { blok bude prirazen ke kanalum od cisla 20001 }
CHANNEL_READ 20000 { kanal boolan output, jeho zapsanim se zpusobi vycteni celeho bloku }
TYPES { zacatek definic jednotlivych kanalu "za sebou" }
REAL BIDIR { kanal 20001, reprezentujici POSUN }
TYPES_END
MEMORY_BLOCK_END
MEMORY_BLOCK
ADDR $0302 { pocatek bloku, 1. regulator UT }
CHANNEL 20003 { blok bude prirazen ke kanalum od cisla 20003 }
CHANNEL_READ 20002 { kanal boolan output, jeho zapsanim se zpusobi vycteni celeho bloku }
TYPES { zacatek definic jednotlivych kanalu "za sebou" }
REAL BIDIR { kanal 20003, reprezentujici SKLON }
TYPES_END
MEMORY_BLOCK_END
MEMORY_BLOCK
ADDR $D001 { pocatek bloku, chod regulatoru TUV a UT }
CHANNEL 30001 { blok bude prirazen ke kanalum od cisla 30001 }
CHANNEL_READ 30000 { kanal boolan output, jeho zapsanim se zpusobi vycteni celeho bloku }
TYPES { zacatek definic jednotlivych kanalu "za sebou" }
BYTE BIDIR { kanal 30001, reprezentujici chod TUV, zapis 01 -> bezi, 00 -> nebezi }
BYTE BIDIR { kanal 30002, reprezentujici chod UT , zapis 01 -> bezi, 00 -> nebezi }
TYPES_END
MEMORY_BLOCK_END
Monitorování vyčtených hodnot a zápis řídících konstant do RT
Od verze 3.05: Vzhledem k nedostatku počtu kanálů pro jednotlivé stanice byla změněno automatické číslování kanálů pro jednotlivé stanice na "ručně" definované a plně ovlivnitelné programátorem.
Programátor tak má možnost definovat, kde je který kanál umístěn (definovat pro jednotlivé čtené a zapisované hodnoty čísla kanálů, a to i včetně diagnostických kanálů, ovlivňujících průběh komunikace).
Pokud do sekce uvedete klíčové slovo ORIGINAL_CHANNELS, tak bude stanice používat původní čísla kanálů, jako u ovladače starší verze. Takže pokud chcete rozšířit nějakou stávající aplikaci CW, postačí do .PAR souboru u všech stanic uvést toto klíčové slovo a aplikace se s novým ovladačem bude chovat stejně jako se starší verzí. POZOR ! Pokud vyměníte ovladač za verzi 3.05 a vyšší a ponecháte původní .PAR/DMF soubor i aplikaci, tak se z/do aplikace do/z ovladače nedostanou žádné hodnoty !
Při "ruční" definici přístupových kanálů pro stanici je nutno definovat v sekci [STATION] všechny typy a přístupové kanály, které hodláte používat. Jejich seznam je uveden níže. Způsob zápisu do .PAR je jednoduchý: < klíčové slovo > < číslo kanálu >, návazně na to je nutno definovat v .DMF souboru příslušný typ a směr kanálu. V tabulce (viz níže) jsou ve sloupci default uvedena čísla kanálů, která budou k jednotlivým typů přiřazena, pokud v dané sekci [STATION] bude nalezeno klíčové slovo ORIGINAL_CHANNELS. Pozor ! Protože se jedná o stanice, není toto "defaultní" číslo konečné, ale jedná se o posun (offset) od 500-ti násobku pořadí stanice.
příklad: stanice v .PAR souboru, definovaná jako třetí v pořadí s definicí
ORIGINAL_CHANNELS, bude používat kanály 1001-1096 pro binární vstupy,
1097-1192 pro binární výstupy (povely), 1193-1256 pro analogové vstupy,
atd.
Tabulka definic:
|
|
(pro .DMF soubor) |
|
popis |
|
|
|
|
binární vstupy, obsadí se následujících 96 kanálů |
|
|
|
|
binární výstupy, obsadí se následujících 96 kanálů |
|
|
|
|
analogové vstupy, obsadí se následujících 64 kanálů |
|
|
|
|
čítačové vstupy, obsadí se následujících 48 kanálů |
|
|
|
|
výstupy memory_out, obsadí se následujících 100 kanálů |
|
|
|
|
vstupy memory_in, obsadí se následujících 45 kanálů |
|
|
|
|
počítadlo zpráv bez odpovědi *) |
|
|
|
|
počítadlo požadavků na komunikaci, od 4.01i *) |
|
|
|
|
počítadlo zpráv příjatých s chybou |
|
|
|
|
čas v sekundách bez komunikace |
|
|
|
|
zbývající čas "uspání" stanice |
|
|
|
|
počet aktuálních chyb, při překročení SLEEP_COUNT v sekci GLOBAL začne "SLEEP-mód" po dobu SLEEP_TIME |
|
|
|
|
řádky displeje, obsadí se následující 4 kanály |
|
|
|
|
způsobí vyčtení AI z Vardisu a přepočet do AI dle ANALOG_LIMITS |
|
|
|
|
způsobí vyčtení CT |
|
|
|
|
způsobí zápis povelů |
|
|
|
|
způsobí zápis MO |
|
|
|
|
true=právě komunikuje |
|
|
|
|
true=chyba při poslední komunikaci |
|
|
|
|
vyčtení/nulování nových BI |
|
|
|
|
vyčtení/nulování nových AI |
|
|
|
|
vyčtení/nulování nových CT |
|
|
|
|
vyčtení/nulování nových MI |
|
|
|
| vyčtení/nulování chyby řízení Vardisu |
|
|
|
|
| zápis restartu pro Vardis |
|
|
|
|
|
způsobí vyčtení BI |
|
|
|
|
způsobí vyčtení KI, Diregt |
|
|
|
|
způsobí zápis KO, Diregt |
|
|
|
|
způsobí vyčtení AI (3bf hodnot) |
|
|
|
|
naváže spojení přes modem |
|
|
|
|
právě navazuje spojení |
|
|
|
|
spojení přes modem navázáno |
|
|
|
|
vyčtení/nulování příznaku aktivního hlášení |
|
|
|
|
způsobí opětný zápis všech BO a MO |
|
|
|
|
Vyčtením se zjistí aktuální stav proměnné CallCode z objektu MODEM systému PL2. Hodnotu lze dále zpracovat systémem CW, např. rozebráním na jednotlivé bity. Zápisem hodnoty do kanálu lze poslední stav CallCode v ovladači nastavit. Hodnota CallCode se změní přenosem aktivního hlášení ze stanice, pokud se kanál in_active_message (implicitně kanál č. 479 pro 1. stanici) změní do log. 1 (true). |
*) Od verze 4.01i: Pro každou stanici (v sekci [STATION]) přibyla položka "MsgCounter", defaultně nastavena (při ORIGINAL_CHANNELS) jako offset-kanál č. 481 typu "real bidirectional". Obsahuje počet všech požadavků na komunikaci s danou stanicí. Stejně tak původní "ErrorNoAnswer" je také "real bidirectional", z důvodu možnosti zapsat zpět do ovladače jejich hodnoty, např. přístrojem "backup" pro zálohování. Poměrem "ErrorNoAnswer" a "MsgCounter" lze monitorovat úspěšnost komunikace.
U ovladače DWPL2TCP se spojení se stanicemi ovládá stejně jako u CWDRTMOD, tedy najednou lze spojit pouze jednu stanici, spojení se ovládá kanály definovanými klíčovými slovy out_connect_modem, in_connecting_modem a in_connected_modem.