Comme je l'ai expliqué, j'ai deux alimentations par voie, celle de la voie elle même et celle par caténaires. Ainsi je suis capable de faire rouler deux trains de façon distincte sur une même voie. Aussi cela pose le problème de la protection entre trains.

J'ai déjà évoqué le sujet dans la description du réseau, mes trains occupent un ou plusieurs cantons et :

  • Le premier canton libre derrière le train sera déclaré "arrêté" de sorte à ce qu'aucun train ne puisse y venir.
  • Le canton d'encore avant sera déclaré "ralenti" de sorte à ce que les trains n'atteingent pas le canton arrêté ce qui provoquerait un arrêt brutal désagréable.

fenetrePilot

Dans la fenêtre ci contre (agrandir pour voir les détails), on voit que le train 58 qui est stationné voie 1 occupe les cantons 34 et 35 puis que le canton 33 est arrêté (en rouge sombre) et le 32 ralenti (en jaune).

Les autres trains étant sur des tronçons non alimentés du fait des aiguillages, leurs cantons de protection ne sont pas activés sans quoi la voie serait bloquée pour rien.

Lorsqu'un train en suit un autre et atteint le canton ralenti, l'expérience m'a montré que la stratégie de ralentissement développée pour arriver en gare n'est pas assez efficace et fait que le train atteint le canton arrêté, il s'arrête alors brutalement ce qui n'est pas sain.

J'ai donc développé un procédure dérivée de la procédure de ralentissement ou la vitesse décroit de 2 pas toutes les secondes au lieu d'un pas toutes les deux secondes.

Cette stratégie fait que même si le train atteint le canton arrêté il y arrive à vitesse min et peu s'arrêter sans à coup brutal.

J'ai réalisé un script qui produit le cas d'arrêt total, la voie en gare n'étant pas libre pour quelques secondes.

PhB