JMRI est...

Outils Généraux

JMRI fournit des outils puissants pour travailler avec votre réseau.

Automatisation du Réseau

JMRI peut être utilisé pour automatiser des portions de votre réseau, depuis le simple contrôle d'un croisement à la conduite d'un train en toile de fond.

JMRI: Suivi en Cantons

Renseignements généraux

Les Systèmes de contrôle de modèle ferroviaire ne peut généralement pas vous dire quel train occupe un portion particulière de voie à un moment donné.

Cela est regrettable, car il y a beaucoup de raisons pour vouloir le savoir. Par exemple, vous voudrez peut-être commander tous les trains qui atteignent un signal rouge particulier pour s'arrêter. Mais vous ne pouvez pas faire ça sauf si vous savez quel est le train qui a atteint le signal.

JMRI fournit des outils expérimentaux de suivi pour les trains en mouvement sur le réseau.

Concepts de base

Imaginez une simple boucle de voie qui a été câblée avec des capteurs d'occupation sur les différents segments de la voie, que nous appellerons "Cantons". Imaginez le train est dans le canton A, et va bientôt passer au canton B, puis C.

Au début, le capteur pour le canton A est montré actif. Comme le train se déplace dans le canton B, le capteur pour B deviendra actif. Lorsque le train a complètement quitté A , son capteur deviendra inactif. Etc

Même si nous ne savons pas d'un canton particulier s'il est actif ou pas (occupé ou non), en se penchant également sur l'occupation des cantons adjacents on peut en savoir plus. Dans l'exemple ci-dessus, si le code savait que le train 321 était dans le canton A, lorsque le canton B devient actif, le programme peut déduire que 321 est désormais également dans le canton B.

.

Cela ne fonctionne pas toujours, malheureusement. Imaginons le cas ci-dessus, où il y a à la fois un train en A et aussi un train en C. Lorsque B va d'inactif à actif (inoccupé au occupé), quel train a pénétré dans B? Celui de A, ou celui de C?

Une partie de cette ambiguïté peut être enlevé par un arrangement soigneux de la détection des cantons qui doivent être courts , et en utilisant une logique plus intelligente qui pense à la direction et la priorité des trains. Mais il est clair que même la voie droite pose quelques problèmes.

Les aiguillages ajoutent une couche supplémentaire de complexité. Imaginez un train présent dans le canton à côté de la voie directe (closed) , et un autre présent dans la voie déviée (thrown) . Lorsque le capteur d'occupation pour l'aiguillage devient actif, quel train est entré dans l'aiguillage de la voie? Cela dépend de quelle manière l'aiguillage est positionné, de sorte que le programme doit être en mesure de considérer cette information.

Outils Canton JMRI

JMRI fournit une classe "Canton" pour gérer le suivi.

Notez que ceci est le code de test, et que toutes les fonctions ne sont pas complètement présentes. Par exemple, vous ne pouvez pas stocker des objets de cantons dans un fichier de configuration, ils doivent être manuellement créé dans vos scripts. Cette limitation sera supprimée avec le temps.

Tableau de Canton

Le Tableau Canton vous permet de voir l'état de vos cantons.

Questions

Il n'existe aucune exigence fonctionnelle pour une lettre type dans le nom système, mais par convention, nous utilisons 'B' pour 'bloc'(canton). L'implémentation par défaut n'est pas spécifiques au système, donc un système de lettre "I" est approprié. Cela conduit à noms de système comme "IB201".

La direction d'un canton est détermpinée par la direction de l'arrivée du train . Quand un train se trouve à venir par un chemin particulier, que GetFromBlockDirection chemin devient la direction du train dans ce canton. Questions

:

Ne pensez pas que seulement un objet canton unique représente un morceau de voie. Pour permettre un développement indépendant, il doit être possible pour des objets canton multiples de prendre soin d'une section particulière de la voie.

Information Technique

Pour plus d'informations techniques, consultez les pages Javadoc pour