OpenDCC AniMat: Anwendungsbeispiele

    AniMat kann mit Hilfe der Sequenzersteuerung den Ablauf kleiner Szenen autonom steuern, nachfolgen hierzu ein paar Beispiele:

Beschrankter Bahnübergang

    Betrachten wir als erstes Beispiel einen beschrankten Bahnübergang. Hier müssen Blinklicht, Schranke, Warnglocke und der Stopmagnet für das Faller-Car System in der richtigen Reihenfolge angesteuert werden. Das wird wie folgt an den AniMat angeschlossen:
    Anschluß Verwendung
    Ausgang 0Stopmagnet
    Ausgang 1Blinklicht rechts
    Ausgang 2Blinklicht links
    Sound Lautsprecher, für Warnglocke
    Servo 1 Schrankenbewegung
    Für das Schließen der Schranke wird ein Reiterschaltwerk mit folgenden Reitern erstellt:
    Sequenz-Programmierung
    ZeitcodeCommandKommentar
    00b0000 0101Ausgang 1 soll blinken, Phase A
    00b0000 1010Ausgang 2 soll blinken, Phase B (links/rechts im Gegentakt)
    10b1100 0001Sound abspielen, Track 1 = Warnglocke (in Schleife)
    30b0000 0011nach 3s Ausgang 0 einschalten, Stopmagnet für Faller Car einschalten
    10b1000 0000Servo 1, Kurve A, Schranke schließen
    100b1100 0000nach 10s Sound beenden, Warnglocke wieder aus
    2550b1111 1111Sequenz-Ende
    Für das Öffnen der Schranke würde das Reiterschaltwerk entsprechend folgende Reiter erhalten:
    Sequenz-Programmierung
    ZeitcodeCommandKommentar
    00b0000 0101Ausgang 1 soll blinken, Phase A
    00b0000 1010Ausgang 2 soll blinken, Phase B (links/rechts im Gegentakt)
    30b0000 0001nach 3s Ausgang 0 einschalten, Stopmagnet für Faller Car einschalten
    10b1000 0001Servo 1, Kurve B, Schranke öffnen
    100b0000 0100nach 10s Ausgang 1 abschalten
    00b0000 1000auch Ausgang 2 abschalten
    10b0000 0000nach 1s Ausgang 0, Stopmagnet für Faller Car ausschalten
    2550b1111 1111Sequenz-Ende

Pendelzugsteuerung

    Dieses Beispiel implementiert eine Pendelzugsteuerung, welche auf (lokalen) Tastendruck einen Umlauf startet. Hierzu sei folgende Portbelegung angenommen:
    PortVerwendung
    Input 0:Taster
    Input 1:Endeschalter links
    Input 2:Endeschalter rechts
    Sequenz-Programmierung
    ZeitcodeCommandKommentar
    2550b0000 0000Warte auf Tasteneingang = low
    00b0100 0011Motor links drehen langsam
    30b0100 0111nach 3s Motor links schneller
    2550b0000 0001Warte auf Schaltkontakt links
    00b0100 0000Motor aus
    20b0101 0011Motor rechts drehen langsam, (mit Verzögerung, dadurch entsteht hier eine Pause)
    30b0101 0111nach 3s Motor rechts schneller
    2550b0000 0010Warte auf Schaltkontakt rechts
    00b0101 0000Motor aus
    20b0101 0000Motor aus (nochmal, mit Verzögerung, dadurch entsteht hier eine Pause)
    2550b0010 0000Starte die Sequenz 0 (Wiederholung)