La version V1.1 d' EcoStruxure Machine Expert ne prend pas en charge les contrôleurs M258, LMC058 et LMC078.

Adressage de bits de variables

Présentation

Il est possible d'accéder à chacun des bits d'une variable de type entier. Pour ce faire, vous devez ajouter l'index du bit à adresser à la variable, en utilisant le point comme séparateur. Cet index peut être associé à n'importe quelle constante. L'indexation part de 0.

Syntaxe

<nom de la variable>.<index du bit>

Exemple

a : INT;
b : BOOL;
...
a.2 := b;

Le troisième bit de la variable a étant défini sur la valeur de la variable b, la variable a est égale à 3.

Lorsque l'index dépasse la largeur de bit de la variable, le message suivant s'affiche :

'<n>' is no valid bit number for '<var>'

L'adressage de bits est possible avec les variables appartenant aux types de données suivants :

oSINT

oINT

oDINT

oUSINT

oUINT

oUDINT

oBYTE

oWORD

oDWORD

Lorsque le type de données ne prend pas en charge l'accès aux bits, le message suivant apparaît :

Bitaccess is only possible on integer types

L'adressage de bits ne doit pas être utilisé avec une variable VAR_IN_OUT.

Accès aux bits via une constante globale

Si vous avez déclaré une constante globale définissant l'index de bit, vous pouvez vous en servir pour accéder à un bit.

Exemple d'accès à un bit via une constante globale et pour une variable :

1. Déclaration de la constante globale dans une liste de variables globales

La variable enable définit le bit auquel accéder :

VAR_GLOBAL CONSTANT
    enable:int:=2;
END_VAR

2. Accès au bit pour une variable de type entier

Déclaration dans le POU :

VAR
    xxx:int;
END_VAR

Accès aux bits :

xxx.enable := true; (* -> the third bit in variable xxx will be set TRUE *)

Accès aux bits pour des types de données BIT

Le type de données BIT est spécialement réservé aux structures. Pour plus d'informations, reportez-vous au chapitre Accès aux bits de structures.

Exemple : accès aux bits pour des types de données BIT

Déclaration de la structure

TYPE ControllerData :
STRUCT
    Status_OperationEnabled : BIT;
    Status_SwitchOnActive : BIT;
    Status_EnableOperation : BIT;
    Status_Error : BIT;
    Status_VoltageEnabled : BIT;
    Status_QuickStop : BIT;
    Status_SwitchOnLocked : BIT;
    Status_Warning : BIT;
END_STRUCT
END_TYPE

Déclaration dans le POU

VAR
    ControllerDrive1:ControllerData;
END_VAR

Accès aux bits

ControllerDrive1.Status_OperationEnabled := TRUE;