8. Control de programa
8.9 Influencia del avance de proceso
Para recorrer los movimientos de forma eficiente y detectar situaciones críticas como, por
ejemplo, la superación de la dinámica máx. de accionamiento, la trayectoria debe
calcularse por adelantado. No obstante, en algunas situaciones es necesario que el cálculo
por adelantado del programa se sincronice con la ejecución. Con esta finalidad, en la
programación FTL se ofrecen diferentes instrucciones que detienen el cálculo por
adelantado y, por consiguiente, generan una parada del movimiento o esperan el
momento óptimo para la ejecución del programa para no influir en la dinámica del
movimiento. En las páginas siguientes se describen estas instrucciones.
8.9.1
WAIT – Instrucción con tiempo <WaitTime>
La instrucción WAIT con indicación de tiempo permite programar un tiempo de espera.
Este tiempo de espera repercute en el comportamiento de movimiento y fuerza la
detención del cálculo por adelantado de proceso, que a su vez para el movimiento. El
tiempo de espera empieza a contar una vez ejecutada la instrucción anterior. Transcurrido
este tiempo se reanuda el programa.
El tiempo se indica en milisegundos mediante un valor o una variable.
Ejemplo:
Un sistema de manipulación equipado con una pinza extrae piezas de una paleta. Para
agarrar las piezas con seguridad debe esperarse un tiempo determinado.
Extracto del programa de movimientos:
:
Lin(pos1)
Lin(pos2)
Gripper.Set()
WaitTime(70)
Lin(pos1)
:
Festo GDCP-CMXR-SW-ES es 1205c
Sintaxis
WaitTime (<timeMS >: DINT)
Nota
Para sincronizar el avance de proceso con el proceso principal,
utilice la instrucción WaitTime 0.
// Avanzar sobre posición de sujeción
// Avanzar a posición de la pinza
// Cerrar pinza
// Esperar 70 ms de tiempo de sujeción
// Avanzar sobre posición de sujeción
53