rocrail.ini & opendcc: Fahren, Schalten & Rückmelden

http://www.opendcc.de
http://www.bidib.org
Post Reply
OliverSch

rocrail.ini & opendcc: Fahren, Schalten & Rückmelden

Post by OliverSch » 27.04.2010, 14:27

Hallo allerseits,

ich habe eine "Anlage" mit folgender Konfiguration:
- Software rocrail 1.3.0 Air, rev. 982
verbunden über serielle Schnittstelle COM2 mit
- OpenDCC V1.4
dahinter dann Littfinski-Decoder zum Schalten, z.B. M-DEC-DC, SA-DEC-4DC und RM-DEC-88Opto als Rückmelder.

Leider habe ich es noch nicht geschafft, alle drei Funktionen (Fahren, Schalten und Rückmeldung) zum Laufen zu bekommen - vor allem nicht gleichzeitig. So habe ich mehrere rocrail.ini's probiert. Mit einer davon (rocrail.1.ini) kann ich immerhin gleichzeitig Fahren und Schalten - dafür aber dann die OpenDCC-SO-Register nicht erreichen. Wähle ich als lib=OpenDCC funktioniert dies, aber es werden keine Schaltbefehle zur Zentrale übertragen. Und wenn ich Rückmeldung mittels fbmod=2 und fbpoll=true zu aktivieren versuche, gibt es dauernd Receive-Errors.

Ich habe mal meine drei Varianten der rocrail.ini hinzugefügt und bitte um Rat, welche hier zum Ziel führen müsste. Am liebsten erst einmal eine, die Fahren, Schalten und SO-Register unterstützt (ohne Rückmeldung) und dann das Ganze noch einmal mit zusätzlicher Rückmeldung.

Ich bin für jeden Tipp dankbar.
Viele Grüße,
Oliver

and in English:
Hello all,

I have system with the following configuration:
- software rocrail 1.3.0 Air, rev. 982
connected via serial interface COM2 to
- OpenDCC V1.4
followed by Littfinski decoders for switching, e.g. M-DEC-DC, SA-DEC-4DC and RM-DEC-88Opto for feedback.

My problem is that I cannot manage to run all three functions (driving, switching and feedback) successfully - above all not simultaniously. I tried many different rocrail.ini files. With one of them (rocrail.1.ini) I can drive and switch simultaniously - but I can not reach the OpenDCC-SO registers. If I choose lib=OpenDCC I can do so, but no switching commands reach the central station. And if I try to activate feedback by setting fbmod=2 and fbpoll=true, I get transact/receive-errors.

I post my three versions of rocrail.ini and would appreciate your advice, which parameters should be right. If there would be an ini file for driving, switching and configuring SO register (without feedback) and a second version with feedback on top, I would be glad.

Thank you for your help in advance.
Kind regards,
Oliver
You do not have the required permissions to view the files attached to this post.

Pirat-Kapitan
Moderator
Posts: 5035
Joined: 06.02.2010, 15:46
Location: Rösrath bei Köln / Germany

Post by Pirat-Kapitan » 27.04.2010, 15:20

Hallo Oliver !
Du fährst mit rev 1.3 zwar die neueste revision, die ist gegenüber den aktuellen Schnappschüssen aber schon ziemlich veraltet. hast Du es mal mit einem neueren Schnappschuss probiert?

Schöne Grüße
Johannes

OliverSch

Post by OliverSch » 27.04.2010, 17:33

Hallo Johannes !!

Ich habe mal das neueste ausprobiert, was so verfügbar ist:
Version 1.4.999 rev. 1489 snapshot vom 23.03.2010.

Allerdings ist das Verhalten mit meinen drei ini's identisch zur Version 1.30.

Im Anhang noch eine rocrail.ini samt zugehörigem Tracefile. Hier sendet rocrail keine Weichen-Kommandos an die OpenDCC-Zentrale. SO-Register werden aber perfekt via XSOGet ausgelesen. Weitere Ideen sind highly welcome !!

Viele Grüße,
Oliver
You do not have the required permissions to view the files attached to this post.

ron&bram
Posts: 2460
Joined: 11.06.2008, 19:34
Location: Heemskerk, Netherlands

Post by ron&bram » 27.04.2010, 19:12

Hallo Oliver,

Alles funktioniert 100% wie im Rocrail programmiert. Du hasst zwei Zentralen eingetragen, den virtuelle und OpenDCC. Den virtuelle Zentrale ist als erste eingeträgen, für jedes objekt dass kein Eintrag bei Schnittstellenkennung für OpenDCC hat werd den Auftrag zum erste Zentrle, den virtuellen, geschickt, aus Deine Trace:

Code: Select all

OVirtual 0179 turnout 0001 1 straight   
Die Weichen werden also nur virtuell gestellt. Entferne mal den virtuellen Zentrale und schau wie es geht.

Gruss, Ronald

OliverSch

Post by OliverSch » 27.04.2010, 20:51

Hallo Ronald,

das war ein riesiger Sprung nach vorne. Ich kann jetzt fahren, schalten und die SO-Register lesen und schreiben. DANKE !!!
Ich bin übrigens durch folgende Abbildung auf der Seite von Wolfgang Kufer selbst auf die falsche Fährte gekommen: http://www.opendcc.de/elektronik/opendc ... crail.html
Diese zeigt ja, dass neben der opendcc noch die virtuelle Zentrale konfiguriert ist. Wozu kann man denn so eine virtuelle Zentrale gebrauchen ?!

Jetzt hätte ich nur noch einen Wunsch: rückmelden. Ich habe am S-88-Strang 1 der OpenDCC-Zentrale einen LDT-Rückmelder RM-DEC-88 Opto angeschlossen. Der Decoder hat 16 Bit. Ich habe die Bits 2 und 4 an Spannung gelegt, die anderen Bits nicht. Es müsste also so etwas wie 0x0A oder etwas dazu Inverses zurückgemeldet werden. Ich habe in Rockrail 16 einfache Rückmelder mit den Adressen 1 bis 16 angelegt und hätte ein dem o.g. entsprechendes Muster erwartet. Es werden aber alle 16 Rückmelder mit dem gleichen Wert in rocrail angezeigt. Es wird unter dem Strich nichts zurückgemeldet. Das muss nun zwar nicht an rocrail liegen, aber wie kommt man so einem Fehler am besten auf die Spur ?!

Die rocrail.ini, plan.xml und den Trace mit dem nun erreichten Funktionsstand habe ich beigefügt.

Vielen Dank im Voraus,
Oliver
You do not have the required permissions to view the files attached to this post.

ron&bram
Posts: 2460
Joined: 11.06.2008, 19:34
Location: Heemskerk, Netherlands

Post by ron&bram » 27.04.2010, 21:27

Hallo Oliver,

Unter Zahl der angeschlossene S88 Einheiten bitte 2 und nicht 4 eintragen (2 x8 = 16 Eingangen). Alle 16 Melder sind definiert als Aktiv wenn null, also invertiert. So weit ich es weisse, muss ein S88 Eingang mit Masse verbunden werden um zu signalieren. Wie es mit den unterschiedlichen S88 Bussen beim OpenDCC geht, weiss ich nicht, mein TC hat nur einer.

Gruss, Ronald

OliverSch

Post by OliverSch » 27.04.2010, 21:58

Hi Ronald,

blöder Fehler von mir: in der rocrail.ini steht nun fbmod=2.

Bezüglich des Anschlusses ist das ja ein Rückmelder mit Optokoppler-Eingängen. Da zählt, ob am Eingang Strom fließt oder nicht. Ich habe zur Info mal das Anschlussbeispiel von Littfinski hinzugefügt. Die bits 2 und 4 habe ich also ans DCC-Signal angeschlossen, der anderen sind offen.

Damit sollte theoretisch alles richtig sein - leider funktioniert es immer noch nicht. Alle Rückmelder zeigen unverändert das Gleiche an.

Für weitere Ideen bin ich dankbar !!
Viele Grüße,
Oliver
You do not have the required permissions to view the files attached to this post.

OliverSch

Post by OliverSch » 28.04.2010, 18:11

Hallo allerseits !!

Ich habe mir noch einmal Gedanken gemacht, wie ich der Fehlerquelle auf die Spur kommen könnte. Dabei würde ich direkt p50x-Befehle an die OpenDCC senden und den entsprechenden Status empfangen wollen.

Also XEvent(0xC8) an OpenDCC senden -> Statusbyte empfangen -> Wenn Bit2 vom Byte1 gleich 1 ist, gab es eine Änderung bei den Rückmeldern.
Dann XSensor (0x98) mit Modulnummer (also bei mir 0x98 0x01) senden.
Dann sollten drei Bytes zurückkommen, wobei das erste OK und die beiden anderen die 16-Rückmelde-Bits enthalten sollten.

Jetzt meine Fragen:
1. Müsste das so funktionieren (bin gerade 300km von meiner Anlage weg, deswegen kann ich es nicht ausprobieren) ?
2. Macht rocrail das auch so oder wie geht rocrail vor, um die Rückmeldebits abzufragen ?
3. Was ändert dabei fbpoll=true ?
4. Kann man einstellen, wie oft rocrail ein XEvent sendet ?!

Danke und Gruß,
Oliver

Post Reply

Return to “OpenDCC & BiDiB”