Uebung_080_AUI: Beispiel für E_CTU (Adapter Version) mit Terminal-Ausgabe¶
Einleitung¶
Diese Übung demonstriert die Anwendung eines Adapter-basierten Aufwärtszählers (AUI_CTU) in 4diac. Der Zähler wird über einen Ereigniseingang von einem Taster (Input_I1) inkrementiert und über einen zweiten Taster (Input_I2) zurückgesetzt. Der aktuelle Zählwert wird sowohl auf einem digitalen Ausgang (Output_Q1) als auch als numerischer Wert über einen Terminal-Ausgang ausgegeben. Die Übung vermittelt den Umgang mit der Adapter-Schnittstelle für Ereignisse und deren Konvertierung in Datenwerte.
Verwendete Funktionsbausteine (FBs)¶
Der Netzwerk-Editor der Subapplikation enthält sechs Funktionsbausteine. Nachfolgend werden diese im Einzelnen beschrieben.
DigitalInput_CLK_I1¶
- Typ:
logiBUS::io::DI::logiBUS_IE - Parameter:
QI=TRUEInput=Input_I1InputEvent=BUTTON_SINGLE_CLICK- Funktion: Dieser Baustein reagiert auf einen einzelnen Tastendruck am physikalischen Eingang
Input_I1und erzeugt das EreignisINDam Ausgang.
DigitalInput_CLK_I2¶
- Typ:
logiBUS::io::DI::logiBUS_IE - Parameter:
QI=TRUEInput=Input_I2InputEvent=BUTTON_SINGLE_CLICK- Funktion: Analog zu
DigitalInput_CLK_I1, jedoch für den Reset-Taster anInput_I2.
AUI_CTU¶
- Typ:
adapter::events::unidirectional::AUI_CTU - Parameter: Keine konfigurierten Parameter im XML.
- Funktion: Dies ist ein Adapter-Funktionsbaustein, der einen Aufwärtszähler (Counter Up) realisiert. Er verfügt über die Ereigniseingänge
CU(Inkrement) undR(Reset) sowie die EreignisausgängeQ(Zählerstand erreicht) undCV(aktueller Zählwert als Adapter-Ausgang). Die Zählschwelle (PV) ist standardmäßig auf einen vorgegebenen Wert gesetzt.
AUI_TO_AUDI¶
- Typ:
adapter::conversion::unidirectional::AUI_TO_AUDI - Parameter: Keine konfigurierten Parameter.
- Funktion: Dieser Baustein wandelt einen AUI-Adapterausgang (Ereignis mit Wert) in einen reinen Datenwert (AUDI) um. Er erhält am Adaptereingang
AUI_INdas SignalCVund liefert am DatenausgangAUDI_OUTden aktuellen Zählwert alsUINT-Wert.
Q_NumericValue_AUDI¶
- Typ:
isobus::UT::Q::Q_NumericValue_AUDI - Parameter:
u16ObjId=OutputNumber_N1- Funktion: Dieser Baustein empfängt einen numerischen Wert (über den Adaptereingang
u32NewValue) und stellt ihn als Ausgabe auf dem Terminal dar. Der Parameteru16ObjIdlegt die Objektkennung für die Terminalausgabe fest.
DigitalOutput_Q1¶
- Typ:
logiBUS::io::DQ::logiBUS_QXA - Parameter:
QI=TRUEOutput=Output_Q1- Funktion: Dieser Baustein setzt den physikalischen Ausgang
Output_Q1aufTRUE, sobald am EreigniseingangOUTein Ereignis eintrifft. Er dient dazu, den Zählerstand (z.B. Erreichen einer Schwelle) als binäres Signal anzuzeigen.
Programmablauf und Verbindungen¶
Die Übung ist als Subapplikation (Uebung_080_AUI) angelegt und benötigt keine eigenen Schnittstellen – alle Ein- und Ausgänge sind interne Hardwarezuordnungen.
Ereignisverbindungen:
- Das Ereignis IND von DigitalInput_CLK_I1 wird an den Ereigniseingang CU des AUI_CTU angeschlossen. Jeder Tastendruck an Input_I1 erhöht den Zähler um 1.
- Das Ereignis IND von DigitalInput_CLK_I2 wird an den Ereigniseingang R des AUI_CTU angeschlossen. Ein Tastendruck an Input_I2 setzt den Zähler zurück.
Adapterverbindungen:
- Der Adapterausgang Q von AUI_CTU (zeigt an, dass der Zählerstand die Schwelle erreicht hat) ist mit dem Ereigniseingang OUT von DigitalOutput_Q1 verbunden. Bei Erreichen der Schwelle wird der Ausgang Output_Q1 aktiviert.
- Der Adapterausgang CV von AUI_CTU (aktueller Zählwert) ist mit dem Adapteingang AUI_IN des Konverters AUI_TO_AUDI verbunden.
- Der Datenausgang AUDI_OUT von AUI_TO_AUDI liefert den Zählwert als Ganzzahl und wird mit dem Adaptereingang u32NewValue des Terminal-Bausteins Q_NumericValue_AUDI verbunden. Dadurch wird der aktuelle Zählerstand kontinuierlich auf dem Terminal ausgegeben.
Ablauf:
1. Nach dem Start der Applikation ist der Zählerstand 0.
2. Jeder Druck auf Input_I1 erhöht den Zähler um 1. Der neue Wert wird sofort auf dem Terminal angezeigt.
3. Wird der voreingestellte Schwellwert (PV) erreicht, wird Output_Q1 auf TRUE gesetzt.
4. Ein Druck auf Input_I2 setzt den Zähler zurück auf 0 (auch der Ausgang wird wieder FALSE).
Zusammenfassung¶
Die Übung zeigt, wie ein Adapter-basierter Zähler (AUI_CTU) in 4diac mit Hardware-Eingängen und -Ausgängen verknüpft wird. Durch die Verwendung des Konverters AUI_TO_AUDI wird der adapternative Wert in einen einfachen Datenwert umgewandelt, der anschließend auf einem Terminal ausgegeben werden kann. Die separate Ansteuerung von Zähleingang und Reset sowie die binäre Rückmeldung über einen digitalen Ausgang machen diese Übung zu einem grundlegenden Beispiel für zeit- und ereignisgesteuerte Zählfunktionen in der IEC 61499-Architektur.
Lernziele: - Verständnis der Adapter-Schnittstellen (AUI) für Ereignisse und Daten. - Einbindung von Hardware-Eingängen (Taster) und -Ausgängen in ein Steuerungsprogramm. - Konvertierung zwischen Adapter- und Datenformaten. - Nutzung eines Terminal-Ausgabe-FBs zur Laufzeitbeobachtung.