Si se escriben variables durante la ejecución del programa, son posibles diferentes situaciones
respecto al tiempo de la ejecución:
• Ejecución dentro del procesamiento secuencial del programa (ejemplo 1)
• Ejecución en paralelo a instrucciones en curso (ver capítulo "Descripción general del inicio
síncrono de instrucciones y secuencias de instrucciones (Página 109)"):
– Inicio síncrono con orden de movimiento (ejemplo 2)
– Inicio síncrono en el punto de suavizado de transición de una secuencia de movimiento
– Ejecución dentro del contexto de la acción síncrona
Ejemplo 1
En este ejemplo, la variable $IPR.Clipboard.cbDint[1] se ajusta a 1 durante la preparación del
programa intérprete. La asignación tiene lugar antes de que la ejecución del programa haya
llegado a la función anterior. En la ejecución del programa, la función writeVar ajusta la
variable $IPR.Clipboard.cbDint[1] del valor 1 (valor tras el bucle de preparación) al valor 2 tras
finalizar el movimiento hasta Pos2.
MCL
linAbs( pos1, trans := 1, blend := 2 );
linAbs( pos2, trans := 0 );
writeVar( $IPR.Clipboard.cbDint[1], 2 ); // execute in main run
$IPR.Clipboard.cbDint[1] := 1; // execute in preprocessing
Ejemplo 2
Este ejemplo muestra la ejecución de la función writeVar (escritura de las variables
$IPR.Clipboard.cbDint[1]) de forma síncrona al inicio de la función "posAbs". Tras ejecutar
todas las instrucciones en el bloque SYNC/END_SYNC, la variable $IPR.Clipboard.cbDint[1]
tiene el valor 2.
MCL
$IPR.Clipboard.cbDint[1] := 0; // execute in preprocessing
SYNC
posAbs( $A1, 20.0 );
ON_START
writeVar( $IPR.Clipboard.cbDint[1], 2 ); // execute in main run
END_SYNC;
$IPR.Clipboard.cbDint[1] := 1; // execute in preprocessing
S7-1500T Funciones de intérprete V8.0 a partir de STEP 7 V19
Manual de funciones, 11/2023, A5E53131983-AA
(ejemplo 3)
Instrucciones MCL (S7-1500T)
6.6 Otras instrucciones (S7-1500T)
305