Page 1 sur 1
Simulation variable
Posté : 14 juin 2025, 10:13
par Lionel83
Bonjour à tous,
Je travaille sur un programme automate avec unity pro xl pour une modification et j’aimerais avoir vos conseils sur une problématique, dans un premier temps j’ai cherché de mon côté.
Ma problématique est que je n’arrive pas à simuler une variable compare venant de l’IHM.
Nom de la variable: IHM.FonctionEnCours=12
Mon but est de la simuler pour travailler sur le programme.
J’ai vu qu’on pouvais créer une variable interne ou temporaire
Merci de vos future conseil
Re: Simulation variable
Posté : 14 juin 2025, 11:06
par Bruce33
Bonjour,
Je ne comprends pas grand chose à votre demande.
Par exemple "une variable compare" c'est quoi pour vous ?
IHM.FonctionEnCours est une variable (a priori).
IHM.FonctionEnCours=12 est une instruction de comparaison, dans un bloc COMPARE si c'est fait en langage LD de Unity Pro.
Est-ce que ça veut dire que vous voulez forcer le résultat de cette comparaison ? Pourquoi ne modifiez-vous pas la valeur de IHM.FonctionEnCours ?
Re: Simulation variable
Posté : 15 juin 2025, 14:12
par Lionel83
Re,
Désolé la variable IHM.FonctionEnCours est bien une variable est 12 est son résultat.
La variable est dans un bloc Compare
La variable peut prendre la valeur de 0;1;2;10;11; et 12
Min objectif est de que la variable prenne la valeur de 12 mais en temps normal cette variable est activé dans avzc l’IHM.
J’ai essayé de la modifier en ladder.
J’ai écris: dans un bloc compare IHM.FonctionEnCours:=12; mais j’ai une erreur ensuite j’ai testé une opération IHMFonctionEnCours12=1; mais ça ne fonctionne pas aussi
Re: Simulation variable
Posté : 15 juin 2025, 18:42
par Gigi
Tu dois créer une table d’animation dans laquelle tu appelles ta variable.
Ensuite tu donne à cette variable la valeur 12 ou celle que tu veux.
Tu ne peux pas donner une valeur à un bloc comparaison.
Si tu veux le faire par programme utilise un bloc opération ou tu écriera ta variable:=12.
J’espère avoir compris ta question.
Re: Simulation variable
Posté : 15 juin 2025, 20:43
par Lionel83
Re,
Dans un premier temps j’ai crée une table d’animation et j’ai affecté à la variable ihm.fonctionEnCour la valeur 12 mais dans le programme je voyais que l’état du bloc de comparaison était pas passant donc du coup je me suis renseigné sur internet et j’ai vu qu’on pouvais faire une variable interne ou temporaire lorsque qu’on souhaite modifier une variable qui provient d’un IHM et lui affecter la valeur qu’on souhaite bien sûr il faut faire un code .
L’exemple en dessous n’est pas le code pour la variable interne ou temporaire c’est juste une idée d’un code
Exemple:
Bit simulation OPÉRATION
—————| |———————————————-[IHM.fonctionEnCour:=12;]
Re: Simulation variable
Posté : 16 juin 2025, 07:46
par Bruce33
Lionel83 a écrit : ↑15 juin 2025, 20:43
Dans un premier temps j’ai crée une table d’animation et j’ai affecté à la variable ihm.fonctionEnCour la valeur 12 mais dans le programme je voyais que l’état du bloc de comparaison était pas passant donc du coup je me suis renseigné sur internet
Et vous ne vous êtes pas dit qu'il y a un truc qui cloche ?
Ne cherchez pas des formules miracle sur Internet et essayez de comprendre par vous-même.
Si la variable IHM.FonctionEnCours vaut 12 dans votre table d'animation (et qu'elle conserve cette valeur) alors le bloc de comparaison doit fonctionner.
Si ce n'est pas le cas, c'est qu'il y a d'autres conditions dans l'équation ou que cette partie du programme n'est pas exécutée.
Re: Simulation variable
Posté : 03 juil. 2025, 17:59
par Lionel83
Bien sûr que je me suis dit qu’il y’avait quelque chose qui allait pas j’ai essayé de voir si il manquait pas une condition ou plusieurs conditions et à ma grand surprise non de ce fait j’ai chercher sur internet ce qui me paraît normal bref pas grave au final j’ai réussi en effectuant une manipulation du programme mais j’ai aussi réussi en me connectant à vijeo disigner et mon programme et j’ai validé la fonction comme dans les conditions normale par appuie sur la touche qui valide la variable IHM.FonctionEnCour=12;
Voilà Merci