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

Tag 179 von 365 · Fortgeschritten · Monat 6: Atmosphäre und Regelung

Mustersammlung Fortgeschritten

Vier Bausteine der Stufe Fortgeschritten – Zustandsautomat, Ringpuffer, PI-Regler und Geräteprüfung – und wie du sie zu einem Chip zusammensteckst.

Lektion 20 Min. Woche 26

Das lernst du heute

  • Zustandsautomat und Ringpuffer als Bausteine
  • PI-Regler und Geräteprüfung als Bausteine
  • Bausteine kombinieren

Ein Profi schreibt nicht jeden Chip von vorn. Er hat ein paar erprobte Bausteine im Kopf und steckt sie zusammen. Diese vier hast du in den letzten Monaten gebaut:

Zustandsautomat und Ringpuffer

BausteinKernWofür
ZustandsautomatZustandsnummer im Register, Übergänge je TaktAbläufe, Störungen, Schleusen
Ringpufferpoke an Index, mod für den Kreis, get db zum LesenMittelwert, Verlauf, Trend

Der Ringpuffer glättet, der Automat entscheidet. Hintereinander geschaltet bekommst du eine Entscheidung, die nicht bei jedem Ausreißer kippt:

poke i p
add i i 1
mod i i LAENGE      # 0, 1, 2, 3, 0, ...

PI-Regler und Geräteprüfung

BausteinKernWofür
PI-ReglerP aus der Abweichung, I aufsummiert mit clampstufenlose Stellglieder
GeräteprüfungNaN bei Average, Count, bnan vor dem Rechnensicherer Zustand bei Ausfall

Die Geräteprüfung gehört vor jeden anderen Baustein: bnan p fehler springt, bevor ein NaN in den Ringpuffer oder ins Integral gelangt.

Bausteine kombinieren

Die Reihenfolge ist fast immer gleich: prüfen → glätten → entscheiden → ausgeben. Jeder Baustein bekommt einen eigenen Abschnitt # --- … --- und seine eigenen Register. Der Automat hier hält den Alarm, bis der Mittelwert wieder über der Warnschwelle liegt – nicht nur über der Alarmschwelle:

seq tmp zustand Z_ALARM
and tmp tmp neu           # im Alarm und noch unter WARN?
select neu tmp Z_ALARM neu
Achtung

Ein leerer Ringpuffer enthält Nullen. Ohne Vorfüllen meldet der Mittelwert direkt nach dem Start 25 kPa – und der Automat geht in den Alarm. Deshalb füllt der Chip den Puffer vor dem start-Label einmal mit dem ersten Messwert.

Tipp

and tmp tmp neu funktioniert hier, weil neu nur 0, 1 oder 2 ist und der Alarmfall tmp = 1 braucht: 1 AND 1 = 1, 1 AND 2 = 0. Bei Bitbefehlen immer prüfen, welche Werte wirklich vorkommen.

Schaubild

Der Stack mit Stapelzeiger Platz 0 10 Platz 1 20 Platz 2 30 Platz 3 Platz 4 sp = 3 nächster freier Platz push 40 pop r0 r0 = 30 zuletzt rein, zuerst raus
Der Ringpuffer belegt die Stack-Adressen 0 bis 3. Der Index läuft mit mod im Kreis, der Mittelwert liest alle vier.

Übung

Aufgabe

Ein Druckwächter aus zwei Bausteinen. Vorfüllen und Geräteprüfung sind fertig.

  • Baustein 1: Ringpuffer über die letzten 4 Druckwerte, Mittelwert auf Anzeige „Mittel“
  • Baustein 2: Zustand 0 normal, 1 Warnung (Mittel unter 90 kPa), 2 Alarm (unter 50 kPa); der Alarm bleibt, bis das Mittel wieder mindestens 90 kPa erreicht
  • Sensor weg: Zustand 3. Anzeige „Zustand“

Hinweise

Hinweis 1

Ringpuffer: poke i p, add i i 1, mod i i LAENGE, dann eine Schleife mit get tmp db k über alle 4 Plätze.

Hinweis 2

Neuer Zustand ohne Gedächtnis: slt neu mittel WARN plus slt tmp mittel ALARM.

Hinweis 3

Alarm halten: war der Zustand Alarm und ist neu noch 1, bleibt es bei Z_ALARM.

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