Auteur Sujet: Gérez votre réseau (Le système de Denis)  (Lu 2750 fois)

DDEFF

  • Hero Member
  • *****
  • Messages: 558
    • Voir le profil
Gérez votre réseau (Le système de Denis)
« le: avril 25, 2019, 03:23:27 pm »
Ce fil décrit le gestionnaire de réseau qui fait suite au fil "Dessinez votre réseau (le système de Denis)"

Si vous arrivez là pour la première fois, passez directement à la fin (posts à partir du 29/05/20)

Si vous voulez la dernière version, allez au dernier post, à partir du 29/05/20
Vous y trouverez 4 tutos pour en connaître les possibilités.

Par contre, si vous avez une âme d'archéologue, vous pouvez tout lire et voir comment j'en suis arrivé à la version 9.

Denis
« Modifié: mai 30, 2020, 11:34:03 am par DDEFF »

DDEFF

  • Hero Member
  • *****
  • Messages: 558
    • Voir le profil
Re : Gérez votre réseau (Le système de Denis)
« Réponse #1 le: novembre 26, 2019, 02:56:24 pm »
Bonjour à tous !
Je mets au point  le mode d'emploi et les explications de ma nouvelle version pour vous les fournir bientôt.
Pour vous faire patienter, voici la vidéo de ce que ça donne avec 2 trains et 6 routes qui se croisent tous dans une zone commune.
La forme a peu changé, mais le fond, lui, beaucoup. ;)
C'est encore mieux en plein écran.



A bientôt
Denis
« Modifié: novembre 28, 2019, 06:33:37 pm par DDEFF »

DDEFF

  • Hero Member
  • *****
  • Messages: 558
    • Voir le profil
Re : Gérez votre réseau (Le système de Denis)
« Réponse #2 le: novembre 28, 2019, 06:32:59 pm »
Bonjour à tous !

Voici ma nouvelle mouture, entièrement revue.
J'ai surtout mis l'accent sur l'ergonomie des commandes, peu nombreuses mais puissantes.

Cahier des charges :

1°) Gérer des trains miniatures, c'est-à-dire conduire plusieurs trains depuis un écran avec une souris sans molette. Il n'y a pas besoin d'un clavier non plus.
Pas de menus déroulants, pas de texte à saisir, pas de choix dans des listes.

Quelques icones dans un menu, clic gauche, clic droit. C'est tout.

2°) Respecter les consignes SNCF, les règles de la signalisation, les arrêts en gare.

3°) Pas de description du réseau dans le gestionnaire. Pas de texte à rentrer dans un programme.
Même pas de sens arbitraire de circulation à définir !  :o

La description du réseau est dans l'éditeur, sous forme d'icones à déplacer, déformer et abouter dans une interface graphique.

4°) Dans l'éditeur, le seul texte à rentrer est le nom des zones8)

On n'a pas d'identifiant d'appareils de voies, pas d'identifiant de signaux à définir ni à gérer.
C'est le programme qui s'en occupe.
Le placement des signaux est fait par le programme, lors de la définition des zones dans l'éditeur.

5°) Recherche automatique des "routes" entre deux points quelconques : :P

Quand on définit les zones dans l'éditeur, celle-ci va d'un retrait à un autre retrait.
Le retrait étant l'endroit où on fait une coupure des rails sur le réseau de façon à isoler électriquement cette zone du reste du réseau.
Sur le TCO, il y a donc un "retrait" dans le dessin de la voie. D'où ce nom.

Très souvent, le retrait est associé à un ou deux signaux (de chaque côté du retrait). Mais il y a des retraits sans signaux, avec un signal ou deux signaux. Tout est possible.

Je définis la "route" comme le cheminement allant d'un retrait à un autre retrait.
Un "itinéraire" est un cas particulier de "route" où on part d'un signal carré vers un autre point.
Cette nuance est extrêmement importante.

Nulle part ne figure une liste des points de départ ou d'arrivée potentiels des routes (voir plus loin point 10°)

6°) On peut chaîner les routes. Exemple : route 1 de A à B et route 2 de B à C
Il y a deux types de chaînages :
-> Dans le même sens, c'est-à-dire qu'en B, le train poursuit sa route dans le même sens.
-> Dans des sens opposés, c'est-à-dire qu'en B, le train rebrousse chemin.

En combinant ces chaînages, on peut vraiment faire faire au train tout ce qu'on veut.
Un ovale, c'est A -> B puis B -> A, avec un chaînage dans le même sens à chaque fois
Une navette, c'est aussi A -> B puis B -> A, mais en changeant de sens à chaque fois.
Il n'y a pas de limite au nombre de chaînage pour un train.

7°) Arrêts en gare :  ;)

Nouveauté de cette version du programme.
On peut définir une durée d'arrêt en gare à la fin de chaque route.
Si on met "0", le train ne s'arrête pas en gare, tout simplement.

8°) Chaînages simples ou cycliques :

Vous voulez conduire un train manuellement, en respectant la signalisation, sur un réseau où évoluent plusieurs autres trains gérés automatiquement. C'est tout à fait possible.

Vous définissez pour chaque train automatique un cycle, c'est-à-dire une suite de routes où la dernière zone du cycle est la même que la toute première.
Une fois ce cycle défini, le train va l'exécuter indéfiniment, s'arrêtant à chaque gare la durée que vous lui avez donnée pour cette gare.
Vous pouvez ainsi définir autant de cycles que vous le voulez, sachant que la limite va vite venir si votre réseau est petit…

Puis vous définissez pour votre train manuel une suite de routes qui n'est pas un cycle, que vous complétez au fur et à mesure de vos envies.

Pour ce train, les routes s'effacent définitivement derrière votre train alors que, pour un cycle, elles ne s'effacement que temporairement et ne ressortent de la mémoire que quand c'est "leur tour".

Tous les trains respectent la signalisation. Et même si, pour votre train manuel,  vous mettez la manette "dans le coin" vous serez repris en main par le gestionnaire si le feu est au carré.

9°) Sur le pupitre, on affiche deux types d'information :

-> Le "CabSignal", c'est-à-dire qu'on répète "en cabine" le signal que voit le conducteur à ce moment.
   Est affichée    en blanc la vitesse de consigne, donnée par le curseur
en bleu clair la vitesse réelle du train.
   Le bargraph est de couleur allant du vert au rouge, de bas en haut. C'est la vitesse du train.
-> Une horloge qui donne la durée d'arrêt en gare (devant un carré, forcément)
   Est affiché en bleu clair la durée d'arrêt en gare
   Le bargraph est de couleur bleue claire et va en décroissant vers zéro.
A zéro, le train repart.

10°) Accidents, dérangements, travaux

Il y a à la SNCF, comme partout ailleurs, un fonctionnement "nominal" et un fonctionnement "dégradé".

-> Telle voie, définie normalement comme en sens unique, va devoir laisser passer des trains dans les deux sens suite à un dérangement.
-> Parmi tous les itinéraires possibles dans une gare, un certain nombre a été choisi car ce sont les plus efficaces. On en a la liste, on les a analysés dans les moindres recoins. C'est eux qui servent normalement.
Mais il est des situations où on doit pouvoir débrayer certaines protections, certaines sécurités pour les remplacer par d'autres, temporaires, avec des feux implantés spécifiquement pour la durée d'un chantier, par exemple.

Comme tout est possible, c'est pour cette raison que je ne définis aucune liste de points de départ valides et de points d'arrivée valides pour les routes. On doit pouvoir faire "n'importe quoi".

Pour l'instant, je ne gère pas la signalisation IPCS (Installations Permanentes de Contre Sens) sur les lignes à fort trafic et de VUT (Voie Unique Temporaire) adaptées à ces problèmes, mais ce pourrait être un beau sujet de gestion d'un réseau que de gérer un déraillement, avec toute la signalisation qui va avec.

Mais j'anticipe en créant les routes et pas seulement les itinéraires.

Enfin, sans aller dans les accidents, en zone de manœuvre, il n'y a que peu de signaux et il faut pouvoir aller partout, souvent dans les deux sens.

11°) Reste à créer :

-> J'aimerais bien qu'on puisse avoir une liste de son matériel roulant dans Excel, avec un certain nombre de caractéristiques (nom, longueur, …)
On pourrait ainsi "piocher" dans la liste les différents éléments pour composer son train et l'affecter à un pupitre.
Puis pouvoir faire des manœuvres (dételer/atteler un wagon)
Pour l'instant, c'est rudimentaire avec une composition fixe d'un  train, toujours affecté au même pupitre…
C'est faisable, mais, pour l'instant, je ne vois pas trop comment.  ???

-> gérer le pont tournant. Je sais le dessiner, le faire tourner dans l'éditeur, mais c'est tout.
Il faudrait pouvoir l'inclure dans une route : je vais de là à la voie 5 d'un coup d'un seul.
Là, j'ai des pistes.  :)

A suivre : le mode d'emploi.

CATPLUS

  • Sr. Member
  • ****
  • Messages: 260
    • Voir le profil
Re : Gérez votre réseau (Le système de Denis)
« Réponse #3 le: novembre 29, 2019, 06:03:17 am »
Bonjour Denis
Félicitation pour ce travail.
Comme tu parles d'Excel & que je suis un modeste utilisateur, j'ai réalisé un programme pour le suivi des trains dans les Sessions que nous fesons chez mon ami Gérard (réseau en N)

https://gerardrodrigue.wixsite.com/website

Base de données
=> Wagons (600)
       => Pour les wagons impossible d'installer RFID pour le moment (je n'en ai pas trouvé de trés trés petit) la gestion des trains se fait avec des Codes Barres suivant la liste demandée.
=> Voitures voyageurs (en cours)
=> Locomotives

Suivi des trains
=> 100 trains différents

Quelques Copies d'écran
Cordialement
Marcel


Best Regards

CATPLUS

  • Sr. Member
  • ****
  • Messages: 260
    • Voir le profil
Re : Gérez votre réseau (Le système de Denis)
« Réponse #4 le: novembre 29, 2019, 06:04:02 am »
Suite
Marcel
Best Regards

DDEFF

  • Hero Member
  • *****
  • Messages: 558
    • Voir le profil
Re : Gérez votre réseau (Le système de Denis)
« Réponse #5 le: novembre 29, 2019, 09:13:17 am »
Bonjour Marcel,

Heu...
Moi, ça va tenir, quand ça sera fait, sur 1.80 m x 2.90 m, avec 8 locos et une vingtaine de wagons...  :(

Par ailleurs, je suis abonné à Model Railroader et des réseaux comme New River Valley (NRV  ;D) sont effectivement courants en amérique.
Bien sûr, Digitrax, les petits cartons colorés dans des cases, des ponts qui finissent dans le vide en face avant, les Shays, les "croisements" à 90°...
En tous cas, c'est magnifique. Et, quel boulot !!

Bravo !

En tous cas, merci pour tes encouragements, d'autant que je n'ai pas encore développé le fonctionnement. ::)

Je note ton idée de base de donnée Excel, même si je vais faire beaucoup plus simple.
Ce serait bien si j'arrivais à l'intégrer.
Je m'explique :
Dans ta base, on n'est plus à une macro près. On peut en faire une qui extrait les quelques infos nécessaires au fonctionnement du gestionnaire dans un fichier indépendant.
Ce fichier, transformé en .tsv, serait utilisé par processing.
Cette partie ma parait assez simple (par rapport au reste).
A suivre

Denis




CATPLUS

  • Sr. Member
  • ****
  • Messages: 260
    • Voir le profil
Re : Gérez votre réseau (Le système de Denis)
« Réponse #6 le: novembre 29, 2019, 09:49:53 am »
Tout à fait
Contacte moi en MP
Marcel
Best Regards

DDEFF

  • Hero Member
  • *****
  • Messages: 558
    • Voir le profil
Re : Gérez votre réseau (Le système de Denis)
« Réponse #7 le: décembre 11, 2019, 11:49:35 am »
Bonjour !

Je m'étais fixé de publier avant Noël. Voilà...

1°) Ajout par rapport au cahier des charges publié le 28 novembre :

On lit couramment dans les gestionnaires "Le train le plus long doit être plus court que le canton le plus court".
C'est une incroyable simplification du problème.
J'ai passé de très nombreuses heures pour que la longueur du train ne soit pas un obstacle. On n'a pas ici de limite pour la longueur des trains.
J'ai volontairement choisi des cantons très courts pour voir les problèmes qu'il faudrait gérer. Et il y en a !

Évidemment, il reste des contraintes physiques : si vous rentrez avec un train de 1 m dans une boucle de retournement de 0.50 m, vous allez avoir un problème.
Et quelques autres cas physiquement incontournables. Mais pas logiquement, c'est tout à fait différent.

2°) J'ai fait la chasse aux bugs et, pour l'instant, je n'en trouve plus.
Il y a deux façons de "buguer" : le programme se plante ou on est dans une situation inextricable.
A vous de me trouver des cas où, sur votre réseau, ça coincerait et de me les remonter. Ce me sera d'une grande aide.
Si vous avez des suggestions, je suis preneur aussi.

3°) Il s'agit toujours de gérer des trains VIRTUELS.
Je m'occuperai de relier mon gestionnaire à un vrai réseau quand mon programme sera complet et ne buguera plus.
On s'en rapproche, fort heureusement.

4°) Les copies d'écran vidéo ne mettent pas la souris. Et un tuto va trop vite.
J'ai choisi de faire un pas à pas détaillé qui se trouve dans data\Mode d'emploi sous forme d'un fichier Word (.doc)
Si on le met en PDF, les images deviennent floues et sans intérêt.
Or, c'est justement sur les images (très nombreuses) qu'on saisit bien ce qui se passe.
Et un petit fichier d'installation en PJ de ce post.

Bon courage pour la lecture (24 pages !!!) ;D ;D ;D
Vous devriez être étonnés de voir tout ce qu'on peut faire avec 2 boutons, clic gauche, clic droit

Lien : https://drive.google.com/open?id=13ujMBybWwVgT63UC_OXMQFlpbEeVt66Z
Le lien fait 27 Mo, dont 24 Mo de fichier Word.
J'ai donc fait appel à mon Drive pour ne pas encombrer le site Locoduino.
J'ai un excellent antivirus à jour. La remarque de Google ne doit pas vous inquiéter au moment de télécharger.
De toutes façons, vous aussi, vous avez un excellent antivirus à jour  8)

Bon Noël si on ne se revoit pas d'ici là
Denis


Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2019
  • 100% Arduino et N
    • Voir le profil
Re : Gérez votre réseau (Le système de Denis)
« Réponse #8 le: décembre 14, 2019, 11:47:43 am »
Super Denis,

J'ai lancé sur mon Mac et je vois mon réseau chéri !
avec la nouvelle version de Processing 3.5.3
a suivre ...
Cordialement

DDEFF

  • Hero Member
  • *****
  • Messages: 558
    • Voir le profil
Re : Gérez votre réseau (Le système de Denis)
« Réponse #9 le: mai 29, 2020, 06:39:39 pm »
Bonjour à tous,

Je trouve qu'un tuto est nettement moins aride qu'un mode d'emploi (que personne ne lit).
J'ai donc fait 4 tutos pour entrer un peu plus dans les détails. D'autres sont en cours de réalisation.

Dans cette première vidéo, vous découvrirez la "prise en main de la version 9_0" de mon programme Processing de la gestion des trains.


Dans la deuxième vidéo, je détaille le bouton "Les routes simples"


Dans la troisième vidéo, je détaille le bouton "Les routes cycliques"


Et la dernière vidéo permet de découvrir la vraie nouveauté de la version 9_0 : "la gestion de la composition des trains".


Voilà le programme lui-même.
http://www.locoduino.org/IMG/zip/train_tco_v1_9_0.zip

Si vous lisez Locoduino régulièrement, vous verrez qu'une centrale DCC est en cours de préparation (http://forum.locoduino.org/index.php?topic=922.0) et qu'elle gèrera (dans une future version) le bus CAN pour accéder aux aiguilles, aux signaux, etc.
Ce sera alors un système complet gérant des vrais trains.

Mais il vous faudra patienter : il y a du développement à faire, avec de nombreux intervenants !
Pour vous donner une idée, ce programme Processing fait 7 500 lignes ...
Et j'ai encore plein de choses à ajouter.

Denis
« Modifié: mai 30, 2020, 11:33:10 am par DDEFF »