RailCo 5.8 - tipy a triky

  1. Úvod
  2. Editace grafických prvků
  3. Nápověda
  4. Automatické rozpojování
  5. Fiktivní prvky
  6. Bloky - umístění v kolejišti
  7. Autoblok
  8. Osmička
  9. Rychlost
  10. Plán - průběh a návaznost
  11. Plán - spuštění
  12. Plán - ukončení
  13. Jízdní řád
  14. Chyby
  15. Závěr

Úvod

    Jak jde čas, objevují se problémy, přicházejí dotazy od dalších uživatelů tohoto vynikajícího programu RailCo TrainController v.5.8 (TC). Byla by asi škoda, kdybych s tím ostatní neseznámil. Některé věci jsou zcela konkrétní, vztahují se k článkům, které jsou napsané a tam tedy provádím průběžnou editaci, doplnění, upřesnění. Některá témata jsou však zcela mimo minulý obsah a psát ke každé prkotině článek je nesmysl. Tak jsem se rozhodl přidat tento elaborát a sem přijde všechna podobná problematika. Většinu programování TC jsem prováděl vždy pro nějakého kolegu. Soubory yrr jsem zkoušel někdy pouze v simulaci a slouží tedy především pro inspiraci.

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

Editace grafických prvků

    Všechny komponenty TC jsou vyjádřeny grafickými prvky. Koleje, tlačítka, přepínače, návěstidla... Jejich vzhled lze do jisté míry ovlivnit. Přesný popis bohužel nepodám, neboť informační zdroje jsou zde velmi skoupé, ale něco přece jen udělat jde a to si ukážeme na konkrétním příkladu.

    Běžné je použití dvoustavového návěstidla. Dost často použitého pro posun, tedy s bílým a modrým světlem. TC však má k dispozici jen prvek se světlem zeleným a červeným. Přidat návěstidlo v provedení bílá - modrá je brnkačka.

    Nejprve je nutno stáhnout soubor customimage.zip. Lze nalézt přes stránky pana Freiwalda, pro usnadnění jsem ho raději též umístil i sem (Ke stažení). Tento soubor obsahuje jednak návod (angl., něm.), a pak čtyři soubory *.bmp. Tyto 4 obrázkové soubory slouží jako vzor pro editaci. Aby začaly být aktivní, musíme je umístit do adresáře "Images", který vytvoříme jako podadresář tam, kde je nainstalováno RailCo. Např. tedy C:\Program Files\Railroad & Co.58  V tomto adresáři tedy vytvoříme podadresář "Images" a do něj nakopírujeme soubory StateLrg.bmp, StateSm.bmp, TrackLrg.bmp, TrackSm.bmp. Tyto soubory lze editovat nějakým bitmapovým editorem (např. MS Paint, tedy Malování). Návěstidla jsou v souborech State (jednou ve větším, jednou v menším formátu). Co vlastně budeme editovat? Buď přemalujeme existující návěstidlo červená-zelená na modrá-bílá. Pak ale už to původní nebude k dispozici. A nebo si vybereme nějaký typ, který nepoužíváme, třeba a nahradíme jej tím požadovaným, tedy třeba . Editaci musíme provést na všech potřebných místech, tedy pro návěst bílou i modrou, v obou souborech (StateLrg.bmp i StateSm.bmp - pro dvě velikosti zobrazení). Editace má určitá pravidla.

  1. Nelze měnit barevnou hloubku (je 16 barev).
  2. Nelze měnit umístění. Ikony jsou rozložené určitým způsobem do řádků a sloupců, a to je třeba zachovat.
  3. Rozměry pro malé zobrazení jsou 18 x 18 pixelů, pro velké zobrazení 26 x 26 pixelů.
  4. Vyhrazená barva pozadí je nastavena na Magenta (červená = 255, zelená = 0; modrá = 255). Tato barva bude průhledná. V důsledku toho není možné udělat žádné viditelné oblasti vlastní ikony touto barvou.
  5. Barva pro dynamické zvýraznění je Dark Magenta (červená = 128, zelená = 0, modrá = 128). Tady jsem odstavec v návodu nepochopil.
    ad 2.    Rozložení, umístění ikon v souborech je pro mne spíše intuitivní, než jasné. Je zřejmé, že třeba ikony návěstí na jednom řádku obsahují znaky pro jeden signál (třeba Stůj) pro všechny tvary návěstidel. Další řádek pak obsahuje zase ikony třeba pro Volno atd. Bude to spíše otázka systému pokus-omyl, než nějaká přesně určená práce. Zkazit se ale nic nedá a vrátit se k původnímu zobrazení jde velmi snadno. Tak proč to nezkusit.
    ad 3.    V TC lze zobrazení prvků volit ve dvou velikostech (Menu View-Switchboard-Small Symbols).

    Při příštím otevření TC, bude vše fungovat. Pokud jsme jen ikonu "vyměnili", bude zobrazení už "nové", pokud jsme použili nějaký jiný, nepoužívaný symbol, musíme provést v Oknu vlastností návěstidla požadovaný výběr (Select Images). Chceme-li se vrátit k původnímu zobrazení, stačí smazat (nebo lépe jen přejmenovat) adresář Images.

    Takhle jdou editovat všechny prvky, které jsou obsaženy v souborech *.bmp. Nějaký detailní průzkum by vyžadoval dalekosáhlý rozbor a mám pocit, že by to byla zbytečná ztráta času. Tady je ukázáno, že to jde. Když si někdo bude chtít udělat něco podle svého gusta (většinou do podoby ČSD/ČD), jistě si už poradí.

    A takhle to pak může vypadat pro malé nebo velké zobrazení...

  

... světle modrá je použita pro lepší viditelnost, třeba se vám bude líbit tmavá.

    Poznámka:    Takto to jde pouze ve verzi 5.8, v nižších nevím. Naopak ve verzi 7 Bronze a Silver to nejde, v Goldu je pak editace přímo z okna vlastností příslušného prvku.

Na začátek článku

Nápověda

    "Nevíš-li jak dál, přečti si návod." Tato Murphyho věta je perlou v každém směru. Nápověda, Help, Manuál jsou pojmy nejvyšší důležitosti. Uživatelé je v naprosté většině neberou na vědomí. Nechce se jim, neznají cizí jazyk, nerozumí tomu... To je ovšem velká chyba. V manuálu lze nalézt většinu řešení problémů. Neznalost jazyka dnes není podstatná. Překladače (třeba Google) jsou poměrně kvalitní a, i když překlad technických termínů je vždycky trochu problém, nakonec obvykle dostaneme spoustu užitečných informací. RailCo TC není jen tak nějaký jednoduchý prográmek, je to mocný nástroj s řadou parametrů, které je třeba správně nastavit. Nebudeme-li významu parametrů, přepínačů, vlastností důkladně rozumět, bude to dělat všechno možné, jen ne to, co požadujeme. Veškeré pokusy o intuitivní nastavení, "od oka", vedou ke špatným výsledkům. A k chybným závěrům. Mluvím z vlastní zkušenosti.

    Nápověda TC je vypracována na velice slušné úrovni. K dispozici je nejen vlastní manuál, popisující přehledně základní činnost TC, ale také tzv. kontextová nápověda, online help, fungující i ve většině zcela jiných programů. Ke spuštění slouží klávesa F1, která vyvolá výpis informací aktuálního okna, pozice, nabídky atd. Stojíme-li např. v oknu vlastností bloku, na záložce Indicators, objeví se po stisku F1 informace právě jen o údajích této záložky. Zde nalezneme informace, které v manuálu většinou nenajdeme. Ale především, nemusíme je nijak pracně hledat.

    Rozhodně doporučuji používat nejprve kontextovou nápovědu (F1), pak manuál a tyto stránky, a teprve pak dotazy na LokoPin.

Na začátek článku

Automatické rozpojování

    Na žádost jednoho kolegy, který používá spřáhla MAGNE-MATIC® americké firmy Kadee® Quality Products Co., jsem se pustil trochu více do programování. Aspoň si ukážeme, co RailCo TC dovede. Vstupní požadavky byly zcela jasné. Lokomotiva musí na určeném místě zastavit s přesností cca 3 cm, o 1-2 cm couvnout a odjet. To je totiž postup, který spřáhla Kadee potřebují na rozpojení. Vše na bázi Plánu (Schedule), tedy automaticky provedené. Celkem jednoduché. Spřáhla Kadee k dispozici nemám. Ale tento popis slouží hlavně jako ukázka, co všechno lze v TC naprogramovat. Detaily si jistě každý doladí sám. Jen ještě připomenutí, že mluvíme o měřítku TT.

Vypadá to asi takto:

Loko jede z bloku B1, k rozpojení má dojít v bloku B4. Bloky B1 a B5 jsou startem a cílem, bloky B2 a B3 jsou vlastně jen pro výklad a znázornění rozjezdu a snížení rychlosti. Opravdu funkční je tedy pouze jeden blok, a to B4. Fyzické rozložení je na násl. obrázku.

    Konkrétní rozměry se budou lišit u různých mašin, také podle toho, zda bude třeba používat oba směry atd. Pro vlastní funkci to však není podstatné. Pro oba směry bude blok B o něco delší, než dvojnásobek délky loko L, magnet M bude  uprostřed, vzdálenost R, kde zastaví mašina, bude někde za polovinou bloku.

    Jedním Plánem to TC rozhodně nesvede, takže činnost pěkně rozdělíme na 3 Plány.

 

Plán

Činnost

1.

Rozpoj_zac

Vjezd do bloku (B4), obsahujícího rozpojovací místo (permanentní magnet pod kolejemi).

2. Rozpoj_zpet Jízda loko směrem zpět, po krátké době (cca 1-3 vteřiny) se Plán Rozpoj_zpet vypne.
3. Rozpoj_kon Odjezd lokomotivy z rozpojovacího místa.

    První podmínkou je, aby loko zastavila s dostatečnou přesností. Pokud nepoužíváme jazýčkové kontakty (tady by to byla jedna z mála jejich výhod), potřebujeme zajistit dvě věci. Aby loko vjela do "rozpojovacího" bloku (B4) malou rychlostí a aby brzdná dráha (Ramp) byla poměrně krátká. Za těchto okolností zastaví zkalibrovaná mašina s přesností na 1 cm. Blok B4 nastavíme na záložce General Speed Maximum na 20 kmh, Ramp v požadovaném směru na 20 cm. Pokud nastavíme max. rychlost bloku B4 na 20 kmh, dojde v předchozím bloku (B3) k brzdění. Blok B3 musí mít tedy takovou délku, aby to každá mašina zvládla třeba i ze 160 kmh. V TT stačí tak 70 cm.

    Plánem Rozpoj_zac to spustíme. Mašina přijede do bloku B3, začne brzdit na 20 kmh, touto rychlostí vjede do bloku B4 a po 20 cm 1) zastaví. Ukončení Plánu Rozpoj_zac spustí Plán Rozpoj_zpet. Ten obsahuje jízdu z bloku B4 zpět do bloku B3. Ovšem my nechceme jet tak daleko, chceme jen kousek couvnout, tak Plán Rozpoj_zpet  ukončíme po čase 3 sekundy makrem (Makro_rozpoj). Makro je spuštěno v Operations Start Plánu Rozpoj_zpet. Makro pak spustí Plán Rozpoj_kon, který s mašinou odjede (do bloku B5) a celou akci ukončí.

1) Délka mašiny je vzdálenost prvního a posledního dvojkolí s odběrem proudu (na obrázku L). K tomu je třeba ještě zohlednit vzdálenost posledního dvojkolí s odběrem proudu od konce spřáhla (tedy S).

    Layout (lokopin_rozp_*) je k dispozici, prohlídka asi pomůže podstatně víc, než porozumění tomuto krkolomnému popisu. Indikátory IB11 až IB15 jsou jen pomocné, k ovládání při simulaci.

    Lokomotiva musí být zkalibrovaná a musí mít zadánu délku (General - Dimensions, Length). Brake indikátor bloku B4 (IB04) musí mít nastaveno zastavování na Tail of Train, tedy konec loko. Pokud k zastavení dojde jinde, doladí se to změnou délky Ramp. Zastavovací blok je dlouhý asi 40 cm (tak je možno využít bez problémů oba směry), magnet je uprostřed. Bloky nemusí fyzicky sousedit, být těsně na sobě. Pro vlastní provedení izolovaných úseků je to však pohodlnější.

    Jistě nelze přehlédnout i některé negativní, "vedlejší účinky" této akce. Za hlavní považuji to, že blok B4 musí být nastaven na nízkou max. rychlost. Znamená to, že se nedá projet ani v ostatních Plánech rychlostí vyšší. Jak však uvidíme dále, i tato nepříjemnost lze odstranit (viz Fiktivní prvky nebo Rychlost).

    Tento způsob naprogramování určitě není jediný. Obvykle lze program napsat i jiným stylem. Toto je hlavně ukázka různých možností ovládání, spouštění Plánu z předchozího Plánu, spouštění makra při startu Plánu, ovládání Plánů (spouštění, ukončení, prodleva) makrem atd. Zastavení a následné odjetí loko se dá použít i při rozpojování pomocí jiného systému, s klasickými spřáhly. Do makra se místo couvnutí vloží vteřinové sepnutí rozpojovacího elektromagnetu a je to. A nakonec i to couvnutí tam může zůstat, někdy je to vhodné.

    Přesnost jsem ověřoval na třech diametrálně odlišných mašinách, Tillig V100, Rosnička a Roco Ragulin. Loko zkalibrované, lokodekodéry vše Lenz Gold mini. Poloha zadního spřáhla při zastavení byla v rozmezí 1 cm, couvnutí rovněž, tedy vše zcela vyhovující. Zkoušel jsem i couvnutí delší, až do předchozího bloku B3, abych simuloval třeba vagony, odebírající proud. Bez problémů. Zkoušel jsem dokonce i dvojici spřažených lokomotiv (vícenásobná trakce), i tady v poho.

    S postupem doby jsem ovšem "objevil" i jiný způsob přesného, milimetrového zastavení, který by zde šel velmi výhodně aplikovat.

Na začátek článku

Fiktivní prvky

    Následující chování TrainControlleru považuji za dosud největší "objev" v tomto grandiózním programu. Zajímalo by mě, zda o těchto vlastnostech ví i Herr Freiwald. Zatím jsem na nic podobného na webu nenarazil, ale to není nic divného, v němčině a angličtině je tam toho mraky a já si jen málokdy přeložím malý kousek. Každopádně věřím, že se tímto "objevem" proslavím aspoň na Písecku . O co vlastně jde?

    Základní popis je naprosto jednoduchý. Některé prvky jdou v TC použít zcela fiktivně. Program s nimi počítá, ve skutečnosti neexistují. Použít jdou vícenásobně, s různými vlastnostmi, většinou se stejnou adresou. Třeba u výhybek je to zcela běžně používaná věc. Sice nesprávně, ale co bychom pro ušetření jednoho výstupu spínacího dekodéru neudělali. Naprostá bomba to však je při použití bloků. Tady bude opět příklad nade vše.

    V minulém odstavci je layout, kde jsme prováděli zastavení a malé couvnutí loko v bloku B4, potřebné pro rozpojení spřáhel Kadee. Pokud budeme chtít jakýmkoli Plánem projet z B1 do B5, bude loko v bloku B3 brzdit na 20 kmh, protože blok B4 má takto nastavenou max. rychlost. Použijeme tedy layout následující ...

... přidáme blok B40 a Plán Prujezd 1-5 nastavíme tak, aby projel přes tento blok. B40 bude mít ovšem maximální rychlost zcela běžnou, třeba 160 kmh. Programu je zcela jedno, že ve skutečnosti tam nejsou dva bloky (B4 a B40), on si myslí, že tam jsou. Rovněž tam předpokládá i výhybky, které mají nastaveny neexistující adresy. Celý vtip je v tom, že oba bloky mají indikátor obsazení bloku se stejnou adresou. Dokonce ani není podstatné, zda tyto dva indikátory (IB14, IB44) mají stejný nebo různý název. Ve skutečnosti by tam byl jen jeden (neviditelný) indikátor, přiřazený k oběma blokům, se stejnou adresou (zde 66/2). Layout (lokopin_dupl_*) je rovněž k dispozici. Mimochodem, panu doktorovi Railroadovi se to nemůže líbit, stejnou adresu u více prvků vždy hlásí jako chybu. Ať si trhne...

    Pochopili? Však vy na to přijdete. A tenhle trik lze použít i pro jiné prvky. Tak třeba klidně můžeme do místa, kde ve skutečnosti je jen širá trať, v TC definovat výhybku a jejím zablokováním do špatného směru neumožnit jízdu vlaku. Tyhle teoretické úvahy však nemám rád, až se bude řešit nějaký problém, jistě se tahle finta bude hodit.

    V těchto fiktivních, duplicitních, paralelních blocích vidím velkou sílu. Lze tak totiž naprogramovat třeba možnost, aby každý vlak zastavil v nádraží na jiném místě. Použije se několik fiktivních bloků a každý bude mít prvky pro zastavení (Brake, Stop, Ramp) nastaveny jinak. Má to ale jeden háček, každý vlak = samostatný Plán + další (fiktivní) blok. Větší počet Plánů vadit nebude, větší počet bloků v layoutu ale už moc příjemný není. Vlaky se však dají seskupit do Skupin (Group), a pak už to není zase tak hrozné. Skupiny mohou být třeba jen "motoráky", "rychlíky", "náklady" nebo dokonce jen "dlouhé" a "krátké".

    Jak plyne čas, objevují se však další poznatky. Jeden z hlavních je ten, že některé věci jdou naprogramovat různými způsoby. Třeba zrovna variabilní zastavování. Pomocí více "sad" indikátorů to lze udělat mnohem elegantněji. Rovněž změna rychlosti jde udělat bez fiktivního bloku, pouhým použitím příkazu "Speed". Nezbývá, než zkoumat, testovat.

    Ale ještě jeden příklad. Pomocí tohoto triku lze naprogramovat i správné chování dekodéru ND4 pro návěstidla bez omezení počtu kolejí. Co se nevejde do ND4, naprogramujeme v TC.

    V layoutu lokopin_nd4_* si můžeme prohlédnout složitější naprogramování Triggeru pro návěstidlo N8n. To vlastně zastřešuje všechna návěstidla N8 až N11 dohromady a je pak použito pro konfiguraci ND4. Na návěstidlu N8n se objeví stejná návěst, která je i na tom návěstidle, k němuž jsou nasměrovány výhybky V8 až V10. Programování návěstidel "mimo blok" je naopak zcela běžné a někdy se bez něj neobejdeme. Dalším příkladem je třeba autoblok.

    Závěrem lze říct, že fyzické prvky kolejiště (koleje,  výhybky, detektory obsazení ...) vůbec nemusí souhlasit s prvky layoutu na PC a této skutečnosti lze někdy výhodně využít.

Na začátek článku

Bloky - umístění v kolejišti  (viz také Izolované úseky - detekce obsazení)

    Jedna věc je nadefinování bloku v programu, druhá věc je jeho fyzická poloha v kolejišti. Zde má blok svoje přesné umístění a je jedno, zda je dáno polohou jazýčkového kontaktu, optozávory nebo místem, kde je přerušena kolej. Na téma počet a délka bloků jsem na webu sice něco už viděl, ale asi neškodí trochu to shrnout.

  1. Mezi dvěma výhybkami by měl být alespoň jeden blok. Je ovšem zcela normální, že instalace bloků probíhá postupně. V místech, kde bloky budou chybět, se sice nejde pohybovat pomocí automatiky, Plánů, ovšem manuálně tam jezdit lze zcela normálně. Staví-li se nové kolejiště, nezapomeneme udělat např. potřebná přerušení kolejnic, vývody dráty pod desku atd. Určitě se to bude dělat lépe, než v hotovém, zaštěrkovaném loži.
  2. Je výhodné, když délka bloku je minimálně taková, aby se tam vešel nejdelší vlak. V praxi to je ovšem trochu problém. Pokud nestavíme v tělocvičně. Rozhodně ale děláme bloky co nejdelší. Tedy od výhybky k výhybce. Při vytváření Plánu je třeba počítat se vzájemnou délkou vlaku a délkou používaných bloků. Kratší bloky, do kterých se použitý vlak nevejde celý, by neměly v takovém Plánu figurovat. Vede to ke kolizím.
  3. Více bloků za sebou použijeme, chceme-li např. na jedné staniční koleji manipulovat s více vlaky. Také simulace autobloku na širé trati vede k použití několika bloků za sebou. Tady je naopak třeba jeden třímetrový blok spíše na závadu. Tři metrové bloky jsou lepší. Při jízdě za sebou bude blok 1 uvolněn mnohem dříve, než aby bylo nutno čekat na uvolnění celého třímetrového kusu. Také to více odpovídá realitě.
  4. Bloky vždy navazují těsně jeden na druhý. Není to sice nutné, ale nechávat mezi bloky "prázdné místo" není vhodné. Nebude vidět kolejové vozidlo, které v této oblasti stojí.
  5. Jediná místa, která nejsou obsažena v blocích, by měly být pouze výhybky. Znám kolegy, kteří bloky přes výhybky (zhlaví) používají. Na kontrolu, zda je volné třeba celé zhlaví. Považuji to za zcela chybné. Na kontrolu zhlaví stačí použít pouze indikátor. Blok přece nejde přes výhybku ani nakreslit a autor jistě věděl proč. Chování TC je potom velmi nestandardní.
Naznačení přerušení kolejí při použití detektorů obsazení.
 
Tak, jak je to nahoře, tak to vypadá v programu, ve skutečnosti je to tak, jak je naznačeno dole.

    Indikátory, které se používají pro bloky, jsou různé. Myslím, že zpočátku to byla hlavně jazýčková relé, ovládaná permanentními magnety na lokomotivách, případně různé optozávory. V současné době zjevně převládají detektory obsazení (DO), které reagují na proud, odebíraný v izolované části koleje. Na trhu se objevilo dokonce několik domácích výrobců a ceny jsou zde už prakticky srovnatelné. Každá metoda má svá pro a proti, ale u DO ta "pro", dle mého názoru, vítězí. Pro DO stačí přerušení jedné koleje, ale přerušením obou nic nezkazíme, dole to vždycky můžeme spojit.

Na začátek článku

Autoblok

    V ČR a SR se používá čtyřznakový a trojznakový automatický blok, nazývaný autoblok  Detaily i funkci možno prohlédnout na Wikipedii. TC tuto problematiku řeší "po svém". Vyhrazuje si při jízdě určitý počet bloků a současně ovládá i bloková návěstidla (to jsou ta, co jsou vidět přímo v blocích a jejich řízení má na starosti vnitřní automatika TC). A právě signalizace je odlišná od toho "našeho" autobloku.

Takhle to chodí v TC.

 

My však chceme, aby to chodilo takto.

    Na prvním obrázku je ještě pro úplnost vyznačeno chování i při snížené rychlosti, která je nastavena v Bloku 4. Ale brzdění a zastavení je stejné, jako v "našem" autobloku. Je tedy třeba jen přidat požadované návěsti. Nastavování těchto "přidaných" návěstidel uděláme pak snadno pomocí Triggeru, kde jako zdroj pro logické operace poslouží indikátory obsazení. V příkladu je uvažován pouze jeden směr. Pro obousměrný provoz by se třeba do podmínek přes AND ještě přidaly jednotlivé Plány.

Okno vlastností tříznakového návěstidla N2, záložka Trigger, návěst VOLNO.

    V sekci Ke stažení v balíku souborů *.yr? nalezneme soubor lokopin_autoblok, kde si můžeme naprogramování pro inspiraci prohlédnout. Otázkou ovšem zůstává, kde vlastně autoblok využít. Úseky, tady prezentované bloky, jsou v reálu dlouhé 1 km, což v měřítku TT představuje přes 8 m. I po určité délkové korekci to půjde použít nejspíš jen v nějaké modulovce.

Na začátek článku

Osmička

    Jednoduchý úkol. Vlak má projet z Bloku 1 postupně přes Bloky 2, 3, 4, 2, 5 opět do Bloku 1. Tedy vlastně po dráze ležaté "osmičky". To celé dvakrát.

    Zdánlivě jednoduché. Ovšem jeden háček tu je. TC si určí sám, kam na výhybce V1 pojede. Zda do Bloku 3 nebo do Bloku 4. Pokud chceme, aby jel napřed do Bloku 3, musíme mu to nějak nařídit. Udělat to jde asi více způsoby. V souboru lokopin_osmicka je to uděláno pomocí Preferovaného bloku. Zapnutí a vypnutí Preference Bloku 3 zařídí vždy jedno makro, zapnuté na počátku a konci příslušného Plánu. Pro ty, co zapomněli, Preferovaný blok je takový, který si TC vybere v případě, když má více možností na výběr při stanovení cesty.

    Do verze 7(8) lze Preferovaný blok z verze 5.8 natáhnout, dokonce to snad i funguje, ale nový už udělat nelze. Autoři to zrušili. Nevadí, stejně to chodilo nějak podivně. Přišel jsem na dvě možnosti, které to mohou nahradit. Buď se použije nastavení směru v bloku, to je však trvalé pro všechny Plány, AutoTrain i Interlocking nebo se prostě použijí dva následné Plány s Průběžnou návazností.  V souboru lokopin_osmicka_7gf8 je to možno zkouknout.

Na začátek článku

Rychlost

    Předem upozorňuji, že tento odstavec Rychlost se vztahuje pouze na verzi 5.8 !!! Ve verzi 7 je to uděláno odlišně, je to popsáno v orig. manuálu RailCo (Rozdíly...ChangeDescription). V podstatě je rozdíl v tom, kde nasazuje rychlost následujícího bloku. Ve verzi 5.8 je to během bloku předcházejícího, ve verzi 7 a ž po projetí Brake markeru bloku následujícího.

    Rychlost vozidel v digitálu je závislá na mnoha faktorech. Necháme teď stranou ovládání manuální a budeme se věnovat pouze pokynům, které přicházejí z automatiky TC. Rozjezdové a brzdné akce ponecháme také stranou. Zajímavý už je ale základní systém řízení rychlosti, kterým je nastavení rychlosti v bloku. Zde je podstatné to, že mašina se na změnu rychlosti "připravuje" už blok předem. Je to vidět na následujícím obrázku. Pokud je v Bloku 3 nastavena max. rychlost na 90 kmh, už během jízdy v Bloku 2 je tato rychlost plynule nastavena. To "během" a "plynule" je dáno nastavením vlastností Acceleration a Deceleration v oknu vlastností mašiny, zál. Speed (násl. obrázek).

Dva posuvníky (Acceleration a Deceleration) určují, jak rychle se bude provádět při řízení z TC změna rychlosti (nikoli při zastavení v bloku, tam to určují indikátory Brake a Stop a délka Ramp). Vlevo je zrychlení a zpomalení rychlejší, vpravo pomalejší.

 

Rychlost lokomotivy v závislosti na hodnotě, nastavené v bloku (Maximum).

    Rychlost lze ovšem také měnit kdykoli v průběhu jízdy. Horní hranice je dána maximální rychlostí mašiny a rychlostí v bloku. Dolní mez je dána rychlostí Prahovou. Nastavíme-li Speed na nižší rychlost, než Prahovou, mašina zastaví. Prvek, kterým je možno rychlost měnit, je virtuální kontakt (VK). Pokud je sepnut, dojde ke změně rychlosti, která je nastavena prvkem Speed v záložce Operations prvku VK. Hodnota rychlosti se zadá po stisknutí tlačítka Change.

Přiřazení rychlosti 100 kmh k prvku VK51.

    Funguje to jednoduše. Jednotlivé bloky jsou dlouhé 100 cm (i Ramp), Blok 5 je dlouhý (400 cm). Tři jednotlivé virtuální kontakty (VK51, VK52, VK53) jsou umístěny v Bloku 5, ve vzdálenosti 100, 200 a 300 cm od indikátoru i5, kterým je DO Bloku 5. Jakmile mašina vjede do Bloku 5, po ujetí 100 cm se spustí VK51, na 200 cm VK52 a na 300 cm VK53. Jednotlivé VK mají přiřazeny rychlosti 100, 50 a 200 kmh. Jaká je reakce mašiny je vidět v následujícím obrázku. Lokomotiva tam vjede rychlostí 120 kmh. Po přejetí VK51 se rychlost sníží na 100 kmh, po přejetí VK52 se rychlost sníží na 50 kmh a po projetí VK53 se opět zvýší na maximum, omezené přiřazením rychlosti v tomto bloku, tedy na 120 kmh. Dobu přechodu, plynulost mezi jednotlivými rychlostmi je dána nastavením vlastností Acceleration a Deceleration v oknu vlastností mašiny, zál. Speed.

Průběh změn rychlosti v závislosti na nastavení pomocí virtuálních kontaktů.

    Příklad je v souboru lokopin_rychlost.yrr, který je opět v balíku lokopin_railco_58.zip . Virtuální kontakty VK51,2,3 mají v záložce podmínky (Condition) přepínač (Toggle Switch) P1, kterým lze funkce ovládání rychlosti zapnout (P1 vpravo) / vypnout (P1 vlevo). V simulaci jde vše krásně prohlédnout.

Přiřazení přepínače P1 (Toggle Switch) do podmínky (Condition) u VK51.

    S řízením rychlosti můžeme laborovat při nejrůznějších příležitostech. Původně jsem se tím začal zabývat v souvislosti s Autoblokem, pak jsem však po konzultaci s odborníkem (výpravčí z Protivína) došel k názoru, že to není třeba.

    Nesmíme ovšem zapomenout na to, že TC ovládá rychlost také sám, třeba na základě nastavení rychlostí v bloku nebo při rozjezdu a dojezdu a že tyto pokyny jsou těm našim nadřazené nebo se s nimi aspoň logicky sčítají. V praxi to vypadá následovně. TC posílá mašině pokyn ke změně rychlosti, kdykoli je to třeba. To nastane zejména:

  1. Při rozjezdu a dojezdu. Tedy při rozjíždění, zastavování, ale také při ostatních změnách rychlosti. Pokyny jsou závislé na tom, jak je rozjezd (Acceleration) a dojezd (Deceleration) u té které mašiny nastaven. Pokud jsou obě hodnoty na nule, přijde asi jen jeden pokyn. Pokud jsou hodnoty různé od nuly, přijde těch pokynů několik. Aby mašina zpomalovala nebo zrychlovala plynule.

  2. Vjede-li do bloku a následující blok má nastavenou jinou rychlost. I tady ovšem funguje vše dle bodu 1.

  3. Přijde-li pokyn Speed, nastavený třeba ve VK, v záložce Operations. A tady také funguje vše dle bodu 1.

    Všechny tyto pokyny jsou na sobě dost závislé a záleží také na tom, aby to mašina prostě stihla. Pokud má rozjezd a dojezd nastaven na nulu, stihne to zřejmě vždy, ale takhle to nikdy nenastavujeme, neboť změny rychlosti jsou potom velmi nerealistické. Vjedeme-li tedy do bloku o délce 100 cm rychlostí 200 kmh, nastavíme-li někde uprostřed pomocí VK rychlost na 50 kmh a máme-li deceleraci (dojezd) na určité hodnotě (třeba 6%), mašina prostě ze 200 kmh na 50 kmh v průběhu 50 cm prostě nestačí rychlost snížit. Přijde další blok a rychlost je dále upravována na rychlost bloku následujícího.

    Uznávám, že je to celkem guláš, stálo mě to hodně času a ještě jsem třeba vše neobjevil. Vyzkoušejte, uvidíte.

    Jestlipak to má Herr Freiwald takhle popsáno v manuálu? Raději jsem to ani nehledal...

Na začátek článku

Plán - průběh a návaznost

    Tento odstavec neobsahuje nějaký detailní, podrobný popis. Je to trochu soubor sebraných poznatků. A také ukázka toho, jak je tento software rozmanitý a jaké nepřeberné možnosti skýtá. Mnohé akce jdou zde provést více způsoby. Něco je pro určitý postup přímo určeno, něco zase chodí tak, že pochybuji, zda to vůbec autor tušil. A ještě to lze různě kombinovat, používat podmínky atd. Návaznost, sled Plánů patří ke stěžejním bodům automatiky a pro ukázku programovacích možností je jako dělaný.

    Ale nejprve k samotnému Plánu.

Průběh Plánu

Časování celého průběhu Plánu je následující:

  1. Spustí se Plán. Současně se spustí operace nastavená v poli Operations Start.
  2. Proběhne časová prodleva, nastavená ve startovacím bloku položkou Wait. Jde o redukovaný čas.
  3. Mašina se rozjede.
  4. Činnost v projížděných blocích je standardní.
  5. Dojetí a zastavení v cílovém bloku.
  6. Proběhne časová prodleva, nastavená v cílovém bloku položkou Wait. Jde o redukovaný čas.
  7. Spustí se operace nastavená v poli Operations Finish a současně dojde k případnému spuštění Plánů v Successors.
  8. Plán je ukončen.

    Doufám, že jsem časování zmapoval správně. Pokud naleznete odchylky, ozvěte se. Detailnější popis začátku průběhu je v článku TrainController - časování.

Návaznost Plánů

    Návaznost Plánů (Schedulers) je činnost, kdy se Plán P2 (případně i více Plánů) spustí po skončení Plánu P1. Jde to udělat různě. Různé mohou být také požadavky na činnost právě mezi těmito dvěma Plány. Tou činností může být řada akcí, spouštěná třeba makrem, např. osvětlení, závory, rozpojovač nebo jen čekací doba.

    Plán lze spustit mnoha způsoby. Přímo příkazem Start plánu/Schedule (je na více místech), tlačítkem (Push Button), pomocí časové tabulky (Timetable) nebo třeba makrem.

    Pokud chceme spustit Plán P2 po skončení Plánu P1, máme asi dvě hlavní možnosti:

  1. Spuštění umístěním Plánu P2 na záložku Successors Plánu P1.

  2. Spuštění pomocí Operations Finish (zál. General) v Plánu P1. Tady musí být ovšem makro, které Plán P2 spustí. (V makru může být samozřejmě celá posloupnost nejrůznějších příkazů, zpoždění atd.)

Ad 1.    Successors.

Po skončení Plánu P1 se provede vybraným způsobem spuštění Plánů P2, P3, P4. Význam voleb ve spodní části záložky už byl popsán.

    Spouštění dalších Plánů pomocí záložky Successors je právě tou, pro tuto činnost určenou, akcí. Na záložce Successors je totiž řada voleb, jejichž použití výrazně přidá prvek náhodnosti. Musíme si uvědomit, že každý Plán může mít na záložce Podmínky (Conditions) také svoji podmínku, takže se může, ale nemusí v určitém okamžiku spustit. Je-li tedy vybráno třeba By Order, spustí se ten první Plán, který spustit lze. Rovněž třeba Random vybere jeden Plán náhodně, ale zase jen z těch Plánů, které mají splněnou Podmínku. Právě tady jde tedy nastavit, že vlaky jezdí sice třeba podle harmonogramu, spouštěné časovou tabulkou, ale přesto zde funguje spousta náhodných prvků, které přispívají ke zcela reálnému obrazu provozu.

    Když spouštíme Plány tímto způsobem (je to ten prvotní, správný způsob), máme ještě řadu možností, jak zabudovat do provozu spouštění dalších činností. Předně můžeme využít pole Operations na zál. General v Plánu. Tady můžeme v roletách Start a Finish vybrat akce mašin (třeba zvuk při startování) nebo makra, která mohou ovládat cokoliv (od osvětlení, až po třeba spuštění jiného Plánu po uplynutí určitého zpoždění atd.). Takže teď se ještě zastavíme u této, druhé možnosti.

Ad 2.    Operations Finish

Po skončení Plánu P1 je spuštěno makro RunWait2_sound_Wait5_P2.

    V makro RunWait2_sound_Wait5_P2 pak může být sled nejrůznějších příkazů, včetně čekacích dob.

V  makru RunWait2_sound_Wait5_P2 je čekací doba 2 vteřiny, pak se přehraje zvuk. soubor, potom znovu čekací doba 5 vteřin a nakonec se spustí Plán P2.

    Mezi oběma způsoby je jeden podstatný rozdíl. Pokud se spouští pomocí Successors, nemusí vlak v cílovém bloku vůbec brzdit, natož zastavit. Dojde k tzv. Průběžné návaznosti. Stane se tak v případě, že jsou splněny podmínky pro spuštění Plánu následného (P2) a směr se nezmění. Možná kostrbatá věta, ale znamená v podstatě jednoduchou věc.

Plán P1 je pro Brejlovce z bloku B01, přes B02, B03 a B04 opět do B01. Tedy jedno "kolečko" ve směru hodinových ručiček.

    Přidáme-li do Plánu P1 do Successors Plán P2, který bude nastaven na stejnou mašinu a opět ve směru do B02 (může to být prakticky kopie P1 nebo třeba jen Plán z B01 do B02), Brejlovec v bloku B01 nezastaví (pokud je v B01 nastaveno Wait = 0 ) a bude plynule pokračovat dále. Stav příslušných návěstidel bude rovněž odpovídající. TC prostě sám rozpozná, že následuje Plán, který vlastně stejnou mašinu posílá dál.

    Další poznámka se týká čekací doby mezi dvěma navazujícími Plány. Stačí jen nastavit v druhém Plánu čekací dobu (Wait) do startovacího  bloku. Každý spuštěný Plán totiž nejprve "odstojí" tuto čekací dobu, a pak se teprve mašina rozjede.

    Ještě bych poznamenal, že pole Operations Start a Finish se používají především pro činnost funkcí mašin (Engine Operations), jako jsou zvuky, píšťaly a pod., případně pro spuštění nějakého makra, které může provádět celou posloupnost příkazů.

    Snad jsem tuto problematiku trochu osvětlil a, jak je mým zvykem, třeba občas ještě něco doplním.

    Na začátek článku

Plán - spuštění

    Jak už bylo řečeno, Plán lze spustit mnoha způsoby. Rovněž vozidlo, na které je Plán aplikován (tedy mašina/vlak), je možno vybrat určitým způsobem. Vyzkoušel jsem několik postupů a triků, které snad stojí za pozornost. Nejsem si jist, co byl záměr autora softwaru, co vyplynulo tak nějak samo o sobě a co je třeba spíše chybou v programování. Není to ani tak podstatné.

    Aby se Plán spustil, musí být splněny určité podmínky. K těm základním patří, že:

Výběr mašiny

    Při spuštění Plánu musí TC vědět, kterou mašinu má spustit. Ta ovšem musí být přiřazena v nějakém bloku, který do tohoto Plánu patří. (Nebo tam musí teprve přijet, viz dále.) Na výběr mašiny mají vliv dvě nastavení.

Pouze vlaky, umístěné ve Start blocích.
 
Záložka Vlaky, na které se Plán vztahuje. Není-li tam žádný, platí to pro všechny.
  1. V Pravidlech (Rules) je volba Pouze vlaky, umístěné ve Start blocích.
  2. Záložka Vlaky, kde je možno jeden nebo více vlaků vybrat, přiřadit k Plánu. Není-li tam žádný, platí to pro všechny.

Obě nastavení na předchozích obrázcích lze různě kombinovat, takže Plán se pak vztahuje třeba na:

    Lze nadefinovat i více vlaků, než jeden, které jsou nebo nejsou ve start bloku. Vždy je ovšem puštěna mašina jenom jedna. Podle jakého algoritmu se rozhodne, o kterou mašinu jde, to jsem nezjistil.

    Plán je svázán s jedinou mašinou (vlakem) po celou dobu svého spuštění. Nové poznatky toto "pravidlo" ovšem popřely.

    Výběr mašiny (vlaku) spuštěné plánem je určitým způsobem volitelný. Plán lze ovšem spustit opakovaně, na jinou mašinu, a tak na jediný plán vázat mašin více. S každým spuštěním plánu, se tento naváže vždy na jednu (další) mašinu (vlak).

Platí tedy vztah:

Plán : Loko = 1 : N

    Jednoduše řečeno, jedním plánem lze spustit více loko/vlaků. Ne ovšem najednou, ale postupně. Každý příkaz pro spuštění plánu je vyhodnocen, a pokud vyhovují podmínky pro spuštění, je plán spuštěn pro další (jinou) loko/vlak. Jeden plán tak může vést několik mašin. Jistě se najdou situace, kdy tento trik využijeme. V některých případech to může nahradit mnoho jednotlivých plánů. Kolikrát lze takto plán spustit, jsem nezjistil. Informaci o počtu spuštění získáme příkazy, které umístíme v oknu vlastností příslušného plánu, zál. General, pole Operations: Start: (+1) a Finish: (-1). Ve verzi 8G jednoduše pomocí Counter, v nižších verzích je nutno si pomoci třeba konstrukcí dvojkového čítače z Flagmanů.

    Při programování těchto konstrukcí je třeba postupovat velmi opatrně.1)  Povedlo se mi spustit mnohonásobně cyklický plán na tři mašiny. Mnohonásobné spouštění bylo generováno Timetable v krátkých intervalech. Kdoví kolikrát byl plán vlastně spuštěn. Jak známo, při cyklickém plánu jsou startovní a cílové bloky na stejném místě. Každá z mašin projela bez problémů asi tři kola. V okamžiku, kdy jedna z mašin vjížděla do start/cíl bloku a jiná byla připravena k rozjetí, se najednou nerozjela ta správná, ale naopak ta, co měla zastavit. Jakoby se utrhla z plánu a začala nekontrolovaně jet, ignorujíc veškeré rychlostní příkazy (bloky, výhybky, Action markery). V té chvíli jsem si vzpomněl, že podobnou situaci vyvolalo i několikanásobné spuštění Interlockingu (Spontaneous Run). Také několik mašin jezdilo chvíli dobře, než se to zbláznilo. Interlocking (ve verzi 8 Spontaneous Run) je také vlastně jediný plán, který lze spustit víckrát, na více mašin.

    Už při spouštění Interlockingu mě mělo trknout, že to jeden plán vede více mašin. Netrklo, a tak jsem se pořád domníval, že jeden plán = jedna loko/vlak. Když něco nejde, dejte to někomu, kdo neví, že to nejde a on to udělá. Přesně to se stalo a kolega Michal Kloz takto několikanásobně spustil jediný plán, což bylo inspirací pro objevení mého chybného předpokladu a pro editaci tohoto článku. Díky, Michale.

1) Osobně nedoporučuji tyto konstrukce používat. Uvádím to zde pouze proto, že to TC umožňuje, že to to není nijak blokováno.

    Na záložce Obecné (General), jsou ještě další zajímavé možnosti nastavení.

Plán, zál. Obecné a parametry Typ, Počet opakování a Zkusit znovu.
 
Plán P11+ je v čekacím, testovacím módu.

    Bohužel zde autoři poněkud nezvládli obnovovací frekvenci zobrazování, a tak se v některých případech ukáže aktuální obraz ikon Plánu třeba až po klepnutí myší do oken Dispečera. Na funkci to však naštěstí nemá žádný negativní dopad.

    A je zde ještě další možnost "odloženého" spuštění Plánu. V záložce Pravidla je zatržítko Start schedule even if the train cannot leave the current block, tedy Start Plánu i v případě, že vlak nemůže opustit blok. Třeba blok nebo cesta můžou být uzamčené, obsazené. Oproti předchozí "odložené" možnosti, tady však musí být vlak v bloku Plánu definován (ve startovacím nebo jiném, podle dalších voleb).

Start Plánu i v případě, že vlak nemůže opustit blok.

Na začátek článku

Plán - ukončení

    I ukončení Plánu je mnohočetné. Tím nejobvyklejším je, že se Plán ukončí sám. Provede, co má, tolikrát, kolikrát je nastaveno (Počet opakování) a šmytec. Je ukončen.

    Plán je ovšem možno ukončit i "násilně", v libovolném stavu. Na záložce Operace (makro, tlačítko, flagman...) je totiž nabídka pro Plán, kde je možno zvolit nejen spuštění jedním či druhým směrem, ale také ukončení (neaktivní/stop).

Ukončení (okamžité) Plánů P11+, P11- a U11+.

    Na konci Plánu však mohou být nastaveny další akce. Předně je možno spouštět další Plán. Jeden i více. Nebo také sám sebe. Také může být nastaven Počet opakování = > 0 u cyklického nebo kyvadlového Plánu. V každém případě je možné, že na konci jednoho Plánu dojde k pokusu o spuštění dalšího. Stejného nebo jiného. Pak záleží na tom, zda jsou splněny Podmínky a zda je nastaveno Zkusit znovu > 0. Příslušný Plán se buď spustí nebo nespustí nebo přejde do čekacího, testovacího stavu (šedé vybarvení).

    Z předešlého plyne další zajímavost. Plán P1, nastaven Cyklicky, Počet opakování=0. Start-cíl v jednom bloku, tedy jezdí dokola. V Podmínce je třeba vypínač. Plán po dojetí do cíle spouští Nástupce P1, tedy sám sebe. Zapne se vypínač, spustí se Plán P1. Ten jezdí dokola tak dlouho, dokud se vypínač nevypne. Při následném pokusu o spuštění Nástupce P1 není podmínka splněna. Plán P1 se vypne, Nástupce P1 se nespustí. Takto jednoduše lze ukončit plán v nekonečném provozu pomocí libovolné podmínky, a to přesně v okamžiku, kdy je loko v cíli.

    Všechno jsou tedy kombinace různých nastavení a nejlépe si to lze vyzkoušet třeba na simulaci v souboru lokopin_triky_plany, který je opět obsažen ve známém lokopin_railco_58.zip.

    Tyto postupy je také možno bohatě využívat při automatickém provozu. Plány, spouštějící samy sebe, s nastaveným Počtem opakování=0, v Podmínkách přiřazené třeba vypínače atd. Tady je opravdu široké pole možností a každý si jistě vybere, co mu vyhovuje. Nastavení Plánů na Cyklické či Kyvadlové a Počet opakování ≠1 má však své "háčky". U  Cyklického a Počtu opakování =  0 se musí dalším způsobem zajistit ukončení Plánu, u Kyvadlového mohou být zase potíže s různým nastavením Kritických sekcí pro oba směry.

    Nejjednodušším a nejpřehlednějším způsobem automatického provozu je tedy používání Plánů typu Normal (příp. vhodně zvolené Zkusit znovu) a pro jejich opakované spouštění využít Jízdní řád (Timetable). Pro zvýšení neopakovatelnosti je možno některé Plány rozdělit na dvě i více sekvencí. Základní podmínkou bude však vždy nastavení nezávislého chodu jednotlivých Plánů.

    Na začátek článku

Jízdní řád (Timetable)

    Timetable (dále jen TT), Časová tabulka, Jízdní řád... Tento jednoduchý, ale velmi mohutný nástroj TrainControlleru, jde opět využít nejrůznějším způsobem. Účelem TT je spustit určitý Plán v určený čas. Tento čas řídí hodiny TC a lze jej nastavit tzv. redukovaným způsobem, poměrem mezi skutečným a modelovým časem. Většinou plyne modelový čas rychleji, defaultní nastavení je asi 10, tedy za jednu minutu skutečného času uběhne 10 minut času modelového. To abychom u kolejiště nečekali příliš dlouho a aby to prostě víc "frčelo".

    Hlavním úkolem TT je vytvořit běžný harmonogram jízd vlaků, třeba na celý den, týden, rok atd. O tom už trochu řeč byla, tady uvedu spíše opak, tedy nastavení nepřetržité automatiky pomocí TT. Zase asi budou konkrétní údaje jasnější.

    Dejme tomu, že existují dva Plány, P11+ a P11-. Jsou nastaveny tak, aby z bloku B1 (B2) objely jedno kolečko, Plán P11+ po směru hod. ručiček, P11- opačně. To je tedy výchozí stav a nyní chceme oba dva Plány spustit. Najednou, a tak, aby jezdily stále, nechaly se jednoduchý způsobem ukončit, a to tak, aby oba vlaky byly ve výchozích pozicích. Pomocí TT..."nič jednoduchšie".

Po přepnutí Dispečera tlačítkem Timetable se zpřístupní volba z nabídky Plán - TimeTable (Jízdní řád.).
 
Po výběru předchozí nabídky otevřeme (třeba poklepáním na řádek) okno vlastností TimeTable. V poli Operace lze vybrat Plán, Výběrový plán nebo makro. Pokud je v položce Opakovat nula, Plán je spuštěn jen jednou, pokud je tam třeba 60, Plán je spuštěn v průběhu 24 hodin každou hodinu. To je vidět při vypnutí Edit módu.

    Na spuštění více Plánů použijeme buď přímo samotné Plány (klidně ve stejném čase), ale makro je lepší nebo nejlépe spouštěcí, tzv. Výběrový plán (V1), který je vlastně udělán právě jen na spouštění jiných Plánů. Pak stačí do okna TT vložit jeden povel, nastavit četnost spouštění (třeba Opakovat každou 1 minutu) a je to. Pokud se spouští Plán, který ještě není ukončen (může být v provozu i v testovacím módu), nic se nestane. Po vypnutí Edit módu se časy "rozprostřou" v intervalu 1 minuty do celých 24 hodin. Na spuštění činnosti postačí aktivovat tlačítkem hodiny, pro ukončení se hodiny vypnou. Vlaky dojedou do cílových (výchozích) bloků a Plány se ukončí.

Takto vypadá jeden záznam v Timetable v Edit módu ...
 
... a takto to vypadá, když se Edit mód vypne. V tom detailním, podrobném způsobu to však bude plné nejrůznějších Plánů, pro jednotlivé vlaky, bez opakování. O tom však teď řeč není.

Poznámka: Výběrový plán má rovněž testovací dobu Zkusit znovu (Try again), kdy se pokouší spustit určené, vybrané Plány. Celkovou dobu však vždy tvoří maximální hodnota Výběrového plánu, včetně všech dob spouštěných Plánů. Je-li např. Výběrový plán nastaven na 60s, jeden ze spouštěných Plánů na 120s a druhý spouštěný Plán má Zkusit znovu=180s, pak se Výběrový plán bude pokoušet celé 3 minuty (tedy 180s) spouštět oba Plány. Výběrový plán je ukončen po uplynutí této celkové doby nebo ihned, jak se povede spustit všechny dané Plány. Nad logikou tohoto systému by šlo jistě polemizovat, ale zřejmě zbytečně. Bohužel, tady se autoři ani nenamáhali znázornit šedým zbarvením Plány v testovací době. V souboru lokopin_triky_plany (lokopin_railco_58.zip) lze opět v simulaci prozkoumat.

    Shrnu-li tedy výhody Timetable pro automatický provoz, jsou zřejmé. Nadefinování je otázkou několika minut, a pak lze jediným tlačítkem, které je už v liště (Spustit/zastavit hodiny) zapnout a vypnout celý provoz. Po vypnutí dojedou mašiny do cílových stanic, což při správném použití jednotlivých Plánů mohou být i stanice výchozí.

    Na začátek článku

Chyby

    Napsat program bez chyby je téměř nemožné. Vždy se něco najde. Před uvedením do provozu pak nastává činnost zvaná ladění, odstraňování chyb. Metody jsou různé, pro ty méně zasvěcené uvedu některé, které s úspěchem používám v programu RailCo TC.

    Předně je třeba využívat možností, které program nabízí. Sem patří výpis zpráv (Messagess), Dr.Railroad, Nápověda (většinou stojí za to prohlédnout Manuál i Kontextový Help), kde lze získat základní informace. Jedním z nejdůležitějších nástrojů je New Explorer, který přehledně zobrazuje veškerá nastavení, ale hlavně i vztahy mezi jednotlivými prvky, kde jsou použity, čím jsou ovládány, za jakých podmínek atd. Pokud se "něco" chová jinak, než je třeba a nevíme proč, právě v Exploreru je vidět, kde je prvek použit a jak.

    Program TC ovšem obsahuje sám některé chyby nebo nedostatky, neboť ho tvoří lidé. Někdy prostě nelze nějakou činnost identifikovat, srovnávání s obdobným, navenek stejným prvkem, nevede k výsledku, a pak existuje jedna velmi účinná metoda, známá pod mnoha jmény. Za všechny uvedu jen "Vystoupit a nastoupit", který má původ v základním programátorském vtipu. Praktické aplikování má podob více, ovšem jedna z nich funguje nejčastěji. Nefunguje-li něco správně, smažeme to a uděláme znovu. Stejně, ale pokud možno bez kopírování, opětovným vytvořením. Může to být jen výhybka, návěstidlo, ale i blok, celé zhlaví nebo někdy i celý layout.

    Další, velmi používanou metodou je porovnání. Se stejným nebo hodně podobným prvkem. Lze to udělat stejně se softwarem, jako s hardwarem. V TC porovnáme třeba dva bloky (nejlépe v Exploreru) nebo prohodíme třeba dva stejné dekodéry nebo detektory obsazení nebo jen jejich vstupy či výstupy. Podle toho, jak se změní nebo nezmění chování, lze pak usoudit, v čem je chyba.

    A ještě jedna metoda. Postupné odstraňování nesouvisejících prvků. Aplikuje se v softwaru i v hardwaru. Řekněme, že máme layout (program TC, plán, návrh kolejiště) s deseti bloky, s deseti návěstidly, s deseti výhybkami. Jedno návěstidlo nechodí správně, je třeba závislé na jiném. Layout si zkopírujeme do záložního souboru a postupně odstraňujeme všechny prvky, které s tím chybným návěstidlem nemají nic společného. Lze to dělat jak na layoutu, se softwarovými prvky, tak i s prvky hardwarovými. Postupně odpojujeme dekodéry, detektory, až třeba po výměnu ovladače nebo centrály. Někde prostě chyba být musí. Když chyba zmizí, je vadný naposled odstraněný prvek. Je to sice poměrně dost obtížná, agresivní metoda, ale někdy prostě nic jiného nezbývá.

    Z mnoha příkladů uvedu jeden. Dělal jsem pár nových bloků, celkem osm. Zapojil, vyzkoušel, všechno OK, ale najednou problém. V jediném bloku. Mašina vjela dovnitř, kde měla zastavit, na rampě snižovala rychlost až na prahovou, ale pak nezastavila. Prahovou rychlostí v klidu pokračovala dále. Pořád. Ani jsem nezkoušel, jestli zastaví někde v dalším bloku nebo jak dlouho pojede. Porovnání s blokem, který fungoval dobře, nic neukázalo. Všechna nastavení v pořádku. Stačilo však blok smazat, vytvořit znovu a chyba zmizela. Jednoduché a účinné. V souvislosti s podobnými problémy zmíním jednu věc. Kopírování mnohdy usnadní práci, ale někdy právě to kopírování vede k podobným problémům. "Něco" se převede, ale ne vše je pak zobrazeno a tudíž nejde odstranit. Nedoporučuji prvky (zvláště bloky) kopírovat. Lépe je nové vytvořit.

Na začátek článku

Závěr

    Zde mohu jen napsat, že Závěr není závěr. Zatím přidávám, až se ze mne kouří.

Na začátek článku
Menu

LokoPin      19.03.2009 Editace grafických prvků
  26.03.2009 Nápověda
  28.03.2009 Automatické rozpojování
  28.03.2009 Fiktivní prvky
  01.04.2009 Doplnění o ND4
  27.04.2009 Bloky - umístění na kolejišti
  16.03.2010 Autoblok
  16.03.2010 Osmička
  18.03.2010 Rychlost
  18.07.2010 Fiktivní prvky - editace
  13.09.2010 Plán - průběh a návaznost
  04.10.2010 Chyby
  05.10.2010 Chyby - postupné odstraňování
  23.03.2011 Plán - spuštění, ukončení, Timetable
  11.03.2012 Rychlost - rozdíl mezi 5.8 a 7
  10.10.2012 Akcelerace a decelerace při změně rychlosti
  17.11.2012 Vazba Plán - Loko
  11.01.2013 Izolované úseky - detekce obsazení  doplnění odkazu
  11.12.2013 Vazba Plán - Loko
  03.07.2014 Osmička - verze 7
     
  19.08.2016 (poslední editace)
   
Spolupracovali: Igor Kmeť (Rychlost), Michal Kloz (Vazba Plán - Loko)