Está en la página 1de 75

Manual de Inst rucciones de COSIROP

para el lenguaje MELFA BASIC IV

Festo Didactic - 2005

Uso al que se destina


Esta estacin ha sido desarrollada y producida exclusivamente con fines de
formacin profesional y continuada, en el campo de la automatizacin y las
comunicaciones. La empresa que imparta la formacin y/ o los instructores deben
asegurar que los alumnos observan las medidas de seguridad descritas en los
manuales suministrados.
Festo Didactic declina cualquier responsabilidad por daos a los alumnos, a la
organizacin, a terceras partes, o a todos ellos, como resultado del uso o aplicacin
de los equipos fuera de la situacin de pura formacin.

N de artculo:
Descripcin:

Manual de Prcticas para el brazo robot RV-2AJ

Fecha:
Autor:

03/2005
Juan Olea Pastor

Festo Didactic , 2005


Internet: www.festo.com/didactic
e-mail: did@festo.com
Sin nuestra expresa autorizacin, queda terminantemente prohibida la reproduccin
total o parcial de este documento, as como su uso indebido y/ o su exhibicin o
comunicacin a terceros. De los infractores se exigir el correspondiente
resarcimiento de daos y perjuicios. Quedan reservados todos los derechos
inherentes, en especial los de patentes, de modelos registrados y estticos.

Festo Didactic

INDICE :
1 INTRODUCCIN ...........................................................................6
OBJETIVOS DEL CURSO ............................................................................6
SEGURIDAD .............................................................................................6
GARANTAS Y RESPONSABILIDADES ........................................................7

2 INTRODUCCIN A LA ROBTICA ....................................8


HISTORIA .................................................................................................8
QU ES UN ROBOT? ................................................................................9

3 CARACTERISTICAS RV-2AJ ................................................10


ESTRUCTURA DE UN ROBOT INDUSTRIAL ...............................................10
PARTES DEL BRAZO ROBOT Y PERIFRICOS ............................................11
RESUMEN DE CARACTERSTICAS ............................................................12
CARACTERSTICAS DEL BRAZO ROBOT ...................................................13
CARACTERSTICAS DEL CONTROLADOR .................................................14
MANTENIMIENTO ..................................................................................15

4 INTRODUCCIN AL COSIROP ...........................................16


CREACIN DE UN PROYECTO NUEVO EN COSIROP ...............................16
ICONOS DE LA BARRA DE HERRAMIENTAS DE COSIROP .......................19
TEACH DE LAS POSICONES DESDE EL COSIROP ....................................20
CARGA Y EJECUCIN DEL PROGRAMA EN EL BRAZO ROBOT ...................25
OPCIONES DE MONITORIZACIN ............................................................27

5 ESTRUCTURA DE LA PROGRAMACIN ......................29


ESTRUCTURA DEL PROGRAMA ...............................................................29
LNEAS DE INSTRUCCIN .......................................................................32
TIPOS DE VARIABLES .............................................................................33

6 INSTRUCCIONES BSICAS ..................................................34


INTRODUCCIN ......................................................................................34
MOV.....................................................................................................34
MVS .....................................................................................................35
HOPEN / HCLOSE ..............................................................................36
OVDR...................................................................................................36
SPD.......................................................................................................36
DLY ......................................................................................................36
PRCTICA 1 INSTRUCCIONES BSICAS ................................................37

7 INSTRUCCIONES DE MOVIMIENTO ..............................40


MVR .....................................................................................................40
CNT ......................................................................................................41

Festo Didactic

ACCEL .................................................................................................41
JOVDR .................................................................................................41
HLT ......................................................................................................42
FINE .....................................................................................................42
TOOL ...................................................................................................42
PRCTICA 2 MOVIMIENTOS CIRCULARES ...........................................43

8 SEALES DE ENTRADA / SALIDA ....................................45


DEF I/O ................................................................................................45
WAIT....................................................................................................46
PRCTICA 3 MOVIMIENTO CONTINUO ................................................47

9 PALETIZACIN...........................................................................49
INTRODUCCIN ......................................................................................49
DEF PLT ..............................................................................................49
PLT .......................................................................................................50
PRCTICA 4 PALETIZACIN ................................................................51

10 SALTOS CONDICIONALES Y BUCLES ........................53


GOTO ...................................................................................................53
ON GOTO ............................................................................................53
IF THEN ELSE ....................................................................................53
SELECT CASE ....................................................................................54
GOSUB.................................................................................................54
RETURN ..............................................................................................54
ON GOSUB..........................................................................................54
FOR NEXT...........................................................................................55
WHILE WEND ....................................................................................55
PRCTICA 5 SUBRUTINAS ...................................................................56

11 INTERRUPCIONES ..................................................................58
DEF ACT..............................................................................................58
ACT ......................................................................................................58
RETURN ..............................................................................................58
PRCTICA 6 INTERRUPCIONES (GENERAL)..........................................59

12 COMUNICACIONES ................................................................61
OPEN....................................................................................................61
CLOSE .................................................................................................61
PRINT #................................................................................................61
INPUT # ...............................................................................................62
ON COM GOSUB................................................................................62
COM ON ..............................................................................................62
COM OFF.............................................................................................62
COM STOP ..........................................................................................63
CALLP .................................................................................................63

Festo Didactic

FPRM ...................................................................................................63
CLR ......................................................................................................63
EJEMPLO DE APLICACIN VISIN ARTIFICIAL .....................................64

13 APENDICE ....................................................................................65
SOLUCIN PRCTICA 1 ..........................................................................66
SOLUCIN PRCTICA 2 ..........................................................................67
SOLUCIN PRCTICA 3 ..........................................................................68
SOLUCIN PRCTICA 4 ..........................................................................69
SOLUCIN PRCTICA 5 ..........................................................................70
SOLUCIN PRCTICA 6 ..........................................................................73

Festo Didactic

1 INTRODUCCIN

Objetivos del curso


Este manual pretende ser una gua de ayuda con la informacin necesaria para
ayudar a los asistentes del curso de Introduccin a la Robtica, como unas
directrices a seguir en la consecucin y realizacin de los problemas que se pueden
plantear en la realizacin de las prcticas.
Introducir al lector con una cierta formacin tcnica, en los aspectos relacionados
con la robtica, presentando de manera sencilla las diferentes caractersticas que
componen las diferentes tecnologas de un robot industrial (mecnica, electrnica,
control y programacin) centrando estas especificaciones en el modelo utilizado en
las prcticas.

Seguridad
- Recomendaciones :
Se deben observar siempre las recomendaciones y normas fundamentales sobre
seguridad.
Cualquier persona que trabaje con el robot industrial, debe observar con especial
atencin las recomendaciones de seguridad.
Adems, deben respetarse las normas y regulaciones sobre prevencin de
accidentes, aplicables localmente.
El responsable del funcionamiento se compromete en asegurar que el robot
industrial es utilizado solamente por personas que:
Estn familiarizadas con las normas bsicas relacionadas con la seguridad operativa
y prevencin de accidentes.
Hayan recibido instrucciones en el manejo del Sistema Modular de Produccin.
Estn medianamente habituados en trabajar con seguridad.
- A tener en cuenta :
General
Los alumnos slo deben trabajar con el robot bajo la supervisin de un instructor.
Observar los datos de los componentes individuales de las fichas tcnicas.
Posicionamiento
En el posicionamiento hay que tener especial atencin con las colisiones que se
pueden producir con otros elementos o personas que pueden producir lesiones
graves en las personas y en el brazo robot.
Manipulacin

Festo Didactic

Antes de la ejecucin del programa del programa habr que retirar previamente
elementos que no estn especificados en la concepcin este con el fin de evitar
colisiones en la ejecucin de las secuencias de movimiento.
Electricidad
Las conexiones elctricas deben establecerse y desconectarse slo cuando la
tensin principal est cortada
Utilizar slo bajas tensiones de hasta 24 V DC.
Mecnica
No intervenir manualmente a no ser que la mquina se halle parada.
El Sistema Modular de Produccin est diseado segn los ltimos avances en esta
tecnologa y cumple con reconocidas normas de seguridad. Sin embargo, al utilizar el
sistema puede haber un riesgo de ocasionar daos fsicos o lesiones al usuario o a
terceras partes, o de causar daos a la mquina o a otros bienes materiales.

El Robot industrial debe ser utilizado


exclusivamente con fines didcticos y en
condiciones absolutamente seguras.

Garantas y responsabilidades
En principio, se aplican todos nuestros " Trminos y Condiciones de Venta" . Estos
trminos se ponen a disposicin del responsable del funcionamiento, a lo ms tardar
en el momento de la firma del contrato. Las reclamaciones de la garanta y
responsabilidad por daos a personas y materiales quedan excluidas si estas
pueden imputarse a una o varias de las siguientes causas:

o
o
o
o

o
o
o
o

Uso de la instalacin con fines que no son los previstos.


Montaje de la mquina, puesta a punto, funcionamiento o mantenimiento
incorrectos.
Funcionamiento de la instalacin utilizando equipos de seguridad
defectuosos o mal montados, o dispositivos protectores fuera de servicio.
La falta de observacin de notas de las instrucciones de funcionamiento en
relacin con el transporte, almacenamiento, montaje, puesta a punto,
funcionamiento, mantenimiento y preparacin del equipo.
Modificaciones constructivas no autorizadas en la instalacin.
Supervisin inadecuada de la instalacin o de componentes sometidos a
desgaste.
Reparaciones llevadas a cabo incorrectamente.
Catstrofes resultantes por causas ajenas o por fuerza mayor.

Festo Didactic declina cualquier responsabilidad por daos a los alumnos, a la


organizacin, a terceras partes, o a todos ellos, como resultado del uso o aplicacin
de los equipos fuera de la situacin de pura formacin.

Festo Didactic

2 INTRODUCCIN A LA ROBTICA

Historia
El concepto de mquinas automatizadas se remonta a la antigedad, con mitos de
seres mecnicos vivientes. Los autmatas, o mquinas semejantes a personas, ya
aparecan en los relojes de las iglesias medievales, y los relojeros del siglo XVIII eran
famosos por sus ingeniosas criaturas mecnicas.
Algunos de los primeros robots empleaban mecanismos de realimentacin para
corregir errores, mecanismos que siguen emplendose actualmente. Un ejemplo de
control por realimentacin es un bebedero que emplea un flotador para determinar
el nivel del agua. Cuando el agua cae por debajo de un nivel determinado, el flotador
baja, abre una vlvula y deja entrar ms agua en el bebedero. Al subir el agua, el
flotador tambin sube, y al llegar a cierta altura se cierra la vlvula y se corta el paso
del agua.
El primer autntico controlador realimentado fue el regulador de Watt, inventado en
1788 por el ingeniero britnico James Watt. Este dispositivo constaba de dos bolas
metlicas unidas al eje motor de una mquina de vapor y conectadas con una vlvula
que regulaba el flujo de vapor. A medida que aumentaba la velocidad de la mquina
de vapor, las bolas se alejaban del eje debido a la fuerza centrfuga, con lo que
cerraban la vlvula. Esto haca que disminuyera el flujo de vapor a la mquina y por
tanto la velocidad.
El control por realimentacin, el desarrollo de herramientas especializadas y la
divisin del trabajo en tareas ms pequeas que pudieran realizar obreros o
mquinas fueron ingredientes esenciales en la automatizacin de las fbricas en el
siglo XVIII. A medida que mejoraba la tecnologa se desarrollaron mquinas
especializadas para tareas como poner tapones a las botellas o verter caucho lquido
en moldes para neumticos. Sin embargo, ninguna de estas mquinas tena la
versatilidad del brazo humano, y no podan alcanzar objetos alejados y colocarlos en
la posicin deseada.
El desarrollo del brazo artificial multiarticulado, o manipulador, llev al moderno
robot. El inventor estadounidense George Devol desarroll en 1954 un brazo
primitivo que se poda programar para realizar tareas especficas. En 1975, el
ingeniero mecnico estadounidense Victor Scheinman, cuando estudiaba la carrera
en la Universidad de Stanford, en California, desarroll un manipulador polivalente
realmente flexible conocido como Brazo Manipulador Universal Programable (PUMA,
siglas en ingls). El PUMA era capaz de mover un objeto y colocarlo en cualquier
orientacin en un lugar deseado que estuviera a su alcance. El concepto bsico
multiarticulado del PUMA es la base de la mayora de los robots actuales.

Festo Didactic

Qu es un robot?
Segn el Instituto Norteamericano de Robtica es " un manipulador multifuncional y
reprogramable, diseado para mover materiales, piezas, herramientas o dispositivos
especiales, mediante movimientos programados y variables que permiten llevar a
cabo diversas tareas".
Aunque hay tal variedad de robots que es muy difcil concretar unos elementos
comunes a todos, lo cierto es que la mayora dispone de un esqueleto o chasis, que
puede ser interno o externo, motores, piezas que permiten su movilidad, sistemas de
agarre y manipulacin y una fuente de alimentacin, normalmente elctrica.
En cambi segn la norma JIS ( Japanese Industrial Standard ), incluye en su
definicin cinco tipos diferentes en funcin de sus caractersticas, sistema de control
y programacin.

Festo Didactic

Telerobot: Robot gobernado directamente por un operario.

Robot de secuencia: Robot que ejecuta la tarea de manera secuencial en


funcin de la informacin que recibe en cada momento.

Robot guiado: Robot que reproduce una secuencia ( trayectoria ) que ha


sido guiado previamente por un operario.

Robot controlado numricamente: Robot que realiza una secuencia en


funcin de una programacin numrica introducida previamente, sin haber
realizado ningn movimiento.

Robot inteligente: Robot dotado de una inteligencia artificial que es capaz


de determinar por si mismo en cada momento la accin a realizar.

3 CARACTERISTICAS RV-2AJ

Estructura de un robot industrial


El diseo de un robot industrial generalmente se inspira en el brazo humano, aunque
con algunas diferencias, segn su estructura y composicin pero en esencia es as.
Por ejemplo, un brazo robtico puede extenderse telescpicamente, es decir,
deslizando unas secciones cilndricas dentro de otras para alargar el brazo. Tambin
pueden construirse brazos robticos de forma que puedan doblarse como la trompa
de un elefante. Las pinzas estn diseadas para imitar la funcin y estructura de la
mano humana. Muchos robots estn equipados con pinzas especializadas para
agarrar dispositivos concretos, como una gradilla de tubos de ensayo o un soldador
de arco.
Las articulaciones de un brazo robtico suelen moverse mediante motores elctricos,
aunque pueden utilizarse otras tecnologas (neumtica, hidrulica). En la mayora de
los robots, la pinza se mueve de una posicin a otra cambiando su orientacin. La
controladora calcula los ngulos de articulacin necesarios para llevar la pinza a la
posicin deseada, un proceso conocido como cinemtica inversa.
La mayora de los brazos multiarticulados estn equipados con servo controladores,
o controladores por realimentacin, que reciben datos de la controladora. Cada
articulacin del brazo tiene un dispositivo de medicin que mide su ngulo (encoder)
y enva ese dato al controlador. Si el ngulo real del brazo no es igual al ngulo
calculado para la posicin deseada, el servo controlador mueve la articulacin hasta
que el ngulo del brazo coincida con el ngulo calculado. Este tipo de control se
denomina control de lazo cerrado.
El diagrama de bloques de un control de posicionamiento en lazo cerrado es el
siguiente:

Motor

1
Jt S

1
S

Posicin

Controlador

Velocidad

Consigna

Par

Perturbacin

Encoder

Unidad de control

Estructura mecnica

Los controladores y los ordenadores asociados tambin pueden procesar los datos
recogidos por cmaras que localizan los objetos que se van a agarrar o las
informaciones de censores situados en las pinzas que regulan la fuerza de agarre.

Festo Didactic

10

Partes del brazo robot y perifricos


En este figura se muestra de manera esquemtica las diferentes partes y perifricos
que se pueden asociar al brazo robot con el que se realizan las prcticas.
Se observa en la figura que la estructura mecnica (brazo robot) y la controladora
forma la estructura principal, a la que despus se le acoplar la herramienta deseada
segn el tipo de tarea o aplicacin que se desee realizar.
La unidad de control del brazo robot se puede ampliar para poder interconectar
mediante buses de comunicacin o entras y salidas a otros elementos y
herramientas que comporten la clula de fabricacin.

Interfase para pinza


neumtica
Interfase para pinza
elctrica

Unidad paralela de E/S

Dispositivos
Perifricos

Pinza neumtica
RV-2AJ (5 ejes)
Cable de E/S externas
Controladora

Pinza elctrica

Interfase
Ethernet

Interfase
CC-Link
Estructura bsica
Expansin
Interfase serie
Cable programacin
Visin Artificial

Consola
Software
programacin
Ordenador

Festo Didactic

11

Resumen de caractersticas
En este apartado se muestran las caractersticas ms significativas de un robot
industrial:
Grados de libertad: son las dimensiones del mundo de un manipulador. Cualquier
movimiento de una pieza en el espacio se puede descomponer en 6 movimientos
bsicos:
3 lineales -> grados de traslacin ( X; Y; Z )
3 rotacionales -> grados de rotacin
A:rotacin
B:guiada
C:orientacin

CARACTERSTICA
Grados de libertad
Carga mxima
Repetitividad
Velocidad mxima
Alcance de la pinza
Alcance desde Q, en mm
Alcance desde Q, en mm
Alcance desde Q, en grados
Alcance desde Q, en mm

ESPECIFICACIN
5
2 kg
0,02 mm
2100 mm/s
482 mm
A 410, B 285
C 190, D 300
E 150
R1 220, R2 410

El campo de trabajo es el volumen


espacial dentro del cual el robot puede
situar el extremo de su mueca. Est
limitado por las envolventes que se
producen al mover los ejes del robot
entre sus posiciones mnimas y
mximas.
El campo de trabajo de un robot influye
en el grado de accesibilidad de ste a
las diferentes mquinas o elementos de
la instalacin, por lo que cuando se
desea robotizar una instalacin es
necesario estudiar, la distribucin de
elementos en el entorno del robot.
Resolucin: Movimiento mnimo que puede producir el robot (condicionado por la
mecnica y el tipo de control).
Exactitud: Capacidad de un robot para situar el extremo de su mueca en un punto
sealado dentro del volumen de trabajo. La exactitud es mayor cuando su brazo
trabaja cerca de la base (inexactitudes mecnicas)
Repetibilidad: Capacidad para volver repetidamente al mismo punto

Festo Didactic

12

Caractersticas del brazo robot

CARACTERSTICA

UNIDAD

ESPECIFICACIN

Modelo
Grados de libertad
Instalacin
Estructura
Sistema de guiado
Mtodo deteccin de
posicin
Tipo de detector
Hombro
Antebrazo
Longitud del
Brazo
brazo
Codo
Mueca
J1
J2
Rango de
J3
movimiento
J4
J5
J1
J2
Velocidad de
J3
movimiento
J4
J5
Velocidad total mxima
Capacidad
Mxima
de carga
Rating
Repetitibidad de posicin
Temperatura ambiente
Peso
Momento
J4
permisible
J5
J4
Inercia
permisible
J5
Radio accesible al brazo

RV-2AJ
5
Sobre el suelo
Vertical, mult.-joint type
Servo motor AC
J1, J2 y J3 :50W con freno; J4 y J6 :15W sin freno;
J5 :15W con freno
Encoder absoluto
0
250
160
0
72
300 (-150 , +150)
180 (-60 , +120)
230 (-110 , +120)
180 (-90 , +90)
400 (-200 , +200)
180
90
135
180
210
Aprox. 2100
2
1.5
0.02
De 0 a 40
Aprox. 17
2,16
1,10
3,2410-2
8,4310-3
410
4 para seales de entrada; 4 para seales de
salida; salida motorizada de la mano
4x4 (de la base a la mano)
0.5 10%
IP30

Cables de herramienta
Tubos neumticos
Presin de alimentacin
Tipo proteccin

Festo Didactic

mm

grados []

grados/s

mm/s
kg
mm
C
kg
Nm
Kgm2
mm
MPa
-

13

Caractersticas del controlador


CARACTERSTICA

UNIDAD

ESPECIFICACIN

Modelo

CR1-571

Nmero de ejes a controlar

6 a la vez (max.)

CPU

64 bit RISC, DSP

punto

2500

paso

5000

88

Posiciones de
Capacidad

enseanza y

de

nmero de pasos

memoria

Nmero de
programas

Observaciones

MELFA-BASIC IV
Lenguaje de programacin

Movemaster

Mtodo enseanza de posicin

Mtodo MDI

Command
Entradas y salida
E/S dedicadas
Entradas y
salidas
externas

punto

E/S de
abrir/cerrar la

punto

mano
Entrada de paro
de emergencia
Ent. interruptor

punto

Max. 240/240
STOP 1 punto

uso general
Entradas 4 puntos/
Salidas 0 puntos
1
1

RS-232C

puerto

RS-422

puerto

Ranura para la
mano
Ranura de
expansin
Conexin de E/S
del robot
Rango del voltaje

fijado
Se pueden aadir
hasta 4 puntos de
salida
Solo una lnea de
emergencia
Solo una lnea de
interruptor puerta
Dedicada para T/B
Dedicada para

slot

interfaz de mano
neumtica

slot

canal

Fuente de
alimentacin

16/16
Asignado con E/S de

punto

de puerta

Interfaz

punto

Caja opcin
extensin usada
240 usados con
E/S de uso general

1 fase, AC, 90 a 132V


1 fase, AC, 170 a 253V
No incluye la

Potencia mxima

kVA

0.7

sobrecorriente de
arranque

Dimensiones de contorno

mm

212x290x151

Peso

kg

Aprox. 8

Autnomo y abierto

De 0 a 40

Construccin
Rango de temperaturas
Humedad ambiente

%RH

Toma de tierra
Color

Festo Didactic

Excepto salientes
IP20

De 45 s 85

Sin condensacin

100 o menos

Classe D

Gris claro

Munsell7.65Y7.64

14

Mantenimiento
- Piezas consumibles :

PIEZA

TIPO

Grasa

SK-1A

Batera de
Litio

LUGAR DE USO
Engranajes de cada
eje

A6BAT

CANTIDAD

SUMINISTRADOR

Lo necesario
Mitsubischi Electric

En la cubierta F

- Piezas de repuesto :

TIPO

LUGAR DE
USO

291-3GT-6

Eje J2

315-3GT-6

Eje J3

210-2GT-3

J4??

230-2GT-3

Eje J4

BU220C795G51

Eje J1

BU220C795G52

Eje J2

PIEZA

1
2
3

Correa dentada

CANT. SUMINISTRADOR

BU220C795G53

Eje J3

BU220C793G54

J4??

BU220C793G65

Eje J4

10

BU220C794G51

Eje J5

BKO-FA0530H09

Ejes J1, J2, J3

BKO-FA0530H10

J4??

BKO-FA0530H10

Ejes J4, J5

11
12
13

Festo Didactic

Servo motor AC

Engranajes
reductores

Mitsubischi Electric

15

4 INTRODUCCIN AL COSIROP
Este capitulo trata de definir los pasos necesarios para realizar un proyecto con el
software COSIROP.
El software COSIROP es el software de programacin que ser utilizado en este curso
y que permite realizar programas de secuencia y definir posiciones, para ms tarde
poder compilarlo y guardarlo va RS-232 en el Robot RV-2AJ utilizado para la
prctica.
Una vez abierto el programa aparece la siguiente ventana general:

Creacin de un proyecto nuevo en COSIROP


Para crear un proyecto nuevo ir a la barra de opciones y en el men despegable
File hacer clic con el ratn en la opcin Project Wizard .

Festo Didactic

16

Aparecer una ventana flotante llamada Project Wizard Step 1 of 3 donde se


definir la informacin general del proyecto. En los siguiente campos:

Ser necesario rellenar los campos de Project Name con el nombre que se desea
poner al proyecto y en el Program name se pondr el nombre del programa.(Nota:
Dentro del mismo proyecto se pueden crear diferentes programas y lista de
posiciones).
Si se desea, se puede cambiar la ruta donde se guardar el proyecto, haciendo clic
sobre el botn de Browse... y especificando la ruta.
Una vez rellenados los campos hacer clic sobre el botn Next que se encuentra en
la parte inferior derecha de la ventana.
Aparecer una nueva ventana llamada Project Wizard Step 2 of 3 donde se
especificar el modelo de robot as como su configuracin.

Festo Didactic

17

En la lista Robot Type se especificar el modelo de robot del que se va a realizar la


prctica.
En el campo de seleccin I/O interface Cards se especifica el numero de tarjetas de
entradas y salidas externas que se han instalado en la controladora. (En nuestro caso
ser 1).
En el campo Hands se seleccionar el nmero de herramientas que se controla
desde el propio robot (En este caso se dispone de una pinza neumtica o elctrica
por lo que se pondr 1)
En la opcin Adittional Axis 1 (L1) o Adittional Axis 2 (L2) se puede elegir si el
robot controlara ejes adicionales y si estos son lineales o giratorios (Ej. Mesas
giratorias o cintas transportadoras).
Antes de finalizar esta ventana, se debe especificar el lenguaje de programacin en
el que se desea realizar la programacin. (En nuestro caso se debe de elegir el
MELFA BASIC IV).
Una vez realizada la configuracin del robot necesaria para el proyecto, se har de
nuevo clic en el botn Next para pasar a la siguiente ventana .
La ventana Project Wizard Step 3 of 3 permite escribir comentarios que se crean
de importancia sobre el proyecto, aunque en esta ventana no es obligatorio rellenar
nada, despus hacer clic sobre el botn de Finish situado en la parte inferior
derecho de la ventana para acabar la creacin del nuevo proyecto.

Tras crear un proyecto aparecer la ventana principal de la aplicacin las diferentes


ventanas que componen el proyecto.
Ventana de programacin: Ventana donde se escribir el programa
Ventana de posiciones: Ventana donde se crearan las posiciones fijas a las
que se hace referencia en el programa.
Ventana de mensajes del sistema: Ventana de informacin del sistema.
Ventana de animacin: Ventana que te permite de visualizar la posicin del
robot en las diferentes posiciones del proyecto. (Atencin no realiza la
secuencia del programa).

Festo Didactic

18

Ventana de animacin

Ventana de programacin

Ventana de posiciones
Ventana de mensajes

Iconos de la barra de herramientas de COSIROP


Dentro de la ventana principal se encuentra una barra de iconos que llaman
directamente a las opciones principales. Tambin se puede acceder a estas desde el
men contextual desplegable de la parte superior.
Adems de los iconos tpicos que se encuentran en mltiples aplicaciones basadas
en el sistema operativo windows como son los iconos: Abrir, guardar, buscar,
cortar,... etc. Esta barra dispone de otros iconos propios del software de
programacin.
Renumber

Syntax Check

Download Program

Upload Download

Robot Position -> PC

Reset Error

Current Error

Init Connection
Conenection

Jog Operation

Monitor Functions
Functions

I/O Monitor
Conenection

Monitor toolbar
Functions

Ahora se tratar de manera precisa una breve explicacin de los iconos principales
ms utilizados, que posteriormente sern tratados de manera ms concisa en las
diferentes secuencias para la programacin del brazo robot con dicho software.

Festo Didactic

19

Renumber: Renombra las lneas de cdigo del programa.


Check Syntax: Compila y comprueba que el programa no tenga errores.
Download Program: Carga programa en la controladora del robot.
Upload Program: Descarga los programas desde el robot
Robot Position > PC: Carga la posicin actual de robot en la lista de
posiciones
Reset Error: Resetea el error
Current Error: Diagnostica el error producido
Init Connection: Inicia la conexin entre el PC -Robot
Jog Operation: Entra en la opcin del Teach de posiciones.
Monitor Funtions: Permite cargar directamente instrucciones en el robot y
ejecutarlas
I/O Monitor: Monitoriza el estado de las entradas y salidas del robot.
Monitor toolbar: Llama a la barra de monitorizacin.

Teach de las posiciones desde el COSIROP


Una vez creado el programa y definido las posiciones fijas que se necesitan en la
secuencia del mismo. Ser necesario ensear (teach) al robot en el espacio de
trabajo real cuales son estas posiciones de trabajo que se han definido en la
secuencia del programa.
El Teach de las posiciones se realizar moviendo el brazo robot libremente en la
zona de trabajo hasta posicionarlo en la posicin que se desea. Una vez colocado en
la posicin cargar esta con el nmero al que hace referencia en el programa.
Se tiene que tener claro que para la definicin de dichas posiciones, Estas deben
estar dentro del rea de trabajo del robot y que los ejes no estn trabajando en zona
crtica.
Los pasos a seguir para poder mover el brazo robot desde el ordenador y las
diferentes formas de movimientos se explican en los pasos siguientes:
Antes de poder interrelacionar con el brazo robot se debe establecer una
comunicacin con el mismo.
Conectar el cable de programacin entre el PC y la controladora del brazo robot en el
puerto RS-232C que tiene en la parte frontal de la misma.

Festo Didactic

20

Una vez conectado encender la controladora apretando el botn Power , esperar


unos segundos hasta que haya finalizado la secuencia de inicio.

Para poder controlar el robot desde el PC se debe poner el selector con llave que se
encuentra en la parte izquierda del frontal de la controladora en el modo Auto Ext.
y el selector con llave de la consola en la posicin Disable deshabilitando as este
mtodo de control.

Ahora el sistema estar preparado para ser controlado y movido a travs del PC.
Para controlar y mover el robot para hacer el teach de las posiciones, primero se
tendr que establecer la comunicacin va serie. Dentro del COSIROP se ir al men
contextual desplegable de opciones y se har clic en la opcin
Extras/ Settings/ Communication Port .
Est accin abrir la ventana flotante
Communication Port , en la pestaa
Common comprobar que se utiliza un interfase de comunicacin va serie.

Festo Didactic

21

En la pestaa Serial interface comprobar que el puerto de comunicacin del PC, as


como las propiedades de envo de la trama son las indicadas.

Nota:

El nmero de puerto serie COM debe ser el mismo que est definido en el
sistema operativo, sino dar error de comunicacin.

Una vez que se haya comprobado que el protocolo de comunicacin es el adecuado,


se pasar a establecer la comunicacin con la controladora, para ello se debe ir al
men de opciones contextual Execute y hacer clic en la opcin Init Connection o
sobre el icono de conexin que se encuentra en la barra de herramientas.

En el momento que se haya conectado, ya se puede iniciar el Teach de las


posiciones utilizadas en el programa. En el men contextual despegable Execute
hacer clic en la opcin Jog Operation .

Festo Didactic

22

Aparecer la siguiente ventana que permite controlar los movimientos del brazo
robot desde el PC.
Abrir/Cerrar Pinza

Mtodo de movimiento

Realiza un incremento en el eje


de coordenadas especificado
Velocidad del incremento

Carga la actual posicin en


la lista de posiciones con
el nmero indicado
Distancia del incremento

ATENCIN
En este punto hay que hacer especial hincapi en realizar los
movimientos con especial atencin con el fin de evitar colisiones y
malos posicionados, que puedan causar daos mecnicos o un mal
funcionamiento en este.
El programa te permite elegir entre tres mtodos de posicionado para alcanzar la
posicin deseada, estos son:
XYZ Jog : En este modo el brazo robot se mover respecto al eje de
coordenadas situado en la base del robot.
Joint Jog : Este modo se puede mover individualmente cada eje del motor en
formato polar (grados).
XYZ Tool: Con esta opcin el brazo robot se mover respeto al eje de
coordenadas situado en el centro la herramienta (En este caso la pinza).

Festo Didactic

23

Nota:

Con la opcin Joint Jog el aspecto de la ventana de movimiento ser el de


la figura. La nica diferencia remarcable es que los movimientos se
realizarn individualmente para cada articulacin del brazo robot y el
incremento se dar en grados.

Con el botn Set Joint Coordinates... pasar a una ventana en la que el usuario
puede escribir en cada campo un valor y el robot se dirigir a dicha posicin cargada
manualmente.
Una vez se tenga la posicin deseada con el botn Current position > Pos. List
cargar la posicin actual del robot en la lista de posiciones con el nmero
especificado.

Festo Didactic

24

Carga y ejecucin del programa en el brazo robot


Una vez se haya conectado iniciado la comunicacin entre el PC y la controladora del
brazo robot y se haya realizado el Teach de las posiciones que se utilizan en el
programa se dispondr de todo lo necesario para la carga del programa en el robot y
la ejecucin de este. Con este fin habr que seguir los siguientes pasos:
Una vez finalizado el programa, se tendr que comprobar que la numeracin de las
lneas es correcta y que haciendo cambios y correcciones dentro del programa no se
haya duplicado algn nmero de lnea, para solucionar este problema en la barra de
icono de la ventana principal hacer clic sobre el icono Renumber , teniendo la
ventana de programa seleccionada, esta opcin renombra automticamente las
lneas de cdigo del programa correctamente.
Otra opcin que comprueba que la sintaxis del programa creado es correcta es
Check Syntax que compilar el programa y especificar en la ventana de mensajes
si existe algn error y en que lnea del programa se encuentra.

Cuando el programa no tenga errores y se haya establecido la comunicacin, se


proceder a cargar el programa y el listado de posiciones en la controladora del
brazo robot.
Seleccionar la ventana del programa y hacer clic sobre el icono Download PC >
Robot o la ruta Execute/Download PC > Robot .

Festo Didactic

25

Aparecer la ventana flotante Line and Position number donde se especificar la


lnea de inicio y final del programa que se desean que se cargue en la controladora.
Tambin se especificar el nombre como se quiere cargar dicho programa en la
controladora. Al hacer clic en el botn OK comenzar la descarga del programa a la
controladora. Una vez finalizada la descarga repetir la operacin con el listado de
posiciones.

Una vez est cargado el programa y el listado de posiciones en la controladora, el


robot ya estar preparado para ejecutar el programa, para ello desde el PC ir al men
desplegable Execute y seleccionar la opcin Program Start tras confirmar la
operacin, el robot comenzar a ejecutar la aplicacin.

Para parar el programa desde el PC en cualquier momento ir al men desplegable


Execute y elegir la opcin Program Stop en ese momento se parar el programa
que se est ejecutando en el brazo robot.

Festo Didactic

26

Opciones de monitorizacin
Las opciones de monitorizacin sirven para la supervisin de los diferentes
elementos y caractersticas del brazo robot mientras este esta ejecutando una tarea.
Para ir a la barra de monitorizacin, ir al icono Monitor Toolbar o la ruta
Execute/Monitor Funtions . Esta opcin har aparecer una barra flotante donde
aparecen las diferentes opciones de monitorizacin.

En la barra de monitorizacin se pueden elegir las opciones siguientes:


Slot State Monitor

Motor Speed

Encoder

Current 1
Voltage

Program Monitor
Variables Monitor
Position Monitor

Droop

Load

Current 2

Program Monitor: Esta opcin permite monitorizar el programa online y


observar la lnea de programa que se est ejecutando en ese momento.
Slot State Monitor: Se observa el estado de cada slot.
Position Monitor: Monitoriza las posiciones angulares de cada eje y las
posicin respecto al eje de coordenadas del robot.
Motor Speed: Con esta opcin se puede observar las velocidades de los
diferentes servomotores en cada uno de los movimientos del programa
mientras se ejecuta.
Droop: Monitoriza de manera grfica la relacin entre la medida actual de
posicin del encoder y el valor mximo que puede llegar a alcanzar.
Encoder: Monitoriza el valor de los encoders en valor absoluto y relativo de
cada eje del robot.
Load: Monitoriza de manera grfica la relacin entre la medida actual de
carga y el valor mximo de carga de cada eje que puede llegar a alcanzar
antes de dar un error.

Festo Didactic

27

Current 1: Monitoriza de manera grfica la relacin entre la medida actual de


corriente del lazo de corriente 2 del motor y el valor mximo en cada eje.
Current 2: Monitoriza de manera grfica la relacin entre la medida actual de
corriente del lazo de corriente 2 del motor y el valor mximo en cada eje.
Voltage: Monitoriza de manera grfica la relacin entre la medida actual
tensin de cada motor y el valor mximo antes de generar un error.
Variable Monitor: Se pueden monitorizar las diferentes variables que se han
definido en el programa.
Existe tambin una opcin en la barra de herramientas que monitoriza de manera
visual las entradas y salidas externas, para activar dicha opcin hacer clic en el
icono Monitor I/O y aparecer la siguiente pantalla.

Si esta conectado el PC con el robot aparecer el campo ONLINE en vez de OFFLINE y


aparecern iluminadas las seales que se encuentren activadas.
Con esta opcin Command Tool que se encuentra la barra de iconos del programa
principal se puede enviar al robot directamente instrucciones que cuando se envan
y se ejecutan directamente por este, tal y como se muestra en la figura.
Tipos de instruccin

Edicin de la
instruccin

Instrucciones
Enva al robot

Festo Didactic

28

5 ESTRUCTURA DE LA PROGRAMACIN

Estructura del proyecto


Todo proyecto generado con el software de programacin COSIROP consta de
diferentes archivos que conforman el proyecto.

El archivo *.PRJ es el archivo que guarda nuestra configuracin del


proyecto y asocia a este el listado de posiciones, as como el programa.
(Este archivo no se deber cargar en el robot).

El archivo *.POS es el listado de posiciones del proyecto estas


posiciones podrn ser modificadas ms tarde con la consola si se
desea. (Es recomendable que el listado de posiciones como el programa
se carguen en el robot con el mismo nombre de archivo).

El archivo *.MB4 es el archivo que contiene la programacin de la


secuencia que se desea que ejecute el robot que en este caso se ha
generado en el lenguaje MELFA BASIC 4. (Este archivo junto con el
listado de posiciones son los que se tienen que descargar al robot para
ejecutar la secuencia).
Nota: Este mismo formato de archivos y procedimiento de relacin de los
diferentes archivos de proyecto es el mismo en el software de simulacin
COSIMIR.

Para relacionar los diferentes archivos en un proyecto, para que la compilacin sea
correcta. Se deben seguir los pasos siguientes:
1.- Ir al men contextual Execute y elegir la opcin Project Management .

Festo Didactic

29

2.- aparecer la ventana flotante que nos permite gestionar los diferentes
archivos del proyecto.
3.- En la ventana de la izquierda aparacer los diferentes proyectos que se
han creado en la carpeta de proyectos. Aquel proyecto de est remarcado en
negrita indicar que es el que en ese momento est activo.
Compilar Proyecto
Activar Proyecto
Aadir Proyecto

Borrar Proyecto

Proyecto Activo

En esta ventana se pueden realizar diferentes acciones, como activar otro


proyecto compilarlo o borrarlo. (Los proyectos se guardarn con la
extensin de archivo *.PRJ)
4.- Una vez creado el proyecto y activado, seleccionar la pestaa de la parte
derecha Files donde se relaciones el archivo de programacin, as como el
archivo del listado de posiciones.
5.- Para aadirlos en el proyecto apretar el icono Add Archive y
seleccionar los archivo de programacin *.MB4 que se desea asociar al
proyecto. Realizar esta misma operacin con el archivo de listado de
posiciones *.POS .

Festo Didactic

30

6.- Cuando se tenga el archivo del programa seleccionado, en la parte


inferior Properties en la opcin Compile Mode elegir Main Program lo
que asociar ese archivo *.MB4 como programa principal del proyecto.
7.- Cuando se haya asociados los dos archivos al proyecto, compilar el
proyecto con el icono de compilacin de proyecto de la parte izquierda de la
ventana.

Estructura del programa


Como cualquier tipo de programa, el programa de la secuencia de un brazo robot
mantiene una estructura determinada que ayuda a la comprensin de este.
El programa debe de tener una estructura determinada. Lo primero que habr en el
programa es una zona de declaracin de las diferentes variables. Seguido se
colocar el programa principal que acaba con la instruccin END despus del
programa principal se colocan las diferentes subrutina a las que se hayan llamado
que finalizan con la instruccin RETURN .

Comentarios

Definicin de posiciones

Definicin de I/O

externas
Definicin de variables

internas

Nmero de lnea de instruccin

Festo Didactic

31

Programa principal

Etiqueta
Llamada a Subrutina

1) Salto
2) a3)
lnea

4)

Inicio

Sub

Subrutina

Final

Sub
Lneas de instruccin
El programa se construye en base a lneas de instruccin que se ejecutarn de
manera secuencial, excepto que haya instrucciones de salto, bucles o llamadas a
subrutina. Los elementos que las forman se muestran a continuacin.
Ejemplo de declaracin de comanda:
10 MOV P1 WTHM_OUT (17) = 1
Nmero de lnea Es el numero usado para determinar el orden de ejecucin del
programa. El programa se ejecutar en orden ascendente.
Mnemotcnico de la instruccin
por el robot.

Es la comanda que designa la operacin a realizar

Dato El dato puede ser un valor o una variable del tipo requerido por la
instruccin.
Declaracin aadida

Festo Didactic

Solo se usa si es necesario.

32

Tipos de variables

Variable de control de
Variable de
Variable de control de

VARIABLE
Variable de

- POSICIN : Coordenadas ortogonales de la posicin. El nombre de la variable


empieza por P .
- ANGULOS DE EJE : ngulos de empalme. El nombre de la variable empieza con J.
- ARITMTICA : Valor numrico (entero, real,..). El nombre empieza por M .
- CARCTER : Cadenas de letras. El nombre de la variable termina en $ .

Festo Didactic

33

6 INSTRUCCIONES BSICAS

Introduccin
En la programacin de brazos robot, siempre persiste un tipo de instrucciones
bsicas para todos los tipos software que son aquellas que definen los movimientos
ms simples del brazo y que por si solas son las base de la mayora de las secuencias
de una aplicacin
Movimiento Interpolado
El Robot genera la trayectoria interpolando puntos entre el punto origen y el punto
de destino, obteniendo para cada una de las articulaciones del robot, las
coordenadas, velocidad y aceleracin que a lo largo del tiempo se han de imprimir
para ajustarse al movimiento especificado.
Pese a su complejidad es la forma ms rpida para el robot.

MOV
El robot se mueve a la posicin indicada con una interpolacin angular de cada eje.
El camino recorrido no se puede prever. Se pueden introducir las declaraciones
aadidas WTH o WTHIF.
Ejemplos de llamadas de instruccin:
MOV P1............. Se mueve a P1.
MOV P1+P2....... Se mueve a la posicin resultante de sumar las coordenadas de P1
y P2.
MOV P1*P2....... Se mueve a la posicin relativa convertida de P1 a P2.
MOV P1, -50...... Se mueve desde P1 hasta una posicin a 50mm en la direccin de la
pinza.
MOV P1 WTH M_OUT(7)=1... ..Empieza el movimiento hacia P1, y
simultneamente enciende la salida 7.
MOV P1 WTHIF M_IN(9)=1, SKIP.
. Si durante el movimiento hacia P1 el bit 9
de entrada se activa, se para el
movimiento y el programa sigue.

Festo Didactic

34

P1
Programa ejemplo:
10
20
30
40

MOV P1
MOV P2, -50
MOV P2
END

50

P2

Movimiento lineal
El Robot describe una lnea recta entre los puntos origen y destino.
Es un movimiento lento para el robot y solo se emplea en movimientos crticos
cuando el robot se encuentra cerca de completar su trabajo (coger pieza, dejar pieza,
soldar un punto, aplicar adhesivo ).

MVS
El robot se mueve en lnea recta hacia la posicin indicada. Se pueden introducir las
declaraciones aadidas WTH o WTHIF.
Ejemplos de llamadas de instruccin:
MVS
MVS
MVS
MVS
MVS
MVS
MVS
MVS
MVS

Festo Didactic

P1............. Se mueve hasta P1.


P1+P2....... Se mueve a la posicin resultante de sumar P1 y P2.
P1*P2........ Se mueve a la posicin relativa convertida de P1 a P2.
P1, -50...... Se mueve desde P1 hasta una posicin a 50mm en la direccin de la
pinza.
, -50.......... Se mueve 50mm desde la posicin actual en la direccin de la
pinza.
P1 WTH M_OUT(7)=1.......... Empieza el movimiento hacia P1, y
simultneamente enciende la salida 7.
P1 WTHIF M_IN(9)=1, SKIP.............. Si durante el movimiento hacia P1 el bit 9
de entrada se activa, se para el
movimiento y el programa sigue.
P1, TYPE 0, 2......... Se mueve hasta P1 con una interpolacin ABC.
P1, TYPE 0, 1......... Se mueve a P1 con una interpolacin ortogonal de 3 ejes.

35

Programa ejemplo:
10
20
30
40

MVS P1
MVS P2, -50
MVS P2
END

P1
50

P2

HOPEN / HCLOSE
Abre/cierra la pinza designada.
Ejemplo de llamada de instruccin:
HOPEN 1........... Abre la pinza 1
HCLOSE 1......... Cierra la pinza 1

OVDR
Designa la velocidad de movimiento segn un porcentaje relativo a la velocidad
mxima. Afecta a todos los movimientos posteriores, si es que no se vuelve a
modificar el valor.
Ejemplo de llamada de instruccin:
OVRD 60............ Fija la velocidad de todos los movimientos al 60% de la velocidad
mxima.

SPD
Define la velocidad de interpolacin linear y circular(para instrucciones MVS, MVR y
MVC) de la pinza en mm/s.
Ejemplo de llamada de instruccin:
SPD 30.............. Configura la velocidad de los movimientos lineales y circulares en
30mm/s.

DLY
Espera los segundos indicados (el mnimo es 0.05), y luego sigue con el programa.
Ejemplo de llamada de instruccin:
DLY 3................. Espera 3 segundos antes de seguir.

Festo Didactic

36

Prctica 1 Instrucciones bsicas


Anunciado:
Realizar un programa para que el brazo industrial recoja una pieza en un punto de
recogida y la deposite en otro punto. Las aproximaciones a estos dos puntos debe
hacerse suavemente (ms despacio).

P1
9

P2
P4
P3
P5

Realizacin:
Primero hay que definir las posiciones clave del movimiento, que en este caso sern
cinco:
-P1
-P2
-P3
-P4
-P5

:
:
:
:
:

posicin inicial o de reposo


posicin de aproximacin a la zona de carga
posicin para coger la pieza
posicin de aproximacin a la zona de descarga
posicin donde dejamos la pieza

Para definir las posiciones se utilizar la opcin 'Jog Operation' que se encuentra en
el men 'Execute'.
( ANTES DEBE CONECTARSE EL PC CON EL ROBOT CLICANDO EN

Festo Didactic

37

Existen 3 maneras de moverlo desde esta ventana:

XYZ Job:
Coordenadas de
referencia respecto la base del
robot. Las articulaciones se
interpolan para que se desplace
respecto
los
ejes
de
coordenadas

JOINT
Jog:
Se
controlan
directamente las 5 articulaciones
individualmente y de forma
polar.

TOOL Jog: El centro de los ejes


de coordenadas se sita en el
extremo del brazo (centro de la
pinza), las articulaciones se
interpolan respecto el eje X, Y, o
Z.

Para definir las posiciones se sita el brazo en la posicin deseada y se guarda con el
botn 'Current Position > Pos. List'. El programa crea una nueva posicin en el
listado de posiciones y le pone el nombre Px, donde x es el numero de posicin que
aparece en la ventana anterior. Desde el listado de posiciones podemos cambiar las
propiedades de las posiciones.

Una vez se tienen las posiciones definidas, empezar a programar; para este ejercicio
se utilizaran las siguientes instrucciones:
- MOV > Realiza un movimiento suave, interpolando los ejes punto a punto.
- OVRD > Porcentaje de la velocidad mxima.
- HOPEN > Abre la pinza.
- HCLOSE > Cierra la pinza.
- DLY > Espera los segundos indicados.
Despus de introducir el programa, se deben numerar las filas con la opcin
'Renumber'.
Luego se puede compilar con
programacin.

Festo Didactic

'Syntax Check' que detecta los errores de

38

Si no tenemos errores ya podemos volcar los dos archivos (programa y posiciones) al


robot. Lo haremos clicando en la ventana de cada archivo y pulsando en
'Download'.
Para que se ejecute el programa utilizamos la opcin 'Program Start' del men
'Execute' ; y para pararlo, 'Program Stop'.

Ampliaciones:
Eliminar las posiciones de aproximacin P2 y P4.
A) Utilizar la instruccin ampliada de MOV que permite mover hasta una distancia
determinada, por encima de una posicin (en la direccin del eje Z).
MOV P9, -50...... Movimiento interpolado hasta una posicin 50mm encima de la
posicin P9.
B) Utilizar una posicin de offset, definindola al inicio del programa y utilizndola
sumada a P3 y P5:
DEF POS OFFSET
OFFSET = (0, 0, +50, 0, 0, 0)
MOV P9 + OFFSET

Festo Didactic

39

7 INSTRUCCIONES DE MOVIMIENTO
MVR
El robot se mueve por un circulo definido por tres puntos. Si el empezar el
movimiento no se encuentra en el punto de inicio, se mover linealmente hasta l
antes de empezar. Se pueden introducir las declaraciones aadidas WTH o WTHIF.
MVR : Se define el punto de inicio, uno de trnsito, y el punto final.
MVR2 : Se define la posicin inicial, la final, y un punto de referencia por el
que no pasar.
MVR3 : Se define el punto inicial, el final y el centro del crculo. El
movimiento va del inicial al final por el camino ms corto del crculo.
MVC : Se define la posicin de inicio (y final), punto de trnsito 1, y punto de
trnsito 2. El movimiento sigue el recorrido:
inicio trnsito1 trnsito2 final.
Ejemplos de llamadas de instruccin:
MVR P1, P2, P3............... Se mueve con una interpolacin circular entre P1 P2 P3.
MVR P1, P2, P3 WTH M_OUT(7)=1............ Interpolacin circular entre P1 P2 P3, y
el bit 7 se activa.
MVR P1, P2, P3 WTHIF M_IN(9)=1, SKIP................ Si el bit 9 se activa durante el
movimiento, se para y sigue en el
siguiente paso.
MVR P1, P2, P3 TYPE 0, 1............. Se mueve con una interpolacin circular entre
P1 P2 P3.
MVR2 P1, P2, P3............. Interpolacin circular de P1 a P2, sin pasar por P3.
MVR3 P1, P3, P4............. Se mueve con una interpolacin circular de P1 a P3 por el
camino ms corto. El punto P4 es el centro.
MVC P6, P8, P9............... Movimiento circular P6 P8 P9 P6.

P7

P6

P8

Programa ejemplo:
10
20
30
40
50

Festo Didactic

MVR P1, P2, P3


MVR2 P3, P4, P5
MVR3 P4, P6, P7
MVC P6, P8, P9
END

P1

P4

P2
P3

P5

P9

40

CNT
Define el principio y el final de un movimiento continuo.
Ejemplos de llamadas de instruccin:
CNT 1................. Define el inicio del movimiento continuo.
CNT 1, 100, 200............... Define el inicio del movimiento continuo, la distancia de
separacin con el punto inicial, y la distancia de separacin
con el punto final.
CNT 0................. Define el final del movimiento continuo.

P1

Programa ejemplo:
10
20
30
40
50
60
70
80

MOV P1
CNT 1
MVS P2
CNT 1, 50, 100
MVS P3
MVS P4
CNT 0
END

P2
50

P4
100
50

P3

ACCEL
Define la aceleracin y desaceleracin durante el movimiento como un porcentaje
del mximo.
Ejemplos de llamadas de instruccin:
ACCEL................. Configura la aceleracin y la desaceleracin al 100%.
ACCEL 60, 80..... Configura la aceleracin al 60% y la desaceleracin al 80%.

JOVDR
Define la velocidad de movimiento angular axial (para instrucciones MOV), como un
porcentaje de la mxima.
Ejemplo de llamada de instruccin:
JOVRD 70........... Configura la velocidad del movimiento angular de cada eje al 70%
de la mxima.

Festo Didactic

41

HLT
Para la ejecucin del programa y entra en el estado de paro.
Ejemplos de llamadas de instruccin:
HLT..................... Para la ejecucin del programa.
IF M_IN(8)=1 THEN HLT................ Para la ejecucin del programa cuando se activa la
seal de entrada M_IN(8).
MOV P3 WTHIF M_IN(9)=1, HLT................. Para la ejecucin del programa si la seal
de entrada M_IN(9) se activa durante el
movimiento a P3.

FINE
Define las condiciones de posicionamiento final con un nmero de pulsos.
Ejemplo de llamada de instruccin:
FINE 100............ Configura las condiciones de posicionamiento final a 100 pulsos.

TOOL
Configura la forma de la herramienta que usamos, y configura el punto de control.
Ejemplo de llamada de instruccin:
TOOL P60.......... Define la forma guardada en P60.

Festo Didactic

42

Prctica 2 Movimientos circulares


Anunciado:
Realizar un programa para que el brazo industrial recoja un objeto de un soporte
elevado y luego realice dos crculos antes de volver a dejarlo.

P1

P2
P3

P5
P4

Realizacin:
Las posiciones necesarias sern:
-P1
-P2
-P3
-P4
-P5

:
:
:
:
:

posicin inicial o de reposo


posicin de recogida
posicin de inicio del circulo
posicin de trnsito 1
posicin de trnsito 2

Para este ejercicio utilizaremos stas nuevas comandas:


- MVS > Realiza un movimiento en lnea recta.
- MVC > Realiza un movimiento circular pasando por 3 puntos.
- MOV Px, -50 > Realiza un movimiento suave hasta una posicin
50mm encima de la posicin Px.
- MVS Px, -50 > Realiza un movimiento recto hasta una posicin
50mm encima de la posicin Px.

Festo Didactic

43

Ampliaciones:
Modificar el programa para que realice 3 vueltas seguidas en vez de dos. Utilizar la
instruccin CNT para que haga un movimiento continuo y no se pare entre vuelta y
vuelta (en realidad no para del todo pero el sonido cambia).
CNT 1, 100, 100
...
CNT 0
Realizar un arco y/ o circulo con centro definido, utilizando la instruccin MVR3 .
La posicin del centro ser como la posicin de recogida, pero 100mm ms baja.
MVR3 P_inicial, P_final, P_centro

Festo Didactic

44

8 SEALES DE ENTRADA / SALIDA


El robot industrial es un sistema de automatizacin flexible y reprogramable capaz
de realizar diferentes tareas o secuencias. Las acciones del robot industrial
generalmente estn integradas dentro de un entorno donde debe tener una
interrelacin con otras mquinas de mayor o menor complejidad.
Segn la complejidad de esta interrelacin se definen tres niveles de sistemas
automticos:
1.- Sistema robtico: Donde el robot sostiene la principal tarea a realizar.
2.- Clula de fabricacin flexible: Unidad de fabricacin que tiene una o ms
mquinas herramientas y sistemas auxiliares, donde el robot realiza
funciones de servidor del sistema (manipulacin. carga y descarga e
inspeccin).
3.- Sistema de fabricacin flexible: Formado por un conjunto complejo de
maquinas herramientas dispuestos en forma de lnea de fabricacin, capaz
de generar diferentes variantes de producto. En este sistema el robot
industrial interviene como un elemento ms del sistema.

DEF I/O
El robot dispone de 32 entradas y 32 salidas digitales. Algunas estn reservadas:
Salidas reservadas
Entradas reservadas

Festo Didactic

0 (running), 1 (Servo On), 4 y 5 (abrir y cerrar pinza)


0 (stop), 1 (Servo off), 2 (error reset), 3 (start), (4 servo on)

45

El control de las entradas y salidas se realiza con dos vectores (array) predefinidos,
M_OUT( ) y M_IN( ).
M_OUT(6) = 1
.. Activa la salida 6
IF M_IN(9)=1 THEN X... . Si la entrada 9 esta activa, hace la instruccin X
Tambin se pueden renombrar al gusto del usuario con la instruccin DEF IO .
DEF IO MARCHA = BIT,10

WAIT
Espera a que la variable alcance el valor indicado.
Ejemplos de llamadas de instruccin:
WAIT M_IN(1)=1......

Festo Didactic

Espera a que la seal de entrada 1 se active.

46

Prctica 3

Movimiento continuo

Anunciado:
El programa ha de empezar haciendo que el robot agarre un rotulador adaptado y
espere hasta que se active la seal de entrada M_IN(10). sta seal se ha de cablear
con un pulsador, para poderla activar repetidamente. Cuando se pulsa debe realizar
un movimiento continuo por un rectngulo definido por 4 posiciones. La punta del
rotulador ha de quedar cerca de la superficie de la mesa para que pueda escribir.

P1

P2

P3
P4

P6
P5

Realizacin:
Las posiciones clave para realizar el movimiento descrito sern:
-P1
-P2
-P3
-P4
-P5
-P6

Festo Didactic

:
:
:
:
:
:

posicin inicial o de reposo


posicin de recogida del rotulador
posicin del primer vrtice del rectngulo
vrtice 2
vrtice 3
vrtice 4

47

Las nuevas comandas que se utilizaran en el programa, son:


- CNT > Da continuidad a los movimientos suavizando las transiciones.
- WAIT > Espera a que la variable alcance el valor indicado.
- GOTO > Salta a la lnea o etiqueta indicada
- HLT > Para el programa
Las variables externas I/O se denominan M_IN(x) las de entrada, y M_OUT(x) las de
salida.

Ampliaciones:
Programar un sistema de marcha / paro de emergencia con las entradas:
M_IN(9) pulsador de marcha
M_IN(10) pulsador de paro de emergencia
Si se activa la seal de paro, el robot debe interrumpir el programa, y slo seguir si
M_IN(10)=0 y M_IN(9)=1.
Definir las variables externas con un nombre ms prctico:
DEF IO nombre=bit, 10 ( redefine la variable M_IN(10) )

Festo Didactic

48

9 PALETIZACIN
Introduccin
La manipulacin automatizada de objetos y piezas, ha extendido la utilizacin de
palets, que son contenedores compartimentados o elementos de fijacin, que
permiten ordenar un determinado nmero de piezas iguales, para su transporte y
manipulacin del conjunto. Esta manera hace que no se pierda el orden, facilitando
las tareas de manipulacin.

DEF PLT
Define el palet para ser usado.
Ejemplos de llamadas de instruccin:
DEF PLT 1, P1, P2, P3, P4, 3, 5, 1

20 19 18 17 16
11 12 13 14 15
10 9 8 7 6
1 2 3 4 5

Tipo 1

Define el palet n1, con posicin de inicio


en P1, posicin final de primera fila en P2,
posicin inicial de ltima fila en P3, y
punto diagonal en P4. El palet ser 3x5, y
su distribucin del tipo 1 (zig-zag).

P3

P4

P1

P2

Tipo 2

16 17 18 19 20
11 12 13 14 15
6 7 8 9 10
1 2 3 4 5

DEF PLT 1, P1, P2, P3, , 6, 5, 2

. Define el palet n1, con posicin de inicio en P1,


posicin final de primera fila en P2 y posicin
inicial de ltima fila en P3. El palet ser 6x5, y su
distribucin del tipo 2 (misma direccin).
DEF PLT 1, P1, P2, P3, , 7, 1, 3... . Define el palet n1, posicin de inicio en P1, punto
de transito P2 y posicin final en P3. El palet es en
arco (tipo 3) y tiene 7 posiciones.
NOTA: Se ha de tener en cuenta que la posicin relativa de la pinza respecto el brazo
ha de ser del mismo signo. No pueden haber dos posiciones que definen el palet con
la coordenada de orientacin en 180 y 180.

Festo Didactic

49

PLT
Obtiene la posicin deseada sobre un palet.
Ejemplos de llamadas de instruccin:
(PLT 1, 4)........... Obtiene la cuarta posicin del palet n1.
(PLT 1, M1)........ Obtiene la posicin indicada por la variable M1, del palet n1.
Programa ejemplo:
10
20
30
40
50
60
70
80
90
100
110
120
130
140

Festo Didactic

DEF PLT 1, P2, P3, P4, P5, 3, 4, 2


MOV P1
HCLOSE 1
P10=(PLT 1, 4)
P1
MOV P10, -50
MVS P10
HOPEN 1
MVS P10, -50
P10=(PLT 1, 11)
MOV P10, -50
MVS P10
HCLOSE 1
MVS P10, -50
END

50
P4

P5

50
P2

P3

50

Prctica 4 Paletizacin
Anunciado:
El programa ha de llenar las un palet 3x3 con las piezas disponibles. Al empezar el
robot ir a la posicin de recogida, y esperar que se active la seal M_IN(10) para
recoger la pieza. Cada vez que recoja una pieza la pondr en una posicin distinta
del palet, y luego volver a la posicin de espera de la recogida hasta que se active
la seal.

P1

P2
P5

P6

P3

P4

Realizacin:
Las posiciones necesarias sern:
-P1
-P2
-P3
-P4
-P5
-P6

:
:
:
:
:
:

posicin inicial o de reposo


posicin de recogida de piezas
posicin del primer vrtice del palet
vrtice 2
vrtice 3
vrtice 4

Las nuevas comandas que se utilizaran en el programa, son:


- DEF PLT > Para Definir el palet. Se indican unas posiciones y la distribucin.

Festo Didactic

51

- PLT > Obtiene la posicin deseada mediante un entero


- WHILE > Repite las instrucciones que hay hasta WEND , mientras las condiciones
especificadas al lado de WHILE , se cumplan.

Ampliacin:
Cambiar la estructura del WHILE por un IF THEN , utilizando tambin la
instruccin de salto de lnea GOTO .
IF M3=9 THEN 360

Festo Didactic

52

10 SALTOS CONDICIONALES Y BUCLES


Los saltos y bucles son instrucciones condicionales que pueden repetir acciones un
nmero determinado de veces o saltar a partes del programa.

GOTO
Salto incondicional a la lnea indicada.
Ejemplos de llamadas de instruccin:
GOTO 300.......... Salto incondicional a la lnea 300.
GOTO *FIN......... Salto incondicional a la lnea de nivel FIN.

ON GOTO
Salto en funcin del valor de la variable designada. Las condiciones siguen el orden
del valor entro de la variable(0, 1, 2, 3, ...).
Ejemplos de llamadas de instruccin:
ON M1 GOTO 50, 150, 300........... Si el valor de la variable M1 es 1 salta a la lnea 50,
si es 2 salta a la lnea 150, si es 3 salta a la lnea
300, y si es otro valor salta a la siguiente lnea.

IF THEN ELSE
Salto segn el valor de la variable. Los valores de condicin pueden ser designados
aleatoriamente. Solo hay un tipo de condicin por declaracin de comanda.
Ejemplos de llamadas de instruccin:
IF M1=1 THEN 50............. Si la variable M1 vale 1, salta a la 50; sino, salta a la lnea
siguiente.
IF M1=1 THEN 50 ELSE 90............. Si la variable M1 vale 1, salta a la 50; sino, salta a
la lnea 90.

Festo Didactic

53

SELECT CASE
Salto segn el valor de la variable. Los valores de condicin pueden ser designados
aleatoriamente. Hay mltiples condiciones por declaracin de comanda.
Para finalizar los CASE se puede poner BREAK . En el ltimo se puede poner
DEFAULT , que englobar el resto de condiciones que no se hayan especificado en
los CASE anteriores. El programa debera salir del SELECT CASE pasando por la
lnea END CASE, ya que si slo sale con GOTO o GOSUB , acaba parndose por
anidamiento excesivo.
Ejemplos de llamadas de instruccin:
SELECT M1......... Selecciona el valor de la variable M1 para compararlo en las
siguientes instrucciones.
CASE 5............... Si el valor es 5, ejecuta solo entre esta y el siguiente CASE .
CASE IS 9........... Si el valor es 9, ejecuta solo entre esta y el siguiente CASE .
CASE IS < 3........ Si el valor es menor que 3, ejecuta solo entre esta y el siguiente
CASE.
CASE 6 TO 9....... Si el valor esta entre 6 y 9, ejecuta solo entre esta y el siguiente
CASE.
DEFAULT............ Si el valor no se ajusta a ninguna de las condiciones anteriores,
ejecuta solo entre DEFAULT y el prximo END SELECT .
END SELECT....... Finaliza la declaracin de SELECT CASE .
Nota: Al final de cada instruccin CASE es recomendable poner la instruccin
BRAKE .

GOSUB
Llama a la subrutina con la o el nivel indicado.
Ejemplos de llamadas de instruccin:
GOSUB 300....... Llama la subrutina de la 300.
GOSUB *GET..... Llama la subrutina del nivel GET .

RETURN
Retorna a la lnea siguiente de donde estaba la comanda GOSUB .

ON GOSUB
Llama a la subrutina segn la variable numrica indicada. El valor de las condiciones
siguen valores enteros.
Ejemplo de llamada de instruccin:
ON M1 GOSUB 300, 400, 500...... Si la variable numrica vale 1, llama la subrutina
de la 300; si vale 2 llama, llama la subrutina de la

Festo Didactic

54

400; y si vale 3 llama, llama la subrutina de la


500. Si el valor no corresponde, sigue en la
siguiente .

FOR NEXT
Repite las instrucciones entre la de FOR y la de NEXT , hasta satisfacer las
condiciones especificadas.
Ejemplos de llamadas de instruccin:
FOR M1=1 TO 10............ Repite 10 veces las instrucciones entre FOR y NEXT .
Inicialmente la variable M1 vale 1, y se va incrementando
en cada repeticin.
NEXT M1
FOR M1=0 TO 10 STEP 2.............. Repite 6 veces las instrucciones entre FOR y
NEXT . Inicialmente la variable M1 vale 0, y se va
incrementando en 2 en cada repeticin.
NEXT M1

WHILE WEND
Repite las instrucciones entre la de WHILE y la de WEND , mientras las condiciones
especificadas se cumplen.
Ejemplo de llamada de instruccin:
WHILE (M1 >= 1)AND(M1 <= 10)............... Repite las instrucciones entre WHILE y
WEND hasta que la variable M1 sale del
rango [1..10].
WEND

Festo Didactic

55

Prctica 5 Subrutinas
Anunciado:
Realizar un programa para que el brazo industrial coja una pieza de la zona de
recogida, y luego la muestre . En esta posicin, esperar hasta que detecte que se
activa una de las seales de entrada: M_IN(8), M_IN(9), M_IN(10) o M_IN(11). El
robot deber ejecutar una subrutina distinta dependiendo de la seal que se active:
M_IN(8)=1
M_IN(9)=1
M_IN(10)=1
M_IN(11)=1

Siguiendo en la misma posicin, hace girar la pieza suavemente,


para verla mejor.
Realiza un crculo y deposita la pieza en el almacn 1.
Mueve la pieza arriba y abajo y la deposita en el almacn 2.
Deposita la pieza en la zona de desperdicios.

P3
P1
P8

P7

P10

P9
P2
P4

P6

1
2

P5

Realizacin:
Las posiciones clave para realizar el movimiento descrito sern:
-P1 : posicin inicial o de reposo
-P2 : posicin de recogida de piezas
-P3 : posicin de ensear la pieza
-P4 : posicin de inicio del circulo
-P5 : posicin de trnsito 1
-P6 : posicin de trnsito 2
-P7 : posicin del almacn 1
-P8 : posicin para mover arriba y abajo
-P9 : posicin del almacn 2
-P10 : posicin del almacn de desperdicios

Festo Didactic

56

Las nuevas instrucciones que se utilizaran en el programa, son:


- GOSUB > Llama a la subrutina con el nmero de lnea o la etiqueta indicada.
- RETURN > Retorna a la lnea siguiente de donde estaba la comanda GOSUB .
- SELECT CASE > Salto segn el valor de la variable.
La declaracin de vectores se realiza con las definiciones iniciales, dnde la d es la
dimensin del vector. Para modificar o consultar una posicin, se llama : nombre(p) ,
dnde la p es la posicin seleccionada.
DEF DIM nombre(d)

Festo Didactic

57

11 INTERRUPCIONES
Son instrucciones que al recibir o al cumplirse una condicin en cualquier momento
de la ejecucin del programa (no en un punto determinado) realiza una tarea
especificada y una vez finalizada vuelve al punto del programa principal donde lo
haba dejado.

DEF ACT
Define las condiciones de interrupcin y el proceso para generarla.
Ejemplos de llamadas de instruccin:
DEF ACT 1, M_IN(7)=1 GOSUB 200............ Define con prioridad n1, la llamada de la
subrutina de la 200 cuando la seal de
entrada M_IN(7) se activa.
DEF ACT 2, M_IN(8)=1 GOSUB 480, L.........Define con prioridad n2, la llamada de la
subrutina de la 480 cuando la seal de
entrada M_IN(8) se activa y la instruccin
que se estaba ejecutando termina.
DEF ACT 3, M_IN(9)=1 GOSUB 330............ Define con prioridad n3, la llamada de la
subrutina de la 330 cuando la seal de
entrada M_IN(9) se activa.

ACT
Seala la validez de la interrupcin.
Ejemplos de llamadas de instruccin:
ACT 1=1............. Habilita la interrupcin de prioridad n1.
ACT 2=0............. Deshabilita la interrupcin de prioridad n2.

RETURN
Si una subrutina es llamada por el proceso de interrupcin, retorna a la donde hubo
la interrupcin.
Ejemplos de llamadas de instruccin:
RETURN 0........... Retorna a la lnea donde ocurri la interrupcin.
RETURN 1........... Retorna a la siguiente lnea de donde ocurri la interrupcin.

Festo Didactic

58

Prctica 6 Interrupciones (general)


Anunciado:
El brazo industrial debe realizar un punzado de las posiciones del palet. En cada
posicin picar tantas veces como el nmero de la posicin. A parte, tiene que haber
una interrupcin que simule la coccin de un pastel. Cuando se active la seal
M_IN(10), dejar lo que hacia e ir a recoger la pieza-pastel. Luego la dejar en la
posicin del horno y esperar 30 segundos antes de cogerlo y llevarlo a la posicin
donde lo ha recogido. Durante los 30 segundos de la coccin, el robot seguir con la
operacin de punzado.

P1

P2
P8

P3
P4
P6

P5
P7

Realizacin:
Las posiciones clave para realizar el movimiento descrito sern:
-P1
-P2
-P3
-P4
-P5
-P6
-P7
-P8

Festo Didactic

:
:
:
:
:
:
:
:

posicin inicial o de reposo


posicin de recogida de la pieza de punzado
posicin de recogida de la pieza-pastel
posicin del primer vrtice del palet
vrtice 2
vrtice 3
vrtice 4
posicin del horno

59

Las nuevas comandas que se utilizaran en el programa, son:


- DEF ACT > Define las condiciones de interrupcin y el proceso para generarla.
- ACT > Habilita / deshabilita las interrupciones.
- M_TIMER(x) > Relojes de programa que podemos inicializar y consultar.

Festo Didactic

60

12 COMUNICACIONES
Son instrucciones que gestionan la comunicacin con otros elementos externos
perifricos.

OPEN
Abre la lnea de comunicacin.
Ejemplo de llamada de instruccin:
OPEN COM1: AS#1....... Abre la lnea de comunicacin COM1 como archivo n1.

CLOSE
Cierra la lnea de comunicacin.
Ejemplos de llamadas de instruccin:
CLOSE #1.....
CLOSE...........

Cierra el archivo n1.


Cierra todos los archivos abiertos.

PRINT #
Exporta los datos en el formato ASCII. CR es el cdigo final.
Ejemplos de llamadas de instruccin:
PRINT #1, TEST ............. Exporta los caracteres TEST al archivo n1.
PRINT #2, M1= ; M1...... Exporta los caracteres M1= y el valor de M1 al archivo
n2. Por ejemplo : M1=3 +CR+LF (cuando M1=3).
PRINT #3, P1................... Exporta las coordenadas de la variable posicin P1 al
archivo n3.
PRINT #1, M3, P3........... Exporta el valor de la variable M3 y las coordenadas de P3,
al archivo n1. Los dos datos los separa con una coma.

Festo Didactic

61

INPUT #
Importa datos en formato ASCII. El cdigo final es CR.
Ejemplos de llamadas de instruccin:
INPUT #1, M6..... Convierte los datos de entrada en valores y los substituye en la
variable numrica M6.
INPUT #1, P7...... Convierte los datos de entrada en valores y los substituye en la
variable de posicin P7.
INPUT #1, M9, P5............. Convierte los primeros datos de entrada en valores y los
substituye en la variable numrica M9. Convierte los
siguientes datos de entrada en valores y los substituye en
la variable de posicin P5.

ON COM GOSUB
Define la rutina a llamar en caso de que las lneas de comunicacin generen una
interrupcin. La interrupcin aparece cuando entran datos de un dispositivo externo.
Ejemplos de llamadas de instruccin:
ON COM(1) GOSUB 330.................Define saltar a la 330 cuando entran datos por la
lnea de comunicacin COM1.
ON COM(2) GOSUB *RECV............. Define llamar a la subrutina RECV cuando entran
datos por la lnea de comunicacin COM1.

COM ON
Habilita el proceso de interrupcin de la lnea de comunicacin indicada.
Ejemplo de llamada de instruccin:
COM(1) ON......... Habilita la interrupcin desde la lnea COM1.

COM OFF
Deshabilita el proceso de interrupcin de la lnea de comunicacin indicada. Si
ocurre la interrupcin, no ser vlida.
Ejemplo de llamada de instruccin:
COM(2) OFF........ Deshabilita la interrupcin desde la lnea COM2.

Festo Didactic

62

COM STOP
Para el proceso de interrupcin de la lnea de comunicacin indicada. Si hay una
interrupcin, se guarda y se ejecuta mas tarde.
Ejemplo de llamada de instruccin:
COM(3) STOP................... Para (sostiene) la interrupcin desde la lnea COM3.

CALLP
Llama al programa indicado. Vuelve a la siguiente del programa cuando llega a la de
END del programa llamado. Los datos se pueden transferir al programa llamado
como una trama de variables.
Ejemplos de llamadas de instruccin:
CALLP 10 ...................... Llama al programa nmero 10.
CALLP 30 , M2, P2......... Llama al programa nmero 30 y le transfiere la variable
numrica M1 y la variable de posicin P2.

FPRM
Se transfiere una discusin con la llamada de programa CALLP .
Ejemplo de llamada de instruccin:
FPRM M22, P22............... Recibe las variables transferidas con la comanda CALLP .
La variable numrica ser M22 en el subprograma, y la
variable de posicin ser P22.

CLR
Resetea las seales de salida, basndose en el patrn de reset de las seales de
salida.
Ejemplos de llamadas de instruccin:
CLR 1.................. Borra basndose en el patrn de reset de las salidas.

Festo Didactic

63

Ejemplo de aplicacin

Visin artificial

Descripcin previa:
Este ejemplo muestra una aplicacin en que el brazo robot usa las instrucciones de
comunicacin para adquirir datos de un sistema de visin artificial con el fin de
corregir la posicin donde el brazo robot tiene que ir a recoger el objeto en cuestin.
Para conectar la unidad de visin a la controladora CR1, se puede usar la tarjeta de
expansin serie RS-232C. Tambin se podra usar el puerto que conecta la
controladora con el PC, pero se recomienda usar uno dedicado para el sistema de
visin.

Cmera
Unidad de visin

CR1
(controlador)

Programa ejemplo:
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150

Festo Didactic

OPEN COM2: AS #1
' Abre la comunicacin RS232C
MOV P1, -50
' Mueve la posicin de la cmara
M_OUT(10) = 1 DLY 0.5 ' Activa la seal de salida que conecta la camera
(enciende el sensor)
PX=P1
' Obtiene el origen de la camera
INPUT #1, MX, MY, MC ' Obtiene los datos de la correccin
PX.X=PX.X+MX
' Aplica los datos de la correccin en la direccin X
PPX.Y=PX.Y+MY
' Aplica los datos de la correccin en la direccin Y
PX.C=PX.C+RAD(MC)
' Aplica los datos de la correccin en el eje C
MOV PX, -50
' Mueve a una posicin encima del objeto
OVRD 30
' Velocidad al 30%
MVS PX
' Mueve a la posicin objetivo
DLY 0.3
' Espera de 0.3 segundos
HCLOSE
' Cierra pinza
DLY 0.3
' Espera de 0.3 segundos
MVS, -50
' Movimiento recto alejndose hacia arriba
...

64

13 APENDICE
Conexionado de E/S externas:
La controladora dispone de un conector conceptronics de 50 pines donde se
conectarn las seales de E/S externas.
Esquema de conexin y la descripcin de casa seal del conector se muestra a
continuacin.

Festo Didactic

65

Solucin Prctica 1
10 '*********************FESTO DIDACTIC*********************
20 '*
CURSO DE INTRODUCCIN A LA ROBTICA
*
30 '*
*
40 '*
PRCTICA - 1
*
50 '*
INSTRUCCIONES BSICAS
*
60 '* Autor: Ferran
*
70 '* Fecha: Febrero 2005
*
80 '* Comentarios:
*
90 '*
*
100 '*********************************************************
110
HOPEN 1
' Abrir Pinza
120
MOV P1
' Movimiento interpolado a la posicin 1
130
OVRD 90
' Velocidad al 90%
140
MOV P2
' Movimiento interpolado a la posicin 2
150
OVRD 30
' Velocidad al 30%
160
MOV P3
' Movimiento interpolado a la posicin 3
170
HCLOSE 1
' Cierra pinza
180
DLY 0.5
' Espera de 0.5 segundos
190
MOV P2
' Movimiento interpolado a la posicin 2
200
OVRD 90
' Velocidad 90%
210
MOV P4
' Movimiento interpolado a la posicin 4
220
OVRD 30
' Velocidad al 30%
230
MOV P5
' Movimiento interpolado a la posicin 5
240
HOPEN 1
' Abre pinza
250
MOV P4
' Movimiento interpolado a la posicin 4
260
OVRD 90
' Velocidad 90%
270
MOV P1
' Movimiento interpolado a la posicin 1
280
DLY 3
' Espera de 3 segundos
290
END
' Fin del programa

Festo Didactic

66

Solucin Prctica 2
10 '*********************FESTO DIDACTIC*********************
20 '*
CURSO DE INTRODUCCIN A LA ROBTICA
*
30 '*
*
40 '*
PRCTICA - 2
*
50 '*
MOVIMIENTOS CIRCULARES
*
60 '* Autor: Ferran
*
70 '* Fecha: Marzo 2005
*
80 '* Comentarios:
*
90 '*
*
100 '*********************************************************
110
HOPEN 1
' Abrir Pinza
120
OVRD 70
' Velocidad al 70%
130
MOV P1
' Movimiento interpolado a la posicin P1
140
DLY 3
' Espera de 3 segundos
150
MOV P2, -80
' Movimiento interpolado a una posicin alejada 80mm de
la posicin P2
160
OVRD 30
' Velocidad al 30%
170
MVS P2
' Movimiento recto a la posicin P2
180
HCLOSE 1
' Cierra pinza
190
DLY 0.5
' Espera de 0,5 segundos
200
MVS P2, -50
' Movimiento recto a una posicin alejada 50mm de la
posicin P2
210
OVRD 70
' Velocidad al 70%
220
MOV P3, -150 ' Movimiento interpolado a una posicin alejada 150mm de
la posicin P3
230
MOV P3
' Movimiento interpolado a la posicin P3
240
MVC P3, P4, P5 ' Movimiento circular
250
MVC P3, P4, P5 ' Movimiento circular
260
MOV P3, -150 ' Movimiento interpolado a una posicin alejada
150mm de la posicin P3
270
MVS P2, -80
' Movimiento recto a una posicin alejada 80mm de la
posicin P2
280
OVRD 30
' Velocidad al 30%
290
MVS P2
' Movimiento recto a la posicin P2
300
HOPEN 1
' Abrir Pinza
310
DLY 0.5
' Espera de 0,5 segundos
320
MVS P2, -50
' Movimiento recto a una posicin alejada 50mm de la
posicin P2
330
OVRD 70
' Velocidad al 70%
340
MOV P1
' Movimiento interpolado a la posicin P1
350
END
' Fin del programa

Festo Didactic

67

Solucin Prctica 3
10 '*********************FESTO DIDACTIC*********************
20 '*
CURSO DE INTRODUCCIN A LA ROBTICA
*
30 '*
*
40 '*
PRACTICA - 3
*
50 '*
MOVIMIENTO CONTINUO
*
60 '* Autor: Ferran
*
70 '* Fecha: Marzo 2005
*
80 '* Comentarios:
*
90 '*
*
100 '*********************************************************
110
'HOPEN 1
' Abrir Pinza
120
OVRD 80
' Velocidad al 80%
130
MOV P1
' Movimiento interpolado a la posicin P1
140
DLY 3
' Espera de 3 segundos
150
MOV P2, -100
' Movimiento interpolado a una posicin alejada
100mm de la posicin P2
160
MVS P2
' Movimiento recto a la posicin P2
170
WAIT M_IN(10)=1
' Espera que se active la entrada M_IN(10)
180
HCLOSE 1
' Cierra pinza
190
DLY 3
' Espera de 3 segundos
200
MVS P2, -100
' Movimiento recto a una posicin alejada 100mm
de la posicin P2
210
MOV P1
' Movimiento interpolado a la posicin P1
220
MOV P3, -50
' Movimiento recto a una posicin alejada
50mm de la posicin P3
230
OVRD 40
' Velocidad al 40%
240
MVS P3
' Movimiento recto a la posicin P3
250
DLY 1
' Espera de 1 segundo
260
CNT 1
' Inicio movimiento continuo
270
MVS P4
' Movimiento recto a la posicin P4
280
'CNT 1,50,50
' movimiento continuo
290
MVS P5
' Movimiento recto a la posicin P5
300
'CNT 1,50,50
' movimiento continuo
310
MVS P6
' Movimiento recto a la posicin P6
320
'CNT 1,50,50
' movimiento continuo
330
MVS P3
' Movimiento recto a la posicin P3
340
'CNT 1,50,50
' movimiento continuo
350
MVS P5
' Movimiento recto a la posicin P5
360
CNT 0
' Final del movimiento continuo
370
OVRD 80
' Velocidad al 80%
380
MOV P1
' Movimiento interpolado a la posicin P1
390
HOPEN 1
' Abre la pinza
400
HLT
' Para el programa
410
END
' Fin del programa

Festo Didactic

68

Solucin Prctica 4
10 '*********************FESTO DIDACTIC*********************
20 '*
CURSO DE INTRODUCCIN A LA ROBTICA
*
30 '*
*
40 '*
PRACTICA - 4
*
50 '*
PALETIZACIN
*
60 '* Autor: Ferran
*
70 '* Fecha: Marzo 2005
*
80 '* Comentarios:
*
90 '*
*
100 '*********************************************************
110
DEF PLT 1, P3, P4, P5, P6, 3, 3, 2 ' Definicin del palet
120
DEF POS OFFSET
' Declaracin variable posicin OFFSET
130
OFFSET = (0, 0, +100, 0, 0, 0)
' Definicin de OFFSET
140
M9=1
' Asignamos el valor 1 a la variable entera M9
150
OVRD 90
' Velocidad al 90%
160
HOPEN 1
' Abrir Pinza
170
MOV P2, -60
' Movimiento interpolado a una posicin alejada 60mm de
la posicin P2
180
WHILE (M9<=9) ' Mientras M9 sea inferior a 10, se ejecutar el bucle del
WHILE
190
WAIT M_IN(10)=1
' Espera hasta que la seal M_IN(10) se activa
200
OVRD 30
' Velocidad al 30%
210
MVS P2
' Movimiento recto a la posicin P2
220
HCLOSE 1
' Cierra pinza
230
DLY 0.5
' Espera de 0,5 segundos
240
MVS P2, -60
' Movimiento interpolado a una posicin alejada 60mm de
la posicin P2
250
OVRD 90
' Velocidad al 90%
260
P9=(PLT 1, M9) ' Asignamos el valor de una posicin del palet a la variable
de posicin P9
270
MOV P9 + OFFSET
' Movimiento interpolado a la posicin resultante
de la suma de coordenadas
280
OVRD 30
' Velocidad al 30%
290
MVS P9
' Movimiento recto a la posicin P9
300
HOPEN 1
' Abrir Pinza
310
DLY 0.5
' Espera de 0,5 segundos
320
MOV P9 + OFFSET
' Movimiento interpolado a la posicin resultante
de la suma de coordenadas
330
OVRD 90
' Velocidad al 90%
340
MOV P2, -60
' Movimiento interpolado a una posicin alejada 60mm de
la posicin P2
350
M9=M9+1
' Incrementa el valor de la variable entera M9
360
WEND
' Fin del bucle
370
END
' Fin del programa

Festo Didactic

69

Solucin Prctica 5
10 '*********************FESTO DIDACTIC*********************
20 '*
CURSO DE INTRODUCCIN A LA ROBTICA
*
30 '*
*
40 '*
PRACTICA - 5
*
50 '*
SUBRUTINAS
*
60 '* Autor: Ferran
*
70 '* Fecha: Abril 2005
*
80 '* Comentarios:
*
90 '*
*
100 '*********************************************************
110
DEF POS OFFSET
' Declaracin variable posicin OFFSET
120
OFFSET = (0, 0, +60, 0, 0, 0)
' Definicin de OFFSET
130
DEF INTE RAPIDO
' Declaracin variable RAPIDO
140
DEF INTE LENTO
' Declaracin variable LENTO
150
DEF INTE OPCION
' Declaracin variable OPCION
160
RAPIDO = 90
' Velocidad rpida al 90%
170
LENTO = 30
' Velocidad lenta al 30%
180
HOPEN 1
' Abrir Pinza
190
*INICIO
' Etiqueta de reinicio
200
OVRD RAPIDO
' Velocidad al 90%
210
MOV P1
' Movimiento interpolado a la posicin P1
220
MOV P2 + OFFSET
' Movimiento interpolado a la suma de
coordenadas de P2 y OFFSET
230
OVRD LENTO
' Velocidad al 30%
240
MVS P2
' Movimiento recto a la posicin P2
250
HCLOSE 1
' Cierra pinza
260
DLY 0.5
' Espera de 0,5 segundos
270
MOV P2 + OFFSET
' Movimiento interpolado a la suma de
coordenadas de P2 y OFFSET
280
OVRD RAPIDO
' Velocidad al 90%
290
MOV P3
' Movimiento interpolado a la posicin P3
300
*INI
' Etiqueta
310
OPCION = 0
' Inicializacin de la variable OPCION
320
WAIT (M_IN(8)=1) OR (M_IN(9)=1) OR (M_IN(10)=1) OR (M_IN(11)=1)
' Espera a que se active alguna seal
330
IF M_IN(11)=1 THEN OPCION =4 ' Comprueba el valor de M_IN(11)
340
IF M_IN(10)=1 THEN OPCION =3 ' Comprueba el valor de M_IN(10)
350
IF M_IN(9)=1 THEN OPCION =2 ' Comprueba el valor de M_IN(9)
360
IF M_IN(8)=1 THEN OPCION =1 ' Comprueba el valor de M_IN(8)
370
SELECT OPCION
' Selecciona el vector ENT para comparar
380
CASE OPCION =1
' Compara una posicin del vector
390
GOSUB *GIRAR
' Llama a la subrutina GIRAR
400
BREAK
' Fin de las instrucciones del CASE seleccionado
410
CASE OPCION =2
' Compara una posicin del vector
420
GOSUB *CIRCULO
' Llama a la subrutina CIRCULO
430
BREAK
' Fin de las instrucciones del CASE seleccionado
440
CASE OPCION =3
' Compara una posicin del vector
450
GOSUB *BOTAR
' Llama a la subrutina BOTAR
460
BREAK
' Fin de las instrucciones del CASE seleccionado
470
CASE OPCION =4
' Compara una posicin del vector
480
GOSUB *TIRAR
' Llama a la subrutina TIRAR
490
BREAK
' Fin de las instrucciones del CASE seleccionado
500
DEFAULT
' Si no hay entradas activas

Festo Didactic

70

510
520
530
540
550
560
570
580
590
600
610
620
630
640
650
660
670
680
690
700
710
720
730
740
750
760
770
780
790
800
810
820
830
840
850
860
870
880
890
900
910
920
930
940
950
960
970
980
990
1000
1010
1020
1030

Festo Didactic

DLY 0.5
' Espera de 0,5 segundos
BREAK
' Fin de las instrucciones del CASE seleccionado
END SELECT
' Finaliza la opcin SELECT CASE
IF OPCION=0 OR OPCION=1 THEN GOTO *INI
' Si la variable OPCION
vale 0 o 1, salta a INI
GOTO *INICIO
' Salta a la etiqueta INICIO
END
' Fin del programa
'-------------------------------------------------------------------------------------*GIRAR
' Inicio de la subrutina GIRAR
DEF POS GIRO
' Declaracin variable posicin
GIRO = (0, 0, 0, 120, 0, 0)
' Asignacin de valores a la posicin GIRO
OVRD LENTO
' Velocidad al 30%
CNT 1
' Inicio del movimiento continuo
MOV P3+GIRO
' Movimiento interpolado a la suma de
coordenadas de P3 y GIRO
MOV P3
' Movimiento interpolado a la posicin P3
MOV P3-GIRO
' Movimiento interpolado a la suma de
coordenadas de P3 y GIRO
MOV P3
' Movimiento interpolado a la posicin P3
CNT 0
' Fin del movimiento continuo
OVRD RAPIDO
' Velocidad al 90%
RETURN
' Final de la subrutina GIRAR
'-------------------------------------------------------------------------------------*CIRCULO
' Inicio de la subrutina CIRCULO
CNT 1
' Inicio del movimiento continuo
MOV P1
' Movimiento interpolado a la posicin P1
MOV P4 + OFFSET
' Movimiento interpolado a la suma de
coordenadas de P4 y OFFSET
MVS P4
' Movimiento interpolado a la posicin P4
MVC P4,P5, P6
' Movimiento circular entre los puntos P4, P5 y P6
CNT 0
' Fin del movimiento continuo
MOV P4 + OFFSET
' Movimiento interpolado a (P4 + OFFSET)
MOV P7 + OFFSET
' Movimiento interpolado a (P7 + OFFSET)
OVRD LENTO
' Velocidad al 30%
MVS P7
' Movimiento recto a la posicin P7
HOPEN 1
' Abrir Pinza
DLY 0.5
' Espera de 0,5 segundos
MVS P7 + OFFSET
' Movimiento interpolado a (P7+OFFSET)
RETURN
' Final de la subrutina CIRCULO
'-------------------------------------------------------------------------------------*BOTAR
' Inicio de la subrutina BOTAR
CNT 1
' Inicio del movimiento continuo
MOV P8 - OFFSET
' Movimiento interpolado a (P8 - OFFSET)
MOV P8 + OFFSET
' Movimiento interpolado a (P8 + OFFSET)
MOV P8 - OFFSET
' Movimiento interpolado a (P8 - OFFSET)
MOV P8 + OFFSET
' Movimiento interpolado a (P8 + OFFSET)
MOV P8 - OFFSET
' Movimiento interpolado a (P8 - OFFSET)
MOV P8 + OFFSET
' Movimiento interpolado a (P8 + OFFSET)
MOV P8
' Movimiento interpolado a P8
CNT 0
' Fin del movimiento continuo
MOV P9 + OFFSET
' Movimiento interpolado a (P9 + OFFSET)
OVRD LENTO
' Velocidad al 30%
MVS P9
' Movimiento recto a P9
HOPEN 1
' Abrir Pinza
DLY 0.5
' Espera de 0,5 segundos
MVS P9 + OFFSET
' Movimiento recto a (P9 + OFFSET)
RETURN
' Final de la subrutina BOTAR

71

1040
1050
1060
1070
1080
1090
1100
1110
1120
1130
1140
1150

Festo Didactic

'-------------------------------------------------------------------------------------*TIRAR
' Inicio de la subrutina TIRAR
DEF POS SUELO
' Declaracin variable posicin
SUELO = (0,-50,+3,0,0,0) ' Definicin de SUELO
MOV P10 + SUELO + OFFSET
' Movimiento interpolado a la suma de
coordenadas de P10, SUELO y OFFSET
OVRD 20
' Velocidad al 20%
MOV P10 + SUELO
' Movimiento interpolado a (P10 + SUELO)
MVS P10
' Movimiento recto a P10
HOPEN 1
' Abrir Pinza
DLY 0.5
' Espera de 0,5 segundos
MOV P10 + OFFSET
' Movimiento interpolado a (P10+OFFSET)
RETURN
' Final de la subrutina TIRAR

72

Solucin Prctica 6
10 '*********************FESTO DIDACTIC*********************
20 '*
CURSO DE INTRODUCCIN A LA ROBTICA
*
30 '*
*
40 '*
PRACTICA - 6
*
50 '*
INTERRUPCIONES
*
60 '* Autor: Ferran
*
70 '* Fecha: Abril 2005
*
80 '* Comentarios:
*
90 '*
*
100 '*********************************************************
110
DEF POS HORNO
' Declaracin variable posicin HORNO
120
DEF POS OFFSET
' Declaracin variable posicin OFFSET
130
DEF POS P9
' Declaracin variable posicin P9
140
HORNO = (0,0,+50,0,0,0) ' Definicin de HORNO
150
OFFSET = (0,0,+60,0,0,0) ' Definicin de OFFSET
160
'DEF IO N_PASTEL = BIT,10
170
DEF ACT 1, M_IN(10) = 1 GOSUB *COCER ' Definicin interrupcin COCER
180
DEF ACT 2, M_TIMER(1) > 30000 GOSUB *RETIRAR ' Definicin interrupcin
RETIRAR
190
DEF INTE NPP
' Declaracin variable entera NPP
200
DEF INTE CONTADOR
' Declaracin variable entera CONTADOR
210
DEF INTE RAPIDO
' Declaracin variable entera RAPIDO
220
DEF INTE LENTO
' Declaracin variable entera LENTO
230
DEF PLT 1, P4, P5, P6, P7, 3, 3, 2
' Definicin del palet 1
240
RAPIDO = 90
' Definicin de RAPIDO
250
LENTO = 60
' Definicin de LENTO
260
'..........................................................................................
270
HOPEN 1
' Abrir Pinza
280
OVRD RAPIDO
' Velocidad al 90%
290
MOV P1
' Movimiento interpolado a la posicin P1
300
ACT 1 = 1
' Habilita la interrupcin 1
310
GOSUB *COGER_P
' Llama a la subrutina COGER_P
320
*INI
' Etiqueta INI
330
NPP = 1
' Inicializacin del contador NPP
340
WHILE (NPP <= 9)
' Mientras NPP sea inferior a 10, se ejecutar el
bucle del WHILE
350
P9 = (PLT 1, NPP)
' Asignamos el valor de una posicin del palet a la
variable de posicin P9
360
MOV P9 + OFFSET
' Movimiento interpolado a la posicin P9+OFFSET
370
OVRD LENTO
' Velocidad al 60%
380
CONTADOR = 0
' Inicializacin del contador CONTADOR
390
WHILE (CONTADOR < NPP)
' Mientras NPP sea inferior a 10, se
ejecutar el WHILE
400
MVS P9
' Movimiento recto a la posicin P9
410
MVS P9 + OFFSET
' Movimiento recto a la suma de coordenadas de
P9 + OFFSET
420
CONTADOR = CONTADOR + 1
' Actualizacin del contador CONTADOR
430
WEND
' Fin del WHILE
440
OVRD RAPIDO
' Velocidad al 90%
450
NPP = NPP + 1
' Actualizacin del contador NPP
460
WEND
' Fin del WHILE
470
GOTO *INI
' Salto a la etiqueta INI
480
END
' Fin del programa
490 '------------------------------------------------------------------------------------500 *COGER_P
' Inicio de la subrutina COGER_P

Festo Didactic

73

510
520
530
540
550
560
570

' Velocidad al 90%


' Movimiento interpolado a la posicin P2+OFFSET
' Velocidad al 60%
' Movimiento interpolado a la posicin P1
' Cierra pinza
' Espera de 0,5 segundos
' Movimiento recto a la suma de coordenadas de
P2 + OFFSET
580
OVRD RAPIDO
' Velocidad al 90%
590
RETURN
' Final de la subrutina COGER_P
600 '-------------------------------------------------------------------------------------610 *DEJAR_P
' Inicio de la subrutina DEJAR_P
620
OVRD RAPIDO
' Velocidad al 90%
630
MOV P2 + OFFSET
' Movimiento interpolado a la posicin P2+OFFSET
640
OVRD LENTO
' Velocidad al 60%
650
MVS P2
' Movimiento recto a la posicin P2
660
HOPEN 1
' Abrir Pinza
670
DLY 0.5
' Espera de 0,5 segundos
680
MOV P2 + OFFSET
' Movimiento interpolado a la posicin P2+OFFSET
690
OVRD RAPIDO
' Velocidad al 90%
700
RETURN
' Final de la subrutina DEJAR_P
710 '-------------------------------------------------------------------------------------720 *COCER
' Inicio de la interrupcin COCER
730
ACT 1 = 0
' Deshabilita la interrupcin 1
740
OVRD RAPIDO
' Velocidad al 90%
750
MOV P1
' Movimiento interpolado a la posicin P1
760
GOSUB *DEJAR_P
' Llama a la subrutina DEJAR_P
770
MOV P3 + OFFSET
' Movimiento interpolado a la posicin P3+OFFSET
780
OVRD LENTO
' Velocidad al 60%
790
MVS P3
' Movimiento recto a la posicin P3
800
HCLOSE 1
' Cierra pinza
810
DLY 0.5
' Espera de 0,5 segundos
820
MVS P3 + OFFSET
' Movimiento recto a la suma de coordenadas de
P3 + OFFSET
830
OVRD RAPIDO
' Velocidad al 90%
840
MOV P8 + HORNO
' Movimiento interpolado a la posicin P8+OFFSET
850
OVRD LENTO
' Velocidad al 60%
860
MVS P8
' Movimiento recto a la posicin P8
870
HOPEN 1
' Abrir Pinza
880
DLY 0.5
' Espera de 0,5 segundos
890
MVS P8 + HORNO
' Movimiento recto a la suma de coordenadas de
P8 + HORNO
900
GOSUB *COGER_P
' Llama a la subrutina COGER_P
910
MOV P1
' Movimiento interpolado a la posicin P1
920
ACT 2 = 1
' Habilita la interrupcin 2
930
M_TIMER(1) = 0
' Inicializacin del reloj a cero
940
RETURN 0
' Final de la interrupcin COCER
950 '-------------------------------------------------------------------------------------960 *RETIRAR
' Inicio de la interrupcin RETIRAR
970
ACT 2 = 0
' Deshabilita la interrupcin 2
980
OVRD RAPIDO
' Velocidad al 90%
990
MOV P1
' Movimiento interpolado a la posicin P1
1000 GOSUB *DEJAR_P
' Llama a la subrutina DEJAR_P
1010 MOV P8 + HORNO
' Movimiento interpolado a la posicin P8+HORNO
1020 OVRD LENTO
' Velocidad al 60%
1030 MVS P8
' Movimiento recto a la posicin P8
1040 HCLOSE 1
' Cierra pinza

Festo Didactic

OVRD RAPIDO
MOV P2 + OFFSET
OVRD LENTO
MVS P2
HCLOSE 1
DLY 0.5
MVS P2 + OFFSET

74

1050
1060

DLY 0.5
MVS P8 + HORNO

1070
1080
1090
1100
1110
1120
1130

OVRD RAPIDO
MOV P3 + OFFSET
OVRD LENTO
MVS P3
HOPEN 1
DLY 0.5
MVS P3 + OFFSET

1140
1150
1160
1170

OVRD RAPIDO
GOSUB *COGER_P
MOV P1
RETURN 0

Festo Didactic

' Espera de 0,5 segundos


' Movimiento recto a la suma de coordenadas de
P8 + HORNO
' Velocidad al 90%
' Movimiento interpolado a la posicin P3+OFFSET
' Velocidad al 60%
' Movimiento recto a la posicin P3
' Abrir Pinza
' Espera de 0,5 segundos
' Movimiento recto a la suma de coordenadas de
P3 + OFFSET
' Velocidad al 90%
' Llama a la subrutina COGER_P
' Movimiento interpolado a la posicin P1
' Final de la interrupcin RETIRAR

75

También podría gustarte