Pilotage des aiguillages en bretelle qui ont la même adresse

Pilotage des aiguillages en bretelle qui ont la même adresse

Messagepar gily » 22 Mars 2020, 12:02

Bonjour

Je rédige ce message (pour JPP car c'est assez technique) pour décrire un comportement étrange de CDM vue par un utilisateur des signaux complexes et que j'ai pu reproduire également.
C'est le cas du pilotage de deux aiguillages en bretelle comme ici , et qui sont tous les deux à la même adresse DCC (1) :

bretelle.jpg
bretelle.jpg (13.26 Kio) Consulté 1715 fois


Lors du pilotage par un clic (en mode RUN), seul l'aiguillage qui a été cliqué bouge à l'écran alors que bien sur en réalité on a les deux qui bougent physiquement.
Cela entraîne t- il une discordance lors des passages des trains ?! Car la position des aiguillages à l'écran de CDM ne correspond pas à la position physique :geek: Bon soit, mais l'aspect suivant du problème est davantage problématique:

Lors du renvoi de la position de cet aiguillage au client par CDM au début du RUN, il renvoie la position en droite puis en déviée dans le même paquet :? ce qui est incorrect. Je pense que, comme CDM considère deux aiguillages à la même adresse comme deux objets différents, au moment d'envoyer la position des objets, il les lit et les envoie tels quels, sauf qu'un objet peut être à la même adresse avec deux positions différentes suivant ce que j'ai écrit plus haut.

voici le log reçu au démarrage du run lorsque CDM envoie les positions d'aiguillage au client
1 Tick=2567 Aig=1=2 <- au démarrage l’aig 1 est en position 2 (droite)
2 Tick=2567 Aig=2=2
3 Tick=2567 Aig=3=1
4 Tick=2567 Aig=4=2
5 Tick=2567 Aig=2=2
6 Tick=2567 Aig=16=2
7 Tick=2567 Aig=1=1 <- puis elle passe en position 1 (déviée) ?! pourquoi, et au même instant (tick 2567) !!!


salutations
gily
 
Messages: 1130
Inscrit le: 25 Juillet 2014, 14:32
Localisation: nord

Re: Pilotage des aiguillages en bretelle qui ont la même adresse

Messagepar CC72000 » 22 Mars 2020, 17:11

Bonjour,

gily a écrit:Lors du pilotage par un clic (en mode RUN), seul l'aiguillage qui a été cliqué bouge à l'écran alors que bien sur en réalité on a les deux qui bougent physiquement.

Bien que CDM a détecté le doublon lors de la configuration, il y a forçage de la deuxième adresse par la Popup
DoublonAiguille.png
DoublonAiguille.png (6.39 Kio) Consulté 1695 fois


gily a écrit:Cela entraîne t- il une discordance lors des passages des trains ?! Car la position des aiguillages à l'écran de CDM ne correspond pas à la position physique :geek:

Seule l'aiguille cliqué bouge à l'écran, c'est normale puisque le "doublon" n'est pas mémorisée

gily a écrit:Je rédige ce message (pour JPP car c'est assez technique) pour décrire un comportement étrange de CDM

Il faudrait mémoriser le "doublon" par un bit dans cProtocolType de G_PROT_OBJECT des deux aiguilles pour que lors de la manœuvre d'une aiguille, CDM manœuvre l'autre aiguille, ou un pointeur de l'une sur l'autre (mais les pointeurs doivent être reconstruit au chargement de fichier).

Qu'en penses tu JPP ?
S'il n'y a pas de solutions, c'est qu'il n'y a pas de problème...
Michel.
CC72000
 
Messages: 3063
Inscrit le: 25 Octobre 2014, 08:30
Localisation: 21240-Talant - Dijon ( Côte d'Or / Bourgogne )

Re: Pilotage des aiguillages en bretelle qui ont la même adresse

Messagepar gily » 22 Mars 2020, 17:44

bonjour CC72000.

Il y a peut être la possibilité aussi que le programme client réagisse en fonction du numéro d'objet et de l'adresse (les deux sont transmis au client). En effet dans le cas de 2 aiguillages à la même adresse, le numéro d'objet est différent évidemment ; je ne devrais pas tenir compte de la position renvoyée qui correspond à l'aiguillage en doublon. Pour l'identifier le doublon, puis-je "supposer" que son numéro d'objet est supérieur au numéro d'objet de premier aiguillage? (car par construction, le double est forcément créé après l'original et donc son numéro d'objet serait supérieur) ?

ex:
aiguillage 1 objet=2
aiguillage 1BIS (doublon) = 122

donc je ne tiendrais pas compte de l'objet 122 ???? mais est-ce que cette "règle" est correcte ?

EDIT: est-il possible de recevoir différents évènements d'un même aiguillage (sans doublon) avec deux numéros d'objets difféents ?


Salutations
gily
 
Messages: 1130
Inscrit le: 25 Juillet 2014, 14:32
Localisation: nord

Re: Pilotage des aiguillages en bretelle qui ont la même adresse

Messagepar jpp38 » 22 Mars 2020, 18:29

Bonjour.

Pas simple. Je vais réfléchir à la question, mais c'est tordu.
Et encore, ce n'est rien par rapport à la bretelle double. Heureusement que pas grand monde n'utilise cette bébête.

Pour que je comprenne mieux, quand même....
gily, est-ce que tu pourrais m'indiquer quel genre de log (tel que celui que tu mets dans ton message) on aurait, dans le cas de 2 aiguillages en bretelle simple (comme ta figure). Parce qu'avec ton exemple à 4 aiguilles, je n'y comprends rien.

On suppose que l'aiguille en bas à gauche a le numéro d'objet 100, et que celle en haut à droite a le numéro d'objet 200.
les deux aiguilles sont en position droite au départ.
on clique sur l'aiguille objet 100 (donc en bas à gauche). ET donc, seule l'aiguille de code 100 bouge à l'écran. Quelle est la séquence de commandes envoyée dans ce cas?

JP
jpp38
 
Messages: 11187
Inscrit le: 31 Mars 2009, 10:15
Localisation: Grenoble (Isère / Rhône Alpes)

Re: Pilotage des aiguillages en bretelle qui ont la même adresse

Messagepar gily » 22 Mars 2020, 19:08

Bonjour jpp

Expliquer un problème clairement n'est pas simple, donc :
Voici la séquence que l'on aurait du trouver dans le log des aiguillages si on manoeuvre un des deux aiguillages de la bretelle par exemple en position 2 (droite) :

1 Tick=2567 Aig=1=2 (objet 100) correspond à la réception de la trame S-E-01-0143-CMDACC-ST_TO|035|05|NAME=2;OBJ=100;AD=1;AD2=0;STATE=0;
7 Tick=2567 Aig=1=2 (objet 200) correspond à la réception de la trame S-E-01-0143-CMDACC-ST_TO|035|05|NAME=2;OBJ=200;AD=1;AD2=0;STATE=0;

donc les objets 100 et 200 qui ont la même adresse DCC (1) devraient bouger en même temps (1=dévié ou 2=droit) donc ci dessus: droits tous les deux.

Or actuellement, d'après mes essais: quand on change la position de l'aiguillage 1 en cliquant sur l'une des deux aiguilles, il n'y a qu'un des deux objets qui change dans les trames IPC renvoyées au client (CMDACC-ST_TO) On reçoit bien deux trames mais l'une des deux contient un état erroné (STATE) ... voila le pb

Pour "résoudre" ce problème j'ai proposé dans mon message ci dessus de tenir compte du numéro d'objet pour la prise en compte de la position de la bretelle en supposant que le numéro d'objet le plus bas d'un même aiguillage (1 ici) est celui qui sert de référence. Ainsi j'ignorerai la trame de l'aiguillage 1 objet 200.
Est-ce correct?

Çà éviterait de modifier le code de CDM pour tenter de corriger la trame IPC transmise au client si c'est trop compliqué.

Voila pour l'instant 8-)
gily
 
Messages: 1130
Inscrit le: 25 Juillet 2014, 14:32
Localisation: nord

Re: Pilotage des aiguillages en bretelle qui ont la même adresse

Messagepar jpp38 » 23 Mars 2020, 08:29

Bonjour.

Merci, c'est clair. Malheureusement, je ne suis pas du tout certain que cette supposition autour des numéros d'objets soit correcte.
De toute façon, c'est un bug, et donc, on ne peut se baser sur aucune logique.
Cela dit, si toi, tu vois empiriquement se dégager une telle règle, rien ne t'empêche de contourner le bug de cette façon. Mais documente le bien, pour le supprimer plus tard, quand l'aura corrigé, sinon, il risquera de te gêner.

Il faudra résoudre ce problème proprement. Avec Michel, nous nous débattons actuellement avec trop de rustines faites à la va-vite, qui nous génèrent des régressions des années plus tard. Donc, à partir de maintenant, nosu essayons de prendre le temps de résoudre les choses .


En résumé, je note le problème, et je reviendrai dessus quand je pourrai. Mais on a pas mal de choses en route avec Michel.


Bonne journée.

JP
jpp38
 
Messages: 11187
Inscrit le: 31 Mars 2009, 10:15
Localisation: Grenoble (Isère / Rhône Alpes)

Re: Pilotage des aiguillages en bretelle qui ont la même adresse

Messagepar jpp38 » 23 Mars 2020, 08:55

J'ajoute que le fait de cliquer sur les aiguilles pour faire le chemin d'un train sans itinéraire n'est pas le meilleur moyen.
Il est bien préférable de faire un itinéraire à la volée pour aller d'un point à un autre. De cette façon, le train sans itinéraire réserve toutes ses aiguilles et a beaucoup plus de chances d'aboutir qu'en cliquant sur chaque aiguille.

Et en procédant ainsi, la parade est d'allouer deux adresses différentes aux aiguilles d'une bretelle simple, même si une seule des deux actionne le moteur sur chacune des deux aiguilles. de cette façon, les commandes sont explicitement envoyées correctement.


JP
jpp38
 
Messages: 11187
Inscrit le: 31 Mars 2009, 10:15
Localisation: Grenoble (Isère / Rhône Alpes)

Re: Pilotage des aiguillages en bretelle qui ont la même adresse

Messagepar gily » 23 Mars 2020, 09:22

merci jpp de ta réponse. Je vais essayer de dégager une règle avec les numéros d'objets...
sinon en effet, j'avais suggéré à l'utilisateur de câbler les 2 aiguillages de la bretelle à deux adresses différentes, garantissant le renvoi correct des informations. (évidemment çà consomme une adresse..)

salutations
gily
 
Messages: 1130
Inscrit le: 25 Juillet 2014, 14:32
Localisation: nord

Re: Pilotage des aiguillages en bretelle qui ont la même adresse

Messagepar fredo94 » 23 Mars 2020, 09:39

Bonjour pour ma part j ai ce cas de figure à un endroit du réseau et j ai câblé depuis le début chaque aiguillages a sont entrée de décodeur donc chaques aiguillages a une adresses différentes et cela fonctionne très bien
fredo94
 
Messages: 274
Inscrit le: 26 Mai 2019, 08:46

Re: Pilotage des aiguillages en bretelle qui ont la même adresse

Messagepar jpp38 » 23 Mars 2020, 09:42

Bonjour.

fredo94 a écrit:Bonjour pour ma part j ai ce cas de figure à un endroit du réseau et j ai câblé depuis le début chaque aiguillages a sont entrée de décodeur donc chaques aiguillages a une adresses différentes et cela fonctionne très bien


Avec gily, nous parlons de problèmes liés à Comm/IP. C'est de ça que tu parles aussi?

JP
jpp38
 
Messages: 11187
Inscrit le: 31 Mars 2009, 10:15
Localisation: Grenoble (Isère / Rhône Alpes)

Suivant

Retourner vers Pilotage du réseau réel

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité