Aktionen sind der Kern der Steuerungsfunktionen von CTC. Mit ihnen legen Sie sowohl fest, welche Knöpfe und Regler wo in der CTC-App sichtbar werden, als auch was automatisch passieren soll.

Es gibt folgende Arten von Aktionen:

  • Funktion: Zeigt sich als Buttons in der CTC-App, z.B. um Weichen und Signale zu stelen oder Lok-Funktionen zu aktivieren.
  • Wert-Regler: Zeigt sich als Plus/Minus-Buttons und Schieberegler in der CTC-App um einen numerischen Wert zu verstellen.
  • Trigger: Damit kann die CTC-App oder das CTC-Modul auf die Änderung einer beliebigen anderen Aktion reagieren, z.B. kann ein Signal auf rot gehen, nachdem eine Weiche gestellt wurde.
  • Sensor: Diese Aktion ist im CTC-Modul mit einem Sensor, z.B. einem Kontaktgleis verbunden. Der Wert des Sensors wird in der CTC-App angezeigt und kann (wie alle Aktionen) einen Trigger anstoßen.
  • Timer: Diese Aktion dient dazu Dinge regelmäßig oder nach einer bestimmten Zeit zu tun, z.B. ist unser IR-Sender ein Timer: er sendet zyklisch eine Infrarot-Nachricht.

Jede Aktion hat einen Zustand in Form eines Buchstaben oder einer Zahl. Dieser Zustand kann im Trigger genutzt werden, um nur auf bestimmte Zustandsänderungen zu reagieren.

Wenn Sie ein Produkt hinzufügen, werden übrigens auch gleich passende Aktionen mit angelegt.

Funktion

Eine Funktion ist eine Sammlung zusammengehörender Taster bzw. Schalter. Jedem dieser Taster ist ein Skript (s.u.) zugeordnet, das ausgeführt wird, wenn dieser Taster gedrückt wird.

So hat z.B. eine Weiche zwei Taster, einer für “geradeaus” und einen für “abbiegen”. Bei Drücken auf den Taster führt das entsprechende CTC-Modul das zugehörige Sktipt aus. Im Falle unserer Weiche wird dann beispielsweise ein 250ms lange Impuls auf den Weichenantrieb gegeben und so die Weiche gestellt.

Die Funktion meldet immer ihren zuletzt aufgerufenen Taster als Zustand. Das bietet dann die Basis um mit Hilfe eines Triggers Folgeaktionen auslösen zu können.

Im Unterschied zu den meisten Modellbahnsteuerungen darf unsere Funktion aber auch aus mehr als zwei Tastern bestehen.

Wert-Regler

Mit einem Wert-Regler kann ein numerischer Wert verstellen, z.B. ein Serve auf einen bestimmten Winkel gestellt werden. Der offensichtlichste Wert-Regler ist der Geschwindigkeitsregler einer Lokomotive.

Der Zustand eines Wert-Reglers ist der zuletzt eingestellte Wert.

Trigger

Ein Trigger ist einer Funktion sehr ähnlich, wird aber nicht durch einen Taster ausgelöst, sondern durch die Zustandsänderung einer anderen Aktion.

Wie die Funktion besteht der Trigger aus mehreren Skripten, die abhängig vom neuen Zustand der auslösenden Aktion ausgeführt werden.

Ist der Trigger auf demselben CTC-Modul abgelegt wie die auslösende Aktion, so wird dieser Trigger direkt vom CTC-Modul angestoßen. Ansonsten kümmert sich die CTC-App darum, den Trigger anzustoßen.

Timer

Ein Timer kann entweder regelmäßig (zyklisch) ausgeführt werden oder nur einmalig.

Der Timer führt, nachdem seine Zeit abgelaufen, sein Skript aus. So können Sie z.B. motorische Weichen ansteuern, indem Sie im Skript einer Funktion den Motor einschalten und einen Timer aufrufen, der dann nach vorgegebener Zeit (z.B. 5 Sekunden) den Motor wieder ausschaltet.

Der IR-Sender ist ein Sonderfall: Er hat kein Skript und es wird (fest einprogrammiert) regelmäßig eine Nachricht per Infrarot gesendet. Die Nachricht wird aus dem Namen der IR-Sennders und den vorgegebenen Parametern dist, cmd und cmdDist zusammengesetzt. Hier empfehlen wir den IR-Sender als Produkt aus dem Produktkatalog “universell.xml” hinzuzufügen.

Sensor

Ein Sensor wird mit einem Eingangspin des CTC-Moduls (aktuell nur Multi-I/O-Board) verknüpft wird. Der Sensor gibt dann den Zustand des Eingangspins als seinen Zustand weiter.

Mit Hilfe eines Triggers kann nun eine Folgeaktion gestartet werden.

Skript

Skripte gibt es in Funktionen, Triggern und Timern. Sie legen eine Folge von einfachen Befehlen fest, die ausgeführt werden, wenn die Aktion einen bestimmten Zustand einnimmt.

Skripte setzen sich aus folgenden einfachen Befehlen zusammen:

  • pin[]: Setze einen Ausgangspin auf einen bestimmten Wert.
  • param[]: Setze einen Parameter auf einen bestimmten Wert.
  • pause(): Warte einige Millisekunden.
  • call(): Rufe eine andere Aktion auf demselben CTC-Modul auf, z.B. einen Timer.
  • wenn (): Führe die Befehle unter dem “wenn” nur aus, wenn ein Parameter eine bestimmten Wert hat.