Auteur Sujet: Modélisation logicielle d'un réseau - le système de Denis  (Lu 25439 fois)

simontpellier

  • Newbie
  • *
  • Messages: 47
    • Voir le profil
Re : Modélisation logicielle d'un réseau - le système de Denis
« Réponse #75 le: novembre 03, 2020, 03:51:53 pm »
... !! reconnaitre quoi ?? Arc tangente de 1/2 à la 5éme décimale ?!!
Moi je me souviens de 1.414, 1.732 et 3.14159. Un peu plus avec "que j'aime à faire connaître un nombre..." mais pas beaucoup. Quant-au 122 vers de "la mer toujours recommencée" je dis pas le mal (non, pas de mer) et que c'est moi qui doit toujours recommencer.
Vous êtes des "bêtes" ! Des matheux quoi.

Bon Denis... pour ce qui est de la TJD ce que je voulais dire c'est qu'idéalement et vu que contrairement au croisement son dessin n'a qu'une symétrie, il faudrait pouvoir avoir huit représentations.
Par exemple ici il y a une qui n'est aujourd'hui pas possible sur Edit_TCO.


Mais je suppose que le cas est traité par TRAIN_TCO ? Je ne vais pas tarder à voir ça. Je nomme et je mets le fichier ici.
Merci pour ta réponse

ah... les retournements. Oui, deux ! parce que JE VEUX FAIRE DES HUIT (et sans arrêts) ! Là ! Mais sauf erreur, le découpage en zones que j'envisage devrait en faire juste un cas parmi d'autres.


Philippe

DDEFF

  • Hero Member
  • *****
  • Messages: 598
    • Voir le profil
Re : Modélisation logicielle d'un réseau - le système de Denis
« Réponse #76 le: novembre 03, 2020, 04:31:02 pm »
Tu donnes 5 positions. OK

Tu noteras que l'ombre des 4 premières est différente, mais que l'ombre de la 5ème est la même que la première.
On n'a donc que 4 positions possibles pour un croisement ou une TJD.

Par contre, dans Trains_TCO, tu verras que, pour chaque "ombre", la voie donnée peut avoir 4 positions.
Dans le pavé de la palette, j'ai pris l'une des 4 positions possibles pour la voie donnée.

Bon courage pour bien découper ton réseau vis à vis des voies de retournement pour éviter les courts circuits  ;D

Pour Trains_TCO, c'est géré.

Denis :P

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2094
  • 100% Arduino et N
    • Voir le profil
Re : Re : Modélisation logicielle d'un réseau - le système de Denis
« Réponse #77 le: novembre 03, 2020, 06:16:07 pm »
Bonjour Philippe,

Ensuite commence ce que je ne comprends plus bien.
- un TCO qui commande les aiguilles et rétro-signale leur position et peut-être aussi les signaux, c'est le minimum. Les commandes de vitesse, pour moi non, je préfère des manettes physiques, des joysticks en l'occurrence.
- un + important est la visualisation de l'occupation des zones et cantons car on peut ainsi surveiller que tout ce passe bien du côté des libérations, ce qui me semble le principal et réel voire seul intérêt. Pas (encore) besoin d'un gestionnaire pour ça.
- ensuite viendra la question des itinéraires : c'est bien ça la véritable vocation du gestionnaire ? Je pense que oui.
- mais alors, qu'en attend-on ? Il y a une bonne partie des réponses dans le fil mais je ne suis pas encore prêt à tout comprendre. Je m'interroge tout de même, outre l'intérêt de s'amuser et casser la tête à le programmer (plaisir que je comprends et partage), sur celui de faire circuler des trains virtuels sur le TCO. Pour une simulation oui, bien sûr, mais en couplage avec un réseau sur lequel les trains tournent devant toi (à priori!) ? D'autant que CDM_rail, qui est un simulateur, gère les itinéraires et, d'après ce qu'il me semble, peut aussi prendre en charge le contrôle d'un réseau physique ?

Je te rejoins et j'ai décidé de matérialiser un TCO (un Arduino Mega) pour visualiser les occupations et positionner les aiguilles à la main , puis un module de commande des aiguilles (un Mega caché sous la plaque à coté de l'écran 5 pouces) puis une centrale (DCCpp bien-sur, encore un Mega) capable de piloter 12 trains avec des potars linéaires (j'adore), tu les vois à droite sur la photo (le bloc noir) :



puis un module de programmation des locos (à gauche, pas aussi sophistiqué que ce que fait Denis, mais ça me suffit) et enfin un gestionnaire basé sur le gestionnaire en C++ de Pierre qui occupe un Due avec un écran 5 pouces tactile.
Il y a en plus des détecteurs de consommation, des détecteurs RFID pour déterminer les trains à coup sur et des détecteurs ponctuels pour les zones d'arrêt. Un jour il y aura des barrières infrarouges pour compter les wagons et vérifier que les trains n'en perdent pas (ça se passera dans les tunnels).
Tout ce petit monde est relié par un bus Can (c'est d'ailleurs le truc qui pose le moins de problème dans l'ensemble du réseau !)
Je n'ai pas choisi Processing et je reste dans l'environnement Arduino qui me comble assez pour le moment  8)
L'écran 5 pouces fait donc partie du gestionnaire et permet de suivre son propre fonctionnent par les affichages et aussi de piloter les aiguilles (faire des itinéraires), de piloter les trains (suivre les trains, varier les vitesses, assurer la sécurité, les arrêts, les pannes, etc..)
Voici un exemple avec 4 trains stockés en gare cachée (sous le village) et un itinéraire pour un premier train qui démarre pour aller dans la gare visible devant le village (en faisant le grand tour) :



Puis un 2eme train avec un autre itinéraire (plus court, mais dans l'autre sens) pendant que le premier se déplace (il démarre) :



A noter : j'ai supprimé le segment noir qui est remplacé par rien sur les positions d'aiguilles non réalisées : on voit mieux le chemin à parcourir sur un petit écran.

Les boutons permettent à mon petit fils (4 ans) de faire marcher tout ça sans moi (enfin je reste pas loin).
Et je n'ai pas fini et je passerai à 7 pouces prochainement .
Mais le virtuel, ça m'a passé  ;D
De plus je garde le contrôle manuel à tout moment ! Tout n'est pas automatique.

J'arriverai, un jour, à finir de tout décrire sur mon sujet :
https://forum.locoduino.org/index.php?topic=290.msg11141#msg11141

Dominique
« Modifié: novembre 04, 2020, 10:07:24 pm par Dominique »
Cordialement

simontpellier

  • Newbie
  • *
  • Messages: 47
    • Voir le profil
Re : Modélisation logicielle d'un réseau - le système de Denis
« Réponse #78 le: novembre 04, 2020, 07:31:04 pm »
Bonsoir Denis,

c'est gagné ! j'ai réussi à faire rouler un train virtuel. Le nommage s'est bien passé, c'est aussi souple et astucieux que le dessin des voies.
Le rendu dans TRAIN_TCO est très joli, très propre.
Mais je n'ai trouvé à télécharger qu'une version de 2018, 1.7.0; elle est très instable, lente à réagir, le bloc de commandes est minuscule et ne se grossit que peu et difficilement, et le choix des itinéraires et très limité puisque les aiguilles ne sont pas manœuvrables. Mais c'est plein de promesses.
Je mets le .tsv est en PJ.

Autre chose : j'ai vu ton architecture matérielle avec le PCduino à 70euros ; je te signale (peut-être ?) une nouveauté Rasberry pour 70euros également, plus puissant je crois et avec l'avantage d'avoir un clavier... on ne peut même pas dire intégré puisque tout est dans le clavier !



et bonsoir Dominique,

c'est impressionnant ! Et ça illustre très bien la globalité de ce qui est nécessaire à la conduite d'un réseau. J'ai eu des yeux ronds en voyant ce que tu sortais sur l'écran 5", j'ignorais qu'on pouvait faire ça (maintenant j'ai vu la librairie dans ton fil). J'aurais vu ça avant je n'aurais peut-être jamais ouvert un fil qui parle de "processing" car j'étais parti sur l'idée d'un réseau "tout Arduino". Mais ayant pu constater ce que permet processing, j'envisage j'avoue de laisser Denis me simplifier la vie ! De plus je dispose d'une tablette tactile windows de 11" ! Même si ça n'est pas encore l'écran mural de 26". Reste que je veux moi aussi avoir un mode tout manuel, donc à voir.

Bien amicalement
Philippe

DDEFF

  • Hero Member
  • *****
  • Messages: 598
    • Voir le profil
Re : Modélisation logicielle d'un réseau - le système de Denis
« Réponse #79 le: novembre 04, 2020, 08:08:15 pm »
Bonsoir Philippe,

J'ai eu cette nuit un plantage de mon NAS (Synology 212J). Il ne s'allume plus.
J'en ai commandé un en urgence. Demain (disent-ils...) ou après demain ?
Je n'ai pas perdu mes données (2 disques en RAID1), mais la boi-boite est HS, brutalement, sans prévenir.

Dès que je peux, je t'envoie la dernière version, nettement améliorée, Trains_TCO_V1_9_1.
En attendant, l'avant dernière :

https://www.locoduino.org/IMG/zip/train_tco_v1_9_0.zip

Tu n'as rien à faire, sauf de mettre ton fichier dans de data de la V1_9_0.

Bien amicalement
Denis :P

DDEFF

  • Hero Member
  • *****
  • Messages: 598
    • Voir le profil
Re : Modélisation logicielle d'un réseau - le système de Denis
« Réponse #80 le: novembre 06, 2020, 09:32:17 am »
Bonjour Philippe,

J'ai un nouveau NAS (livré en 1 jour) , transféré les disques dans le nouveau NAS et, 10 minutes après, c'était bon !!
Les NAS, c'est génial. ;D ;D

Donc, j'ai testé ton réseau avec la 9_1 : fonctionnement impeccable.
Les itinéraires, même les plus complexes, fonctionnent.
Pense à déplacer ton pupitre  sur la droite.
Il y a quand même une erreur de dessin en haut à gauche (je pense que tu as voulu faire une TJD).

Pour Dominique :
Je teste actuellement un pupitre de commande de trains avec Decoduino.
Avec une limitation de taille : 1 seul train (L298 oblige) sur un rond qui fait office et de voie de programmation et de "réseau", moyennant un inverseur double (DPDT).
Je vais faire marcher ça avec l'Arduino UNO.
Je vais utiliser tout ce qui s'est déjà dit sur Locoduino à ce sujet (pas besoin de réinventer l'eau tiède), mais peaufiner l'interface Processing <-> UNO via le bus Série et DCCpp.

Petit à petit, mes trains vont devenir de moins en moins virtuels. ;)

Bien amicalement
Denis  :P

msport

  • Hero Member
  • *****
  • Messages: 1079
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Re : Modélisation logicielle d'un réseau - le système de Denis
« Réponse #81 le: novembre 06, 2020, 10:15:32 am »
1 seul train (L298 oblige) ...

On serait passé en G sans le dire ? Quand même, avec 2 A, ça fait un budget pour les utiliser avec des locos en N !
Cordialement

DDEFF

  • Hero Member
  • *****
  • Messages: 598
    • Voir le profil
Re : Modélisation logicielle d'un réseau - le système de Denis
« Réponse #82 le: novembre 06, 2020, 10:28:43 am »
OK, Michel   ;)

Je veux simplement commencer avec une seule loco (c'est d'autant plus facile que je n'ai qu'une loco DCC  ;D), mais je verrais après le passage d'une loco à l'autre.
Chaque chose en son temps.

Bien amicalement
Denis  :P

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2094
  • 100% Arduino et N
    • Voir le profil
Re : Modélisation logicielle d'un réseau - le système de Denis
« Réponse #83 le: novembre 06, 2020, 12:30:14 pm »
D’autant que sur une voie de programmation il n’est possible de ne placer qu’une seule loco (et même un seul décodeur).
Sur la voie principale il y a pas mal d’exceptions: ton programme les prend-il en compte ?
Cordialement

DDEFF

  • Hero Member
  • *****
  • Messages: 598
    • Voir le profil
Re : Modélisation logicielle d'un réseau - le système de Denis
« Réponse #84 le: novembre 06, 2020, 01:35:54 pm »
Ben, après, et c'est le but de ce fil (si, si), mon gestionnaire et un bus CAN... 8)

En ce moment, je vois tous les échanges nécessaires via la bus série (vers Arduino, pour débuter) et, à très court terme, les animations d'aiguilles, de manettes...
Je suis encore en phase purement Processing. Mais c'est presque fini.

Denis  :P

simontpellier

  • Newbie
  • *
  • Messages: 47
    • Voir le profil
Re : Modélisation logicielle d'un réseau - le système de Denis
« Réponse #85 le: novembre 06, 2020, 05:29:25 pm »
Bonjour Denis et tous (mêê non, pas "tousse"),

oui en effet, j'avais déjà pu apprécier le fonctionnement de la V9. Toujours très impressionnant ; j'ai sans faire exprès demandé l'itinéraire le plus compliqué peut-être et ton code s'en sorti brillamment

(Je suis rassuré au passage sur les possibilités de mon dessin)

et de plus en plus convaincu. Trouver aussi facilement un tel itinéraire, et je suppose qu'il n'y aura aucune manœuvre d'aiguille manuelle pour qu'il se réalise (?) (mais quid des priorités entre convois ?)... sûr qu'on ne peut plus faire marche arrière quand on y a goûté.

Je suis surpris que le code soit aussi compact. Je ne l'ai pas regardé mais bravo, déjà, pour l'algorithme de création d'itinéraire. Peut être tout cela aurait-il tenu sur un Mega ? Probablement limite et c'est en tout cas un bien qu'il soit déporté sur Processing et donc, à priori, sur un processeur autrement puissant.
L'inconvénient peut-être, et tu en parles, c'est le flux de données, à double sens dans ce cas et je suis dubitatif à l'égard du port série.

J'ai vu sur train_TCO et ton circuit d'essais qu'il est possible de régler quelque chose que je n'ai pas su faire (ni retrouver car j'étais certain d'avoir lu qq chose à ce sujet...) :
sur ton retournement qui passe par le niveau 2 (ou -1), la zone comprend bien à la fois les pavés des niveaux 1 et 2. Comment fait-on ça s'il te plaît ??


Bien amicalement
Philippe
(l'erreur en haut à droite ? Eh non, car c'est un petit bug dans le dessin des retraits : la voie tout en haut est au niveau 1, celle immédiatement en dessous au niveau 2 et son dessin croise celui du niveau 1 exactement à l'endroit du retrait derrière l'aiguillage de la boucle au niveau 1. D'où l'impression de couac mais non car ça ne joue pas sur le fonctionnement)
« Modifié: novembre 06, 2020, 05:43:11 pm par simontpellier »

DDEFF

  • Hero Member
  • *****
  • Messages: 598
    • Voir le profil
Re : Modélisation logicielle d'un réseau - le système de Denis
« Réponse #86 le: novembre 06, 2020, 07:06:04 pm »
Bonsoir Philippe,

Pour les zones bi-niveaux, tu sélectionne un niveau, tu crées la zone, puis tu passes à l'autre niveau et tu ajoutes les pavés.
Si tu as une zone avec un bout en niveau 0, un bout en niveau1, puis un bout en niveau 0, tu crées le niveau 1 (sans signaux), puis tu ajoutes les deux bouts du niveau 1 et, là, tu mets les signaux.

Voilà, voilà... 8)

A part ça, je note que le 02/11, tu n'avais pas fait le dessin et le 06/11, ton réseau marche. Et tu ne connaissais ni Edit_TCO, ni Trains_TCO.
Moi, je dis, "Chapeau" !

Concernant les priorités, c'est tout bête : tu mets un deuxième train...

Tu peux générer des itinéraires incompatibles, il seront réservés, mais les trains ne se rentreront pas dedans.

Bien amicalement
Denis  :P

simontpellier

  • Newbie
  • *
  • Messages: 47
    • Voir le profil
Re : Modélisation logicielle d'un réseau - le système de Denis
« Réponse #87 le: novembre 06, 2020, 08:51:42 pm »
... oui mais c'est parce que j'ai pris du temps pour bricoler ton code pour pouvoir prendre les aiguilles en manuel. Et faire des huit !
Ça permet de voir ce qu'il y a sous le capot ; belle mécanique !


DDEFF

  • Hero Member
  • *****
  • Messages: 598
    • Voir le profil
Re : Modélisation logicielle d'un réseau - le système de Denis
« Réponse #88 le: novembre 06, 2020, 09:19:58 pm »
Aucune chance que ça marche !
L'itinéraire est une pierre essentielle du programme.
TOUT tourne autour des itinéraires.

On ne peut pas bouger les aiguilles manuellement. Tu vas avoir des accidents

DDEFF

  • Hero Member
  • *****
  • Messages: 598
    • Voir le profil
Re : Modélisation logicielle d'un réseau - le système de Denis
« Réponse #89 le: novembre 07, 2020, 10:10:36 am »
Bonjour Philippe,

Je m'explique :

Dans mon système, un train n'existe que parce qu'il est sur un itinéraire.

D'ailleurs, au début, il n'y a pas de train sur le réseau. Et, pour en mettre un, on doit créer un itinéraire sur lequel le train se déplace.
Un train ne peut se déplacer que sur un itinéraire. Sinon, il va rester bloqué à la fin du dernier itinéraire que tu as demandé.
Pas d'itinéraire, pas de train...

On n'a pas besoin de commander les aiguillages, c'est l'itinéraire qui le fait.
Et, surtout, gère la façon dont les choses vont se dérouler (arrêter les trains quand c'est nécessaire, redémarrer quand c'est possible, ...)

De la même manière, le pupitre n'a pas de bouton AV/AR. Ça ne sert pas non plus.
Si on veut reculer, on efface l'itinéraire du train (double clic) et on en refait un dans l'autre sens.

Maintenant, je pressent que tu voulais ajouter des boutons d'aiguillages, c'est que tu voulais faire passer le train là, là et là.
C'est tout à fait possible :

Tu fais un itinéraire jusqu'au premier point. De là, tu demande un itinéraire jusqu'au deuxième point, puis du deuxième point, tu redemandes un dernier itinéraire jusqu'au 3ème point.

Le train va suivre les itinéraire enchaînés, avec arrêt ou non, suivant ce que tu lui as demandé en construisant les itinéraires.
À chaque demande d'itinéraire, le programme propose tous les itinéraires possibles entre les deux points. Le premier proposé n'est pas forcément celui que tu veux et on peut choisir celui qu'on veut (clic GAUCHE), puis le valider (clic DROIT)

Bien amicalement
Denis  :P