Funktionsbaustein: Ausgabevariable
Die Ausgabevariable dient zur Visualisierung interner Programmwerte.
Sie macht Messwerte, Zustände und Zwischenergebnisse verständlich und übersichtlich
im Dashboard sichtbar, ohne die Programmlogik zu verändern.
Typische Einsatzbereiche sind Wetterdaten wie:
- Temperatur
- Luftdruck
- Luftfeuchtigkeit
- Niederschlagsmenge
- Regen- und Schneewahrscheinlichkeit
- Windgeschwindigkeit
- Windrichtung
- Bewölkungsgrad
Funktionsweise
Der Baustein besitzt:
- Eingang (E): Wert, der angezeigt werden soll
Der Eingangswert wird intern übernommen und nur für die Anzeige formatiert.
Die Berechnung und Weiterverarbeitung im Programm bleibt unverändert.
Die Anzeige erfolgt:
- im Bereich „Programmausgabe“ des Dashboards
- oder direkt unterhalb eines Ausgangsblocks
Parameter
Name
Ein frei definierbarer Anzeigename für die Ausgabevariable.
Der Name beschreibt den dargestellten Wert (z. B. Temperatur, Windgeschwindigkeit)
und wird zusammen mit dem formatierten Wert im Dashboard angezeigt.
Format
Das Format bestimmt, wie der Wert für den Nutzer dargestellt wird.
- Das Format ist ein freies Textfeld
- Es sind keine Programmierkenntnisse erforderlich
- Die Formatierung beeinflusst nur die Anzeige, nicht den Wert selbst
Die Formatbeschreibung besteht aus einfachen Befehlen, die mit | kombiniert
werden können.
Beispiel:
round:1 | unit:°C
Format-Syntax (Übersicht)
| Befehl | Beschreibung |
|---|---|
round:N |
Rundet auf N Nachkommastellen |
trunc |
Schneidet Nachkommastellen ab |
unit:TEXT |
Fügt eine Einheit als Suffix hinzu |
scale:X |
Skaliert den Wert |
offset:X |
Addiert einen Offset |
clamp:A..B |
Begrenzt den Wertebereich |
bool:A/B |
Bool-Werte als Text |
map:k=v,... |
Exakte Wertzuordnung |
range:A..B=text,... |
Bereichszuordnung |
default:TEXT |
Fallback bei unbekannten Werten |
list:... |
Formatierung von Listen |
dict:json |
Anzeige von Dictionaries |
Exakte Wertzuordnung mit map
map wird verwendet, wenn diskrete, feste Werte in Text umgewandelt werden sollen.
Die Zuordnung erfolgt nur bei exakter Übereinstimmung.
Beispiel: Gerätezustand
Eingang: int
map:0=Aus,1=An | default:Unbekannt
Anzeige:
- 0 → Aus
- 1 → An
- 2 → Unbekannt
Bereichszuordnung mit range
range wird verwendet, wenn Messwerte innerhalb von Bereichen interpretiert
werden sollen.
Der erste passende Bereich wird verwendet.
Beispiel: Windrichtung (Grad → Himmelsrichtung)
Eingang: int (0–360°)
range:
0..22=N,
23..67=NE,
68..112=E,
113..157=SE,
158..202=S,
203..247=SW,
248..292=W,
293..337=NW,
338..360=N
Anzeige:
- 0 → N
- 44 → NE
- 90 → E
- 181 → S
- 270 → W
- 350 → N
Optional:
range:... | default:—
Typische Format-Beispiele (Wetterdaten)
Temperatur
round:1 | unit:°C
21.5 °C
Luftfeuchtigkeit
round:0 | unit:%
63 %
Windgeschwindigkeit
round:1 | unit:m/s
5.4 m/s
Niederschlagsmenge
round:1 | unit:mm
2.3 mm
Regen- oder Schneewahrscheinlichkeit
round:0 | unit:%
80 %
Bewölkungsgrad
clamp:0..100 | unit:%
45 %
Regen erkannt (Logik)
bool:Regen/Kein Regen
Listen und Mehrfachwerte
Beispiel: Mehrere Temperaturwerte
Eingang: Liste von float
list:join=, ; each=round:1|unit:°C
Anzeige:
18.2 °C, 19.1 °C, 20.0 °C
Vorteile der Formatierung
- Einheitliche Anzeige im Dashboard
- Werte sofort verständlich (inkl. Einheit)
- Keine Änderung der Programmlogik notwendig
- Flexibel erweiterbar
Die Ausgabevariable ist ein zentrales Werkzeug zur
Visualisierung, Diagnose und Dokumentation von Wetterdaten
und unterstützt dich bei Entwicklung, Inbetriebnahme und Betrieb.