0% encontró este documento útil (0 votos)
94 vistas2 páginas

Gestión de Interrupciones RobotStudio

Este documento describe cómo crear y gestionar interrupciones en un robot. Se explica cómo declarar variables de interrupción, crear tareas de interrupción y conectar las variables de interrupción a las tareas para que se ejecuten cuando se active la interrupción.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
94 vistas2 páginas

Gestión de Interrupciones RobotStudio

Este documento describe cómo crear y gestionar interrupciones en un robot. Se explica cómo declarar variables de interrupción, crear tareas de interrupción y conectar las variables de interrupción a las tareas para que se ejecuten cuando se active la interrupción.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Prá cticas de robó tica - RobotStudio nº 12 Profesor: Agustín Cañ ete Ló pez

PRÁCTICA Nº 12 GESTIÓN DE INTERRUPCIONES

Una interrupción, en un sistema digital consiste en que el procesador (si éste está
alojado en un único chip se denomina microprocesador), que es el encargado de ejecutar
las instrucciones de un programa (p.e. el sistema operativo en un ordenador) al recibir
una interrupción, la atiende ejecutado una pequeña tarea específica de dicha
interrupción, p.e. si movemos el ratón, se produce una interrupción en el sistema, y el
microprocesador, realizará una tarea específica como es el cambiar de posición el cursor
del ratón en la pantalla. Algo similar ocurre cuando pulsamos una tecla cuando se está
ejecutando un procesador de texto, se produce una interrupción en el sistema y se
ejecuta la tarea de representar el carácter pulsado en la pantalla activa.

1 Carga un sistema con una tarjeta de


comunicaciones y crearemos una entrada digital
denominada ENT1.

2 Crea un cubo (200x200x200)donde se


realizará la trayectoria del robot tocando los
cuatro vértices, utilizando para ello un offset
vertical de 50mm, es decir el TCP de la
herramienta se debe situar justo en la vertical de
cada punto y luego bajar hasta el mismo, y subir
de nuevo verticalmente (ver vídeo) Esta
trayectoria se debe realizar dos veces.
La velocidad será v100 y la aproximación fine
(la velocidad de acercamiento a la pieza circular
será v500 y a la posición de INICIO será v500 y
aproximación Z100)

3 Crea una figura como la representada que será


el elemento donde la herramienta se limpiará. Consiste en:
- una base cilíndrica de diámetro 170mm y altura 50mm
- un cilindro de diámetro 80mm y altura 100mm
- un hueco de diámetro 40mm y altura 150mm (este se realiza mediante otro cilindro de
estas dimensiones y se le resta al de 80mm)

Estas figuras se unirán en una única pieza a la que denominaremos limpiador

4 Crearemos una variable global del tipo intnum


- Variable golbal ->variable que pueden ver todos los procedimientos, se declara
al principio del programa o módulo y fuera de cualquer procedimiento, al
igual que en lenguaje C
- Variable de interrupción -> variable que se encargará de accionar una
interrupción en el sistema, se declara de la siguente forma
Var intnum nombre_variable

VAR intnum intlimpieza; !declaración de variable de interrupción


1
Prá cticas de robó tica - RobotStudio nº 12 Profesor: Agustín Cañ ete Ló pez

5 Crearemos una tarea de interrupción consistente en llevar la herramienta al limpiador


introducir y sacar verticalmente la herramienta y luego seguirá con el programa. Para
ello utilizaremos una tarea o procedimiento denominada TRAP (ver vídeo, en un
momento determinado se activa la inerrupción mediante una entrada digital y se ejecuta
la tarea de interrupción)
Ejemplo de una tarea de interrupción:

TRAP tarea_limpiado !tarea de interrupción


MoveL INICIO,v500,z100,MyTool\WObj:=wobj0;
MoveL Offs(Target_50,0,0,50),v100,fine,MyTool\WObj:=limpiado;
MoveL Offs(Target_50,0,0,-50),v100,fine,MyTool\WObj:=limpiado;
MoveL Offs(Target_50,0,0,50),v100,fine,MyTool\WObj:=limpiado;
MoveL INICIO,v500,z100,MyTool\WObj:=wobj0;
RETURN; !vuelta al programa principal
ENDTRAP

Una vez creada aparece en el arbol de módulos de programa

4 Crea una entrada digital denominada ENT1 Crea en el procedimiento


main() las siguientes instrucciones:

PROC main()
IDelete intlimpieza;!desactiva la variable de interrupción
CONNECT intlimpieza WITH tarea_limpiado;!conecta la variable de interrupción con
la tarea de interrupción
ISignalDI ENT1,1,intlimpieza;!asigna una variable digital de entrada con la variable de
interrupción, se activará cuando pase esta variable de 0 a 1
!mi programa …
ENDPROC

El programa deberá funcionar de modo que al pulsar inicio en el simulador, el robot, partiendo
de una posición inicial, tocará los cuatro vértices del cuadrado dos veces (ver vídeo), pero si en
algún momento accionamos la interrupción, mediante la entrada ENT1 el robót realizará la tarea
de interrupción, y posteriormente seguirá realizando el programa principal.

También podría gustarte