Recherche de bit dans un mot sur m221

Forum traitant des automates industriels de marque Schneider - Telemecanique
Gattaca
Apprend le binaire
Apprend le binaire
Messages : 7
Enregistré le : 27 juil. 2021, 20:57

Recherche de bit dans un mot sur m221

Message par Gattaca »

Bonjour à tous,

Je suis sur un petit projet de machine qui comporte des défauts stockés dans les bits des mots MW30 à MW40.

Je cherche à obtenir le premier bit à 1 dans cette plage.

Pour cela j'ai essayé d'utiliser la fonction Find_gtr sur les mots MD30 à MW40.

J'ajoute 30 au résultat obtenu pour obtenir la valeur du mot double contenant le premier bit en défaut et là je bloque.
Je ne sais pas comment utiliser cette valeur car je ne sais pas écrire un MWx avec x en variable.

Avez vous une idée ?
Je vous remercie
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7807
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Recherche de bit dans un mot sur m221

Message par itasoft »

Slts,
%MD0 :=0
%MW10 := FIND_GTR(%MD30:5, %MD0)
donne l’adresse du 1èr %MD >0 si le bit 15 de un de ces mots est à ON ça donnera une valeur négative donc il va pas le trouver, il faudra chercher aussi les valeurs <0
%MW11 := FIND_LTR(%MD30:5, %MD0)
(*rangement du résultat dans %MD14 *)
%MD14 :=%MD30[%MW10*2] ou %MD14 :=%MD30[%MW11*2]

après il faut chercher la position du bit dans %MD14
Automaticien privé (de tout)
itasoft@free.fr
Gattaca
Apprend le binaire
Apprend le binaire
Messages : 7
Enregistré le : 27 juil. 2021, 20:57

Re: Recherche de bit dans un mot sur m221

Message par Gattaca »

Merci pour ce retour.
Je ne connaissais pas cette écriture. Donc si je comprends bien MD30[y] peut être égale à MD40 par exemple en fonction de la valeur du y ?
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7807
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Recherche de bit dans un mot sur m221

Message par itasoft »

Gattaca a écrit : 27 juil. 2021, 22:25 Merci pour ce retour.
Je ne connaissais pas cette écriture. Donc si je comprends bien MD30[y] peut être égale à MD40 par exemple en fonction de la valeur du y ?
oui
%MD30[0] tape sur %MD30
%MD30[2] tape sur %MD32
%MD30[4] tape sur %MD34
%MD30[6] tape sur %MD36
%MD30[8] tape sur %MD38
-----
ceci dit tu veux trouver l'adresse du premier bit à 1 dans quel but ??
Automaticien privé (de tout)
itasoft@free.fr
Gattaca
Apprend le binaire
Apprend le binaire
Messages : 7
Enregistré le : 27 juil. 2021, 20:57

Re: Recherche de bit dans un mot sur m221

Message par Gattaca »

Le but est de remonter à une supervision le premier défaut bloquant.
Gattaca
Apprend le binaire
Apprend le binaire
Messages : 7
Enregistré le : 27 juil. 2021, 20:57

Re: Recherche de bit dans un mot sur m221

Message par Gattaca »

J'ai essayé le code ce matin mais l'écriture %MD14:=%MW30[%MW11*2] ne passe pas.
Le logiciel refuse en me mettant "Elément inattendu".

J'écris pour info dans un bloc opération.
Avatar du membre
JC87
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2243
Enregistré le : 20 oct. 2015, 13:00
Localisation : Nouvelle Aquitaine

Re: Recherche de bit dans un mot sur m221

Message par JC87 »

Hello,

Tu ne peut pas faire un indexage avec un calcul, il faut mettre %MW11*2 dans un autre mot puis utiliser ce mot comme index de %MW30.

JC
"On veut faire du zéro défaut mais on a zéro bonhomme et zéro budget, et bien à la fin on a zéro résultat..."
Gattaca
Apprend le binaire
Apprend le binaire
Messages : 7
Enregistré le : 27 juil. 2021, 20:57

Re: Recherche de bit dans un mot sur m221

Message par Gattaca »

JC87 a écrit : 28 juil. 2021, 08:43 Hello,

Tu ne peut pas faire un indexage avec un calcul, il faut mettre %MW11*2 dans un autre mot puis utiliser ce mot comme index de %MW30.

JC
En effet cela fonctionne mieux.

Je réfléchissais également à une autre solution peut-être plus simple, avec l'emploi de la boucle for.

Image

Qu'en pensez vous ? le mot %MW20 aura la valeur du premier mot différent de 0
Avatar du membre
JC87
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2243
Enregistré le : 20 oct. 2015, 13:00
Localisation : Nouvelle Aquitaine

Re: Recherche de bit dans un mot sur m221

Message par JC87 »

Je ne sais pas si ça marchera, je n'ai jamais fait de boucle avec un M221. A voir déjà si on peut sortir de la boucle en mettant l'index à 10 comme tu l'a écrit. Faut tester :D

JC
"On veut faire du zéro défaut mais on a zéro bonhomme et zéro budget, et bien à la fin on a zéro résultat..."
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7807
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Recherche de bit dans un mot sur m221

Message par itasoft »

slts,
es que tu cherche le n° du premier bit à 1 dans le tableau de %MW30:10 (valeur 0 à 159) ??
Automaticien privé (de tout)
itasoft@free.fr
Répondre