Une histoire de front montant

Forum traitant des automates industriels de marque Schneider - Telemecanique
Répondre
Avatar du membre
chgui
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 129
Enregistré le : 20 oct. 2015, 08:05
Localisation : Amiens

Une histoire de front montant

Message par chgui »

Salut les copains,

Dans un programme j'ai trouvé une erreur, oui oui, ca arrive! lol!

En fait une entrée qui est recopiée dans un bit, pour ensuite sur front montant de ce bit incrémenté un mot (mot:=mot+1)

Et plus loin dans le programme, exactement les mêmes ligne avec les mêmes bit et mot... je me suis dit basiquement, ho mon mot est incrémenté deux fois...

Du coup j'ai fais des essais, et selon vous qui est incrémenté, combien de fois (valeur des mots) et pourquoi?
Capture.jpg
J'aimerai bien comprendre le truc, et être sur avant de supprimer ce doublon.

Merci par avance.
Avatar du membre
ProfnovA
Créateur de langage
Créateur de langage
Messages : 606
Enregistré le : 21 oct. 2015, 08:21

Re: Une histoire de front montant

Message par ProfnovA »

pourquoi faire simple quand on peut faire compliqué!
Avatar du membre
nicekev
Aguerri de l'automation
Aguerri de l'automation
Messages : 99
Enregistré le : 25 avr. 2017, 11:37
Localisation : Ici et là !

Re: Une histoire de front montant

Message par nicekev »

A part si il voulait doubler son incrémentation (mais il aurait mis +2 au lieu de +1) sinon ça sert à rien !
seb76
Code son premier grafcet
Code son premier grafcet
Messages : 45
Enregistré le : 26 juil. 2022, 16:10

Re: Une histoire de front montant

Message par seb76 »

chgui a écrit : 20 août 2026, 15:10 Salut les copains,

Dans un programme j'ai trouvé une erreur, oui oui, ca arrive! lol!

En fait une entrée qui est recopiée dans un bit, pour ensuite sur front montant de ce bit incrémenté un mot (mot:=mot+1)

Et plus loin dans le programme, exactement les mêmes ligne avec les mêmes bit et mot... je me suis dit basiquement, ho mon mot est incrémenté deux fois...

Du coup j'ai fais des essais, et selon vous qui est incrémenté, combien de fois (valeur des mots) et pourquoi?

Capture.jpg

J'aimerai bien comprendre le truc, et être sur avant de supprimer ce doublon.

Merci par avance.
A froid comme ça, j'aurai tendance à dire que l'incrément ne fonctionne qu'une fois : quand le bit essai est mis à 1, le front doit marcher après car dans la mémoire du EBOOL l'état antérieur est différent de l'état actuel. Puis quand le bit essai est a nouveau mis à 1, l'état antérieur est actualisé à 1 donc le front ne fonctionne plus ensuite.
C'est peut être pas ça, mais je ne dois pas être loin : une histoire d'état antérieur dans le EBOOL
Avatar du membre
chgui
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 129
Enregistré le : 20 oct. 2015, 08:05
Localisation : Amiens

Re: Une histoire de front montant

Message par chgui »

Re,

J'ai bien dit, j'ai trouvé une erreur, et j'ai fait des essais, du coup la capture d'écran, c'est un essai!!!
Effectivement, pourquoi faire simple et si j'avais voulu incrémenté une variable deux fois, j'aurai fait +2... car dans ce cas l'incrément ne fonctionne qu'une seule fois.

En fait avant de supprimer " basiquement" la lignes, en doublon, je voulais comprendre pourquoi et être sur que ma variable n'est pas incrémentée deux fois...

Merci Seb pour ta réponse,
C'est bien la réflexion que je me suis fait aussi, car dans l'exemple essai n'est incrémentée qu'une fois, essai2 et essai3 ne sont pas incrémenté...
Laurent
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 128
Enregistré le : 20 oct. 2015, 11:16
Localisation : Oise et Ile-de-France / France

Re: Une histoire de front montant

Message par Laurent »

Salut,

ça permet de vérifier le fonctionnement des fronts dans l'API qui fait tourner le programme.
Sur certains API (les TSX série 7 par exemple), le bit d'état antérieur est mis à jour à chaque opération d'écriture sur le bit (l'état courant), ce qui "permet" de voir plusieurs fronts au cours du même cycle d'exécution.
Sur d'autres API (TSX Twido par exemple), le bit d'état précédent n'est mis à jour _que_ entre deux cycles d'exécution, on ne peut voir qu'un front, même si la variable EBOOL est écrite à 0 puis à 1 plusieurs fois au cours d'un même cycle.

Quand on s'appuie sur les instructions de front sur EBOOL dans un programme, ça peut être utile de vérifier comment celui-ci se comporte, d'autant que c'est paramétrables sur les API type M580, je crois.
Ca peut expliquer pourquoi un programme fonctionnait impec sur un vieil API, et qu'il merdoie une fois porté sur une nouvelle architecture.
Laurent
Avatar du membre
nicekev
Aguerri de l'automation
Aguerri de l'automation
Messages : 99
Enregistré le : 25 avr. 2017, 11:37
Localisation : Ici et là !

Re: Une histoire de front montant

Message par nicekev »

Autant pour moi, je n'ai pas eu la bonne compréhension ! Trop peu habitué à utiliser Machine Expert. Merci pour votre éclaircissement !

https://www.se.com/in/en/faqs/FA86461/
Répondre