SET_LTIME¶
Einleitung¶
Der Funktionsblock SET_LTIME dient dazu, einen Eingangswert vom Typ LTIME in eine als InOut deklarierte Variable zu schreiben. Dies ermöglicht es, den Wert einer externen Referenz (z. B. einer Instanzvariablen oder eines anderen Bausteins) direkt zu setzen. Die Verwendung einer InOut-Variable erlaubt eine effiziente Übergabe, ohne einen separaten Datenausgang zu benötigen.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
| Name | Typ | Kommentar |
|---|---|---|
| REQ | Event | Normaler Ausführungsanstoß. Verbunden mit den Daten IN und OUT. |
Ereignis-Ausgänge¶
| Name | Typ | Kommentar |
|---|---|---|
| CNF | Event | Bestätigung der erfolgreichen Ausführung. Verbunden mit Daten OUT. |
Daten-Eingänge¶
| Name | Typ | Initialwert | Kommentar |
|---|---|---|---|
| IN | LTIME | LT#0s | Wert, der in die Zielvariable geschrieben werden soll. |
Daten-Ausgänge¶
| Name | Typ | Initialwert | Kommentar |
|---|---|---|---|
| OUT | LTIME | LT#0s | InOut-Variable – Zielvariable, die den übergebenen Wert erhält. Der FB schreibt den Wert von IN in diese Variable. Als InOut kann sie sowohl gelesen als auch von außen beschrieben werden. |
Adapter¶
Keine.
Funktionsweise¶
Bei einem Ereignis am Eingang REQ wird der Algorithmus REQ ausgeführt:
- Der Wert des Dateneingangs IN wird direkt in die InOut-Variable OUT kopiert.
- Anschließend wird das Ereignis CNF ausgegeben, um die erfolgreiche Zuweisung zu signalisieren.
Die Logik ist denkbar einfach und besteht aus einer einzigen Zuweisung:
OUT := IN;
Technische Besonderheiten¶
- Der FB arbeitet ausschließlich mit dem Datentyp LTIME (Zeit mit hoher Auflösung, gemäß IEC 61499).
- Die Zielvariable
OUTist als InOut deklariert. Das bedeutet, dass sie von außen als Referenz übergeben wird. Änderungen, die der FB anOUTvornimmt, wirken sich unmittelbar auf die referenzierte Variable aus. - Initial sind sowohl
INals auchOUTaufLT#0sgesetzt, um undefinierte Zustände zu vermeiden. - Der Baustein ist ein einfacher FB (SimpleFB) mit nur einem Zustand, der sofort auf ein REQ-Ereignis reagiert.
Zustandsübersicht¶
Der FB besitzt genau einen Zustand:
| Zustand | Aktion | Ausgabe |
|---|---|---|
| REQ | REQ (OUT := IN) |
CNF |
Es gibt keine Verzweigungen oder Zeitsteuerungen. Der FB ist im Grunde kombinatorisch, da er sofort auf das Eingangsereignis reagiert.
Anwendungsszenarien¶
- Setzen einer zentralen Zeitbasis: Wenn mehrere Bausteine auf eine gemeinsame LTIME-Variable zugreifen, kann
SET_LTIMEdiese Variable aktualisieren. - Konfiguration von Laufzeiten: In einer Steuerungsanwendung können Sollzeitwerte aus einer Konfigurationsschnittstelle in die entsprechenden InOut-Parameter geschrieben werden.
- Test und Simulation: Der Baustein eignet sich, um in Testumgebungen gezielt Werte in eine beobachtbare Variable zu schreiben.
Vergleich mit ähnlichen Bausteinen¶
- SET_TIME: Arbeitet analog, jedoch mit dem Datentyp
TIME(Sekundenauflösung).SET_LTIMEbietet eine höhere Zeitauflösung (Nanosekunden) und ist daher für präzise Anwendungen geeignet. - MOVE-Bausteine: Viele IEC-61499-Bibliotheken enthalten generische MOVE-FBs, die Werte von einem Eingang auf einen Ausgang kopieren.
SET_LTIMEspezialisiert sich aufLTIMEund nutzt eine InOut-Referenz statt eines separaten Ausgangs, was in bestimmten Architekturen vorteilhaft sein kann.
Fazit¶
SET_LTIME ist ein minimalistischer, aber nützlicher Funktionsblock zum gezielten Setzen einer LTIME-Variablen. Seine klare Schnittstelle und die Verwendung einer InOut-Referenz machen ihn zu einem effizienten Werkzeug in Zeitsteuerungs- und Konfigurationsszenarien. Der Baustein ist einfach zu verstehen und unkompliziert einzusetzen.