Page 1 sur 1

comparaison entier signé m221

Posté : 03 août 2026, 19:06
par AMINE
Bonjour a tous

Je rencontre un comportement étrange sur un M221 avec EcoStruxure Machine Basic.

J'ai une variable %MW0 . En ligne, la valeur est bien -6 .

Cependant, lorsque j'effectue une simple comparaison avec 0 :
le résultat est toujours TRUE, même lorsque %MW0 = -6.

le problème est identique sur plusieurs versions de EcoStruxure Machine Basic..

Quelqu'un a-t-il déjà rencontré ce comportement ou sait-il s'il existe un paramètre particulier ou une limitation concernant les comparaisons d'entiers signés sur M221 ?

Merci d'avance pour votre aide.

Re: comparaison entier signé m221

Posté : 04 août 2026, 00:25
par itasoft
%M0 doit déja être utilisé plus loin dans le prog

Re: comparaison entier signé m221

Posté : 04 août 2026, 15:39
par AMINE
itasoft a écrit : 04 août 2026, 00:25 %M0 doit déja être utilisé plus loin dans le prog
non le programme contient que seulement ce réseau, j'ai eu ce problème sur un grand programme , j'ai fait un test avec programme vide pour éviter toute sorte de chevauchement

Re: comparaison entier signé m221

Posté : 04 août 2026, 16:03
par itasoft
Bizarre, bizarre , c’est avec l’automate ou en simulation ?

Re: comparaison entier signé m221

Posté : 04 août 2026, 23:20
par Bruce33
Bonjour,
Je confirme le bug avec le simulateur de Machine Expert Basic V1.4 (et qui ne se produit pas avec la simulateur de Machine Expert Basic V1.3).
Je n'ai pas essayé avec un automate M221 doté du firmware 1.14.1... L'avez-vous constaté avec un automate ?
On dirait que la comparaison est réalisée sur 32 bits mais que le bit de signe du mot %MW n'est pas reporté, du coup le mot %MW est traité comme un UINT. Mais en utilisant la conversion DWORD ça se passe bien donc en écrivant "DWORD(%MW0) >= 0" le résultat est correct.
Il faut quand même tester sur un automate et signaler le bug à Schneider Electric.

Re: comparaison entier signé m221

Posté : 04 août 2026, 23:39
par itasoft
bien vu Bruce, j'espere que ça le fait pas sur l'automate