Bonjour à tous,
Sous machine expert j'essaie d'utiliser les TIMER en passant par la fonction TON.
J'arrive bien à déclencher mes TIMER une première fois mais ils ne se RESET pas pour pouvoir être redeclenché.
Le code est le suivant
xStart_Tempo3 : BOOL;
Tempo3: TON;
A priori, lorsque je passe la variable xStart_Tempo à FALSE, le TIMER devrait se RESET non ?
Pouvez vous m'éclairer SVP
Merci d'avance
Reset TIMER sous Machine Expert
- itasoft
- Mi homme - Mi automate

- Messages : 7805
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Reset TIMER sous Machine Expert
slts,
c'est du n'importe quoi, ça se mord la queue ton truc, explique exactement ce que tu veux faire
c'est du n'importe quoi, ça se mord la queue ton truc, explique exactement ce que tu veux faire
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: Reset TIMER sous Machine Expert
Salut,
Je sais que ce code ce mord la queue, c’est juste un code test.
Ce que je veux faire en l’occurance c’est alterné entre les étapes 5 et 6 de mon « CASE » en déclenchant les Timer à chaque fois.
Mais une fois qu’un Timer est déclenché , je n’arrive pas à le RESET, tout simplement.
Le fait de passer Xstart_tempo3 et Xstart_tempo4 à FALSE ne suffit pas a RESET apparament… si je suis pluis clair..
Merci
Je sais que ce code ce mord la queue, c’est juste un code test.
Ce que je veux faire en l’occurance c’est alterné entre les étapes 5 et 6 de mon « CASE » en déclenchant les Timer à chaque fois.
Mais une fois qu’un Timer est déclenché , je n’arrive pas à le RESET, tout simplement.
Le fait de passer Xstart_tempo3 et Xstart_tempo4 à FALSE ne suffit pas a RESET apparament… si je suis pluis clair..
Merci
- itasoft
- Mi homme - Mi automate

- Messages : 7805
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Reset TIMER sous Machine Expert
slts,
rien compris, es que c'est ça que tu veux faire , un flip-flop, iEtape 5 et 6 cyclique?
---
Tempo3(IN:=iEtape=5, PT:=t#10s);
if Tempo3.Q then
iEtape:=6;
end_if;
Tempo4(IN:=iEtape=6, PT:=t#10s);
if Tempo4.Q then
iEtape:=5;
end_if;
rien compris, es que c'est ça que tu veux faire , un flip-flop, iEtape 5 et 6 cyclique?
---
Tempo3(IN:=iEtape=5, PT:=t#10s);
if Tempo3.Q then
iEtape:=6;
end_if;
Tempo4(IN:=iEtape=6, PT:=t#10s);
if Tempo4.Q then
iEtape:=5;
end_if;
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: Reset TIMER sous Machine Expert
Bonjour,
Je suis autant perdu que @itasoft.
Mais je pense que ton principal problème est que tes TON sont déclaré dans des CASE. Et par conséquent, si tu change la valeur booléen en dehors cela ne change pas (d'où l'impossibilité de faire un "RESET").
Si tu prend l'exemple de @itasoft. la déclaration du TON est en dehors du IF/END_IF (la même règle que pour le CASE).
Bon courage à toi.
Je suis autant perdu que @itasoft.
Mais je pense que ton principal problème est que tes TON sont déclaré dans des CASE. Et par conséquent, si tu change la valeur booléen en dehors cela ne change pas (d'où l'impossibilité de faire un "RESET").
Si tu prend l'exemple de @itasoft. la déclaration du TON est en dehors du IF/END_IF (la même règle que pour le CASE).
Bon courage à toi.
<< La vie d'un homme passe par trois phases : apprentissage, apprentissage et apprentissage. >>
Et j'ai même pas fini la première phase
Re: Reset TIMER sous Machine Expert
Bonjour,
AC23 a raison, les déclarations sont a faire en dehors du CASE, sinon elle ne seront scrutée que lorsque l'étape du CASE est active.
Dans ton code, il y a fort a parier que la valeur IN reste a 1 car lors du cycle où il devrait retomber à 0, tu n'es plus dans l'étape scrutée du CASE.

