Introduction générale

Lors du scripting, il existe quelques termes prédéfinis qui peuvent être utilisés. Chaque action contient au moins une action qui peut à son tour contenir plusieurs commandes.

Remarque : Avec le scripting, on peut faire beaucoup de choses, mais il est judicieux de sauvegarder des états intermédiaires fonctionnels, car il arrive rapidement qu'une configuration ne fonctionne plus comme prévu. Si tel est le cas, il suffit de recharger la configuration (cfg.xml) sauvegardée sur le module.

Attributs et leur signification

  • value sert généralement d'opérateur
  • pinID : id d'une broche
  • ms : durée en millisecondes
  • intValue
  • msInterval
  • group : regroupement dans l'interface (pupitre de commande)
  • type détermine si c'est un nombre, un caractère ou une couleur
  • actionID : id (nom) d'une fonction, déclencheur ou minuteur
  • varID : utilisation de la valeur d'un paramètre ou d'une autre action

Opérateurs valides pour value

Pour setIO :

  • supérieur >
  • inférieur <
  • égal =
  • différent - aléatoire #
  • multiplier - définir rouge vert bleu R,G,B - aléatoire R,G,B r,g,b Pour set : - aléatoire # - multiplier
  • supérieur >
  • inférieur <
  • égal =
  • différent - soustraire (peut être utilisé pour une sorte de boucle for) -
  • ajouter (peut être utilisé pour une sorte de boucle for) +

Chaque fenêtre de script dispose de 4 boutons latéraux pour la commande :

ctc-app-doku-bild

Commandes

Les commandes s'appliquent à toutes les actions et sont toujours configurées de la même manière. Pour ajouter une nouvelle commande, cliquez sur le bouton + dans la fenêtre de script.

ctc-app-doku-bild

Si une broche est définie, les paramètres à droite changent à nouveau. Un menu déroulant permet de sélectionner l'une des broches. Dans le champ suivant, une option avancée peut être choisie. Ensuite, on peut prendre la valeur d'une variable (paramètre), d'un sélecteur de couleur ou l'indiquer manuellement comme valeur int pour définir la couleur.

Attention : Seuls les paramètres affichés sont ceux qui possèdent le bon type de données.

ctc-app-doku-bild

Si un set est effectué, le menu déroulant permet de sélectionner tous les paramètres existants. S'il n'y en a aucun, il faut en créer un nouveau (voir Créer un nouveau paramètre ). Ensuite, les options du paramètre peuvent être spécifiées. Comme pour la broche, on peut ici aussi lire une valeur depuis une variable (paramètre) ou l'indiquer manuellement. Les paramètres ne sont affichés que s'ils possèdent le bon type de données.

ctc-app-doku-bild

Pour un call, un menu déroulant permet de sélectionner une action. Le menu suivant détermine à quel état de l'action sélectionnée accéder. Enfin, une valeur peut être transmise à l'état souhaité. Les deux influencent les états d'une certaine manière.

TODO : Tableau des différents états

ctc-app-doku-bild

Pour un If, une condition de déclenchement est sélectionnée ici, par exemple une variable. Ensuite, l'opération est choisie. Troisièmement, la valeur à comparer est saisie via un paramètre ou un nombre. Le déclencheur est une exception, car ici, un caractère ou une lettre est attendu au lieu d'un nombre.

ctc-app-doku-bild

Pour else If, une condition de déclenchement est sélectionnée ici, par exemple une variable. Ensuite, l'opération est choisie. Troisièmement, la valeur à comparer est saisie via un paramètre ou un nombre. Le déclencheur est une exception, car ici, un caractère ou une lettre est attendu au lieu d'un nombre.

Remarque :

  • Les commandes "call" et "if" représentent un emboîtement. Si l'emboîtement d'un script dépasse 10 niveaux , il sera interrompu avec une erreur à partir de la version CTC-App 4.40 et du firmware 20250627.
  • À partir de la version CTC-App 4.40, l'exécution des scripts et la modification des états sont documentées dans le fichier "4242Action-Log.csv4242". Ce fichier se trouve dans le dossier de données de l'application CTC et est recréé à chaque démarrage de l'application CTC (le contenu précédent est écrasé). Il peut être consulté confortablement avec LibreOffice Calc (Excel peut fonctionner, mais pas nécessairement).

Remarque :

  • delay est obsolète, bien qu'il soit encore visible lors de la connexion à un ancien module.

Créer un nouveau paramètre

Pour créer un nouveau paramètre, cliquez sur le bouton Plus dans le tableau supérieur.Parameter öffnen

Saisissez le nom du nouveau paramètre. Ensuite, une valeur peut être définie et son type peut être spécifié. Enfin, validez avec OK et le nouveau paramètre peut être utilisé.

Parameter Erstellen

Fonctions

En fait, chaque produit possède au moins une fonction prédéfinie, sinon il ne ferait rien. Cependant, vous avez la possibilité de les modifier ou de les étendre via des scripts. Pour cela, il faut d'abord accéder à la fenêtre de script.

Dans la partie supérieure de la fenêtre, les éléments de base sont définis, comme le nom de la fonction, le groupe auquel elle appartient (par défaut SignalTower), le type de fonction et son état par défaut.

ctc-app-doku-bild

ctc-app-doku-bild

En dessous se trouve la fenêtre de script réelle où la programmation est effectuée. En cliquant sur le bouton Ajouter, si la fonction est sélectionnée, un état peut être ajouté. Si un état existant est sélectionné, le même bouton permet d'ajouter une commande. Les paramètres de l'état apparaissent alors sur le côté droit.

ctc-app-doku-bild

D'abord, il est possible de déterminer sous quel caractère (lettre) ou nombre l'état est adressé. Ensuite, un nom peut être attribué à l'état. En dessous, un symbole peut lui être attribué, qui doit porter le même nom que l'état. À côté, la position (pos) est indiquée. Ces deux informations sont visibles en tant qu'éléments de commande dans l'application, dans le bon groupe. Tout en bas, il est possible de spécifier DCC si la commande doit être effectuée via un central numérique (testé avec la centrale mc²).

Minuteurs

Le minuteur joue un rôle lorsque quelque chose doit se produire en continu.

Remarque : Un minuteur s'exécute toujours selon le cycle indiqué. Cependant, il peut également être appelé en mode "Single-Shot", auquel cas il ne s'exécute qu'une seule fois.

ctc-app-doku-bild

ctc-app-doku-bild

Dans la partie supérieure de la fenêtre, le nom du produit est indiqué avec le suffixe "-tim". Le groupe par défaut est "hidden". Ensuite, le type est indiqué, ici par défaut Script. La durée du cycle du minuteur est ensuite indiquée en millisecondes. Pour un Single-Shot, cette valeur doit être 0.

En dessous se trouve la fenêtre de script réelle où la programmation est effectuée. En cliquant sur le bouton Ajouter, si le minuteur est sélectionné, rien ne peut être ajouté. Si le temps est sélectionné, le même bouton permet d'ajouter une commande. Les paramètres de l'état apparaissent alors sur le côté droit.

ctc-app-doku-bild

D'abord, il est possible de déterminer sous quel caractère (lettre) ou nombre l'état est adressé. Ensuite, un nom peut être attribué à l'état. En dessous, un symbole peut lui être attribué, qui doit porter le même nom que l'état. À côté, la position (pos) est indiquée. Ces deux informations sont visibles en tant qu'éléments de commande dans l'application, dans le bon groupe. Tout en bas, il est possible de spécifier DCC si la commande doit être effectuée via un central numérique (testé avec la centrale mc²).

Déclencheurs

Le déclencheur est utilisé lorsqu'un produit doit influencer ou déclencher un autre produit, comme une balise, un signal ou un signal avancé.

ctc-app-doku-bild

ctc-app-doku-bild

Dans la partie supérieure de la fenêtre, le nom du produit est indiqué avec le suffixe "-trg". Le groupe par défaut est "Trigger". Ensuite, le déclencheur est sélectionné. Il peut s'agir d'une balise ou d'un autre signal. Dans la fenêtre (MAC), il est possible de sélectionner directement une locomotive qui déclenche une balise. Sinon, pour une balise, le déclenchement se produit toujours lorsqu'un objet la traverse. Ensuite, le type est défini, par défaut charVal. Enfin, une source et une valeur par défaut peuvent être spécifiées, mais elles sont vides par défaut.

ctc-app-doku-bild

Remarque : Les déclencheurs ne s'activent pas immédiatement, mais dans un ordre inconnu, il faut donc s'assurer que cela ne pose pas de problème.