Info sur JMRI:
Outils de Développement
Structure
Techniques et Standards
Comment Faire
Infos Fonctionnelles
Contexte Infos

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:
  1. 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 .
  2. 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: Certains d'entre eux sont associés à un périphérique matériel spécifique, par exemple un aiguillage particulier. D'autres sont plus virtuels, par exemple, un itinéraire, qui est une série d'information de commandes au sein du programme.

Noms Système et Utilisateur

JMRI utilisent à la fois les "noms système" et les "noms utilisateur " pour référencer des choses

Nous 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:

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.

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 )

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.

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:

La liste des outils travaillant de cette manière:

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