Page 1 sur 1
[S7-300]
Posté : 09 oct. 2023, 11:38
par JLagauche
Bonjour,
J'utilise Step7 v5.5 en langage CONT, sur un S7-300.
Je voudrais programmer un calcul unique (soustraire 10) lorsque une entrée passe à 1 (front montant par ex).
Et ceci toutes les 30sec si l'entrée reste à 1. Si l'entrée est à 0 on ne fait rien.
Cependant, lorsque je lance mon programme, celui-ci effectue plusieurs fois le calcul sur un temps de cycle et le MW tombe donc à 0.
J'ai du mal à trouver la bonne solution.
Help me please

Re: [S7-300]
Posté : 09 oct. 2023, 11:57
par itasoft
-------clic zoom------
----------
On émet l’impulsion si l’entrée dure au moins 30 s
Mais si l’on doit deviner à l’avance que l’entrée va durer 30s pour émettre l’impulsion, je sais pas faire
Re: [S7-300]
Posté : 09 oct. 2023, 13:20
par MarcoTheWindows
Bonjour,
Un exemple comme ça ?

- Exemple S7-300
- s7-300.png (3.35 Kio) Vu 1234 fois
Marc
Re: [S7-300]
Posté : 09 oct. 2023, 13:38
par JLagauche
Euh.... Ca ressemble à ce que j'avais dejà fait mais ca ne fonctionne pas...
Je me suis peut être mal exprimé.
Si mon entrée vient (capteur), je dois faire -10 sur ma consigne.
30 secondes après, je dois revérifier si le capteur est encore actif, de nouveau -10.
Ceci si ma consigne est au dessus de 20%.
Si au bout des 30 secondes je n'ai plus le capteur, je fais +5. ET ceci maximum 2 fois (Pour le +5).
Avec ce que j'ai programmé, l'automate exécute le -10 en boucle, même si j'ai mis mon entrée en front montant.
Du coup, ma consigne tombe à 0.
3 jours que j'essaie des trucs, mais je ne m'en sors plus.
Merci d'avance
Re: [S7-300]
Posté : 09 oct. 2023, 14:37
par djé
Salut
poste ton code pour voir.
Est ce que tu utilises des variables temporaires ? Si oui, il ne faut pas s'en servir pour réaliser des fronts.
Re: [S7-300]
Posté : 09 oct. 2023, 15:40
par JLagauche
Voilà...
Pas de variable internes...
Re: [S7-300]
Posté : 10 oct. 2023, 15:54
par DurandO
Bonjour,
JLagauche a écrit : ↑09 oct. 2023, 15:40
Voilà...
Pas de variable internes..
1) Tu compares une
consigne différente de celle que tu décrémente. Est-ce normal ?
2) Ta consigne est-elle un réel ou bien un entier? Vu que tu utilise un
DW c'est un entier.
Dans ton équation il te faut décrémenter un entier (
SUB_I).
J'aurai fait ainsi :
https://mega.nz/file/TsoAlYCT#oK2dlB7Vi ... DtqoZ4mPrQ
Re: [S7-300]
Posté : 12 oct. 2023, 14:13
par JLagauche
Effectivement c'est un entier.
Merci pour l'observation

Au départ je compare si la mesure est sup a 20%
J'essaierai de faire comme dans l'exemple...