RailCo 5.8 - automatický provoz

  1. Úvod
  2. Mechanizmus automatiky
  3. Automatika v kostce
  4. Smíšené ovládání
  5. Spouštění více plánů
  6. Rezervace a uvolnění bloků
  7. Kritická sekce
  8. Dojezd plánů
  9. Závěr

Úvod

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.

    TrainController (TC) ve verzi 5.8 neumožňuje zabezpečení při manuálním ovládání, čímž je myšleno ruční ovládání (z ručního i programového ovladače loko). Obsazování bloků při jízdě sice funguje normálně, ale je možno vjet i do obsazených bloků. I plány však umožňují manuální a poloautomatické ovládání lokomotiv a vlaků, tentokrát při plném zabezpečení a při funkční ostatní automatice. Dále jsou tedy popisovány pouze akce, které jsou ovládány pomocí automatiky, tedy plánů (Schedules).

    Cíl mého snažení byl od počátku jasný. Plně automatický provoz, řízený počítačem (PC) a kombinovaný s manuálním ovládáním. I když jsem o digitálu něco už napsal, stále toho asi není dost. Je to vidět z dotazů, které ke mně dorazí. Digitálně lze na kolejišti ovládat mnoho věcí, lokomotivy, výhybky, návěstidla, ale teprve plné, automatické řízení celého provozu, řízené PC, ukáže celou sílu digitálu. Při přechodu z analogu na digitál jsou zřejmě na místě různá částečná, přechodová řešení. Vždy bychom ale měli mít jasno v tom, co a jak chceme ovládat. Nemalý vliv má rozhodně i uspořádání kolejiště, které může být od nejjednoduššího, tvořeného dvěma malými nádražími na koncích jednokolejky, až po ty nejsložitější vlakodromy, s několika velkými nádražími. Způsob řízení a ovládání se v těchto dvou případech bude asi dost lišit. Moje představa byla od počátku jasná (i když trochu mlhavě). Automatický provoz několika vlaků najednou, řízený PC a k tomu možnost současného manuální řízení, třeba posunu, na nákladovém nádraží nebo v depu. Základní testy jsou už za mnou, teď jsem se tedy konečně začal věnovat té automatice. Další informace o automatice, Plánech, Jízdním řádu atd. naleznete třeba v článku "RailCo 5.8 - tipy a triky" a nově též v článku RAILROAD & Co  7(8) - automatický provoz krok za krokem.

Na začátek článku

Mechanizmus automatiky

    Rád bych teď popsal můj počáteční přístup k TC, k automatickému provozu a s jakými jsem se potýkal problémy. To vše ne proto, abych si pobrečel, ale domnívám se, že velmi podobné přístupy a potíže budou mít i jiní. Domnívám se tak na základě dotazů a různých konzultací, rozhodně to nejsou žádné plané dohady.

    Na začátku jsem totiž vůbec netušil, jaká je posloupnost postavení cesty, nastavení výhybek a nastavení návěstidel. Na různé dotazy kolegům přicházely zcela rozporuplné odpovědi. Viděl jsem řadu výsledků od kolegů, kteří s digitálem začali také laškovat. Dojel jsem se podívat dokonce na nádraží do Ražic u Písku, kde mi známý výpravčí popsal, jak se to dělá v reálu (snímek je v RailCo - software pro ovládání modelové železnice). Napřed jsem nastavoval návěstidla zcela nezávisle. Třeba tlačítkem se nastavila cesta (ta si už sama nastaví výhybky), a pak jsem k tomu tlačítku ještě přidal rozsvícení požadovaných návěstí na několika návěstidlech. Při vypnutí cesty se pak zase musela návěstidla zhasínat do červené. To byla ovšem naprostá pitomost. Alespoň pro dosažení plnoautomatického provozu.

    RailCo TC to dělá vše sám. Proto je na Bloku záložka Signals, kde se nadefinuje jen typ a adresa návěstidla, které pak Blok sám nastavuje. Že se pak ještě návěstidlo nakreslí znovu vedle a přiřadí se mu požadovaný typ zobrazení, to na to nemá vliv. Bude tam ale hlavně ta stejná adresa, jako u návěstidla v Bloku. Takhle udělaná návěstidla pak nastavují základní 2 nebo 4 návěsti. Dvoustavové návěstidlo je jasné (třeba modrá-bílá), u 4-stavového výstupu je nutno ještě provést převod na soustavu ČSD/ČD. To už ale udělá třeba návěstní dekodér MTBbus ND4 (Návěstidla - zapojení a ovládání světelných návěstidel v digitálním provozu). Návěstidla samozřejmě lze nastavit i zcela nezávisle. I taková, která jsou nastavovaná "Blokem". Musí se jen nastavovat časově až potom, co to udělá Blok. Nebo se k Bloku vůbec nenadefinují, nepřiřadí (v záložce Signals). Nenapadá mě případ, kdy by to bylo nutné. Třeba časem na některé speciální případy narazíme. Zatím jsem třeba nezkoumal, jak to bude u cestových návěstidel ve stanici, tam by to možná připadalo v úvahu.

    Na začátku mi prostě chyběla jedna základní věc, a tou byla posloupnost a závislost dílčích akcí. Posloupnost je Plán, Výhybky, Cesta, Bloky, Návěsti (příp. Ovládání loko). Takže při správném nastavení plánu se ostatní dělá SAMO, něco hned, něco průběžně. A to mi nikdo neřekl. Považuji to za natolik důležité, že to znovu a postupně rozepíšu:

  1. Spuštění plánu (tlačítkem, z lišty, z Timetable...). Je nutné nastavit správně parametry (zatržítka) na záložce Rules. S jejich významem je třeba se důkladně obeznámit. Jakékoliv nastavování "od oka" bude provádět všechno možné, jen ne to, co chcete (opět vlastní zkušenost).
  2. Nastavení výhybek. Tady bude nastavování výhybek postupné. Pokud nejde o zcela jednoduchý plán, zdaleka není jasné, která Cesta nakonec bude "ta pravá". TC se bude rozhodovat a nastavovat teprve v průběhu provádění plánu, a to podle toho, jak mu bude umožněno (celkovou situací) obsazovat potřebné Bloky.
  3. Nastavení Cest. Z bodu A do B jich může vést více, je jen na nás, co všechno označíme. TC si vybere sám. Některé trasy (Bloky) můžeme preferovat, některé naopak zakázat. Cesta se bude nastavovat průběžně. Důležité bude nastavení kritických sekcí (viz dále).
  4. Nastavení (obsazování) Bloků. Tady se bude hledět na preferované a zakázané Bloky. Obsadit jde pochopitelně jen ten Blok, který je volný, neobsazený. Způsob a počet obsazování je opět řízen některými parametry (zál. Rules - Look Ahead during Reservation). 
  5. Nastavení návěstidel se bude řídit dle přiřazení k Blokům (zál. Signals).

    Teď k tomu pár poznámek. Po spuštění plánu (je vidět v Dispečeru) se TC snaží zjistit obsazenost Bloků podle parametrů, zadaných v plánu. Přihlíží se také k nastavení vlastností Bloků a vlastností Bloků plánu v Dispečeru. Když je to možné, nastaví výhybky, a pak Cestu a Bloky, pak dle Bloků návěstidla. Nezjistil jsem, který z bodů 3 a 4 se provede dříve. Není to asi podstatné. To hlavní spočívá v tom, že TC staví Cestu, obsazuje Bloky, nastavuje návěstidla postupně, "cestou", podle různých parametrů a podle dalších možností. Pokud dojde v průběhu provádění plánu k tomu, že cesta není dál volná, mašina zastaví (obyčejně v předchozím Bloku, ale také dle nastavení Kritické sekce) a čeká, dokud se další Blok neuvolní. Blok při tom ukazuje samozřejmě potřebné návěsti. Ovládání jízdy lokomotivy možno nastavit ve čtyřech stupních, od plnoautomatického až po zcela ruční.

    Při plnoautomatickém provozu není tedy třeba vytvářet nějaké Cesty (TC si potřebné udělá sám), ani programovat ovládání návěstidel (ta stačí přiřadit k Blokům), TC si poradí sám.

    Pokud jsou naše požadavky a "ovládací chutě" zcela (nebo částečně) ruční, nic jednoduššího. Všechno, co může udělat automatika, můžeme dělat i ručně. Nenadefinujeme žádný plán, přestavíme jen výhybky (můžeme i zcela ručně nebo pomocí Cesty, kterou vytvoříme), nastavíme návěstidla a jedem. Podle návěstní soustavy. Jsme tedy strojvůdce i výpravčí. Nebo nás může být víc (spíš musí, než může). Pokud budeme používat nadefinované Cesty, správně nastavovat návěstidla a řídit se jimi, kolizím se vyhneme. Ale tohle můj obor není a "výzkumy" v této oblasti přenechám rád jiným.

Na začátek článku

Automatika v kostce

    Informace tohoto odstavce už  uvedeny byly. Ale protože ohlasy a dotazy svědčí o tom, že můj popis této problematiky není zdaleka jasný, a protože pořád platí moje oblíbené heslo "Informací není nikdy dost", pokusím se ještě o takový stručný přehled.

    Především je třeba určit, co se má vlastně dít. Jaké mašiny (vlaky), odkud kam a kdy mají jezdit. A zajistit, aby se někde nesrazily. Tohle všechno udělají Schedules (Plány). Je třeba je jen správně nastavit, naprogramovat. Nastavení cest, výhybek, návěstidel, ovládání vlaku, to vše dělá plán. Má řadu parametrů, kterými se určuje, jak a kdy se plán spustí, kde je start a cíl cesty, které trasy jsou k dispozici a které třeba nesmí být použity. V plánu je určena i rychlost (např. pro jízdu odbočkou) pro určité části (vlastnosti cesty a bloku v plánu) a způsob ovládání vlaku (v několika stupních od plně automatického až po ruční). Ve vlastnostech bloku v plánu se také určují nejrůznější akce mašiny (čekací doba, ovládání světel a píšťaly loko, ale i třeba rozsvícení nádraží, aktivace přejezdu a pod.).

    K výrobě, ladění, ale třeba i ke spouštění plánu slouží okno Dispečer. Po vytvoření se plán nejprve vyzkouší, případně odladí (odstraní se chyby). Potom se spouští i s dalšími plány současně a prověřuje (odlaďuje) se zabezpečení. Nastavení správného zabezpečení je asi tou nejtěžší věcí u plánu, ale zase na to platí celkem jednoduché pravidlo. Máme-li v návrhu správně rozmístěné bloky, vlaky, jedoucí proti sobě, se za normálních okolností nesrazí. Těmi normálními okolnostmi je myšleno, že vlak nejede napřed vagony, které nespouští obsazení bloku, že uvolnění bloků je nastaveno až po dosažení konce bloku následujícího atp. Zamezení čelní srážky je to nejmenší. Je však také potřeba zajistit, aby vlak, který někam vjede, také odtud mohl vyjet. A na to máme Kritické sekce, jak uvidíme dále.

  1. Automatika spočívá v tom, že více než jeden plán běží současně a hlavně nezávisle na sobě.
  2. Plán má spoustu parametrů, ale základních je málo. Vlastně jde jen o to, určit odkud kam mašina (vlak) pojede. Blok (a cesta) má vlastně dvě okna vlastností, jedno to normální (na layoutu, tedy návrhu kolejiště), druhé přímo v plánu, v Dispečeru (přes kontextové menu na bloku, postavíme se na blok a stiskneme pravé tlačítko myši). Na tom oknu vlastností bloku v plánu se určí počátek a konec (Start Block, Dest Block). Plán taky musí mít nastaven Type (Normal, Shuttle, Cycle). Shuttle (kyvadlově) a Cycle (dokola) jsou ta obvyklá nastavení.
  3. U plánu jde určit, zda se bude vztahovat na určitou mašinu a zda musí být tato mašina při spuštění plánu ve startovacím bloku. Spouští-li se plán z jiného plánu, lze určit, zda to musí být stejná mašina nebo jiná a další možnosti.
  4. Před spuštěním musí být v blocích přiřazeny mašiny (nejlépe ve startovacích blocích) . Pokud je mašina v plánu na záložce Trains určena (nebo několik mašin), pro jinou mašinu se plán nespustí.
  5. Při spouštění plánu plánem a volbě Change, se spustí plán jen pro jinou mašinu. Tohle jsou už složitější konstrukce, které bych zpočátku vynechal. Faktem je, že právě tenhle systém, tedy spouštění plánu plánem a přitom použití různých voleb (třeba Random), lze dosáhnout mnohem realističtějšího provozu, tedy tak, že provoz je hodně nahodilý a situace na kolejišti se téměř neopakují.

Shrnu-li automatiku, používají se hlavně dvě varianty.

  1. Plány (libovolný počet) se nastaví na Cycle (dokola) nebo Shuttle (kyvadlově), Repeat Count se dá na nulu (do nekonečna) a spustí se (třeba nějakým tlačítkem na ploše). Jezdí to, dokud se to zase nevypne. Každý plán musí být nastaven s ohledem na správné zabezpečení (např. Kritické sekce). Poněkud problematické je však ukončení plánu ve výchozí stanici.
  2. Jednotlivé plány se spouští harmonogramem (Timetable) v určenou dobu. Nastavení zabezpečení je opět samozřejmé. Výhodou je, že, při správně nastavených plánech, dojedou vlaky až do cílových stanic. Další info v článku "RailCo 5.8 - tipy a triky".

    Abych nezapomněl, důležitou součástí při ladění jsou Messages (Zprávy). Pokud se plán nespustí, neobjeví se v Dispečeru v okénku Active Schedules, přečteme si v okně Zpráv, proč. Pro detailnější výpis zatrhneme Verbose. Předchozí zprávy lze vymazat tlačítkem Clear. Neovládáme-li jazyk, pomůžeme si překladačem. A rozlišujeme plán, který se nespustí (něco je špatně, plán se neobjeví v Active Schedules) a plán, který se spustí a čeká (objeví se v Active Schedules, ale zatím se nic neděje).

    Pořád se vám to zdá složité? Tak znovu přečíst a hlavně programovat a ladit.

Na začátek článku

Smíšené ovládání

    Smíšeným ovládáním mám na mysli řízení digitálního kolejiště automaticky, pomocí softwaru (počítač) a současně pomocí povelů ručních, ať už třeba rovněž z počítače nebo z nějakého ručního ovladače. Dotazy na tohle téma jsou poměrně časté. Pokusím se alespoň něco trochu osvětlit, neboť špatné informace vedou některé z vás ke zcela mylným závěrům.

    I při automatickém provozu lze nastavit jeho intenzitu, "hloubku", Driving Mode. Tedy plnoautomatické, poloautomatické (2 stupně) či manuální ovládání mašiny. Při spuštění určitého Plánu musíme částečně nebo úplně ovládat lokomotivu. To se dá jak softwarovým ovladačem (Train Window), tak i ovladačem ručním, třeba LH100. TC má však v poloautomatickém a manuálním režimu při ovládání přes ruční ovladač trochu potíže (detailní popis raději vynechám), a tak v tomto módu doporučuji ovládat mašinu raději přes Train Window.

    Obdobné je to i při ovládání výhybek a návěstidel. TC indikuje i povely z ručního ovladače a na obrazovce vidíme přestavení výhybky, návěstidla, i když je povel zadán z ovladače ručního. Protože řada dotazů směřuje právě na součinnost ovládání ručního a "počítačového", pokusím se toto téma ještě trochu rozebrat.

    Ruční ovladač LH100 je schopen (mimo jiné) ovládat lokomotivy a jejich funkce. Dále umí přes nabídku RM číst stavy dekodérů zpětného hlášení a přes nabídku S/W naopak ovládat dekodéry spínací, tedy výhybkové a návěstní. Jak se to však chová, běží-li nějaká činnost v TC, který posílá povely na kolejiště a do toho začneme vydávat povely z LH100. Dá se říci, že se všechny povely slučují. Jede-li třeba mašina pomocí Plánu z bloku A do bloku B a je zrovna někde mezi, jede konstantní rychlostí a z ručního ovladače přijde povel k zastavení, mašina zastaví a dál se nic neděje. Ani nemůže. TC totiž čeká, až dojede loko do bloku B a tam by začal brzdit. K tomu však nedojde. V okamžiku rozjezdu z bloku A dává TC povely pro postupné zvyšování rychlosti. Změníme-li mu tuto rychlost nyní z ručního ovladače (třeba až na nulu, zastavíme), TC bude dále vysílat povely pro zvyšování rychlosti. Tak dlouho, jak to měl původně naplánováno. Mašina tedy bude dostávat povely pro jízdu určitou rychlostí a tou se bude opět rozjíždět. Tady se vlastně začnou povely z TC "hádat" s povely z LH100.

    Při ovládání výhybek a návěstidel je to obdobné. TC si nastavuje tyto prvky v nějaké časové posloupnosti, postupně, jak se Plán  provádí. Prakticky s určitým předstihem staví cestu, výhybky, návěstidla. I zde je nutno odlišovat ovládání ruční z PC, tedy z programu TC, od ovládání ručního z ručního ovladače, třeba LH100.

    Dá se říct, že ruční ovládání z TC je víceméně bez problémů. TC nám totiž dovolí ovládat pouze to, co "nepřekáží jeho plánům". Ostatní prvky blokuje. Nastaví-li např. cestu z bloku do bloku, přes nějaké zhlaví, výhybky na této cestě z TC nepřestavíme. A naopak, nastavíme-li nějakou cestu, vjedeme do nějakého bloku atd. a chceme pak spustit Plán, který tuto část layoutu potřebuje, Plán se nespustí. Je-li už spuštěn, zastaví se provádění někde v místě, kde to blokuje třeba obsazený blok, do kterého jsme vjeli ručně. 

    Při ovládání z ručního ovladače (třeba LH100), nějaké blokování nefunguje. Z TC poběží Plán a z LH100 mu klidně v již nastavené cestě přestavíme výhybku. Povely z LH100 prostě do sběrnice J-K doputují v každém případě. TC tohle blokovat neumí. Je to asi spíš dobře, neboť tak máme "osobně" nad kolejištěm stále nadvládu. Pokud však chceme některé akce ovládat nějakým smíšeným způsobem, je třeba opravdu důkladně stanovit celý postup. Chceme-li se prostě plést do povelů automatiky, je to třeba dělat s rozvahou.

    Z těchto příkladů je vidět, že "ruční" zásahy do těch "počítačových" můžou mít různé výsledky, někdy i nežádoucí. Je to asi podobné, jako kdyby řidiči v autě chtěl do řízení zasahovat spolujezdec. Také by to asi nebylo ono. Na závěr tohoto oddílu to hlavní. Připojením k počítači rozhodně nepřijdeme o ovládání ruční. Naopak. S podporou automatiky lze docílit podstatně bohatšího provozu, přitom dobře zabezpečeného. Nemusíme pak vyjeveně sledovat, jak se na kolejišti schyluje k nežádoucím událostem, neřkuli ke karambolu. Digitálně ovládané kolejiště rozhodně není pouze automatické. Všechny prvky lze ovládat stejně, jako v analogu. Ručně, z ovladače, z PC, případně nějakého dalšího digi řídícího pultu. Můžeme ovládat samostatně výhybky, návěstidla, stavět cesty, ovládat vlaky. Digitál jen skýtá více variant, lepší jízdní projevy lokomotiv a vlaků, mnohem menší "zadrátování" a daleko více možností při využití počítače a softwaru.

Na začátek článku

Spouštění více plánů

    Pustit vlak z jednoho místa do druhého, kyvadlově, cyklicky, opakovaně, v určenou dobu, to není problém. Na to máme Plánovač a Timetable (časovou tabulku, harmonogram), o tom už řeč byla. Když budeme pouštět vlaky postupně nebo po nezávislých trasách, nic dalšího nepotřebujeme. To ovšem je od reality hodně vzdálené a hodně omezující. Požadavek je, aby se určité plány spouštěly i najednou, nezávisle na sobě a aby TrainController (TC) vyřešil sám všechny případné kolizní situace. A to on umí. Stačí jen správně nastavit plány. Bez příkladů se tady určitě neobejdeme.

    A jak se spouští plán? Možností je docela dost. Jestli na něco zapomenu, houkněte... Nějaký plán musí být vytvořen. Nejsme v Edit Modu.

  1. Otevřeme okno Dispečer. Nahoře je stisknuté Schedules (Blocks - Schedules - Timetables). Vlevo pak máme list všech plánů. Postavíme se na ten, který chceme spustit. Stiskneme tlačítko (Start Schedule) na horní liště. Stejné tlačítko (Start) se nabídne i z kontextového menu (pravé tlačítko myši, stojíme-li na plánu). Tlačítkem (Start ... Reverse) se plán spustí stejně, avšak opačným směrem. Tlačítko (Stop Schedule) slouží k ukončení plánu (okamžitě, žádné dojetí do výchozí pozice). Tlačítkem (Stop all Schedules) v horní liště lze ukončit všechny plány najednou. Plán lze spustit, i když běží jiné plány. Jde jich tedy spustit třeba mnoho najednou. Pokud ke spuštění nedojde (tam, kde plán čeká na nějaké uvolnění nebo na nastavenou prodlevu, se projeví, jako spuštěný), můžeme se v oknu Messages (nejlépe se zatrženým Verbose) podívat, proč ke spuštění nedošlo.
  2. Plán(y) lze také spouštět po ukončení plánu (jiného, ale i stejného). Slouží pro to záložka Successors v oknu vlastností plánu. Nejen, že jde spustit (stejně, jako jinde) i více plánů najednou (Button All), ale lze také spustit jen jeden plán, a to podle nastavených zatržítek buď se stejným vlakem nebo s jiným vlakem nebo s vlakem, který čeká nejdéle nebo náhodným výběrem. Vliv těchto možností pak přispívá k různým náhodným obměnám při spouštění plánů, což má kladný vliv na jistou "strojovost" spouštění, ke které by jinak zákonitě docházelo.
  3. Plán(y) lze spouštět a končit i jinými prvky. Tlačítkem, Flagmanem, Makrem. Stačí plán(y) umístit na záložku Operations příslušného prvku zvolit, zda (a kterým směrem) se má plán spustit nebo se má ukončit.
  4. Poslední možností spouštění plánů je Harmonogram (Timetable).
  •     Další informace jsou v článku "RailCo 5.8 - tipy a triky".
  •  
    Pro testování této problematiky jsem udělal jednoduchý layout, ovál s dvoukolejným nádražím a odbočnou tratí. Na tom si to krásně rozebereme. Realitě to moc neodpovídá, je to kvůli výkladu.
     
    V edit modu to pak vypadá takto...

        A začneme tvořit jednotlivé plány (Schedule). Plán 01 pojede dokola, tedy Blok 1, 3, 4, 5, 1. Chvilka prodlevy a opět. Detailní tvorba Plánu již popsána byla.

    Na záložce General nastavíme Type na Cycle a počet opakování 0. Tak to bude jezdit dokola, dokud plán nevypneme.
     
    Záložka Rules zeje prázdnotou. Checkbox u položky Start schedule... způsobí, že se plán spustí, i když loko nemůže zrovna opustit Blok (následující není k dispozici). Klepneme pravým tl. na Blok 1 v plánu, vybereme Schedule specific Block Settings...
     
    ... a nastavíme Start Block, Dest Block a Wait and Signal na nějakou nenulovou hodnotu.

        A je to. Spustíme, Brejlovec objede kolo, chvilku stojí a znovu... Teď přidáme Plán 02, stejný, jako Plán 01, ale počátek a konec bude v Bloku 2, tedy pro Sergeje. Spustíme oba plány najednou, všechno bude v pohodě. Jedno kolo objede Brejlovec, druhé Sergej, třetí Brejlovec atd. Zabezpečení funguje na základě skutečností, podobně jako při autobloku. Mašiny jedou za sebou. Ale co když pojedou proti sobě? A to je vhodná chvíle na to, abychom probrali trochu systém rezervací a uvolňování Bloků.

    Na začátek článku

    Rezervace a uvolnění bloků

        Kolizních situací může jistě nastat mnoho, ale dvě jsou takové základní. Po jednokolejce jedou dva vlaky za sebou nebo proti sobě.

    V defaultním, základním nastavení funguje tzv. Smart, inteligentní režim. Ten se snaží vždy zarezervovat jeden blok dopředu, cestu, která je za tímto blokem a ještě další blok. Nejde-li to, blok je obsazen nebo už zarezervován, mašina v předchozím bloku zastaví. Pokud se následně potřebný blok uvolní, loko se opět rozjede. Smart lze nastavit dole na záložce Rules nebo jej naopak vypneme, a potom tamtéž  nastavíme, kolik bloků dopředu chceme rezervovat. To je jeden pomocník pro zvládnutí kolizních situací. Je jasné, že hravě zvládne možnou kolizi při jízdě vlaků za sebou, funguje vlastně stejně, jako autoblok. Doufám, že toto není třeba detailně popisovat. Snad jen úvahy o tom, kolik umístíme na širou trať jednotlivých bloků. Samozřejmě, že pro bezpečný provoz stačí jeden, ale bude asi záležet na délce tohoto úseku a na našich požadavcích simulace reality. Při větších délkách a pouze jediném bloku si musíme uvědomit, že dokud jeden vlak tuto část neopustí, další vlak nebude vpuštěn. A tak je mnohem reálnější instalovat třeba na každý metr širé trati jeden blok.

        Pokud budeme chtít pustit dva vlaky proti sobě, musíme Smart režim vypnout a nastavit počet dopředu rezervovaných bloků tak, aby se obsadily vždy všechny bloky kritické části trati.

    Na předchozím obrázku je takový jednoduchý případ. Plán 1 bude definovat cestu z Bloku 1 do Bloku 4 a současně bude spuštěn i Plán 2, který "pojede" z Bloku 5 do Bloku 2. Pokud to nenastavíme jinak, oba plány se spustí, loko vjedou do Bloku 31 a 33 a tam zastaví. A je tu kolize. Stačí však v těchto plánech vypnout Smart režim, nastavit počet dopředu rezervovaných bloků na 3 a je to. Plány se nikdy nespustí současně, vždy je jeden první, a tak tento první si vyhradí všechny potřebné bloky (31, 32, 33) a ten druhý plán bude čekat, dokud nebudou uvolněny.

        Běžně však existují situace, kdy tento systém nestačí. Není totiž zrovna nejvhodnější blokovat mnoho bloků dopředu. Takto nastavené plány mají pak zbytečné čekací doby. Musí prostě počkat, až se uvolní všechny potřebné bloky. Přitom by třeba část trasy mohly už absolvovat, což na kolejišti vypadá mnohem lépe. Podívejme se na následující obrázek.

    Stejná situace, avšak přibyl Plán 3, který "jezdí" mezi bloky 6 a 33. Předpokládejme, že Plán 1 má Loko 1, Plán 2 Loko 2 atd. Bude-li Loko 3 někde na trase (6-32-33), mohl by se spustit Plán 1 a posunout Loko 1 do Bloku 31. Pokud je ovšem nastaven na rezervaci 3 bloků dopředu, nejde to. Máme ovšem ještě jeden výborný nástroj a tím jsou Kritické sekce.

    Na začátek článku

    Kritická sekce

        Libovolný počet bloků nějaké trasy lze označit jako Kritická sekce.

        Kritická sekce (je jedno, zda je to pouze jeden blok nebo více bloků za sebou) je taková, do které lze vjet pouze v případě, že je možno také pokračovat dál do následujícího bloku. Označíme-li v našem Plánu 1, jako kritický Blok 32 a v Plánu 2, jako kritickou sekci bloky 33 a 32, bude zase všechno jezdit v pohodě a přitom Loko 1 klidně vjede i do Bloku 31, kde bude čekat, až Loko 3 uvolní bloky 32 a 33.

        Naprosto uznávám, že takovéto vysvětlení je asi dost těžko pochopitelné. Sice připojím i další testovací soubor TestKol44t.yrr, kde je podobný příklad, ale sotva to někdo bude instalovat jen kvůli vyzkoušení. Slouží spíše k prohlídce, co je jak nastaveno. Připojený soubor lokopin_railco_58.zip v sekci Ke stažení obsahuje různé soubory *.yrr,yrs.

        A aby to bylo ještě o něco složitější, i kritické bloky (sekce) lze nastavit ze dvou míst. Jak je popsáno výše, blok má dvě okna vlastností, jedno to normální (na layoutu), druhé v Dispečeru pro konkrétní plán. Funguje to logicky. Pokud nastavíme kritický blok z layoutu, je funkční pro všechny plány. Nastavíme-li ho v oknu vlastností bloku v Dispečeru, funguje pouze pro ten konkrétní plán. Obecně lze říct, čím více kritických bloků, tím vyšší bezpečnost a nižší průjezdnost. Tohle je asi naprosto klíčový bod automatického provozu a je třeba mu věnovat nejvyšší pozornost. Možná, že časem doplním ještě nějaké příklady, které to lépe objasní. Zatím mám pocit, že to nikoho nijak zvlášť nezajímá.

        Protože mi to přece jen nedá, osvětlím vše ještě na dalším příkladu. Soubor lokopin_kritic.yrr, yrs je k dispozici rovněž v lokopin_railco_58.zip.

        Nejprve stručný popis předchozího obrázku. Jde o jednoduchý ovál, se dvěma výhybnami. Vlevo stojí Herkules a Ragulin, vpravo Sergej. Pro každý vlak je definován jeden plán. Celkem tedy tři plány, HERKULES+, RAGULIN+ a SERGEJ-. Znaménka značí jízdu ve směru (+) nebo proti směru (-) hodinových ručiček. Plány jsou nastaveny na Cycle, tedy na neustálou jízdu dokola. Indikátory obsazení bloků jsou zde záměrně na layoutu, pro snazší ovládání při simulaci, jinak je na layout nedáváme a ovládáme je přes okno Traffic Control. Za povšimnutí ještě stojí stav Offline, označený ikonou vpravo dole. Ve stavu Connect simulace nefunguje.

        Bez kritických bloků bychom mohli spustit pouze plány  HERKULES+ a RAGULIN+ (vlaky by jely za sebou) nebo plán SERGEJ-. Najednou ne. Tak by totiž jeden vlak zleva i Sergej zprava vyjely na horní kolej a někde (třeba v blocích 5 a 6) by zůstaly stát proti sobě. A šmitec. Sice se nic nesrazí, ale dál to nejede. Takže jediná možnost je rozdělit požadované akce na dílčí a pouštět je postupně. To lze udělat jednoduše. Jeden plán pustí druhý, druhý třetí, třetí ... a ten poslední zase první. Průjezdnost se ovšem značně sníží, zjednodušeně lze říct, že pojede vždy jen jeden vlak.

        Takže nasadíme kritické sekce. Už bylo řečeno, že bloky lze jako kritické označit dvojím způsobem. Nejprve tedy globálně, z layoutu, na switchboardu.

    V properties bloku označíme blok jako kritický.

        Takto označíme bloky 5, 6, 7, 8 a 9. A teď už lze spustit všechny naše plány najednou. Jenže průjezdnost se tím nijak nezvýší. Koleje mezi výhybnami, označené jako kritické sekce, zajistí, že do nich bude vpuštěn vždy jen jeden vlak. Dokud nevyjede, další vjet nemůže. A protože jsme označili kritické bloky v properties z layoutu, tedy globálně, jak již bylo řečeno, bude se to vztahovat na všechny plány. Na všechny projíždějící vlaky. Tedy i třeba na plány HERKULES+ a RAGULIN+, přestože tyto vlaky jedou vlastně za sebou a běžné blokování předchozího bloku zajistí, že se nesrazí a nic ucpat nemohou, protože nejedou proti sobě.

        Jenže máme k dispozici ještě jednu možnost a tou je označení kritického bloku z plánu.

    Označení bloku 9 jako kritického, ovšem jen v plánu SERGEJ-.

        Takto označíme v plánu SERGEJ- bloky 5, 6, 7, 8 a 9. Pouze v plánu SERGEJ-. Tak docílíme toho, že na plány HERKULES+ a RAGULIN+ se kritické bloky vztahovat nebudou. Vlaky z těchto plánů se budou snažit jet za sebou, pokud budou mít předchozí blok už uvolněný. A kritické sekce pro plán SERGEJ- zase zajistí, že protijedoucí Sergej se s nimi někde nepotká a neucpe tedy trať.

    Plán HERKULES+. Plán RAGULIN+ je téměř stejný.
     
    Plán SERGEJ-. Bloky horní a dolní koleje jsou označeny jako kritické (modrým proužkem).

        Zjednodušeně se dá říct, že kritických bloků není potřeba u vlaků, jedoucích za sebou. Pokud jedou proti sobě, použijí se kritické bloky pouze v jednom z těchto plánů.

        Tak, lépe to vysvětlit neumím. Komu to nestačí, musí číst znovu. Nebo volat. Nebo přijet. Ale myslím, že to zvládnete. Jako já. Nakonec, taky jsem zpočátku pouštěl jeden plán, ten spustil druhý, ten třetí... jak už o tom byla řeč výše. Nadefinování automatického provozu je vlastně taková volná disciplína. Možností je vždy více a každá skýtá svoje pro a proti. Rovněž prvky náhody zde hrají velkou roli. Jezdí-li nám něco dokola stále stejným způsobem, nevypadá to nejlépe. Na to máme k dispozici zase právě to spuštění plánů plánem, za určitých podmínek. Prostě možností je mnoho a k nejlepším výsledkům vedou kombinace různých způsobů.

        Také je možné, že existují další fígle, jak zabezpečení zajistit. Já jsem přišel na tyhle a hlavně tím, jak vlastně fungují a že vůbec existují, jsem chtěl upozornit na to, čím je možno kolizní situace vyřešit a jak dosáhnout automatického provozu. Takže zkoušejte, testujte.

    Na začátek článku

    Dojezd plánů (jen jako námět - nefunguje to)

        Je mi líto, ale následující část popisuje činnost, která nefunguje dobře. Nechám to zde jen proto, že to může posloužit za prvé jako námět pro další bádání, za druhé, abych s klasikem mohl říci: "Přátelé, tudy ne.". Důvodů nejisté funkce je více, neboť vstupních parametrů, stavů je mnoho. Možná se k tomu časem vrátím, možná na ten správný postup přijde někdo jiný.

    Poznámka: Jak se to udělá, aby vlaky dojížděly po vypnutí do cílových stanic, to naleznete v článku "RailCo 5.8 - tipy a triky".

        Jak tak jezdí několik plánů najednou, asi by se hodilo, kdyby všechny dojely do svých počátečních výchozích pozic a tam skončily. A tak jsem začal zkoušet.

        Jak se to udělá...

    1. Máme plány P1, P2 ... Pn. Jezdí automaticky, kyvadlově nebo dokola. Pořád, nastavené Cycle, počet opakování 0. To už známe...

    2. Ke každému plánu nadefinujeme ukončovací plán, tedy P1K, P2K ... PnK. Ukončovací plán P1K bude velmi podobný, jako ten plán, který má ukončit, tedy jako plán  P1. Rozdíl bude jen v tom, že každý blok, na trase tohoto plánu, bude nadefinován jako počáteční (zatržítko Start Block v příslušném směru.). Další rozdíl proti původnímu plánu P1 bude na záložce Rules. Volba Only select trains, that are located in start blocks nesmí  být zvolena. Plán bude tedy aplikován na mašinu, ať se nachází kdekoliv na trase. A naopak volba Start schedule even if the train cannot leave the current block být zvolena musí.

    3. Takto nadefinujeme i ostatní ukončovací plány. Budeme mít tedy vždy dvojici plánů. Jeden, který jezdí, druhý, který ho ukončí.

    4. Funkci pro Ukončení spustíme třeba tlačítkem, které spustí makra. Tolik maker, kolik plánů. V každém makru bude vždy nadefinováno: Ukončit plán P1, Spustit plán P1K, v dalším makru bude: Ukončit P2, Spustit P2K ... atd. 1)

        Platí ovšem nějaká omezení.

    1. Každý plán musí mít v záložce Train zadánu mašinu. Nebo vlak. Nebo i skupinu vlaků, pak ale musí z této skupiny být na kolejišti pouze jeden vlak. Ukončovací plán musí vědět, kterou mašinu má dovést do konce. Stejně nastavenou  záložku Train bude mít druhý z dvojice, ukončovací plán.

    2. Na kolejišti musí existovat potřebné volné cesty a výhybny. Je-li nějaký ukončovací plán závislý na tom, že jiný plán bude v činnosti, neboť by jinak blokoval potřebnou cestu, stane se, že ukončovací plán nebude mít trasu pro dojetí do konce volnou. Pak by totiž přišla ke slovu známá hádanka koza, vlk a zelí. Kdo ji nezná, najde na webu. To by ještě nemusel být až takový problém, ovšem výchozích variant je většinou obrovské množství. Mnoho vlaků může být v mnoha pozicích. 2)

    1)     Makra se zde používají proto, aby šly zadat podmínky pro každý ukončovací plán (spustit, jen je-li spuštěn ten původní) a aby se nejprve ten původní ukončil. To je zase nutné z toho důvodu, že v obou těchto plánech je přiřazena stejná mašina.
    2)     Musím podotknout, že tento systém jsem zkoušel pouze na testovacím oválu, který má proti sobě pouze dvě dvoukolejné výhybny. A jezdily tři vlaky, tedy volná pouze jediná kolej. Obvyklá situace to tedy není a ve skutečnosti je "místa" na kolejišti mnohem víc, takže k nějakému "ucpání" nedochází. Vezměme třeba takovou možnost, kdy jezdí 6 vlaků a máme k dispozici 6 kolejí nádraží (třeba skrytého). První akce pak bude přesun všech vlaků do skryťáku a následovat bude postupný přesun do výchozích pozic. (Kde jsem tuhle větu slyšel?) Tady právě s výhodou použijeme makra, spouštění plánu plánem i jiné možnosti, které dává TrainController k dispozici. Nezapomeňme, že plány také skrývají mnoho parametrů a nelze tedy podat nějaký detailní obecný návod. Berte to zkrátka jako námět na jednu z mnoha možností, kterou automatický provoz umožňuje.

        Příklad si lze opět prohlédnout v souboru lokopin_test_3, který je obsažen v balíku v sekci Ke stažení lokopin_railco_58.zip.

    Na začátek článku

    Závěr

        Tak, seriál o TrainControlleru RailCo, verze 5.8 je u konce. Doufám, že jste se příliš nenudili. Snad jsem postihnul alespoň to nejhlavnější. Občas jistě dojde k objevení dalších fíglů, myslím, že za tak krátkou dobu jsem toho ani více objevit nemohl. Další tipy a triky, jak na ně narazím, budu průběžně doplňovat. Myslím, že se naše obec začátečnická digitální bude kvapem rozšiřovat, a tak se jistě budou více objevovat další koumáci a snad se z nich někdo občas třeba i vyjádří. Ať se vám daří a nenechte se odradit dílčími nezdary, protože nakonec vždycky duch vítězí nad hmotou (někdy třeba i duch někoho jiného ).

    Na začátek článku
    Menu

    LokoPin      11.01.2009  
      10.03.2009
    Mechanizmus automatiky
    Doplnění Spouštění více plánů
      22.03.2009 Automatika v kostce
      23.07.2009 Kritické sekce, doplnění
      31.07.2009 Kritické sekce, příklad
      09.08.2009 Dojezd plánů
      30.08.2009 Dojezd plánů - dementi
      01.10.2009 Smíšené ovládání
      14.02.2016 (poslední editace)