User Tools

Site Tools


gui-multi-fr

Multiples Rocviews

SommaireRocviewGénéral



Activer plusieurs Rocviews pour une meilleur vue d'ensemble.


Fenêtres

Sur les réseaux plus grands Rocrail ou simples les modules peuvent être arrangés sur différentes couches pour gagner une meilleur vue d'ensemble. Ce faisant, toutefois, il est nécessaire de basculer entre les couches fréquemment afin de voir ce qui se passe sur une partie particulière du réseau. L'architecture client/serveur de Rocrail permet en outre une procédure plus sophistiquée: Plusieurs instances de Rocview - toutes connectées au même serveur - sont démarrées, chacune montrant une partie différente du réseau ou une interface utilisateur. Ce chapitre explique comment mettre en place plusieurs instances de Rocview pas-à-pas.

Dans cette exemple il est montré comment les quatre fenêtres suivantes librement aménageables sont configurées:

  • Fenêtre 1: Tableau Locomotive
  • Fenêtre 2: Module 1 (Buchrain)
  • Fenêtre 3: Module 2 (Grabtief)
  • Fenêtre 4: Panneau de commande (diverses sorties pour allumer la lumière, etc.)

Seulement un ordinateur est utilisé dans cette exemple mais de part l'architecture de Rocrail il est facilement possible de réaliser une approche similaire avec plusieurs ordinateurs, c'est à dire montrer chaque module sur un client/ordinateur différent.

Étape 1: Création des fichiers ini

Parce que chaque fenêtre possède une mise en page différente chaque fenêtre requiert son propre fichier .ini. Pour cette raison le fichier existant rocview.ini est copié quatre fois dans le répertoire de travail de Rocview et renommé en conséquence. Dans l'exemple au dessus le résultat est:

  • rocview_locos.ini
  • rocview_buchrain.ini
  • rocview_grabtief.ini
  • rocview_panel.ini

:!: Soyez sûr que le Suivi est désactivé dans chaque rocview_*.ini individuel.

Étape 2: Configuration des fenêtres

A cette étape les fichiers .ini copiés sont personnalisé aux exigences particulières. Pour faire cela une fenêtre de ligne de commande (DOS-Box ou terminal) est ouverte et Rocview est démarré en utilisant le fichier .ini particulier:

rocview -i rocview_locos.ini

La fenêtre ouverte est personnalisé par glissement des élément de la fenêtre selon vos besoins. Dans la copie d'écran suivante seulement la table locomotive est montrée pour exemple:

La fenêtre montrant le panneau de contrôle ressemble à cela:

Après la fermeture de Rocview les propriétés de la fenêtre sont sauvegardées dans les fichiers .ini respectifs de propriété ce qui peut être facilement vérifié par la réouverture de la fenêtre en utilisant la même commande. Pour afficher des couches simples ceux-ci sont dans une première étape activé manuellement et la fenêtre est disposée afin de montrer les éléments de base de la couche.

Étape 3: Lier les niveaux et les fenêtres

Après finition du travail de la dernière étape il est notable que Rocrail ouvre toujours la première couche d'un plan de voie. Cependant, ce comportement peut être influencé par le paramètre s pendant le démarrage du programme.

rocview -s 2 -i rocview_panel.ini

Avec le paramètre s il est possible de choisir une couche qui sera activée dans la fenêtre. L'argument est l'index de la couche qui peut être vu à partir de l'ordre des couches affichées. Dans l'exemple de ce manuel les couches sont montrées dans l'ordre suivant:

  • Buchrain –> Index 0
  • Grabtief –> Index 1
  • Panel –> Index 2

Étape 4: Création d'un script de démarrage pour une grande vue

Le serveur est déjà en marche

Le serveur rocrail.exe dans ce cas doit déjà être en marche avant de démarrer les instances Rocview sur le même ou un autre matériel.
Pour éviter de nouveaux démarrages des instances dans tous les fichiers spéciaux rocview.ini l'option startdefaultworkspace="false" doit être réglé.

Note: Dans ce cas, le démarrage du serveur doit être fait avec le démarrage de la première instance Rocview, voir le Serveur dans l'espace de travail.

Il est possible de créer des raccourcis pour chaque appel de Rocrail, cependant, une approche plus élégante est d'utiliser un petit script (voir les exemples suivants pour Windows et Linux):

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

Si ce script est appelé Rocview est démarré quatre fois, chaque fenêtre avec le contenu correspondant.
Si vous obtenez des messages d'erreurs à propos de problèmes avec le "presse-papiers" qui démarrera les instances Rocview insérez juste

ping -n 2 127.0.0.1 >NUL

entre chaque appel. Cela ajoutera un délai de 1-2 secondes et les instances Rocview démarreront sans difficulté.

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

Les annonces pour insérer des délais dans le script de démarrage Windows s'appliquent aussi bien sous Linux.

Le serveur dans l'espace de travail

Pour ce cas, le démarrage du serveur devrait être fait avec le démarrage de la première instance Rocview 1), l'option startdefaultworkspace="true" doit seulement être réglé dans les fichiers spéciaux rocview.ini pour la première instance Rocview.
Dans tous les autres rocview.ini spéciaux l'option des fichiers devraient être fixé à startdefaultworkspace="false".
Dans le script de démarrage ci-dessus entre la première instance Rocview et le démarrage de toutes les autres instances il devrait être inséré un retard, ce qui donne au serveur un temps de 5-6 sec pour démarrer.

ping -n 2 127.0.0.1 >NUL

Si cela fonctionne, un temps plus court peut être essayée.
Avec un matériel lent et/ou de grands réseaux le temps peut être étendu.

Étape 5: Réglage fin des positions des fenêtres

Comme dernière étape il reste la disposition des fenêtres. Pour ce faire les fenêtres sont simplement glissées dans leurs positions désirées. Si les fenêtres sont fermées après le réglage fin leurs positions respectives sont sauvegardées et l'arrangement est restauré au prochain démarrage:


Mac OS X

Le script sous Mac OS X pourrait ressembler à ceci:

#!/bin/ah
export DYLD_LIBRARY_PATH=./Rocrail.app/Contents/MacOS
./Rocrail.app/Contents/MacOS/rocview -i rocview1.ini&
./Rocrail.app/Contents/MacOS/rocview -i rocview2.ini&


Comment réaliser 2 fenêtres Rocview sur Mac OS-X avec 1 serveur Rocrail

Déclenchement:

  1. Le plan de voies contient plus d'un niveau, ou est si grand qu'il ne s'intègre pas bien dans une fenêtre
  2. Basculer sur la conception d'un circuit modulaire n'est pas une option
  3. L'usage de 2 écrans d'ordinateurs est souhaitable

Étape 1: Compréhension de l'architecture Rocrail

Pour ce sujet particulier l'architecture ressemble à l'architecture suivante:

Important:

  1. Les deux fichiers Rocview.ini doivent être dans une carte Rocrail/Rocdata
  2. Le plan de voies est dans une carte séparée (pour éviter la suppression lors d'une mise à jour)
  3. Le programme shell qui démarre Rocview.sh est dans la carte Rocrail/Rocdata

Étape 2: Créer un plan de voies dans Rocrail en premier avec 2 onglets de vue

Remarque: Au début j'étais dans une mauvaise approche en créant 2 plan de voies séparés dans des espace de travail séparés. Cela ne doit pas être fait. Créer un plan de voies dans un seul espace de travail avec 2 onglets de vue.

Plus tard les deux fenêtres Rocview doivent communiquer avec le même plan ferroviaire sur le serveur Rocrail.

Étape 3: Créer le premier Rocview.ini

Créer le premier Rocview.ini pour initialiser la première fenêtre, dans cette situation il est appelé: Rocview_-1.ini

Soyer sûr qu'il contient le chemin du plan ferroviaire correct:

<workspace path="/Users/<your name>/Documents/De Rangeerbaan" title="De Rangeerbaan Plan"/>
</workspaces>

Remarque: /<your name>/ contient le nom de l'identifiant de votre ordinateur Apple, la plupart du temps votre nom de connexion.

Étape 4: Créer le second Rocview.ini

Créer le second Rocview.ini pour initialiser la seconde fenêtre, dans cette situation il est appelé: Rocview_0.ini

Soyer sûr qu'il contient le chemin du plan ferroviaire correct:

<workspace path="/Users/<your name>/Documents/De Rangeerbaan" title="De Rangeerbaan Plan"/>
</workspaces>

Remarque: /<your name>/ contient le nom de l'identifiant de votre ordinateur Apple, la plupart du temps votre nom de connexion.

Étape 5: Créer le programme Shell

Le contenu du programme shell détermine si le script fonctionnera, soyer sûr de tester le script jusqu'à ce qu'il fonctionne! Dans cet exemple le script ha le contenu suivant:

#!/bin/sh
export DYLD_LIBRARY_PATH=/Applications/Rocrail/Rocrail.app/Contents/MacOS

/Applications/Rocrail/Rocrail.app/Contents/MacOS/rocrail&

ping -c 2 127.0.0.1 >NUL

/Applications/Rocrail/Rocrail.app/Contents/MacOS/rocview -i /Applications/Rocrail/rocdata/rocview_0.ini&

ping -c 2 127.0.0.1 >NUL

/Applications/Rocrail/Rocrail.app/Contents/MacOS/rocview -i /Applications/Rocrail/rocdata/rocview_-1.ini&

Remarque: Avec la commande ping nous donnons à l'ordinateur un peu de temps pour démarrer le serveur Rocrail et les 2 écrans Rocview dans un ordre séquentiel, cela peut sembler lent, mais sans ce délai ça ne fonctionne pas bien.

Sauvegarder le script programme Shell avec un nom reconnaissable comme: Start dual Rocview.sh

Étape 6: exécuter le script programme shell

Après avoir double cliqué sur le script il commence à s'exécuter. Vous pourriez obtenir des erreurs dû au fait que les chemins dans le script ne sont pas corrects.

Cela ne peut être fixé par obtention exacte des chemins corrects dans le script… et d'un peu de patience…

Alors après quelques secondes les deux fenêtres Rocview seront ouvertes, comme:

Remarque:

Cela peut être le cas que vous deviez sélectionner manuellement (onglet vue) dans la fenêtre Rocview le plan ferroviaire que vous voulez voir dans chaque fenêtre. Je n'ai pas été en mesure obtenir cela automatiquement.

Étape 7: Créer un raccourci pour le programme Shell pour le placer sur le bureau

Créer un raccourci du programme Shell qui vous permettra de le mettre sur le bureau.

1. Démarrer l'Automator

2. Sélectionner dans la bibliothèque Automator: execute Shellscript

3. Glisser le script bibliothèque dans le panneau de droite

4. Vider le contenu existant dans le script

5. Ouvrir le script de démarrage Rocview.sh (avec Terminal)

6. Sélectionner le contenu dans le script en copie

7. Coller le contenu dans la fenêtre vide Automator dans le panneau de droite

8. Tester votre script Automator en ‘appuyant’ le bouton d'exécution dans le coin supérieur droit

9. Si il fonctionne correctement, sauvegarder votre script Automator avec un nom valide

10. Glisser le script Automator sur le bureau

11. Cliquer sur l'icône Automator et Rocrail devrait démarrer avec 2 fenêtres Rocview.

12. Prêt

1)
Démarrage dans l'espace de travail défini sur le même matériel
gui-multi-fr.txt · Last modified: 2018/11/12 08:56 by 127.0.0.1