EcoStruxure Machine Expert versión 1.1 no soporta los controladores M258, LMC058 y LMC078.

Direccionamiento de bits en variables

Descripción general

En las variables enteras, se puede acceder a bits individuales. Para ello, agregue el índice del bit para direccionarlo a la variable y sepárelo con un punto. Puede proporcionar cualquier constante al índice de bits. La indexación e basa en 0.

Sintaxis

<nombre de variable>.<índice de bit>

Ejemplo

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

El tercer bit de la variable a se definirá en el valor de la variable b; esto significa que la variable a será igual a 3.

Si el índice es mayor que el ancho del bit de la variable, se generará el siguiente mensaje:

'Índice '<n>' fuera del rango válido para la variable '<var>'!'

El direccionamiento de bits es posible con las variables de los tipos de datos siguientes:

oSINT

oINT

oDINT

oUSINT

oUINT

oUDINT

oBYTE

oWORD

oDWORD

Si el tipo de datos no permite el acceso de bit, se generará el siguiente mensaje:

'Tipo de dato no válido '<type>' para indexación directa'.

No asigne el acceso de bit a una variable VAR_IN_OUT.

Acceso de bit a través de una constante global

Si ha declarado una constante global que define el índice de bits, podrá usar esta constante para acceder al bit.

Ejemplo de un acceso de bit a través de una constante global y una variable:

1. Declaración de la constante global en una lista de variables globales

La variable enable define el bit al que se accede:

VAR_GLOBAL CONSTANT
    enable:int:=2;
END_VAR

2. Acceso de bit en una variable entera

Declaración en POU:

VAR
    xxx:int;
END_VAR

Acceso de bit:

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

Acceso de bit en tipos de datos BIT

El tipo de datos BIT es un tipo de datos especial que solo se permite en estructuras. Para obtener más información, consulte Acceso de bit en estructuras.

Ejemplo de acceso de bit en tipos de datos BIT

Declaración de estructura

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

Declaración en POU

VAR
    ControllerDrive1:ControllerData;
END_VAR

Acceso de bit

ControllerDrive1.Status_OperationEnabled := TRUE;