Přestavení návěstidla na Stůj

  1. Úvod
  2. Indikátor
  3. Sunutí
    1. Popis vlaku
    2. Pomocné proměnné
    3. Naplnění proměnných
    4. Úprava Spouště návěstidla
    5. Shrnutí
  4. Závěr

Úvod

    Jak jsem vyčetl u odborníků "Po vjezdu vlaku za vjezdové nebo odjezdové návěstidlo dochází k přestavení návěstidla na návěst zakazující jízdu (Stůj)." Nějaké výjimky tam budou, ty zde pomineme.
    TrainController ovšem shazuje návěst na červenou (Stůj) až po uvolnění předchozího bloku. K tomu může dojít více způsoby, a to dle nastavení v Pravidlech Plánu (odst. Uvolnění bloků a cest - Způsob uvolnění). Každopádně se návěst změní na Stůj až podstatně později, než tomu je v reálné železnici. Chceme-li to změnit, má TC k dispozici několik možností.

    Protože blokové návěsti nastavuje pouze sám TC, je první podmínkou použití Mimoblokového návěstidla. To má navíc zál. Spoušť/Trigger, kde lze každý stav návěsti požadovaně upravit. Druhou podmínkou je pak nějaký impulz, který přijde z kolejiště v době, kdy je třeba návěst změnit. Informace, které kolejiště posílá do centrály (a tedy do TC), jsou vytvářeny Kontaktními Indikátory (dále jen Indikátory), jejichž fyzické provedení může mít různé podoby, kontaktní koleje, optobrány, proudové detektory atd. Právě poslední zmiňovaná varianta je v současnosti nejvíce používaná, především na detekci obsazení, tedy na tzv. zpětnou vazbu.

    Množství variant, HW, detekce bloků/zhlaví, sběr proudu vozidly, způsob uvolnění bloku ... vytváří i více možností, tak pro úplnost uvedu konfiguraci kolejiště, na kterém popisované úpravy byly zkoušeny.

    Celé kolejiště detekováno (koleje, výhybky/zhlaví) proudovými detektory, v TC tedy znázorněné Indikátory. Všechna vozidla s odběrem proudu (osvětlení nebo odporový lak), v Pravidlech nastaven způsob uvolnění bloků Podle obsazení.

    Popisované je též k prohlédnutí v layoutu ke stažení. Soubor se jmenuje lokopin_9gb3_20231120_shoz_2.yrrg

    Pokud jde o hardware, důrazně upozorňuji, že popisuji systém Lenz, a že jiné systémy mohou mít stejné nebo podobné jen dílčí části !!!  V článku Komponenty jsou detailnější informace o některých použitých prvcích.

Na začátek článku

Indikátor

    Jak už bylo řečeno, výchozím impulzem pro shoz návěsti je Indikátor. Zda se použije další (IBp01), přidaný do požadovaného místa (přesné), tedy někam těsně za návěstidlo, nebo se využije nějaký stávající (IB02), z následujícího zhlaví/výhybky, či dalšího bloku (jednodušší), je jedno.


Fyzické uspořádání.

         
V TC to pak vypadá nějak takto.
Názvy návěstidel - N01PM - Náv. bloku 01, Pravé, Mimoblokové atd.


Na Spoušti je pro každý požadovaný stav nastaveno,
aby návěst přestala fungovat při jízdě vpravo v bloku B01
a v okamžiku aktivace Indikátoru bloku B02.
Tedy u 4-světelného návěstidla stejně pro žlutou a bílou.
Stav Červená zůstane, jako obvykle, prázdný.

    Posun (bílá) lze ovšem ještě upravit s ohledem na posunové situace, tlačení vozů a pod. To jsou však už jen další vychytávky.

Na začátek článku

Sunutí

    A teď něco pro fajnšmekry. Vymyslel, naprogramoval, otestoval ... tak mi je líto, nechat si to jen pro sebe.

    Trochu odlišná situace totiž nastává při sunutí (tlačení) vozů. Lokomotiva je vzadu a sune vozy před sebou. Pak je ovšem nelogické, aby se při kontaktu prvního vozu s indikátorem, který způsobí přestavení návěstidla, objevila návěst Stůj už v tomto okamžiku. To má fíra návěstidlo ještě na celou délku vlaku před sebou. Tady to chci mít prostě tak, že Stůj se objeví, až lokomotiva mine návěstidlo. Ono to asi nebude úplně "železničářsky" v pořádku, ale protože to zahrnuje i pár obecných zajímavých postupů, může se to hodit. Tak jsem se do toho pustil, nakonec to zase tak složité nebylo.

Popis vlaku

    Rozlišovacím prvkem je Popis vlaku, který rozliší, zda vlak jede napřed lokomotivou, nebo vozy. Použije se k tomu Směrovost položky (Popisy vlaků).


Lze to udělat takto, ...


... nebo, s využitím už předem vytvořených popisů, takto.


Výsledek je stejný. V testovacím, zobrazovacím okně 2 (vlevo dole) je vidět, že tento Popis vyhovuje vlakům ve směru vpřed (tedy první loko), nebo samotné loko v obou směrech.

    Pokud se zdá být popis příliš strohý, pak viz Popisy vlaků.

    Každopádně lze tento nebo obdobné Popisy vlaků použít i na řadu dalších potřebností, třeba na to, aby do určitého místa vjely vlaky vždy vozy napřed a pod.

 

Na začátek článku

Pomocné proměnné

    Protože k přestavení na Stůj je použita úprava Spouště mimoblokového návěstidla, nutno použít stav objektové proměnné, a to s globálním rozsahem (viz např. Programování_2).
 

    Pro každý blok, kde je tato činnost požadována, nutno předem vytvořit jednu proměnnou. Zde je to v blocích B03, B04 a B05.

    Proměnné jsou Typu Objekt, Typ objektu: Blok, Rozsah: Globální, Názvy proměnných pak mohou být třeba:

    Ori_Vlak_B03, Ori_Vlak_B04 a Ori_Vlak_B05.

Na začátek článku

Naplnění proměnných


Naplnění proměnných se děje na indikátoru každého požadovaného bloku, zál. Operace, ...


... pomocí Makra Orientace.

    Příkazy tohoto Makra jsou :


1 -   Do lokální proměnné Ori_Blok se přiřadí ContextBlok, tedy přečte se blok, na kterém je Makro spuštěno.
2 -   Do lokální proměnné Ori_Vlak se přiřadí ContextVlak, tedy zjistí se Vlak, který v tomto bloku je.
3 -   Pokud jde o blok B03,...
4 -  ... přiřadí se do proměnné Ori_Vlak_B03 obsah lokální proměnné Ori_Vlak.
... atd. pro všechna potřebná místa, Bloky (zde ještě B04 a B05).

    Výsledkem je, že v každém potřebném Bloku, tedy tam kde chceme ovládat návěstidlo popsaným způsobem, existuje proměnná Ori_Vlak_Bn (n..číslo bloku), která obsahuje Vlak, který do Bloku vjel. Obsah této proměnné je pak využit ve Spoušti mimoblokového návěstidla příslušného bloku, v daném směru. Viz násl. odstavec.

Na začátek článku

Úprava Spouště/Triggeru

    Do Spouště příslušného návěstidla stačí pak do stavu návěsti, kterou chceme ovlivnit, přidat potřebný kód. Může to být do všech stavů (červená je vždy prázdná), nebo třeba jen do bílé, pro posun (v zelené a žluté bude jen stav blokového návěstidla, zde N03PB).

1 -   Stav blokového návěstidla

2 -   V negaci se testuje stav ...

3 -   ... vlak jede směrem z bloku ...

4 -   ... sepnul indikátor následující výhybky/bloku ...

5 -   ... vlak splňuje Popis (viz násl. obrázek), jede tedy loko sama nebo první.

Stavy 3 a 4 určují okamžik vyhodnocení (ty nastanou vždy), Popis vlaku pak určí, zda jede loko první nebo sama.

Práva tento Popis tedy rozliší, zda v daném okamžiku návěst přestane být aktivní, nebo zůstane svítit (zhasne pak až po uvolnění bloku, ze kterého se vyjíždí).

Na začátek článku

Shrnutí

    Pro snazší pochopení ještě systém Krok za krokem ...

  1. Pro každý blok, kde je činnost požadována, se vytvoří globální proměnná Typu Objekt, Typ objektu: Blok.

  2. Vytvoří se Makro, které bude plnit tyto proměnné hodnotou Vlaku, situovaného v příslušném Bloku.

  3. Makro je spouštěno v každém příslušném Bloku, a to v Operaci blokového (detekčního) Indikátoru. Tím se každá taková proměnná naplní hodnotou Vlaku z daného Bloku. (Protože tyto proměnné jsou globální, lze vidět jejich obsah v Průzkumníkovi TC.)
  4. Do Spouště příslušného mimoblokového návěstidla se do stavu návěsti přidá potřebný kód.

    A to je vše.

Na začátek článku

Závěr

    Programování, kterému se mnoho z vás vyhýbá, nese s sebou řadu výhod a možností. Při potížích máte vždy možnost, obrátit se na mne. Elektronicky i osobně. Ochotně (a zdarma ) vám pomůžu.

    Zase taková maličkost, ale opět opakuji, informací není nikdy dost a třeba to někdo uvítá. Tak si vyhrajte ...

Na začátek článku
Menu

LokoPin

22.11.2023  
  25.11.2023 Sunutí
  25.11.2023 poslední editace
     
Spolupracoval: Jaroslav Hraška