Objectif de l’atelier
Dans cet atelier nous allons voir avec des exemples concrets comment automatiser son réseau. Configurer les détecteurs sur le plan, leur associer des évènements et faire en sorte que Rocrail réagisse à ces évènements. Nous verrons également comment paramétrer les blocs, utiliser les restrictions et tendre vers une exploitation réaliste du réseau de manière totalement autonome.
Rappels de l’atelier 1 sur la réalisation du plan
Les objets utilisés
Dans un précédent atelier, nous avons mis en place sur le plan des zones. Chaque zone est équipée d’un bloc et de 2 capteurs de rétro-signalisation.
Bloc. Le bloc détermine une zone dans laquelle les machines pourront interagir de manière automatique. | |
Détecteurs. Les détecteurs permettent d’indiquer au logiciel qu’une machine rentre dans le bloc lorsqu’il est placé à l’entrée de celui-ci. Le second en sortie du bloc détectera que la machine est bien entrée dans le bloc. | |
Flèches. Elles permettent de définir un sens unique de circulation entre 2 blocs. Si le bloc peut être parcouru dans les 2 sens alors il n’y a pas besoin de définir de sens « imposé ». |
Vérifier l’intégrité du plan
La vérification du plan permet de mettre le doigt sur des erreurs (ex : des éléments de voies qui se superposeraient) ou des informations manquantes (ex : l’adresse d’une aiguille).
Cliquer dans le menu Fichiers > Routeur > Vérifier l’intégrité du plan. Dans la fenêtre en bas à gauche s’affiche le résultat de la vérification :
Dans cet exemple 5 signaux posés sur le plan n’ont pas reçu d’adresses. Idem pour 2 aiguilles. Corriger les problèmes, vider les messages (Menu Afficher > Effacer les messages, ou combinaison de touches « Alt + K »).
Relancer le vérificateur jusqu’à ce qu’il n’y ai plus d’erreurs. Les alertes (Warning) ne sont pas bloquants mais devraient également être traités dans l’idéal.
Généralités sur l’automatisation
Utiliser 1, 2 ou 3 capteurs par bloc ?
Qu’on se le dise de suite, Rocrail fonctionne naturellement en utilisant 2 capteurs par bloc. Soit une zone de ralentissement et une zone d’arrêt. Cela va à l’encontre de ce que l’on peut trouver avec d’autres systèmes qui utilisent 1 seul capteur. Mais ici Rocrail utilisera les CV de base utilisés pour les temps d’accélération et freinage (CV3, CV4). Alors que d’autres systèmes nécessiteront de configurer en plus d’autres CV et de régler les distances de freinage propres à chaque train sur les cantons. Donc les paramètres que vous réglerez sur les décodeurs serviront en marche manuelle et pour le mode automatique.
Cependant quelques exceptions subsistent. Un capteur seul pourra être utilisé mais cela résultera en des arrêts moins précis de la machine (en terme de position). En effet une seule zone sera utilisée pour ralentir et pour s’arrêter. Ce type de fonctionnement peu cependant être adapté à des zones en coulisse, donc non visibles et qui ne nécessitent pas d’arrêts précis.
3 capteurs pourront être utilisés par exemple pour arrêter une machine auto-motrice au centre de la zone. Soit 2 capteurs pour les extrémités et un 1 capteur central.
Les principaux évènements dans Rocrail
Dans Rocrail, des évènements doivent être attachés aux capteurs pour permettre au logiciel de réagir et prendre des décisions (arrêts, ralentissements, etc,…).
Dans cet atelier nous utiliserons les évènements suivants :
Évènement | Description |
« enter » | Le train entre dans le bloc. La vitesse est réduite à V_Mid dans le cas ou il n’y a pas de prochaine destination (bloc suivant n’est pas libre) ou si le train a pour consigne de s’arrêter. |
« in » | Si le train doit s’arrêter alors la vitesse est mise à 0. Le déclenchement de cet évènement libère également le bloc précédent qui était toujours réservé pour ce train. |
« shortin » | Cet évènement devra être associé au paramétrage (case à cocher) « Utiliser l’évènement shortin » présent au niveau des propriétés d’une locomotive. Il remplacera donc l’évènement « in ». Utilisé pour des trains courts (auto-motrice) qui doivent s’arrêter juste en face de la gare. |
« enter2in » | Cet évènement est dit « déclenché sur temps écoulé ». Il combine les 2 évènements « enter » et « in » (dans cet ordre). Le « in » est simulé et déclenché au bout d’un certain « temps ». Les évènements basés sur le temps sont à utiliser occasionnellement car peu précis. Le « enter2in » est donc à utiliser pour des blocs n’ayant qu’un capteur et comme indiqué plus haut, pour des zones ne nécessitant pas un arrêt précis de la locomotive (ex : en coulisse). |
Configurer l’automatisation
Par l’exemple avec un plan simple
Pour suivre l’exemple nous allons partir d’un plan simple. Composé de 3 blocs et d’un seul sens de circulation.
Assigner une adresse aux capteurs
La première étape du paramétrage va consister à assigner une adresse aux différents capteurs. Pour chaque capteur (fb1 à fb6), faire un clic droit sur le capteur puis « Propriétés ».
Dans l’onglet « Général », renseigner le libellé du capteur (identifiant). Ici « fb1 » pour feedback dont l’adresse est 1. Puis dans l’onglet Interface, renseigner l’adresse du capteur. Ici donc l’adresse n°1.
Pour finaliser le paramétrage du capteur, cliquer sur « Valider ». Faire de même pour chaque capteur présent sur le réseau.
Pour tester que l’adresse renseignée est bien la bonne, placer une machine sur la zone rétro-signalisée, et vérifier que le capteur passe au rouge sur le plan. Si ce n’est pas le cas, vérifier le câblage et changer l’adresse le cas échéant.
Router automatiquement tous les itinéraires
Une fois que tous les capteurs présents sur le circuit répondent correctement nous allons déterminer tous les itinéraires possibles. C’est là que les flèches que vous aurez pu placer sur le réseau prennent toutes leur importance. Pour rappel, si entre 2 blocs il n’y a pas de flèches, le système trouvera donc 2 itinéraires. Soit du bloc A vers B et du bloc B vers A. Si en revanche une flèche est présente cela imposera un sens unique.
Pour « lancer » le routage des itinéraires, dans le menu « Fichier », puis « Routeur », cliquer sur « Calcul » d’itinéraires.
Dans notre exemple, le système va trouver 4 itinéraires. Pour vérifier tous les itinéraires trouvés, aller dans le menu « Objets » et « Itinéraires ».
Associer capteurs et évènements aux blocs
À cette étape nous allons associer les capteurs liés aux blocs et indiquer au logiciel ce que le logiciel devra faire lorsque les capteurs du bloc se déclencheront (évènements des capteurs).
Nous allons configurer « bk1 » dans un premier temps. Dans notre exemple il est traversé de la gauche vers la droite uniquement, soit de « fb1 » vers « fb2 ».
Ici nous allons donc configurer « All enter + ». C’est à dire pour tout ce qui rentre dans le bloc par le côté « + ».
Ainsi nous utiliserons « fb1 » lorsque la machine entre dans le bloc (« enter ») et « fb2 » quand elle est dans le bloc (« in »).
Si le bloc pouvait être parcouru dans l’autre sens il aurait également fallu renseigner l’itinéraire « All enter – ». En inversant les 2 capteurs. Soit « fb2 » pour « enter » et « fb1 » pour in. Attention cependant à la longueur des zones. D’ailleurs pour un bloc en gare avec circulation dans les 2 sens il est préférable d’utiliser 3 capteurs avec une zone centrale.
Dans la fenêtre, l’on voit qu’il est possible de paramétrer les capteurs pour un itinéraire « bk3 » vers « bk1 ». Ici ce n’est pas utile car cela équivaut à la même chose que « All enter+ ». Mais dans un circuit ou un autre itinéraire amenait à bk1, on voit qu’il devient alors possible de gérer différent les interactions selon la provenance d’un train.
Il faut refaire la même chose pour « bk2 » et « bk3 » avec respectivement les capteurs « fb3, fb4 » et « fb5, fb6 ».
Exemples d’utilisations des capteurs
Nous avons vu comment assigner les évènements aux capteurs selon un itinéraire spécifique ou via l’itinéraire général (« all enter »).
Utiliser 2 détecteurs
C’est le mode de fonctionnement de base de Rocrail, une zone de ralentissement suivi d’une zone d’arrêt. C’est ce que nous avons mis en place ci-dessus. Après c’est le paramétrage du bloc (ex : temps d’attente, pas d’attente, machines autorisées, etc. ) qui sera à appliquer en fonction de l’exploitation que l’on souhaite faire du réseau.
Utiliser 3 détecteurs
Utiliser 3 capteurs peut s’avérer intéressant lorsqu’un bloc est parcouru dans les 2 sens ou lorsque celui-ci correspond à un arrêt en gare.
Ainsi dans notre exemple nous allons placer au centre une 3ème zone qui permettra par exemple à une rame automotrice de s’arrêter au centre (en face la gare) alors que les autres rames pourront s’arrêter après la zone centrale (rame voyageurs avec plusieurs voitures).
Dans notre exemple nous allons ajouter un capteur au bloc « bk3 » et imaginer que celui-ci correspond à une gare. Le nouveau capteur étant « fb7 ».
Puis nous allons configurer les itinéraires de « bk3 » pour faire réagir le système selon les capteurs prévus pour soient les capteurs « fb5, fb6 et fb7 ».
Ici les deux évènements « classiques » « enter in » et « in » sont utilisés pour les rames longues, alors que « fb7 » est lui utilisé sur la zone centrale et arrêter les trains juste en face de la gare. On lui associe l’évènement «shortin ».
L’utilisation de cet évènement « shortin » devra en complément être précisé aux niveaux des locomotives qui devront l’utiliser.
Utilisation d’un seul détecteur
Alors évidemment utiliser 1 capteur pour des raisons de coûts est tentant. Mais Rocrail est vraiment prévu pour fonctionner avec 2 capteurs et donc 2 zones. Techniquement il est possible de mettre 1 seul capteur et dans ce cas utiliser l’évènement « enter2in ». Mais cet évènement base l’arrêt de la machine sur un temps écoulé, résultant en des emplacements d’arrêts peu précis. En gros impossible d’arrêter une machine au pied d’un signal avec 1 capteur.
Il y a cependant des cas ou l’utilisation d’un seul capteur peut s’avérer intéressant :
- En coulisse, si la longueur de voie le permet (que la plus grande rame ne déborde pas de voie) et s’il n’est pas important que la machine s’arrête au centimètre près toujours au même endroit.
- Dans le cadre d’un va et vient et si toujours l’arrêt de la machine ne requiert pas un positionnement exact. Ce principe fonctionne très bien avec des autorails dont la longueur est relativement courte.
Paramétrer les blocs et les restrictions
Après la configuration globale des capteurs et blocs, nous allons pouvoir agir finement sur différents réglages des blocs et par conséquent gérer une exploitation fine du réseau. Et que l’on ne vienne pas me dire que l’on ne fait pas d’exploitation avec Rocrail 😉. Alors bien sûr il y a tellement de possibilités qu’il n’est pas possible de tout décrire… surtout que cela dépendra de l’exploitation recherchée par chacun, mais voyons quelques paramètres « basiques ».
C’est également à ce stade que prends tout l’intérêt d’un parc machines correctement renseigné (c.f. Atelier 2 : Gérer ses locomotives) puisque les différents paramètres (époque, type de motorisation, voyageurs, fret, etc.) vont entrer en jeu dans la phase de configuration de l’exploitation.
Temps de pause et arrêts
Accéder aux paramètres du bloc « bk1 » (clic-droit) et accéder ) l’onglet l’onglet « Détails ».
Ici le tableau « Pause » permet de choisir les modes suivants :
- Aléatoire : Le temps de pause sera d’une valeur tirée aléatoirement entre Min. aléatoire et Max. aléatoire.
- Constant : Le temps de pause sera identique pour tous les trains et déterminé par la valeur « constante »
- Locomotive : Dans ce mode le temps d’attente est celui-qui est déterminé au niveau de la locomotive (« Délai d’attente du bloc » dans les propriétés de celle-ci)
- Non : Le train ne marquera pas de pause (en général pour les blocs pleine voie)
- Stop : Tous les trains s’arrête et devront être remis en marche manuellement (double-clic sur le bloc)
S’il n’y a pas de bloc libre en amont d’un bloc :
- Le temps de pause définit va s’allonger jusqu’à libération d’un bloc amont
- Les trains s’arrêteront bien évidemment bien que définit en « Non »
La case électrification
Par défaut les blocs dans Rocrail ne permettent pas d’accueillir des machines à motorisation électrique. Si vous avez renseigné des machines en tant que telle et que vous testez le mode automatique vous obtiendrez un message de type :
No destination found for loco [BB525257] from block [bk3]; Check previous trace lines. [bk3][BB525257] No permission to run to a block. |
Pour permettre à une machine électrique de rouler jusqu’au bloc il faudra cocher la case « Électrifié ».
On voit donc qu’il est possible de faire une restriction simple d’accès au bloc selon la motorisation électrique ou non.
Autorisations
Avec Rocrail il va être possible de gérer des exceptions/autorisations fines sur chacun des blocs. Accéder aux paramètres du bloc « bk1 » (clic-droit) et accéder à l’onglet l’onglet «Autorisations».
Sans entrer dans le détail les autorisations permettront :
- D’autoriser (ou refuser) certaines machines
- Et/ou d’autoriser (refuser) certains types de trains.
- Et/ou d’autoriser (refuser) les trains de banlieues (c.f. paragraphe suivant)
- Et/ou d’autoriser (refuser) les trains par époque
Agrémentons notre plan
Afin de voir d’autres cas courants de mise en œuvre de l’automatisation, nous allons ajouter sur notre plan exemple, un terminus en coulisse représenté par « bk4 ».
Pour ce terminus, nous allons utiliser 1 capteur, ici « fb8 » et surtout ne pas mettre de flèche pour indiquer le sens de circulation entre « bk3 » et « bk4 ». Les trains devant circuler dans les 2 sens sur cet itinéraire, sinon le « jeu » se trouvera bloqué.
Ne pas oublier de recalculer les itinéraires.
On voit également de part les flèches (celles présentes sur la droite des blocs) que les trains ne pourront jamais rouler de « bk3 » vers « bk1 » (ni vers « bk2 »).
Ainsi nous allons devoir ici :
- Mettre en place un mode « terminus » sur « bk4 ».
- Ajouter des évènements « All enter – » pour le bloc « bk3 »
- Et autoriser les trains dits « de banlieue* » sur « bk3 ».
* Rocrail nomme « trains de banlieue », les trains qui ont la possibilité de faire demi-tour dans un bloc. Les trains arrivants en « bk3 » depuis « bk4 » sont en effet obligés de rebrousser chemin. Si ce n’est pas possible alors le « jeu » se trouvera bloqué.
Une gare terminus (ou va-et-vient)
Sur notre plan, « bk4 » doit être configuré en « Gare terminus ». Sur les propriétés du bloc, onglet « général » :
- Décocher « Permettre le changement de direction »
- Puis cocher « Gare terminus »
Puis dans l’onglet « Itinéraires », pour tout ce qui entre dans le bloc (« All enter + »), ajouter l’évènement « enter2in » au capteur « fb8 ». Soit ici un seul capteur.
Permettre aux locos de faire demi tour
Enfin pour finir notre plan exemple, nous allons ajouter les capteurs pour les trains entrants sur « bk3 » par le côté « – ».
Pour que les trains puissent faire demi-tour, il faut définir ceux qui ont le droit de le faire comme étant des trains de banlieue.
Tester, tester et tester
Hé oui ! On est toujours pressé de voir si ce que l’on a mis en place fonctionne en réel. Mais avant tout il est important de simuler les comportements sur le plan. Si la simulation est conforme aux résultats attendus alors il en sera de même en situation sur le réseau.
Pour pourvoir simuler le passage des trains sur les capteurs (au clic sur les capteurs), il faut vérifier que la centrale paramétrée accepte le mode virtuel. Dans le menu « Fichier », « Propriété de Rocrail »
Normalement en glissant des machines dans les blocs et en activant le mode automatique. Vous devriez pouvoir double cliquer sur un bloc et voir l’itinéraire se tracer. Puis simuler le passage de la machine en cliquant successivement les capteurs qu’elle est supposé traverser.
Activer le mode automatique en cliquant sur ce bouton de menu |
Quelques bonnes pratiques
Afin d’obtenir un bon fonctionnement et de belles exploitations en automatisme avec Rocrail, voici quelques bonnes pratiques :
- Renseigner correctement et précieusement son parc machine (Motorisation, Époque, Marchandise, Voyageurs, etc.). Ceci afin de pouvoir faire de l’exploitation et mettre en place des filtres fin au niveau des blocs (Tuto : Gérer ses locomotives avec Rocrail).
- Ne pas abaisser les valeurs des vitesses dans l’onglet vitesse des propriétés d’une loco (ex : Mettre V_Max à 60%)*. Même si cela va fonctionner, faire cela revient à réduire la précision entre 2 crans de vitesse du décodeur (14, 28, 128 crans). Il sera toujours préférable de laisse V_Max à 100 % et d’abaisser la vitesse de la locomotive en réglant une courbe de vitesse personnalisée (Tuto : Optimiser et programmer la courbe de vitesse).
- Activer le BBT.
Ces bonnes pratiques ayant étés évoquées lors de précédents tutoriels, je vous invite à vous y référer.
* Exemple : Prenons une locomotive (modèle réduit) équipée d’un décodeur à 14 crans de vitesse et qui au cran maximum avoisine les 200km/h. Dans la réalité cette locomotive roule de part son moteur d’origine à 120km/h. Si l’on réduisait V_Max à 60% pour caler à la réalité, la courbe de vitesse du décodeur ne serait plus calculée sur les 14 crans mais sur 8 crans du coup ! Et donc une accélération/décélération plus brutale entre chaque cran = perte de précision.
Le BBT
Sous ce terme barbare se cache un système assez pratique pour caler précisément les vitesses de ralentissement et d’arrêt des machines dans les blocs.
Sans entrer dans le détail, le BBT (pour Block-Brake-Timer), va permettre d’assurer l’arrivée des locomotives aussi précisément que possible à la vitesse « V_Min » sur le capteur d’évènement « in ». Et cela à force d’apprentissage. À chaque passage de la machine dans un bloc, le système va apprendre et tendre vers la meilleure courbe de ralentissement possible.
Pour que le BBT fonctionne, il doit être actif au niveau du bloc et au niveau des machines sur lesquelles ont veut l’appliquer.
Demander le plan
Si vous souhaitez recevoir une copie du plan rocrail détaillé dans cet atelier, merci d’en faire la demande via notre formulaire de contact.