F_ADD¶
Einführung¶
Der F_ADD ist ein standardkonformer arithmetischer Funktionsbaustein nach IEC 61131-3, entwickelt von der TU Wien ACIN unter EPL-2.0 Lizenz. Version 1.0 ermöglicht eine typsichere Addition von Werten (ANY_MAGNITUDE) für industrielle Steuerungsanwendungen.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
REQ: Berechnungsanforderung (mit Eingabewerten)
Ereignis-Ausgänge¶
CNF: Berechnungsbestätigung (mit Ergebnis)
Daten-Eingänge¶
IN1(ANY_MAGNITUDE): Erster OperandIN2(ANY_MAGNITUDE): Zweiter Operand
Daten-Ausgänge¶
OUT(ANY_MAGNITUDE): Summe von IN1 und IN2
Funktionsweise¶
- Aktivierung:
- Durch
REQ-Ereignis ausgelöst -
Verarbeitet beide Eingabewerte gleichzeitig
-
Typenbehandlung:
- Unterstützt alle ANY_MAGNITUDE-Typen:
- Numerische Typen (INT, DINT, REAL, LREAL)
- Zeittypen (TIME, LTIME)
-
Automatische Typkonvertierung
-
Berechnung:
- Führt IN1 + IN2 aus
-
Behält höchste Eingabegenauigkeit bei
-
Ergebnisausgabe:
CNF-Ereignis mit Berechnungsergebnis- Latenz: Ein Ausführungszyklus
Technische Spezifikationen¶
✔ Generische Typunterstützung (ANY_MAGNITUDE) ✔ Deterministische Ausführung ✔ Überlaufschutz ✔ IEC 61131-3 konform
Unterstützte Datentypen¶
| Kategorie | Beispiele |
|---|---|
| Ganzzahlen | INT, DINT, UINT, UDINT |
| Fließkomma | REAL, LREAL |
| Zeit | TIME, LTIME |
| Gemischt | INT + REAL → REAL |
Anwendungsbeispiele¶
- Prozessregelung: Signalaufbereitung
- Messsysteme: Sensorwertaggregation
- Bewegungssteuerung: Positionsberechnungen
- Energiemanagement: Verbrauchssummierung
⚖️ Vergleich mit ähnlichen Bausteinen¶
| Merkmal | F_ADD | F_SUB | F_MUL |
|---|---|---|---|
| Operation | Addition | Subtraktion | Multiplikation |
| Eingangstypen | ANY_MAGNITUDE | ANY_MAGNITUDE | ANY_NUM |
| Ausgangstyp | Entspricht Eingangstyp | Gleich | Gleich |
Fehlerbehandlung¶
- Überlauf: Wrap-around bei Ganzzahlen, ±INF bei Fließkomma
- Typenkonflikt: Automatische Typanpassung
- Ungültige Eingaben: Gibt 0/Standardwert zurück
Besondere Hinweise¶
- Für Zeitberechnungen: TIME + TIME → TIME
- Gemischte Operationen verwenden "höheren" Typ
- Keine implizite Skalierung (z.B. 100ms + 1s = 1100ms)
Fazit¶
Der F_ADD-Baustein bietet wesentliche Rechenfunktionen:
- Robuste typsichere Addition
- Konsistentes Verhalten über alle Datentypen
- Nahtlose Integration in Steuerungsalgorithmen
Die standardisierte Implementierung macht ihn zu einer zuverlässigen Komponente für Industrieautomatisierungssysteme, die präzise Rechenoperationen mit verschiedenen Datentypen erfordern.