| Variables étendues au type trajet, initialisation et afficha | |
|
|
Auteur | Message |
---|
FranckG
Nombre de messages : 51 TrainController : Gold 10 B2 Localisation : Lyon Date d'inscription : 03/10/2022
| Sujet: Variables étendues au type trajet, initialisation et afficha Mer 5 Juil 2023 - 10:15 | |
| Bonjour,
Je bute sur 2 points depuis quelques jours, et peut-être que des membres pourront m’aider à trouver une solution. Sur 3 de mes trajets qui sont en boucle, j’ai prévu des arrêtes temporisés tous les 3 tours dans un canton précis. Pour cela, j’avais créé des variables à l’étendue global spécifiques à chaque trajet et cela fonctionnait correctement. Mais créer des variables spécifiques à chaque trajet avec de nombreuses répétitions de code dans les opérations me semblait lourd à gérer au niveau maintenance. J’ai donc créer des variables étendue au type trajet : CpteurTx = 0, variable nombre, étendue au type Trajet qui va me permettre de compter les 3 tours avant arrêt Cantonn = variable objet, étendue au type Trajet qui contient le nom du canton ou se fera l’arrêt et que j’utiliserai avec une opération de type !(Opération) pour verrouiller ou déverrouiller le canton ReboursTx = 30, variable nombre, étendue au type Trajet. Cette variable me permet de gérer le délai de l’arrêt propre à chaque trajet. Puis créé des macros appelé dans les cantons respectifs des trajets concernés : Une macro en entrée du Cantonn – 1 Une macro en entrée du Cantonn Une macro à l’arrêt du Cantonn Une macro initialisant mes variable étendu au type trajet qui est exécuté dans les propriétés du trajet de l’opération « Début ».: CpteurTx = 0 (CpteurTx est incrémenter à chaque tour) Cantonn = Nom du canton ou se fait l’arrêt
Avec ce système, si je veux créer un nouvel arrêt sur un canton, il suffit simplement d’ajouter la ligne appelant les macros.
Cela marche presque, mais le presque n’est pas admissible sur un réseau….
Problème 1 : Initialisation des variables, exemple le compteur de tour CpteurTx : J’ai une variable CpteurTx, variable nombre, étendue au type Trajet. Elle me permet de tester si CpteurTx = 3 alors arrêt temporisé au prochain canton. Dans un 1er temps j’ai réinitialisé cette variable à zéro dans les propriétés du trajet de l’opération « Début ». Mais comme il s’agit d’un trajet en boucle, à chaque boucle cela remet mon compteur de tour à zéro… De ce constat, j’ai créé une variable InitTrajet = « » par défaut. Dans les propriétés du trajet de l’opération « Début », je fais un test si InitTrajet <> non alors je réinitialise toute mes variables, puis je mets InitTrajet = non. Cela fonctionne, mais si j’arrête mon trajet puis le relance plus tard, InitTrajet est toujours = non (il garde en mémoire le contenu de la variable) ! Mais comment je pourrais réinitialiser toutes les variables étendues d’un trajet lorsque je lance le départ de mon trajet par un bouton poussoir ?
Problème 2 : Affichage du délai avant redémarrage du train : J’ai une variable ReboursTx , variable nombre, étendue type Trajet. Lorsque mon train est arrêté dans le canton et que je souhaite faire un arrêt temporisé, j’initialise ReboursTx = 30, puis fait une boucle ReboursTx – 5 avec délais de 5 secondes. Lorsque ReboursTx = 0, je sors de la boucle et déverrouille le canton. Quand ReboursTx était une variable spécifique à chaque trajet donc une étendue global, j’affichais dans la boucle sous le canton concerné un message de type : « Départ prévu dans : %V[ReboursT1] seconde », c’était plutôt sympa et le décompte toutes les 5 secondes m’évitais de me poser la question pourquoi un train était arrêter si longtemps. Du fait d’être passé en variable étendue au type Trajet bien évidemment cela ne marche plus. Est-ce que vous savez comment je pourrais afficher sur le TCO le contenu d’une variable étendu (Hors instruction Message) ?
Merci d’avance aux spécialistes de la variable TC de leur aide.
Bien Cordialement.
Franck |
|
| |
DeepPurple
Nombre de messages : 474 TrainController : Gold V10 B2 FR Localisation : Un peu plus à l'ouest Emploi : Président honoraire de la CAChALO Loisirs : Membre de l'AMFB Date d'inscription : 15/09/2018
| Sujet: Re: Variables étendues au type trajet, initialisation et afficha Mer 5 Juil 2023 - 11:54 | |
| Bonjour Frank,
Ce ne serait pas plus simple de lancer un trajet de trois tours, puis de le relancer via un successeur ou une séquence de trajets ?
Philippe. |
|
| |
FranckG
Nombre de messages : 51 TrainController : Gold 10 B2 Localisation : Lyon Date d'inscription : 03/10/2022
| Sujet: Re: Variables étendues au type trajet, initialisation et afficha Mer 5 Juil 2023 - 17:44 | |
| Merci pour le retour, oui mettre 3 tours règle mon problème de RAZ de mon compteur. Mais en fait, j'ai 2 autres variables (dont je n'ai pas parlé pour ne pas plus compliquer mon message initial) à réinitialiser. |
|
| |
DeepPurple
Nombre de messages : 474 TrainController : Gold V10 B2 FR Localisation : Un peu plus à l'ouest Emploi : Président honoraire de la CAChALO Loisirs : Membre de l'AMFB Date d'inscription : 15/09/2018
| Sujet: Re: Variables étendues au type trajet, initialisation et afficha Mer 5 Juil 2023 - 20:09 | |
| Je n'utilise que des variables d'étendue train ou canton. Et quelques variables globales, quand elles sont inévitables. Les variables privées ne fonctionnent plus depuis la V10, j'attends que Freiwald les rétablisse. Les variables locales, je n'ai jamais compris comment les utiliser.
Et donc, je n'ai pas encore utilisé de variables d'étendue trajet. J'ai essayé, mais je ne comprends pas bien quand elles existent précisément.
Dans ton cas, ne peux-tu pas utiliser des variables d'étendue train, à initialiser avant que le train ne démarre pour son trajet ? Si tu connais le canton de départ, tu peux connaître le train au départ. L'avantage des variables d'étendue train, c'est qu'elles suivent le train et restent valides même après la fin du trajet. |
|
| |
FranckG
Nombre de messages : 51 TrainController : Gold 10 B2 Localisation : Lyon Date d'inscription : 03/10/2022
| Sujet: Re: Variables étendues au type trajet, initialisation et afficha Ven 7 Juil 2023 - 9:16 | |
| Bonjour, Je n'ai pas encore étudié les variables étendue de type train, mais effectivement sur la papier elles ont l'air très intéressante. J'ai résolu mon 1er problème d'initialisation des variables trajets par un subterfuge pas terrible mais cela fonctionne.... Concernant mon second problème, je n'ai toujours pas trouvé de solution.... Problème 2 : Affichage du délai avant redémarrage du train : J’ai une variable ReboursTx , variable nombre, étendue type Trajet. Lorsque mon train est arrêté dans le canton et que je souhaite faire un arrêt temporisé, j’initialise ReboursTx = 30, puis fait une boucle ReboursTx – 5 avec délais de 5 secondes. Lorsque ReboursTx = 0, je sors de la boucle et déverrouille le canton. Quand ReboursTx était une variable spécifique à chaque trajet donc une étendue global, j’affichais dans la boucle sous le canton concerné un message de type : « Départ prévu dans : %V[ReboursT1] seconde », c’était plutôt sympa et le décompte toutes les 5 secondes m’évitais de me poser la question pourquoi un train était arrêter si longtemps. Du fait d’être passé en variable étendue au type Trajet bien évidemment cela ne marche plus. |
|
| |
DeepPurple
Nombre de messages : 474 TrainController : Gold V10 B2 FR Localisation : Un peu plus à l'ouest Emploi : Président honoraire de la CAChALO Loisirs : Membre de l'AMFB Date d'inscription : 15/09/2018
| Sujet: Re: Variables étendues au type trajet, initialisation et afficha Ven 7 Juil 2023 - 14:30 | |
| Dans les opérations du marqueur stop d'un canton, tu peux utiliser les variables d'étendue trajet du trajet que suit le train en attente sur le canton (en théorie car, comme dit, je n'ai encore jamais utilisé de variables d'étendue trajet ; d'ailleurs, je n'utilise pas de trajet en dehors d'autotrain...). |
|
| |
FranckG
Nombre de messages : 51 TrainController : Gold 10 B2 Localisation : Lyon Date d'inscription : 03/10/2022
| Sujet: Re: Variables étendues au type trajet, initialisation et afficha Lun 10 Juil 2023 - 9:58 | |
| Oui, j'utilise déjà les variables étendue de type trajet dans mon marqueur d'arrêt. Mais je n'ai pas trouvé comment afficher à un endroit précis du TCO une variable en fonction du trajet. |
|
| |
DeepPurple
Nombre de messages : 474 TrainController : Gold V10 B2 FR Localisation : Un peu plus à l'ouest Emploi : Président honoraire de la CAChALO Loisirs : Membre de l'AMFB Date d'inscription : 15/09/2018
| Sujet: Re: Variables étendues au type trajet, initialisation et afficha Lun 10 Juil 2023 - 12:40 | |
| On ne peut pas afficher une variable d'étendue trajet. Il faut la transférer dans une variable globale et afficher cette dernière. |
|
| |
Contenu sponsorisé
| Sujet: Re: Variables étendues au type trajet, initialisation et afficha | |
| |
|
| |
| Variables étendues au type trajet, initialisation et afficha | |
|