02-04-2014, 11:00 AM
En configurant dans Lifedomus la variable Modbus en int32 avec un masque de 0800, les seules valeurs qui devraient s'afficher sont 0 ou 2048 (= tout les bits ignorés sauf le 11ème)
Si vous lisez les valeurs 258 et 262, ce doit être avec un masque FFFF. Ce sont les valeurs présentes dans le registre (dans les deux cas, le 11ème bit est à 0).
Une façon plus pratique quand on souhaite lire uniquement 1 bit du registre est de configurer une variable Modbus booléen dans Lifedomus et d'y appliquer le masque 0800 (dans le cas où le bit à lire est le 11ème). De ce fait, le retour d'état sera "true" quand le 11ème bit est à 1 et "false" s'il est à 0. Les autres bits ne seront pas pris en compte en lecture et recopiés tels quels en écriture.
Si vous lisez les valeurs 258 et 262, ce doit être avec un masque FFFF. Ce sont les valeurs présentes dans le registre (dans les deux cas, le 11ème bit est à 0).
Une façon plus pratique quand on souhaite lire uniquement 1 bit du registre est de configurer une variable Modbus booléen dans Lifedomus et d'y appliquer le masque 0800 (dans le cas où le bit à lire est le 11ème). De ce fait, le retour d'état sera "true" quand le 11ème bit est à 1 et "false" s'il est à 0. Les autres bits ne seront pas pris en compte en lecture et recopiés tels quels en écriture.
Quentin
Equipe Lifedomus
Equipe Lifedomus