SET_WSTRING¶
Einleitung¶
Der Funktionsbaustein SET_WSTRING dient dazu, einen Wert vom Datentyp WSTRING an einen InOut-Parameter zu übertragen. Er wird typischerweise eingesetzt, um einen berechneten oder extern vorgegebenen Zeichenkettenwert in eine übergeordnete Variable (z. B. einer anderen Instanz oder eines übergeordneten Bausteins) zu schreiben.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
| Ereignis | Beschreibung |
|---|---|
REQ |
Normaler Ausführungsauftruf: Die Zuweisung des Eingabewerts an die InOut-Variable wird ausgelöst. |
Ereignis-Ausgänge¶
| Ereignis | Beschreibung |
|---|---|
CNF |
Bestätigung der Ausführung. Wird nach erfolgreicher Zuweisung gesendet. |
Daten-Eingänge¶
| Name | Datentyp | Beschreibung |
|---|---|---|
IN |
WSTRING |
Quellwert, der in die Zielvariable geschrieben werden soll. |
Daten-Ausgänge¶
Der Baustein besitzt keine klassischen Datenausgänge. Die Weitergabe des Werts erfolgt über die InOut-Variable OUT.
Adapter¶
Keine.
Funktionsweise¶
Wird der Ereigniseingang REQ aktiviert, führt der Baustein die folgende Zuweisung aus:
OUT := IN;
Der am Eingang IN anliegende WSTRING-Wert wird unverändert in die InOut-Variable OUT kopiert. Anschließend wird das Ereignis CNF gesendet, um dem aufrufenden Baustein die Beendigung der Operation zu signalisieren.
Technische Besonderheiten¶
- InOut‑Variable:
OUTist als InOut-Parameter deklariert. Dies bedeutet, dass die Variable sowohl gelesen als auch beschrieben werden kann und ihre Lebensdauer außerhalb des Bausteins liegt. Der Baustein überschreibt den aktuellen Inhalt vonOUTmit dem Wert vonIN. - Datentyp
WSTRING: Es handelt sich um einen Zeichenketten-Typ, der Breitzeichen (Unicode) unterstützt. Der Baustein führt keine Längenprüfung oder Konvertierung durch – die Zuweisung erfolgt direkt. - Einfachster Zustandsautomat: Der Zustandsautomat besteht aus einem einzigen Zustand (
REQ), der die gesamte Funktionalität abdeckt. Es gibt keine Verzweigungen oder Zeitverzögerungen.
Zustandsübersicht¶
Der Baustein enthält genau einen Zustand:
| Zustand | Beschreibung |
|---|---|
REQ |
Wird nach dem Eintreffen des Ereignisses REQ aktiv. Führt die Zuweisung OUT := IN aus und sendet CNF. Danach kehrt der Baustein in den initialen Zustand zurück. |
Anwendungsszenarien¶
- Übergabe eines formatierten Strings: Angenommen, ein Baustein erzeugt eine Fehlermeldung als
WSTRINGund möchte diese in eine übergeordnete Variable schreiben.SET_WSTRINGübernimmt diese Zuweisung auf einen Trigger hin. - Parametrierung: In einer Steuerung kann ein externer Parameter (z. B. eine Produktbezeichnung) über
SET_WSTRINGin einen globalen Datenbaustein kopiert werden. - Debugging: Temporäres Setzen einer WSTRING-Variablen durch eine Test- oder Initialisierungslogik.
Vergleich mit ähnlichen Bausteinen¶
- SET_BOOL: Arbeitet analog, jedoch mit dem Datentyp
BOOL. Beide nutzen ein InOut, um Werte in externe Variablen zu schreiben. - MOVE (IEC‑Baustein): Der Standard-MOVE-Baustein kopiert Daten von einem Eingang auf einen Ausgang. Im Unterschied dazu verwendet
SET_WSTRINGeinen InOut-Parameter, was die Anbindung an bestehende Variablen ohne zusätzlichen Ausgangsport erlaubt. - WRITE_STRING: Manche Bibliotheken bieten spezielle Write‑Bausteine mit Längenkontrolle.
SET_WSTRINGist bewusst einfach gehalten und verzichtet auf Prüfungen.
Fazit¶
Der Baustein SET_WSTRING ist eine minimalistische, aber effektive Lösung zum Beschreiben einer WSTRING‑InOut-Variablen. Seine einfache Zustandsmaschine und die klare Schnittstelle machen ihn leicht verständlich und einsetzbar, wo eine triviale Zuweisung auf ein Ereignis hin benötigt wird. Für Aufgaben mit zusätzlichen Funktionen (Konvertierung, Längenbeschränkung) sind spezialisierte Bausteine vorzuziehen.