JMRI: Les Noms et Désignations
Cette page explique comment les objets JMRI sont nommés, comment ces noms sont utilisés pour référencer les objets (matériel et logiciel), et comment les noms lisibles par l'utilisateur sont utilisés..Qu'est-ce qu'un nom?
Pourquoi avons-nous besoin de noms pour tout, plutôt que simplement des références dans le code? Il ya plusieurs utilisations importantes:- Lorsque vous travaillez avec l'entrée utilisateur, par exemple, en saisissant un nombre dans un champ, le code aura besoin de savoir comment caractériser les informations fournies par l'utilisateur sur des objets. Parfois, l'utilisateur voudra nommer les objets avec un nom d'utilisateur arbitraire, par exemple, "Aiguillage Lockport-Est". Ceux-ci peuvent ne pas être connus avant que leur mise en correspondance avec du matériel n'aient été réalisées. Mais d'autres fois ce seront de nouvelles identifications que le code doit comprendre, par exemple, quelque chose qui signifie "LocoNet Aiguillage 23 .
- Nous imaginons que les configurations sont stockées dans des fichiers XML, sous une forme symbolique. Les noms sont un moyen pratique de relier des objets et des références d'objets dans ce genre de configuration.
Éléments avec des noms
Il y a un certain nombre de choses qui peuvent avoir besoin des noms:- Aspects pour les signaux
- Cantons (segment de voies)
- Feu de signalisation
- Lumières(un type de sortie)
- Mémoires
- Sorties
- Alimentation districts et Alimentation sous-districts
- Itinéraires
- Entrée Capteurs
- Aiguillages
- logiX
Noms Système et Utilisateur
JMRI utilisent à la fois les "noms système" et les "noms utilisateur " pour référencer des chosesNous voulons que les utilisateurs puissent appeler les choses comme ils veulent. Des noms tels que "p (24,23) *" ne sont pas utiles. Chaque élément nommé pourra donc avoir un "nom utilisateur", qui est une chaîne entièrement libre. Vous pouvez mettre ce que vous voulez dedans, tant que ce n'est pas un duplicata de nom donné à autre chose. Par exemple, on pourrait appeler un Aiguillage "West yard lead" ou "aiguillage 32 " ou "fil vert du contrôleur" ou autre chose.
Dans le même temps, nous avons besoin d'un nom raccourci, un identifiant vraiment unique, pour nous parler des objets spécifiques. ça ne doit pas être commode, mais nous devons avoir une caractéristiqu claire de nom pour l'objet et retour. Par exemple, nous avons besoin d'une manière très spécifique pour identifier les "Aiguillage LocoNet 23. Nous appelons ceci "noms de système". Le Code JMRI caractérisera ceux-ci vers et depuis toutes les informations dont le matériel peut avoir besoin.
Format du Nom Système
Un nom système est formé d'un préfix court représentant le matériel du système, suivie d'une seule lettre Majuscule indiquant le type, suivi par une chaîne système type et spécifique. La chaîne est censée être liée à l'adressage matériel, mais c'est par ailleurs sans contrainte.Exemples:
- LT23 - Loconet Turnout 23. ( Aiguillage LocoNet n°23 )
- CS12
- - Les 12 C/IRM SEnsor .( Capteur C/MRI n°12 )
Préfix Matériel
À l'origine, le "préfix matériel" était une simple lettre majuscule identifiant un simple système de connexion: L pour LocoNet, N pour NCE, etc. Les lettres par défaut pour ceux-ci sont listées ci-dessous. Ceci est encore de loin l'utilisation la plus courante; La plupart des réseaux miniatures ont une simple connexion, et utilise juste la lettre par défaut.Le code JMRI est beaucoup plus flexible que ça, cependant. Cela lui permet de faire face à de multiples systèmes de connexions et des chevauchements de lettres ( Telles que les multiples possibilités définies pour "M" ci-dessous ). Vous changez la lettre associée avec un système de connexion dans les préférences par une autre lettre majuscule. Vous pouvez appeler votre connexion NCE "P" si vous le voulez. Si vous avez en avez deux, vous pouvez en appelez un "X" et l'autre "Y". Vous pouvez aussi utiliser une lettre majuscule suivie par des digits, ex: "N1" et "N2".
Lettres Système par Défaut
Notez que certaines d'entre elles sont des espaces réservés, et n'ont pas de mise en œuvre sous-jacente. ( Liens avec les pages JMRI pour plus d'informations )- A CTI Acela
- B Direct DCC control
- C C/MRI serial
- D SRCP
- E EasyDCC
- F RFID tag readers
- G ProTrak Grapevine
- H
- I Internal, ex: objets non connectés au matériel.
- J
- K Maple Systems
- L LocoNet
- M Bus de contrôle du réseau ferroviaire y compris OpenLCB et CBUS®. Utilisé aussi pour la mise en œuvre maitre/esclave Modbus.
- N NCE (aussi Wangrow)
- O Oak Tree Systems
- P Powerline transmission, e.g. X10 and Insteon
- Q QSI programmer interface
- R RPS system
- S SPROG
- T Lionel TMCC
- U ESU ECoS
- V TracTronics SECSI
- W (reserved for Wangrow, but that's currently still combined with NCE)
- X XpressNet
- Z Zimo MX-1
Lettres Type Périphériques
Notez que certains d'entre eux sont des espaces réservés, et n'ont de mise en œuvre sous-jacente. Aussi, il n'y a aucune garantie que tout système de matériel donné ne sera jamais mis en œuvre pour chacun d'eux.- A Audio - un objet logiciel interne qui contient des informations sur un échantillon son pour être placé à une position spécifique dans l'espace 3D
- B Bloc(Canton) - un objet logiciel qui permet de suivre le contenu d'un canton spécifique de la voie
- D iDentité -Un objet logiciel qui contient des informations sur une plaque d'identité qui est, généralement, attaché à un morceau de matériel roulant. Ces objets ne sont pas spécifiques au système, mais sont des objets internes, donc ont des noms commençant par l'ID. Le matériel sous-jacent va utiliser des objets Reporter pour communiquer avec JMRI quand un objet identité spécifique a été vu
- F Mât Signalisation (F n'est pas particulièrement mnémonique, peut-être qu'un mât à deux feux ressemble à un F vue de côté? Toutes les bonnes lettres ont été prises)
- H Feu de signalisation - Une partie d'un signal (qui peut avoir plusieurs feux). Également interprété pour inclure des indicateurs sur les panneaux de commandes qui agissent pour afficher les aspects des signaux
- M Mémoire - Pour l'instant, cela n'a pas vraiment d'équivalent dans le matériel de réseau, mais est utilisé comme un endroit pour stocker temporairement des informations et un affichage sur panneaux, etc.
- L Light (Lumière) -une autre forme de sortie, par exemple, utilisé pour les voyants de contrôle sur un réseau
- P - Gestionnaire d'alimentation du réseau, à savoir, district, sous - district; tous les systèmes ne font pas de distinction entre ceux-ci, de sorte que la lettre type d'appareil ne le fait pas non plus. Par exemple, la partie du système spécifique pourrait être B pour la puissance du réseau principale, par exemple LPB ou S42 pour 2 canaux sous-district sur la carte 4, par exemple LPS42.
- R Rapports - un mécanisme d'usage général pour la communication d'informations complexes du réseau, par exemple, identification locomotive depuis certains matériels, Transpondeur, Numéros des étiquettes RFID, etc.
- S Sensor (Capteurs) - en général les capteurs d'entrée ont un but qui est généralement d'être ACTIF ou INACTIF. C'est le plus couramment utilisé pour le remplissage des détecteurs de cantons.
- T Turnout (Aiguillage) - en fait une sortie à usage général sur le réseau
- X Logix - un ensemble d'équations logiques utilisées pour commander le réseau
Info-spécifiques Système
Chaque système matériel différent peut spécifier la "chaine " qui suit le système et la lettre type. Généralement spécifique, ce sont de petits nombres, mais leur signification exacte est très spécifique au système. Pour plus d'informations, s'il vous plaît voir les pages spécifiques pour ( Si vous constatez un oubli, SVP Ajoutez une référence)Les objets "internes" peuvent également être adressés et manipulés, mais ils n'ont pas de stricte correspondance avec certains matériels sur le réseau. Par exemple, si un feu de signalisation est mise en œuvre sur trois sorties différentes, LT1, LT2 et LT3, l'objet feu de signalisation pourrait être appelé IH3.
Convention de Désignation pour un usage automatique
Certaines constructions de niveau supérieur créent leurs propres éléments. Par exemple, un "Groupe Capteur" C'est vraiment juste une collection d'Itinéraires qui implémente la logique de groupe capteur, il n'y a pas d'objet spécifique dans le programme qui met en œuvre le groupe de capteurs. Au lieu de cela, lorsque l'utilisateur crée un groupe capteur "mon groupe", une série d'itinéraires avec des noms de système, comme:
CAPTEUR GROUPE: mon groupe: LS1
CAPTEUR GROUPE: mon groupe: LS2
sont créés qui met en œuvre le groupe. L'outil de groupe capteurs sait où regarder
pour les itinéraire de ce nom.
Pour ce faire, deux règles informelles sont utilisées:
- Les utilisateurs ne devront pas utiliser les caractères :, ASCII 0x3A), " (double quote, ASCII 0x22), ni $ (dollar sign, ASCII 0x24 ) dans les noms de système ou utilisateur. Les outils automatiques doivent utiliser au moins un de ceux-ci afin de s'assurer qu'ils n'entrent pas en collision avec un nom choisi par l'utilisateur.
- Les outils qui utilisent cette méthode ont leur nom d'outil au début de tous les noms de système qu'ils créent, comme "SENSOR GROUP" a été utilisée ci-dessus.
La liste des outils travaillant de cette manière:
- CAPTEUR GROUPE - jmri.jmrit.sensorgroup
- USS CTC - jmri.jmrit.ussctc
- Feux de Signalisation - particularièrement SE8C
- - Les 12 C/IRM SEnsor .
Notez qu'il n'y a aucune hypothèse de modèle pour les noms, ils ne sont pas affecter de façon monotone, ils ne sont pas limités à un seul système.
Notes
- Certains appareils ne sont pas vraiment nommés. Le programmateur DCC est le premier exemple, mais il peut y en avoir d'autres.
- La convention nom système ne fournit pas un moyen facile d'identifier plus d' un adaptateur d'un type donné. Par exemple, si vous êtes connecté à plus d'un LocoNet, ou à plus d'une station de commande d'un seul type, qui alimentent des parties distinctes d'un réseau unique, comment adressez-vous ceci?
- De même, il n'y a aucune disposition pour un seul programme pour faire face à plus d'un réseau. Si c'est nécessaire, nous devons comprendre ce que le programme tente de faire