Jump to content

Rocrail und das 3D-Modellbahn Studio


Neo

Empfohlene Beiträge

Wiki-Artikel.Dieser Thema behandelte die Entwicklung des RocStudios zur Steuerung des 3D-Modellbahn Studios über Rocrail. Nachdem das RocStudio nun veröffentlicht ist, gibt es die offiziellen Informationen sowie Downloads im entsprechenden

Hallo,

vor etwa einem Jahr hatte Franz eine interessante Idee, und zwar die Verbindung der Modellbahn-Steuersoftware Rocrail mit dem alten Eisenbahnplaner zur Steuerung der virtuellen Anlagen über ein externes Steuerprogramm. Im alten Forum gab es dazu bereits einige Diskussionen und Praxis-Beispiele (z.B. hier oder hier). Das Thema verschwand allerdings wieder, als ein paar Probleme mit der alten Schnittstelle des Planers auftraten und nie zufriedenstellend gelöst werden konnten. Da das neue 3D-Modellbahn Studio eine modernere Schnittstelle besitzt, habe ich mich in Rücksprache mit Franz dem Thema erneut zugewendet und ein neues Schnittstellenprogramm geschrieben, mit dem ich die Diskussion um Rocrail und das 3D-Modellbahn Studio neu aufkommen lassen will, da ich denke, dass sich die Probleme lösen lassen und die neuen Möglichkeiten das Studio bereichern könnten.

Im Anhang findet ihr eine erste Testversion des "RocStudios", eine in einem frühen Teststadium befindliche Steuersoftware, die Rocrail mit dem 3D-Modellbahn Studio verbindet. Die Software macht nichts weiter, als dass sie Zustandsänderungen von Signalen, Weichen und Loks von Rocrail an das 3D-Modellbahn Studio weiterleitet sowie Belegtmeldungen vom Studio zurück an Rocrail. Ladet euch die Zip herunter und geht folgendermaßen vor:

  1. Installiert Rocrail in der aktuellen Version (Download z.B. hier)
  2. Kopiert die beiden Dateien "occ.xml" und "plan.xml" aus der Zip unter "Rocrail" in das Verzeichnis "C:\Users\<Benutzername>\Documents\Rocrail" (überschreibt die vorhandenen Dateien. Falls das Verzeichnis noch nicht existiert, startet einmal Rocrail und beendet es wieder).
  3. Startet nun den Rocrail Server und anschließend Rocview (unter View - Languages könnt ihr die Software auf Deutsch stellen)
  4. Startet nun das 3D-Modellbahn Studio und ladet die Anlage "Rocrail-Test" unter "Experimentelle Anlagen" (die Anlage habe ich mir aus dem alten Forum geborgt)
  5. Startet die RocStudio.exe aus der Zip (das Steuerprogramm). Klickt dort auf "Verbinden", um Rocrail und das 3D-Modellbahn Studio zu verbinden.
  6. Klickt in Rocview auf "Automatik" - "Automatikmodus" und anschließend auf "Automatik" - "Alle Loks starten" -> Rocrail steuert nun nach einem Zufallsprinzip die Anlage

Rocstudio.jpg

Bei der Anlage sowie dem RocStudio handelt es sich zunächst um einen Test, bei dem es um die grundlegenden Funktionen geht und mögliche Probleme erkannt werden sollen. Jeder Interessent ist also eingeladen, eigene Anlagen über Rocrail zu steuern und über mögliche Hürden in diesem Beitrag zu diskutieren.

Für den reibungslosen Ablauf sind ein paar Punkte zu berücksichtigen, die im Laufe der Zeit zunächst hier aufgelistet und später in einem übersichtlichen Wiki-Artikel hinterlegt werden:

  • Die Gleisgeometrie im Studio muss den Standard-Vorgaben entsprechend, speziell was die Schaltlogik betrifft. Eine Übersicht gibt es in diesem Beitrag. Die Gleise im Online-Katalog wurden bereits von Henry untersucht und entsprechend angepasst. Wer jedoch eigene Gleissysteme nutzt, muss diese womöglich anpassen.
  • Das RocStudio arbeitet nur mit den Namen der Objekte, um diese zwischen dem Modellbahn Studio und Rocrail zu synchronisieren. Trotzdem müssen in Rocrail Adressen und Ports sauber vergeben werden, damit Rocrail die Objekte überhaupt schaltet (Dreiwegweichen besitzen in der Realität z.B. zwei Motoren, benötigen daher auch zwei verschiedene Ports). Wichtig ist auch, dass Adressen nicht doppelt belegt werden, da sonst eine Weiche eine andere schaltet. Doppelbelegungen können in Rocview über den Befehl "Datei - Analysieren - Plankonsistenz prüfen" ermittelt werden.
  • Die Vorwärts-Richtung einer Lok muss in Rocrail exakt angegeben werden, damit diese nicht verkehrt herum fahren. Die Richtung einer Lok ergibt sich dabei aus verschiedenen Parametern, wie z.B. der Blockrichtung und einer Ausrichtung der Lok ansich. Weiter Details gibt es im Rocrail Wiki.

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich kann's nicht glauben. Damals saß ich vor dem Monitor und wartete wie lange es dauert bis mein Programm den ersten Stolperer macht. Und jetzt... Läuft und läuft und läuft und....

Nun ist es möglich, einen zufallsbedingten Einsenbahnverkehr, Verkehr nach Fahrplan oder einfach nur das manuelle Steuern der Weichen, Signal und Loks mit einem Programm zu realisieren mit dem schon sehr viele "richtige" Modellbahnanlagen gesteuert werden. Und das als Freeware.

Wer sich damit ein bisschen näher beschäftigen will und, weil Rocrail manchmal ein bisschen "anders" ist:

Hier http://wiki.rocrail.net/doku.php?id=stepbystep-de findet ihr eine übersichtliche Schritt für Schritt Anleitung.

HG
Franz

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich weiss noch, dass es mir damals gelungen ist die Loks langsam Anfahren und Bremsen zu lassen. Erreicht habe ich dies (soweit ich mich noch erinnern kann) durch die Verwendung der Werte der Loks. Siehe hier:
 Bild142.jpg

Wenn ich die Beschreibung auf der Rocrail Seite richtig verstanden habe muss ich die Markierung bei "Lastregelung" heraus nehmen um Rocrail zu sagen, dass die Lok keine eigene Lastregelung hat und der Eintrag bei "V_Step" steht für die Millisekunden die Rocrail beim Beschleunigen wartet bevor es in die nächst höhere Fahrstufe schaltet. Sehe ich das falsch oder übegeht Neo's RocStudio diese Einstellung?
HG
Franz

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Franz,

schön dass es bei dir so gut funktioniert, aber ich denke die Sonderfälle werden noch kommen bei denen das RocStudio versagt :) Aber dafür ist es ja eine Testversion.

@Henry
Dazu kann ich nicht viel sagen, aber im Rocrail-Forum scheint das auch schonmal aufgetreten zu sein. Ich glaube es handelt sich hier um einen Fehlalarm von Norton.

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo zusammen,

ich sehe schon - habe bezüglich RocRail schon wieder einiges "verlernt" :(.
Insgesamt lief die Demo-Anlage auf Anhieb. Nur meine ich mich zu erinnern, dass ich mit dem alten RocRail-Anschluss von Franz tatsächlich "weiche" Anfahrten und Bremsungen hatte. Aber wie ich Neo kenne, wird das demnächst auch noch kommen. Jedenfalls kann ich meinerseits bestätigen, dass die von Franz oben gezeigten "Lok"-Einstellungen auch bei mir nicht wirken.

Jetzt muss ich wohl noch die beiden anderen RocRail-Projekte wieder aus der Schublade ziehen (meine "Achterbahn-Anlage" und die "18-Zug-Anlage"), bei denen ich damals hoffnungslos gescheitert war.

Viele Grüße
BahnLand

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo zusammen, hallo Neo,

ich habe erfolglos versucht einen neuen Rocrail-Plan zu erstellen. Habe alles mögliche versucht. Mein letzer Versuch war:

Aktion: Ich habe ich in dem Rocrail-Plan der in Neo's Download enthalten ist eine Weiche umbenannt damit der Name mit dem Namen einer Weiche auf meinem Studio-Plan entspricht.

Ergebnis: Die Weiche auf meiner Studio-Anlage ließ sich schalten.

Aktion: Danach legte ich im Rocrail-Plan eine neue Weiche an mit dem Namen einer anderen Weiche auf meinem Studio-Plan

Ergebnis: Die neue Weiche ließ sich nicht schalten was zu erwarten war denn Rocrail benötigt wenigstens einen Port. Die Weiche die ich zuvor umbenannt hatte ließ sich nach wie vor schalten.

Aktion: Ich gab der neuen Weiche eine Adresse und eine Port

Ergebnis: Die neue Weiche ließ sich immer noch nicht schalten UND die Weiche, die bisher funktionierte, ließ sich auch nicht mehr schalten.

Ich denke, damit habe ich meine Möglichkeiten ausgeschöpft und ich hoffe, Neo kommt dahinter woran es liegt.

HG
Franz

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Franz,

ich habe im ersten Beitrag eine neue Version zur Verfügung gestellt. Damit funktioniert das Schalten der Weichen von deinem Plan. Ursache des Problems war eine Besonderheit bei der Initialisierung der Weichen in Rocrail. Weichen, die noch nie geschaltet wurden, senden kein "State" an das RocStudio, wodurch es intern zu einem Fehler kam und das Kommando ignoriert wurde. Dieser Sonderfall wird nun berücksichtigt.

Viele Grüße,

Neo

PS: Dreiwegweichen funktionieren noch nicht korrekt, es gibt hier noch Rückkopplungen. Mit der nächsten Version werden auch diese Weichen korrekt funktionieren.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Franz,

Änderungen an Dreiwegweichen werden korrekt erkannt und auch an das Studio weitergeleitet. Da Rocrail jedoch für eine Änderung zwei Mitteilungen sendet (erst auf gerade, dann auf links/rechts), kommt es auch zu zwei Events im Studio, die dann wieder zurück nach Rocrail gesendet werden und zu Problemen führen. Ich werde hier noch einen Filter einbauen der verhindert, dass Ereignisse im Studio, ausgelöst durch Rocrail-Kommandos, keine erneuten Rocrail-Ereignisse auslösen (es gibt zwischen Studio und Rocrail ja eine bidirektionale Verbindung).

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Neo,

bin begeistert. Nun schalten alle Weichen... bis auf die Dreiwegweichen. Da auf meiner Testanlage der Schattenbahnhof sowohl bei der Einfahrt als auch bei der Ausfahrt eine Dreiwegeweiche hat bin ich mit den ersten Versuchen in Sachen Automatokbetrieb für den Moment noch ausgebremst.

Um die Zeit sinnvoll zu nutzen habe ich von jedem Studio-Rollmaterial das einen Motor besitzt einen Screenshot angefertigt, in das PNG-Format umgewandelt und auf die geforderte Höhe von 80 Pixel gebracht. Somit ist es jetzt möglich in Rocrail Bilder "unserer" Loks einzublendn. Dazu muss der Inhalt der beiliegenden ZIP-Datei nur in das Verzeichnis "C:\Benutzer\Benutzername\Eigene Dokumente\Rocrail\images" kopiert werden.

HG
Franz

 

 

Rocrail_lokbilder.zip

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Neo und Franz,

nach einigen Versuchen und Regenerierung des Gehirnschmalzes ist es mir gelungen einen kleinen Kreis mit Ausweiche

zum gehen zu bringen. Es ist mir allerdings schleierhaft wie  Neo in  "RocStudio" der Plan mit Fahrstraßen ohne definierte

Rückmelder zum laufen gebracht hat. Sei es drum egal, jedenfalls geht bei mir auch die Geschwindigkeitsreduzierung, also

das langsame fahren in den Blöcken bei Halt.

 

HG

Gartenbahner

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Gartenbahner,

ja, das Verringern der Geschwindigkeit beim Einfahren in einen Block funktioniert. Was ich noch nicht geschafft habe ist das langsame Herunterregeln der Geschwindigkeit wenn ich auf Stop klicke. Die Lok bleibt dann immer schlagartig stehen. Für diese Funktion ist Rocrail eigentlich gerüstet indem ich bei den Eigenscften der Lok einstellen kann, dass die Lok keine eigene Lastregelung besitzt. Rocrail müsste dann eine Lastregelung simulieren indem zwischen jeder neuen Fahrstufe eine Pause einlegen wird. Wie lange diese Pause dauern soll kann ich mittels eines Wertes in Zehntel Sekunden einstellen.

HG
Franz

 

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Franz, Gartenbahner und Neo,

zur "Gegenkontrolle" habe ich mir mal meine alte Demo-Anlage (entspricht der Anlage von Neo, jedoch mit etwas längeren Zügen) als zusätzliches RocrRail-Projekt hereingeladen. Mit der neuen RocStudio-Version von Neo hatte ich keine Schwierigkeiten mehr, die Weichen und Signale über den RocRail-Gleisplan zu schalten. Allerdings fuhren "meine" Züge anfangs in die falsche Richtung los (ich weiß nicht, warum), sodass ich sie um 180° drehte. Danach konnte ich die Züge sowohl von Hand (verschieben von einem Block in einen anderen) als auch über die Vollautomatik steuern. Allerdings habe ich es trotz der unterschiedlichen Geschwindigkeits-Einstellungen nach den Angaben von Franz weiterhin nicht geschafft, dass die Züge langsam anfahren oder weich abbremsen (beides geschieht mit einem "Ruck").

Danach habe ich versucht, mein ehemaliges RocRail-Projekt für die 18-Zug-Anlage zu laden. Auch hier konnte ich sowohl die Weichen als auch die Signale über den RocRail-Gleisplan erfolgreich schalten. Allerdings musste ich mehr als die Hälfte aller Weichen "umpolen", weil sie "in echt" genau anders herum schalteten als im RocRail-Gleisplan. Dieses Phänomen gab es auch schon früher und lässt sich dadurch erklären, dass RocRail bei den Gleisplan-Weichen nicht erkennt, ob die "Weichengerade" in der Horizontale/Vertikale oder Diagonale liegt. Deshalb gibt es bei RocRail in den Weichen-Eigenschaften auch die Möglichkeit, die Schaltung genau umzukehren (also "umzupolen"). Dies hat aber bei den RocRail-Versuchen vor etwa einem Jahr nicht funktioniert, weshalb ich die Umpolung bei den Weichen in der MBS-Anlage (im Gleiseditor) vornehme, indem ich die Fahrwege 1 und 2 der Weichen vertausche. Danach werden die Weichen über den RocRail-Gleisplan korrekt gestellt.

Beim Versuch, die ersten Fahrten "von Hand" anzustoßen (Zug im Rocrail-Gleisplan von dem durch ihn belegten Block in einen angrenzenden leeren Block verschieben), bin ich allerdings kläglich gescheitert: Anstelle den im Gleisplan ausgewählten Block "anzuvisieren", wählt RocRail einen ganz anderen Zielblock aus (gelbe Einfärbung), legt auch den Weg dorthin fest, aber schaltet weder die Weichen in der MBS-Anlage noch wird der Zug tatsächlich gestartet.

Da ich gerade mitten drin bin, meine Eurofima-Wagen LoD-fähig zu machen, habe ich momentan nicht die Geduld und Ausdauer, nebenher auch noch nach den möglichen Ursachen in meiner RocRail-Definition zu fahnden, wegen denen ich die Anlage momentan nicht zum Laufen bringe. Deshalb stelle ich Euch für den Fall, dass Ihr Zeit und Lust habt, Euch mit dieser RocRail-Konfiguration zu befassen, die "RocRail-angepasste" Anlage selbst (mbp-Datei) und die RocRail-Konfigurationsdateien für die Anlage (18-Zug-Anlage.xml (anstelle der Datei plan.xml), occ.xml, rocrail.ini (für den Server) und rocview.ini (für den Viewer)) in der beigefügten ZIP-Datei zur Verfügung. Diese Dateien müssen in das RocRail-Verzeichnis übernommen werden (bitte die anderen xml- und ini-Dateien vorher sichern :)). Falls Ihr keine Zeit und/oder Lust habt, macht es auch nichts. Dann werde ich mich eben erst später damit wieder auseinandersetzen (ich muss mir viel wieder neu aneignen, was ich seit vorigem Jahr schon wieder vergessen habe).

Viele Grüße
BahnLand

 

 

Rocstudio_18-zug-anlage.zip

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

im ersten Beitrag steht nun eine neue Version zur Verfügung, bei der nun auch die Dreiwegweichen funktionieren. Zusätzlich habe ich eine Liste mit Punkten angefangen, die wichtige Erkenntnisse auflisten, damit Rocrail und das Studio korrekt synchronisiert werden können.

@Franz
Danke für die Bilder, ich werde sie mit der finalen Version im Wiki mit verlinken.

@Gartenbahner
Was meinst du mit "ohne definierte Rückmelder"? Rückmelder gibt es ja in der Beispielanlage.

@BahnLand
Die Ausrichtung der Loks ist nicht ganz trivial. Im ersten Beitrag habe ich den Rocrail-Wiki-Artikel verlinkt, der verdeutlicht, von welchen Parametern die Richtung alles abhängt. Bei deiner Beispielanlage, die auch als Referenz für die Test-Anlage im ersten Beitrag diente, waren die Loks teilweise nicht korrekt ausgerichtet.

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Neo,

wenn man in Rocrail seine Fahrstraßen automatisch analysieren lässt, müssen Rückmelder (enter, in, pre2in usw.) und Adressen definiert sein, sonst geht der Analyser nicht.

Ich habe mal eine kleine Testanlage in den Anhang gegeben bei der einige Möglichkeiten bei Rocrail mit eingearbeitet sind.

- Ausnutzung der Geschwindigkeitsanpassung in Blöcken und Fahrstraßen

-verzögertes Abfahren nach Fahrt frei am Signal(hier bl1 5 sek und bl2 7 sek)

-Blockwartezeit fest eingestellt, hier 10 Sekunden

leider geht das langsame Anfahren der Loks nicht da dies sonst vom Dekoder  geregelt wird(hochschalten der Fahrstufen)

Ich könnte mir auch vorstellen, dass man nach Touren oder Fahrplan fahren lassen kann.(müsste auch schon gehen) ob man

auch Bahnschranken(Animationen) mit einbinden kann habe ich noch nicht ausprobiert, im EBP 13 ging es nicht..

 

Gruß

Gartenbahner

 

Entschuldigung Start mit Doppelklick auf E2 im Block und vorher natürlich Automatik anschalten.

Roctestanlage.zip

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

das RocStudio hatte noch einen Fehler bei der Auswertung der Lok-Fahrtrichtung, der mit Version 0.5.0.0 behoben wurde. Es kann daher sein, dass ihr die Position in Rocrail umdrehen müsst (rechte Maustaste auf den Block mit der Lok und dann auf "Ändern der Platzierung" bzw. "Einfahrtseite des Blocks tauschen").

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

mit der neuesten Version wurde ein Geschwindigkeits-Multiplikator in den Einstellungen eingeführt, mit dem die Lok-Geschwindigkeiten angepasst werden können, da die Geschwindigkeiten in Rocrail keinem bestimmten Standard folgen und daher unterschiedlich interpretiert werden. Weiterhin werden nun auch Loks mit prozentualer Geschwindigkeit korrekt verarbeitet, und zwar relativ zu der Maximalgeschwindigkeit der Loks im Studio (750 mm/s).

Durch den Auto-Connect-Modus kann das RocStudio nun ununterbrochen laufen und verbinden sich automatisch, sobald beide Programme laufen. Neu ist auch die Schaltfläche "Synchronisieren". Damit kann der Zustand im Studio wieder auf den Rocrail-Zustand zurückgebracht werden (außer Loks), sinnvoll z.B., nachdem man ein anderes Projekt geladen hat.

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Interessierte,

bin dahinter gekommen was das langsame anfahren und abbremsen anbelangt. Dies funktioniert nur wenn bei der Schnittstelle der Lok der V_Modus auf Prozent gestellt wird. Dann den Haken bei Lastregelung entfernen denn erst dann kann die Anzahl der V_Steps eingegeben werden.

Bild364.jpg

HG
Franz

PS Mit dem Wert V_Step stelle ich ein wie lange Rocrail wartet bis es die nächste Fahrstufe einschaltet. Ein Wert von 1 bedeutet 100 ms.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

nachdem das RocStudio nun einen "produktionsreifen" Stand erreicht hat, haben Franz und Ich ein Wiki-Artikel erstellt, der die Einrichtung von Rocrail und dem 3D-Modellbahn Studio erläutert. In diesem Wiki-Artikel sind dann auch immer die aktuellen Downloads verlinkt. Dieses Thema hier kann weiterhin dazu genutzt werden, um Erweiterungen und Verbesserungen an RocStudio zu diskutieren.

Vielen Dank an alle Tester,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo zusammen

Ich habe folgende Situation:

Rocrail.png

W3 ist eigentlich eine Linksweiche. Um den Gleisplan aber möglichst naturgetreu wiederzugeben (Diagonalen) musste ich in Rocrail eine Rechtsweiche einzeichnen. Damit sind die Weichenlagen in Rocrail und dem Modellbahnstudio immer entgegengesetzt.

Gibt es eine Möglichkeit, die Verkabelung mit der Weiche umzudrehen?

LG

Brummi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Brummer,

auch wenn's Dir im ersten Moment unlogisch erscheint: Lass die Weiche als Rechtsweiche, gehe in den Gleisseditor und mach aller genau verkehrt herum. Also das was in der unteren Spalte von Länge 1 steht kopiere in die obere Spalte und das was in der oberen Spalte stand schreibe in die untere Spalte. Das gleich mit Radius und Winkel. Dann stimmt's.

HG
Franz

 

Bild372.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...