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

DDEFF

  • Hero Member
  • *****
  • Messages: 747
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #300 le: janvier 17, 2024, 07:11:13 pm »
@Pierre

J'ai fait un premier essai très simple pour créer les zones simples en JSON à partir de rien.
Pour l'instant on peut rentrer n'importe quoi comme texte. Il faut bien un début.
Il faut ouvrir dans le bloc notes.

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

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2922
  • 100% Arduino et N
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #301 le: janvier 17, 2024, 07:29:45 pm »
petit essai :
Colonne
{
    "zones" : [
        {
            "nom" : "Z1",
            "sens" : "Pair",
            "vois1" : "Z2",
            "vois2" : "Z3",
        }
    ]
}

c'est bien parti ! Courage  ::)
Cordialement,
Dominique

trimarco232

  • Sr. Member
  • ****
  • Messages: 313
    • Voir le profil
Re : Re : Re : Projet partagé d'un gestionnaire de réseau
« Réponse #302 le: janvier 17, 2024, 11:58:30 pm »
@ Etienne

Je pense que la distinction des aiguilles gauche/droite n'est pas la bonne. Je préfèrerait TD/DV (Tout Droit/ DeVié) pour voir la distinction de vitesse entre la vitesse en cas de position tout droit et en position déviée. Il y a les aiguilles enroulées, bien sûr  :P
On peut aussi dire autrement en donnant carrément la vitesse pour chaque position (120/30) qui serait plus universelle ?

Denis
Tu as raison.

ben non , gauche/droite est clair pour toutes les aiguilles , y compris les symétriques

trimarco232

  • Sr. Member
  • ****
  • Messages: 313
    • Voir le profil
Re : Re : Re : Projet partagé d'un gestionnaire de réseau
« Réponse #303 le: janvier 18, 2024, 12:03:59 am »
(...)
Citer
D'accord pour la position par défaut et la vitesse.
Pour les moteurs c'est plus un problème à régler au niveau du décodeur. Et il suffit d'une temposisation entre le moment où
on change les aiguilles et l'ouverture du signal pour tenir compte des moteurs lents.
suffit pas : si tu fais une commande segmentée des moteurs , il faut (tout simplement) attendre le moment où le dernier moteur a terminé sa course
« Modifié: janvier 25, 2024, 11:18:21 am par trimarco232 »

trimarco232

  • Sr. Member
  • ****
  • Messages: 313
    • Voir le profil
Re : Re : Projet partagé d'un gestionnaire de réseau
« Réponse #304 le: janvier 18, 2024, 12:08:18 am »
(...)

Il est vrai qu'à la SNCF les bretelles sont traitées spécialement, les deux aiguilles sont appairées, elles sont nommées Axa et Axb et toujours manoeuvrées ensembles, pour des raisons de sécurité.as t'on besoin de faire pareil.

Pierre

amha , on n'est pas obligé ... mois je le fais ... le petit inconvénient , si on a des moteurs lents commandés à tour de rôle , cela rallonge le temps de formation de l'itinéraire ...

trimarco232

  • Sr. Member
  • ****
  • Messages: 313
    • Voir le profil
Re : Re : Re : Re : Re : Re : Projet partagé d'un gestionnaire de réseau
« Réponse #305 le: janvier 18, 2024, 12:19:40 am »
Avec loconet et autres on n'a que le sens retrosignalisation. L'autre sens doit passer par la voie avec la limite de débit que ça impose.
Le CAN étant bidirectionnel il s'impose comme la solution idéale.
à priori non , les messages de commande transitent par loconet , donc ils peuvent être utilisés par les décodeurs ; cela a d'ailleurs été vendu comme moyen d'alléger le traffic des packets dans le DCC
(en réalité cela passe effectivement , très généralement , dans le DCC , la bande passante n'étant critique que pour les très grands réseaux ... ou pour les réseaux les + automatisés)

Pierre59

  • Sr. Member
  • ****
  • Messages: 332
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #306 le: janvier 18, 2024, 05:25:26 pm »
@ Denis

Je t'ai fabriqué un "dialogue" sur mesure pour les zones. Il permet de saisir les noms de zones, les sens et les voisins. Pour les sens il n'y a que deux choix possibles (pour l'instant), pour le reste on peut saisir un nom de zone ou choisir parmi celles qui sont déjà saisies pour les modifier, les compléter, les supprimer, .... Pour les voisins "cas" devra pouvoir saisir un nom de zone et une liste de paires (aiguille,position).

Pour l'instant les modifications s'affichent dans la console.

Pierre

DDEFF

  • Hero Member
  • *****
  • Messages: 747
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #307 le: janvier 19, 2024, 10:08:08 am »
@ Pierre,
Merci pour ce programme bien sympa.

@tous
Je suis en train de développer un petit programme qui doit permettre de rentrer les données JSON sans erreurs, avec vérifications et avec un peu de graphiques très simples qui permettrons d'éviter les erreur de saisie.
Je ne suis pas vraiment dispo avant mardi.

Je propose qu'on arrête (pour un temps) de parler de la phase avant JSON et qu'on s'intéresse à l'après JSON en partant d'un JSON supposé parfait.

Terminologies :

Je propose d'employer TD pour tout droit et DV pour dévié.
Pour les aiguilles enroulées, TD sera la voie à grand rayon et DV celle à petit rayon

J'appelle AB la première diagonale d'une TJD (TJS, croisement) et CD la deuxième diagonale pour les TD
J'appelle AD et CB les deux courbes d'une TJD (en DV)
Pour une aiguille simple, AB pour TD et AC pour DV
Pour un triple, AB pour TD et AC pour la gauche et AD pour la droite

Je ferai le JSON avec, en plus, les données vitesses limites.
Dans les zones, cela correspondra aux TIV, pour les aiguilles, sur voie DV (30, 60 et 160)
Je ne sais pas s'il y a des limites de vitesse en TD sur TJD.

Je propose de mettre "banalise" au lieu de "pairimpair"

Je sortirai deux ArrayList "Zones" et "Aiguilles" et, éventuellement, un 3ème ArrayList pour les connecteurs, si c'est utile.
 
Denis
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Pierre59

  • Sr. Member
  • ****
  • Messages: 332
    • Voir le profil
Re : Re : Projet partagé d'un gestionnaire de réseau
« Réponse #308 le: janvier 19, 2024, 11:32:53 am »
Terminologies :

Je propose d'employer TD pour tout droit et DV pour dévié.
Pour les aiguilles enroulées, TD sera la voie à grand rayon et DV celle à petit rayon
gauche/droite cela marche des tous les cas
Citer
J'appelle AB la première diagonale d'une TJD (TJS, croisement) et CD la deuxième diagonale pour les TD
J'appelle AD et CB les deux courbes d'une TJD (en DV)
Pour une aiguille simple, AB pour TD et AC pour DV
Pour un triple, AB pour TD et AC pour la gauche et AD pour la droite
je vois pas trop l'utilité dans le fichier json
Citer
Je ferai le JSON avec, en plus, les données vitesses limites.
Dans les zones, cela correspondra aux TIV, pour les aiguilles, sur voie DV (30, 60 et 160)
Je ne sais pas s'il y a des limites de vitesse en TD sur TJD.
oui on peut associer des vitesses, mais où les mettre, ce n'est pas urgent
Citer
Je propose de mettre "banalise" au lieu de "pairimpair"
pourquoi pas mais dans mon esprit il pourra avoir des variantes avec les manoeuvres , du
genre pair_et_impair_manoeuvre
Citer
Je sortirai deux ArrayList "Zones" et "Aiguilles" et, éventuellement, un 3ème ArrayList pour les connecteurs, si c'est utile.
dans mon esprit les voisins sont les connecteurs, mais à revoir

Pierre

DDEFF

  • Hero Member
  • *****
  • Messages: 747
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #309 le: janvier 19, 2024, 04:30:36 pm »
@ Pierre,

Ou là... Non, je ne change rien au JSON.
Et je ne connaissais pas pair_et_impair_manoeuvre. On garde donc pairimpair.

Non, ce que je voulais simplement, c'est pour faciliter les posts.
Mais on ne change pas le JSON.

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

DDEFF

  • Hero Member
  • *****
  • Messages: 747
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #310 le: janvier 23, 2024, 12:27:58 pm »
Bonjour à tous,

Voici une version plus évoluée de mon éditeur de fichier JSON pour les trains.

Je suis parti de l'idée que plutôt que de rentrer les données très rapidement et de corriger les erreurs après, il valait mieux prendre un peu plus de temps et bien se mettre en situation pour pouvoir valider en ayant une vue claire de ce qu'on fait.
En particulier, je ne rentre pas directement pair ou impair. J'utilise une méthode "visuelle".

Pour l'instant, ça ne rentre que les zones simples, mais je vais m'occuper des aiguilles très rapidement.

Il manque encore la vérification qu'on n'a pas déjà rentré une zone, de vérifier que si voisin1 = voisin2, c'est que c'est une boucle de retournement et deux – trois bricoles.
Dans les data, il y a le JSON, qu'on peut ouvrir simplement avec le bloc note.

Denis
« Modifié: janvier 23, 2024, 05:24:58 pm 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: 332
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #311 le: janvier 23, 2024, 04:30:41 pm »

@ Denis

Je t'avais promis une version, avec des dialogues, plus élaborée. C'est en fait un peu une boite à outils pour faire des dialogues. Il y a deux sortes de champs de saisie, un champ avec des choix multiples prédéfinis et un champ avec en plus une possibilité d'édition (si les choix prédéfinis ne conviennent pas).

Plusieurs dialogues permettent de saisir des zones, des aiguilles ou des signaux avec des paramètres. Ce sont des dialogues dits "modal", un seul dialogue n'est affiché à la fois, mais on pourrait en afficher plusieurs à la fois.

Les dialogues comportent une série de boutons, pour l'instant deux seulement sont actifs, un bouton "X" qui ferme le dialogue, puis le dialogue suivant est affiché, et un bouton "S" qui affiche dans la console le code json fabriqué par le dialogue.

Cela montre juste ce que l'on peut faire avec les dialogues, toute la partie édition globale du fichier json est absente.

Les champs de saisie des voisins (1 et 2) des zones sont assez particuliers, on peut utiliser un nom de zone déjà existante ou saisir un nouveau nom. Mais si le "nom" de la zone est déjà renseigné et que l'on a choisi "cas" pour le voisin, un coup de molette (wheel) sur le champ fait apparaitre un nouveau dialogue pour saisir des voisins conditionnels (suivant la position d'aiguilles).

Le programme ne fonctionne qu'avec Processing 4.

Pierre

DDEFF

  • Hero Member
  • *****
  • Messages: 747
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #312 le: janvier 23, 2024, 05:24:07 pm »
@Pierre,

Merci, je vais décortiquer ton programme.

@tous,

J'ai oublié de dire une chose essentielle dans mon programme : il faut décaler la fenêtre qui s'ouvre pour voir les dialogues derrière !
D'habitude, les dialogues sont au premier plan, mais pas là.
Donc, la première fois qu'on lance le programme, il faut décaler la fenêtre qui s'ouvre (par exemple à gauche) et ainsi voir les questions posées qui, elles sont toujours au milieu.
Après, plus besoin de décaler le fenêtre, elle s'ouvre au bon endroit et on voit les dialogues.

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

DDEFF

  • Hero Member
  • *****
  • Messages: 747
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #313 le: janvier 27, 2024, 07:00:09 pm »
Bonjour à tous,

J'ai bien avancé sur l'éditeur JSON.
On peut maintenant rentrer tous les segments et les appareils de voie.

C'est à base de schémas qui permettent de se représenter la situation des différents éléments, avec leur orientation.

On évite ainsi de savoir si on est dans le sens "pair" ou "impair" et de se tourdre le cou et de se représenter avec les doigts  ;D pour savoir si c'est "gauche" ou "droite".
Je ferai, évidemment, la modification pour que "0" s'écrive "gauche" et "1" s'écrive "droite".

De même, je n'ai pas (encore) donné de "sens" aux appareils de voie car il y a des situations ambigües (j'ai des exemples).

Ce sera automatique, par consultation des éléments simples voisins, de proche en proche :
Exemple, sur le Locoduinodrome :
Z4 a comme voisins Z6 (pair), Z2 (pair) et Z3 (banalisé, donc, entre autres, pair) => Z4 est pair
Z3 a comme voisins Z5 (impair), Z1 (impair), Z4 qu'on vient de définir pair et Z0 (banalisé) => Z3 banalisé

Par ailleurs, grâce aux schémas, on doit faire moins d'erreurs de saisie et je vais ajouter des couleurs dans les cases des voisins :
Vert : on retrouve bien la zone voisine dans les zones déjà saisies et chacune est voisine de l'autre.
Orange : on ne retrouve pas (encore) la zone saisie comme voisine dans les zones existantes
Rouge : on retrouve bien la zone saisie dans les zones existantes, mais pas avec une parité compatible (pair d'un côté et impair de l'autre)

Par contre, là, j'ai vraiment besoin de savoir comment on rentre une tjd, une tjs et ... un croisement (l'éternel vilain canard  :() dans le JSON. J'ai mis quelque chose, mais je ne suis pas sûr de moi.

Denis
PS : Il faut décaler l'image pour voir les questions. Ça m'embête aussi
« Modifié: janvier 27, 2024, 07:19:23 pm par DDEFF »
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2922
  • 100% Arduino et N
    • Voir le profil
Re : Projet partagé d'un gestionnaire de réseau
« Réponse #314 le: janvier 28, 2024, 04:00:48 pm »
Bonjour Denis,

Aurais-tu le mode d'emploi de cet éditeur ?

Merci d'avance

« Modifié: janvier 28, 2024, 04:04:51 pm par Dominique »
Cordialement,
Dominique