Interrupción de la preparación del programa
El intérprete interrumpe la preparación del programa en las siguientes situaciones:
• Se ha alcanzado el número máximo de órdenes que pueden prepararse en la cadena de
órdenes del intérprete (<TO_Interpreter>.Parameter.MaxNumberOfCommands). Tan
pronto como se haya ejecutado una orden, continúa la preparación del programa.
• Se ha alcanzado el número máximo de órdenes de cinemática (30) y debe prepararse una
orden de cinemática adicional. Tan pronto como se haya ejecutado una orden de
cinemática, continúa la preparación del programa.
Si debe esperarse a que se actualicen los datos durante la ejecución del programa, la
preparación del programa se puede interrumpir de forma selectiva con las siguientes
instrucciones en el programa intérprete:
• preHalt()
• waitEvent() con "mode" = 0
• powerOn()
• powerOff()
• defTool()
• setTool()
Si se ha interrumpido la preparación del programa, la cinemática se detiene en la posición de
destino de la última orden de movimiento. De este modo, no es posible suavizar la transición.
Ejemplos de actualización de datos
• Especificación de posiciones de destino para movimientos: Si la posición de destino para
una orden solamente está presente durante la ejecución del programa, interrumpa la
preparación del programa antes de la orden con una orden "preHalt()".
• Instrucciones de control (p. ej., IF o CASE): Si la expresión solamente debe evaluarse en el
momento de su ejecución, interrumpa la preparación del programa antes de la instrucción
de control, p. ej., con una orden "preHalt()". La expresión de la instrucción de control se
evalúa con los valores actuales en el momento de la ejecución del programa.
Ejecución del programa
Al ejecutar un programa intérprete, las órdenes de la cadena de órdenes se preparan en el
bloque de organización MC_LookAhead y, a continuación, se procesan en el bloque de
organización MC_Interpolator.
Una orden "MC_RunProgram" del programa de usuario lanza la ejecución del programa
intérprete. El intérprete transfiere las órdenes de movimiento preparadas a los objetos
tecnológicos controlados por el intérprete. Dichos objetos tecnológicos ejecutan las órdenes
transferidas de forma cíclica en MC_Interpolator. Durante la ejecución del programa
intérprete, el intérprete va preparando ya las órdenes siguientes.
En cuanto el intérprete ha terminado de ejecutar el programa intérprete, se prepara el
programa intérprete para una nueva ejecución. La preparación del programa intérprete
vuelve a empezar. Las variables se vuelven a inicializar mediante ":=" y las órdenes se
preparan. Esto permite volver a ejecutar el programa intérprete.
S7-1500T Funciones de intérprete V8.0 a partir de STEP 7 V19
Manual de funciones, 11/2023, A5E53131983-AA
4.4 Preparación y ejecución de un programa intérprete (S7-1500T)
Funciones de intérprete (S7-1500T)
37