gui-multi-de
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
Next revision | |||
— | gui-multi-de [2018/11/12 08:56] – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ======Mehrere Instanzen von Rocview====== | ||
+ | [[german|{{ | ||
+ | [[german|Inhalt]] -> [[german# | ||
+ | * [[gui-reports-de|Dokumentation]] | ||
+ | |||
+ | // \\ // \\ | ||
+ | |||
+ | **Aktivieren von mehreren Rocviews für einen besseren Überblick.** | ||
+ | |||
+ | =====Windows / Linux===== | ||
+ | Größere Anlagen oder einzelne Module können in Rocrail zur besseren Übersicht auf mehrere Ebenen verteilt werden. Wenn Rocview nur einmal gestartet wird, ist hierbei jedoch erforderlich, | ||
+ | Die Client/ | ||
+ | Dieses Kapitel beschreibt Schritt für Schritt, wie mehrere Instanzen von Rocview gezielt aufsetzt werden. | ||
+ | |||
+ | Als Beispeil dient die Konfiguration von vier verschiedenen frei verschiebbaren Fenstern: | ||
+ | |||
+ | * Fenster 1: Lokomotiven-Tabelle | ||
+ | * Fenster 2: Modul 1 (Buchrain) | ||
+ | * Fenster 3: Modul 2 (Grabtief) | ||
+ | * Fenster 4: Schalttafel (Ebene mit verschiedenen Ausgängen zum Schalten von Licht, etc.) | ||
+ | |||
+ | Die hier beschriebene Umsetzung erfolgt auf einem Rechner, kann aufgrund der Architektur aber problemlos auch auf verschiedenen (Client-) Rechnern umgesetzt werden. | ||
+ | |||
+ | ====Schritt 1: ini-Dateien erstellen==== | ||
+ | Da jedes Fenster unterschiedlich konfiguriert werden soll, wird für jedes Fenster eine eigene '' | ||
+ | Beispiel: | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | :!: Unbedingt sicherstellen, | ||
+ | |||
+ | ====Schritt 2: Einstellungen der Fenster==== | ||
+ | In diesem Schritt werden die kopierten ini-Dateien an die jeweiligen Bedürfnisse angepasst. Hierzu wird ein Kommandozeilen-Fenster (DOS-Box oder Terminal) geöffnet und Rocview mit der entsprechenden ini-Datei aufgerufen: | ||
+ | |||
+ | Auf einem LINUX-System funktioniert das Kommando: | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | **Hinweis: | ||
+ | ''< | ||
+ | ''< | ||
+ | \\ | ||
+ | Auf einem WINDOWS-System funktioniert: | ||
+ | < | ||
+ | rocview -i < | ||
+ | </ | ||
+ | **Hinweise: | ||
+ | * Auch hier wird ''< | ||
+ | * Wenn mehrere Rocrail-Installationen vorhanden sind (z.B. 32bit und 64bit) \\ oder der Speicherort des Programms aus anderen Gründen nicht transparent ist, \\ muss dem Programm-Namen der Pfad des Programm-Verzeichnisses vorangestellt werden: | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | Dies muss unter den gleichen Umständen auch bei den noch folgenden Beispielen berücksichtigt werden.\\ | ||
+ | \\ | ||
+ | In der erscheinenden Rocview-Oberfläche werden im Ansicht-Menü die jeweils nicht anzuzeigenden Bildschirm-Bereiche deaktiviert und die verbleibenden Fensterelemente durch Ziehen anpasst.\\ | ||
+ | {{: | ||
+ | |||
+ | Im folgenden Screenshot wird z.B. nur noch die Lok-Tabelle angezeigt. | ||
+ | |||
+ | {{rocgui_mult_instances_locos.png}} | ||
+ | |||
+ | Das Fenster zur Anzeige der Schalttafel sieht folgendermaßen aus: | ||
+ | |||
+ | {{rocgui_mult_instances_panel.png}} | ||
+ | |||
+ | Wenn Rocview nun beendet wird, werden diese Fenster-Einstellungen in der speziellen ini-Datei gespeichert. Dies kann durch einen erneuten Aufruf schnell geprüft werden. Zur Darstellung einzelner Ebenen werden diese vorerst manuell aktiviert und das Fenster so zurecht gezogen, dass alle wichtigen Bestandteile der Ebene sichtbar sind. | ||
+ | |||
+ | ====Schritt 3: Verbindungsdaten und Fenster==== | ||
+ | Nach Abschluss der Arbeiten des vorherigen Schrittes war festzustellen, | ||
+ | Dieses Verhalten kann aber durch den Parameter **//s//** beim Aufruf von Rocview beeinflusst werden. | ||
+ | < | ||
+ | rocview -s 2 -i rocview_panel.ini | ||
+ | </ | ||
+ | Mit dem Paramter **//s//** kann vorgegeben werden, welche Ebene im Fenster aktiv bzw. sichtbar sein soll. Hierbei ist zu beachten, dass als | ||
+ | Argument der Index der Ebene angegeben werden muss. Diesen Index erkennt man aus der Reihenfolge der dargestellten Ebenen. Im Beispiel | ||
+ | dieser Anleitung werden die Ebenen in der folgenden Reihenfolge angezeigt: | ||
+ | * Buchrain --> Index **0** | ||
+ | * Grabtief --> Index **1** | ||
+ | * Panel --> Index **2** | ||
+ | |||
+ | ====Schritt 4: Erstellen eines Start-Skriptes für den großen Überblick==== | ||
+ | ===Server ist bereits gestartet=== | ||
+ | Der Server '' | ||
+ | Der Server muss dafür entweder aus dem Verzeichnis/ | ||
+ | < | ||
+ | < | ||
+ | cd < | ||
+ | start < | ||
+ | </ | ||
+ | oder beim Start muss der Parameter für den Arbeitsbereich angegeben werden: | ||
+ | < | ||
+ | start rocrail -w < | ||
+ | </ | ||
+ | Damit keine weitere Server-Instanz gestartet wird, __**muss unbedingt**__ in allen speziellen '' | ||
+ | > **Hinweis: | ||
+ | Damit nicht für jeden einzelnen Aufruf von Rocview mit den entsprechenden Parametern eine eigene Verknüpfung erstellt werden muss, empfiehlt sich die Verwendung eines kleinen Skriptes: | ||
+ | == Windows: == | ||
+ | < | ||
+ | start rocview -i rocview_locos.ini | ||
+ | start rocview -s 2 -i rocview_panel.ini | ||
+ | start rocview -s 0 -i rocview_buchrain.ini | ||
+ | start rocview -s 1 -i rocview_grabtief.ini | ||
+ | </ | ||
+ | Mit dem Aufruf dieses Skriptes wird Rocview viermal mit den entsprechenden Inhalten gestartet.\\ | ||
+ | // | ||
+ | < | ||
+ | ping -n 2 127.0.0.1 >NUL | ||
+ | </ | ||
+ | Damit sollten die Rocview-Instanzen wieder reibungslos starten. | ||
+ | == Linux: == | ||
+ | < | ||
+ | #!/bin/bash | ||
+ | |||
+ | rocview -i rocview_locos.ini & | ||
+ | rocview -s 2 -i rocview_panel.ini & | ||
+ | rocview -s 0 -i rocview_buchrain.ini & | ||
+ | rocview -s 1 -i rocview_grabtief.ini | ||
+ | </ | ||
+ | Die Hinweise zu den einzufügenden Pausen beim Windows-Skript gelten gleichermaßen auch unter Linux. | ||
+ | |||
+ | ===Server im Arbeitsbereich=== | ||
+ | Soll mit der ersten Rocview-Instanz auch der Server gestartet werden((Start im definierten Arbeitsbereich auf der gleichen Hardware)), darf die Option **startdefaultworkspace=" | ||
+ | In allen anderen speziellen "'' | ||
+ | Bei dem oben aufgeführten Start-Skript sollte zwischen dem Start der ersten Rocview-Instanz (mit Start des Servers) und den Zeilen für den Start der weiteren Instanzen eine Pause eingefügt sein, die dem Server z.B. 5-6 Sekunden Zeit für den Start gibt.\\ | ||
+ | < | ||
+ | ping -n 6 127.0.0.1 >NUL | ||
+ | </ | ||
+ | Wenn das funktioniert, | ||
+ | Bei langsamer Hardware und / oder großen Gleisplänen muss die Zeit ggf. verlängert werden. | ||
+ | |||
+ | ====Schritt 5: Feineinstellungen der Fenster-Positionen==== | ||
+ | Als letzter Schritt bleibt noch die Positionierung der einzelnen Fenster zueinander. Hierzu sind nach dem Starten aller Instanzen die einzelnen Fenster so zu verschieben, | ||
+ | |||
+ | {{rocgui_mult_instances_all.png}} | ||
+ | |||
+ | \\ | ||
+ | =====Mac OS X===== | ||
+ | Das Start-Skript könnte unter Mac OS X so aussehen: | ||
+ | < | ||
+ | #!/bin/sh | ||
+ | export DYLD_LIBRARY_PATH=./ | ||
+ | ./ | ||
+ | ./ | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | ====Wie 2 Rocview-Fenster unter Mac OS-X mit 1 Rocrail-Server realisiert werden==== | ||
+ | Anlass: | ||
+ | |||
+ | - Der Gleisplan enthält mehr als eine Ebene oder ist so groß, das er nicht gut in ein Fenster passt. | ||
+ | - In eine Modul-Plan-Darstellung zu wechseln, ist keine Option | ||
+ | - Die Nutzung von 2 Computer-Monitoren ist wünschenswert | ||
+ | |||
+ | === Schritt 1: Die Rocrail-Architektur verstehen === | ||
+ | |||
+ | Für diesen besonderen Fall sieht die Architektur wie folgt aus: | ||
+ | |||
+ | {{Dual Rocview architecture.png}} | ||
+ | |||
+ | Wichtig: | ||
+ | |||
+ | - Die zwei Rocview.ini-Dateien müssen im Rocrail/ | ||
+ | - Der Gleisplan ist in einem separaten Verzeichnis (Um Löschen durch eine Update zu vermeiden) | ||
+ | - Das Start-Programm '' | ||
+ | |||
+ | === Schritt 2: In Rocrail einen Gleisplan erzeugen, der zunächst 2 Ebenen-Register enthält === | ||
+ | {{Dual Rocview Tabview.png}} | ||
+ | |||
+ | Hinweis: | ||
+ | Am Anfang bestand die falsche Annahme, dass zwei separate Gleispläne in separaten Arbeitsbereichen gelegt sein müssen. | ||
+ | Dies sollte nicht gemacht werden. Es muss __ein__ Gleisplan in __einem__ Arbeitsbereich mit __zwei__ Ebenen-Registern angelegt werden. | ||
+ | |||
+ | Später wird von beiden Rocview-Fenstern mit dem gleichen Gleisplan im Rocrail-Server kommuniziert. | ||
+ | |||
+ | === Schritt 3: Die erste Rocview.ini erzeugen=== | ||
+ | Die erste Rocview.ini-Datei, | ||
+ | |||
+ | Es muss sichergestellt sein, dass die Datei den Pfad zum richtigen Gleisplan enthält: | ||
+ | |||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | **Hinweis: | ||
+ | ''/< | ||
+ | |||
+ | === Schritt 4: Die zweite Rocview.ini erzeugen=== | ||
+ | Die zweite Rocview.ini-Datei, | ||
+ | |||
+ | Es muss sichergestellt sein, dass die Datei den Pfad zum richtigen Gleisplan enthält: | ||
+ | |||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | **Hinweis: | ||
+ | ''/< | ||
+ | |||
+ | === Schritt 5: Shell-Programm anlegen === | ||
+ | Der Inhalt des Shell-Programms bestimmt, wie das Script arbeitet.\\ | ||
+ | Es muss sichergestellt sein, dass das Script getestet wird, bis es korrekt arbeitet!\\ | ||
+ | In diesem Beispiel hat das Script folgenden Inhalt: | ||
+ | |||
+ | < | ||
+ | |||
+ | #!/bin/sh | ||
+ | export DYLD_LIBRARY_PATH=/ | ||
+ | |||
+ | / | ||
+ | |||
+ | ping -c 2 127.0.0.1 >NUL | ||
+ | |||
+ | / | ||
+ | |||
+ | ping -c 2 127.0.0.1 >NUL | ||
+ | |||
+ | / | ||
+ | |||
+ | </ | ||
+ | |||
+ | **Hinweis: | ||
+ | Mit den '' | ||
+ | |||
+ | Das Shell-Programm sollte mit einem wiedererkennbaren Namen gespeichert werden, wie: '' | ||
+ | |||
+ | === Schritt 6: Ausführen des Shell-Programm-Scripts === | ||
+ | Nach einem Doppelclick startet das Script die Ausführung. Es können Fehlermeldungen erscheinen, falls die Pfade im Script nicht korrekt sind. | ||
+ | |||
+ | Das kann nur beseitigt werden, wenn die korrekten Pfade im Script stehen ...und mit etwas Geduld... | ||
+ | |||
+ | Nach einigen Sekunden werden die beiden Rocview-Fenster geöffnet, wie: | ||
+ | |||
+ | {{Dual Rocview windows.png? | ||
+ | |||
+ | **Hinweis: | ||
+ | Es kann der Fall sein, dass mit Click auf das Ebenen-Register in den Rocview-Fenstern manuell ausgewählt werden muss, welcher Gleisplan in welchem Fenster zu sehen sein soll. Ich war nicht in der Lage, das auch zu automatisieren. | ||
+ | |||
+ | |||
+ | === Schritt 7: Create a shortcut form the Shell program to be placed in the Dock === | ||
+ | Create a shortcut of the Shell program which enable you to put that in the Dock. | ||
+ | |||
+ | 1. Start the Automator | ||
+ | |||
+ | 2. Select in the Automator Library: execute Shellscript | ||
+ | |||
+ | {{Automator library.png}} | ||
+ | |||
+ | 3. Drag the Library script to the right panel | ||
+ | |||
+ | 4. Empty the existing content in the script | ||
+ | |||
+ | 5. Open in the Start Rocview.sh script (with Terminal) | ||
+ | |||
+ | 6. Select the content in the script en copy | ||
+ | |||
+ | 7. Past the content in the Automator empthy windown in the right panel | ||
+ | |||
+ | {{Automator script.png}} | ||
+ | |||
+ | 8. Test your Automator script with ‘push’ the execute button in the right uppercorner | ||
+ | |||
+ | 9. If it correct works, save your automator script with a valid name | ||
+ | |||
+ | 10. Drag the Automator script in the Dock | ||
+ | |||
+ | {{Dock.png}} | ||
+ | |||
+ | 11. Click on the Automator icon and Rocrail will start with 2 Rocview windows. | ||
+ | |||
+ | 12. Ready | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
gui-multi-de.txt · Last modified: 2023/01/22 15:54 by rjversluis