Descripción
La instrucción "Ejecutar en bucle contador" permite procesar un bucle mientras la variable de contaje se encuentre dentro del rango de valores indicado.
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".
|
Nota Información sobre el número de ejecuciones y sobre la variable de control El número de ejecuciones no puede modificarse durante la ejecución del programa. Por motivos de rendimiento, la variable de control debe declararse en la sección "Temp" de la interfaz del bloque. Del mismo modo, la variable de control no debe modificarse durante le ejecución del programa, ya que de lo contrario la instrucción puede devolver un resultado indefinido en función de la implementación. |
Valores límite para instrucciones FOR
Para programar instrucciones FOR "seguras" que no se ejecuten de manera infinita, tenga en cuenta las siguientes reglas y los siguientes valores límite:
FOR <variable de contaje> := <valor inicial> TO <valor final> BY <incremento> DO <instrucciones>;
END_FOR;
|
Si... |
... entonces |
Observación |
|---|---|---|
|
Valor inicial < valor final |
Valor final < (PMAX - paso) |
La variable de contaje cuenta en sentido positivo |
|
Valor inicial > valor final AND valor de paso < O |
Valor final > (NMAX - paso) |
La variable de contaje cuenta en sentido negativo |
Valores límite
Para los tipos de datos posibles son válidos diferentes valores límite:
|
Tipo de datos |
PMAX |
NMAX |
|---|---|---|
|
Variable de contaje del tipo INT |
32767 |
-32768 |
|
Variable de contaje del tipo DINT |
2147483647 |
-2147483648 |
Parámetro
La tabla siguiente muestra los parámetros de la instrucción:
|
Parámetros |
Tipo de datos |
Área de memoria |
Descripción |
|---|---|---|---|
|
<Variable de contaje> |
INT, DINT |
I, Q, M, D, L |
Operando, cuyo valor se evalúa durante el procesamiento del bucle. El tipo de datos de la variable de contaje determina el tipo de datos de los parámetros restantes. |
|
<Valor inicial> |
INT, DINT |
I, Q, M, D, L |
Expresión, cuyo valor se asigna a la variable de contaje al comienzo del procesamiento del bucle. |
|
<Valor final> |
INT, DINT |
I, Q, M, D, L |
Expresión, cuyo valor determina la última ejecución del bucle. Antes de cada ejecución del bucle se comprueba qué valor tiene la variable de contaje:
No se puede modificar el valor final durante la ejecución de la instrucción. |
|
<Incremento> |
INT, DINT |
I, Q, M, D, L |
Expresión, en cuyo valor aumenta (incremento positivo) o disminuye (incremento negativo) la variable de contaje después de cada ejecución del bucle. La indicación del incremento es opcional. Si no se ha indicado ningún incremento, el valor de la variable de contaje aumenta en 1 después de cada ejecución del bucle. No se puede modificar el incremento durante la ejecución de la instrucción. |
|
<Instrucciones> |
- |
Instrucciones que se ejecutan durante cada ejecución del bucle mientras el valor de la variable de control se encuentre en el rango de valores. El rango de valores se especifica mediante los valores inicial y final. |
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:
El operando "Tag_Value" se multiplica por los elementos (2, 4, 6, 8) de las variables ARRAY "b_array". El resultado se lee en los elementos (2, 4, 6, 8) de las variables ARRAY "a_array".