F_INSERT¶
Einleitung¶
Der Funktionsblock F_INSERT dient zur Manipulation von Zeichenketten. Er fügt eine Zeichenkette (IN2) in eine andere Zeichenkette (IN1) an einer bestimmten Position (P) ein. Der Block ist Teil der Standard-Charakter- und String-Funktionen gemäß IEC 61131-3.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
REQ: Dienst-Anfrage. Löst die Ausführung des Funktionsblocks aus. Wird mit den Daten-EingängenIN1,IN2undPverknüpft.
Ereignis-Ausgänge¶
CNF: Bestätigung der angeforderten Dienstleistung. Wird mit dem Daten-AusgangOUTverknüpft.
Daten-Eingänge¶
IN1(ANY_STRING): Die erste Eingabezeichenkette, in dieIN2eingefügt wird.IN2(ANY_STRING): Die zweite Eingabezeichenkette, die inIN1eingefügt wird.P(ANY_INT): Die Position inIN1, an derIN2eingefügt werden soll.
Daten-Ausgänge¶
OUT(ANY_STRING): Die resultierende Zeichenkette nach dem Einfügevorgang.
Adapter¶
Keine Adapter vorhanden.
Funktionsweise¶
Bei Auslösung des Ereignisses REQ wird die Zeichenkette IN2 in die Zeichenkette IN1 an der durch P definierten Position eingefügt. Das Ergebnis dieser Operation wird über den Daten-Ausgang OUT ausgegeben und das Ereignis CNF wird ausgelöst, um die erfolgreiche Bearbeitung zu signalisieren.
Technische Besonderheiten¶
- Unterstützt alle String-Typen (
ANY_STRING), was eine flexible Verwendung ermöglicht. - Die Position
Pkann jeder ganzzahlige Wert sein (ANY_INT), muss jedoch innerhalb der Länge vonIN1liegen, um ein definiertes Verhalten zu gewährleisten.
Zustandsübersicht¶
Der Funktionsblock hat keine internen Zustände. Die Operation wird bei jedem REQ-Ereignis neu ausgeführt.
Anwendungsszenarien¶
- Textverarbeitung in Automatisierungsanwendungen.
- Dynamische Erstellung von Log-Nachrichten oder Benachrichtigungen.
- Manipulation von Datenstrings vor der Weiterverarbeitung oder Ausgabe.
⚖️ Vergleich mit ähnlichen Bausteinen¶
- Ähnlich zu
F_CONCAT, das jedoch zwei Strings nur aneinanderhängt, ohne eine spezifische Einfügeposition zu berücksichtigen. - Im Gegensatz zu
F_MID, das Teile eines Strings extrahiert, fügtF_INSERTeinen String in einen anderen ein.
Fazit¶
F_INSERT ist ein nützlicher Funktionsblock für Anwendungen, die eine präzise Manipulation von Zeichenketten erfordern. Seine einfache, aber effektive Funktionalität macht ihn zu einem wertvollen Werkzeug in der Automatisierungstechnik.