stationeers.de Mod-Werkstatt · Dominik1199
EN Anmelden
  1. Start
  2. Stationeers-Wiki
  3. IC10
  4. IC10: Gerät per Name steuern

IC10

IC10: Gerät per Name steuern

Mit lbn und sbn sprichst du beliebig viele Geräte über ihren Namen an – ohne Pin-Grenze. So funktioniert es, und darauf musst du achten.

Geprüft mit 0.2.6428.27798 Aktualisiert 20.10.2026

Ein IC-Gehäuse hat sechs Pins, d0 bis d5. Für eine kleine Steuerung reicht das. Sobald aber zehn Lüftungen, drei Sensoren und ein Display dazukommen, wird es eng. Die Lösung: Geräte über ihren Namen ansprechen. Damit erreichst du jedes Gerät im Datennetz – ganz ohne Pins.

Dieser Artikel fasst das Wichtigste zusammen. Ausführlich und mit Übungen geht es in der IC10-Akademie weiter.

Die zwei Befehle

BefehlAufbauWirkung
lbnlbn r? Gerätehash Namenshash LogicType Batchmodusliest einen Wert von allen passenden Geräten
sbnsbn Gerätehash Namenshash LogicType r?schreibt einen Wert in alle passenden Geräte

Passend heißt: gleicher Gerätetyp (Prefab-Hash) und gleicher Name.

Der Gerätehash

Jedes Gerät hat einen festen Prefab-Hash. Für die Aktive Lüftung ist das -1129453144. Du findest den Hash oben auf jeder Geräteseite in diesem Wiki, mit Knopf zum Kopieren, oder in der Hash-Suche.

Der Name

Den Namen gibst du dem Gerät im Spiel mit dem Etikettierer. Im Programm wird daraus mit HASH("…") eine Zahl. HASH wird schon beim Speichern ersetzt, deshalb darf es überall stehen, wo eine Zahl stehen darf – auch hinter define. Namen mit Leerzeichen sind kein Problem:

define NAME HASH("Lueftung Lager")
Gleicher Name, mehrere Geräte

Gib allen Lüftungen eines Raums denselben Namen. Ein einziges sbn schaltet dann alle gleichzeitig.

Der Batchmodus beim Lesen

Wenn mehrere Geräte passen, entscheidet der Batchmodus, was lbn zurückgibt:

ModusZahlErgebniswenn kein Gerät passt
Average0MittelwertNaN
Sum1Summe0
Minimum2kleinster Wert0
Maximum3größter Wert−unendlich
Count4Anzahl0

Nimm für Messwerte immer 0 (Average). Mit Sum fällt ein Fehler erst auf, wenn ein zweites gleichnamiges Gerät dazukommt: Zwei Sensoren mit je 400 K ergeben dann 800 K.

Average liefert NaN, wenn kein Gerät mit diesem Namen gefunden wird – zum Beispiel nach einem Tippfehler im Namen. NaN zieht sich still durch jede Rechnung. Fang es deshalb direkt ab:

lbn druck SENSOR NSENSOR Pressure 0
bnan druck start

Was du sonst wissen musst

  • Batch-Befehle laufen nur über das Datenkabel-Netz, nicht über die Pins.
  • Hat das IC-Gehäuse gar kein Datennetz, hält der Chip mit einem Fehler an.
  • Kann ein Gerät den LogicType nicht lesen oder schreiben, hält der Chip ebenfalls an. Welche Werte ein Gerät kennt, steht auf seiner Seite unter „IC10 und Logik“.
  • Jede Hauptschleife braucht ein yield. Gerätewerte ändern sich nur einmal pro Takt (0,5 s).
  • Läuft das Programm hinter die letzte Zeile, bleibt der Chip für immer stehen. Darum endet jede Schleife mit j start.

Ein vollständiges Beispiel: Raumdruck halten

Ein Gassensor namens „Sensor Lager“ misst den Druck. Fällt er unter 95 kPa, blasen alle Lüftungen namens „Lueftung Lager“ Luft in den Raum, bis 101 kPa erreicht sind.

# Raumdruck halten: Lueftungen per Name
define SENSOR -1252983604      # Gassensor (StructureGasSensor)
define LUEFTUNG -1129453144    # Aktive Lueftung (StructureActiveVent)
define NSENSOR HASH("Sensor Lager")    # Name des Sensors
define NLUEFT HASH("Lueftung Lager")   # Name der Lueftungen
define DRUCKMIN 95             # kPa, darunter einschalten
define DRUCKMAX 101            # kPa, darueber ausschalten
alias druck r0
alias an r1
alias unter r2
alias ueber r3

# --- 1. Einmal beim Start: Richtung setzen ---
sbn LUEFTUNG NLUEFT Mode 0     # 0 = nach aussen (in den Raum)
start:
yield
# --- 2. Druck lesen und schalten ---
lbn druck SENSOR NSENSOR Pressure 0
bnan druck start               # kein Sensor mit diesem Namen
slt unter druck DRUCKMIN
sgt ueber druck DRUCKMAX
select an unter 1 an           # zu wenig Druck: einschalten
select an ueber 0 an           # genug Druck: ausschalten
sbn LUEFTUNG NLUEFT On an
j start

So liest du das Programm:

  1. Die define-Zeilen sammeln alle Zahlen an einer Stelle. Willst du einen anderen Druck, änderst du nur DRUCKMIN und DRUCKMAX.
  2. Die alias-Zeilen geben den Registern lesbare Namen.
  3. Mode wird nur einmal vor der Schleife geschrieben. Das hat einen Grund: Jedes Schreiben von Mode setzt bei der aktiven Lüftung die Zieldrücke zurück, auch wenn derselbe Wert schon drinsteht. Im Modus 0 heißt das PressureExternal = 101,325 kPa und PressureInternal = 0. Stünde die Zeile in der Schleife, wäre ein eigener Zieldruck nach einem Takt wieder weg.
  4. slt und sgt setzen unter und ueber auf 1 oder 0.
  5. Die beiden select bauen eine Hysterese: Zwischen 95 und 101 kPa bleibt der letzte Zustand erhalten. Ohne sie würden die Lüftungen ständig an- und ausgehen.
Neue Lüftung dazugebaut?

Eine Lüftung, die du erst nach dem Start des Chips baust, bekommt das Mode aus Abschnitt 1 nicht mehr. Prüf ihre Richtung im Spiel oder starte den Chip neu.

Auf jeder Geräteseite in diesem Wiki findest du außerdem ein kurzes Beispiel im selben Stil, das genau dieses Gerät per Name anspricht.

Weiter in der Akademie

Esc
↑ ↓ wählenEnter öffnen/ öffnet die Suche überall