LinksRechts_AX
Hinweis: Ein Bild des Funktionsbausteins ist hier nicht verfügbar.
Einleitung
Der Funktionsbaustein LinksRechts_AX (aus dem Paket logiBUS::utils::sequence::verteiler) dient der Steuerung eines alternierenden Prozesses mit zwei Richtungen (Rechtslauf und Linkslauf). Er wurde konzipiert, um zwischen zwei Ausgängen hin- und herzuschalten, wobei Pausenzustände berücksichtigt werden.
Besonders hervorzuheben ist die Möglichkeit, den automatischen Wechsel durch digitale Eingänge (DI_Rechts, DI_Links) zu unterbinden, um einen Lauf in nur einer Richtung zu erzwingen. Der Baustein nutzt hierfür die AX Adapter-Schnittstelle.
Schnittstellenstruktur
Der Baustein verwendet primär Adapter für die Kommunikation, stellt jedoch auch einen Status-String als direkten Ausgang zur Verfügung.
Ereignis-Eingänge
Es sind keine direkten Ereignis-Eingänge vorhanden. Die Steuerung erfolgt über die Ereignisse der Adapter-Sockets.
Ereignis-Ausgänge
Name |
Typ |
Beschreibung |
|---|---|---|
EO |
Event |
Ereignis, das ausgelöst wird, wenn sich der interne Zustand ( |
Daten-Eingänge
Es sind keine direkten Daten-Eingänge vorhanden. Die Daten werden über die Adapter-Sockets eingelesen.
Daten-Ausgänge
Name |
Typ |
Beschreibung |
|---|---|---|
STATE |
STRING |
Aktueller Zustand des Bausteins (z.B. „Rechtslauf“, „Linkslauf_Pause“). |
Adapter
Sockets (Eingangs-Schnittstellen):
Name |
Typ |
Kommentar |
|---|---|---|
EIN |
adapter::types::unidirectional::AX |
Einschalten: Das Hauptsignal zum Starten und Stoppen der Bewegung. |
DI_Rechts |
adapter::types::unidirectional::AX |
Nur Rechtslauf: Wenn aktiv, wird ein Wechsel auf Linkslauf verhindert und der Rechtslauf erzwungen. |
DI_Links |
adapter::types::unidirectional::AX |
Nur Linkslauf: Wenn aktiv, wird ein Wechsel auf Rechtslauf verhindert und der Linkslauf erzwungen. |
Plugs (Ausgangs-Schnittstellen):
Name |
Typ |
Kommentar |
|---|---|---|
Rechts |
adapter::types::unidirectional::AX |
Rechtslauf: Ausgangssignal für die Rechtsbewegung. |
Links |
adapter::types::unidirectional::AX |
Linkslauf: Ausgangssignal für die Linksbewegung. |
Funktionsweise
Der LinksRechts_AX Baustein implementiert eine Zustandsmaschine, die grundsätzlich zwischen einer Rechts- und einer Linksbewegung alterniert, getrennt durch Pausenphasen.
Start: Aus dem
START-Zustand heraus entscheidet der Baustein basierend auf den EingängenEINundDI_Links, ob zuerst in den Linkslauf oder Rechtslauf geschaltet wird.Aktivierung (Lauf): Solange das Signal
EIN.D1(Daten) zusammen mit einem EventEIN.E1alsTRUEanliegt, geht der Baustein in einen aktiven Zustand (RechtslaufoderLinkslauf). Dabei wird der entsprechende Ausgangsadapter (RechtsoderLinks) aufTRUEgesetzt.Deaktivierung (Pause): Wird
EIN.D1zuFALSE(Ausschalten), wechselt der Baustein in den entsprechenden Pausenzustand (Rechtslauf_PauseoderLinkslauf_Pause). Die Ausgänge werden deaktiviert (FALSE).Wechsel-Logik (Alternieren):
Befindet sich der Baustein in
Rechtslauf_Pauseund wird wieder eingeschaltet (EIN= TRUE), wechselt er standardmäßig in den Linkslauf.Befindet sich der Baustein in
Linkslauf_Pauseund wird wieder eingeschaltet, wechselt er standardmäßig in den Rechtslauf.
Override-Logik (Erzwingen):
Ist im Zustand
Rechtslauf_Pauseder EingangDI_Rechtsaktiv, wird der Wechsel zum Linkslauf unterbunden und erneut der Rechtslauf gestartet.Ist im Zustand
Linkslauf_Pauseder EingangDI_Linksaktiv, wird der Wechsel zum Rechtslauf unterbunden und erneut der Linkslauf gestartet.
Technische Besonderheiten
AX-Adapter: Der Baustein nutzt den generischen
unidirectional::AXTyp. Dieser kombiniert typischerweise ein boolesches Datensignal (D1) mit einem Ereignis (E1).Priorisierung: Laut der internen Beschreibung ist „Nur Rechtslauf vorrangig vor Nur Linkslauf“, was sich in den Startbedingungen widerspiegelt, jedoch wird die Sequenzlogik primär durch den vorherigen Zustand (History) bestimmt.
Status-Reporting: Jede Zustandsänderung aktualisiert die
STATE-Variable und feuert dasEO-Event. Die Zustandsnamen werden über eine externe Enumeration (STATES::...) bezogen.
Zustandsübersicht
Die ECC (Execution Control Chart) definiert folgende Zustände:
Zustand Name |
Aktion |
Beschreibung |
|---|---|---|
START |
- |
Initialzustand. Wartet auf das |
Rechtslauf |
|
Aktiviert den Adapter |
Rechtslauf_Pause |
|
Beide Ausgänge aus. System merkt sich, dass es zuletzt rechts war. |
Linkslauf |
|
Aktiviert den Adapter |
Linkslauf_Pause |
|
Beide Ausgänge aus. System merkt sich, dass es zuletzt links war. |
Anwendungsszenarien
Pendelbetrieb: Automatische Steuerung von Mechanismen, die sich hin- und herbewegen müssen (z.B. ein Scheibenwischer-Modus oder ein Reinigungskopf), gesteuert durch einen einzigen Taster (
EIN).Beregnungsanlagen: Sequentielle Ansteuerung von zwei Sektoren (Sektor Rechts -> Pause -> Sektor Links -> Pause), wobei bei Bedarf ein Sektor mehrfach hintereinander aktiviert werden kann (mittels
DI_Rechts/DI_Links).Reversiermotor: Steuerung eines Motors, der bei jedem Neustart die Drehrichtung ändern soll, sofern nicht anders vorgegeben.
⚖️ Vergleich mit ähnlichen Bausteinen
Einfaches Toggle (FlipFlop): Ein Standard-Toggle schaltet nur einen Ausgang Ein/Aus.
LinksRechts_AXschaltet zwischen zwei Ausgängen um.RS-Glied: Ein RS-Glied speichert nur einen Zustand basierend auf Set/Reset. Dieser Baustein beinhaltet eine Sequenzlogik (History-Memory), da er weiß, welcher Zustand vor der Pause aktiv war.
E_SELECT: Ähnelt einem Selektor, aber
LinksRechts_AXbeinhaltet die zeitliche Komponente des „Pausierens“ und des automatischen Wechsels beim nächsten Startsignal.
Fazit
Der Funktionsbaustein LinksRechts_AX ist eine spezialisierte Komponente für Ablaufsteuerungen, die einen alternierenden Betrieb zwischen zwei Ausgängen erfordern. Durch die Integration der Adapter-Technologie (AX) und die Möglichkeit, die Sequenz durch digitale Eingänge (DI) zu beeinflussen, bietet er eine flexible Lösung für sequentielle Steuerungsaufgaben mit Richtungspriorisierung.