108 lines
4.9 KiB
Markdown
108 lines
4.9 KiB
Markdown
# ATM10 CC Control System
|
|
|
|
Modulares CC:Tweaked-Steuerungssystem fuer die ATM10-Megabase.
|
|
|
|
## 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.
|