2191
Modélisation, Architectures logicielles et matérielles / Re : Modélisation logicielle d'un réseau - le système de Pierre59
« le: janvier 03, 2017, 07:57:15 pm »
Si c'est un truc aussi simple que ça, je peux le faire facilement avec mon TCO basé sur un Mega et qui communique via CAN avec le module de commande d'aiguille.
Actuellement j'ai un TCO en dur avec des inverseurs et 2 leds vertes pour chaque aiguille et une led rouge pour chaque zone (une zone peut contenir un élément de voie ou une aiguille, ou plusieurs).
Dans l'état actuel, chaque changement d'état d'un inverseur se traduit par un échange de message via CAN comme indiqué plus haut : http://forum.locoduino.org/index.php?topic=166.msg2274#msg2274
De plus, chaque détection d'occupation ou le libération se traduit par la commande d'une led rouge et l'envoi d'un message CAN
Le TCO ne connait pas la topologie du réseau !
Mais ce serait facile de lui donner cette possibilité par un simple ajout logiciel : la description des zones et aiguilles selon les objets de Pierre, avec les méthodes suivantePaire() et suivanteImpaire(). C'est pas plus gros d'un tableau et cela me semble plus lisible et modifiable.
Après, pour créer un itinéraire, cela peut être très simple (en ajoutant un bouton par exemple pour initialiser le processus). Par un appui long sur ce bouton, on sélectionne un point de départ sur lequel se trouve un train détecté, on change éventuellement de train en appuyant plusieurs fois. Un nouvel appui long trace alors l'itinéraire devant ce train en fonction de la positions des aiguilles, par exemple en faisant clignoter les leds rouges d'occupation. Le changement d'une clé aiguille trace alors un autre itinéraire. Quand l'itinéraire souhaité est visualisé, un dernier appui long permet de le transmettre au gestionnaire ou au module de commande d'aiguilles qui fera la mise en place des aiguilles les une après les autres comme il se doit (ce que fait bien mon module de commande d'aiguilles).
Personnellement ce n'est pas ce que je ferai puisque je vais ajouter un écran graphique sur le bus CAN, mais c'est un simple exemple de faisabilité (qui demanderait un peu d'effort quand même, je le reconnais).
Actuellement j'ai un TCO en dur avec des inverseurs et 2 leds vertes pour chaque aiguille et une led rouge pour chaque zone (une zone peut contenir un élément de voie ou une aiguille, ou plusieurs).
Dans l'état actuel, chaque changement d'état d'un inverseur se traduit par un échange de message via CAN comme indiqué plus haut : http://forum.locoduino.org/index.php?topic=166.msg2274#msg2274
De plus, chaque détection d'occupation ou le libération se traduit par la commande d'une led rouge et l'envoi d'un message CAN
Le TCO ne connait pas la topologie du réseau !
Mais ce serait facile de lui donner cette possibilité par un simple ajout logiciel : la description des zones et aiguilles selon les objets de Pierre, avec les méthodes suivantePaire() et suivanteImpaire(). C'est pas plus gros d'un tableau et cela me semble plus lisible et modifiable.
Après, pour créer un itinéraire, cela peut être très simple (en ajoutant un bouton par exemple pour initialiser le processus). Par un appui long sur ce bouton, on sélectionne un point de départ sur lequel se trouve un train détecté, on change éventuellement de train en appuyant plusieurs fois. Un nouvel appui long trace alors l'itinéraire devant ce train en fonction de la positions des aiguilles, par exemple en faisant clignoter les leds rouges d'occupation. Le changement d'une clé aiguille trace alors un autre itinéraire. Quand l'itinéraire souhaité est visualisé, un dernier appui long permet de le transmettre au gestionnaire ou au module de commande d'aiguilles qui fera la mise en place des aiguilles les une après les autres comme il se doit (ce que fait bien mon module de commande d'aiguilles).
Personnellement ce n'est pas ce que je ferai puisque je vais ajouter un écran graphique sur le bus CAN, mais c'est un simple exemple de faisabilité (qui demanderait un peu d'effort quand même, je le reconnais).