【Factorio】Prevence zablokování vlaků: příčiny a design vyhnuvání se
Když se vlaky zastavují na křižovatkách nebo před stanicemi a neustalují se, příčinu lze obvykle rozdělit do tří kategorií: \"umístění signálů\", \"kapacita křižovatky\" a \"nedostatek čekacích linek před stanicí\". V Factorio vanilla v2.0 a Space Age platí stejné základní principy železniční dopravy, takže vyjasnění těchto bodů značně zabrání zablokování.
【Factorio】Prevence zablokování vlaků: příčiny a design vyhnuvání se
Když se vlaky zastavují na křižovatkách nebo před stanicemi a neustalují se, příčinu lze obvykle rozdělit do tří kategorií: \"umístění signálů\", \"kapacita křižovatky\" a \"nedostatek čekacích linek před stanicí\". V Factorio vanilla v2.0 a Space Age platí stejné základní principy železniční dopravy, takže vyjasnění těchto bodů značně zabrání zablokování.
Když jsem poprvé spojil několik dolů, řada čekajících vlaků před stanicí se rozlila do větvení a zastavila celou síť. Jakmile jsem znovu nastavil čekací linku na délku vlakové soupravy a změnil přístup křižovatky na převodní signály, tok se okamžitě obnovil.
Tento článek na základě rozlišování mezi běžnými a převodními signály systematicky vysvětluje, za jakých podmínek volit jednokolejku, dvojkolejku, kruhový objezd nebo zásobník. Spíše než opravovat ucpání po projektu, vás vedu praktickým postupem, jak ucpání během návrhu netvořit.
Obsah verze a předpoklady znalostí
Explicitní označení verze
Tento článek se zabývá Factorio vanilla v2.0 a Space Age. Space Age je placené DLC, které je v \"Space Age - Factorio Wiki\" zaznamenáno jako vydáno 21. října 2024.
Důležité je, že základní principy řešení zablokování vlaků (hlavní téma tohoto článku) zůstávají mezi vanilla v2.0 a Space Age téměř stejné. Myšlenka umisťování převodních signálů na místech, kde se chcete zastavit, a příjímání vlaků na straně výstupu funguje stejně. Když jsem rozšiřoval svůj existující svět na v2.0, změnil jsem starší trasy, ale princip posunutí vstupu křižovatky na převodní signály se aplikoval bez problémů. Tady je to spíše o tom, zda je design myšlen správně, než o rozdílech verzí.
Na druhou stranu ve Space Age má továrna tendenci rozrůstat se do větší logistické škály a počet vlaků v síti roste. Jinými slovy, není to tak, že by se fundamentálně změnily principy signalizace, spíše že zanedbání základů se jeví výrazněji u ucpání. To je bližší realitě.

Space Age/ja
wiki.factorio.comRozsah a předpoklady tohoto článku
V následujících sekcích se zabývám čistě prevencí zablokování zaměřenou na železniční dopravu. Konkrétně se soustředím na design sítě kolejnic: křižovatky, větvení, výměnné koleje na jednokolejkách, zdvojnásobení, čekací linky před stanicemi, kruhové objezdy a omezování přílivu pomocí omezení vlaků.
Naopak se nebudu zabývat detaily meziplanetární logistiky a kosických sítí, která přicházejí v Space Age. Jedná se o zajímavou oblast, ale jádro problému ucpání spočívá v \"kde by se vlak měl zastavit a kde ne\" v síti kolejnic. I když se přibude planet, používáte-li běžný signál před křižovatkou, stejně se to ucpe, a není-li dostatek čekací plochy, zablokujete hlavní trať.
Zde je zablokování stav, kdy si vlaky čekají navzájem a nemohou se pohybovat, pokud je ručně nepřesunete. Je to vidět jako \"jen trochu přeplnění\", ale ve skutečnosti mohlo dojít k rozporu v rezervaci trasy, což způsobilo trvalý stav. Nejedná se o stejný případ jako pouhá dopravní zácpa.
💡 Tip
Tento článek rozlišuje mezi \"zástavou způsobenou chybou signálu\" a \"chronickým ucpáním způsobeným nedostatkem kapacity\". Signály mohou být správné, ale příliš malý kruhový objezd nebo příliš krátké čekací linie vás i tak ucpou. Toto rozlišení vám umožňuje velmi rychle určit příčinu.
Malý slovník termínů
Pojďme si nejdřív ujasníme terminologii. Ačkoli jsem ji doplňoval i v hlavním textu, ujasníme si ji předem:
Běžný signál je signál, který kontroluje, zda je vlaku dovoleno vstoupit do \"příštího pole\". Je vhodný pro přímé úseky nebo místa, kde je cesta jednoduše strukturovaná. Pokud jej umístíte před větvení nebo křižovatkám, vlak vstoupí do křižovatky a zastaví se tam, což je problematické.
Převodní signál se dívá nejen na příští pole, ale kontroluje, zda je cesta do příštího běžného signálu nebo stanice \"otevřená\". Jednoduše řečeno, \"spíše se vůbec nevstoupí, než aby se zastavilo uprostřed\". Proto je základní praxe používat je na vstupu křižovatek a větvení.
Blok je uzavřená část rozdělená signály. V jednom bloku se obvykle vejde jen jedna souprava vlaků. Vlaky opakovaně zabírají a uvolňují bloky, takže při zvažování zablokování je velmi důležité, \"jak je jeden blok nastaven\". Když jsou vlaky ucpané, obvykle je viníkem způsob, jakým se bloky řežou, spíše než samotné vozidlo.
Pochopením těchto tří bodů se pravidlo \"převodní signál před křižovatkám, běžný signál za ní\" stane zcela přirozeným.
Ačkoli je tento článek hluboký, zejména pokud chcete porozumět způsobu, jakým se staví celá síť vlaků, je vhodné číst jej společně s nadřazeným tématem. Zejména základní forma dvojkolejky, umístění stanic, myšlenka čekacích linek a role signálů se lépe pochopit v kontextu celkového návrhu sítě.
Z mé zkušenosti se zablokování obvykle nejedná o jednotlivou chybu, ale spíše se vyskytuje spojením tří prvků: \"křižovatka\", \"před stanicí\" a \"kapacita hlavní trati\". Proto se v následujících částech nejedná o opravování jednoho místa, ale o sladění \"kde se zastavit a kde proudit\" v celkovém toku sítě vlaků.
Co je zablokování u Factorio: základní podmínky
Definice zablokování a rozdíl od zácpy
Zablokování v Factorio je stav, kdy si vlaky čekají navzájem a bez ručního zásahu se neobnoví. Vypadá to \"jen jako trochu ucpáno\", ale ve skutečnosti je rezervace cesty zacyklená a čas ji neobnoví. Oficální \"Tutorial: Train signals\" (Tutoriál: Železniční signály) z Factorio Wiki uvádí, že tento stav se může vyskytnout i u dvou souprav. To je důležité.
Naopak zácpa je stav, kdy se vlaky pomalují, ale postupují vpřed. Přehlcená křižovata nebo pomalá manipulace na stanici jsou nepohodlné, ale teoreticky se časem vyrešují. Zácpa je \"pomalá, ale jde vpřed\", zablokování je \"cesty si překážejí a nejde vůbec\".
Sám jsem se sem dostal. Proč se dvě soupravy zastavují? Strávil jsem tím několik hodin. Důvod byl jednoduchý: umístěnému signálu před křižovatkám umožnil vlakům vstoupit do křižovatky a pak tam zastavit, přičemž druhý směr už nemohl projít. Nejde o počet vlaků, jde kde se zastavit v designu.

Tutorial:Train signals/ja
wiki.factorio.com3 typické vzory výskytu
Zablokování, které se v praxi vyskytuje, lze obvykle rozdělit do tří skupin. Všechny začínají tím, že \"vlaky, které tam nemají být, se zastavují\".
Prvním typem je čekání v křižovatce. Pokud umístíte běžný signál před větvení nebo křižovatkám, vlak se rozhoduje \"má-li příští blok prostor, mohu jít\". V důsledku toho vlak vstoupí do křižovatky a zastaví se tam, když je výstup obsazen, a další směr je blokován. Toto je nejčastější případ, který dělají i začátečníci i zkušení hráči.
Druhým typem je stopka na jednokolejce přicházející ze obou směrů. Bez výměnných nebo čekacích kolejí se vlaky ze dvou směrů dostanou do patové situace a zablokují se. Jednokolejka je levná v počátcích, ale bez řádného řízení v designu se snadno zablokuje. Čím více provozu, tím viditelněji se to objevuje.
Třetím typem je czekací řada před stanicí obsazující hlavní trať. Když prostor čekací linky před stanicí chybí, řada čekajících vlaků se rozprostře na hlavní trať a větvení. Výsledkem je, že problém stanice se stane problémem celé sítě.
Tyto tři kategorie se zdají být oddělené, ale jsou si velmi podobné. Design nezařazuje správné body zastavení vlaků, a to se projevuje na křižovatkách, jednokolejkách a před stanicemi stejně.
💡 Tip
Prevence zablokování se lépe ujímá myšlenkou omezit místa zastavení spíše než \"nezvyšovat počet vlaků\". Vyskytuje se i u malého počtu, takže nejúčinnější je řešit umístění než kapacitu.
Jak se to v praxi pozná
Když se to v mapě zastavuje, je rychlejší dívat se na kde se přední část zastavuje spíše než na počet vlaků. Hned se podívám na přední část vlaku. Jen to stačí k rozlišení chyby signálu a nedostatku kapacity.
Důležité je, mezi kterými signály se vlak zastavuje. Zastavuje-li se uprostřed křižovatky, větvení nebo hned po sloučení, je pravděpodobné, že je vstupní rozhodnutí moc slabé a design umožňuje zastavit se uprostřed. Naopak když se vlaky zastavují dlouho před křižovatkám v pořádku, logika signálů je správná a je potřeba podívat se na kapacitu nebo prostor čekacích linek.
Další důležité je zastavuje-li se vlak před nebo v křižovatce. Vlak zastavený před ní alespoň funguje podle principu \"pokud nemohu projít, nevstupuji\". Vlak v křižovatce se již podílí na blokádě. Rozdíl je větší, než by se zdálo.
Navíc zda se řada čekajících vlaků rozprostírá na hlavní trať nebo větvení, je klíčové. Hlavní příčinou je obvykle \"chybějící čekací prostor stanice\" nebo \"nesprávné postavení řady\". Zde je důležitější dívat se na poslední vůz řady než na první.
Z osobní zkušenosti: zablokování se nepozná z přehledu mapy. To, co vypadá jako obrovská zácpa, je často \"1 vůz zastavený v křižovatce\" nebo \"poslední část řady čekající na stanici\". Poznáno správně: pozoruje se přesnost zastavovacích míst.
Hlavní příčina zablokování 1: Chyby v umísťování signálů
Rozdíly v chování běžného a převodního signálu
Jedná se o věc, kterou je snadné si zapamatovat jen název, ale skutečné chování je zcela jasné. Běžný signál vidí jen \"příští blok\". Pokud je příští pole volné, propustí vlak, takže vlak vstoupí i když křižovatkama nebo větvením zůstane uprostřed křižovatky a zastaví se. Problém je, že zastaví se v křižovatce, i když je výstup obsazen.
Převodní signál se dívá dopředu, zda je cesta do příštího běžného signálu nebo stanice otevřená. V \"Tutorial: Train signals\" z Factorio Wiki je převodní signál vysvětlen jako kontrola následující cesty do běžného signálu nebo stanice. To znamená nejedná se o to, jestli mohu vstoupit, ale jestli mohu projít.
Tento rozdíl velmi ovlivňuje křižovatky. Křižovatkám postavené jen s běžnými signály vypadají bezpečně, ale v praxi se stávají \"křižovatkamy, kde se lze zastavit\". Sám jsem tomu zpočátku nerozuměl; chápal jsem, proč je červený signál špatný, pokud je tam? Přítomnost signálu a správné zastavení jsou dvě věci.
Základní pravidla větvení a křižovatek
Pravidlo je velmi jednoduché. Před větvením/křižovatkám: převodní signál, za ní: běžný signál. Toto se často nazývá \"chain in, rail out\". Tímhle se řeší mnoho základních zablokování.
Důvod je jasný: na vstupu je třeba propustit jen vlaky, které mohou projít. Křižovatkama není čekací prostor. Naopak za ní chceme běžnou správu bloků, proto tam patří běžný signál. Takto vlaky čekají venku a křižovatkama je volná pro průjezd.
Oficiální Wikipedie ukazuje typické příklady, kde více signálů bezprostředně před křižovatkám nechá vlaky zastavit uprostřed křižovatky, pokud jsou běžné. Zde převedení těchto signálů na převodní změní vstupní podmínky na přísnější a lépe předchází zastavení uvnitř. Z osobní zkušenosti: naprostá většina problémů se křižovatkamy není v chybějících signálech, ale v tom, že vstupy jsou příliš slabé.
💡 Tip
Když se křižovatkama ucpe, vidím na to jinak: \"měl-li tento vlak právo vstoupit?\". S převodním signálem na vstupu se to muito snáze posuzuje.
Kdy dělat i výstup převodním signálem
Základem je mít výstup jako běžný signál, ale v praxi je zde jedna výjimka. Když je výstupní úsek velmi krátký. Hned za výstupem se nachází další větvení, sloučení nebo vstup do stanice a není místa na jeden vlak, pak běžný signál na výstupu způsobuje, že \"vlak se dostane ven, ale ocas zůstane v křižovatce\".
V takových případech je lepší i výstup dělat převodním signálem tak, aby projel až po úplném opuštění. Komunita často říká \"krátké výstupy používají chain-out\", právě pro toto. Jinými slovy, viditelný výstup není skutečný výstup. Vlak se počítá jako bezpečný až když je celý mimo.
Sám jsem to dělal u několika malých sloučení před stanicemi. Běžný signál hned za výstupem způsobí, že vlak postoupí jakmile je jedno pole volné, což zanechá tělo v křižovatce. Změna na převodní signál náhle zpomalí tok. Vypadá to jako malá změna, ale efekt je značný.
Časté chyby v umístění a postup nápravy
Nejčastější začátečnická chyba je umístit všechny vstupy do křižovatky jako běžné signály. Když si člověk vezme návyk přidávat signály v přímce, přirozeně se to stane. Na křižovatkách je to ale kontraproduktivní.
Náprava není složitá. Pokud se křižovatkama zastavuje, tak postupně:
- Zkontroluj signály bezprostředně před křižovatkám
- Pokud jsou běžné, změň je na převodní
- Za výstupem křižovatky postav běžný signál
- Pokud je výstupní úsek krátký a jde přímo do další větvení nebo stanice, i ten výstup udělej převodním
- Podívej se, jestli se vlaky zastavují venku v řadě, ne uprostřed
Podstata je, že cílové zastavení se posunuje ven z křižovatky, ne přidávání signálů. U mě na mapě stačilo změnit vstup na převodní a hned se vrátil tok bez ručního zásahu. Nebylo to tak, že jsem \"udělal signál chytřejší\", spíše jsem \"přísněji kontroloval vstup a zablokování tak zažehnal dříve\".
Popis obrázků: Myšlenka
Když dáš obrázky, nech je vypovídavé. \"Změna vstupu křižovatky na převodní signál\" - běžný signál vede k zastavení v křižovatce, převodní vede k zajištění výstupu dříve, než vstoupí - toto srovnání předá účel.
\"Krátký výstup s převodním signálem\" - když výstup nemá za sebou prostor, i výstup je převodní, aby se zabránilo čekání v křižovatce - toto vysvětlení dává smysl. Obrázek by měl ukazovat výstup, krátkou sekci a následující větvení.
Smyslem obou obrázků je, že se nastavuje kde se vlak zastavuje, ne jen pokládání barevných signálů.
Převodní signál se zdá složitý, ale skutečně se podívá na konkrétní věci. Běžný signál vidí jen příští blok, když ho umístíš před křižovatkám, vlaky se tam snadno zastaví. Převodní signál si předem prohledá cestu, když ho umístíš, \"zastavení uprostřed\" se stane vzácným. Pochopením toho se řešení zablokování stává velmi jednoduchým.
Hlavní příčina zablokování 2: Nedostatečná kapacita křižovatek a kruhových objezdů
Vztah mezi velikostí kruhového objezdu a počtem vlaků
Zde je problém v tom, že i když jsou signály správné, příliš malý kruhový objezd se zacpe. Předchozí sekce se zabývala \"nevpusťte vlaky, které by měly stát venku\", tady je problém že tam není dost místa pro ty, které už vstoupily.
Kruhový objezd vypadá elegantně a snadno sjednocuje čtyři směry, takže se jich rád používá. Sám jsem je dost používal. Nicméně, když se provoz zvyšuje, malé kruhové objezdy se z různých směrů zaplní a vlaky se budou čekat na vstupu. Oficiální \"Tutorial: Train signals\" z Factorio Wiki i zde říká, že zablokování se stane s dvěma vlaky. Není to jen velká síť.
Zvlášť nebezpečné je, když vlak v kruhu čeká na výstup, druhý vstup tím pádem padá, a řada se rozprostře na hlavní trať. Čím menší kruh, tím snadněji se to stane. Jakmile se zasekne, trvá dlouho se vrátit. V praxi se malý kruhový objezd stane spíš \"vážným slepým uličkou\".
Komunita často říká \"pokud je kruhový objezd příliš krátký na nejdelší vlak, sám si blokuje svou cestu\". Sám jsem si vytvořil kruhový objezd pro krátké vlaky, pak jsem jím poslal delší vůz a vše se zastavilo. Design v pořádku, ale když se délka vlaku změní, kapacita se zhroutí.
ℹ️ Note
Komunita zaznamenala, že za určitých podmínek jednoduchá T-křižovatkama překonala kruhový objezd v propustnosti. To je ale velmi závislé na designu, signalizaci a délce vlakové soupravy - nelze to zobecňovat. Je to pouze příklad.
Výhody a nevýhody designu \"pouze jeden vlak najednou\"
Jednoduchý způsob, jak zabránit ucpání kruhového objezdu, je dovnitř pustit jen jeden vlak najednou. Vstupy řídíme převodními signály a kruhový objezd obsahuje jen jednu soupravou. Je to velmi bezpečné - \"střety uvnitř\" jsou méně pravděpodobné. Sám jsem takto prodloužil život některých nebezpečných kruhů.
Výhoda je jasná. Vnitřek kruhového objezdu se stane prostorem jen pro průjezd a čekací časy uvnitř se sníží. Jakmile máš problém, není on v kruhu, ale venku, což usnadňuje diagnózu.
Ale má to cenu. Vlaky neschopné vstoupit budou čekat venku na hlavní trati. Bezpečnost zvýšíš za cenu toho, že se řady čekacích vlaků přesunou ven. Pokud jsou vlaky před křižovatkám, vůbec to nevyřešilo, jen přesunulo problém.
Design kde se do kruhu pouští jen jeden vlak je užitečný pro kruh samotný, ale síť vidí řady venku. To je otázka: kde máme čekat vlaky? v kruhu nebo venku? Pokud se rozhodneš, že venku, pak potřebuješ čekací linky na stanicích a těch měkko více.
💡 Tip
Sám jsem zvětšil kruhový objezd, přísněji jsem řídil vstup a čekal jsem venku. Proudění se zlomilo. Ale pak jsem musel zvětšit čekací linky na stanicích.
Kdyby se řada zvětšila, zvaž doplnění čekacích linek
Čím více omezuješ vstup do křižovatky, tím víc budou vlaky čekat venku. Proto sem sem patří čekací linky na stanicích (stackers). Jejich úloha: místo aby čekaly na hlavní trati, čekají v dedikovaném prostoru.
To je důležité, protože zaznamenávám \"čekání\" hlavní trať, jakmile se rozprostře, ovlivní více než jen stanici. Jeden vlak čekajícího na stanici se rozprostře až do křižovatky a sítě. Dělal jsem to s železnou rudou. Stanice byla v pořádku, ale čekací linky byly příliš krátké, takže poslední vůz zůstal v rozdělovací lince. Vypadalo to že \"zůstal v řadě\", ale reality byla, že pořídil stanici.
Stacker je, jednoduše řečeno, ochrany hlavní trati. Stanice s pomalou naložením, stanice se skupinou příchozích vlaků, stanice s obvodovým řízeními - to všechno vyžaduje nejprve zvážení čekacích linek, pak čekání samotné stanice.
Délka soupravy a délka čekacího bloku
Nejdůležitější je, aby nejdelší souprava se vešla celá do jednoho signálního bloku. To je velmi zásadní v komunite. Krátké čekací linky jsou často příčinou \"máme čekací linku, ale stejně se ucpeme\".
Důležité je měřit se nejdelším vlakem v síti, ne jen těmi, co sem jdou. Pokud máš 1-2-0 i 1-4-0 společně, nedělej to na základě toho, co je kratší. Delší vlaky budou trčet ven. Sám jsem to zanedbával a zkrátil jsem čekací linky. Pak, když přišel delší vlak, blokoval větvení. Viníka se těžko hledá, protože se problém projevuje jen občas.
ℹ️ Note
Komunita tipuje, že 1-4-0 souprava zabere přibližně 37 dlaždic (to je odhad komunity, ne oficiální číslo). Spíše než pamatovat si přesné číslo, zajistěte, aby celá souprava v jednom bloku byla a nezasáhla větvení nebo signál za.
Počet čekacích linek na počet stanic musíš vzít v úvahu. Máš-li dvě stanice s jedním vstupem, ale tři vlaky přijíždějící současně, kde se zastaví třetí? Ideálně \"nevstupuje, čeká venku\". Prakticky: kolik linek máš pro to, aby čekaly?. Když máš dvě nástupní místa, ale přicházejí tři vlaky, poslední musí někam. Jsou-li čekací linky, tady čeká. Nejsou-li, zastaví se na hlavní trati.
Selhání: Řada blokuje větvení nebo hlavní trať
Nejčastější selhání je, když čekací linka \"vypadá, že funguje, ale nefunguje\". Klasickou chybou je, když poslední vůz přesahuje větvení. Takto poslední vlak v řadě, který čeká na volné místo, zablokuje směr pro jiné vlaky.
Další nebezpečí je když řada čezprostře vede na hlavní trať. Když si myslíš, že čeká, ale vlastně zabírá běžný blok hlavní trati a zpomaluje projíždějící vlaky. To vypadá jako \"křižovatkama je slabá\" nebo \"signál je špatný\", ale vrah je čekací linka.
Právě to jsem opravoval u železné rudy. Příčina: čekací linka jen pro dva vozy, a poslední stál v rozdělovací lince. Vzal jsem ji na délku soupravy
RinSeo
Factorio 2,000時間超。100駅以上の列車ネットワーク運用実績と Death World マラソンクリアの経験から、物流・防衛の実践ノウハウをお届けします。
Souvisejici clanky
Factorio seznamy vlaků nastavení a automatizace【2.0 kompatibilní】
Factorio seznamy vlaků nastavení a automatizace【2.0 kompatibilní】
Factorio železniční signály a budování sítě - jak fungují a jak se vyhýbat deadlocku
Factorio železniční signály a budování sítě - jak fungují a jak se vyhýbat deadlocku
Factorio signalizace vlaků – základy | normální/řetězová a blokace
Factorio signalizace vlaků – základy | normální/řetězová a blokace
【Factorio】Jak začít s logistikou robotů | Minimální konfigurace a návrh umístění