Q_ObjHideShow_AB¶
Einleitung¶
Der Funktionsblock Q_ObjHideShow_AB dient als Wrapper für den Baustein Q_ObjHideShow und ermöglicht das Verstecken bzw. Anzeigen eines Objekts über einen AB-Adapter (unidirektional, BYTE). Er kapselt die direkte Ansteuerung des internen FB und stellt eine adapterbasierte Schnittstelle zur Verfügung, die eine lose Kopplung in der Anwendung fördert.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
| Ereignis | mit Variablen | Kommentar |
|---|---|---|
INIT |
u16ObjId |
Service Initialization; Objekt-ID wird übergeben |
Ereignis-Ausgänge¶
| Ereignis | Kommentar |
|---|---|
INITO |
Initialisierung bestätigt |
Daten-Eingänge¶
| Name | Typ | Kommentar |
|---|---|---|
u16ObjId |
UINT | Objekt-ID (Object ID) |
Daten-Ausgänge¶
Keine expliziten Datenausgänge auf FB-Ebene. Die Ausgangsdaten werden über den Adapter qOldVisible bereitgestellt.
Adapter¶
| Richtung | Name | Typ | Kommentar |
|---|---|---|---|
| Socket (Eingang) | qVisible |
adapter::types::unidirectional::AB |
Sollwert der Sichtbarkeit: 0 = versteckt, 1 = angezeigt |
| Plug (Ausgang) | qOldVisible |
adapter::types::unidirectional::AB |
Alter Wert der Sichtbarkeit: 0 = versteckt, 1 = angezeigt, 0xFF = undefiniert |
Funktionsweise¶
-
Initialisierung
Durch ein Ereignis am EingangINITwird der interne FBQ_ObjHideShowinitialisiert. Die übergebeneu16ObjIdidentifiziert das zu steuernde Objekt. Nach erfolgreichem Start wird das EreignisINITOausgegeben. -
Steuerung der Sichtbarkeit
Sobald am Socket-AdapterqVisibleein Ereignis (E1) eintrifft, wird der zugehörige Datenwert (D1) ausgelesen und an den internen FB weitergeleitet. Der interne FB setzt daraufhin die Sichtbarkeit des Objekts entsprechend (0 = versteckt, 1 = angezeigt). -
Rückmeldung
Nach Ausführung der Aktion sendet der interne FB das EreignisCNFan den Plug-AdapterqOldVisible. Der alte Sichtbarkeitszustand wird als Datenwert (D1) aufqOldVisiblebereitgestellt. So kann die aufrufende Komponente den vorherigen Zustand abfragen.
Technische Besonderheiten¶
- Wrapper-Konzept: Der FB kapselt die direkte Verwendung von
Q_ObjHideShowund ersetzt die lose Ereignis-/Datenverbindung durch standardisierte AB-Adapter, was eine modulare und wiederverwendbare Anbindung ermöglicht. - AB-Adapter (unidirektional, BYTE): Die Kommunikation erfolgt über einen unidirektionalen Adapter, der jeweils nur ein Ereignis und ein zugehöriges Byte überträgt. Dies vereinfacht die Einbindung in Adapter-basierte Architekturen.
- Zustandserhaltung: Der interne FB speichert den letzten Sichtbarkeitszustand; bei jedem neuen Befehl wird der alte Zustand am Ausgangsadapter zurückgemeldet.
- Undefinierter Wert (0xFF): Der Ausgang
qOldVisiblekann den Wert 0xFF liefern, falls der vorherige Zustand nicht bekannt ist (z. B. nach Neustart ohne vorherige Initialisierung).
Zustandsübersicht¶
Der FB selbst besitzt keinen eigenen Zustandsautomaten. Sein Verhalten wird vollständig durch den eingebetteten Baustein Q_ObjHideShow bestimmt. Grundsätzlich gilt:
- Nach INIT: FB ist betriebsbereit und wartet auf Ereignisse vom Socket-Adapter
qVisible. - Bei jedem eingehenden Socket-Ereignis: Sichtbarkeit wird gesetzt und das Ergebnis über den Plug-Adapter zurückgemeldet.
Anwendungsszenarien¶
- Visualisierungssteuerung: Ein- und Ausblenden grafischer Objekte (z. B. in HMI-Systemen) basierend auf binären oder numerischen Steuerwerten.
- Zustandsrückmeldung: Überwachung von Sichtbarkeitsänderungen; die alte Sichtbarkeit kann für Logikentscheidungen oder Protokollierung genutzt werden.
- Adapter-basierte Automatisierung: Einbindung in ein System, das auf Adapter-Schnittstellen setzt, um Austauschbarkeit und Entkopplung zu erreichen.
Vergleich mit ähnlichen Bausteinen¶
| Baustein | Eigenschaften |
|---|---|
Q_ObjHideShow (direkt) |
Ereignis-/Daten-Schnittstelle ohne Adapter; direkte Verschaltung erforderlich |
Q_ObjHideShow_AB (dieser FB) |
Nutzt AB-Adapter für lose Kopplung; einfachere Integration in adapterbasierte Netzwerke |
| Andere AB-basierte Wrapper | Ähnliches Konzept für andere Befehle (z. B. Q_ObjMove_AB), jedoch spezifisch auf Sichtbarkeit ausgelegt |
Der wesentliche Vorteil des Wrappers liegt in der Anpassung an die AB-Adapter‑Schnittstelle, ohne die eigentliche Funktionalität zu verändern.
Fazit¶
Der Funktionsblock Q_ObjHideShow_AB stellt eine adapterbasierte, wiederverwendbare Komponente zur Steuerung der Sichtbarkeit von Objekten dar. Durch die Kapselung des internen FB und die Nutzung unidirektionaler AB-Adapter wird eine saubere Trennung von Steuerlogik und Ausführung erreicht. Er eignet sich besonders für modulare Automatisierungslösungen, die auf lose Kopplung und standardisierte Schnittstellen angewiesen sind.