F_TRUNC
Einführung
Der F_TRUNC ist ein standardkonformer Funktionsbaustein zur Abrundung von Fließkommazahlen in Richtung Null (truncation toward zero), entwickelt unter EPL-2.0 Lizenz. Version 1.0 ermöglicht die typsichere Konvertierung gemäß IEC 61131-3 Standard.
Schnittstellenstruktur
Ereignis-Eingänge
REQ: Berechnungsanforderung (mit Eingabewert)
Ereignis-Ausgänge
CNF: Berechnungsbestätigung (mit abgerundetem Wert)
Daten-Eingänge
IN(ANY_REAL): Eingabewert (Fließkommazahl)
Daten-Ausgänge
OUT(ANY_INT): Abgerundeter Ganzzahlwert
Funktionsprinzip
Berechnungsauslösung:
REQ-Ereignis mit einem ANY_REAL-WertUnterstützte Typen: REAL, LREAL
Trunkierungsoperation:
Entfernt Nachkommastellen ohne Rundung
Beispiel: 3.9 → 3, -2.7 → -2
Keine mathematische Rundung (≠ F_ROUND)
Ergebnisausgabe:
CNF-Ereignis mit ganzzahligem ErgebnisAutomatische Typanpassung (INT, DINT, etc.)
Technische Besonderheiten
✔ Verlustfreie Typkonvertierung ✔ Konsistente Null-Richtung (truncation toward zero) ✔ Deterministische Ausführung ✔ Keine Überlaufausnahmen
Anwendungsszenarien
Datenvorverarbeitung: Indexberechnungen
Messwertverarbeitung: Diskretisierung
Steuerungslogik: Ganzzahlige Positionsberechnungen
Finanzberechnungen: Währungsumrechnungen
Fehlerbehandlung
Wertebereichsüberschreitung:
Bei zu großen Werten: Begrenzung auf Zieltyp-Maximum
Keine Exception-Generierung
Sonderfälle:
NaN → 0 ±INF → Maximalwert des Zieltyps
⚖️ Vergleich mit ähnlichen Bausteinen
Feature |
F_TRUNC |
F_ROUND |
F_FLOOR |
|---|---|---|---|
Operation |
Richtung Null |
Mathematisch |
Abrunden |
Beispiel |
3.9 → 3 |
3.9 → 4 |
3.9 → 3 |
Beispiel |
-2.7 → -2 |
-2.7 → -3 |
-2.7 → -3 |
Fazit
Der F_TRUNC-Baustein bietet eine präzise Lösung für die Ganzzahlkonvertierung:
Vorhersagbares Verhalten (truncation toward zero)
Typsichere Fließkomma-zu-Ganzzahl Konvertierung
Robuste Behandlung von Extremwerten
Unverzichtbar für alle Anwendungen mit exakten Bereichsgrenzen und Indexberechnungen.