Benutzer-Werkzeuge

Webseiten-Werkzeuge


modellbahn:elektronik:steuerung:cbus:events

Grundprinzip von CBUS-Ereignissen

CBUS ist ereignisorientiert. Es gibt keine festen „Adressen“ wie bei DCC-Zubehördecodern, sondern Ereignisse, die von beliebigen Modulen erzeugt (Producer) und von beliebigen Modulen ausgewertet (Consumer) werden.

Ein Ereignis ist eindeutig definiert durch:

  • NN (Node Number) – die Knotennummer des Producers
  • EN (Event Number) – die Ereignisnummer innerhalb dieses Knotens

NN und EN bilden den eindeutigen Ereignisschlüssel im gesamten CBUS. Ein Ereignis wird immer als ON- oder OFF-Ereignis gesendet.

Producer und Consumer

Ein Producer erzeugt Ereignisse, z. B.:

  • Taster
  • Gleiskontakte
  • Rückmelder
  • Software-Logik

Typisch:

  • Taster gedrückt → `EVENT ON`
  • Taster losgelassen → `EVENT OFF`

Ein Consumer reagiert auf Ereignisse, z. B.:

  • Weichendecoder
  • Signaldekoder
  • Relaismodule
  • Logikmodule

Ein Consumer entscheidet lokal, was bei einem bestimmten Ereignis passiert. Ein Node kann nicht nur eines von beiden sein, sondern auch Producer und Consumer.

Der Lernmodus (Learn Mode)

Der Lernmodus dient dazu, Ereignisse mit Aktionen zu verknüpfen, ohne feste Programmierung per Adresse.

  • „Wenn Ereignis X empfangen wird, führe Aktion Y aus.“

Diese Zuordnung wird im Consumer gespeichert, nicht zentral.

1. Ablauf des Lernens

  • Consumer in Lernmodus versetzen
  • Per Taste am Modul
  • Oder per CBUS-Befehl (`ENTER LEARN MODE`)

Der Consumer signalisiert den Lernmodus meist durch:

  • blinkende LED
  • Statusmeldung auf dem Bus

2. Producer sendet ein Ereignis

  • Taster drücken
  • Sensor auslösen
  • Software sendet `EVENT ON`

Der Consumer empfängt:

  • NN
  • EN
  • Event-Typ (ON oder OFF)

3. Ereignis wird gespeichert

Der Consumer speichert intern:

  • `(NN, EN)`
  • ob es ein ON- oder OFF-Ereignis ist
  • welche Aktion damit verknüpft ist (z.B. Ausgang schalten, Servo fahren, Signalbild setzen)

Das Ereignis ist jetzt „angelernt“.

4. Lernmodus verlassen

  • erneut Taste drücken
  • Timeout
  • expliziter CBUS-Befehl

Ab jetzt reagiert der Consumer bei jedem passenden Ereignis, egal von welchem Modul es kommt.

ON- und OFF-Ereignisse

CBUS unterscheidet immer zwei Ereignistypen:

  • ON-Ereignis → Zustand *aktiv*
  • OFF-Ereignis → Zustand *inaktiv*

Typische Nutzung:

  • Weiche:
    • ON → gerade
    • OFF → abzweigend
  • Relais:
    • ON → ein
    • OFF → aus
  • Signal:
    • ON → Fahrt
    • OFF → Halt

Viele Consumer können:

  • nur ON auswerten
  • oder ON und OFF getrennt lernen

Mehrere Consumer, ein Ereignis

Ein zentrales Merkmal von CBUS:

➡️ Ein Ereignis kann von beliebig vielen Consumern genutzt werden.

Beispiel:

  • Taster erzeugt Ereignis `(NN=10, EN=5)`
  • Weichendecoder schaltet Weiche
  • Signaldekoder setzt Signal
  • Logikmodul startet eine Fahrstraße

Alles gleichzeitig, ohne zusätzliche Konfiguration im Producer.

Mehrere Ereignisse pro Consumer

Ein Consumer kann:

  • viele Ereignisse lernen
  • verschiedene Aktionen pro Ereignis ausführen
  • ON und OFF getrennt behandeln

Damit lassen sich komplexe Abhängigkeiten rein ereignisbasiert abbilden.

Löschen von Ereignissen

Je nach Modul:

  • kompletter Reset aller gelernten Ereignisse
  • selektives Löschen einzelner Ereignisse
  • Löschen per Lernmodus + spezielles Ereignis

Das Verhalten ist modulspezifisch, das Grundprinzip aber identisch.

Zusammenfassung

  • CBUS arbeitet ereignisorientiert, nicht adressbasiert
  • Ereignisse bestehen aus Node Number + Event Number
  • Producer senden, Consumer reagieren
  • Der Lernmodus verknüpft Ereignisse mit Aktionen
  • Ein Ereignis kann beliebig viele Consumer steuern
  • Die Intelligenz liegt dezentral in den Modulen
  • Es ist keine zentrale Steuereinheit (Digitalzentrale, Computer mit Modellbahnsteuerungssoftware) erforderlich!
modellbahn/elektronik/steuerung/cbus/events.txt · Zuletzt geändert: von Tom, DL7BJ