Les scripts existent dans les fonctions, les déclencheurs et les temporisateurs. Ils définissent une séquence de commandes simples qui sont exécutées lorsque l’action atteint un état spécifique.

Les scripts se composent des commandes simples suivantes :

  • pin[] : Définit une broche de sortie à une valeur spécifique.
  • param[] : Définit un paramètre à une valeur spécifique.
  • pause() : Attend quelques millisecondes.
  • call() : Appelle une autre action sur le même module CTC, par exemple un temporisateur.
  • si () : Exécute les commandes sous le « si » uniquement si un paramètre a une valeur spécifique.

Dans le script d’une mission de conduite, il existe en plus la commande suivante :

Remarque :

  • Les commandes « call » et « si » créent une imbrication. Si l’imbrication d’un script dépasse 10 niveaux, celui-ci sera interrompu avec une erreur à partir de l’application CTC 4.40 et du firmware 20250627.
  • Le traitement des scripts et la modification des états sont documentés dans le fichier « Action-Log.csv » à partir de l’application CTC 4.40. Ce fichier se trouve dans le dossier de données de l’application CTC et est recréé à chaque démarrage (l’ancien contenu est écrasé). Il peut être consulté confortablement avec LibreOffice Calc (Excel peut fonctionner, mais ce n’est pas garanti).

Le moment où l’état d’une action change dépend du type d’action :

  • Les fonctions et les régulateurs de valeur sont modifiés par l’utilisateur de l’application CTC en appuyant sur un bouton correspondant ou en ajustant un curseur.
  • Les temporisateurs sont déclenchés automatiquement par le module CTC une fois après un certain temps ou à intervalles réguliers.
  • Les capteurs sont déclenchés par des interrupteurs. Ceux-ci peuvent être actionnés par une personne ou par une locomotive ou un wagon passant à proximité.
  • Les déclencheurs se produisent à la suite d’une autre action. Les déclencheurs peuvent être des fonctions, des régulateurs de valeur, des capteurs ou des identifiants lus par des locomotives.

Le niveau supérieur du script définit comment l’action doit réagir aux valeurs. Dans la configuration des valeurs, les actions possibles pour une fonction sont définies (elles font partie du fichier cfg.xml). Par exemple, pour la lumière d’une locomotive, les quatre actions suivantes peuvent être définies :

  • éteint
  • allumé
  • avant
  • arrière

Pour chaque action, il est possible de définir quelles sorties (définies dans la configuration IO) doivent être commutées. Cela peut souvent être une seule sortie, mais aussi une séquence conditionnelle, comme le montre la boîte de dialogue d’exemple pour l’action straight (droit) de l’aiguillage PI-Dev-LH5.

ctc-app-doku-bild

Pour les aiguillages, il faut noter que l’icône affichée dans la liste des aiguillages est déterminée par le nom de l’action. La position (0 à 2) indique la colonne dans l’affichage des aiguillages :

Fonction Nom de l’action Caractère Icône Position recommandée
Aiguillage à gauche left_left l ctc-app-doku-icon 0
  left_straight s ctc-app-doku-icon 1
Aiguillage à droite right_straight s ctc-app-doku-icon 1
  right_right r ctc-app-doku-icon 2
Aiguillage trois voies three_left l ctc-app-doku-icon 0
  three_straight s ctc-app-doku-icon 1
  three_right r ctc-app-doku-icon 2
Aiguillage de croisement cross_notcross x ctc-app-doku-icon 0
  cross_cross n ctc-app-doku-icon 1
Aiguillage de croisement 4 voies cross_hor h ctc-app-doku-icon 0
  cross_vert v ctc-app-doku-icon 1
  cross_left l ctc-app-doku-icon 2
  cross_right r ctc-app-doku-icon 3

Commandes pour locomotives / signaux

Les commandes suivantes peuvent être interprétées par les locomotives lorsqu’elles sont associées à une balise :

Fonction Caractère Signification cmdDist Description
Arrêt (Hp0 / rouge) ‘H’, ‘h’ Indication d’un signal rouge à venir. Distance La locomotive freine et s’arrête avant ce signal. Si le signal redevient vert, la locomotive reprend sa marche et accélère jusqu’à la vitesse maximale autorisée par l’indication.
Marche (Hp1 / vert) ‘F’, ‘f’ Indication d’un signal vert. Distance Toute limitation de vitesse précédente est levée. En mode manuel, rien ne se passe ; sinon, la locomotive accélère jusqu’à sa vitesse maximale.
Ralentissement (Hp2 / vert+jaune) ‘W’, ‘w’ Indication de ralentissement. Distance Si la locomotive est trop rapide, elle freine pour atteindre une vitesse réduite, par exemple pour éviter un déraillement sur un aiguillage divergent.
Limitation de vitesse ‘L’, ‘l’ Indication d’une limitation de vitesse. Vitesse Si la locomotive est trop rapide, elle freine pour atteindre cette vitesse. La distance est multipliée par 10 et interprétée comme une vitesse.
Vitesse minimale ‘M’, ‘m’ Indication d’un signal rouge à venir avec une deuxième balise pour l’arrêt définitif. Distance La locomotive ralentit jusqu’à une vitesse de rampement. La deuxième balise avant le signal envoie alors un arrêt avec une distance de 0 cm ou un arrêt d’urgence.
Arrêt d’urgence / Emergency-Stop ‘E’, ‘e’ Arrêt d’urgence, par exemple juste avant la fin de la voie ou un signal. Distance La locomotive s’arrête brusquement. Si le signal redevient vert, elle reprend sa marche et accélère jusqu’à la vitesse maximale autorisée par l’indication.
Stop ‘S’, ‘s’ Indication d’un arrêt à venir selon l’horaire. Pause en secondes En mode automatique, la locomotive s’arrête, attend le temps de pause, puis reprend sa marche.
À partir de CTC-App 4.08 : en mode manuel, comme un arrêt de protection avec une distance de 0.
Retour ‘R’, ‘r’ Indication d’un arrêt à venir au point de rebroussement de l’horaire (train navette). Pause en secondes En mode automatique, la locomotive s’arrête, attend le temps de pause, puis reprend sa marche en sens inverse.
À partir de CTC-App 4.08 : en mode manuel, comme un arrêt de protection avec une distance de 0.
Arrêt de protection (Sh2) ‘T’, ‘t’ Indication de la fin de voie, par exemple un butoir. Distance La locomotive freine et s’arrête avant ce panneau.

Presque toutes les commandes sont associées à une distance en cm à partir de laquelle la commande s’applique. La locomotive calcule sa distance de freinage en fonction de cette distance. Par exemple, la commande « Arrêt » avec une distance « 65 » fait en sorte que la locomotive s’arrête après 65 cm.

Remarque : Pour que le freinage ciblé fonctionne correctement, il est nécessaire d’avoir un capteur moteur correctement étalonné (voir Chapitre « Étalonner le capteur moteur »).

Les commandes peuvent être soit enregistrées de manière fixe sur la balise, soit modifiées dynamiquement à l’aide de « déclencheurs ». Par exemple, une balise peut être liée à l’état d’un signal (voir Chapitre « Config – Lier des actions »). C’est pourquoi vous devriez utiliser les mêmes lettres pour les états des signaux que pour les commandes de locomotive correspondantes.