Das lernst du heute
- Grenzen mit min und max setzen
- Abstand mit abs
- Richtung mit sgn
Eine Pumpe verträgt Setting von 0 bis 10. Rechnet dein Programm 14 aus, ist das bestenfalls sinnlos, bei −3 vielleicht schlimmer. Statt jeden Fall mit einem Sprung abzufangen, begrenzt du den Wert einfach.
min und max
| Befehl | Ergebnis |
|---|---|
min r? a b | der kleinere der beiden Werte |
max r? a b | der größere der beiden Werte |
Klingt verdreht, ist aber logisch: Mit min setzt du eine Obergrenze, mit max eine Untergrenze.
min r0 r0 10 # hoechstens 10
max r0 r0 0 # mindestens 0
Nach diesen zwei Zeilen liegt r0 sicher zwischen 0 und 10. Den kleinsten von drei Werten findest du in zwei Schritten: min r3 r0 r1, dann min r3 r3 r2.
abs: der Abstand
abs streicht das Vorzeichen. Aus −3 wird 3, aus 3 bleibt 3. Damit fragst du nach dem Abstand zum Sollwert, egal in welche Richtung:
sub r1 r0 294.15 # Abweichung von 21 C
abs r2 r1 # wie weit weg, ohne Richtung
slt r3 r2 2 # 1 = weniger als 2 Grad daneben
sgn: die Richtung
sgn liefert nur das Vorzeichen: −1 für negativ, 1 für positiv, 0 für genau null. Auf einer Anzeige wird das zum Pfeil: −1 heißt „zu kalt“, 1 heißt „zu warm“.
sgn gibt bei NaN eine 0 zurück, abs, min und max reichen NaN weiter. Ein ausgefallener Sensor sieht bei sgn also aus wie „genau richtig“. Wie du NaN abfängst, lernst du in Woche 6.
Zusammen: eine begrenzte Stellgröße
sub r4 294.15 r0 # wie viel fehlt bis 21 C?
mul r4 r4 2 # 2 Liter pro Grad
max r4 r4 0 # nie negativ
min r4 r4 10 # nie ueber 10
s d3 Setting r4
Erst rechnen, dann begrenzen, dann schreiben. In dieser Reihenfolge bekommt ein Gerät nie einen Wert außerhalb seines Bereichs.
Schaubild
Übung
Aufgabe
d0 misst die Raumtemperatur, Sollwert sind 21 °C (294,15 K). d1 und d2 sind LED-Anzeigen, d3 eine Volumenpumpe für warmes Gas.
d1zeigt den Abstand zum Sollwert in Grad, ohne Vorzeichen.d2zeigt die Richtung: −1 zu kalt, 1 zu warm, 0 genau richtig.d3 Setting= (Sollwert − Temperatur) · 2, begrenzt auf 0 bis 10.
Keine bedingten Sprünge.
Hinweise
Hinweis 1
r1 ist schon die Abweichung Ist − Soll. abs und sgn arbeiten direkt damit.
Hinweis 2
Soll − Ist ist dasselbe wie −(Ist − Soll): mul r4 r1 -2.
Hinweis 3
Begrenzen mit max r4 r4 0 und min r4 r4 10.
Quiz
5 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