Auteur Sujet: Projet partagé d'un gestionnaire de réseau  (Lu 313183 fois)

DDEFF

  • Hero Member
  • *****
  • Messages: 816
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #555 le: avril 18, 2025, 06:13:30 pm »
Pour les super_appareils, l'explication est dans le lexique : comme on regroupe les fils des moteurs d'aiguille pour les commander, on a moins de fils de commande, globalement.
Et ça simplifie le câblage et le gestionnaire.

Les bretelles, elles étaient dans ton JSON et c'est le plus simple des super_appareils : 2 positions pour 2 appareils au lieu de 4.
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

DDEFF

  • Hero Member
  • *****
  • Messages: 816
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #556 le: avril 18, 2025, 08:16:59 pm »
Pour moi, un super appareil, c'est pour diminuer le nombre d'aiguillages vu du gestionnaire.
Moins d'appareils, c'est une gestion plus rapide.
Sans changer les possibilités du réseau. On retire simplement les configurations de lames qui ne servent pas et qui nuisent à la sécurité.

Denis :P
« Modifié: avril 18, 2025, 08:23:44 pm par DDEFF »
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

DDEFF

  • Hero Member
  • *****
  • Messages: 816
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #557 le: avril 20, 2025, 04:41:47 pm »
En fait, en analysant mieux les problèmes, je propose de diminuer le nombre d'objets dans le gestionnaire, ce qui diminue la taille du JSON, par voie de conséquence.

Qu'est ce qu'un "super-appareil" ?

C'est une liste de positions de lames d'appareils de voie.
Cette liste est optimisée, réduite aux seules positions constructives et améliorant la sécurité.
Cette liste peut concerner plusieurs appareils de voie simples.
Une position correspond à un bouton sur le TCO.
Je noterai SU le super-appareil, pour plus de simplicité d'écriture.

1°) Aiguillage :
C'est le SU le plus simple, avec seulement 2 positions : gauche et droite.
2°) Traversée simple :
Lui aussi a 2 positions, virtuelles (tout droit 1 et tout droit 2)
3°) TJS :
SU à 3 positions (tout droit 1, tout droit 2 et dévié).
Cela correspond au câblage où 3 boutons suffisent (avec des diodes)
4°) TJD :
SU à 4 positions.
5°) Triple
SU à 3 positions
6°) Bretelle simple :
SU à 2 positions, concernant 2 aiguillages. Il n'y a même pas besoin de diodes.
7°) Bretelle double :
SU à 3 positions, concernant 4 aiguillages
8°) Triple + bretelle :
Qu'il y ait une ou 2 bretelles simples impliquant un triple, il n'y a que 3 positions.

Ma proposition est la suivante :

1°) On renomme la partie "appareils" en "moteurs" : c'est la liste des moteurs d'aiguille
2°) On supprime la partie "bretelles"
3°) Dans la partie "zones", on définit les VoisP et VoisI en indiquant la position du SU correspondant
4°) Dans la partie "Super-appareils", on définit une liste de positions possibles.
Exemples d'applications sur le réseau de test :
---------------------------------------------------------------------------------
Z24 avant :
            "Z24" : {
                    "nom" : "Z24",
                    "voisP" : "Z25",
                    "voisI" : [["Z220","a18","gauche","999"],["Z230","a18","droite","999"]],
                    "no" : 22
            },
Z24 après :
            "Z24" : {
                    "nom" : "Z24",
                    "voisP" : "Z25",
                    "voisI" : [["Z220","Su18","0","999"],["Z230","Su18","1","999"]],
                    "no" : 22
            },
Quasiment pas de changement pour une aiguille isolée. J'ai pris Su18 au pif, pour l'exemple.
"Su18" : {
"nom" : "Su18",
"positions" : [["a18", "gauche"], ["a18", "droite"]],
"no", 28
},
----------------------------------------------------------------------------------------------
Z2, Z6, Z39 avant :
            "Z2" : {
                    "nom" : "Z2",
                    "voisP" : "Z3",
                    "voisI" : [["Z1","a15","droite","999"],["Z6","a15","gauche","999"]],
                    "no" : 2
            },
            "Z6" : {
                    "nom" : "Z6",
                    "voisP" : "Z400",
                    "voisI" : [["Z39","a16","droite","999"],["Z2","a16","gauche","999"]],
                    "no" : 6
            },
            "Z39" : {
                    "nom" : "Z39",
                    "voisP" : "Z7",
                    "voisI" : [["Z500","a13","gauche","999"],["Z6","a13","droite","999"]],
                    "no" : 37
            },
Et ça devient :
            "Z2" : {
                    "nom" : "Z2",
                    "voisP" : "Z3",
                    "voisI" : [["Z1","Su19","1","999"],["Z400","Su19","2","999"]],
                    "no" : 2
            },
            "Z6" : {
                    "nom" : "Z6",
                    "voisP" : "Z400",
                    "voisI" : [["Z7","Su19","2","999"],["Z3","Su19","3","999"]],
                    "no" : 6
            },
            "Z39" : {
                    "nom" : "Z39",
                    "voisP" : "Z7",
                    "voisI" : [["Z500","Su19","0","999"],["Z4","Su19","3","999"]],
                    "no" : 37
            },
Avec :
"Su19" : {
"nom" : "Su19",
"positions" : [["a13", "gauche"],["a15", "droite"],
                      [["a13", "gauche"],["a15", "gauche"],["a16", "gauche"]],
                      [["a13", "droite"],["a15", "droite"],["a16", "droite"]]]
"no", 28
},
On pourrait trouver ça un peu compliqué, mais on passe de 3 aiguilles (a13, a15 et a16) à un seul SU (Su19) à 4 positions. Notez que les zones voisines ont changé.
Un seul SU, mais 3 zones. Et plus de bretelles.

Denis :P
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Pierre59

  • Sr. Member
  • ****
  • Messages: 380
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #558 le: avril 20, 2025, 05:02:21 pm »
Faut que je regarde plus sérieusement pour les su, les numéros ne me disent rien.

Sinon il faut que l'on commence à écrire le gestionnaire, pour l'instant on a quasiment rien. On pourrait commencer à instancer les zones, sans vouloir tout de suite mettre dedans tous les paramètres.

Pierre

DDEFF

  • Hero Member
  • *****
  • Messages: 816
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #559 le: avril 20, 2025, 07:05:53 pm »
Dans les exemples donnés, les zones ont les bons numéros, les bons paramètres, mais j'ai pris "au pif" des numéros de Su. C'est un exemple.

A part ça, je suis désolé : je ne sais pas instancier des zones en les remplissant à partir du JSON.

Denis :P
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Pierre59

  • Sr. Member
  • ****
  • Messages: 380
    • Voir le profil
Re : Re : Projet partagé d'un gestionnaire de réseau
« Réponse #560 le: Aujourd'hui à 10:50:06 am »
Dans les exemples donnés, les zones ont les bons numéros, les bons paramètres, mais j'ai pris "au pif" des numéros de Su. C'est un exemple.
Tes su c'est des appareils de voie, on pourrait les appeler appareils ?

Ce qui me manque le plus c'est des exemples concrets avec les dessins de voie correspondant.

A part ça, je suis désolé : je ne sais pas instancier des zones en les remplissant à partir du JSON.

Oui ce n'est pas évident, cela se fait en deux phases :
- PHASE1 pour tous les éléments (zones, appareils, signaux, ...) on crée une instance vide (constructeur sans paramètre new Zone() ) et on met ces instances dans une hashtable (exemple pour zones) déclarée ainsi HashMap<String,Zone> tableZones=new HashMap<String,Zone>();

- PHASE2 pour tous les éléments (zones, appareils, signaux, ...) on cherche l'instance dans la hashtable et on la remplit avec les informations issues du fichier Json.

Pierre

DDEFF

  • Hero Member
  • *****
  • Messages: 816
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #561 le: Aujourd'hui à 11:11:50 am »
Bonjour,

Voilà les dessins correspondants.
Il y a Su19 qui reprend 3 appareils, avec seulement 4 boutons (= 4 positions pour le gestionnaire).
Il y a toujours 3 zones.

Ce qu'on appelait "aiguillages" chez toi et "appareils" chez moi s'appelle maintenant "moteurs". J'ai représenté des solénoïdes, mais ça pourrait très bien être des servos.
Et, effectivement, l'appellation "appareils" étant libre maintenant, on pourrait appeler ça des "appareils".
Il n'y a plus de "bretelles" car elles ont intégrées dans les "appareils".
Il faut refaire l'éditeur pour mettre ça en forme. Ça doit rester automatique.

Pour les instanciations, si ça n'est pas évident pour toi, imagine pour moi...

Denis :P
« Modifié: Aujourd'hui à 11:45:53 am par DDEFF »
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Pierre59

  • Sr. Member
  • ****
  • Messages: 380
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #562 le: Aujourd'hui à 01:14:43 pm »

Voila un début de l'instanciation des zones avec les signaux.

Pierre


Pierre59

  • Sr. Member
  • ****
  • Messages: 380
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #563 le: Aujourd'hui à 01:16:06 pm »
Concernant les appareils, une aiguille ne peut appartenir qu'a une seule bretelle !

Pierre

DDEFF

  • Hero Member
  • *****
  • Messages: 816
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #564 le: Aujourd'hui à 04:27:57 pm »
Citer
Concernant les appareils, une aiguille ne peut appartenir qu'a une seule bretelle !

Entièrement d'accord. C'est pour ça que je ne parle plus de bretelles.
Un appareil à une liste de positions. Point.

Et tu admettras que si on a a15 G et a16 G, il vaut mieux qu'on ait a13 G. Et si on a a16 D et a13 D, il vaut mieux qu'on ait a15 D.

Denis :P
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Pierre59

  • Sr. Member
  • ****
  • Messages: 380
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #565 le: Aujourd'hui à 04:40:51 pm »

SU19 ce n'est pas possible, a16 et appairée à a15 ou à a13, mais pas aux deux (il faut choisir).

Pierre

Pierre59

  • Sr. Member
  • ****
  • Messages: 380
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #566 le: Aujourd'hui à 04:45:57 pm »
Dans les postes électromécaniques , les deux deux aiguilles d'une bretelle sont couplées mécaniquement, et il n'y a qu'un seul levier qui manoeuvre les deux aiguille par le biais d'une seule tringle.

Pierre

DDEFF

  • Hero Member
  • *****
  • Messages: 816
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #567 le: Aujourd'hui à 04:48:34 pm »
Pourquoi appairée ? Je ne parle jamais de bretelles.

SU19 a 4 positions, donc 4 listes :
"Z2" : {
                    "nom" : "Z2",
                    "voisP" : "Z3",
                    "voisI" : [["Z1","Su19","1","999"],["Z400","Su19","2","999"]],
                    "no" : 2
            },
            "Z6" : {
                    "nom" : "Z6",
                    "voisP" : "Z400",
                    "voisI" : [["Z7","Su19","2","999"],["Z3","Su19","3","999"]],
                    "no" : 6
            },
            "Z39" : {
                    "nom" : "Z39",
                    "voisP" : "Z7",
                    "voisI" : [["Z500","Su19","0","999"],["Z4","Su19","3","999"]],
                    "no" : 37
            },
Avec :
"Su19" : {
"nom" : "Su19",
"positions" : [["a13", "gauche"],["a15", "droite"],
                      [["a13", "gauche"],["a15", "gauche"],["a16", "gauche"]],
                      [["a13", "droite"],["a15", "droite"],["a16", "droite"]]]
"no", 28
},
On définit bien un voisP et un voisI pour chaque zone concernée, sans problème.

Denis :P
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Pierre59

  • Sr. Member
  • ****
  • Messages: 380
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #568 le: Aujourd'hui à 05:09:44 pm »
Je suppose que SU19 c'est Z2 (mêmes éléments de voie).

Mais Z2 ne peut être une zone elle peut être parcourue par deux trains en même temps (en 0 et en 1).

Pierre

DDEFF

  • Hero Member
  • *****
  • Messages: 816
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #569 le: Aujourd'hui à 05:22:46 pm »
Non, Z2, c'est Z2, Z6, c'est Z6 et Z39, c'est Z39. On détecte la présence dans chacune des zones, indépendamment, comme avant.

On  a 3 moteurs : a13, a15 et a16.

Et, pour commander ces moteurs, on a SU19. SU19 ne correspond à aucune zone. C'est simplement une liste de positions de moteurs.

On n'a pas, comme avant, une zone ET un moteur dans un appareil. On a d'un côté des zones avec une détection de présence, des voisins, mais pas de moteurs.

Et on a, par ailleurs, des moteurs dont la liste des positions est dans SU19. Ces positions permettent de relier des zones.

Denis :P

"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)