REPEAT: Ejecutar cuando no se cumpla la condición (S7-300, S7-400) - STEP 7

SCL (S7-300, S7-400)

ft:publication_title
SCL (S7-300, S7-400)
Product
STEP 7
Version
V20
Publication date
11/2024
Language
es-ES
REPEAT: Ejecutar cuando no se cumpla la condición

Descripción

La instrucción "Ejecutar cuando no se cumpla la condición" permite procesar un bucle mientras no se cumpla una condición de interrupción. La condición es una expresión con un valor booleano (TRUE o FALSE). Como condición se pueden indicar expresiones lógicas o expresiones de comparación.

Al ejecutar la instrucción, se evalúan las expresiones indicadas. Si el valor de una expresión es TRUE, la condición se considera cumplida; en el caso de FALSE se considera que la condición no se cumple.

Las instrucciones se ejecutan una vez aunque se cumpla la condición de interrupción.

Los bucles también se pueden anidar. Dentro de un bucle se pueden programar otros bucles con otras variables de contaje.

La ejecución actual de un bucle se puede finalizar con la instrucción "Verificar condición de bucle" (CONTINUE). La instrucción "Abandonar el bucle inmediatamente" (EXIT) permite finalizar el procesamiento de todo el bucle. Encontrará más información al respecto en "Consulte también".

La instrucción se puede declarar del siguiente modo:

REPEAT <instrucciones>;

UNTIL <condición> END_REPEAT;

Parámetros

La tabla siguiente muestra los parámetros de la instrucción:

Parámetro

Tipo de datos

Área de memoria

Descripción

<Instrucciones>

-

 

Instrucciones que se ejecutan mientras la condición programada tenga el valor FALSE. Las instrucciones se ejecutan una vez aunque se cumpla la condición de interrupción.

<Condición>

BOOL

I, Q, M, D, L

Expresión que se evalúa después de cada ejecución del bucle. Si la expresión tiene el valor FALSE, el bucle se procesa de nuevo. Si la expresión tiene el valor TRUE, el procesamiento del programa continúa después de END_REPEAT.

Encontrará más información sobre los tipos de datos válidos en "Consulte también".

Ejemplo

El siguiente ejemplo muestra el funcionamiento de la instrucción:

SCL Copia el código de programa siguiente en el portapapeles.

REPEAT "Tag_Result"

        := "Tag_Value";

UNTIL "Tag_Error"

END_REPEAT;

Mientras el valor del operando "Tag_Error" tenga el estado lógico "0", se le asignará al operando "Tag_Result" el valor del operando "Tag_Value".