Page 1 sur 1

Convertir WORD en tableau de BOOL

Posté : 30 nov. 2020, 13:15
par Snakedoc
Bonjour à tous,

Je rencontre un "souci" sur lequel je sèche bêtement.

Je récupère un WORD d'une connexion Modbus RS485 que j'aimerai convertir en tableau de BOOL, comment je peux faire ?

En effet chaque Bit corresponds à un événement ou défaut dans mon cas. Sauf que par exemple si je reçois 128, c'est que c'est mon bit 7 qui est à 1. Le plus simple est donc peut etre de faire un tableau de BOOL.

Auriez-vous une astuce ? Ca doit être tout bête mais là...

Merci par avance.
Michael

Re: Convertir WORD en tableau de BOOL

Posté : 30 nov. 2020, 13:32
par Snakedoc
Je me réponds à moi même, il y a un WORD_AS_BIT qui existe dans la bibliothèque de codesys qui existe.

Re: Convertir WORD en tableau de BOOL

Posté : 01 déc. 2020, 19:51
par agea28
Une autre solution aurait pu être de passer dans une boucle et faire un ET avec un masque dont la valeur = 1 (pour récupérer l'état du bit de poids faible) puis diviser ton WORD par 2 pour décaler d'un bit vers la droite, et ainsi de suite. Comme ça tu récupères l'état de tes bits un à un.

Re: Convertir WORD en tableau de BOOL

Posté : 01 déc. 2020, 21:05
par itasoft
slts,
le plus simple encore c'est d'utiliser les bits de la variable WORD dans laquelle on reçois l'info

Re: Convertir WORD en tableau de BOOL

Posté : 02 déc. 2020, 11:02
par dpo
si ton mot qui contient les états d'appelle "mot_etat"
tu dois pouvoir écrire mot_etat.0 pour lire directement le bit 0
si tu veux lui donner un nom tu fais une variable en_marche
et tu l'affectes
en_marche:=mot_etat.0
ça doit aussi être valable si tu récupères ton mot dans une adresse %MW3000
en_marche:=%MW3000.0