Ejemplo De Creación De Un Error Generado Asíncronamente - ABB MultiMove Manual De Aplicaciones

Tabla de contenido

Publicidad

7.4 Ejemplo de creación de un error generado asíncronamente
Acerca de este ejemplo
En este ejemplo, se inicia un proceso cambiando do_myproc a 1. A continuación,
se supervisa el proceso, y la señal di_proc_sup cambia a 1 si el proceso falla.
Si se produce un fallo en el proceso durante un movimiento del robot, una
interrupción llama a una rutina TRAP. La instrucción ProcerrRecovery detiene
el movimiento y genera el error ERR_PATH_STOP en todos los programas de
tarea que tengan sus movimientos sincronizados.
El programa de tarea T_HANDLEROB debe tener un gestor de errores que reinicie
el movimiento cuando el error haya sido resuelto en la tarea de programa
T_PROCROB. Para ello se requiere solo una instrucción, StartMoveRetry.
Programa de tarea T_PROCROB
Manual de aplicaciones - MultiMove
3HAC050961-005 Revisión: F
7 Recuperación en caso de errores de RAPID
7.4 Ejemplo de creación de un error generado asíncronamente
VAR intnum proc_sup_int;
PROC main()
...
SyncMoveOn, sync1, motion_tasks;
my_proc_on;
MoveL p101\ID:=10, v100, z10, gun1 \WObj:=wobj_handlerob;
MoveL p102\ID:=20, v100, fine, gun1 \WObj:=wobj_handlerob;
my_proc_off;
SyncMoveOff sync2;
...
ERROR
IF ERRNO = ERR_PATH_STOP THEN
my_proc_on;
StartMoveRetry;
ENDIF
ENDPROC
TRAP iprocfail
my_proc_off;
ProcerrRecovery \SyncLastMoveInst;
RETURN;
ENDTRAP
PROC my_proc_on()
SetDO do_myproc, 1;
CONNECT proc_sup_int WITH iprocfail;
ISignalDI di_proc_sup, 1, proc_sup_int;
ENDPROC
PROC my_proc_off()
SetDO do_myproc, 0;
IDelete proc_sup_int;
ENDPROC
© Copyright 2004-2021 ABB. Reservados todos los derechos.
Continúa en la página siguiente
91

Publicidad

Tabla de contenido
loading

Tabla de contenido