159 lines
7.0 KiB
Markdown
159 lines
7.0 KiB
Markdown
# 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.
|
|
|
|
```lua
|
|
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 enthaelt den Planner fuer
|
|
Asurine -> Zinc Clumps/Nuggets -> gewaschene Zinc Nuggets.
|
|
|
|
## Create-Fabrik: Peripherie erkennen
|
|
|
|
Das rein lesende Diagnoseprogramm herunterladen und starten:
|
|
|
|
```lua
|
|
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:
|
|
|
|
```lua
|
|
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
|
|
|
|
```lua
|
|
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:
|
|
|
|
```lua
|
|
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:
|
|
|
|
```lua
|
|
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:
|
|
|
|
```lua
|
|
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:
|
|
|
|
```lua
|
|
wget https://git.peli-server.de/Dystroyer8/ATM10_CC_Codes/raw/branch/main/create_andesite_startup.lua startup.lua
|
|
reboot
|
|
```
|
|
|
|
## Struktur
|
|
|
|
```text
|
|
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.
|