Aktuell kommt es zu Probleme mit dem Email Versand dies wird schnellstmöglich behoben.

stationeers.de Mod-Werkstatt · Dominik1199
EN Anmelden
  1. Start
  2. IC10-Akademie
  3. HASH() und Geräte mit Namen: lbn und sbn

Kapitel 4 · Datennetz

HASH() und Geräte mit Namen: lbn und sbn

Schluss mit sechs Pins: Geräte im ganzen Datennetz über Typ und Namen ansprechen.

Lektion 10 von 18 11 Min.

Sechs Pins sind schnell voll. Und wenn du ein Gerät abbaust und neu setzt, musst du den Pin neu einstellen. Besser: Geräte über das Datennetz ansprechen.

Jedes Gerät hat einen Typ-Hash

Jeder Gerätetyp hat einen internen Namen, das Prefab, zum Beispiel StructureGasSensor. Daraus berechnet das Spiel eine Zahl, den Hash. Du musst die Zahl nicht kennen – HASH("…") rechnet sie beim Laden aus:

define SENSOR HASH("StructureGasSensor")   # Gas Sensor

Die Prefab-Namen findest du in der Prefab-Suche des IC10-Coders.

Namen vergibst du selbst

Mit dem Etikettierer (Labeller) gibst du Geräten im Spiel einen Namen, etwa „Lager“. Auch daraus wird mit HASH("Lager") eine Zahl.

lbn und sbn

lbn temp SENSOR HASH("Lager") Temperature Average
sbn HEIZUNG HASH("Lagerheizung") On 1
  • lbn liest den Wert von allen Geräten dieses Typs mit diesem Namen und fasst ihn zusammen. Average bildet den Mittelwert – mehr dazu in der nächsten Lektion.
  • sbn schreibt den Wert in alle passenden Geräte gleichzeitig. Drei Heizungen namens „Lagerheizung“? Eine Zeile schaltet alle drei.
Tipp

Namen in HASH("…") nur mit ASCII schreiben: „Kuehlung“ statt „Kühlung“. Der Chip speichert nur ASCII, mit Umlaut passt der Hash nicht mehr zum Gerätenamen.

Hinweis

Ohne Namen gibt es lb und sb: Die treffen alle Geräte eines Typs im Netz. Praktisch für „alle Lampen aus“.

Schaubild

Geräte im Datennetz mit Typ und Namen IC-Gehäuse IC10 StructureGasSensor „Lager“ StructureGasSensor „Werkstatt“ StructureWallHeater „Lagerheizung“ StructureWallHeater „Lagerheizung“ StructureWallHeater „Werkstattheizung“ lbn SENSOR HASH("Lager") liest nur diesen Sensor sbn HEIZUNG HASH("Lagerheizung") schaltet beide auf einmal
lbn und sbn erreichen jedes Gerät im selben Datennetz. Ausgewählt wird über den Typ (Prefab-Hash) und den Namen, den du mit dem Etikettierer vergibst.

Übung

Aufgabe

Im Datennetz hängen zwei Gas-Sensoren („Lager“ und „Werkstatt“) und drei Wandheizungen – zwei heißen „Lagerheizung“, eine „Werkstattheizung“.

Wenn es im Lager kälter als 5 °C (278,15 K) ist, sollen beide Lagerheizungen laufen, sonst aus. Die Werkstattheizung bleibt unberührt.

Benutze lbn/sbn mit HASH("…") – keine Pins d0–d5. Prefabs: StructureGasSensor, StructureWallHeater.

Hinweise

Hinweis 1

Lesen: lbn temp SENSOR HASH("Lager") Temperature Average.

Hinweis 2

Vergleichen wie in der select-Lektion: slt an temp GRENZE.

Hinweis 3

Schreiben in beide Heizungen auf einmal: sbn HEIZUNG HASH("Lagerheizung") On an.

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