AUDI_UDINT_AX_SEL¶
Einleitung¶
Der Funktionsblock AUDI_UDINT_AX_SEL realisiert eine binäre Auswahl (binary selection) zwischen zwei Eingangswerten. Er wählt entweder den Wert von IN0 oder IN1 auf den Ausgang OUT aus, gesteuert durch einen angeschlossenen Adapter vom Typ AX. Die Auswahl wird einmalig durch ein Ereignis des Adapters ausgelöst. Zusätzliche Ereignisse erlauben das Aktualisieren der Eingänge.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
| Name | Typ | Beschreibung |
|---|---|---|
EI0 |
Event | Setzt den Eingang IN0 (Wert wird mit dem Daten-Eingang IN0 verknüpft) |
EI1 |
Event | Setzt den Eingang IN1 (Wert wird mit dem Daten-Eingang IN1 verknüpft) |
Ereignis-Ausgänge¶
| Name | Typ | Beschreibung |
|---|---|---|
CNF |
Event | Bestätigung der durchgeführten Auswahl (wird nach erfolgreicher Selektion gesendet) |
Daten-Eingänge¶
| Name | Typ | Beschreibung |
|---|---|---|
IN0 |
UDINT | Erster auswählbarer Eingangswert (unsignierte 32‑Bit‑Ganzzahl) |
IN1 |
ANY_ELEMENTARY | Zweiter auswählbarer Eingangswert (beliebiger elementarer Datentyp) |
Daten-Ausgänge¶
| Name | Typ | Beschreibung |
|---|---|---|
OUT |
UDINT | Ergebnis der binären Auswahl (der gewählte Wert, als UDINT) |
Adapter¶
| Name | Typ | Beschreibung |
|---|---|---|
G |
adapter::types::unidirectional::AX | Steuerungsadapter: liefert das Auswahlkriterium (Daten G.D1) und das Triggersignal (G.E1) für die Selektion |
Funktionsweise¶
Der Baustein arbeitet in zwei Schritten:
1. Aktualisierung der Eingänge: Über die Ereignisse EI0 und EI1 können die Werte von IN0 bzw. IN1 im internen Kontext gespeichert werden. Diese Ereignisse sind nicht direkt mit der eigentlichen Auswahl verbunden, sondern dienen der zeitlichen Trennung von Datenerfassung und Auswahl.
2. Selektion: Ein Ereignis auf G.E1 (vom Adapter G) triggert den internen Funktionsbaustein F_SEL (Typ iec61131::selection::F_SEL). Der Adapter-Datenwert G.D1 (vom Typ AX) bestimmt, welcher Eingang auf den Ausgang gelegt wird:
- Bei G.D1 = FALSE (0) wird IN0 auf OUT übernommen.
- Bei G.D1 = TRUE (1) wird IN1 auf OUT übernommen.
Nach erfolgreicher Auswahl wird das Ereignis CNF gesendet.
Der Daten‑Ausgang OUT ist stets vom Typ UDINT. Der Eingang IN1 erlaubt beliebige elementare Datentypen, die bei der Selektion implizit in UDINT konvertiert werden. Falls dies nicht möglich ist, kann der Baustein einen Fehler erzeugen (je nach Laufzeitumgebung).
Technische Besonderheiten¶
- ANY_ELEMENTARY‑Unterstützung: Der zweite Eingang
IN1kann Werte unterschiedlicher elementarer Typen (z. B. SINT, INT, REAL, BOOL) annehmen. Die Konvertierung nach UDINT erfolgt automatisch. - Adapter‑basierte Steuerung: Die Auswahl wird nicht durch einen diskreten Daten‑Eingang, sondern über einen Adapter realisiert – dies ermöglicht eine saubere Kapselung des Selektorsignals (z. B. von einem Sensor oder einer Steuerlogik).
- Ereignisgesteuerte Aktualisierung: Die Eingänge
IN0undIN1werden nur bei Bedarf über die EreignisseEI0/EI1übernommen, was die Kommunikation über Feldbusse optimieren kann.
Zustandsübersicht¶
Der Baustein enthält keine explizite Zustandsmaschine. Die Funktionalität ist rein ereignisgesteuert:
- Nach dem Setzen von IN0 oder IN1 (über EI0/EI1) wartet der Baustein auf das Triggersignal des Adapters G.E1.
- Mit Eintreffen von G.E1 wird sofort F_SEL ausgeführt und CNF ausgegeben.
- Zwischen den Schritten ist der Baustein in einem passiven Ruhezustand.
Anwendungsszenarien¶
- Auswahl zwischen zwei Messwerten: Ein Sensor liefert über den Adapter
Gdas Auswahlkriterium (z. B. Schwellwertüberschreitung).IN0könnte einen Minimal‑,IN1einen Maximalwert repräsentieren. - Umschaltung von Parameter-Sets: Über
EI0undEI1werden zwei verschiedene Konfigurationswerte geladen. Ein externer Regler aktiviert überGdie passende Konfiguration. - Redundante Signale: Zwei redundante Quellen (z. B. Geschwindigkeitssensoren) liefern die Werte, und ein Signal entscheidet, welche Quelle verwendet wird.
Vergleich mit ähnlichen Bausteinen¶
| Baustein | Eigenschaften |
|---|---|
MUX (IEC 61131) |
Mehrere Eingänge, Index-Auswahl; benötigt einen Index-Eingang als skalaren Wert. |
SEL (IEC 61131) |
Binäre Auswahl mit einem BOOL-Eingang. |
AUDI_UDINT_AX_SEL |
Adapter‑gesteuerte binäre Auswahl mit getrennter Aktualisierung der Eingänge, speziell für UDINT‑Ausgang und Unterstützung von ANY_ELEMENTARY. |
Im Vergleich zu den IEC‑Standardbausteinen bietet dieser FB eine entkoppelte Kommunikation über Adapter und extrahierte Ereignisse für die Datenerfassung – vorteilhaft in modularen, ereignisbasierten Systemen.
Fazit¶
Der Funktionsblock AUDI_UDINT_AX_SEL stellt eine flexible, adaptergesteuerte binäre Auswahl dar. Er eignet sich besonders für Anwendungen, bei denen das Selektorsignal von einem externen Gerät (z. B. einem Profinet‑Adapter) stammt und die Eingangswerte asynchron aktualisiert werden müssen. Die Unterstützung von ANY_ELEMENTARY am zweiten Eingang erhöht die Wiederverwendbarkeit, während der einheitliche UDINT‑Ausgang die Weiterverarbeitung vereinfacht.