Salut tout le monde,
Je voulais savoir si il existe une fonction permettant d'attendre un certains nombre de seconde en langage ST ?
ma structure est la suivante :
if ... then
...
attente (1seconde)
else
....
end_if
Attente dans un programme ST
- djé
- Dieu du process

- Messages : 864
- Enregistré le : 20 oct. 2015, 09:55
- Localisation : Bretagne, Pays de la Loire, Nantes
- Contact :
Re: Attente dans un programme ST
Hope la!
Je ne sais pas ce que tu veux faire mais ATTENTION!!!
D'une tu vas certainement faire péter le watchdog (contrôle temps d’exécution de tache de l'API).
De deux (la plus importante à mes yeux), pendant ce temps d'attente les sorties ne sont pas rafraichies donc risques relatif à la sécurité machine/humain.
Il faut absolument éviter ce genre de programmation. (d’ailleurs je ne suis pas sur qu'il existe une instruction spécifique pour le faire, mais cela pourrait être fait en créant un boucle de comptage).
Revoit ta programmation et Utilise une TEMPO à la place.
Je ne sais pas ce que tu veux faire mais ATTENTION!!!
D'une tu vas certainement faire péter le watchdog (contrôle temps d’exécution de tache de l'API).
De deux (la plus importante à mes yeux), pendant ce temps d'attente les sorties ne sont pas rafraichies donc risques relatif à la sécurité machine/humain.
Il faut absolument éviter ce genre de programmation. (d’ailleurs je ne suis pas sur qu'il existe une instruction spécifique pour le faire, mais cela pourrait être fait en créant un boucle de comptage).
Revoit ta programmation et Utilise une TEMPO à la place.
Le monde se divise en 10 catégories:les personnes qui comprennent le binaire,et les autres.
Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
Re: Attente dans un programme ST
Bonjour,
Tu peux utiliser un TON en st :
TON_Instance (IN:=StartDelay, PT:=PresetDelayTime, Q=>Output, ET=>InternalTime) ;
Tu peux utiliser un TON en st :
TON_Instance (IN:=StartDelay, PT:=PresetDelayTime, Q=>Output, ET=>InternalTime) ;
-
philou77
- Mi homme - Mi automate

- Messages : 2142
- Enregistré le : 21 oct. 2015, 10:00
- Localisation : Ile de France
Re: Attente dans un programme ST
+1 avec les collègues.
Un automate fait du temps réel, il n'existe aucune instruction pour lui dire d'attendre !
Le risque de faire une boucle dans le programme est effectivement de :
- ne pas rafraichir les sorties suffisamment tôt
- de déclencher le chien de garde et passage de l'automate en STOP !
- de ne pas 'voir' des évènements 'fugitifs' à cause d'un temps de cycle trop long
Bref, tu vois, que des avantages !
Les boucles sont tellement bien que même l'éditeur à tendance à te prévenir sur des sauts en arrière
.
En automatisme, les boucles c'est bien, en abuser, ça craint !
Un automate fait du temps réel, il n'existe aucune instruction pour lui dire d'attendre !
Le risque de faire une boucle dans le programme est effectivement de :
- ne pas rafraichir les sorties suffisamment tôt
- de déclencher le chien de garde et passage de l'automate en STOP !
- de ne pas 'voir' des évènements 'fugitifs' à cause d'un temps de cycle trop long
Bref, tu vois, que des avantages !
Les boucles sont tellement bien que même l'éditeur à tendance à te prévenir sur des sauts en arrière
En automatisme, les boucles c'est bien, en abuser, ça craint !
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! 

