SPROG und JMRI
Navigation: DCC
Mit der Kombination aus SPROG (Hardware) und JMRI (Software) kann alles rund um DCC elegant per Computer gesteuert werden. Dazu gehört die bequeme Programmierung von Dekodern, aber eine ganze Anlage könnte damit ebenfalls gesteuert werden.
Einführung
SPROG ist ein kleines Stückchen Hardware, laut Hersteller der Dekoder-Programmierer: SPROG
JMRI ist eine Software, hier geht es um die Komponente DecoderPro zur Dekoderprogrammierung: JMRI
Die beiden sind eine sehr gute Kombination und erlauben so ziemlich alle Einstellungen, die für den Fahrbetrieb wichtig sind, dazu gehören z.B. auch Geschwindigkeitskurven oder Speed Matching. Spezielle Dekoder werden dennoch spezielle Technik erfordern, z.B. auch wenn es um Soundfiles geht.
Konfiguration der Hardware in JMRI
SPROG
Tödlich für den SPROG ist beim Anschluss das Verwechseln von Ein- und Ausgang - also sehr sorgfältig anschließen und bei der Gelegenheit + und - nicht vertauschen.
Unter MacOS Catalina waren keine Treiber erforderlich, das Gerät wurde sofort erkannt. Sehr hilfreich war dennoch die folgende Zeile aus der Anleitung:
while : ;do clear;ls -lt /dev|head;i=$((i+1));echo $i;sleep 1;done
Dies wird auf der Kommandozeile ausgeführt und danach wird die USB-Verbindung mehrfach getrennt und wiederhergestellt und dabei beobachtet, was sich an der Anzeige ändert. Bei mir erschienen und verschwanden dann cu.usbmodem3101 und tty.usbmodem3101. cu.usbmodem3101 ist dabei das, was bei JMRI als Verbindung eingetragen werden muss:
Damit sollte alles erledigt sein und es kann mit JMRI per SPROG auf die Loks zugegriffen werden. Den Gleisanschluss führt man zweckmäßigerweise auf ein kurzes Testgleis oder einen Rollenprüfstand.
Digikeijs DR5000
Die Digikeijs-Zentrale kann auf zwei verschiedene Arten mit JMRI verbunden werden, per Ethernet oder per USB.
Verbindung per USB
Für die Verbindung der Zentrale über USB ist es wichtig, die richtige Schnittstelle herauszufinden. Dazu kann das gleiche Verfahren wie unter SPROG beschrieben verwendet werden. Die Zentrale meldet sich dabei mit drei verschiedenen Schnittstellen, über jeweils eine wird das Protokoll LocoNet, Dr.Command und XpressNet gesprochen. Bei mir endet die Verbindung für LocoNet mit einer "11", die Verbindung für Dr.Command mit einer "13" und die Verbindung für XpressNet mit einer "15". Für unseren Anwendungsfall wäre also die Verbindung mit einer "11" am Ende die richtige.
Als Einstellungen sollten folgende Werte gesetzt werden:
- Systemhersteller: Digitrax
- Systemverbindung: LocoNet LocoBuffer-USB
- Serielle Schnittstelle: Die oben angesprochene Verbindung
- Command station type: Beliebig
Verbindung per Ethernet
Bei dieser Verbindungsart wird die Zentrale über den mit 100baseT LAN gekennzeichneten Anschluss mit dem gleichen Netzwerk verbunden wie der Rechner, auf dem JMRI läuft.
Da JMRI keine dynamische Erkennung der Adresse der Zentrale vornehmen kann, bietet es sich an, der Zentrale eine feste IP-Adresse im eigenen Router zuzuweisen.
Damit die Verbindung mit JMRI über Netzwerk klappt, muss im Konfigurationsprogramm der Zentrale unter DR5000-LAN Properties das von der Zentrale verwendete Protokoll (DR5000 Protocol) auf "LocoNet(R) over TCP/IP LBServer" eingestellt werden. Der Port kann auf dem Standard "5550" bleiben, man sollte ihn sich aber für die spätere Konfiguration von JMRI merken!
Nun kann in den Einstellungen von JMRI unter Verbindungen ein neuer Eintrag mit dem Plus-Zeichen oben rechts angelegt werden.
Dabei sind folgende Einstellungen zu machen:
- Systemhersteller: Digitrax
- Systemverbindung: LocoNet über TCP
- IP-Adresse/Hostname: Adresse der Zentrale (aus dem Router oder dem Konfigurationsprogramm ablesen)
- Command station type: beliebige Auswahl (bei mir DCS240)
- Bei Additional Connection Settings: TCP/UDP-Port: Nummer des Ports (aus dem Konfigurationsprogramm abgelesen, Standard 5550)
Nach einem Neustart von DecoderPro sollte die Zentrale mit dem Programm verbunden sein. Das kann man einfach ausprobieren, indem man mit dem Knopf Aus oben in der Mitte den Gleisausgang der Zentrale aus- und wieder anschaltet.
Uhlenbrock Intellibox II oder Basic
Die Intellibox II oder Basic haben eine integrierte USB-Schnittstelle, über die sie mit JMRI angesprochen werden können. Die genaue Bezeichnung der verwendeten Schnittstelle kann mit dem unter SPROG beschriebenen Verfahren bestimmt werden.
Folgende Einstellungen sollten verwendet werden:
- Systemhersteller: Uhlenbrock
- Systemverbindung: Intellibox-II (USB)
- Serielle Schnittstelle: Siehe oben
Bedienung von JMRI
Lok anlegen
- Lok aufgleisen, z.B. auf dem Rollenprüfstand
- "New Loco"
- Entweder die Liste hilft weiter oder "Typ aus Decoder auslesen":
- Ich tippe mal auf MX621N version 28+ ...
- Lange Adresse ist ok - speichern - fertig; die Lok erscheint in der Liste.
Wenn die Verbindung SPROG zu JMRI sicher steht und die Lok nicht erkannt wird, dann deutet das auf ein ernstes Problem mit dem Dekoder hin - er ist dann wahrscheinlich schlicht kaputt.
Daten speichern
Alle Parameter aller erfassten Loks sind in JMRI gespeichert. Damit landen sie im Backup des Rechners, können exportiert oder ausgedruckt werden. Man kann damit auch sehr schön verschiedene Varianten ausprobieren und wieder auf einen vorherigen Stand zurückgreifen - oder im Falle eines Resets des Dekoders wiederherstellen.
Bei einer neu erfassten Lok sollte man sich die Zeit nehmen, im Programmierfenster der Lok "Auslesen aller Seiten" durchzuführen.
Das kann ziemlich lange dauern, bis alle CVs ausgelesen worden sind, dafür hat man aber einen sauberen Datenbestand in JMRI. Künftig kann man dann nur noch mit den Änderungen arbeiten. Danach können alle diese Daten in JMRI gespeichert und dann weiter genutzt werden oder auch als XML-Datei exportiert werden, die dann JMRI auch wieder einlesen kann: JMRI-Datensatz der V 23
Menschenlesbar kann das auch ausgedruckt oder als PDF gespeichert werden: JMRI-Daten der V 23
Fahren
Nachdem man eine Lok ausgewählt hat, ist es ganz einfach, diese zu fahren:
Programmieren
Hier kann JMRI seine ganzen Stärken ausspielen, das Programmieren ist damit wesentlich komfortabler als die Programmierung mit Hilfe einer Zentrale.
Arbeiten auf dem Rollenprüfstand
Auf dem Rollenprüfstand können einige Dinge erledigt werden:
- Lok testen, ob sie in beiden Richtungen überhaupt störungsfrei rollen kann
- Lok einfahren / warm fahren
- Lokadresse programmieren
- Lichtfunktionen programmieren
- Soundfunktionen programmieren
- Tastaturmapping programmieren
Lok testen
Im Grunde ist das weiter oben im Abschnitt "Fahren" schon beschrieben: Man öffnet einen Fahrregler und legt los:
Damit kann man die grundsätzlichen Funktionen schon einmal ausprobieren: Vorwärts fahren, rückwärts fahren, ggf. Licht und Sound. Wenn hier nichts klappt, hat man ein ernsthaftes Problem, wenn die Lok im Prinzip schon einmal erkannt worden ist.
Lok einfahren
Es gibt Stimmen, die sagen, es sei hilfreich, eine neue Lok "einzufahren" - in beide Richtungen einmal für eine Zeit lang, vielleicht 10 min, bei mittlerer Geschwindigkeit laufen zu lassen. Manche Lok läuft danach tatsächlich runder.
Vor Programmierarbeiten, z.B. für Verzögerungseinstellungen oder Speed Matching ist ein Warmfahren auf jeden Fall sinnvoll.
Lokadresse programmieren
Eine Lokadresse zu programmieren geht ganz einfach, das geht schon im Fahrregler, wie oben zu sehen ist.
Lichtfunktionen programmieren
Soundfunktionen programmieren
Tastaturmapping programmieren
Arbeiten auf der Teststrecke
Manche Arbeiten gehen auf dem Rollenprüfstand nicht wirklich, sondern brauchen eine Teststrecke, ein paar Meter Gleis sind da schon hilfreich; man muss einfach sehen, wie sich die Lok verhält, mit und ohne Last, das geht nicht auf dem Rollenprüfstand:
- Höchstgeschwindigkeit programmieren
- Anfahr- und Bremsverzögerung programmieren
- Geschwindigkeitskurve programmieren
- Speed Matching
- Consists
- Dekoder-Feintuning
Messwagen
Für verschiedene Tätigkeiten wie Höchstgeschwindigkeit programmieren oder Speed Matching ist ein Messwerkzeug sehr hilfreich. Auf dem Markt gibt es verschiedene Angebote. Hier genutzt wird das PIKO-Produkt.
Hier gezeigt wird er mit einer Bildschirmdarstellung, die speziell für das Programmieren von Geschwindigkeitskurven und Speed Matching gut geeignet ist: Die Geschwindigkeit auf's Vorbild umgerechnet - hier mit mp/h für US-Loks - und der DCC-Fahrstufe. Man muss aber nicht neben der Teststrecke dem Messwagen hinterherrennen, da der Wagen auch über WLAN verfügt. Damit bekommt man diese ganzen Daten auch bequem in der App auf dem Smartphone präsentiert.
Nebenbei bemerkt: Auf einer Seite wurde die klassische Bügelkupplung durch eine Kadee-Kupplung für NEM-Schacht ersetzt.
Startfahrstufe programmieren
Jede Lok hat ein anderes Anfahrverhalten - dies hängt stark von der mechanischen Konstruktion und deren Widerständen ab. Daher wird als Erstes der Dekoder so programmiert, dass die Lok (und damit jede Lok!) sich bei derselben Fahrstufe mit ihrer technisch bedingten Minimalgeschwindigkeit in Bewegung setzt. Man kann nun diskutieren, bei welcher Fahrstufe dies der Fall sein soll. Naheliegend ist sicher Fahrstufe 1; aber auch Fahrstufe 2 ist nicht verkehrt, dann kann ein Sounddecoder bei Fahrstufe 1 schon mal loslegen mit Krach machen.
Höchstgeschwindigkeit programmieren
Hiermit kann die vorbildgerechte Höchstgeschwindigkeit programmiert werden - das empfiehlt sich sehr. Wenn keine Consists geplant sind, dann kann für jedes Triebfahrzeug die vorbildgerechte Höchstgeschwindigkeit einprogrammiert werden. Im Falle von Consists (z.B. Doppeltraktionen bei DB oder besonders bei US-Betrieb) ist es sinnvoll, für das Speed Matching von vornherein alle Triebfahrzeuge mit derselben einprogrammierten Höchstgeschwindigkeit zu versehen. Allerdings mag es unpraktisch sein, unabhängig von der Art des Triebfahrzeugs allen Triebfahrzeugen dieselbe Höchstgeschwindigkeit zu verpassen; besser ist es möglicherweise, verschiedene Klassen zu definieren, z.B. Streckenlok, Rangierlok, Dampflok, usw. - wobei natürlich Consists dann nur noch innerhalb einer Klasse gebildet werden können.
Anfahr- und Bremsverzögerung programmieren
Hierzu gibt es die unterschiedlichsten Ansichten: Manche mögen das gar nicht, manche nur eine Anfahrverzögerung, usw. Ich persönlich mag eine recht ausgeprägte Anfahr- und Bremsverzögerung zur Simulation der Masse des Triebfahrzeugs.
Geschwindigkeitskurve programmieren
Naheliegend ist sicherlich ein linearer Verlauf, wobei allerdings gar nicht klar ist, ob die Zuordnung zwischen Drehwinkel am FRED und DCC-Fahrstufe eine lineare Funktion ist. Möglicherweise findet man einen nichtlinearen Verlauf angenehmer - feinfühliges Regeln bei niedrigen Geschwindigkeiten zum Rangieren, stärkere Zunahme im Bereich der Höchstgeschwindigkeit.
Speed Matching
Unter Speed Matching versteht man, zwei oder mehr Triebfahrzeuge so aufeinander abzustimmen, dass sie bei allen DCC-Fahrstufen gleich schnell fahren - das wird vor allem bei Doppeltraktion und Schubbetrieb gebraucht. Das ist damit nicht direkt ein typisches Kleinbahnthema, obwohl wir dort auch schon aus fahrplantechnischen Gründen solche Fahrten hatten:
Wirklich wichtig ist dieses Thema vor allem für die US-Bahner, da sind Consists aus mehreren Lokomotiven fast die Regel. Natürlich kann man das einfach nach Augenmaß machen - zwei Triebfahrzeuge auf's Gleis stellen und schauen, ob sie gleichschnell fahren und wenn nicht, nachjustieren. Für US-Betrieb ist das zwar auch machbar, aber nicht ideal; dort möchte man im Grunde die Möglichkeit haben, jedes beliebige Triebfahrzeug mit jedem beliebigen anderen Triebfahrzeug (ok, vielleicht nicht gerade mit einem Track Mobile) zu einem Consist kombinieren zu können. Für die Justage nach Augenmaß müsste dann ein Triebfahrzeug als Referenz dienen, nach der alle anderen eingestellt werden. Sinnvoller ist es aber, sich an absoluten Werten zu orientieren, die jedes Triebfahrzeug erfüllen muss. Dazu ist irgendeine Form der Geschwindigkeitsmessung erforderlich. Das können Längenmarkierungen an der Teststrecke sein und eine Stoppuhr dazu - oder auch stationäre oder mobile Messgeräte.
Consists
Dekoder-Feintuning
Das Feintuning könnte/müsste vielleicht als erstes erfolgen, bevor man die ganzen anderen Einstellungen trifft.
Adresse an FREDi mit JMRI und Digikeijs DR5000 zuweisen
Zum Steuern der Lokomotiven wird im FREMO ein FREDi benutzt. Es handelt sich dabei um einen Handregler, der nur eine einzige DCC-Adresse steuern kann. Diese Adresse muss ihm natürlich einmal zugewiesen. Dies kann unter anderem auch mit JMRI geschehen. Da sich die Digikeijs-Zentrale hier etwas speziell verhält, möchte ich das Verfahren, das sich bei mir als tauglich erwiesen hat, hier kurz vorstellen.
Um dem FREDI mit JMRI und der Digikeijs-Zentrale eine Adresse zuzuweisen, wird die LNSV2-Programmierung verwendet. Damit das funktioniert, darf sich der FREDI nicht im Dispatch-Modus (es leuchtet nur die rote LED) befinden.
FREDi in den normalen Modus versetzen
Der FREDi muss zuerst in den normalen Modus versetzt werden. Dazu wird zuerst das Programm DecoderPro von JMRI aufgerufen. Dann wird mit dem Menüpunkt Handlungen/Neuer Fahrregler ein neues Reglerfenster aufgerufen.
In diesem Fenster wird rechts unten bei Adressetafel eine beliebige Adresse angegeben und mit Setze übernommen. Anschließend wird diese Adresse wieder mit Abgeben zum Zuweisen freigegeben.
Auf dem an die Zentrale angeschlossenen FREDi wird dann zuerst die Shift-Taste gedrückt und gehalten. Während die Shift-Taste noch gedrückt gehalten wird, muss dann die rote Stop-Taste betätigt werden. Nun können beide Tasten wieder losgelassen werden. Die drei LED des FREDi sollten nun für ein paar Sekunden blinken und dann nur noch eine der beiden grünen LED leuchten.
Der FREDi ist nun im normalen Betriebsmodus. Allerdings wurde ihm so nur die Adresse "0" zugewiesen und nicht die vorher im Fahrregler ausgewählte Adresse. Dies geschieht nun über LNSV2-Programmierung in DecoderPro.
Neuen Eintrag für FREDi in DecoderPro anlegen
Damit ein FREDi mit DecoderPro programmiert werden kann, muss dafür zuerst ein Eintrag in der Datenbank angelegt werden. Dazu dient der Knopf Neue Lok oben links im Hauptfenster von DecoderPro. In dem neuen Fenster wählt man aus der Liste der Decoder Public-domain and DIY/FREDi/FREDi using LNSV2 aus.
In der rechten Hälfte des Fenster vergibt man unter Lokpark ID einen Namen für den FREDi. Am besten enthält dieser Name auch gleich die hexadezimale ID des FREDi, die man üblicherweise auf einem Aufkleber finden kann, der auf den Prozessor des FREDi geklebt ist.
Diese hexadezimale Adresse muss nun in eine dezimale Darstellung umgerechnet werden und wird dann bei Aktive Adresse' eingetragen.
Anschließend muss der neu angelegte Eintrag durch Drücken des Knopfes Speichere gespeichert und das Fenster geschlossen werden. Ein direktes Programmieren des FREDi aus dem Fenster heraus funktioniert nicht!
Zuweisen einer Adresse an einen FREDi mit JMRI
Um dem FREDi eine Adresse zuzuweisen, muss dieser sich im normalen Betriebsmodus (eine grüne LED leuchtet) befinden.
Zuerst wird der vorher erstellte Eintrag für den FREDi im Hauptfenster ausgewählt und die Programmierung mit dem Knopf Programmieren unten rechts gestartet. Als Modus sollte vorher Betriebsgleis ausgewählt werden.
In dem neu geöffneten Fenster wechselt man auf den Reiter Erweitert. Zuerst sollte mit einem Druck auf den Knopf Alle Seiten auslesen unten im Fenster die Konfiguration des FREDi eingelesen werden.
Bei Adresse der zugewiesenen Lok steht dann eine "0", wenn der FREDi nach dem weiter oben beschriebenen Verfahren in den normalen Zustand versetzt wurde.
Nun kann in diesem Feld die neue gewünschte Adresse eingetragen werden. Bei der Gelegenheit kann, wenn gewünscht, im Feld Anzahl der Fahrstufen auch gleich die Anzahl der Geschwindigkeitsschritte eingetragen werden. Üblicherweise sind das entweder 28 Fahrstufen oder 128 Fahrstufen'.
Anschließend können die neuen Werte mit dem Knopf Änderungen dieser Seite schreiben in den FREDi übernommen werden.
Damit die Änderungen im FREDi aktiv werden, muss dieser nun einmal vom LocoNet getrennt und dann wieder neu verbunden werden! Der FREDi kann nun normal zum Steuern der programmierten Adresse verwendet werden.