redémarrage du réseau après plantage

redémarrage du réseau après plantage

Messagepar jpp38 » 20 Décembre 2014, 16:19

CDM-Rail ne plante pas très souvent (et même jamais, en ce qui me concerne) quand on reste sur un fonctionnement classique.
Par contre, lorsqu'on essaye les dernières fonctionnalités (pas encore totalement "secouées"), ça peut arriver. Et alors là, bonjour galère, en RUN, pour remettre les trains à leur place. Du fait que le _RUN_CTXT n'a pas été généré puisque le programme a planté.

Je me le suis payé deux fois à Railexpo: j'essayais les nouvelles fonctions quand il n'y avait pas trop de monde. Et quand ça plante, ça prend entre 10 et 15 minutes pour tout remettre en place, surtout qu'on marche en aveugle, à ce moment-là. Quand ça arrive sur mon réseau perso, je rapatrie les trains à vue, en mode TCO, mais sur un réseau d'expo, je ne peux pas voir les trains réels qui sont du mauvais côté.

Je réfléchis donc à un moyen de mémoriser la position des trains, sans réécrire le .lay périodiquement (trop gros, trop lourd pour le disque).
J'envisage donc de faire générer et remettre à jour un deuxième fichier, fichier de contexte, qui mémorisera la position des trains sur le réseau, et la remettra à jour à chaque fois qu'un train change de bloc. Ce fichier serait beaucoup plus léger, et la remise à jour sur changement de bloc ne devrait pas trop solliciter le disque.

Voilà la réflexion du moment.

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

Re: redémarrage du réseau après plantage

Messagepar AGB » 20 Décembre 2014, 16:39

Salut JP
ça me semble une excellente idée. Par contre j'y vois une difficulté car si les trains continuent d'avancer après la plante le contexte mémorisé sera de toute façon différent de l'état réel, à moins que ce soit un process indépendant qui gère ça.
De toute façon ça ne peut être que bénéfique et comme toujours tes idées d'amélioration sont super.
Mais où s’arrêtera - t-il :thumb2: :thumb2: :thumb2:

Alain
Echelle N
Centrale "DCC_GEN" de PACO
Rétrosignalisation 4 et 8 voies basée sur le module "S88" de JPP
Commande d'aiguille par servomoteur avec modules " Servopoint" de PACO et switchpilot-servo-v2 ESU + module extension
AGB
 
Messages: 270
Inscrit le: 29 Octobre 2014, 20:04
Localisation: Val d'Oise

Re: redémarrage du réseau après plantage

Messagepar jpp38 » 20 Décembre 2014, 17:48

Salut Alain,

Oui, très juste. Mais là, le seul recours est de bondir sur le bouton d'arrêt de la centrale (STOP ou alim.) pour vraiment tout couper instantanément.
C'est certain que si on laisse faire, c'est le bazar en peu de temps.

Le gros problème qu'on rencontre lorsqu'on remet la centrale en route, c'est que sur beaucoup de centrales, tous les trains redémarrent à leur dernière vitesse mémorisée, et on ne sait plus par quel bout prendre le problème. Heureusement, en expo, la centrale Lenz remet toutes les vitesses des locos enregistrées à 0.
Mais ce n'est pas vrai pour les autres.

Ce que j'envisage, c'est de faire remettre ces vitesses à 0 par le logiciel, dès qu'il se connecte à la centrale, sur tous les trains présents dans sa galerie de trains.
Mais ça ne marchera qu'après connexion à la centrale: entre-temps, il faut vraiment la mettre en STOP, pour éviter que les trains ne battent la campagne.

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

Re: redémarrage du réseau après plantage

Messagepar gily » 20 Décembre 2014, 18:46

bonjour

en effet l'effondrement système (terme technique désignant le "plantage" :lol: ) rend toute la belle mécanique hors contrôle. Aussi, seule une intervention humaine permet d'arrêter les trains le plus rapidement possible. Or il se trouve que l'effondrement système se produit presque toujours lorsque l'on a son attention portée ailleurs que sur le réseau :roll: . Il existe un dispositif autonome qui s'appelle "chien de garde" qui ouvre un relais lorsque la centrale n'envoie plus d'ordre au bout d'un certain temps paramétrable. (ou bien c'est par la rétrosignalisation que çà passe ou bien par le port USB) je ne suis plus sur. C'est un dispositif que j'avais vu sur internet il y a quelques mois déjà, mais plus moyen de le retrouver....

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

Re: redémarrage du réseau après plantage

Messagepar jpp38 » 20 Décembre 2014, 20:08

Bonjour,

Si tu le retrouves, ça m'intéresse.

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

Re: redémarrage du réseau après plantage

Messagepar gily » 20 Décembre 2014, 20:47

j'ai retrouvé!!
[url]
http://www.dccsupplies.com/item-p-10269 ... der-wd-dec[/url]

mais j'ai l'impression que çà surveille la centrale, pas ce qui la commande comme le pc... Quoique dans la description, il est dit que "si le pc perd le contrôle..." donc à voir....

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

Re: redémarrage du réseau après plantage

Messagepar jpp38 » 21 Décembre 2014, 09:12

OK, merci.

Je vais regarder ça.

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

Re: redémarrage du réseau après plantage

Messagepar jpp38 » 26 Octobre 2015, 20:08

Je rembraye sur ce sujet, après quelques observations supplémentaires.
Je précise que, en expo, ce type de plantage n'arrive que quand on joue beaucoup avec les modifications de trains, ou placements dynamiques de trains.
Lorsqu'on laisse tourner les trains, ça peut tourner une journée complète sans problème.
A la dernière expo, c'est arrivé après 6 heures de fonctionnement ininterrompu, et énormément de manips sur trains.

Il y a deux problèmes à résoudre:

1) le problème de la détection de dysfonctionnement du logiciel de pilotage, ou du PC.
2) Le problème du redémarrage "dans l'état".

DETECTION DE DYSFONCTIONNEMENT
================================

Là, il n'y a pas 36 solutions: il faut en effet un "watchdog", indépendant du PC principal, qui détecte que le PC ou logiciel a un problème.
Le principe du watchdog LDT (voir message de gily ci-dessus) est très bien (envoi d'une commande d'aiguille à intervalle < 5 secondes).
Par contre, apparemment, il repose sur une connectique 5 broches, entre centrale et booster, qu'il interrompt.
Mais ça suppose d'avoir des boosters, ... et cette connectique n'est pas supportée par Lenz.

Je pense donc à faire quelque chose de ce style compatible Xpressnet. Et ce watchdog enverrait donc la commande Power Off via le bus Xpressnet.

L'autre solution serait d'avoir un logiciel watchdog, sur un autre PC (avec une autre interface), et reliée au PC principal via Comm/IP. C'est quand même assez lourd.

Donc pour le moment, la solution, c'est le bon "STOP" sur la manette physique reliée au réseau.


REDEMARRAGE DANS L'ETAT.
=========================

Lors qu'on remet en route, il y a deux problèmes:
- le redémarrage des trains à leur vitesse antérieure, alors qu'on voudrait qu'ils s'arrêtent (en fait, c'est ça, le pire problème).
- le repositionnement des trains à l'endroit ou ils se sont arrêtés.

EVITER LE REDEMARRAGE PARASITE DES TRAINS
-----------------------------------------------------------

Si on n'éteint pas la centrale, dès qu'on enlève le STOP , ou le OFF, en réappuyant sur le bouton STOP, tout redémarre à la vitesse antérieure.
Même si on éteint la centrale, et si on la rallume, il arrive que tout redémarre aussi, même parfois avec la centrale Lenz en mode MANUEL, qui est supposé remettre toutes les vitesses à 0.

Pour le moment, dès qu'on relance CDM-Rail, et qu'on se connecte à un serveur, ça supprime le STOP ou le OFF, donc tout redémarre. alors qu'on n'a pas relancé le RUN. Et ça, c'est très déroutant, surtout quand on est dans la situation un peu stressante, où tout vient de planter.
Mettre en OFF par défaut au redémarrage, ça pose problème, parce que beaucoup d'opérations (tests de configuration d'aiguille, de détecteur, étalonnage de trains) supposent que l'on ne soit ni en STOP, ni en OFF, et quand ça ne marche pas, on ne pense pas toujours à ce bête détail.

J'envisage donc de mettre une option (de RUN), pour dire si on veut mettre ou non la centrale en OFF, lors de la connexion au serveur.
Je pense d'ailleurs que cette même option permettra d'envoyer automatiquement les commandes de vitesse 0 à tous les trains configurés dans la galerie, au moment de la connexion au serveur. La condition nécessaire pour que ça marche est de charger le réseau AVANT de se connecter au serveur.

D'autre part, je vais aussi mettre en place la détection automatique d'un contexte d'urgence généré depuis moins de 5 minutes, qui permettra de voir si un plantage s'est produit. Et lorsqu'on charge le réseau, CDM-Rail proposera de restituer ce contexte d'urgence AVANT connexion au serveur. Et une fois faite cette restitution, toutes les locos présentes dans le contexte d'urgence auront leur vitesse remise à 0.

REDEMARRAGE A PARTIR DU CONTEXTE D'URGENCE
--------------------------------------------------------------

Relancer le RUN à partir du contexte d'urgence, ça ne marche pas ... parce que les trains ont en général dépassé la dernière position stockée, et parfois au-delà de la zone de détection suivante. Donc, il ne faut pas compter dessus.
par contre, il donne quand même la position approximative des trains, ce qui simplifie quand même considérablement l'opération de recalage manuel des trains réels et des trains virtuels.

Il faut:
  • Repositionner chaque train virtuel proprement de façon à ce qu'il soit complètement sur un canton (surtout pas à cheval sur deux cantons).
  • Repositionner les trains réels (à la manette) à la position des trains virtuels.

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

Re: redémarrage du réseau après plantage

Messagepar gily » 27 Octobre 2015, 10:58

Bonjour

à propos des chiens de garde, ne pourrait-il pas s'agir d'un petit programme tiers qui se lance en parallèle de CDM, et qui envoie un stop à la centrale en cas de fermeture de CDM? En effet lorsque CDM se plante, les autres threads associés aux programmes lancés sur le pc continuent eux, de tourner. C'est un peu un chien de garde soft, en remplacement d'un chien de garde "hard".

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

Re: redémarrage du réseau après plantage

Messagepar midav91 » 27 Octobre 2015, 15:11

Bonjour à tous,
Jean Pierre, je reviens sur ton propos au sujet du redémarrage après plantage.
En effet, j'ai pu constater qu'on ne se rend pas facilement compte d'un plantage, surtout dans un délai très bref :?
Cela a pour conséquences que les trains ont fait pas mal de chemin depuis l'instant du plantage et que souvent (surtout sur un réseau un peu compliqué) certains trains se sont retrouvés mal aiguillés (et d'ailleurs, c'est bien souvent cela, en provoquant un court circuit lorsqu'un train arrive sur une aiguille mal positionnée, qui donne le signal du plantage - on n'a pas les yeux constamment rivés sur l'écran :roll: !!).
Tout cela pour confirmer que, comme tu le dis, relancer le RUN directement avec le contexte d'urgence actuel est impossible :
Relancer le RUN à partir du contexte d'urgence, ça ne marche pas ... parce que les trains ont en général dépassé la dernière position stockée, et parfois au-delà de la zone de détection suivante. Donc, il ne faut pas compter dessus.
par contre, il donne quand même la position approximative des trains, ce qui simplifie quand même considérablement l'opération de recalage manuel des trains réels et des trains virtuels
Par contre, d'après mes constatations, le contexte d'urgence se retrouve généralement TRÈS différent de la position réelle des trains, et dans mon cas (avec ce réseau "tortueux"), tout recaler devient vite "inextricable" :cry:

En conséquence, il m'est apparu beaucoup plus simple et rapide de procéder ainsi :
- réinitialiser la centrale (coupure et remise sous tension), après une fermeture de CDM sur plantage,
- recalage avec la manette, des trains réels à la fin du canton sur lequel ils se trouvent (pour ceux uniquement qui le nécessite),
- redémarrage CDM, puis tout simplement je relance la fonction "trains" "positionnement" pour tous les trains sur les cantons qu'ils occupent réellement, avec leurs itinéraires respectifs (en fait cela est quand même rapide, par exemple pour mes 8 trains, cela demande moins d'une minute ! - sachant que j'ai nommé mes itinéraires avec le même nom que les trains auxquels ils s'adressent - donc pas besoin de se gratter la tête !).
Là, le RUN redémarre sainement, y compris en tenant en compte des temps d'arrêts programmés (des itinéraires).
A noter : parfois si un train se retrouve, suite à un mauvais aiguillage lors du plantage, sur un canton non compris dans son itinéraire, je lui affecte un itinéraire compatible que je remplace ensuite en cours de RUN par son itinéraire dédié.

Mais si les "chiens de garde" permettent de résoudre le problème ...courage :thumb2:
A+
Michel
Michel
Centrale Lenz, Rétro LDT RS8, Décodeurs LS150
midav91
 
Messages: 875
Inscrit le: 26 Mars 2013, 09:51
Localisation: 91 IdF

Suivant

Retourner vers Pilotage du réseau réel

Qui est en ligne ?

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