AUDI_UDINT_EQ¶
Einleitung¶
Der Funktionsblock AUDI_UDINT_EQ führt einen Vergleich zweier Werte vom Typ UDINT auf Gleichheit durch. Der erste Wert wird über einen Socket-Adapter (IN1) bezogen, der zweite über den direkten Dateneingang IN2. Das Ergebnis wird als boolescher Wert über einen Plug-Adapter (OUT) ausgegeben. Der Vergleich wird durch ein Ereignis ausgelöst – entweder durch das externe Event REQ oder durch ein Ereignis vom Socket-Adapter IN1.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
| Event | Beschreibung |
|---|---|
REQ |
Service-Request: Startet den Vergleich. Der Wert von IN2 wird mit dem aktuellen Wert des Adapters IN1 verglichen. |
Hinweis: Zusätzlich kann der Vergleich auch durch ein Ereignis vom Socket-Adapter IN1 (dessen Event E1) gestartet werden. Dies ist intern im FB-Netzwerk verdrahtet und erlaubt eine ereignisgesteuerte Aktualisierung bei Änderung des Eingabewertes.
Ereignis-Ausgänge¶
Der FB besitzt keine direkten Event-Ausgänge. Das Ergebnis des Vergleichs wird jedoch über den Plug-Adapter OUT ausgegeben, welcher den Event E1 führt (siehe Adapter). Der Ausgangs-Event wird nach Abschluss des Vergleichs generiert.
Daten-Eingänge¶
| Name | Typ | Beschreibung |
|---|---|---|
IN2 |
UDINT |
Zweiter Vergleichswert (direkter Eingang). |
Hinweis: Der erste Vergleichswert wird über den Socket-Adapter IN1 bezogen (dessen Dateneingang D1).
Daten-Ausgänge¶
Keine direkten Daten-Ausgänge. Das Vergleichsergebnis (BOOL) wird über den Plug-Adapter OUT ausgegeben (dessen Datenausgang D1).
Adapter¶
| Typ | Richtung | Beschreibung |
|---|---|---|
IN1 – Socket |
Eingang | Adapter vom Typ adapter::types::unidirectional::AUDI. Liefert den ersten Vergleichswert (Dateneingang D1) und kann ein Ereignis (E1) zum Starten des Vergleichs senden. |
OUT – Plug |
Ausgang | Adapter vom Typ adapter::types::unidirectional::AX. Gibt das Vergleichsergebnis als Booleschen Wert (D1) aus und erzeugt ein Ereignis (E1) nach Abschluss. |
Funktionsweise¶
- Der FB wartet auf ein Start-Ereignis – entweder am externen Event-Eingang
REQoder am EventE1des Socket-AdaptersIN1. - Bei Ereigniseingang werden die Werte
IN1.D1(vom Adapter) undIN2(vom direkten Eingang) an den internen VergleichsbausteinF_EQ(vom Typiec61131::comparison::F_EQ) übergeben. - Der Datenausgang von
F_EQisttrue, wenn beide Werte gleich sind, andernfallsfalse. - Dieses Ergebnis wird an den Datenausgang
OUT.D1des Plug-Adapters übergeben. - Gleichzeitig wird das Event
OUT.E1ausgelöst, um die Ausgangsseite über das abgeschlossene Ergebnis zu informieren.
Technische Besonderheiten¶
- Adapterbasierte Ein-/Ausgabe: Statt direkter Datenports werden Adapter für die erste Eingangsgröße und die Ausgangsgröße verwendet. Dies ermöglicht eine lose Kopplung und eine einfache Wiederverwendung in verschiedenen Kontexten (z.B. Bus-Systeme oder gekapselte Werte).
- Doppelte Auslösemöglichkeit: Der Vergleich kann sowohl über das externe Event
REQals auch über ein Ereignis des Eingangs-AdaptersIN1gestartet werden. Dadurch kann der Baustein entweder zyklisch oder änderungsgesteuert arbeiten. - Unidirektionale Adapter: Sowohl der Socket (
IN1) als auch der Plug (OUT) sind als unidirektionale Adapter deklariert, was eine klare Daten- und Ereignisflussrichtung vorgibt. - Interne Nutzung von
F_EQ: Der eigentliche Vergleich wird durch den IEC 61131-3 Standard-BausteinF_EQrealisiert, der speziell für 64‑Bit-Vergleiche ausgelegt ist (hier jedoch aufUDINTangewendet).
Zustandsübersicht¶
Der FB besitzt keine explizite Zustandsmaschine. Er arbeitet rein ereignisgesteuert:
- Idle: Warten auf ein Ereignis (REQ oder IN1.E1).
- Berechnung: Sobald ein Ereignis eintrifft, wird der Vergleich ausgeführt und das Ergebnis an OUT übergeben.
- Abschluss: Nach Ausgabe des Ergebnisses und des Folge-Events kehrt der FB sofort in den Idle-Zustand zurück.
Anwendungsszenarien¶
- Überwachung zweier Messwerte: Ein Sensorwert (z.B. Drehzahl) wird über den Adapter
IN1eingelesen, ein Sollwert überIN2. Bei Gleichheit wird ein Signal erzeugt. - Modulare Kopplung: Der Baustein kann in größeren Netzwerken eingebettet werden, wo Adapter als standardisierte Schnittstellen zwischen Komponenten dienen.
- Ereignisgesteuerte Prozesse: Wenn der Eingangswert
IN1sich ändert, kann automatisch ein Vergleich ausgelöst werden, ohne dass ein externer Takt benötigt wird.
Vergleich mit ähnlichen Bausteinen¶
F_EQ(direkt): Der Standard-Vergleichsbaustein erwartet zwei skalare Eingänge und liefert einen Bool-Ausgang. DerAUDI_UDINT_EQkapselt diesen und erweitert ihn um Adapter für eine flexiblere Einbindung.AUDI_UDINT_NE(Ungleich): Ein analoger Baustein für den Ungleich-Vergleich; die Schnittstelle und Funktionsweise sind identisch, nur die Vergleichslogik unterscheidet sich.- Bausteine mit direktem Dateneingang: Herkömmliche Vergleichsbausteine (z.B.
EQ,NE) nutzen oft nur direkte Datenports; der Adapter-Ansatz erhöht die Wiederverwendbarkeit in heterogenen Systemen.
Fazit¶
Der AUDI_UDINT_EQ ist ein ereignisgesteuerter Vergleichsbaustein für UDINT-Werte, der die Flexibilität von Adaptern nutzt. Durch die doppelte Auslösemöglichkeit und die standardisierte Adapter-Schnittstelle eignet er sich besonders für modulare und erweiterbare Automatisierungslösungen. Die interne Verwendung des bewährten F_EQ-Bausteins garantiert eine zuverlässige, normgerechte Vergleichslogik.