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------
01.JPG
----------
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
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...
S7_001.JPG
S7_002.JPG

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...