ATM10 CC Control System

Modulares CC:Tweaked-Steuerungssystem fuer die ATM10-Megabase.

Create Factory Scheduler V1

create_factory_scheduler.lua ist der persistente Nachfolger des Logistiktests. Der funktionierende create_factory_test.lua bleibt als Rueckfallstand erhalten.

delete create_factory_scheduler.lua
wget https://git.peli-server.de/Dystroyer8/ATM10_CC_Codes/raw/branch/main/create_factory_scheduler.lua create_factory_scheduler.lua
create_factory_scheduler

Neue normale Module und Rezepte werden oben in der Tabelle RECIPES registriert. Die Scheduler-Logik muss dafuer nicht veraendert werden. Mehrstufige oder zufaellige Produktionsketten erhalten einen benannten Planner. V1.2 nutzt einen gemeinsamen Metall-Planner fuer Asurine -> Zinc und Crimsite -> Iron. Im AUTO-Modus haelt der erste Keep-Stock-Regler kleine Cogwheels, grosse Cogwheels und Iron Nuggets auf jeweils 64 Stueck. Mixer-, Casing- und Precision-Rezepte sind ueber blätterbare Rezeptseiten erreichbar.

Seit V1.3 erzeugt der Scheduler fehlende Zwischenprodukte als persistente Vorauftraege. Beispielsweise wartet ein Andesite-Casing-Auftrag automatisch auf fehlendes Andesite Alloy. presse:1 bis presse:6 bilden einen gemeinsamen Pool fuer Gold-, Iron-, Copper-, Brass-, Zinc- und Steel-Plates. Precision Mechanisms verwenden in ATM10 alltheores:gold_plate. Ihre lokalen Deployer-, Chute- und Vault-Puffer werden durch Factory Gauges versorgt; der globale Keep-Stock fuellt verbrauchte Cogwheels und Iron Nuggets parallel wieder auf.

V1.3.2 synchronisiert Vorauftrag und Hauptauftrag explizit: Das erzeugte Material wird erst freigegeben, nachdem der Vorauftrag seine Ankunft registriert hat. So kann ein nachfolgender Auftrag den neuen Bestand nicht mehr im selben Tick wegnehmen und dadurch einen falschen Retry oder Fehler ausloesen.

V1.4 bindet die Advanced-Peripherals-ME-Bridge als geschuetzten Fallback ein. Vorhandener Create-Bestand und Create-eigene Produktionsketten haben weiterhin Vorrang. Nur externe, im Create-Netz fehlende Rohstoffe werden in exakt der fehlenden Menge aus dem ME in sophisticatedstorage:chest_0 exportiert. Diese erste Stufe startet bewusst noch kein ME-Autocrafting.

Create-Fabrik: Peripherie erkennen

Das rein lesende Diagnoseprogramm herunterladen und starten:

delete create_factory_debug.lua
wget https://git.peli-server.de/Dystroyer8/ATM10_CC_Codes/raw/branch/main/create_factory_debug.lua create_factory_debug.lua
create_factory_debug

Es erzeugt auf dem CC-Computer die Datei factory_peripheral_debug.txt. Darin stehen alle verbundenen Peripherien, Methoden, Frogport-Adressen sowie abrufbare Paket-, Inventar- und Stock-Ticker-Daten. Das Programm versendet keine Pakete und veraendert keine Redstone-Ausgaenge.

Erster Logistik-Funktionstest

Nach erfolgreicher Erkennung kann der Monitor-Testcontroller installiert werden:

delete create_factory_test.lua
wget https://git.peli-server.de/Dystroyer8/ATM10_CC_Codes/raw/branch/main/create_factory_test.lua create_factory_test.lua
create_factory_test

Der Controller zeigt automatisch alle Items des Stock-Ticker-Netzes auf durchblaetterbaren Lagerseiten und bietet doppelt zu bestaetigende Testbestellungen fuer crushing, saw:1 und saw:2. Pro Verarbeitungslinie bleibt nur ein Auftrag aktiv, bis sein Ergebnis im Lager erkannt wurde. Er steuert noch keine Clutches oder sonstigen Redstone-Ausgaenge.

Als erster generischer Fan-Prozess ist fan:washing enthalten. Der Testauftrag verarbeitet 64 vereinheitlichte Zinc Clumps zu mindestens 576 Zinc Nuggets; das zufaellige Gunpowder-Nebenprodukt erscheint automatisch in der Lagerliste.

Zielbild

  • zentrale Leitwarte fuer Status, Energie, Alarme und Sektor-Hauptschalter
  • lokale Sektorcontroller fuer Create, Mekanism, Greenhouse und spaetere Mods
  • Sicherheitslogik bleibt immer im jeweiligen Sektor
  • versionierte Installation und Updates ueber Gitea

Installation auf einem CC-Computer

wget https://git.peli-server.de/Dystroyer8/ATM10_CC_Codes/raw/branch/main/install.lua install.lua
install

Der Installer ist momentan ein Bootstrap. Hardwaretreiber und konkrete Anlagenlogik werden ergaenzt, sobald die Peripherie- und Methodennamen der gebauten Anlagen feststehen.

Einfache Create-Boiler-Anzeige

Fuer die erste Kraftwerksanzeige werden ein Monitor sowie pro Boiler ein Block Reader aus Advanced Peripherals benoetigt. Mindestens ein weiterer Block Reader zeigt auf das Create- Speedometer oder Stressometer der gemeinsamen Hauptwelle. Alle Reader und der Monitor werden ueber Wired Modems mit dem Computer verbunden. Installation und Start:

wget https://git.peli-server.de/Dystroyer8/ATM10_CC_Codes/raw/branch/main/create_boiler_display.lua create_boiler_display.lua
create_boiler_display

Das Programm liest Online-Status und Heizmodus jedes Boilers ueber dessen Block Reader. Drehzahl, Kapazitaet, Verbrauch und Auslastung liest es aus den Netzwerkdaten des Gauge-Readers. Die Monitoraufloesung wird automatisch erkannt und die groesste passende Textskalierung gewaehlt. Ein Boiler ohne Wasserversorgung oder angeschlossene Engine wird als IDLE angezeigt, selbst wenn eine Campfire- oder Blaze-Burner-Waermequelle erkannt wird.

Clutch-Teststeuerung

Die linke Seite des Computers ist als Redstone-Ausgang fuer die Test-Clutch konfiguriert. Zwischen Ausgang und Clutch sitzt eine Redstone-Fackel als Fail-safe-Inverter: Ausgang ON bedeutet PRODUCTION: RUNNING; Ausgang OFF, Programmabbruch oder Computerneustart bedeutet PRODUCTION: STOPPED. Die Verbindung kann direkt oder ueber Create Redstone Links erfolgen.

Der gewuenschte Zustand wird nach jeder Touch-Bedienung in create_boiler_state.txt gespeichert. Beim naechsten Programmstart wird er wiederhergestellt. Fuer automatischen Start nach einem Computer- oder Weltneustart kann das Startprogramm als startup.lua installiert werden:

wget https://git.peli-server.de/Dystroyer8/ATM10_CC_Codes/raw/branch/main/create_boiler_startup.lua startup.lua
reboot

Waehrend der Computer aus ist, bleibt die Hardware durch den Fackel-Inverter abgeschaltet. Erst nach erfolgreichem Programmstart wird ein zuvor gespeicherter RUNNING-Zustand wieder aktiviert.

Die Boiler werden nicht anhand wechselnder Peripheral-Namen, sondern fest ueber ihre Controller-Koordinaten 11266/64/10810, 11260/64/10810 und 11254/64/10810 zugeordnet. Fehlt ein Reader, bleibt dadurch exakt die betroffene Boiler-Zeile auf MISSING / NO READER. Jeder Block Reader muss direkt auf den Controller-Tank seines Boiler-Multiblocks zeigen.

Andesite-Alloy-Produktion

Der erste lokale Create-Produktionscontroller ueberwacht einen Zink-Nugget-Vault, einen Andesite-Alloy-Vault und die per Clutch geschaltete Produktionsanlage. Die beiden Vaults muessen jeweils direkt ueber einen aktivierten Wired Modem Full Block als Inventory-Peripheral mit dem Computer verbunden sein. Der Redstone-Ausgang left steuert die Clutch ueber einen Fail-safe-Inverter: Redstone ON schaltet die Fackel aus und gibt die Welle frei; bei Redstone OFF, Programmabbruch oder Computer-Ausfall stoppt die Fackel die Welle.

Installation und erster Start:

wget https://git.peli-server.de/Dystroyer8/ATM10_CC_Codes/raw/branch/main/create_andesite_display.lua create_andesite_display.lua
create_andesite_display

Der Controller erkennt die Vaults anhand von create:zinc_nugget und create:andesite_alloy und speichert ihre Peripheral-Namen. Die Freigabe wird ebenfalls gespeichert. Fehlendes Zink, ein voller Ausgang oder fehlende Vault-Daten schalten die Produktionsanlage ab; nach Behebung wird eine weiterhin freigegebene Anlage automatisch fortgesetzt. Globale RPM-, Kapazitaets- und Stresswerte gehoeren in den spaeteren Create- Serverraum, da ein Stressometer immer das gesamte zusammenhaengende kinetische Netzwerk misst. Fuer den automatischen Start:

wget https://git.peli-server.de/Dystroyer8/ATM10_CC_Codes/raw/branch/main/create_andesite_startup.lua startup.lua
reboot

Struktur

core/       Laufzeit, Netzwerk, Protokoll, Logging, Updates
drivers/    Adapter fuer Redstone und Mod-Peripherie
roles/      Zentrale und Sektorcontroller
ui/         Monitore, Widgets und Alarmdarstellung
config/     Konfigurationsvorlagen
docs/       Architektur- und Protokolldokumentation

Sicherheitsprinzip

Die Zentrale fordert nur einen Zielzustand an. Lokale Controller fuehren sichere Start-/Stoppsequenzen aus und bestaetigen den tatsaechlichen Zustand.

S
Description
No description provided
Readme 396 KiB
Languages
Lua 98.4%
PowerShell 1.6%