SET_UINT¶
Einleitung¶
Der Funktionsblock SET_UINT dient dazu, einen UINT-Wert, der an einem Dateneingang anliegt, in eine als InOut-Parameter deklarierte Variable zu schreiben. Diese einfache aber grundlegende Operation erlaubt es, Daten aus dem FB‑Kontext in eine externe oder referenzierte Variable zu kopieren.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
| Name | Typ | Beschreibung |
|---|---|---|
| REQ | Event | Normaler Ausführungsbefehl |
Ereignis-Ausgänge¶
| Name | Typ | Beschreibung |
|---|---|---|
| CNF | Event | Bestätigung der Ausführung |
Daten-Eingänge¶
| Name | Typ | Initialwert | Beschreibung |
|---|---|---|---|
| IN | UINT | 0 | Wert, der geschrieben wird |
Daten-Ausgänge¶
Keine separaten Ausgänge vorhanden. Der Zielwert wird über die InOut‑Variable OUT bereitgestellt.
Adapter¶
Keine Adapter.
Funktionsweise¶
Die Verarbeitung erfolgt in einem Schritt:
1. Ein Ereignis am Eingang REQ triggert die Ausführung des Algorithmus.
2. Der Algorithmus kopiert den Wert des Dateneingangs IN in die InOut‑Variable OUT.
3. Nach Abschluss wird das Ereignis CNF ausgegeben.
Die InOut‑Variable OUT wird dabei als referenzierte Variable interpretiert – der FB schreibt direkt in die Speicherstelle, die beim Aufruf mit der OUT‑Schnittstelle verbunden ist.
Technische Besonderheiten¶
- InOut‑Variable als Ziel: Der FB verwendet eine InOut‑Variable (
OUT) anstelle eines reinen Ausgangs. Dadurch kann der Baustein in Aufrufumgebungen (z. B. innerhalb von Ressourcen oder anderen FBs) direkt auf eine bestehende Variable zugreifen und diese überschreiben. - Einzeiliger Algorithmus: Die Zuweisung
OUT := INerfolgt in einem einzigen ST‑Befehl; es werden keine weiteren Berechnungen oder Zwischenspeicherungen durchgeführt. - Keine Zustandsautomaten: Der FB besitzt nur einen Einstiegszustand (
REQ), eine Zustandsänderung oder Schleifen sind nicht vorgesehen.
Zustandsübersicht¶
| Zustand | Aktion | Ausgabe |
|---|---|---|
| REQ | OUT := IN |
CNF |
Der FB bleibt nach Ausführung in einem impliziten Endzustand; er ist für jede neue REQ‑Anforderung erneut bereit.
Anwendungsszenarien¶
- Setzen eines Konfigurationswertes: Ein Sollwert oder Parameter (z. B. ein Schwellwert in einem Regelungsbaustein) wird von außen hereingegeben und in die entsprechende interne Variable geschrieben.
- Kopieren von UINT‑Daten an eine zentrale Speicherstelle: In einer Steuerung kann
SET_UINTverwendet werden, um Messwerte oder Berechnungsergebnisse in einen globalen Datenbaustein zu übertragen. - Austausch von Daten zwischen FBs: Über die InOut‑Variable können zwei verschiedene FBs auf die gleiche Variable zugreifen – der
SET_UINT‑FB dient dabei dem gezielten Überschreiben.
Vergleich mit ähnlichen Bausteinen¶
- SET_BOOL / SET_INT / SET_*: Diese Bausteine unterscheiden sich lediglich im verwendeten Datentyp. Die Funktionsweise – „Wert von IN nach OUT schreiben“ – ist identisch.
- MOVE (z. B.
MOVEin IEC 61131-3): Eine allgemeine Kopierfunktion, die jedoch meist als Standardfunktion (ohne eigenes Event‑Interface) realisiert ist. DerSET_UINT‑FB bietet die explizite Ereignissteuerung für die Ausführung. - Sonderfall InOut: Im Gegensatz zu reinen Ausgangsbausteinen erlaubt
SET_UINTden direkten Zugriff auf die Zielvariable, was bei der Datenweitergabe über Hierarchiegrenzen hinweg Vorteile bringt.
Fazit¶
Der FB SET_UINT ist ein minimaler, aber nützlicher Baustein, um einen UINT‑Wert zielgerichtet in eine referenzierte Variable zu schreiben. Seine einfache Struktur – ein Ereignis löst eine Zuweisung aus – macht ihn besonders in Umgebungen nützlich, in denen ein explizites „Setzen“ einer Variable über ein Ereignis gefordert wird. Erfüllt er keine weiteren Bedingungen, ist er als Musterbaustein für ähnliche Datentyp‑spezifische Set‑Funktionen geeignet.