stationeers.de Mod-Werkstatt · Dominik1199
EN Anmelden
  1. Start
  2. IC10-Akademie
  3. Tag 107

Tag 107 von 365 · Fortgeschritten · Monat 4: Netzwerk im Detail

Relativ gegen Null

breqz, brnez, brltz, brgtz, brlez, brgez und brnan vergleichen relativ mit null. Zuerst die Abweichung bilden, dann entscheidet das Vorzeichen.

Lektion 14 Min. Woche 16

Das lernst du heute

  • Breqz, brnez, brltz, brgtz, brlez, brgez und brnan
  • Zeile überspringen

Gestern hast du zwei Werte relativ verglichen. Oft ist einer davon null: Ist die Abweichung negativ? Ist der Zähler abgelaufen? Ist der Messwert NaN? Dafür gibt es die z-Formen.

Die Familie gegen null

Befehlspringt um n Zeilen, wenn
breqz a na = 0
brnez a na ≠ 0
brltz a na < 0
brgtz a na > 0
brlez a na ≤ 0
brgez a na ≥ 0
brnan a na ist NaN

brnan ist das relative Gegenstück zu bnan. Ein brnanz oder bnanz gibt es nicht.

Eine Zeile überspringen

Das häufigste Muster: Ein Standardwert steht vorn, eine Zeile setzt ihn um, und der relative Sprung entscheidet, ob diese Zeile läuft.

sub abw ZIEL druck        # positiv = zu wenig Druck
move modus Vent.Inward    # Standard: absaugen
brlez abw 2               # nicht zu wenig: Zeile auslassen
move modus Vent.Outward   # zu wenig: einblasen

Mit brnan sicherst du einen ganzen Block ab. Der Abstand reicht dann bis hinter den Block:

move an 0
brnan druck 3             # kein Messwert: zwei Zeilen auslassen
sub abw ZIEL druck
move an 1

Erst rechnen, dann gegen null prüfen

Die z-Formen spielen ihre Stärke aus, wenn du vorher die Abweichung bildest, etwa sub abw ziel ist. Danach entscheidet nur noch das Vorzeichen. Es ist dasselbe Prinzip wie bei den Set-Befehlen gegen null aus Woche 4.

Achtung

Bei NaN springt kein Vergleich, auch nicht brgez oder brlez. Nur brnan springt. Steht die unsichere Aktion in der übersprungenen Zeile, ist das gut. Steht sie davor, läuft sie bei NaN.

Tipp

Schreib bei jedem relativen Sprung in den Kommentar, wohin er führt, etwa # -> sbn. Wer den Code später ändert, sieht dann, welcher Abstand mitwandern muss.

Hinweis

Mode schreibt der Chip nur, wenn er sich ändert: Jedes Schreiben, auch mit demselben Wert, setzt bei der aktiven Lüftung die Zieldrücke auf ihre Grundwerte zurück (Tag 51). breqz alt 2 überspringt dann genau die eine Zeile. Die drei Sprünge davor landen auf dem Kommentar und laufen von dort in diesen Block.

Schaubild

Ablauf mit bedingtem Sprung start: yield · l r0 r0 > 303.15? heiss: On 1 On 0 ja: bgt springt nein: nächste Zeile j start
Standard vorn, Ausnahme dahinter: Der relative Sprung entscheidet, ob die eine Zeile mit der Ausnahme läuft.

Übung

Aufgabe

Gassensor „Lager“ und aktive Lüftung „Lagerlueftung“ (StructureActiveVent). Ziel: 100 kPa, ±5 kPa ohne Eingriff.

  • unter 95 kPa: On 1, Mode Vent.Outward (einblasen)
  • über 105 kPa: On 1, Mode Vent.Inward (absaugen)
  • dazwischen und bei Sensorausfall: On 0

Benutze nur relative Sprünge gegen null (breqz … brgez, brnan), keine absoluten Vergleichssprünge.

Hinweise

Hinweis 1

brnan druck … springt bei Ausfall bis zur ersten sbn-Zeile – zähl die Zeilen genau.

Hinweis 2

Abweichung: sub abw ZIEL druck. Ob sie größer als das Band ist: abs, sub … BAND, dann brlez.

Hinweis 3

Richtung: brgtz abw 2 überspringt move modus Vent.Inward, wenn zu wenig Druck da ist.

Quiz

4 Fragen. Ab 60 % ist das Quiz bestanden – die Auswertung macht der Server.

Tag abschließen

  • Übung im Simulator bestanden
  • Quiz mit mindestens 60 % bestanden

Ohne Konto wird der Fortschritt nur in diesem Browser gespeichert.

Fehler in dieser Lektion melden

Zum Melden bitte anmelden. Anmelden

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