Eine ausführliche Anleitung zur Erstellung botbasierter Logistikzugnetzwerke in Vanilla Factorio.
Einführung
Was sind Logistikzüge??
Logistikzüge verfügen über ein intelligentes Planungssystem, das jeden Zug anweist, Materialien nur bei Bedarf zu Stationen zu bringen, die sie anfordern. Dadurch steht ein Versorgungsbahnhof zur Verfügung, um jeden von mehreren anfragenden Bahnhöfen effizient und ohne die Notwendigkeit mehrerer Züge zu beliefern.
Dies unterscheidet sich von der einfachen Fahrplanung, bei der ein Zug auf einer festen Strecke so eingestellt wird, dass er nur bestimmte Haltestellen anfährt. Reguläre Züge, die an einem Bahnhof auf leere Inhalte eingestellt sind, bleiben ebenfalls am Bahnhof, bis sie vollständig leer sind. Dies verringert den Gesamtdurchsatz und macht manchmal das Hinzufügen von Warteschlangen vor einer Station erforderlich. Auch bei regulären Zügen kann es zu langen Ladezeiten an einem Versorgungsbahnhof kommen, wenn der Bahnhof nicht mithalten kann. Natürlich, Es kann eine Zeitbegrenzungsbedingung festgelegt werden, Dies führt aber wiederum dazu, dass der Zug ununterbrochen fährt, was zusätzliche Probleme verursacht.
Mit Logistikzügen, Sie werden automatisch an eine anfordernde Station gesendet, an der nur noch wenig Material vorhanden ist, Leeren Sie den Inhalt so schnell wie möglich, und sofort zu einer verfügbaren Versorgungsstation zurückkehren.
Einsatzmöglichkeiten für Logistikzüge
Der Einsatz von Logistikzügen erleichtert die Erweiterung einer Basis und kann Ihnen auf lange Sicht Kopfschmerzen ersparen. Neue Mining-Außenposten werden automatisch mit dem Netzwerk verbunden und können von überall innerhalb des Netzwerks angefordert werden. Reparaturen können von einer entfernten Station, beispielsweise einem Artillerie-Außenposten, angefordert werden und ein Zug mit Materialien kann automatisch verschickt werden.
Warum Bots?
Bots machen Gürtel überflüssig, Dies wiederum macht eine Bandplanung überflüssig und ermöglicht kompaktere Bauweisen. Noch wichtiger, im Gegensatz zu Gürteln, Bots haben durch Geschwindigkeitssteigerungen und das Hinzufügen weiterer Bots zu einem Netzwerk einen im Wesentlichen unbegrenzten Durchsatz.
Kann ich Gürtel verwenden??
Bedauerlicherweise, Einige grundlegende Designmechanismen in diesem Leitfaden hängen von der Funktion von Logistikkisten ab, die nicht mit Gürteln funktionieren.
Haftungsausschluss und Voraussetzungen
Dieses Handbuch enthält keine Blaupausen. Sein Zweck besteht darin, Grundlagen zu vermitteln, damit Sie dieses Wissen erweitern und Ihre eigenen Builds erstellen können, die Ihren Anforderungen entsprechen. Ein sehr grundlegendes Verständnis der Logikschaltungen und ihrer Funktionsweise in Factorio ist erforderlich. Es wird davon ausgegangen, dass alle Züge in einer Richtung auf zwei Gleisen verkehren. Auch die Schienensignalisierung wird nicht erläutert; Denken Sie einfach an dieses Grundprinzip für jede Kreuzung: Kette vorher, Signal nach. Die Designs in diesem Leitfaden sind möglicherweise auch nicht die effizientesten, oder es kann zu Fehlern kommen; Wenn es etwas gibt, das besser gemacht werden kann, hinterlassen Sie bitte unten einen Kommentar!
Grundlegende Ausgabe (Laden) Station
- In diesem Beispiel wird eine Station verwendet, die nur Eisenplatten lädt, die aus einer Schmelzanlage stammen.
- Lassen’Benennen Sie den Sender “Eisen – Aus”. Alle nachfolgenden Stationen, die Eisenplatten ausgeben, erhalten den gleichen Namen. Wir möchten, dass ein Signal ausgegeben wird, sobald alle anfordernden Truhen gefüllt sind, Dadurch wird dann der Zugstopp mit der Option „Zugbegrenzung festlegen“ aktiviert. Dieser Signaltyp kann beliebig sein; Wir werden ein Zughaltesymbol verwenden, um das Zugbegrenzungssignal darzustellen.
- Diese Station verwendet a 1:4 Lokomotive:Konfiguration des Güterwagens.
- Jeder Wagen hat eine Kapazität von 40 Slots, und jeder Wagen wird beladen 12 Anfragertruhen.
- Da stapeln sich Eisenplatten 100, Um einen Wagen zu füllen, sollte jede Truhe mindestens enthalten (40*100)/12 = 334 Eisenplatten erforderlich. Der Einfachheit halber runden wir dies auf 400. Jeder der 48 Truhen sollten angefordert werden 400 Eisenplatten.
- Alle 48 Truhen sind mit dem Eingang eines Entscheidungskombinators verbunden. Der Kombinator gibt a aus Signal von 1 Wenn Alles ist größer oder gleich 400*12*4 = 19200, oder mit anderen Worten, sobald alle Anfragentruhen gefüllt sind. Denken Sie daran, dass der Signaltyp mit dem Typ übereinstimmen muss, der von der Zughaltestelle erkannt wird.
- Bevor der Ausgang des Entscheiderkombinators mit der Zughaltestelle verbunden wird, 2 Optionale Funktionen können hinzugefügt werden. Erste, Das Signal kann mit einem arithmetischen Kombinator multipliziert werden, was wiederum das Gesamtzuglimit vervielfacht. Dies wird selten genutzt und macht eine Warteschlange vor der Haltestelle erforderlich, Daher wird die Standardeinstellung beibehalten Signal*1.
- Die zweite nützlichere Funktion ist eine Reihe von Lichtern, die grün werden, sobald der Bahnhof bereit ist, einen Zug aufzunehmen. Beide Lichter sind so eingestellt, dass sie Farben verwenden und nur dann aktiviert werden, wenn die Zugbegrenzungssignal ist größer oder gleich 1. Dies ist natürlich zusammen mit einem Konstantkombinator, der a ausgibt, mit der Hauptsignalleitung verbunden Grünes Signal von 1. Der Zweck der 4 Das Einfügen schwarzer Signale vor dem Farbsignal soll verhindern, dass die Farbe in den Alt-Mode-Informationen des Kombinators angezeigt wird, was zu Verwirrung führen kann.
- Endlich, Der Zugfahrplan ist für die Ausgangs-Ladestation auf einen einfachen Zustand voller Ladung und für die Eingangs-Entladestation auf einen Zustand leerer Ladung eingestellt.
- Denken Sie daran, dass es wichtig ist, eine ausreichende Anzahl von Roboports neben der Station zu platzieren, da es sich nach dem Beladen um einen Bereich mit hohem Verkehrsaufkommen handelt.
- Nachfolgend finden Sie eine Referenztabelle zum Festlegen der Brustanforderungen und des Entscheidungskombinators für 1:4 Züge.
Artikelstapelgröße | Anfragen pro Truhe | Entscheider-Kombinator |
---|---|---|
50 | 200 | 9600 |
100 | 400 | 19200 |
200 | 700 | 33600 |
Grundlegende Eingabe (Entladung) Station
- Dieses Beispiel ergänzt das vorherige als Station, die die Eisenplatten am Eingang eines Fabrikblocks zur Verwendung entlädt
- Lassen’Benennen Sie den Sender “Eisen – In“. Denken Sie daran, dass alle anderen Stationen, die Eisenplatten anfordern, denselben Namen tragen sollten. Die Haltestelle wird auch über die verfügen Zuglimit festlegen Option aktiviert.
- Wir möchten, dass ankommende Züge ihre volle Ladung entladen und abfahren. Dies bedeutet jedoch, dass ein Puffer vorhanden sein muss, bevor der Bahnhof einen weiteren Zug anfordert. Dies geschieht durch die Verwendung einer Mischung aus aktiven und passiven Anbieterkisten in einem 2A:2P:2A Verhältnis, wo die in aktiven Truhen entladenen Gegenstände sofort verwendet werden. Dadurch verbleibt ein Teil der Eisenplatten in den passiven Truhen, bis die aktiven Truhen erschöpft sind. Erst wenn die aktiven Truhen leer sind, werden Gegenstände aus den passiven Truhen entnommen, Auslösen einer weiteren Zuganforderung nach Unterschreiten eines Schwellenwertes.
-
- Warum ein 2a verwenden?:2P:2ein Verhältnis von aktiven und passiven Truhen beim Entladen? Dies verhindert ein Ungleichgewicht der in Truhen verbliebenen Gegenstände, das zu Problemen beim Entladen führt. Dies wird im Detail erläutert dieses Video von Nilaus.
- Wenn irgendwo im Netzwerk ungefilterte Lagertruhen vorhanden sind, werden die Eisenplatten in den aktiven Truhen in diese hineingesaugt. Wenn dies der Fall ist, Wenn Sie mehrere Lagerkisten neben der Station platzieren, die nach Eisenplatten filtern, werden diese stattdessen in diesen Kisten zusammengefasst, mit 4 Truhen sind mehr als genug. Diese Truhen werden aufgrund der Priorität der Lagertruhen zuerst verwendet.
- 4000 Eisenplatten werden relativ gleichmäßig hinein entladen 12 Truhen pro Wagen, weggehen 1333 Teller in der 4 passive Truhen. Haben 4 Waggons bringt den Gesamtpuffer auf 5333 Artikel.
- Alle 48 Truhen sind mit dem Eingang eines Entscheidungskombinators verbunden. Wir möchten, dass der Bahnhof einen weiteren Zug ruft, wenn die passiven Truhen beginnen, die restlichen Gegenstände bereitzustellen. Die Bedingung besagt, dass a Signal von 1 wird gesendet, wenn Alles ist kleiner oder gleich 5000. Beachten Sie, dass die Alles-Bedingung weiterhin ein Signal sendet, auch wenn alle Truhen leer sind.
- Wie bei der Ausgabestation, Zur Multiplikation des Zuglimits kann ein arithmetischer Kombinator einbezogen werden, sowie Lichter, die so eingestellt sind, dass sie eingeschaltet werden, wenn der Bahnhof aktiv ist und einen Zug anfordert, in diesem Fall gelb.
- Vergessen Sie nicht, Treibstoff für den Zug anzufordern. Da die Entladung normalerweise an zentraler gelegenen Fabrikblöcken erfolgt, Ich bevorzuge es, Tankanfragen nur an Eingabestationen statt an Ausgabestationen zu platzieren.
- Die Entladestation ist ein sehr stark frequentierter Bereich, Für größere Fabriken kann es erforderlich sein, mehrere Reihen von Robotports zu platzieren
- Nachfolgend finden Sie eine Referenztabelle zum Festlegen des Entscheider-Kombinators 1:4 Züge.
Artikelstapelgröße Entscheider-Kombinator 50 2500 100 5000 200 10000 - Nachfolgend finden Sie eine Übersicht über das gesamte System. Der Abbau und die Verhüttung erfolgen oberhalb der Ausgabestation. Einmal angefordert, Die Eisenplatten werden zur Eingabestation gebracht, wo es in der Zahnradproduktion zum Einsatz kommt
Flüssigkeitsausgabe- und Eingabestationen
- Stationen zum Transport von Flüssigkeiten folgen den gleichen Prinzipien wie Feststoffe, sind aber relativ einfacher und beinhalten keine Bots.
- Für einen 1:4 Zug, Jeder Flüssigkeitswagen kann transportieren 25000*4 = 100000 Einheiten. Der 8 Ladetanks können jeweils gelagert werden 25000 auch Einheiten, mit einem Gesamtspeicher von 200000.
- Jeder Tank ist mit dem Entscheider-Kombinatorsatz verbunden 100000, genug für 1 Zug. Beachten Sie, dass sich die Lagertanks auch dann weiter füllen, wenn die Bedingung erfüllt ist, Füllung maximal 2 Züge im Wert von Flüssigkeit, was als schöner Puffer dient.
- An der Entladestation, Der Entscheider-Kombinator ist auf eingestellt 50000. Dadurch wird ein Zug angefordert, nachdem die Hälfte der entladenen Flüssigkeit verbraucht ist.
Erweiterte Ausgabestation
- In diesem Beispiel wird eine Station verwendet, die verschiedene Gegenstände von der Hauptbasis lädt, die zu allen Außenposten gebracht werden, die eine Auffüllung anfordern.
- Wir geben der Station einen Namen “Nachschub – Aus“. Die Station unterstützt a 1:4 Zug: Der 1. Wagen befördert nur Kernbrennstoff; Der zweite trägt nur Logistik-Bots; Der dritte enthält eine Mischung aus Bau-Bots, Reparatursätze, usw; und der vierte ist leer, um zurückgegebene Artikel entgegenzunehmen. Beachten Sie, dass es wichtig ist, Filter für gemischte Güterwagen wie den 3. mit der mittleren Maustaste festzulegen.
- Da der 4. Wagen leer ist, Der Zugfahrplan kann nicht so eingestellt werden, dass er auf volle Ladung wartet. Stattdessen, Für jedes Element ist ein Bedingungssatz festgelegt.
- Der Entscheider-Kombinator ist auf eingestellt Alles = 2. Der Konstantenkombinator gibt a aus Signal von 1 für jeden Artikeltyp, der geladen werden kann, und es wird in den Entscheider-Kombinator eingegeben. Der Zweck besteht darin, zu testen, ob ALLE dieser Signale eine Ausgabe von haben 2.
- Wir können für jede Art von Artikel sehen, Ein Entscheidungskombinator testet, ob in den Truhen genug von diesem Gegenstand bereitsteht. Jeder Artikel, der seine festgelegte Menge erreicht, gibt ein aus Signal von 1, welches an Everything = gesendet wird 2 Entscheider-Kombinator. Dieses Signal von 1 zusammen mit dem Signal von 1 für diesen bestimmten Gegenstand, der vom Konstantenkombinator erzeugt wird, wird addiert 2.
- Als Beispiel, Der 1. Wagen kann halten 40 Kernbrennstoff. 6 jeweils eine Anfragertruhe Anfrage 7 Kernbrennstoff, was sich in der Summe summiert 42, genug, um den Wagen zu füllen. Diese Truhen sind alle mit dem Eingang des Gegenstands verbunden’s Entscheidungskombinator, um zu testen, ob sie bereit sind. Der Kombinator ist auf eingestellt ein Kernbrennstoffsignal von ausgeben 1 wenn Kernbrennstoff größer oder gleich ist 40, andernfalls wird es ausgegeben 0.
Erweiterte Eingabestation
- Dieses Beispiel setzt das Nachschubnetzwerk aus dem vorherigen Abschnitt fort.
- Diese Station und alle anderen werden benannt “Nachschub – In“. Beachten Sie, dass die Zughaltestelle eine zusätzliche Bedingung hat Leitungsnetzwerk senden Info. Dadurch wird das Zugbegrenzungssignal an den Zug gesendet, was in diesem Fall entweder ist 0 oder 1.
- Schauen Sie sich den Zugfahrplan an, Wir wollen, dass der Zug abfährt, wenn Zugbegrenzungssignal = 0 (Station fragt nicht mehr an) UND 15 Sekunde Inaktivität. Das 15 Der Sekundenpuffer dient dazu, Schwankungen der verfügbaren Logistik-Bots im Netzwerk auszugleichen, was später erklärt wird. Ein hinzugefügt ODER 30 Sekunde Inaktivität Bedingung zwingt den Zug zum Verlassen, um Staus zu verhindern.
- Der Entscheider-Kombinator ist auf eingestellt Irgendetwas != 1. Der Konstantenkombinator gibt a aus Signal von 1 oder jede Art von Artikel, die nachgeliefert werden kann, und es wird in den Entscheider-Kombinator eingegeben. Der Zweck besteht darin, zu testen, ob JEDES dieser Signale eine Ausgabe von hat 2.
- Wir können für jede Art von Artikel sehen, Ein Entscheider-Kombinator testet den Schwellenwert dieses Elements. Jedes Element, das unter den Schwellenwert fällt, gibt ein aus Signal von 1, welches an das Anything gesendet wird != 1 Entscheider-Kombinator. Dieses Signal von 1 zusammen mit dem Signal von 1 für diesen bestimmten Gegenstand, der vom Konstantenkombinator erzeugt wird, wird addiert 2.
- Der 1. Wagen enthält nur Kernbrennstoff. Der Zustand des Inserters ist auf eingestellt aktivieren, wenn <6. Der entsprechende Entscheider-Kombinator ist auf eingestellt wenn Kernbrennstoff <1, Ausgabe des Kernbrennstoffsignals von 1. Mit anderen Worten, um 6 Artikel werden bei jedem Nachschub und bei Unterschreitung entladen 1 Der Artikel löst eine neue Nachlieferung aus.
- Der 3. Wagen enthält eine Mischung aus verschiedenen Gegenständen, die nachgefüllt werden müssen, Daher werden zum Entladen jeweils Filtereinsätze verwendet. Jeder Inserter und sein entsprechender Entscheider haben ihre eigene Bedingung, wie oben erläutert. Beachten Sie, dass jede Lagertruhe nach Exklusivität gefiltert ist. Für eine gleichmäßigere Beladung kann die Stapelgröße des Kuvertierers auch überschrieben werden. Der zusätzliche Einleger, der Reparatursätze in den Roboport transportiert, ist völlig optional.
- In dieser isolierten Betrachtung des Schaltkreises geht es um alle Elemente außer Bots, Beachten Sie, dass keiner der Inserter und Kombinatoren mit den entsprechenden Truhen verbunden ist. Wie hoch ist die Anzahl der gelesenen Artikel?? Im Robotport-Menü, Die Lesen Sie die Inhalte des Logistiknetzwerks Option ist aktiviert (siehe Bild im nächsten Abschnitt). Dieser Roboport liest somit die Artikel im gesamten Logistiknetzwerk. Verwendung dieses Roboports, Wir senden die Ausgabe an alle Inserter sowie an die Entscheider-Kombinatoren für jedes Element. Mit dieser Methode, Die Truhen sollten nicht mit dem Stromkreis verbunden bleiben, sonst verdoppelt sich die Anzahl der Gegenstände.
- Der 4. Waggon nimmt verschiedene Gegenstände auf, die zum Rücktransport bereitstehen. In diesem Beispiel, Die 2 Truhen werden nach elektrischen Bergleuten und Geschwindigkeitsmodulen gefiltert, die an einem Bergbau-Außenposten nicht mehr benötigt werden.
Erweiterte Eingabestation – Bots
- Eine Erklärung, wie Bots verwaltet werden, verdient einen eigenen Abschnitt. Die Komplexität besteht darin, automatisch die Anzahl der in einem bestimmten Netzwerk erforderlichen Logistik-Bots zu ermitteln, Dies geschieht durch Pufferung der schwankenden Menge der verbleibenden verfügbaren Logistik-Bots.
- Im Roboport, Lesen Sie Roboterstatistiken ist aktiviert. Wir haben Signale ausgewiesen L und C für die TOTAL Logistik- und Bau-Bots im System, jeweils. X und Y werden für die VERFÜGBAREN Logistik- und Bau-Bots vorgesehen, jeweils.
- Die Verwaltung der Bau-Bots ist einfach. Oben ist eine Ansicht des isolierten Stromkreises. In diesem Netzwerk wollen wir 50 Insgesamt bereitgestellte Bots, mit der Schwelle für Nachfüllungen bei 25. Dies geschieht wie im vorherigen Abschnitt erläutert. Beachten Sie, dass die Platzierung des Roboports eine Kette von erfordert 2 Stapelfiltereinsätze, da die Verwendung eines langen Inserters zu langsam ist. Für eine gleichmäßige Beladung wird die Stapelgröße außer Kraft gesetzt.
- Für Logistik-Bots, lassen’Nehmen wir an, wir wollen eine Reihe von beibehalten 50-100 verfügbare Bots im Netzwerk als Puffer. In einem typischen Netzwerk, Die Anzahl der verfügbaren Logistik-Bots schwankt tendenziell und kann sinken 0 während der Spitzenaktivität. Da wir nicht jedes Mal einen neuen Zug anfordern möchten, wenn verfügbare Bots für den Bruchteil einer Sekunde unter den Schwellenwert fallen, Wir müssen die Erkennungszeit puffern. 30 sec sollte ein guter Wert sein, um festzustellen, ob weitere Bots erforderlich sind.
- Oben ist eine vergrößerte Ansicht des isolierten Schaltkreises zur leichteren Betrachtung dargestellt. Da wir eine Obergrenze von wollen 100 Verfügbare Bots, Die Einfügevorrichtungen sind auf eingestellt aktivieren, wenn X<100. Beachten Sie, dass es sich in diesem Fall bei den Einlegern nicht um Filtereinleger handelt, da der 2. Waggon des Zuges nur Logistikroboter beförderte.
- Wenn die verfügbaren Bots darunter fallen 50, Wir wollen ein Zeichen setzen. Wir werden dies benennen Signal A, die mit der Bedingung an den Eingang eines arithmetischen Kombinators gesendet wird A*1, Ausgang A die als Uhr dienen wird. Es ist wichtig zu beachten, dass der Ausgang dieses arithmetischen Kombinators wieder mit seinem Eingang verbunden ist.
- Hier ist eine Erklärung, wie die Taktschaltung funktioniert: Signal A ist zunächst ein Wert von 1, Also 1*1 = 1. Signal A ausgegeben und zusätzlich zum Original in den Kombinator zurückgeschleift Signal A von 1, ergebend 2*1 = 2. Daher wird Signal A um erhöht 1 für jeden Spieltick.
- Ein häufiger Fehler besteht darin, A+1 anstelle von A*1 zu verwenden. Die Verwendung von A+1 führt zu 1+1 = 2. Und in der nächsten Schleife wird es so sein 3+1 = 4. Wie wir sehen können, Dieses Signal erhöht sich um 2 anstatt 1 jeder Spieltick.
- Signal A beginnt zu zählen, sobald die verfügbaren Bots den Schwellenwert unterschreiten. Wir vervollständigen die Schaltung, indem wir testen, ob Signal A ist größer als 1800, dann ausgeben Logistik-Bot-Signal von 1. Da läuft ein Spiel 60 UPS hat 60 Ticks pro IRL-Sekunden, 1800 ist das Äquivalent von 30 Sekunden, das ist der Puffer, den wir gewählt haben.
- Endlich, Don’Vergessen Sie nicht, das Logistik-Bot-Artikelsignal in den Zuglimit-Kombinator auszugeben.
Deadlock-Prävention
Auf diese Weise funktionieren Logistikzüge:
- Ein leerer Zug sucht die nächstgelegene verfügbare Ausgabestation der Materialart, für die er vorgesehen ist, und fährt zu dieser.
- Der Zug wird am Ausgangsbahnhof beladen, und es parkt entweder an der Station, weil keine Eingabestation anfordert, oder es sucht und geht zu der nächstgelegenen verfügbaren Eingabestation.
- Der Zug wird am Eingangsbahnhof entladen, und es sucht entweder erneut nach der nächstgelegenen verfügbaren Ausgabestation und geht zu dieser, ODER es findet keine verfügbare Ausgabestation und bleibt an der Eingabestation stehen.
- Wir können hier sofort das Problem erkennen, das zu einem Deadlock führen wird. Wenn nicht genügend Ausgabestationen verfügbar sind, die das vorgesehene Material bereitstellen, können die Züge nicht zu diesen zurückkehren.
- Die Lösung für dieses Problem ist einfach: immer mehr Angebot als Nachfrage haben! Zum Beispiel, Stellen Sie sicher, dass Ihr Bergbaubetrieb mit dem Verbrauch Schritt hält. Das Hinzufügen eines zusätzlichen Rohöl-Außenpostens kann ausreichen, damit ein einzelner Zug zwischen ihnen hin- und herwechseln kann 1 davon ist noch nicht verfügbar. Denken Sie auch daran, nie mehr Züge als Ausgabestationen für eine bestimmte Materialart zu haben.
Das ist alles, was wir heute dafür teilen Factorio Führung. Dieser Leitfaden wurde ursprünglich erstellt und geschrieben von Mozart hat uns verlassen. Für den Fall, dass wir diesen Leitfaden nicht aktualisieren können, Sie können das neueste Update finden, indem Sie diesem folgen Verknüpfung.