DMX-Decoder: eine Software für OpenDecoder (V.2 an V.3)

Überblick

    Langsam neigt sich der Tag dem Ende zu, am Horziont verfärbt sich der Himmel rot und mit dem Beginn der Nacht gehen auf der Modellbahn nach und nach die Lichter an. Für diese optische Illusion braucht man neben einer Unzahl beleuchteter Häuser, Straßenzüge, Bahnsteige und Autos auch die Kontrolle des Raumlichtes von der Modellbahnsteuerung aus.

    Das Raumlicht kann sehr preiswert über DMX und handelsübliche DMX-Dimmer angesteuert werden: ein Vierfach-Dimmer für 230V und 2kW kostet etwa 80 Euro.

    Lädt man OpenDecoder2 oder OpenDecoder3 mit der nachfolgenden Software, so können 24 DMX Kanäle angesteuert werden, wobei die feinfühlige Helligkeitssteuerung komplett vom Decoder übernommen wird - seitens des steuernden Systems sieht das wie die ein normaler Zubehördecoder aus, welcher ganz einfach über Weichenschaltbefehle angesprochen wird. Man kann also ganz einfach durch einen einzigen Tastendruck den Dämmerungsübergang auslösen. Dieser Tastendruck kann entweder über das Digitalsystem "geliefert" werden oder es können auch einfach zwei Taster für Tag/Nacht angeschlossen werden. Damit funktioniert diese Lichtsteuerung sowohl manuell als mit jeder handelsüblichen DCC-Zentrale und allen Steuerungsprogrammen.

    Diese Software arbeitet als Accessory Decoder, die Konfiguration der einzelnen DMX-Ausgänge erfolgt mittels CV (=Configuration Variable); diese sind entweder per Service Mode oder per PoM (=Programmierung am Hauptgleis) einstellbar. Zusätzlich kann der Decoder in seiner Adresse auch ganz einfach durch Drücken des Programmiertasters und einmaliges Senden der richtigen Adresse eingestellt werden.

    Zusätzlich ist in dem DMX-Decoder noch ein Watchdog Decoder integriert. Diese kann sowohl die Funktion der Steuerung überwachen und bei Absturz des PCs einen Nothalt auslösen als auch bei einem erfolgten Nothalt das Licht sofort auf volle Helligkeit einstellen.

Theorie: was ist DMX?

    DMX (=Digital Multiplex) ist ein digitales Steuerprotokoll, das speziell im Bühnenbereich zur Steuerung von Scheinwerfern und Zubehör verwendet wird.
    Es wird ein symmetrisches Signal (RS485) mit 250 kbit/s übertragen, die verwendeten Stecker sind dreipolige oder fünfpolige XLR-Stecker, wobei die dreipolige Version nicht offiziell ist, aber speziell im Lowcost-Bereich oft verwendet wird. Die verwendete Leitungsimpedanz ist 120 Ohm, so daß geschirmte Audiokabel verwendet werden können.
      Pinbelegung DMX
      Pin 5-polig 3-polig
      1 Masse (Abschirmung) Masse (Abschirmung)
      2 Signal invertiert (DMX-) Signal invertiert (DMX-)
      3 Signal (DMX+) Signal (DMX+)
      4 frei / zweite Verbindung (DMX-)  
      5 frei / zweite Verbindung (DMX+)  
    Die Daten werden einfach als Folge von bis zu 512 Bytes übertragen, wobei jedes Byte der Helligkeit einer angeschlossenen Lampe entspricht, es gibt also 256 Helligkeitsstufen. Jedes Byte entspricht einem DMX Kanal, wobei aber nicht zwingend alle Kanäle übertragen werden müssen - es können z.B. auch nur die ersten 32 Kanäle übertragen werden. Die Folge wird mit Break, Mark after Break, Startbyte (Wert 0) eingeleitet und mit Mark before Break abgeschlossen. Jedes Datenbyte (auch das Startbyte) wird mit 1 Startbit, 8 Datenbits und 2 Stopbits (8N2) übertragen.

    Das Signal wird Daisy Chain übertragen, die Kette darf 32 Glieder enthalten und am Ende sitzt ein Abschluß mit 120 Ohm. Dieser wird beim letzten Empfänger eingesteckt. Das bedeutet, es wird eine Leitung vom Decoder zum ersten Empfänger geführt. Vom Ausgang dieses Empfängers geht es dann zum nächsten, usw. Alle DMX-Empfänger sind also in einer Reihe angeordnet.

    Die Einstellung der jeweiligen Adresse der Empfänger erfolgt i.d.R. mit DIP-Schaltern, wobei je nach Endgerät oft mehrere Adressen en Bloc belegt werden. Die Adressen werden beginnend ab 0 gezählt und gehen bis 511 (daher der Name DMX512).

Praxis: Erzeugung des DMX-Signals

  • Erzeugung der Signale
    Das benötigte 250kBit-Signal läßt sich entweder mit der seriellen Schnittstelle oder mit einer Softwareschleife erzeugen. OpenDecoder verwendet die serielle Schnittstelle.
  • Programmierung
    Der Decoder setzt Schaltbefehle an eine Weichenadresse auf die Ansteuerung eines DMX-Kanals mit einer bestimmten Helligkeit um. Die Zeitdauer der Rampe bis zum Erreichen dieser Helligkeit ist einstellbar (-> virtueller Schaltausgang). Neben der Rampensteuerung gibt es auch die Möglichkeit, schnelle Lichtwechsel (z.B. für Gewittersimulation) darzustellen.
    Darüber hinaus können beliebige solcher virtuellen Schaltausgänge zu Gruppen zusammengefaßt werden und mit einem einzigen Schaltbefehl angesteuert werden. (z.B. Schaltadresse "mache Abenddämmerung"). Das ist dann ein -> Macro.

    Die Konfiguration der virtuellen Schaltausgänge (Rampen und Zielhelligkeiten) erfolgt über CV's, ebenso wie die Definition der Macros.
  • Helligkeitsverläufe
    Die Annäherung auf den Zielhelligkeitswert erfolgt ganz feinfühlig durch ein Rechenwerk, welches alle 20ms aktiviert wird. Es wird jeweils die aktuelle Helligkeit anhand der berechneten Schrittweite verändert. Dieser neue Wert wird dann als DMX-Strom (d.h. 50Hz Updaterate) ausgegeben. Diese Approximation erfolgt so lange, bis der eingestellte Helligkeitswert erreicht ist. Durch diesen Aufwand erreicht man eine sehr sanfte, nahezu stufenfreie Helligkeitssteuerung.

Anwendung:


    Was braucht man, um die Lichtsteuerung zu nutzen? Die nachfolgende Anleitung beschreibt den notwendigen Aufbau unter Verwendung der Voreinstellung und eines handelsüblichen Dimmerpacks (z.B. Eurolite EDX4) mit 4 Ausgängen. Besondere Programmierkenntnisse oder CV-Einstellungen sind hierbei nicht erforderlich.
  • Schritt 1: Verdrahtung des Systems
    1. Eingangsseitig wird der Decoder an den Klemmen X1-1 und X1-2 mit dem Digitalsignal (DCC) verbunden.
    2. An die Klemmen X2-1 und X2-2 wird ein Steckernetzteil zur Stromversorgung angeschlossen. Bitte verwenden Sie hier unbedingt ein separates schutzisoliertes Netzteil, um die elektrische Sicherheit zu gewährleisten.
    3. An die Klemmen X6-1,2,3 wird die DMX-Buchse angeschlossen, in diese wird dann einfach ein handelsübliches XLR-Bühnenkabel eingesteckt.
    4. Das andere Ende des XLR-Kabels wird mit dem Eingang des Dimmerpacks verbunden.
    5. Am Ausgang des Dimmerpacks muß ein Terminierungsstecker eingesteckt werden.
    6. An den Steckdosen des Dimmerpack werden folgende Lampen angeschlossen:
      Ausgang 1 Lampe weiß
      Ausgang 2 Lampe weiß
      Ausgang 3 Lampe rot (Dämmerung)
      Ausgang 4 Lampe blau (Nachtlicht)
  • Schritt 2: Einstellen
    1. Nach dem Einschalten blinkt die rote Kontrol-LED 5 mal schnell, dann eine Pause: 'X-X-X-X-X----X-X-X-X-X----' (=Errorcode 5). Dies zeigt an, dass noch keine Adresse programmiert wurde.
    2. Am Decoder die Programmiertaste drücken - es leuchtet nun die rote Kontrol-LED permanent.
    3. Einen Weichenbefehl schicken, und zwar den ersten Befehl aus einer 4-er Gruppe, also entweder Weiche 1 oder 5 oder 9 usw. Die LED erlischt, der Decoder hat nun diese Adresse gelernt und kann mit den unten beschrieben Befehlen gesteuert werden.
  • Schritt 3: Nichts mehr - FERTIG!

Konfiguration mit CV-Variablen

    Im Grundzustand ist bereits eine sinnvolle Belegung für Abend- und Morgendämmerung enthalten, man muß normalerweise keine weiteren CV's einstellen! Nur wer weitere Lichtspiele veranstalten will, kann mit den folgenden CV's diese exakt so einstellen, wie es gewünscht wird. Als Hilfe und Ausgangspunkt für individuelle Konfigurationen sind im Programmspeicher des Decoders bereits einige fertige Scenarien hinterlegt, diese können mit Hilfe CV559 in den Konfigurationsspeicher des Decoders geladen werden.
    Sollte man den Decoder 'verkonfiguriert' haben: Ein Schreibzugriff auf CV520 (=CV8) macht Decoder Reset (also die Grundeinstellung bei Auslieferung).
      Hinweise:
    • Beim Schreiben auf CV520 erfolgt diese Reaktion: der Decoder muß für kurze Zeit hektisch blinken (er kopiert dann gerade seine gesamten CVs vom Flash in EEPROM) und dann wird Errorcode 5 angezeigt. Dies ist ganz normal, da nach dem Reset keine gültige Adresse im Konfigurationsspeicher ist.
    • OpenDecoder2 bietet aus Speicherplatzgründen keinen Reset der virtuellen Decoder, diese können mit CV559 gelöscht werden.


    Tipp: am besten vorher die gewüschten Helligkeitverläufe aufmalen und dann die Programmierwerte ablesen.

    Der Decoder kann 24 DMX-Kanäle ansteuern, diese können mit 72 verschiedenen Einstellungen definiert werden. Eine solche Einstellung entspricht einem virtuellen Schaltausgang. Sequenzen (=Macro) aus bis 18 Einstellungen lassen sich auf einen Weichenbefehl legen. Zusätzlich kann OpenDecoder3 auch die Relais auf dem Decoder per DMX ansprechen. Hinweis: Diese Grenzen sind willkürlich gewählt und könnten im Sourcecode verstellt werden.

    Zur leichteren Programmierung der CVs wurde eine Konfigurationsdatei für Trainprogrammer erstellt, damit lassen die CVs komfortabler einstellen.

    Im Folgenden ist die Konfiguration des DMX-Decoders beschrieben, wobei sich die Konfiguration in drei Abschnitte gliedert:
  • Festlegen des allgemeinen Verhaltens
    • CV 545 (33): DECODER MODE
      Diese CV legt die Betriebsart des Decoders fest. Je nach nach Betriebsart kann sich die Bedeutung der folgenden CV's komplett ändern! Achtung - es muß auch das passende File geladen sein, welche die gewählte Betriebsart auch unterstützt. Eine bestimmte Software unterstützt nicht alle Modi. Sollte ein Mode eingestellt werden, den die geladene Software nicht unterstützt, so blinkt der Decoder 6*schnell-Pause.
      Im folgenden sind nur die CV's für den MODE 8 beschrieben!
    • CV 551: DMX Konfiguration (*=0)
      Bitfeld für die Decodereinstellung
        CV 551: DMX CONFIGURATION
        7 Einzelaufruf:
        *0  kein Einzelaufruf von DMX-Kanälen möglich, der Decoder kann nur über die unten angegebenen vier Weichenadressen angesprochen werden.
         1  jeder virtuelle DMX-Ausgang kann einzeln aufgerufen werden. Der Decoder kann zusätzlich zu den ersten 8 Schaltadressen, welche die Macrofunktion bzw. den Watchdog ansteuern über weitere 72 Adressen angesprochen werden.
        Diese weiteren Adressen sind den jeweiligen virtuellen DMX-Decodern zugeordnet. Damit kann jeder programmierte DMX-Übergang einzeln aufgerufen werden.
        In diesem Fall belegt der Decoder 8+72 = 80 Weichenadressen. Die ersten 8 Adressen sind fest den Macros zugeordnet, die weiteren 72 Adressen schließen sich an.
        6 Einschaltzustand:
         0  Nach dem Einschalten sind alle DMX-Ausgänge aus.
        *1  Nach dem Einschalten sind alle DMX-Ausgänge auf volle Helligkeit bzw. gemäß der Definition in CV554 bis 557 eingestellt.
        5 Reaktion des Lichts auf Watchdog:
         0  Watchdog hat keinen Einfluß auf das Licht.
        *1  beim Ansprechen des Watchdogs wird das Licht auf volle Helligkeit gestellt. (siehe auch CV554-557)
        4 Relaisschaltung durch Watchdog:
         0  Watchdog schaltet keine Relais. Die Relais können über die DMX-Kanäle 24-27 geschaltet werden. Diese werden nicht nach außen gesendet, sondern intern auf die Relais geleitet.
        *1  beim Ansprechen des Watchdogs werden die entsprechend zugeordneten Relais geschaltet. Der Zugriff über DMX Kanäle ist nicht möglich.
        0..3 reserviert
    • CV 552: Watchdog Trigger Delay (*=20)
      Hier wird das Zeitintervall eingestellt, wie oft ein Schaltbefehl eintreffen muß, damit der Watchdog nicht auslöst. Einheit: 100ms; Wertebereich: 1...127 (=0,1s ... 12,7s)
      Voreinstellung: 2 Sekunden. das bedeutet, wenn mehr als 2s lang kein Weichenbefehl mehr eintrifft, dann wird der Nothalt ausgelöst.
    • CV 553: Alarm Zeit (*=50)
      Hier wird die Zeitdauer eingestellt, wie lange der Alarmausgang aktiviert wird. Einheit: 100ms, Wertebereich: 1...127 (=0,1s ... 12,7s)
      Voreinstellung: 5 Sekunden. das bedeutet, bei einem Auslösen es Watchdogs wird der Alarmausgang für 5s aktiviert.
    • CV 554: Einschaltzustand der DMX-Kanäle 7 bis 0 (*=255)
      Hier wird eingestellt, welcher Kanalwert bei einem Befehl "alles an" bzw. beim Einschalten der Stromversorgung die Kanäle 7 bis 0 ausgegeben wird. Dies ist ein Bitfeld, Bit 7 entspricht Kanal 7, Bit 0 entspricht Kanal 0.
    • CV 555: Einschaltzustand der DMX-Kanäle 15 bis 8 (*=255)
      Hier wird eingestellt, welcher Kanalwert bei einem Befehl "alles an" bzw. beim Einschalten der Stromversorgung die Kanäle 15 bis 8 ausgegeben wird. Dies ist ein Bitfeld, Bit 7 entspricht Kanal 15, Bit 0 entspricht Kanal 8.
    • CV 556: Einschaltzustand der DMX-Kanäle 23 bis 16 (*=255)
      Hier wird eingestellt, welcher Kanalwert bei einem Befehl "alles an" bzw. beim Einschalten der Stromversorgung die Kanäle 23 bis 16 ausgegeben wird. Dies ist ein Bitfeld, Bit 7 entspricht Kanal 23, Bit 0 entspricht Kanal 16.
    • CV 557: Einschaltzustand der DMX-Kanäle 31 bis 24 (*=0)
      Hier wird eingestellt, welcher Kanalwert bei einem Befehl "alles an" bzw. beim Einschalten der Stromversorgung die Kanäle 31 bis 24 ausgegeben wird. Dies ist ein Bitfeld, Bit 7 entspricht Kanal 31, Bit 0 entspricht Kanal 24.
    • CV-Rechner:
      Bit:76543210
      Wert:
      CV:


  • Auswahl einer Voreinstellung
    In den folgenden Kapiteln ist die individuelle Konfiguration beschrieben. Um diese Konfiguration zu vereinfachen sind eine Reihe von Szenarien im Programmspeicher des Decoders hinterlegt. Diese können mit einem Schreibzugriff auf CV559 in den Konfigurationsspeicher geladen werden und als Ausgangsbasis für eigene Einstellungen verwendet werden.
    Der Schreibzugriff auf CV559 wird sofort quittiert, das Umkopieren erfolgt gleich anschließend; Der Decoder blinkt während dieses Kopiervorgangs. Es darf daher nach dem Schreiben kein 'Power Down' erfolgen. Es wird dringend empfohlen, den Decoder mit einem separaten Trafo zu speisen. (Am Programmiergleis wird oft nach dem Schreiben der Strom abgeschaltet!)
    Die ausgewählte Voreinstellung verändert nur die virtuellen Decoder und Macros, die sonstigen CVs wie Adresse und Mode werden nicht verändert.
      CV 559: DMX Preset Szenario (nur OpenDecoder3)
      WertSzenario
      0 Scenario: alles gelöscht
      Virtuelle Decoder:
      1 Alles 0
      2 Alles 0
      ...  
      72 Alles 0
      Macros:
      0 leer
      1 leer
      2 leer
      3 leer
      1 Scenario: Direktansteuerung, Lichterkette, RGB-Farbkreis
      Virtuelle Decoder:
      1 DMX Kanal 0 ausschalten (Rampenzeit 4s)
      2 DMX Kanal 0 einschalten (Rampenzeit 4s)
      3 DMX Kanal 1 ausschalten (Rampenzeit 4s)
      4 DMX Kanal 1 einschalten (Rampenzeit 4s)
      ... usw.
      47 DMX Kanal 23 ausschalten (Rampenzeit 4s)
      48 DMX Kanal 23 einschalten (Rampenzeit 4s)
      Disese Belegung ordnet die DMX-Kanäle wie Weichen zu: Taste 'grün' schaltet den DMX-Kanal ein, Taste 'rot' schaltet ihn wieder aus.
      Macros:
      0 Die ersten 8 Kanäle im Abstand von 2s einschalten (ansteigende Lichterkette)
      1 Die ersten 8 Kanäle im Abstand von 2s ausschalten
      2 RGB Überblenden: Die ersten drei DMX-Kanäle werden circular in ihrer Helligkeit verändert, so daß sich bei Verwendung der Grundfarben rot grün und blau ein Farbkreis ergibt.
      3 leer
      2 Scenario: Dämmerungsübergang, Gewittersimulation mit 3 Lampen
      Virtuelle Decoder:
      1 DMX Kanal 0 ausschalten (Rampenzeit 120s)
      2 DMX Kanal 0 einschalten (Rampenzeit 120s)
      3 DMX Kanal 1 ausschalten (Rampenzeit 24s)
      4 DMX Kanal 1 einschalten (Rampenzeit 24s)
      5 DMX Kanal 2 ausschalten (Rampenzeit 24s)
      6 DMX Kanal 2 einschalten (Rampenzeit 24s)
      7 DMX Kanal 2 mittlere Helligkeit (Rampenzeit 48s)
      8 DMX Kanal 2 einschalten (Rampenzeit 48s)
      9 DMX Kanal 0 gedimmt (Rampenzeit 120s)
      10 DMX Kanal 0 stark gedimmt (Rampenzeit 24s)
      11 DMX Kanal 0 einschalten (Rampenzeit 24s)
      12 frei
      13 Lichtblitze Kanal 0 (a)
      14 Lichtblitze Kanal 0 (b)
      Macros:
      0 Dämerungsübergang in die Nacht
      1 Dämmerungsübergang in den Tag
      2 Dämmerungsübergang in einen Regentag (reduzierte Helligkeit, kein Morgenrot)
      3 Gewittersimulation: Abdunkeln, dann 2 Lichtblitzpakete in etwa 12 Abstand
      3 Scenario: Dämmerungsübergang mit 8 Lampen
      Dieses Setup wird bei den Modelleisenbahnfreunden Mühldorf verwendet.
  • Individuelles Festlegen der einzelnen virtuellen Schaltausgänge (Lampe und Helligkeit)
    Damit der jeweilige virtuelle Schaltausgang wie gewünscht funktioniert, muß jeder dieser Ausgänge konfiguriert werden. Hierbei gehören zu jeden virtuellen Ausgang je vier CVs. Folgende Parameter müssen für jeden benutzten virtuellen Ausgang eingestellt werden:
    1. Der DMX-Kanal, der diesem Schaltausgang zugeordnet wird.
      bei Betätigen dieses Schaltausgangs wird der entsprechende DMX-Kanal ausgehend von der momentanen Helligkeit auf die eingestellte Helligkeit gefahren.
      Es ist zulässig (und sinnvoll), mehrmals den den gleichen DMX-Kanal zu konfigurieren. Es wirkt jeweils der letzte aufgerufene Schaltausgang.
      Die Zählung der DMX-Kanäle beginnt mit 0. Es gibt max. 24 Kanäle.
    2. Der gewünschte Helligkeitswert: der angegebene DMX-Kanal wird beim Aufruf des Schaltausgangs dann auf diesen Helligkeitswert gedimmt.
    3. Die gewünschte Zeitdauer, bis dieser Helligkeitswert erreicht wird. Es sind Zeiten von 0,1s bis 108min möglich.
    Diese Parameter werden mit jeweils vier zusammengehörigen CV's für jeden Schaltausgang eingestellt, diese CV's folgen immer direkt aufeinander:
    • CV BASIS[0]: DMX-Kanal (*=0)
      DMX-Kanal, auf den dieser Decoder wirkt;
      Wertebereich 0..27
      Die DMX-Kanäle 0-23 werden an die angeschlossenen DMX-Geräte gesendet, die Kanäle 24-27 werden auf die internen Relais geleitet. Des weiteren gibt es einen Sondermode für die Gewittersimulation. Dieser Mode wird aktiviert, wenn die DMX-Kanäle 100-123 angesprochen werden. (siehe unten) Falls ein undefinierter Wert für den DMX-Kanal eingstellt wird, dann wird der Kanal ingoriert. Die Zählung der DMX-Kanäle beginnt mit 0.
    • CV BASIS[1]: Helligkeitswert (*=0)
      Ziel-Helligkeitswert, der eingestellt werden soll;
      Wertebereich 0..255, wobei 0 = dunkel und 255 = volle Helligkeit ist.
    • CV BASIS[2]: Zeitdauer (low byte) (*=0)
      Zeitdauer (unterer Teil, Erläuterung s.u.); Einheit 0,1s
    • CV BASIS[3]: Zeitdauer (high byte) (*=0)
      Zeitdauer (oberer Teil, Erläuterung s.u.); Einheit 25,6s

      • CV BASIS[2] und CV BASIS[3] bilden zusammen die Zeitdauer, die vergeht, bis der eingestellte Helligkeitswert erreicht wird. Diese Zeitdauer errechnet sich wie folgt:
          Zeit [s] = (CV_BASIS[3] * 256 + CV BASIS[2]) * 0,1
        Beispiel: CV_BASIS[3] = 1; CV_BASIS[2] = 44; Zeitdauer ist dann 1*256+44 = 30s.

        Falls die Zeitdauer zu 0 eingestellt wird, wird stattdessen 0,1s verwendet.
        Sondermode für Gewittersimulation:
        Wenn bei CV BASIS[0] (DMX-Kanal) die Kanalnummer beginnend mit 100 eingetragen wird, dann bildet der Decoder die Anweisungen auf die Kanalnummer 'CV BASIS - 100' ab, jedoch werden in diesem Fall CV BASIS[2] und CV BASIS[3] anders interpretiert:
          CV BASIS[3] (MSB) und CV BASIS[2] (LSB) bilden zusammen ein Bitmuster, welches ausgehend vom höchstwertigen Bit mit einem Raster von 20ms ausgegeben wird. Ist das entsprechende Bit 1, so wird die Helligkeit 'CV BASIS[1]' ausgegeben, ansonsten der bisherige Wert.
        Beispiel: CV_BASIS[3] = 195 (=0b11000011); CV_BASIS[2] = 14 (=0b00001110); Das erzeugt zwei kurze Blitze mit 40ms und einen weiteren mit 60ms.
    • CV-Liste der virtuellen Decoder
      Es gibt insgesamt 72 solcher virtueller Decoder, die zugehörigen CV's sind wie folgt adressiert:
      Decoder DMX-Kanal Helligkeit Zeit (L) Zeit (H)
      1 CV560 CV561 CV562 CV563
      2 CV564 CV565 CV566 CV567
      3 CV568 CV569 CV570 CV571
      4 CV572 CV573 CV574 CV575
      5 CV576 CV577 CV578 CV579
      .. ... ... ... ...
      72 CV844 CV845 CV846 CV847

      Die Tabelle ist relativ lang, aber man muß ja nur die tatsächlich gewünschten Lichtkanäle programmieren.
      • Tipp: Sinnvollerweise legt man Licht an und Licht aus auf zwei aufeinander folgende virtuelle Decoder, damit kann dann ganz einfach mit "Signal rot" und "Signal grün" das Licht in dem zugewiesenen DMX-Kanal langsam an- bzw. abgeschaltet werden.
  • Zusammenfassen dieser virtuellen Schaltausgänge zu Gruppen (Macro)
    Als letzter Schritt können nun diese Schaltausgänge zu Gruppen (Macro) zusammengefaßt werden. So ist dann das Auslösen komplizierter Vorgänge mit einem einzigen Schaltbefehl möglich. Ein Macro besteht aus einer Liste aus bis zu 18 virtuellen Schaltausgängen. Jeder Listeneintrag enthält die Nummer des Schaltausgang und die (relative) Verzögerung dieses Ausgangs bezogen auf den Start des Macros.

    In der Liste wird die Verzögerungszeit in Sekunden angegeben. Die Verzögerungszeit gilt ab den Start des Macros. Alle unbenötigten Einträge werden mit der Adresse 0 eingetragen (den virtuellen Schaltausgang 0 gibt ja es nicht).

    Es können mehrere Macros zugleich aktiv sein, diese können auch auf die gleichen Kanäle und Decoder wirken - gültig is jeweils der zuletzt aufgerufene virtuelle Decoder.
    • CV-Liste Macro 1
      virtueller
      Schaltausgang
      Verzögerungszeit [s]
      CV848 CV849
      CV850 CV851
      CV852 CV853
      ... ...
      CV882 CV883
    • CV-Liste Macro 2
      virtueller
      Schaltausgang
      Verzögerungszeit [s]
      CV884 CV885
      CV886 CV887
      CV888 CV889
      ... ...
      CV918 CV919
    • CV-Liste Macro 3
      virtueller
      Schaltausgang
      Verzögerungszeit [s]
      CV920 CV921
      CV922 CV923
      CV924 CV925
      ... ...
      CV954 CV955
    • CV-Liste Macro 4
      virtueller
      Schaltausgang
      Verzögerungszeit [s]
      CV956 CV957
      CV958 CV959
      CV960 CV961
      ... ...
      CV990 CV991
    • Tipp: Am besten gelingt die Programmierung, wenn man sich die gewünschten Farbverläufe aufzeichnet und daraus dann die Rampen und Zielhelligkeiten bestimmt.
    dmx_cv.xls enthät eine Graphik, welche die Zusammenhänge verdeutlicht.
    Hinweis: OpenDecoder macht CV-Remapping, d.h. die CV 513 ist auch als CV 1 ansprechbar, die CV514 auch als CV2 usw. CV1007 dann als CV495.

Programmierbeispiel

    Folgender Lichtübergang soll programmiert werden, wobei für das Beispiel rot auf DMX Kanal 5 und blau auf DMX Kanal 6 angenommen sei:


    Hier sind drei Helligkeitsübergänge enthalten: A->B, C->D und E->F. Also werden drei virtuelle Schaltdecoder benötigt:
    1. Decoder 1, Übergang A->B:
      Dieser Übergang blendet rot innerhalb von 4 Sekunden voll auf. Also wird der virtuelle Schaltdecoder 1 mit folgenden Einstellungen versehen:
      DMX-KanalHelligkeit Zeit (L)Zeit (H)
      CV560 CV561 CV562 CV563
      5 255 40 0
    2. Decoder 2, Übergang C->D:
      Dieser Übergang blendet rot innerhalb von 7 Sekunden ab. Also wird der virtuelle Schaltdecoder 2 mit folgenden Einstellungen versehen:
      DMX-KanalHelligkeitZeit (L)Zeit (H)
      CV564 CV565 CV566 CV567
      5 0 70 0
    3. Decoder 3, Übergang E->F:
      Dieser Übergang blendet blau innerhalb von 6 Sekunden auf eine Helligkeit von 200 auf. Also wird der virtuelle Schaltdecoder 3 mit folgenden Einstellungen versehen:
      DMX-KanalHelligkeitZeit (L)Zeit (H)
      CV568 CV569 CV570 CV571
      6 200 60 0
    Als letzter Schritt werden nun diese drei Schaltdecoder zu einer Macrogruppe zusammen gefaßt. Hierzu werden diese Decoder und ihre Startzeit in der Macroliste eingetragen. Alle nicht benötigten Einträge in der Liste werden auf 0 gesetzt.
      Decoder StartzeitErläuterung
      CV880=1CV881=0 rot mit Verögerung 0s aufdimmen
      CV882=2CV883=5 rot mit Verögerung 5s abdimmen
      CV884=3CV885=4 blau mit Verögerung 4s aufdimmen
      CV886=0CV887=0 Decoder = 0 bedeutet dieser Listeneintrag ist ungültig
    Jetzt kann einfach durch einen einzigen Schaltbefehl auf Macro 1 dieser Helligkeitsverlauf ausgelöst werden. Dieses Beispiel geht von einer Starthelligkeit von 0 aus.

Decoderbefehle

    Nach der Konfiguration des DMX-Decoders kann er wie jeder andere Decoder auch einfach über die Stellbefehle angesprochen werden.
      Taste Wirkung
      1 Licht aus; alle DMX Kanäle werden auf 0 gestellt. Alle noch laufenden Macros oder virtuellen Decoder werden beendet.
      2 Licht an; alle DMX Kanäle werden auf 255 (bzw. auf den in CV554-557) vorgegebenen Einschaltzustand gestellt. Alle noch laufenden Macros oder virtuellen Decoder werden beendet.
      3 Macro Übergang 1 wird ausgelöst. Das ist üblicherweise die Abenddämmerung.
      4 Macro Übergang 2 wird ausgelöst. Das ist üblicherweise die Morgendämmerung.
      5 Macro Übergang 3 wird ausgelöst. Das ist üblicherweise die Abenddämmerung, jedoch mit langsamer Geschwindigkeit.
      6 Macro Übergang 4 wird ausgelöst. Das ist üblicherweise die Morgendämmerung, jedoch mit langsamer Geschwindigkeit.
      7 Watchdog ausschalten
      8 Watchdog aktivieren


    Hinweis: die allgemein üblichen CV's wie z.B. Adresse sind identisch zur Schaltsoftware und auch dort beschrieben.

Anschlußplan OpenDecoder2

    Anschluss dmx
    DMX wird an die Ausgänge 7 und 8 angeschlossen. Auf der Platine ist SJ3 offen zu lassen und SJ4 zu schliessen, um den mittleren Pin mit GND (statt mit VCC) zu versorgen.

    Um die Watchdog-Funktion nutzen zu können, ist folgende Anschlußbeschaltung nötig:
    1. Relais an Ausgang 1
      Monostabiles Relais, 1 Öffner, 1 Schliesser; Mit dem Öffner kann eine Meldung an ein Rückmeldesystem erfolgen, mit dem Schliesser wird der Fahrstrom geschaltet. Hinweis: dieses Relais ist nach dem Einschalten standardmäßig eingeschaltet.
    2. Relais an Ausgang 2
      Monostabiles Relais, 1 Schliesser; Damit wird eine Warneinrichtung geschaltet.
    3. Triggereingang
      Widerstand, Zenderdiode: damit kann eine externes Meldersystem (Nothaltschaltung) angeschlossen werden.

    Zwei Eingänge können zur direkten Ansteuerung der Dämmerungsübergänge bzw. des Aus-Einschaltens per Taster verwendet werden.
      TasterAnschlußBedeutung
        ROT:  
      Eingang 3 Es wird das Macro 2 aufgerufen (Übergang in die Nacht)
       GRÜN: 
      Eingang 4 Es wird das Macro 1 aufgerufen (Übergang in den Tag), bei Doppelklick wird das Licht komplett aufgesteuert.

Anschlußplan OpenDecoder3

    Anschluss DMX an OpenDecoder3
    DMX wird direkt eingesteckt. Es ist ein 3-poliger XLR Stecker verwendet (Pin 1 = GND, Pin 2 = DMX+, Pin 3 = DMX-)

    Um die Watchdog-Funktion nutzen zu können, ist folgende Anschlußbeschaltung nötig:
    1. Relaisausgang 1 (Anschluß 1 und 2)
      Hier wird der Fahrstrom geschaltet. Hinweis: dieses Relais ist nach dem Einschalten standardmäßig eingeschaltet.
    2. Relaisausgang 2 (Anschluß 3 und 4)
      1 Schliesser; Damit wird eine Warneinrichtung bei Auftreten eines Watchdog-Ereignisses geschaltet.
    3. Relaisausgang 3 (Anschluß 10 und 11)
      1 Schliesser; Dieses Relais schaltet genau umgekehrt zum Relaisausgang 1; Mit diesem Ausgang kann eine Meldung an ein Rückmeldesystem erfolgen.
    4. Triggereingang
      damit kann eine externes Meldersystem (Nothaltschaltung) angeschlossen werden.

    Zwei Eingänge können zur direkten Ansteuerung der Dämmerungsübergänge bzw. des Aus-Einschaltens per Taster verwendet werden. Die Taster schalten gegen Masse, was an Pin 6 zur Verfügung steht.
      TasterAnschlußBedeutung
        ROT:  
      Eingang 5 Es wird das Macro 2 aufgerufen (Übergang in die Nacht)
       GRÜN: 
      Eingang 7 Es wird das Macro 1 aufgerufen (Übergang in den Tag), bei Doppelklick wird das Licht komplett aufgesteuert.

Watchdogfunktion:

    Eine Watchdogschaltung (=Wachhund) ist eine Schaltung, welche zyklisch angesprochen werden muß. Entfällt diese regelmäßige Aktivierung (z.B. wegen ausfallener Zentrale oder PC-Absturz), so führt die Watchdogschaltung eine Sicherheitsaktion durch - Im Falle der Modellbahn das Abschalten des Gleisstromes.

    Ein Watchdogschaltung kennt typischerweise also drei Zustände:
    1. Inaktiv (SLEEPING): Die Schaltung hat kein Wirkung, der Gleisstrom ist ein.
    2. Aktiviert (ARMED): Die Schaltung ist scharf, sie lauert auf das Ausbleiben der regelmäßigen Ansprache.
    3. Getriggert (TRIGGERED): Die Schaltung hat ausgelöst, der Gleisstrom ist unterbrochen.
    Das zu schaltende Signal (normalerweise der Fahrstrom) wird über ein Relais geführt, welches beim Zustand TRIGGERED abfällt.

    Bei diesem Decoder wird eine Weichenadresse verwendet, um den Watchdog zu steuern.
    Nach dem Einschalten ist der Watchdog zuerst mal inaktiv. Das Relais für den Gleisstrom ist damit eingeschaltet.
  • Aktivierung:
    Mit Senden des Stellbefehls (gerade, grün) wird der Watchdog aktiviert. Der Gleisstrom bleibt (noch) eingeschaltet. Wenn innerhalb der Ansprechzeit des Watchdog ein weiter Stellbefehl (gerade, grün) eintrifft, wird die Ansprechzeit wieder von vorn abgezählt. Das Relais für den Gleisstrom bleibt während der der Ansprechzeit eingeschaltet und würde abfallen, wenn kein weiterer Stellbefehl mehr empfangen wird.
  • Auslösung (Triggerung):
    Trifft kein weiterer Aktivierbefehl mehr ein, dann wird das Relais abgeschaltet, dadurch wird der Fahrstrom abgeschaltet. Zugleich wird der Ausgang 2 für 6s aktiviert, z.B. um eine Hupe oder Warnleuchte einzuschalten.
    Nach einer Auslösung muß der Watchdog zuerst einmal abgeschaltet werden, bevor er wieder aktiviert werden kann.
  • Abschalten:
    Mit Senden der Basisadresse (rund, rot) ist der Watchdog abgeschaltet, der Ausgang 1 ist wieder an; das Relais 1 ist eingeschaltet, der Fahrstrom wird durchgelassen.
  • Es gibt einen zusätzlichen Triggereingang: wird hier LOW angelegt, so wird der Watchdog sofort ausgelöst. Man kann also einen Taster anschließen und so ein Nothaltsystem einrichten.
    • OpenDecoder2: Triggereingang ist Port D1 (Pin 3)
    • OpenDecoder3: Triggereingang ist Key3 (Anschluß 14), zu schalten gegen 15 (Masse)

Weiter zu: