Logistica

【Factorio】Cele 3 principii ale plasării semnalelor în lanț

Semnalele în lanț pentru trenuri par greu de reținut, dar criteriile de plasare sunt de fapt destul de simple. Dacă ești începător sau utilizator intermediar în Factorio 2.0 pe vanilla sau Space Age și tocmai ai început să construiești intersecții, reține doar asta: intrări cu semnale în lanț, ieșiri cu semnale normale doar acolo unde trenurile pot astepta în siguranță, iar ieșiri din intersecții consecutive – din nou cu semnale în lanț.

Logistica

【Factorio】Cele 3 principii ale plasării semnalelor în lanț

Semnalele în lanț pentru trenuri par a necesita multă memorare, dar criteriile de plasare sunt de fapt destul de simple. Dacă ești începător sau utilizator intermediar în Factorio 2.0 pe vanilla sau Space Age și tocmai ai început să construiești intersecții, reține doar asta: intrări cu semnale în lanț, ieșiri cu semnale normale doar acolo unde trenurile pot astepta în siguranță, iar ieșiri din intersecții consecutive – din nou cu semnale în lanț – acestea sunt cele 3 principii de bază și te vor ține departe de probleme majore.

Am și eu avut dificultăți cu un T-crossing pe care l-am construit inițial – trenurile se opreau mereu în mijlocul intersecției și mă întrebam „de ce se blochează asta?" – dar am schimbat intrarea la semnal în lanț și am creat spațiu suficient după intersecție, iar fluxul s-a stabilizat imediat.

În acest articol, voi folosi aceste 3 principii ca bază pentru a explica, cu exemple practice, cum să plasezi semnalele pentru a evita blocajele.

【Factorio】Cele 3 principii ale plasării semnalelor în lanț pentru trenuri

Pentru a ajunge la esență: semnalele în lanț pentru trenuri sunt „semnalele pe care le pui înainte de a intra într-o intersecție", iar semnalele normale sunt „semnalele pe care le pui după ce trenu iese din intersecție, dacă acolo poate sta în siguranță". Aceasta e cea mai practică modalitate de a-și aminti. De când m-am gândit la lucrurile în acest fel, raramente mai mă-ntreb unde să plase semnale, chiar și la T-crossing-uri și intersecții cu 4 direcții. Referință: Folosesc explicațiile oficiale pentru „semnale în lanț pentru trenuri" de pe , dar pagina oficială poate fi actualizată, deci verific conținutul și URL-ul curent înainte de publicare. https://wiki.factorio.com/Rail_chain_signal/ja

Principiul 1: Intrări cu semnal în lanț

La intrări în ramificații, confluxuri și intersecții, plasezi în primul rând un semnal în lanț. Acesta e cel mai important dintre cele 3 principii. Motivul e simplu: vrei să spui trenului „gândește-te înainte de a intra", nu „gândește-te după ce intri".

Dacă pui un semnal normal la intrare, trenul va avansa ușor dacă blocul imediat următor e liber. Drept rezultat, trenul intră cu capul în intersecție și se oprește acolo, trăgând după el și alte trenuri din direcții diferite, causând blocaj. Sincer, aceasta e greșeala clasică pe care o fac începătorii. Și eu am fost confuz de „am pus semnale dar încă am congestie", dar schimbarea intrării la semnal în lanț a redus drastic opririle în intersecție.

Semnalul în lanț, verifica condiții până la următorul semnal înainte de a decide dacă intră, deci dacă intersecția de ieșire e blocată, va face trenul să aștepte la intrare. Cu alte cuvinte, e semnalul care previne folosirea intersecției ca punct de așteptare. Logica e aceeași pentru ramificații și confluxuri: locurile în care rutele se pot intersecta necesită semnale în lanț înainte, pentru a face predicții cu privire la fluxul de trafic.

Dacă poti plasa semnale în interiorul intersecției, conectezi blocurile interioare și cu semnale în lanț. Asta permite despărțirea mai fină a rutelor care nu se intersectează, deci procesarea e mult mai stabilă în perioadele aglomerate. Diferența e mai vizibilă în particulară la T-crossing-uri cu două benzi sau intersecții cu viraje mixte.

Principiul 2: Semnale normale doar acolo unde trenurile pot astepta în siguranță

Plasezi semnale normale doar în locuri unde poti spune cu încredere „dacă trenul se oprește aici, nu va bloca restul rețelei". Altfel spus, semnalele normale sunt semnale pentru a marca poziții de staționare.

Exemplul tipic: intersecția se termină și e o linie dreaptă suficient de lungă mai departe, și dacă trenul se oprește acolo, corpul lui nu se întoarce la ramificație sau intersecție. Plasând semnale normale în locuri ca acestea, trenul va ieși complet din intersecție înainte de a se opri. Asta e motivul pentru care se spune „ieșire cu semnal normal", dar mai precis e „ieșire cu semnal normal doar dacă exista spațiu suficient pentru a staționa în siguranță".

În schimb, plasând un semnal normal acolo unde nu ar trebui să se oprească, acel semnal devine punctul oficial de așteptare pentru trenul respectiv. Drept urmare, se întâmplă că trenul pare a fi ieșit din intersecție, dar rădăcina lui încă ocupă spațiul intersecției, blocând trenurile următoare. Cauzele blocajelor mortale pot părea complexe, dar mult adesea se-ntâmplă că cineva a pus un semnal normal acolo unde nu era permis oprirea.

Acest principiu devine și mai important în configurații cu trafic ridicat. Cu cât sunt mai multe trenuri, cu atât mai mult „unde le faci să aștepte" devine „cât de mult pot procesa". Semnalele normale sunt convenabile, dar în momentul în care le pui, declari „e bine să se opreasca aici". Odată ce-nțelegi asta, te-vei gândesti mult mai clar la plasare.

💡 Tip

Dacă nu-ți e clar, imagina-ți trenul oprit la acel semnal. Dacă se poate opri fără a bloca intersecția, e caz pentru semnal normal. Dacă ar bloca, gândește-te la semnal în lanț.

Principiul 3: Intersecții consecutive și blocuri scurte – conectează cu semnale în lanț

„Ieșire cu semnal normal" e regula de bază, dar nu e întotdeauna corect. Dacă spațiul după ieșire e foarte scurt sau dacă urmeaza imediat o altă intersecție, ramificație sau semnal, e mai stabil să conectezi ieșirea și cu semnal în lanț.

Problema care apare e că plasând un semnal normal la ieșire, trenul trece prin „ca și cum ar fi ieșit din intersecție", dar în realitate spațiul e prea scurt pentru trenu complet, deci o parte a corpului rămâne în intersecția anterioară. Pare ieșit, dar de fapt nu e, și asta devine punctul central al congestiei.

La T-crossing-uri consecutive sau intersecții în cruce cu confluxuri imediat după, problema asta apare foarte des. Și eu am creat dificultate cu confluxuri densificate în fața unei stații, și plasând un semnal normal la ieșire, trenul s-a oprit într-o poziție neaparat, iar fluxul rețelei s-a încetinit într-o configurație proastă de mai multe ori. În locuri ca acestea, e mai curat să faci ieșirea și ea cu semnal în lanț, pentru a „verifica condiții până la următoarea poziție de așteptare sigură" ca o singleă evaluare continuă.

Pe scurt, situațiile care necesită semnale în lanț sunt 2:

  1. Chiar dacă iese din intersecție la vedere, nu e destul spațiu să cuprindă trenu maxim
  2. Imediat după urmează un alt punct de decizie

Primul caz previne depășirile de intersecție, al doilea controlează blocuri consecutive. În exemplele comunității, intersecții consecutive și ieșiri scurte sunt adesea tratate ca excepție la regula „ieșire cu semnal normal", și înțelegerea asta e mai practică decât memorarea mecanică. Conectând intrări, interioare și ieșiri scurte cu semnale în lanț, și schimbând la semnale normale doar unde exista spațiu adecvat de așteptare, sistemul e greu de rupt chiar și în rețele mari.

Cunoștințe de bază: diferența dintre semnalele normale și semnalele în lanț

Organizare conceptuală: blocurile (sectoarelor) și sistemul de rezervare

Dacă clarifici asta mai întâi, distincția și alegerea între semnale normale și semnale în lanț devine mult mai limpede. Vorbesc din perspectiva mediului vanilla Factorio 2.0, și ideile se aplică și în mediul Space Age. După cum a fost anunțat în , 2.0 și Space Age au fost lansate în aceeași zi, și principiile fundamentale ale semnalelor din articol se încadrează în acel interval.

Semnalele feroviare împart șinele în blocuri (sectorii) și gestionează „dacă e permis să intri în sector". Un bloc e spațiul dintre semnale, sau un aranjament care include bifurcări și intersecții, și în general un singur tren e la un moment dat într-un bloc; alt tren nu poate intra. Rezervarea aici înseamnă ideea de a „ocupa în avans ruta pe care o va lua trenu". La început, doar am crezut „roșu = stop, verde = go" și nu mult mai mult, dar încetinind rețelele de intersecție, am realizat că conceptul de rezervare lipsea din gândirea mea.

Semnalul normal se uita în principal la următorul bloc. Semnalul în lanț, în schimb, privește cât de departe se poate conecta ruta sa înainte de a se opri la următorul semnal, și doar apoi decide. Dacă citești , vei vedea că gestionarea intrării în intersecție cu semnale în lanț e ideea centrală. Dacă ar trebui să distingem rolurile într-o propoziție: semnalul normal vede „pot intra în bloc următoare?", semnalul în lanț vede „pot traversa fără îngrămădire până la următorul semnal?"

Space Age/ja wiki.factorio.com

Diferența de logică între semnale normale și semnale în lanț

Semnalul normal e bun la „intrări în zone unde e permis să stai". Dacă următorul bloc e liber, face trenul să avanseze, deci e ideal pentru liniile drepte sau file de așteptare în fața stației. Dar plasând-l la intrarea intersecției, judecata e prea scurtă. Dacă e o mică deschidere în intersecție, trenul va merge cu capul înainte, și dacă-n spatele lui e plin, se va opri în interiorul intersecției. Asta e cauza fundamentală a congestiei cu semnal normal la intrare.

Semnalul în lanț face inversul – e foarte atent dacă „poți intra". Nu doar următorul bloc, ci condiția rutei până la următorul semnal trebuie să fie satisfăcută, și dacă nu, face trenul să aştepte la intrare. Cu alte cuvinte, e logica care nu permite folosirea interiorului intersecției ca loc de așteptare. Odată ce-nțelegi asta, vei vedea de ce „intrare cu lanț, ieșire normal" e regula de bază. Intrarea face judecata de intrare, ieșirea marchează o poziție de oprire – împărțire de roluri.

E ușor de simțit din greșeli practice. Dacă intrarea e semnal normal, capul trenului intră ușor în intersecție, dar dacă ieșirea e plină, se va opri acolo. Apoi trenurile următoare nu pot folosi intersecția, trenurile din alte direcții care vor să vieze sunt blocate, și o greșeală la o singură intersecție se transform în cascadă de opriri pe întreaga rețea. Și eu am făcut asta cu un T-crossing și am fost confuz de ce „chiar dacă am semnal, situația se peiorează?". De fapt, nu era semnal-ul în sine problema, ci ce am designat ca spaţiu de așteptare.

Apoi, în intersecții poți gândi asta ca rezervare unificată. Semnalul în lanț spune „dacă intri în intersecție, poți rezerva și ocupa până la următoarea poziție sigură de așteptare, și doar atunci poți merge". De aia e mai greu să se oprească trenu în mijloc. Bineînțeles, dacă ieșirea e scurtă cu intersecție consecutivă, schimbând ieșirea la semnal normal o va face să-o trateze ca spaţiu de așteptare. De-aia ieșirea cu lanț în-aia situație – vrei ca evaluarea să se întindă și mai departe, la alt loc sigur.

Principiul 1: Semnale în lanț la intrări în ramificații, confluxuri și intersecții

Acest principiu e cel mai greu de greșit în plasarea semnalelor în lanț. Ramificații, confluxuri și intersecții – plasează semnal în lanț la intrări. Fixând asta, confuzia în designul semnalelor scade drastic. Motivul e că semnalul în lanț permite judecata: „cred că intrare e liberă, dar dacă ieșire e blocată, atunci nu intru" – cu alte cuvinte, design care nu permite așteptarea în interior.

Sincer, inițial m-am gândit „dacă intrare e verde, de ce nu merge?". Dar cu semnal normal la intrare, trenul nu vede până la ieșire, doar intră ușor și se oprește dacă nu poate merge mai departe. Apoi se blochează și alte fluxuri. Cu semnal în lanț la intrare, trenul devine albastru în așteptare la intrare și apoi verde pentru a traversa rapid, fluxul se stabilizează. E vizibil imediat cum se schimbă după plasare.

După , semnalul în lanț gestionează intrări cu condiție de rută. În intersecții, gândul e: „dacă intri, poți ocupa până la o poziție sigură după?", iar dacă nu, aștepți la intrare.

T-crossing: plasare de semnal în lanț la intrări

La T-crossing, principiul e intuitiv. T-crossing-ul are linia principală și linia laterală care se intersectează, dar plasezi semnal în lanț la fiecare intrare în intersecție. Adică, linia principală se apropie de zona de intersecție și linia laterală de asemenea. Scopul e să nu lași trenu să stea în mijlocul intersecției.

Imaginea de bază a T-crossing

        linie laterală
         |
        [C]
         |
==***zona de intersecție***==
   [C]            [ieșire]
linia principală→

Judecata e: „înainte de a intra în pătratul T-crossing, verifica dacă poți traversa complet". Semnalul în lanț face trenul să verifice dacă ruta e liberă până după ieșire înainte de a intra. Deci dacă ieșire e plină, T-crossing-ul se gol și trenul asteaptă afară. Cu semnal normal, intersecția e ocupată ușor, virajul e incomplet și se oprește în interior.

Greșeala la T-crossing se vede clar. Trenul de pe linia principală intră cu semnal normal la zona de intersecție, linia laterală nu poate ieși, apoi trenul următor e blocat, și tot T-crossing-ul se opreşte. Eu am pierdut ore pe asta, dar schimbând intrarea la lanț, „trenul oprit în intersecție" dispare și fluxul se schimbă radical.

Intersecție cu 4 direcții: toate intrările cu semnal în lanț

În intersecția cu 4 direcții, principiul e mai critic. Cu mai mulți copii de rute, chiar și o singură intrare cu semnal normal crește dramatic probabilitatea de oprire în interior. În intersecția cu 4, nord, sud, est și vest sunt toate conectate, deci standardul e toate intrările cu semnal în lanț.

Imaginea de bază a intersecției cu 4

        [C]
         |
==***zona de intersecție***==
[C]                 [C]
         |
        [C]

De ce toate? Pentru că intersecția cu 4 nu e o problemă de o rută singură. De exemplu, trenul est→vest intră cu semnal normal, se oprește în interior și blochează și nord→sud, și vest→sud și alte fluxuri. Un tren oprit în interior ocupă mai multe direcții, intensificând stagnarea. E nu doar congestia unui tren, ci cascada de blocări.

Cu semnal în lanț la toate intrările, trenul vede intersecția ca „intru doar dacă ruta complet se desfășoară de la inceput la sfârşit" și nu ca „intru și iau ce-i liber". În realitate, trenurile se aliniază în fața, și doar când condiții e fost faci intră și traversează rapid. Cu semnal normal la intrare, trenu încearcă să intre forțat; cu lanț, asteaptă ordonat.

Și folosește controlul intrării pe lanț la intersecții. Intersecția cu 4 e locul perfect pentru a aplica asta direct.

Ramificare Y și conflux Y: semnal în lanț înainte de bifurcație/conflux

Y-branching pare lin, dar e o intersecție la nivel de operație. Înainte de punctul de ramificare sau înainte de punctul de conflux, plasezi semnal în lanț. Adică înainte de bifurcație la Y-branch, înainte de conflux la Y-merge.

Y-branching

      ↗ ieșire A
---[C]<
      ↘ ieșire B

Y-merge

intrare A ↘
           >[C]--- după conflux
intrare B ↗

Semnal în lanț înainte de bifurcație pentru a preveni intrarea dacă ieșirea aleasă e blocată. Cu semnal normal, trenu intră și se oprește din nou, blocând și cealaltă ieșire. Y-branching pare mai nevinovat, dar face blockade ușor. Conflux-ul e la fel: dacă linia după conflux e ocupată, nu pot intra ambii trenuri, deci unul se va opri în conflux și l-va bloca pe celălalt. Specialmente dacă e linie laterală cu conflux la linia principală, un singur tren oprit în conflux încetineste și linia principală. Am făcut-o cu semnal normal și am văzut exact asta – cu lanț, intrarea incompletă dispare.

și exemplele comunității aplică asta consistent. Y e intersecție în mască; regula e aceeași: ramificare înainte, conflux înainte – semnal în lanț.

www.jias.jp

Principiul 2: Semnale normale doar unde trenuri pot astepta în siguranță după ieșire

Modul de gândire asupra lungimii maxime de tren

Aici „ieșire cu semnal normal" nu înseamnă automat semnal normal din cauza că-i ieșire. Condiția e una: după ieșire trebuie spațiu în care trenul complet (până la vagonul final) să se poată opri complet. Fără asta, chiar cu intrare pe lanț, nu poți evita complet oprirea în intersecție.

Modul de gândire se simplifică mult în practică. Standard e: lungimea de la vârful locomotivei până la spatele ultimului vagon. Adică „trenul care merge des" nu, ci trenul cel mai lung din rețea. Dacă folosești 2-4, te gândești la 2-4; dacă trenul de aprovizionare e mai lung, la ala. Spațiul de aşteptare după ieșire trebuie să cuprindă complet trenul lung, și chiar mai e nevoie de puțin spațiu liber.

Măsurând cu trenuri reale e mai sigur decât cifre fixe. Oprinzi un tren pe o linie dreaptă la stație și iau măsura de la vârf la coadă pe baza tile-urilor, și asta-ți dă intuiție pentru design. Și eu am estimat prost și am plătit prețul – dacă ceva pare „probabil intră", dar în realitate coadă rămâne în intersecție, asta e cel mai rău. Chiar și rămân puțin, acea intersecție e pe fapt ocupată.

Și spune la fel: ieșire normal presupune lungime. Începători de multe ori-și zic „intrare lanț, ieșire normal" automat, dar corect e intrare lanț, ieșire normal doar dacă spațiu de așteptare e sigur. Cu condiție asta, chiar și ramificări ciudate o iei ușor.

Checklist pentru a face semnal normal la ieșire

Dacă nu-ți e clar unde pui semnal normal, te uiți la unu singur lucru: dincolo de acel semnal, trenul nu trebuie să se-ntoarcă în intersecție. Dacă se poate opri acolo, e semnal normal; dacă se-ntoarce, semnal lanț e mai sigur.

Logica e asta:

  1. După intersecție, e oare un spațiu unde pom opri?
  2. Trenul maxim din rețea, intregi în acel spațiu?
  3. Dacă e oprit, spatele nu-i în intersecție?

Dacă-i da la trei, semnal normal funcționează. Dacă nu, ieșire lanț e mai sigur.

💡 Tip

Dacă nu-ți e clar, gândește-te: „sar opri trenul aici și-i o problemă?". Semnal normal = „e bine să se oprească aici". Dacă-i o problemă, lanț.

Asta se vede în și exemplele comunității. Decât să judeci după nume, judeci dacă-i loc de așteptare sigur, și la T, la 4-direcții, la orice, nu greșești.

Rail chain signal - Factorio Wiki wiki.factorio.com

Probleme cu ieșire scurtă și soluții

Cea mai mare problemă cu ieșire scurtă e trenul nu traversează complet și se opreste în interior. Asta nu-i problema doar a trenului ăla; blocheaza și trenurile după, și trenurile din alte direcții. La 4-direcții, mai multe direcții; la T, linia principală și laterală.

Am experimentat asta cand am pus trenuri 2-4: am lasat ieșire pe semnal normal, și spațiu după e prea scurt. Trenul pare ieșit, dar coda e în intersecție. Puțin, dar rețeaua e plină și tremuri după se blochează. Fluxul s-a grav deteriorat. La inceput am crezut că intrarea e greșită, dar greșeala era ieșire prea scurtă. Eu am schimbat ieșire de la normal la lanț și am adaugat stacker pentru așteptare, și stabilitate s-a-ntors imediat.

Exemplu rău: ieșire cu spațiu de doar 1 bloc și semnal normal. Se vede că-i „ieșit din intersecție", dar în realitate-i parte din așteptare a intersecției. Soluție: lungești spațiu după ieșire, sau faci stacker de așteptare după intersecție, departe de centru. Și arată că debit depinde și de spații înainte și după, nu doar interior.

Cand e scurtă ieșirea și semnal normal, problema nu-i «semnal greșit» ci am făcut loc de așteptare unde nu-i permis. Gândind asa, soluția-i clar: sau nu fac normal la ieșire scurtă, sau fac spațiu bun de așteptare după intersecție. Cand rețea mare se încetineste dar intersecția pare bună, ieșire e obișnuita culpă.

列車ネットワーク/配置例 - factorio@jp Wiki* wikiwiki.jp

Principiul 3: Intersecții consecutive și blocuri scurte – conectează cu semnale în lanț

Intersecții consecutive: și ieșire cu semnal în lanț pentru judecată îndepărtată

Cea mai mare confuzie de începători apare la prima ieșire din intersecție e urmată imediat de semnal / intersecție următoare. Cu doar principii 1-2, gândești «ieșire din intersecție = semnal normal», dar cu blocuri scurte consecutive, asta duce ușor la blocaj.

Motivul: chiar dacă ieșire e traversată, trenul se opreste scurt, iar spatele rămâne în intersecție anterioară. Intersecții consecutive cer mai mult: e permis să ies din prima? Da, dar dacă ieșire următoare e plină? Doar privind la ieșire nu-i de ajuns.

Am făcut asta cu intersecții consecutive: o parte era liberă dar tot se blocheaza. Cauza: am pus semnal normal la ieșire prima intersecție. Trenul intră și se opreste apropiat, iar intersecție anterioară e plină. Fluxul stagna, deși părea să merge. Schimbând ieșire prima de la normal la lanț și făcând ceva spațiu, s-a reparant.

Regula: privit nu doar ieșire ci până la loc de așteptare serios apoi. Dacă dupa ieșire prea curând urmează semnal / intersecție, fă ieșire și lanț, nu normal. E pentru a nu lăsa tren în poziție proastă și pentru a continua fluxul mult mai departe.

💡 Tip

La intersecții consecutive, nu-te gândi «am ieșit?» ci «pot sis ies sigur la loc de așteptare următor?». Asta-ți dă judecată mai bună.

Și altă chestie veche care se neglijează: împarte intersecție în interior cu semnale. În 2.0, interior împarte cu lanț funcționează bine. După exemple comunității, folosind semnale lanț în interior e mai eficient. Eu am rupt blocaj pe intersecție consecutivă făcând asta.

Ideea:

Fără interior
[intrare lanț] → [intersecție caz 1 bloc] → [ieșire]

Cu interior
[intrare lanț] → [interior bloc A] → [interior bloc B] → [ieșire]
                  \___rute non-

article.share

R

RinSeo

Factorio 2,000時間超。100駅以上の列車ネットワーク運用実績と Death World マラソンクリアの経験から、物流・防衛の実践ノウハウをお届けします。