Umwandler
Skalierung & Typen
Die Datenumwandlung ist die Brücke zwischen der physischen Welt und dem digitalen Code. Beherrschen Sie die Skalierung von Analogsignalen und die Transformation von Datentypen.
Was sind Umwandler in TIA Portal?
Umwandlungsoperationen ermöglichen es, einen Wert von einem Datentyp in einen anderen zu transformieren (z. B. einen Integer in einen Real-Wert) oder die Genauigkeit von Gleitpunktzahlen zu manipulieren. Sie umfassen auch Werkzeuge zur Normalisierung und Skalierung, die für die Verarbeitung von Analogsignalen industrieller Sensoren unerlässlich sind.
TIA Portal bietet moderne und leistungsstarke Anweisungen wie SCALE_X und NORM_X, die die alten SCALE/UNSCALE-Bausteine der S7-300-Systeme vorteilhaft ersetzen und eine größere Flexibilität sowie eine bessere mathematische Genauigkeit bieten.
Typkonvertierung
Transformation und Rundung numerischer Formate
CONVERT — Wert konvertieren
CONVWas es macht
Konvertiert einen Wert von einem Quelldatentyp in einen Zieldatentyp. Verarbeitet Konvertierungen zwischen Ganzzahlen, Real-Werten, Zeichen und sogar Zeit- oder Stringformaten.
Wann man es verwendet
Vorbereiten einer Ganzzahl für komplexe mathematische Berechnungen durch Umwandlung in Real oder Konvertieren eines Fehlercodes in einen String für die HMI-Anzeige.
Profi-Tipps
Klicken Sie in KOP auf die Datentypen des Bausteins, um Quelle und Ziel auszuwählen.
Verwenden Sie in SCL einfach den Namen des Zieltyps als Funktion: myReal := INT_TO_REAL(myInt);
Achten Sie auf Präzisionsverluste bei der Konvertierung von großen Typen in kürzere Typen.
ROUND / TRUNC
ROUNDWas sie machen
ROUND rundet eine Gleitpunktzahl auf die nächste Ganzzahl. TRUNC entfernt einfach den Dezimalanteil (Abschneiden).
Wann man es verwendet
Anzeigen einer physischen Messung als einfache Ganzzahl oder Konvertieren eines Real-Berechnungsergebnisses in einen Array-Index (Int).
Profi-Tipps
Wenn der Dezimalanteil genau .5 ist, rundet ROUND auf die nächste gerade Ganzzahl (IEC-Norm).
TRUNC ist vorzuziehen, wenn Sie nur Dezimalstellen ohne Rundungsberechnung ignorieren möchten.
Beide akzeptieren Real/LReal als Eingang und liefern normalerweise einen DInt zurück.
CEIL / FLOOR
CEILWas sie machen
CEIL (Obergrenze) erzeugt die nächsthöhere oder gleiche Ganzzahl. FLOOR (Untergrenze) erzeugt die nächstniedrigere oder gleiche Ganzzahl.
Wann man es verwendet
Berechnen der Anzahl der benötigten Behälter (immer aufrunden mit CEIL) oder Bestimmen von Sicherheitsgrenzen.
Profi-Tipps
CEIL(10.1) = 11; FLOOR(10.9) = 10.
Unerlässlich für Verpackungs- und Logistikalgorithmen.
Sehr nützlich, um sicherzustellen, dass ein Wert innerhalb strikter Ganzzahlgrenzen bleibt.
Skalierung (Scaling)
Verarbeitung von Analogsignalen und physikalischen Größen
NORM_X — Normalisieren
NORM_XWas es macht
Transformiert einen Wert innerhalb eines Bereichs [MIN..MAX] in einen normalisierten Wert zwischen 0.0 und 1.0. Dies ist der erste Schritt der Analogverarbeitung.
Wann man es verwendet
Einlesen eines rohen Analogwerts (z. B. 0-27648) und Umwandlung in einen Prozentsatz (0.0-1.0).
Profi-Tipps
Normalerweise folgt unmittelbar ein SCALE_X-Baustein.
Wenn der Eingang die MIN/MAX-Grenzen überschreitet, überschreitet der Ausgang 0.0 oder 1.0 (Linearität bleibt erhalten).
Stellen Sie sicher, dass MIN ungleich MAX ist, um eine Division durch Null zu vermeiden.
SCALE_X — Skalieren
SCALE_XWas es macht
Nimmt einen normalisierten Wert [0.0..1.0] und projiziert ihn auf einen physikalischen Bereich, der durch MIN und MAX definiert ist (z. B. 0-100°C oder 0-10 bar).
Wann man es verwendet
Konvertieren des Ergebnisses eines NORM_X in eine für den Bediener lesbare technische Einheit.
Profi-Tipps
Die Kombination NORM_X + SCALE_X ist die Siemens-Standardmethode für die moderne Analogskalierung.
Ermöglicht den einfachen Wechsel des Sensorbereichs, ohne das gesamte Programm zu ändern.
Kann auch umgekehrt verwendet werden: Senden eines physikalischen Sollwerts an einen Analogausgang.
Legacy-Anweisungen
Kompatibilität mit S7-300 (FC105 / FC106)
SCALE / UNSCALE
Was es macht
Alte Bausteine (Legacy), die die direkte Umwandlung zwischen ganzzahligem Analogwert und physikalischem Real-Wert in einem Schritt durchführen.
Wann man es verwendet
Nur bei der Wartung von Programmen, die aus Step 7 Classic migriert wurden.
Profi-Tipps
SCALE entspricht dem FC105 aus der alten Bibliothek.
Verwendet einen BIPOLAR-Parameter zur Verarbeitung negativer Signale (z. B. +/- 10V).
Bevorzugen Sie für Neuentwicklungen auf S7-1200/1500 konsequent NORM_X/SCALE_X.
Vergleich der Umwandlungsmethoden
Wahl der richtigen Anweisung für Ihren Bedarf
| Sie möchten... | Empfohlene Anweisung | Beispiel |
|---|---|---|
| Typ ändern (Int -> Real) | CONVERT | Präzise Berechnung mit einem Zähler |
| Dezimalstellen entfernen | TRUNC | Vereinfachte Temperaturanzeige |
| Mathematisch runden | ROUND | Berechnung statistischer Teile |
| 4-20mA Sensor verarbeiten | NORM_X + SCALE_X | Drucksensor 0-16 bar |
| Sicherheitsaufrundung | CEIL | Berechnung der Palettenanzahl |
| Alter S7-300 Code | SCALE (FC105) | Maschinenprojekt-Migration |
Häufig gestellte Fragen
Warum NORM_X und SCALE_X statt eines einzelnen Bausteins verwenden?
Diese Trennung in zwei Schritte ermöglicht eine größere Flexibilität. Sie können beispielsweise den normalisierten Wert (0.0-1.0) filtern oder begrenzen, bevor Sie ihn skalieren, oder denselben normalisierten Wert für verschiedene Skalierungen verwenden.
Was ist der Standard-Eingangswert für einen Siemens-Analogeingang?
Bei den meisten Siemens-Modulen (S7-1200/1500) beträgt der numerische Bereich 0 bis 27648 für ein unipolares Signal (0-10V oder 4-20mA). Diesen Wert geben Sie am Parameter VALUE von NORM_X ein.
Wie konvertiert man eine Zahl in eine Zeichenkette (String)?
Die CONVERT-Anweisung beherrscht nativ die Umwandlung in String. Für mehr Kontrolle über die Formatierung (Anzahl der Dezimalstellen) verwenden Sie die Anweisung VAL_STRG.
Was ist der Unterschied zwischen ROUND und TRUNC?
ROUND rundet auf die nächste Ganzzahl (10.6 wird 11), während TRUNC die Dezimalstellen unabhängig von ihrem Wert abschneidet (10.6 wird 10).