Inhaltsverzeichnis
BiDiB in Rocrail
Hier wird die Verwendung der BiDiB-Komponenten unter Rocrail beschrieben. Rocrail wird täglich verbessert und von Fehlern bereinigt. Daher ist es wichtig, bei einem vermeintlichen Fehler, zunächst die aktuelle Version von Rocrail zu installieren.
- Dokumentation →rocrail.net
- Software →Rocrail Download
- Forum →Rocail Forum
Bevor der GBMBoost mit Rocrail (oder einem anderen PC-Programm) betrieben werden kann, muss evtl. die Schnittstelle konfiguriert werden. →Interface Treiber
Man sollte im Automatikmodus keine Module vom BiDi-Bus abstecken. Dies erzeugt viel Kommunikation zwischen den BiDiB-Komponenten und Rocrail, so dass es zu Verzögerungen in der Rocrail-Automatik kommen kann. Daher schaltet Rocrail bei einem „Module lost“ vorsorglich die Booster ab.
→http://wiki.rocrail.net/doku.php?id=bidib-en#automatic_mode
Die Zählweise im BiDiB-System beginnt immer bei 0. Belegtmelder 0-15, Ausgänge 0-7, Accessory 0-19 etc. In Rocrail beginnt die Zählweise aber bei 1. Somit ist bei der Konfiguration von Belegtmeldern, Ausgängen, Accessorys etc. immer 1 zu addieren.
GBMBoost als Zentrale einrichten
In Rocview unter dem Menüpunkt „Datei“ den Punkt „Rocrail Eigenschaften…“ auswählen. Unter dem Reiter „Zentrale“ findet man bei einer frischen Installation von Rocrail eine virtuelle Zentrale. Diese muss entfernt werden.
Dann unten im Dropdownfeld „bidib“ auswählen und „hinzufügen“ klicken.
Mit einem Doppelklick auf den neuen Eintrag „NEW - bidib“ öffnen sich die Einstellungen.
Schnittstellenkennung Name der Zentrale. Dieser Name ist nur relevant, wenn mehrere Zentralen in Verwendung sind. zB eine Zentrale zum Fahren, zusätzlich eine Zentrale zum Schalten und eine weitere Zentrale für das Programmiergleis. Alle diese Zentralen sind als einzelne Zentralen mit ihren Schnittstelleneinstellungen und unterschiedlichen Schnittstellenkennungen anzulegen.
Gerät Hier ist die Schnittstelle einzustellen, an welcher der GBMBoost angeschlossen ist.
Die Punkte Baudrate, CTS und Sub-Bibliothek bleiben auf den vorgegebenen Einstellungen.
Unter dem Reiter „Optionen“ kann (und sollte) man noch den Secure-Acknowledge aktivieren.
Bestätigt Rocrail eine Meldung des GBMBoost innerhalb der angegebenen Zeit nicht, wiederholt der GBMBoost die Meldung. Durch diese „Empfangsbestätigung“ von Rocrail werden die Meldungen auf der Hostschnittstelle auf ein Minimum begrenzt und unnötig doppelte Meldungen vermieden.
Beide Fenster mit OK bestätigen, dann Rocview und Rocrail neu starten. Nun ist der GBMBoost als Zentrale eingerichtet.
Unter dem Menüpunkt „Datei“, „Rocrail Eigenschaften…“ muss der Punkt „verwende bidirektionale Kommunikation“ angehakt sein. Dies ist Default bei einer frischen Installation.
Der Punkt „Gast-Lok erzeugen für Bidi“ erstellt beim Aufgleisen einer RailCom-fähigen Lok automatisch einen Eintrag in der Lok-Liste. „Verwende Bidi-Richtung“ sollte aus bleiben, da die Richtungsmeldung einer Lok mit der internen Richtungslogik in Rocrail kollidieren kann.
Für einen ersten Kommunikationstest kann man die Fahrspannung einschalten. Dazu in der Icon-Leiste auf die Glühbirne klicken.
Sobald die Verbindung besteht, erscheint in der Infoleiste am unteren Rand des Rocview-Fenster bei jeder Statusmeldung des Boosters die Höhe seiner Versorgungsspannung, der aktuell vom Booster gelieferte Strom und die im XMega gemessene Temperatur.
Verwendet man zusätzlich zum Master weitere GBM-Nodes, wird jede Meldung der Booster in der Infoleiste angezeigt. Dies lässt sich aber kaum noch lesen, da die Meldungen relativ schnell hintereinander erfolgen. Abhilfe schafft hier, sich nur die Werte des Masters anzeigen zu lassen. Dazu muss in Rocview unter dem Menüpunkt „Datei“ der Punkt „Rocview Eigenschaften…“ ausgewählt werden. Im Reiter „Allgemein“ im Feld „Booster UID“ ist die ID des Masters einzutragen.
Wie kommt man an die ID des Masters? Man drückt auf dem Master-GBMBoost den ID-Taster. Dies öffnet in Rocrail ein Fenster, das alle Daten des Knoten anzeigt. Unter anderem im Feld „eindeutige Kennung“ die dezimale (rechts) Darstellung der UID. Dieser dezimale Wert ist im Feld „Booster UID“ einzutragen. Der Wert lässt sich in die Zwischenablage kopieren und wieder einfügen.
In den Eigenschaftes des Master-GBM sollte man das Feature „Watchdog“ aktivieren. Sobald die Verbindung zu Rocrail unterbrochen wird (USB, Programmabsturz), schaltet der GBM bei allen fahrenden Loks auf „Fahrstufe 0“. Die Booster bleiben dabei eingeschaltet (kein hartes Abschalten). Rocrail reagiert automatisch auf die aktivierte Option und sendet ständig „Hallo, ich lebe noch“ an den GBM. Sobald diese Meldung nicht mehr eintrifft, stopt der GBM-Master alle Loks. Im Feature ist das Interval einzutragen (default: 20). siehe →GBM
Booster konfigurieren
Da die Infoleiste nur den Zustand eines Boosters informativ anzeigen kann, lässt sich in Rocrail der Boosterstatus des Masters und der Nodes übersichtlich in einer weiteren Ansicht darstellen. Unter dem Menüpunkt „Steuerung“ den Punkt „Gleisspannungs-Steuerung“ auswählen.
Diese Ansicht wird unter dem Menüpunkt „Tabellen“ und „Booster…“ konfiguriert. Um einen Booster einzurichten, drückt man zunächst auf „Neu“. Es wird ein neuer Booster namens „New“ angelegt.
Nun klickt man den Eintrag „New“ an und wechselt auf den Reiter „Allgemein“
Hier kann man dem Booster einen Namen geben und im Feld „Eindeutige Kennung“ muss die UID des Boosters eingetragen werden. Dazu kurz den ID-Taster des Booster betätigen bis das BidiB-Fenster in Rocrail erscheint. Dann kann der Taster direkt nochmals betätigt werden, um das Identify wieder zu deaktivieren. Aus dem geöffneten BidiB-Fenster wird aus dem rechten Feld der dezimale Wert der „Eindeutigen Kennung“ kopiert, das Fenster geschlossen und in der Boosteransicht unter „Eindeutige Kennung“ eingefügt. Die Einstellungen mit Apply übernehmen! Dies wiederholt man mit allen Boostern.
Sind alle Booster angelegt, kann man dieses Fenster schließen und unter dem Menüpunkt „Steuerung / Gleisspannungs-Steuerung“ die angelegten Booster kontrollieren. In der unteren Abbildung ist das Fenster (mit der blauen Markierung Punkt 1) abgebildet. Hier werden alle verfügbaren BiDi-Booster mit Ihren aktuellen Zuständen und Messwerte aufgelistet.
Im Fenster „Blöcke“ der Booster-Eigenschaften (Punkt 2 in der Abbildung), werden die betroffenen Blöcke dem zuvor definierten Booster zugeordnet.
Das hat bei Rocrail folgenden Hintergrund:
Kommt es zu einem Kurzschluss am Booster, ist dem Steuerprogramm somit bekannt, welche Blöcke aktuell nicht versorgt werden und in welchem Bereich es zu einem Kurzschluss mit Abschaltung gekommen ist. Alle betroffenen Blöcke die dem Boosterabschnitt zugeordnet wurden, werden von Rocrail gelb markiert.
Belegtmelder konfigurieren
Im Gleisplan ruft man mit Rechtsklick auf einem Melder dessen Eigenschaften auf.
Im Reiter „Schnittstelle“ trägt man im Feld „Bus“ die UID des Nodes ein, an dem der zu konfigurierende Melder angeschlossen ist. Diese UID kann in bereits erwähnter Weise per ID-Taster ausgelesen und kopiert werden. Im Feld „Adresse“ trägt man die Meldernummer+1 ein. Der erste Melder an einem GBMBoost hat dort die Nummer 0, in Rocrail beginnt die Zahlweise aber bei 1. Nutzt man zB alle drei GBM16T an einem GBMBoost, hat man dort die Anschlüsse 0-47. In Rocrail haben diese die Nummern 1-48. Sind die beiden Felder eingetragen, kann das Fenster mit OK geschlossen und der Melder getestet werden.
Dabei ist darauf zu achten, dass der GBMBoost nur bei einem Statuswechsel eine Nachricht an Rocrail schickt. Steht während der Konfiguration des Melders bereits eine Lok auf diesem Abschnitt, muss diese kurz entfernt und wieder aufgesetzt werden. Dann erscheint der Melder in Rocrail als belegt.
Um eine Railcom-Lok im Block anzeigen zu lassen muss man folgende Anpassung an der Konfiguration vornehmen:
Wer zusätzlich manuell fahren und dabei keine Geisterzugmeldungen auslösen möchte, muss im Block „Akzeptiere BiDi Lok“ ausgewählen.
In der Routen-Konfiguration müssen enter und in Events konfiguriert sein:
Sobald eine Lok mit Railcom-Decoder in den Block fährt wird die Lok (hier BR 120) erkannt:
Lok anlegen und für BiDiB konfigurieren
Für den BiDiB-Betrieb ist bei den Loks ein zusätzlicher Eintrag nötig. Bei den Lokeinstellungen im Reiter „Allgemein“ ist unter dem Punkt „Code“ die Kennung einzutragen, die das BiDi-System an Rocrail meldet. Dies ist beim GBMBoost mit RailCom die Lokadresse. Hört die Lok, wie im Screenshot, auf die DCC-Adresse 16, ist in diesem Feld auch eine 16 einzutragen.
POM via "Programmieren"
POM via "RocPro"
Programmiergleis am Beispiel einer Z1 konfigurieren
Möchte/muss man parallel zum GBMBoost ein Programmiergleis für ältere Dekoder betreiben, muss eine zweite Zentrale mit Programmiergleisanschluss angelegt werden. Hier zeigen wir das am Beispiel einer opendcc Z1.
Zunächst ist in Rocview unter „Datei“, „Rocrail Eigenschaften…“ die Z1 als zusätzliche Zentrale einzutragen. Dazu wählt man im Dropdown „opendcc“ aus und klickt hinzufügen. Durch einen Doppelklick auf den neuen Eintrag gelangt man zu den Eigenschaften der Z1.
Hier ist nun wichtig, einen eindeutigen Namen zu vergeben. Ich habe „Z1“ gewählt. Ausserdem muss die Schnittstelle (Gerät) und die Baudrate der Z1 konfiguriert werden. Weitere Einstellungen sind noch nicht möglich, da Rocrail noch keine Verbindung zur Z1 aufgebaut hat - es sind hier aber auch für reinen Programmiergleisbetrieb keine weiteren Einstellungen nötig.
Nachdem man das Fenster mit OK geschlossen hat, wechselt man noch zum Reiter „Allgemein“ und trägt im Feld „PT IID“ den zuvor vergeben Namen ein. In meinem Beispiel wieder „Z1“. Dann das Fenster mit OK schliessen und Rocrail neu starten.
Nach dem Neustart baut Rocrail eine Verbindung zur Z1 auf und man kann im Reiter „Programmieren“ eine Lok auf dem an der Z1 angeschlossenen Programmiergleis bearbeiten. Hierzu ist im oberen Bereich keine Einstellung nötig. Es kann direkt eine CV gelesen oder geschrieben werden.
Rocrailnutzer mit einer gültigen Lizenz können hier den wesentlich komfortableren RocPro-Dialog benutzen. Es sind die markierten Felder unkonfiguriert zu lassen. Es greift RocPro beim Programmieren automatisch auf die Z1 zu.
BiDiB-Tool über RocRail verbinden (Tunnel)
Das Steuerungsprogramm RocRail baut über den COM-Port (USB) eine Verbindung zur Hardware auf und verwaltet die komplette Kommunikation vom PC zum BiDiBus. Möchte man jetzt eine Änderung an der Hardware über das BiDiB-Tool durchführen, ist keine Trennung vom Steuerungsprogramm mehr notwendig, weil das BiDiB-Tool über einen TCP-Port 62875 seine Anfragen an das Steuerungsprogramm stellt und ebenfalls vom Steuerungsprogramm die Antwort erhält – ein Tunnel ist erschaffen zwischen BiDiB-Tool und dem Steuerungsprogramm RocRail.
Es gibt noch einen positiven Nebeneffekt: Das BiDiB-Tool muss nicht lokal auf dem gleichen Rechner laufen, sondern kann auch auf einem anderen Rechner bzw. Notebook ausgeführt werden. In diesem Fall wird nur die IP-Adresse von dem Rechner benötigt, auf dem das Steuerungsprogramm ausgeführt wird.
Die Vorgehensweise:
In RocRail müssen Sie die Kommunikation deaktivieren und dazu den Haken entfernen (Steuerung / Kommunikation aktivieren).
Jetzt ist der Tunnel im Steuerungsprogramm aktiv, wenn kein Häkchen mehr angezeigt wird.
Der Port ist bei RocRail nicht veränderbar und hat den fixen Wert von 62875. Diese Deaktivierung muss auch nach jedem Neustart vom Steuerungsprogramm RocRail neu gemacht werden.
Einstellungen im BiDiB-Wizard:
In den Einstellungen vom BiDiB-Wizard oder BiDiB-Monitor wird jetzt nicht mehr unter Verbindungen (1.) der COM-Port ausgewählt, sondern Seriell-über-TCP (2.). Hier im Feld (3.) muss die gleiche Portnummer vom Steuerungsprogramm stehen (TCP-Port 62875). Ist das BiDiB-Tool und das Steuerungsprogramm auf dem gleichen Rechner, kann als IP-Adresse der Begriff „localhost“ verwendet werden. Wird das BiDiB-Tool auf einem anderen Rechner im gleichen Netzwerk verwendet, wird in dem Fenster (4.) die IP-Adresse von dem Rechner eingetragen auf dem das Steuerungsprogramm läuft.
Einstellungen im BiDiB-Monitor:
Verwenden Sie auf dem Rechner des Steuerungsprogramm eine statische IP-Adresse (feste IP-Adresse). Bei einem IP-Wechsel nach einem Neustart wird nicht automatisch erkannt und muss manuell nachgetragen werden.
OneControl / LightControl in Rocrail
Accessory am Beispiel Servoweiche
In der OneControl / Lightcontrol müssen die Makros und Accessorys nach →Anleitung angelegt und getestet sein. Um diese Accessorys von Rocrail aus zu starten, sind in den Eigenschaften der Weiche im Reiter „Schnittstelle“ folgende Einträge nötig:
- „Bus“ - UID der OneControl / LightControl (per ID-Taster auslesen und kopieren). Einfacher ist es, anstelle des „Bus“ im Feld „UID-Name“ den Namen (benutzerdefinierter Name) der Baugruppe angeben. Dazu muss man mit dem BiDiB-Wizard zuvor einen sprechenden Namen vergeben (max. 24 Zeichen).
- „Adresse“ - Nummer des Accessory + 1
- „Port“ - auf 0 belassen
- „Einzel-Ausgang“ - Häkchen an
- „Zubehör“ - Häkchen an
Damit Rocrail auf das Ende des Accessory wartet, ist im Reiter „Verkabelung“ der Punkt „Feld Ereignisse Verwenden“ anzuhaken.
Klickt man nun auf die Weiche, startet Rocrail das Accessory und hinterlegt die Weiche Rot. Dies bedeutet Weichenlage unklar, Fahrstrasse gesperrt. Am Ende des Accessory bekommt Rocrail eine Meldung, dass die Weiche gestellt wurde. Meldet die OneControl / LightControl, dass die Weichenlage vom Decoder getestet wurde und OK ist, wird das Rot im Weichen-Icon entfernt und die Fahrstrasse frei gegeben. Sollte man keine „echte“ Lageüberprüfung verwenden, sendet der Decoder ebenfalls ein OK. Sollte der Decoder jedoch feststellen, dass die Lage nicht dem erwarteten Ergebnis entspricht, bleibt das Icon Rot und die Fahrstrasse gesperrt.
Damit der rote Weichen-Hintergrund angezeigt wird muss in Rocview im Menü Ansicht der Menüpunkt „Zeige gesperrte Weichen“ aktiviert sein.
Um das Umlegen der Weiche zu vermeiden, wenn ein Fahrzeug auf ihr steht, kann die Weiche mit einem Belegtmelder geschützt werden.
Dazu legt man die DCC-Versorgung der Weiche / Weichenpaar / Weichenstrasse an einen Anschluss des GBM16T. In Rocrail konfiguriert man einen Rückmelder und trägt diesen in der Weiche ein.
Damit dieser Rückmelder im Gleisbild nicht stört, kann er auf unsichtbar geschaltet werden.
Siehe auch:
Accessory am Beispiel 3-Wegweiche mit 2 Antrieben
Eine 3-Wegweiche mit 2 Antrieben muss in Rocrail als 2 einfache Weichen konfiguriert werden. Dadurch muss man 2 Accessory verwenden (für jeden Antrieb eines), statt wie in BiDiB nur ein einzelnes Accessory für beide Antriebe.
Die Makros wurden mit dem NodeScript „Dreiwegweiche, Fleischmann Profi (Doppelspule) an OneControl“ erstellt.
Konfiguration in Rocrail:
- Adresse 1 wird als Accessory 0 verwendet.
- Adresse 2 wird als Accessory 1 verwendet.
Wichtig war bei meinen Tests eine Schaltzeit von 100ms (hab nicht weiter runter getestet), sonst hat ein Antrieb teilweise nicht geschaltet. Im Tab Verkabelung noch „Feld Ereignisse verwenden“ aktivieren.
Weiche mit DCC-Decoder schalten
Um eine Weiche mit einem DCC-Decoder zu schalten muss in Rocrail folgendes konfiguriert werden:
- Im Bus wird die UUID des Knoten mit dem DCC-Generator (GBMboost Master resp. IF2) eingetragen.
- Die Adresse wird direkt in das Feld Adresse eingegeben, der Port bleibt immer 0.
- Das Protokoll muss auf NRMA-DCC gestellt werden.
- Checkbox Zubehör aktivieren.
Vergleich der Adressierung zwischen Wizard und Rocrail
In Rocrail muss immer die direkte Adresse eingetragen werden. Falls die Decoder-Adresse mit dem BiDiB-Wizard „gelernt“ wurde und im Wizard die Adressierung nach RCN-213 aktiviert war (default), dann muss für die Adresse in Rocrail mit einem Offset von „+4“ angegeben werden.
Im obenstehende Beispiel wurde der Decoder mit Adresse „1“ nach RCN-213 programmiert. Der erste Port des Decoder muss daher in Rocrail mit der Adresse „5“ (1 + 4) angesteuert werden.
Direktes Schalten eines DCC-Weichendekoders über Ausgang-Symbol
Um einen DCC-Weichendekoder über das Ausgang (Symbol Ausgang) zu schalten, muss die UniqueId der BiDiB-Baugruppe mit den DCC-Generator (GBMboost Master, IF2 oder mc2) im Feld Knoten-ID eingetragen werden, sowie das Protokoll auf NMRA-DCC
umgestellt werden.
Weiters muss neben der DCC-Adresse im Feld Adresse
die Option Weiche
und die Checkbox Zubehör
selektiert sein.
Falls der Ausgang invertiert schaltet, muss zusätzlich die Option Umkehren
angewählt werden.
Direktes Schalten eines Ausgangs an BiDiB-Baugruppe
Um direkt einen Schaltausgang an einer BiDiB-Baugruppe (z.B. LightControl, OneControl) mit dem Symbol Ausgang zu schalten, muss die UniqueId des Knoten im Feld Knoten-ID angegeben werden und im Feld Adresse die Nummer des Ausgang + 1
eingetragen werden, das Protokoll bleibt auf Default
. Die Optionen Weiche
und Zubehör
dürfen nicht selektiert werden, damit die korrekten BiDiB-Befehle erzeugt werden.
Falls der Ausgang invertiert schaltet, muss zusätzlich die Option Umkehren
angewählt werden.
In Beispiel unten wird der Schaltport 12 auf einer OneControl geschaltet, deswegen Adresse 13
.
MoBaLiSt in Rocrail
Accessory am Beispiel Signal
Es sollen zwei Signale, die an einer MoBaLiSt angeschlossen sind, per Accessory
von Rocrail gesteuert werden. Dabei spielt es grundsätzlich keine Rolle, welche Art der Baugruppe verwendet wird, weil die Ansteuerung über Accessory
erfolgt.
Signal 1 ist an den Ausgängen 11 (rot) und 12 (grün) angeschlossen, Signal 2 an den Ausgängen 16 (rot) und 17 (grün) angeschlossen. Um ein Dimmen der LEDs zu erreichen, sind die Werte „Vorglühen“ und „Nachleuchten“ durch probieren angepasst.
Im Wizard werden für jedes Signal zwei Makros erstellt.
Diese Makros werden zwei Accessory zugeordnet.
Mit einem Rechtsklick auf das Signal wählt man die Eigenschaften
aus.
Im Reiter Schnittstelle
muss in Bus
die UID der MoBaLiSt eingetragen werden.
Da die MoBaLiSt keinen ID-Taster auf der Platine hat, muss das Identify durch Brücken des Prog-Jumpers ausgelöst werden!
In das Feld Adresse
wird die Nummer des Accessory
+1 eingetragen.
Das Feld Port
bleibt auf 0.
Wir wollen Begriffs-Nummern
verwenden und Accessory
(„Zubehör“).
Das Protokoll muss auf Default
stehen.
Im Reiter Einzelheiten
ordnen wir den Signalbildern die Begriffe zu. Grün=Begriff_0, Rot=Begriff_1
Für das Signal 2 werden die gleichen Einstellungen benötigt. Nur die Nummer des Accessory
und damit der Eintrag im Feld Adresse
unterscheidet sich.