SET_BYTE¶
Einleitung¶
Der Funktionsblock SET_BYTE dient dem einfachen Überschreiben einer BYTE-Variablen. Er liest den Wert des Dateneingangs IN und schreibt ihn in die InOut-Variable OUT, sobald ein Ereignis am Eingang REQ eintrifft. Anschließend wird das Ereignis CNF ausgegeben.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
| Name | Typ | Kommentar |
|---|---|---|
REQ |
Event | Normaler Ausführungsauftrag (Schreibvorgang starten) |
Ereignis-Ausgänge¶
| Name | Typ | Kommentar |
|---|---|---|
CNF |
Event | Bestätigung der erfolgten Zuweisung |
Daten-Eingänge¶
| Name | Typ | Wertebereich | Initialwert | Kommentar |
|---|---|---|---|---|
IN |
BYTE | 0…255 | 0 | Wert, der auf die Zielvariable geschrieben werden soll |
Daten-Ausgänge¶
Der FB verwendet eine InOut-Variable. Daher gibt es keine separaten Datenausgänge – der ausgegebene Wert ist identisch mit dem Wert der InOut-Variablen OUT.
Adapter¶
Keine vorhanden.
Funktionsweise¶
Bei einem Ereignis am Eingang REQ wird der Algorithmus REQ ausgeführt. Dieser weist dem InOut-Variable OUT den Wert von IN zu:
OUT := IN;
Unmittelbar nach der Zuweisung wird das Ereignis CNF gesendet. Die InOut-Variable kann sowohl gelesen als auch von außerhalb des Bausteins (z. B. über eine Verbindung im Applikationsmodell) beschrieben werden – nach dem Schreibvorgang besitzt sie den Wert von IN.
Technische Besonderheiten¶
- Einfachste Zuweisung: Der Algorithmus besteht aus nur einer Zeile – keine Verzögerungen, keine Bedingungen oder Filter.
- InOut-Variable:
OUTist als InOut deklariert, d. h. sie kann von außen mit einer Variablen verbunden werden, die sowohl gelesen als auch beschrieben wird. Dies ermöglicht eine direkte Manipulation einer globalen oder verbundenen BYTE-Variablen. - Kein Zustandsautomat: Der FB besitzt nur einen impliziten Zustand (
REQ) und benötigt keine weiteren Zustandslogiken.
Zustandsübersicht¶
Der FB hat keine expliziten Zustände. Der Eintritt in die Aktion erfolgt sofort beim Ereignis REQ. Es gibt weder Fehlerzustände noch Verzögerungszustände.
Anwendungsszenarien¶
- Initialisierung oder Rücksetzen: Ein bestimmter Startwert soll in eine bestehende BYTE-Variable geschrieben werden.
- Umschaltung/Bitmuster setzen: Ein externes Signal (z. B. von einem Kommunikationsbaustein) wird über
INan einen Ausgang oder an eine Speicherstelle weitergegeben. - Test / Diagnose: Temporäres Überschreiben eines Wertes in einer Steuerungsapplikation.
Vergleich mit ähnlichen Bausteinen¶
- MOVE (allgemeiner): Der einfache MOVE-Baustein für beliebige Datentypen arbeitet meist mit Eingang und Ausgang, nicht mit InOut.
SET_BYTEist speziell für BYTE optimiert und verwendet InOut, sodass der Wert direkt in die Zielvariable geschrieben wird (kein separater Ausgang nötig). - SET_BOOL (bei Vorhandensein): Analog für BOOL – beide Bausteine folgen dem gleichen einfachen Prinzip, beschränken sich aber auf ihren jeweiligen Datentyp.
Fazit¶
SET_BYTE ist ein minimalistischer, klar definierter Funktionsblock zum einmaligen Beschreiben einer BYTE-Variablen. Seine Stärke liegt in der Einfachheit und der Verwendung einer InOut-Schnittstelle, die eine direkte Wertzuweisung ohne zusätzliche Verdrahtung eines Datenausgangs ermöglicht. Er eignet sich besonders für Anwendungen, in denen ein vorgegebener Wert zu einem bestimmten Zeitpunkt in eine persistente Variable geschrieben werden muss.