| Variable global qui perd son contenu. | |
|
|
|
Auteur | Message |
---|
FranckG
Nombre de messages : 51 TrainController : Gold 10 B2 Localisation : Lyon Date d'inscription : 03/10/2022
| Sujet: Re: Variable global qui perd son contenu. Mer 23 Aoû 2023 - 18:32 | |
| pourquoi refuser d'utiliser les prérequis ? Oulala non, je ne les refuse pas,j'en ai déjà bien assez comme ça. En fait, je veux les économiser... J'ai peur qu'au bout d'un certain temps des problèmes de performance apparaissent, donc si je peux économiser une instruction c'est mieux. |
|
| |
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: Variable global qui perd son contenu. Mer 23 Aoû 2023 - 20:21 | |
| - FranckG a écrit:
- pourquoi refuser d'utiliser les prérequis ? Oulala non, je ne les refuse pas,j'en ai déjà bien assez comme ça. En fait, je veux les économiser... J'ai peur qu'au bout d'un certain temps des problèmes de performance apparaissent, donc si je peux économiser une instruction c'est mieux.
Franck, ce n'est pas la bonne approche. Ce qui peut tuer TrainController, c'est une boucle infinie dans une macro. Un prérequis ne pose pas problème. Et je ne vois pas comment il serait possible de s'en passer. Depuis von Neumann, la programmation est basée sur le trio séquence, alternative, boucle. Pour résoudre ton problème, ajoute les prérequis nécessaires.
Dernière édition par DeepPurple le Jeu 24 Aoû 2023 - 6:16, édité 1 fois |
|
| |
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: Variable global qui perd son contenu. Mer 23 Aoû 2023 - 20:27 | |
| - DiCoS69 a écrit:
Quelle surprise... je n'ai jamais créé de variable et il s'en trouve 6 dans l'explorateur... Avant de les supprimer, vérifie via l'inspecteur si ces variables ne sont pas utilisées quelque part... Tu les as peut-être créées lors d'une crise de somnambulisme. |
|
| |
DiCoS69
Nombre de messages : 17441 TrainController : Gold Localisation : Haut Beaujolais 69790 Emploi : Retraité Loisirs : loisirs techniques Date d'inscription : 10/12/2008
| Sujet: Re: Variable global qui perd son contenu. Jeu 24 Aoû 2023 - 1:30 | |
| - DeepPurple a écrit:
- DiCoS69 a écrit:
Quelle surprise... je n'ai jamais créé de variable et il s'en trouve 6 dans l'explorateur... Avant de les supprimer, vérifie via l'inspecteur si ces variables ne sont pas utilisées quelque part... Elles l'étaient, mais sans usage réel pour moi... vieille importation d'un signal créé par un membre du forum en AE. |
|
| |
Jean_01 Ignare immobile
Nombre de messages : 8167 Localisation : Annecy-Le-Vieux Date d'inscription : 25/06/2007
| Sujet: Re: Variable global qui perd son contenu. Jeu 24 Aoû 2023 - 16:18 | |
| - FranckG a écrit:
- Pour répondre à Jean et à Claude, j'avoue n'être qu'un petit nouveau dans le monde TC, mais j'ai passé beaucoup de temps et je n'ai pas trouvé ce qui me convenait pour programmer des arrêts tous les x tours avec un délais d'arrêts précis. Maintenant, je suis peut-être passé aux travers de certaines fonctionnalités, c'est même très probable.
Histoire de ne pas dire que les anciens sont ringards par rapport aux modernes Sans trop chercher longtemps, j'ai une solution sans variable avec: - un trajet en forme de boucle qui se succède à lui-même - un bouton poussoir qui permet de choisir le nombre de tours - deux compteurs Tous les 3 tours, il fait un arrêt dans un canton du trajet. Cela ne satisferait sans doute pas Franck, mais pour moi, ça me suffit. Jean |
|
| |
FranckG
Nombre de messages : 51 TrainController : Gold 10 B2 Localisation : Lyon Date d'inscription : 03/10/2022
| Sujet: Re: Variable global qui perd son contenu. Ven 25 Aoû 2023 - 10:46 | |
| Loin de moi de polémiquer sur les anciens, surtout pas ! Quand je vois le niveau de certains sujets sur ce forum je ne peux qu'être admiratif. Jean, je ne suis pas borné et avide d'apprendre TC, donc si tu veux m'envoyer ta solution sans variable, je serai plus qu'intéressé de l'étudier. |
|
| |
Jean_01 Ignare immobile
Nombre de messages : 8167 Localisation : Annecy-Le-Vieux Date d'inscription : 25/06/2007
| Sujet: Re: Variable global qui perd son contenu. Ven 25 Aoû 2023 - 11:32 | |
| Bonjour, La solution est simple. Il nous faut: 1) Un trajet. En l'occurence un trajet en boucle mais paramétré comme normal. Ce trajet a lui-même comme successeur. On fera un arrêt tous les 3 tours dans le 3ème canton de ce trajet. 2) Deux compteurs:- Compteur1: paramètres: actif, 1; inactif, 0; Départ, 0 - Compteur2: paramètres: actif, 1; inactif, 0; Départ, 3 Le compteur1 sert à fixer le nombre de tours total de la boucle.(nombre de fois où on exécute le trajet) Le compteur2 sert à compter le nombre de tours avant de s'arrêter dans le canton 3) Le bouton poussoir: il sert à lancer le trajet et à fixer le nombre de fois qu'il sera exécuté 4) Le fonctionnement du trajet:- Au départ du trajet, on appuie sur le bouton poussoir. Au premier clic le trajet est lancé. Ensuite on clique le nombre de fois voulu pour fixer le nombre de tours qu'on va accomplir. Pendant qu'on y est, on met les deux compteurs à leur valeur de départ. Ci-dessous l'onglet "Opérations" des propriétés du bouton poussoir: - A chaque tour, dans les opérations de fin de trajet, on décrémente les valeurs des deux compteurs - Dans les opérations spécifiques du 3ème canton du trajet, on met: Dans les actions en entrée, on fait une liste d'opérations avec: le verrouillage en sortie du canton, un délai pour permettre au train de s'arrêter et de faire sa tempo, le déverrouillage du canton et on remet le compteur2 à sa valeur de départ. Et dans l'onglet "Condition" de la liste d'opérations, on met le compteur2 inactif. - Dans les propriétés du compteur 1, onglet "Opérations", pour l'état inactif du compteur, on arrête le trajet et on met le compteur2 à sa valeur de départ. Jean |
|
| |
DiCoS69
Nombre de messages : 17441 TrainController : Gold Localisation : Haut Beaujolais 69790 Emploi : Retraité Loisirs : loisirs techniques Date d'inscription : 10/12/2008
| Sujet: Re: Variable global qui perd son contenu. Ven 25 Aoû 2023 - 13:34 | |
| Jean, je ne suis pas convaincu par tes opérations dans le troisième canton... A quoi correspond le "canton21" ? Canton d'arrêt ? Un verrouillage de canton en entrée de canton, généralement, ça ne marche pas... les itinéraires suivants étant déjà réservés, le verrouillage n'est pas respecté... perso je placerais ces opérations dans un canton amont suffisamment loin pour que les itinéraires ne soient pas réservés après le canton d'arrêt. Le délai pour le temps d'arrêt et le déverrouillage seraient mieux placés dans les opérations du moment "Arrêt" du canton d'arrêt... |
|
| |
Jean_01 Ignare immobile
Nombre de messages : 8167 Localisation : Annecy-Le-Vieux Date d'inscription : 25/06/2007
| Sujet: Re: Variable global qui perd son contenu. Ven 25 Aoû 2023 - 14:34 | |
| - DiCoS69 a écrit:
- Jean, je ne suis pas convaincu par tes opérations dans le troisième canton...
A quoi correspond le "canton21" ?
J'ai fait l'exemple à partir d'un fichier yrrg existant. En l'occurence, le canton 21 est le 3ème canton après le début du trajet, celui où on veut faire un arrêt tous les 3 tours. - DiCoS69 a écrit:
Un verrouillage de canton en entrée de canton, généralement, ça ne marche pas... les itinéraires suivants étant déjà réservés, le verrouillage n'est pas respecté...
Je ne vois pas ce qui pourrait empêcher le verrouillage de fonctionner ni ce qu'à à faire la réservation des cantons là-dedans. J'ai fait un essai de verrouillage depuis le menu quand le train est déjà dans le canton et, en simulation, ça fonctionne. En tout cas, cela fonctionne parfaitement en simulation. Fais un essai en réel sur ton réseau. Personnellement, je n'ai pas de réseau pour tester. Il me semble que Franck fait le même verrouillage sur son réseau en utilisant des variables et qu'il a écrit que ça fonctionne sans problème. - DiCoS69 a écrit:
perso je placerais ces opérations dans un canton amont suffisamment loin pour que les itinéraires ne soient pas réservés après le canton d'arrêt. Le délai pour le temps d'arrêt et le déverrouillage seraient mieux placés dans les opérations du moment "Arrêt" du canton d'arrêt...
Mon but était de montrer qu'on pouvait faire un arrêt tous les 3 tours d'une boucle en utilisant uniquement les fonctionnalités classiques de TC, sans avoir recours à une pléiade de variables. Je ne suis pas entré dans le détail de mise au point. A mon avis, on ne peut pas utiliser le moment "Arrêt" car on n'a pas d'arrêt programmé dans le canton, la condition sur l'état du compteur ne pouvant être placée que dans les opérations et pas au niveau général des propriétés spécifiques du canton pour le trajet. Au final, le délai est à ajuster par l'utilisateur, au moment de la mise au point sur le réseau. Le délai comporte le temps mis pour ralentir le train et son arrêt effectif. Si un essai sur un réseau réel me montre que mon truc ne fonctionne pas, je serai le premier à reconnaître que je me suis planté. Jean |
|
| |
DiCoS69
Nombre de messages : 17441 TrainController : Gold Localisation : Haut Beaujolais 69790 Emploi : Retraité Loisirs : loisirs techniques Date d'inscription : 10/12/2008
| Sujet: Re: Variable global qui perd son contenu. Ven 25 Aoû 2023 - 20:33 | |
| - Jean_01 a écrit:
- DiCoS69 a écrit:
Un verrouillage de canton en entrée de canton, généralement, ça ne marche pas... les itinéraires suivants étant déjà réservés, le verrouillage n'est pas respecté... Je ne vois pas ce qui pourrait empêcher le verrouillage de fonctionner ni ce qu'à à faire la réservation des cantons là-dedans. J'ai fait un essai de verrouillage depuis le menu quand le train est déjà dans le canton et, en simulation, ça fonctionne. Oui, effectivement... C'est validé en exploitation sur le réseau. Il s'agit alors d'une vieille réminiscence de la V7 où le problème existait (si le verrouillage était demandé alors que l'itinéraire suivant était déjà ouvert, le verrouillage était caduque). A noter que les (2) itinéraires avals restent bien activés pendant l'arrêt par verrouillage, ce qui ne gêne pas pour une boucle, mais peut être un inconvénient dans d'autres cas. - DiCoS69 a écrit:
Le délai pour le temps d'arrêt et le déverrouillage seraient mieux placés dans les opérations du moment "Arrêt" du canton d'arrêt...
- Jean_01 a écrit:
A mon avis, on ne peut pas utiliser le moment "Arrêt" car on n'a pas d'arrêt programmé dans le canton, la condition sur l'état du compteur ne pouvant être placée que dans les opérations et pas au niveau général des propriétés spécifiques du canton pour le trajet. Au final, le délai est à ajuster par l'utilisateur, au moment de la mise au point sur le réseau. Le délai comporte le temps mis pour ralentir le train et son arrêt effectif. Si un essai sur un réseau réel me montre que mon truc ne fonctionne pas, je serai le premier à reconnaître que je me suis planté. Jean Par contre, rien n'empêche de mettre le délai d'attente et le déverrouillage dans les actions du moment "Arrêt"... celui-ci est pris en compte dès lors qu'un train est stoppé par le marqueur d'arrêt du canton dans le trajet... ce qui est le cas lorsque l'on verrouille la sortie. Vérifié sur le réseau. |
|
| |
Jean_01 Ignare immobile
Nombre de messages : 8167 Localisation : Annecy-Le-Vieux Date d'inscription : 25/06/2007
| Sujet: Re: Variable global qui perd son contenu. Ven 25 Aoû 2023 - 21:33 | |
| Merci Elie d'avoir testé sur un réseau réel. La modification du délai et du déverrouillage est facile à faire dans le paramétrage. Ce qui m'intéressait surtout était la validation des principes de fonctionnement du fichier de réseau. Jean |
|
| |
DiCoS69
Nombre de messages : 17441 TrainController : Gold Localisation : Haut Beaujolais 69790 Emploi : Retraité Loisirs : loisirs techniques Date d'inscription : 10/12/2008
| Sujet: Re: Variable global qui perd son contenu. Sam 26 Aoû 2023 - 0:24 | |
| Bien sûr, Jean... la combinaison des compteurs et les opérations à paramétrer sont le plus important. L'avantage du délai + déverrouillage dans "Arrêt" est qu'on a le contrôle direct sur le temps d'arrêt, sans avoir besoin de calculer celui que mettra le train pour s'arrêter à partir de son entrée dans le canton... valeur qui peut variée en fonction de la courbe de profil de vitesse. |
|
| |
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
| |
| |
Jean_01 Ignare immobile
Nombre de messages : 8167 Localisation : Annecy-Le-Vieux Date d'inscription : 25/06/2007
| Sujet: Re: Variable global qui perd son contenu. Sam 26 Aoû 2023 - 8:48 | |
| - DeepPurple a écrit:
- Bel exercice de style. Utiliser des compteurs plutôt que des variables numériques, voilà qui simplifie la vie du modéliste.
Peut-être pas tous les modélistes mais la mienne à coup sûr En un peu plus d'une heure, j'ai bricolé mon truc ... Parallèlement et sans trop bien les comprendre je l'avoue, j'ai suivi les aventures de Franck qui n'est pas encore tout à fait arrivé à ce qu'il veut faire depuis quelques semaines. Enfin, bon, je dis ça ... je dis rien ... et je te rejoins pour une petite rando matinale Jean aussi |
|
| |
DiCoS69
Nombre de messages : 17441 TrainController : Gold Localisation : Haut Beaujolais 69790 Emploi : Retraité Loisirs : loisirs techniques Date d'inscription : 10/12/2008
| Sujet: Re: Variable global qui perd son contenu. Sam 26 Aoû 2023 - 14:54 | |
| |
|
| |
Yann
Nombre de messages : 2860 TrainController : Gold 9.0 Localisation : Suisse - Entre Lausanne et Vevey Date d'inscription : 25/06/2007
| Sujet: Re: Variable global qui perd son contenu. Sam 26 Aoû 2023 - 16:46 | |
| Bonjour, La solution alternative proposée par Jean peut aussi être intéressante pour les utilisateurs de la version 8 qui proposait l'objet "compteur" mais pas encore les variables. _________________ A+ Yann Mes tuto vidéo sur TrainController => https://www.youtube.com/TheDigitrain <= Consultant technique planification/création/programmation => http://www.digi-train.ch <= TC 9,10 Gold / +SmartHand Mobile / H0 3 rails, 2 rails / Tams MasterControl et MC2 / ESU ECoS / Rétro. et commande des signaux: Selectrix SLX852 Interface / BiDiBus / PC 3,3 GHz / Win 10, 11 / iPhone 8
|
|
| |
Jean_01 Ignare immobile
Nombre de messages : 8167 Localisation : Annecy-Le-Vieux Date d'inscription : 25/06/2007
| Sujet: Re: Variable global qui perd son contenu. Dim 27 Aoû 2023 - 10:36 | |
| - FranckG a écrit:
- Mon besoin :
Je veux verrouiller ou déverrouiller un canton dans un sens précis selon un trajet dans une macro utilisé dans plusieurs trajets (qui peuvent avoir des sens de verrouillage droit ou gauche) sans faire de condition (Prérequis dans TC). ...
Après ma parenthèse compteur, j'ai essayé de me repencher sur le problème de Franck. Je ne comprends pas très bien la définition du besoin. C'est selon le sens de circulation du train que l'arrêt se fera d'un côté ou de l'autre du canton. A-t-on vraiment besoin de verrouiller et déverrouiller une extrémité prédéterminée du canton selon que le trajet tourne dans un sens ou dans l'autre? Je n'en suis pas certain. Pour moi, à l'entrée dans le canton, il suffit de verrouiller les deux extrémités du canton, le sens de circulation du train déterminant l'emplacement de l'arrêt. Au cas où pendant l'arrêt, on veuille faire entrer un autre train dans la direction opposée pour faire une UM, par exemple, le verrouillage en sortie n'empêchera pas l'entrée. A la fin de l'arrêt, on déverrouille les deux extrémités. Si je n'ai rien compris, soyez indulgents, épargnez-moi les cailloux. Jean |
|
| |
FranckG
Nombre de messages : 51 TrainController : Gold 10 B2 Localisation : Lyon Date d'inscription : 03/10/2022
| Sujet: Re: Variable global qui perd son contenu. Lun 28 Aoû 2023 - 11:33 | |
| C’est vraiment intéressant à lire toutes vos interventions. J’avoue que la solution de Jean « Sans trop chercher longtemps » semble parfaitement fonctionner, sauf que moi je n’ai (hélas) pas les capacités de Jean dans l’utilisation de TC. Je confirme que le verrouillage en entrée de canton fonctionne très bien. Au départ, je verrouillais le canton n en entrée du canton n-1, mais je me suis vite aperçu que c’était difficile à gérer (obligé de vérifier qu’il n’y a pas un autre train dans le canton n qui se verrai verrouillé alors qu’il n’était pas concerné par le verrouillage). Je suis donc revenu en arrière, et le verrouillage en entrée du canton est totalement opérationnel. Je sais pas pourquoi, mais j’ai toujours peur d’une saturation de mon PC en demandant trop à TC, je me dis que si TC devais prendre du retard dans sa gestion les trains qui circulent eux gardent leurs allures, d’où une catastrophe ferroviaire que je ne souhaite pas ! Donc, si je ne verrouille pas les 2 extrémités du canton c’est pour éviter une seconde instruction dans l’opération qui n’a pas lieu d’être (toujours peur de mettre à plat TC…) et pour être honnête je n’y avais pas pensé non plus… Concernant le délai, je pense effectivement qu’il est plus intéressant de le faire sur le marqueur d’arrêt (comme le dit Jean facile à modifier), et surtout il permet éventuellement d’afficher sur TC le délai avant que le train ne reparte. Personnellement, je me posai souvent la question pourquoi le canton n’est pas encore déverrouillé, est-ce normal… Du coup, j’affiche sur TC un compte à rebours toutes les 5 secondes avant le redémarrage du train, en sus cela me permet de faire siffler le chef de gare 5 secondes avant le redémarrage. |
|
| |
Jean_01 Ignare immobile
Nombre de messages : 8167 Localisation : Annecy-Le-Vieux Date d'inscription : 25/06/2007
| Sujet: Re: Variable global qui perd son contenu. Lun 28 Aoû 2023 - 12:14 | |
| - FranckG a écrit:
- C’est vraiment intéressant à lire toutes vos interventions. J’avoue que la solution de Jean « Sans trop chercher longtemps » semble parfaitement fonctionner, sauf que moi je n’ai (hélas) pas les capacités de Jean dans l’utilisation de TC.
C'est en forgeant ... Le problème est que si tu fonces directement vers une solution avec des variables parce que, sans doute, tu aimes ça, tu ne vas pas découvrir les fonctionnalités incluses dans le logiciel qui te tendent les bras - FranckG a écrit:
Donc, si je ne verrouille pas les 2 extrémités du canton c’est pour éviter une seconde instruction dans l’opération qui n’a pas lieu d’être (toujours peur de mettre à plat TC…)
Si tu verrouilles les deux extrémités, cela te rajoute une ligne pour le verrouillage mais quelque part tu vas certainement supprimer une ou plusieurs lignes de conditions avec lesquelles tu testes le sens de marche du train. Donc, l'un dans l'autre ... Jean |
|
| |
DiCoS69
Nombre de messages : 17441 TrainController : Gold Localisation : Haut Beaujolais 69790 Emploi : Retraité Loisirs : loisirs techniques Date d'inscription : 10/12/2008
| Sujet: Re: Variable global qui perd son contenu. Lun 28 Aoû 2023 - 14:37 | |
| - FranckG a écrit:
Je sais pas pourquoi, mais j’ai toujours peur d’une saturation de mon PC en demandant trop à TC, je me dis que si TC devais prendre du retard dans sa gestion les trains qui circulent eux gardent leurs allures, d’où une catastrophe ferroviaire que je ne souhaite pas ! Donc, si je ne verrouille pas les 2 extrémités du canton c’est pour éviter une seconde instruction dans l’opération qui n’a pas lieu d’être (toujours peur de mettre à plat TC…) et pour être honnête je n’y avais pas pensé non plus… Pour que ton PC soit saturé par la gestion de ton réseau, il faudrait vraiment que tu utilises une antiquité... TC n'est pas un jeu vidéo... - FranckG a écrit:
Concernant le délai, je pense effectivement qu’il est plus intéressant de le faire sur le marqueur d’arrêt (comme le dit Jean facile à modifier), et surtout il permet éventuellement d’afficher sur TC le délai avant que le train ne reparte. Pas sur le marqueur d'arrêt, mais dans les opérations de l'évènement "Arrêt" des actions propres au "canton spécifique au trajet"... ce qui est tout à fait différent... - une opération placée dans un marqueur d'arrêt sera déclenchée à chaque activation du marqueur (soit chaque fois qu'un train passe dans le canton...) - une opération placée dans le canton spécifique au trajet (évènement "arrêt") ne sera déclenchée que pour le trajet concerné, et on peut en plus y mettre des conditions (de train par exemple...). |
|
| |
DBOBB1985
Nombre de messages : 88 TrainController : RRTC Gold 10.0-B2 - 64 bits Localisation : Belgique Emploi : Retraité Loisirs : train (modélisme, membre association touristique vapeur), plongée Date d'inscription : 17/12/2014
| Sujet: Re: Variable global qui perd son contenu. Jeu 7 Sep 2023 - 11:54 | |
| - claude1 a écrit:
- Que pourra t il mettre dans la V11?
Je suis un peu hors sujet mais pour répondre à Claude : Pouvoir faire, dans un TCO différent, un zoom sur une partie du réseau qui est représenté complet dans un premier TCO Réseau complet dans un onglet = TCO général Détail dans un deuxième onglet = TCO gare 1 Et ainsi de suite pour chaque gare ou parie de réseau. ceci permettrait d'avoir, à la fois la vue globale et des vues de détails (redite ) |
|
| |
Contenu sponsorisé
| Sujet: Re: Variable global qui perd son contenu. | |
| |
|
| |
| Variable global qui perd son contenu. | |
|