Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ROBÓTICA INDUSTRIAL
MITSUBISHI RV-2AJ / RV-2FD
PRÁCTICAS
ÍNDICE:
1.- INTRODUCCIÓN:
1.1.- OBJETIVO DEL CURSO.
1.2.- SEGURIDAD.
7.-INSTRUCCIONES DE MOVIMIENTO.
7.1.- MOVIMIENTO CIRCULAR (MVR).
7.2.- MOVIMIENTO CIRCULAR (MVC).
10.- INTERRUPCIONES.
10.1.- EJEMPLO DE INTERRUPCIÓN.
11.- PALETIZACIÓN.
11.1.- EJERCICIO DE PALETIZACIÓN.
1.- INTRODUCCIÓN:
1.1.- OBJETIVO DEL CURSO:
Este libro pretende ser una guía de ayuda con la información necesaria para orientar sobre
el curso de Introducción a la Robótica, como unas directrices a seguir en la consecución y
realización de los problemas que se pueden plantear en la realización de las prácticas.
Introducirá al lector con una cierta formación técnica, en los aspectos relacionados con la
robótica, presentando de manera sencilla las diferentes características que componen las
diferentes tecnologías de un robot industrial (mecánica, electrónica, control y programación)
centrando estas especificaciones en el modelo utilizado en las prácticas.
1.2.- SEGURIDAD.
- Recomendaciones :
Cualquier persona que trabaje con el robot industrial, debe observar con especial atención
las recomendaciones de seguridad.
Además, deben respetarse las normas y regulaciones sobre prevención de accidentes,
aplicables localmente.
El responsable del funcionamiento se compromete en asegurar que el robot industrial es
utilizado solamente por personas que:
Estén familiarizadas con las normas básicas relacionadas con la seguridad operativa y
prevención de accidentes.
Hayan recibido instrucciones en el manejo del Sistema Modular de Producción.
Estén medianamente habituados en trabajar con seguridad.
- A tener en cuenta :
General
Los alumnos sólo deben trabajar con el robot bajo la supervisión de un instructor.
Observar los datos de los componentes individuales de las fichas técnicas.
Posicionamiento
En el posicionamiento hay que tener especial atención 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.
Manipulación
Antes de la ejecución del programa del programa habrá que retirar previamente elementos
que no estén especificados en la concepción este con el fin de evitar colisiones en la
ejecución de las secuencias de movimiento.
Electricidad
Las conexiones eléctricas deben establecerse y desconectarse sólo cuando la tensión
principal esté cortada
Utilizar sólo bajas tensiones de hasta 24 V DC.
Mecánica
No intervenir manualmente a no ser que la máquina se halle parada.
Resolución: Movimiento mínimo que puede producir el robot (condicionado por la mecánica
y el tipo de control). Su valor depende de dos factores:
- La propia resolución del sistema de control.
- Las inexactitudes en las medidas de posicionamiento obtenidas.
En el caso de un robot formado por un único eje lineal de un metro de rango de
desplazamiento y un control que utiliza un registro donde almacena las posiciones con una
capacidad de 12 bits (podríamos contar hasta 4096 incrementos o fracciones de
movimiento), se tendría una resolución de:
Exactitud o precisión:
Capacidad de un robot para situar el extremo de su muñeca en un punto señalado dentro del
volumen de trabajo. La exactitud es mayor cuando su brazo trabaja cerca de la base
(inexactitudes mecánicas). La distancia entre el punto programado (definido por sus
coordenadas espaciales) y el valor medio de los puntos realmente alcanzados por el robot al
repetir el movimiento a ese punto destino, se denomina precisión.
El origen de este error está en las deformaciones térmicas y dinámicas del brazo, en la
simplificación del modelo de control cinemático y dinámico con el cual trabaja el controlador
y en pérdidas de exactitud en los cálculos al truncar los valores numéricos.
El diseño de un robot industrial generalmente se inspira en el brazo humano, aunque con alguna
diferencias, según su estructura y composición pero en esencia es así. Por ejemplo, un braz
robótico puede extenderse telescópicamente, es decir, deslizando unas secciones cilíndricas dentr
de otras para alargar el brazo. También pueden construirse brazos robóticos de forma que pueda
doblarse como la trompa de un elefante. Las pinzas están diseñadas para imitar la función
estructura de la mano humana. Este robot están equipados con pinzas especializadas para agarra
dispositivos concretos, como una gradilla de tubos de ensayo o un soldador de arco.
Las articulaciones de un brazo robótico suelen moverse mediante motores eléctricos, aunqu
pueden utilizarse otras tecnologías (neumática, hidráulica). En la mayoría de los robots, la pinza s
mueve de una posición a otra cambiando su orientación. La controladora calcula los ángulos d
articulación necesarios para llevar la pinza a la posición deseada, un proceso conocido com
cinemática inversa.
La mayoría de los brazos multiarticulados están equipados con servo controladores, o controladore
por realimentación, que reciben datos de la controladora. Cada articulación del brazo tiene u
dispositivo de medición que mide su ángulo (encoder) y envía ese dato al controlador. Si el ángul
real del brazo no es igual al ángulo calculado para la posición deseada, el servo controlador muev
la articulación hasta que el ángulo del brazo coincida con el ángulo calculado. Este tipo de control s
denomina control de lazo cerrado.
El diagrama de bloques de un control de posicionamiento en lazo cerrado es el siguiente:
Los controladores y los ordenadores asociados también pueden procesar los datos recogidos po
cámaras que localizan los objetos que se van a agarrar o las informaciones de censores situados e
las pinzas que regulan la fuerza de agarre.
En la siguiente figura se muestra de manera esquemática las diferentes partes y periféricos que s
pueden asociar al brazo robot con el que se realizan las prácticas.
Se observa en la figura que la estructura mecánica (brazo robot) y la controladora forma l
estructura principal, a la que después se le acoplará la herramienta deseada según el tipo de tarea
aplicación que se desee realizar.
La unidad de control del brazo robot se puede ampliar para poder interconectar mediante buses d
comunicación o entras y salidas a otros elementos y herramientas que comporten la célula d
fabricación.
CARACTERÍSTICA ESPECIFICACIÓN
Grados de libertad 6
Carga máxima 2 kg Campo de trabajo es el volumen
Repetitividad 0, 02 mm espacial dentro del cual el robot
Velocidad máxima 4950 mm/s puede situar el extremo de su
Alcance de la pinza 482 mm muñeca. Está limitado por las
envolventes que se producen al mover
Alcance desde Q, en mm A 410, B 285
los ejes del robot entre sus posiciones
Alcance desde Q, en mm C 190, D 300 mínimas y máximas.
Alcance desde Q, en grados E 150, El campo de trabajo de un robot influye
Alcance desde Q, en mm R1 220, R2 410 en el grado de accesibilidad de éste a
las diferentes máquinas o elementos de la instalación, por lo que cuando se desea robotizar
una instalación es necesario estudiar, la distribución de elementos en el entorno del robot.
Campo de trabajo
CARACTERÍSTICA ESPECIFICACIÓN
Grados de libertad 5
Carga máxima 2 kg
Repetitividad 0, 02 mm
Velocidad máxima 2100 mm/s
Alcance de la pinza 482 mm
Alcance desde Q, en mm A 410, B 285
Alcance desde Q, en mm C 190, D 300 Campo de trabajo es el volumen
Alcance desde Q, en grados E 150, espacial dentro del cual el robot
Alcance desde Q, en mm R1 220, R2 410 puede situar el extremo de su
muñeca. Está limitado por las envolventes que se producen al mover los ejes del robot
entre sus posiciones mínimas y máximas.
El campo de trabajo de un robot influye en el grado de accesibilidad de éste a las diferentes
máquinas o elementos de la instalación, por lo que cuando se desea robotizar una
instalación es necesario estudiar, la distribución de elementos en el entorno del robot.
Piezas de repuesto:
3.-SOFTWARE DE PROGRAMACIÓN:
Trabajaremos con tres software de programación:
- CIROS PROGRAMMING.
- CIROS ROBOTICS.
- RT ToolBox2.
3.3.- RT Toolbpx2.
RT-Toolbox2 es un paquete de software para los robots Mitsubishi. Este software incluye
un conjunto completo de herramientas para las tareas importantes de programación y
configuración de robots. RT-Toolbox2 está basado en Windows® y está disponible en dos
formatos: estándar con simulación o limitado sin simulación.
Las herramientas incluyen:
Configuración del sistema.
Edición y depuración del programa.
Conversión de programas (MELFA Basic IV a MELFA Basic V).
Definición de parámetros.
Simulación (en la versión estándar solamente).
Monitoreo del sistema.
Gestión de archivos.
Diagnóstico de robots.
Mantenimiento de robots.
Identificar:
- Ventana de programación.
- Ventana de posiciones.
- Ventana de mensajes.
- Ventana de simulación.
puesto que este programa no tiene la posibilidad de guardar el entorno de trabajo, solo
guarda los programas creados.
4.4.- POSICIONES.
En la ventana de posiciones agregar dos posiciones de la siguiente forma.
Si hacemos un doble click en el espacio de trabajo del robot dentro de la ventana de
simulación, veremos que el robot coloca la pinza en la posición marcada.
En esta posición, nos vamos a la ventana de posiciones y accionando el botón derecho del
ratón, agregamos esta posición quedando marcada como P1.
Repetimos el proceso una segunda vez, quedando guardada en la segunda posición P2.
Si hacemos doble click encima de P1 ó P2, veremos como el robot adopta ambas
posiciones alternativamente.
4.5.- PROGRAMA.
En la ventana de programa realizaremos el siguiente programa:
MOV P1
DLY 3
MOV P2
Más adelante, en el apartado ESTRUCTURA DE LA PROGRAMACIÓN se describe la
estructura que tenemos que seguir para hacer el programa del robot.
El robot se mueve a la posición indicada con una interpolación angular de cada eje. El
camino recorrido no se puede prever. Se pueden introducir las declaraciones añadidas
WTH o WTHIF.
Pasos a seguir:
Primero hay que definir las posiciones clave del movimiento, que en este caso serán cinco:
-P1 : posición inicial o de reposo
-P2 : posición de aproximación a la zona de carga
- XYZ Jog: Coordenadas de referencia respecto la base del robot. Las articulaciones se
interpolan para que se desplace respecto los ejes de coordenadas
- TOOL Jog: El centro de los ejes de coordenadas se sitúa 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 sitúa el brazo en la posición deseada y se guarda. 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.
- MVS Realiza un movimiento lineal. Atención a la velocidad en este movimiento.
- OVRD Porcentaje de la velocidad máxima.
- HOPEN Abre la pinza.
- HCLOSE Cierra la pinza.
Familia profesional de electricidad/electró nica Miguel Gonzá lez Vidal Pá gina
36
IES SAN JUAN BOSCO
FAMILIA PROFESIONAL DE ELECTRICIDAD Y ELECTRÓNICA
ROBÓTICA INDUSTRIAL
Después de introducir el programa, se deben numerar las filas. (Solo para programas en
Melfa Basic IV).
Luego se puede compilar con que detecta los errores de programación.
Agregaremos los programas *.POS *.MV5 a “Project Management” cuidando que ambos
tengan el mismo nombre y habilitando como “Main program” el programa a ejecutar.
Sobre el ejemplo anterior, utilizando la instrucción ampliada de MOV y MVS, borrar las
posiciones de aproximación P2 y P4 y realizar la misma restando 90mm sobre el eje Z.
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)
OVRD 100 'VELOCIDAD 100%
DLY 1 'ESPERAR 1"
MOV P3,-90 'MOVIMIRNTO INTERPOLADO A P3-90 EN EJE Z (POSICIÓN DE APROXIMACIÓN A ZONA DE CARGA)
HOPEN 1 'ABRIR PINZA (OJO,NO HAY OBJETO)
OVRD 1 'VELOCIDAD 1%
MVS P3 'MOVIMIENTO LINEAL A P3 (POSICIÓN PARA COGER PIEZA)
DLY 1 'ESPERAR 1"
HCLOSE 1 'CERRAR PINZA (OJO NO HAY OBJETO)
MVS P3,-90 'MOVIMIENTO LINEAL A P3-90 EN EJE Z (POSICIÓN DE APROXIMACIÓN A ZONA DE CARGA)
MVS P5,-90 'MOVIMIENTO LINEAL A P5-90 EN EJE Z (POSICIÓN DE APROXIMACIÓN A ZONA DE DESCARGA)
MVS P5 'MOVIMIENTO LINEAL A POSICIÓN P5 (POSICIÓN DONDE EJAMOS LA PIEZA)
DLY 1 'ESPERAR 1"
HOPEN 1 'ABRIR PINZA (OJO,NO HAY OBJETO)
DLY 1 'ESPERAR 1"
MVS P5,-90 'MOVIMIENTO LINEAL A P5-90 EN EJE Z (POSICIÓN DE APROXIMACIÓN A ZONA DE DESCARGA)
OVRD 100 'VELOCIDAD 100%
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)
7.-INSTRUCCIONES DE MOVIMIENTO.
DEFINIR 4 PUNTOS:
P1= Posición inicial de reposo.
P2= Posición de punto de inicio.
P3= Posición de punto de tránsito.
P4= Posición de punto final.
PROGRAMA:
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)
OVRD 100 'VELOCIDAD 100%
DLY 1 'ESPERAR 1"
HCLOSE 1 'CERRAR PINZA (OJO,NO HAY OBJETO)
MOV P2 'MOVIMIENTO INTERPOLADO A P2 (POSICIÓN DE PUNTO DE INICIO)
OVRD 1 'VELOCIDAD 1%
MVR P2,P3,P4 'MOVIMIENTO CIRCULAR MVR CREAR SEMICIRCUNFERENCIA CON (INICIO TRÁNSITO Y FINAL)
DLY 1 'ESPERAR 1"
OVRD 100 'VELOCIDAD 100%
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)
TRAYECTORIA:
DEFINIR 4 PUNTOS:
P1= Posición inicial de reposo.
P2= Posición de punto de inicio.
P3= Posición de punto final.
P4= Posición de referencia. Por esta posición no pasará.
PROGRAMA:
TRAYECTORIA:
DEFINIR 4 PUNTOS:
P1= Posición inicial de reposo.
P2= Posición de punto de inicio.
P3= Posición de punto final.
P4= Posición de punto central del círculo.
PROGRAMA:
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)
OVRD 100 'VELOCIDAD 100%
DLY 1 'ESPERAR 1"
HCLOSE 1 'CERRAR PINZA (OJO,NO HAY OBJETO)
MOV P2 'MOVIMIENTO INTERPOLADO A P2 (POSICIÓN DE PUNTO DE INICIO)
OVRD 1 'VELOCIDAD 1%
MVR3 P2,P3,P4 'MOVIMIENTO CIRCULAR MVR3 CREAR SEMICIRCUNFERENCIA CON (INICIO FINAL Y CENTRO)
DLY 1 'ESPERAR 1"
OVRD 100 'VELOCIDAD 100%
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)
TRAYECTORIA:
DEFINIR 4 PUNTOS:
P1= Posición inicial de reposo.
P2= Posición de punto de inicio.
P3= Posición de tránsito.
P4= Posición de tránsito.
PROGRAMA:
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)
OVRD 100 'VELOCIDAD 100%
DLY 1 'ESPERAR 1"
HCLOSE 1 'CERRAR PINZA (OJO,NO HAY OBJETO)
MOV P2 'MOVIMIENTO INTERPOLADO A P2 (POSICIÓN DE PUNTO DE INICIO)
OVRD 1 'VELOCIDAD 1%
MVC P2,P3,P4 'MOVIMIENTO CIRCULAR MVC CREAR CÍRCULO CON (INICIO, TRÁNSITO 1, TRÁNSITO 2 Y FINAL)
DLY 1 'ESPERAR 1"
OVRD 100 'VELOCIDAD 100%
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)
TRAYECTORIA:
C4
C3
C2
C1
DEFINIR PUNTOS:
P99= Posición de inicio.
P1,P2,P3= Posiciones para describir el círculo C1.
P3,P4,P5= Posiciones para describir el círculo C2.
P4,P6,P7= Posiciones para describir el círculo C3.
P6,P8,P9= Posiciones para describir el círculo C4.
PROGRAMA:
MOV P99 'MOVIMIENTO INTERPOLADO A POSICIÓN P99 (POSICIÓN INICIAL DE REPOSO)
OVRD 100 'VELOCIDAD 100%
DLY 1 'ESPERAR 1"
HCLOSE 1 'CERRAR PINZA (OJO,NO HAY OBJETO)
MOV P1 'MOVIMIENTO INTERPOLADO A P1
OVRD 1 'VELOCIDAD 1%
MVR P1, P2, P3 'MOVIMIENTO CIRCULAR MRV
MVR2 P3, P4, P5 'MOVIMIENTO CIRCULAR MVR2
MVR3 P4, P6, P7 'MOVIMIENTO CIRCULAR MVR3
MVC P6, P8, P9 'MOVIMIENTO CIRCULAR MRC
DLY 1 'ESPERAR 1"
OVRD 100 'VELOCIDAD 100%
MOV P99 'MOVIMIENTO INTERPOLADO A POSICIÓN P99 (POSICIÓN INICIAL DE REPOSO)
DEFINIR PUNTOS:
PROGRAMA 1:
DLY 1 'ESPERAR 1"
HCLOSE 1 'CERRAR PINZA (OJO,NO HAY OBJETO)
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1
OVRD 1 'VELOCIDAD 1%
CNT 1 'DEFINIR INICIO DE MOVIMIENTO CONTINUO
MVS P2 'MOVIMIENTO LINEAL A POSICIÓN P2
MVS P3 'MOVIMIENTO LINEAL A POSICIÓN P3
MVS P4 'MOVIMIENTO LINEAL A POSICIÓN P4
MVS P5 'MOVIMIENTO LINEAL A POSICIÓN P5
MVS P6 'MOVIMIENTO LINEAL A POSICIÓN P6
MVS P7 'MOVIMIENTO LINEAL A POSICIÓN P7
MVS P8 'MOVIMIENTO LINEAL A POSICIÓN P8
CNT 0 'DEFINIR FINAL DE MOVIMIENTO CONTINUO
MVS P1 'MOVIMIENTO LINEAL A POSICIÓN P1
DLY 1 'ESPERAR 1"
OVRD 100 'VELOCIDAD 100
MOV P99 'MOVIMIENTO INTERPOLADO A POSICIÓN P1
PROGRAMA 2:
OVRD 100 'VELOCIDAD 100%
DLY 1 'ESPERAR 1"
HCLOSE 1 'CERRAR PINZA (OJO,NO HAY OBJETO)
MOV P1 'MOVIMIENTO INTERPOLADO A POSICIÓN P1
OVRD 1 'VELOCIDAD 1%
CNT 1,50,50 'DEFINIR INICIO DE MOVIMIENTO CONTINUO
MVS P2 'MOVIMIENTO LINEAL A POSICIÓN P2
MVS P3 'MOVIMIENTO LINEAL A POSICIÓN P3
MVS P4 'MOVIMIENTO LINEAL A POSICIÓN P4
MVS P5 'MOVIMIENTO LINEAL A POSICIÓN P5
MVS P6 'MOVIMIENTO LINEAL A POSICIÓN P6
MVS P7 'MOVIMIENTO LINEAL A POSICIÓN P7
MVS P8 'MOVIMIENTO LINEAL A POSICIÓN P8
CNT 0 'DEFINIR FINAL DE MOVIMIENTO CONTINUO
MVS P1 'MOVIMIENTO LINEAL A POSICIÓN P1
DLY 1 'ESPERAR 1"
OVRD 100 'VELOCIDAD 100
MOV P99 'MOVIMIENTO INTERPOLADO A POSICIÓN P1
Modificar en el programa anterior (CNT 1,50,50) por (CNT 1,100,100), probar el programa y
ver la trazada que realiza, observar como los arcos realizados en los puntos son de mayor
radio.
JOVRD 70........... Configura la velocidad del movimiento angular de cada eje al 70% de la
máxima.
7.8.- INTERRUPCIÓN DE PROGRAMA Y PASO A STOP (HLT).
HLT........................................
Para la ejecución del programa.
IF M_IN(8)=1 THEN HLT..... Para la ejecución del programa cuando se activa la
señal de entrada M_IN(8).
MOV P3 WTHIF M_IN(9)=1, HLT.... Para la ejecución del programa si la señal de entrada
M_IN(9) se activa durante el movimiento a P3.
El valor límite en tanto por ciento de par del eje, se limita para que no exceda de la
designación del límite de par estándar.
La limitación de par disponible depende del tipo de robot.
TORQ 4,80 asignar al eje 4 (1…8), un 80% del torque estándar del mismo.7.11.-
DEFINIR PUNTOS:
PROGRAMA:
MOV P99 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)
OVRD 100 'VELOCIDAD 100%
DLY 1 'ESPERAR 1"
HOPEN 1 'ABRIR PINZA (OJO,NO HAY OBJETO)
MOV P2,-100 'MOVIMIENTO INTERPOLADO A POSICIÓN P2-100 EN Z
OVRD 5 'VELOCIDAD 5%
MVS P2 'MOVIMIENTO LINEAL A POSICIÓN P2 (RECOGER HERRAMIENTA)
HCLOSE 1 'CERRAR PINZA (OJO,NO HAY OBJETO)
MVS P2, -100 'MOVIMIENTO LINEAL A POSICIÓN P2-100 EN Z
MVS P3, -100 'MOVIMIENTO LINEAL A POSICIÓN P3-100 EN Z
MVS P3 'MOVIMIENTO LINEAL A P3
MVC P3,P5,P4 'MOVIMIENTO CIRCULAR A P3,P5,P4 (PRIMER CÍRCULO)
MVC P3,P5,P4 'MOVIMIENTO CIRCULAR A P3,P5,P4 (SEGUNDO CÍRCULO)
DLY 1 'ESPERAR 1"
MVS P3,-100 'MOVIMIENTO LINEAL A POSICIÓN P3-100 EN Z
MVS P2,-100 'MOVIMIENTO LINEAL A POSICIÓN P2-100 EN Z
PROGRAMA:
MOV P99 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)
OVRD 100 'VELOCIDAD 100%
DLY 1 'ESPERAR 1"
HOPEN 1 'ABRIR PINZA (OJO,NO HAY OBJETO)
MOV P2,-100 'MOVIMIENTO INTERPOLADO A POSICIÓN P2-100 EN Z
OVRD 5 'VELOCIDAD 5%
MVS P2 'MOVIMIENTO LINEAL A POSICIÓN P2 (RECOGER HERRAMIENTA)
HCLOSE 1 'CERRAR PINZA (OJO,NO HAY OBJETO)
MVS P2, -100 'MOVIMIENTO LINEAL A POSICIÓN P2-100 EN Z
MVS P3, -100 'MOVIMIENTO LINEAL A POSICIÓN P3-100 EN Z
CNT 1,100,100 'DEFINIR INICIO DE MOVIMIENTO CONTINUO
MVS P3 'MOVIMIENTO LINEAL A P3
MVC P3,P5,P4 'MOVIMIENTO CIRCULAR A P3,P5,P4 (PRIMER CÍRCULO)
MVC P3,P5,P4 'MOVIMIENTO CIRCULAR A P3,P5,P4 (SEGUNDO CÍRCULO)
MVC P3,P5,P4 'MOVIMIENTO CIRCULAR A P3,P5,P4 (TERCER CÍRCULO)
CNT 0 'DEFINIR FINAL DE MOVIMIENTO CONTINUO
MVS P3,-100 'MOVIMIENTO LINEAL A POSICIÓN P3-100 EN Z
MVS P2,-100 'MOVIMIENTO LINEAL A POSICIÓN P2-100 EN Z
MVS P2 'MOVIMIENTO LINEAL A P2 (DEJAR HERRAMIENTA)
DLY 1 'ESPERAR 1"
HOPEN 1 'ABRIR PINZA (OJO,NO HAY OBJETO)
MVS P2,-100 'MOVIMIENTO LINEAL A POSICIÓN P2-100 EN Z
DEFINIR PUNTOS:
PROGRAMA:
DEF POS VECZ100 'DEFINIR DESPLAZAMIENTO DESDE Z=100
DEF POS CENTRO 'DEFINIR CENTRO
VECZ100 =(+0.00,+0.00,+100.00,+0.00,+0.00,+0.00)
MOV P99 'MOVIMIENTO INTERPOLADO A POSICIÓN P1 (POSICIÓN INICIAL DE REPOSO)
OVRD 100 'VELOCIDAD 100%
DLY 1 'ESPERAR 1"
HOPEN 1 'ABRIR PINZA (OJO,NO HAY OBJETO)
MOV P2,-100 'MOVIMIENTO INTERPOLADO A POSICIÓN P2-100 EN Z
OVRD 1 'VELOCIDAD 5%
MVS P2 'MOVIMIENTO LINEAL A POSICIÓN P2 (RECOGER HERRAMIENTA)
HCLOSE 1 'CERRAR PINZA (OJO,NO HAY OBJETO)
MVS P2, -100 'MOVIMIENTO LINEAL A POSICIÓN P2-100 EN Z
MVS P3 'MOVIMIENTO LINEAL A P3
CENTRO=P2-VECZ100 'VALOR DE POSICIÓN "CENTRO"
MVR3 P3,P4,CENTRO 'MOVIMIENTO CIRCULAR A P3,P4 (CENTRO)
MVS P2,-100 'MOVIMIENTO LINEAL A POSICIÓN P2-100 EN Z
MVS P2 'MOVIMIENTO LINEAL A P2 (DEJAR HERRAMIENTA)
DLY 1 'ESPERAR 1"
HOPEN 1 'ABRIR PINZA (OJO,NO HAY OBJETO)
PROGRAMA 1:
Una forma de resolución de este programa es con la función IF THEN ELSE.
'**************** DEFINICIÓN DE VARIABLES *************************************
DEF IO PMAR = Bit,1 'DEFINIMOS PMAR COMO PULSADOR DE MARCHA Y LO ASIGNAMOS AL BIT 1
DEF IO PILO = Bit,1 'DEFINIMOS PILO COMO PILOTO Y LO ASIGNAMOS AL BIT 1
'**************** DEFINICIÓN DE ETIQUETA
*INICIO 'DEFINIMOS ETIQUETA DE SALTO
'***************** CONDICIÓN IF,THEN, ELSE ************************************
If PMAR = 1 Then 'SI PMAR = 1 ENTONCES
PILO = 1 'PILOTO = 1
Else 'DE OTRO MODO
PILO=0 'PILOTO = 0
EndIf 'FIN DE If
GoTo *INICIO 'IR A ETIQUETA *INICIO
PROGRAMA 2:
PROGRAMA 1:
'********************* DEFINICIÓN DE VARIABLES **************************************
DEF IO PMAR1 = Bit, 1 'DEFINIMOS PMAR1 COMO PULSADOR MARCHA1 Y LO ASIGNAMOS AL BIT 1
DEF IO PMAR2 = BIT, 2 'DEFINIMOS PMAR2 COMO PULSADOR MARCHA2 Y LO ASIGNAMOS AL BIT 2
DEF IO PILO = Bit, 1 'DEFINIMOS PILO COMO PILOTO Y LA ASIGNAMOS AL BIT 1
'******************** DEFINICIÓN DE ETIQUETA ****************************************
*INICIO 'DEFINIMOS ETIQUETA
IF PMAR1 = 1 AND PMAR2 =1 THEN 'SI PMAR1 = 1 "Y" PMAR2 = 1, ENTONCES
PILO = 1 'LÁMPARA = 1
ELSE 'DE OTRO MODO
PILO=0 'PILOTO = 0
ENDIF 'FIN DE If
GOTO *INICIO 'IR A ETIQUETA *INICIO
PROGRAMA 2:
Otra forma de resolución de este programa es con “AND”.
'********************* DEFINICIÓN DE VARIABLES***************************
DEF IO PMAR1 = Bit, 1 'DEFINIMOS PMAR1 COMO PULSADOR MARCHA1 Y LO ASIGNAMOS AL BIT 1
DEF IO PMAR2 = BIT, 2 'DEFINIMOS PMAR2 COMO PULSADOR MARCHA2 Y LO ASIGNAMOS AL BIT 2
DEF Io PILO = Bit, 1 'DEFINIMOS PILO COMO PILOTO Y LA ASIGNAMOS AL BIT 1
'******************** DEFINICIÓN DE ETIQUETA ****************************************
*INICIO 'DEFINIMOS ETIQUETA
PILO=PMAR1 AND PMAR2 'SE ACTIVARÁ EL PILOTO SI LO ESTÁN P. MARCHA1 Y P. MARCHA2
GOTO *INICIO 'IR A ETIQUETA *INICIO
PROGRAMA 1:
'********************** DEFINICIÓN DE VARIABLES ********************************************************************
DEF IO PMAR1 = Bit, 1 'DEFINIMOS PMAR1 COMO PULSADOR MARCHA1 Y LO ASIGNAMOS AL BIT 1
DEF IO PMAR2 = BIT, 2 'DEFINIMOS PMAR2 COMO PULSADOR MARCHA2 Y LO ASIGNAMOS AL BIT 2
DEF IO PILO = Bit, 1 'DEFINIMOS PILO COMO PILOTO Y LA ASIGNAMOS AL BIT 1
'********************* DEFINICIÓN DE ETIQUETA
*INICIO 'DEFINIMOS ETIQUETA
IF PMAR1 = 1 OR PMAR2 =1 THEN 'SI PMAR1 = 1 "O" PMAR2 = 1, ENTONCES
PILO = 1 'LÁMPARA = 1
ELSE 'DE OTRO MODO
PILO=0 'PILOTO = 0
ENDIF 'FIN DE If
GOTO *INICIO 'IR A ETIQUETA *INICIO
PROGRAMA 2:
Otra forma de resolución de este programa es con “OR”.
'********************** DEFINICIÓN DE VARIABLES *****************************
DEF IO PMAR1 = Bit, 1 'DEFINIMOS PMAR1 COMO PULSADOR MARCHA1 Y LO ASIGNAMOS AL BIT 1
DEF IO PMAR2 = BIT, 2 'DEFINIMOS PMAR2 COMO PULSADOR MARCHA2 Y LO ASIGNAMOS AL BIT 2
DEF IO PILO = Bit, 1 'DEFINIMOS PILO COMO PILOTO Y LA ASIGNAMOS AL BIT 1
'********************* DEFINICIÓN DE ETIQUETA
*INICIO 'DEFINIMOS ETIQUETA
PILO=PMAR1 OR PMAR2 'SE ACTIVARÁ EL PILOTO SI LO ESTÁN P. MARCHA1 Y P. MARCHA2
GOTO *INICIO 'IR A ETIQUETA *INICIO
PROGRAMA 1:
'************************ DEFINICIÓN DE VARIABLES ********************************************
Def Io PMAR1 = Bit, 1 'DEFINIMOS PMAR1 COMO PULSADOR MARCHA1 Y LO ASIGNAMOS AL BIT 1
Def IO PMAR2 = BIT, 2 'DEFINIMOS PMAR2 COMO PULSADOR MARCHA2 Y LO ASIGNAMOS AL BIT 2
Def IO PMAR3 = BIT, 3 'DEFINIMOS PMAR3 COMO PULSADOR MARCHA3 Y LO ASIGNAMOS AL BIT 3
Def IO PILO = Bit, 1 'DEFINIMOS PILO COMO PILOTO Y LA ASIGNAMOS AL BIT 1
'************************ DEFINICIÓN DE ETIQUETA **********************************************
*INICIO 'DEFINIMOS ETIQUETA
IF PMAR1 = 1 AND PMAR2 =1 OR PMAR3=1 THEN 'SI PMAR1=1 "Y" PMAR2=1 "O" PMAR3, ENTONCES
PILO=1 'PILOTO=1
ELSE 'DE OTRO MODO
PILO=0 'PILOTO=0
ENDIF 'FIN ENDIF
GOTO *INICIO 'IR A ETIQUETA *INICIO
PROGRAMA 2:
Otra forma de resolución de este programa es:
'************************ DEFINICIÓN DE VARIABLES ********************************************
Def Io PMAR1 = Bit, 1 'DEFINIMOS PMAR1 COMO PULSADOR MARCHA1 Y LO ASIGNAMOS AL BIT 1
Def IO PMAR2 = BIT, 2 'DEFINIMOS PMAR2 COMO PULSADOR MARCHA2 Y LO ASIGNAMOS AL BIT 2
Def IO PMAR3 = BIT, 3 'DEFINIMOS PMAR3 COMO PULSADOR MARCHA3 Y LO ASIGNAMOS AL BIT 3
Def IO PILO = Bit, 1 'DEFINIMOS PILO COMO PILOTO Y LA ASIGNAMOS AL BIT 1
'************************ DEFINICIÓN DE ETIQUETA *******************************************
*INICIO 'DEFINIMOS ETIQUETA
PILO=PMAR1 AND PMAR2 OR PMAR3 'SE ACTIVARÁ EL PILOTO SI LO ESTÁN P.MARCHA1 Y P MARCHA2 O, P.MARCHA 3.
GOTO *INICIO 'IR A ETIQUETA *INICIO
PROGRAMA:
'*********************DEFINICIÓN DE VARIABLES **********************************************
DEF IO PMAR = Bit, 1 'DEFINIMOS PMAR COMO PULSADOR DE MARCHA Y LO ASIGNAMOS AL BIT 1
DEF IO PPAR = BIT, 2 'DEFINIMOS PPAR COMO PULSADOR DE PARADA Y LO ASIGNAMOS AL BIT 2
DEF IO PILO = Bit, 1 'DEFINIMOS PILO COMO PILOTO Y LA ASIGNAMOS AL BIT 1
'*********************DEFINICIÓN DE ETIQUETA *INICIO ****************************************
*INICIO 'DEFINIMOS ETIQUETA
IF PMAR = 1 THEN 'SI PMAR = 1, ENTONCES
PILO = 1 'PILO = 1
ENDIF 'FIN DE IF
IF PPAR = 0 THEN 'SI PPAR=0, ENTONCES
PILO = 0 'PILO = 0
ENDIF 'FIN DE IF
GOT *INICIO 'IR ETIQUETA *INICIO
8.3.- TEMPORIZADORES.
8.3.1.- TEMPORIZADOR CON RETARDO A LA CONEXIÓN.
ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓN FUNCIÓN
S1 INTERRUPTOR BIT 1 ENTRADA
L1 LÁMPARA BIT 1 SALIDA
CRONOGRAMA:
PROGRAMA:
'*************************TEMPORIZADOR CON RETARDO A LA CONEXIÓN*****************
'************** DEFINICIÓN DE VARIABLES *****************************************
DEF IO S1 = Bit, 1 'DEFINIMOS S1 COMO INTERRUPTOR Y LO ASIGNAMOS AL BIT 1
DEF IO L1 = Bit, 1 'DEFINIMOS L1 COMO LÁMPARA Y LA ASIGNAMOS AL BIT 1
'************** DEFINICIÓN DE ETIQUETA *INICIO ************************************
*INICIO 'DEFINIMOS ETIQUETA
IF S1 = 1 THEN 'SI ESTÁ ACTIVADO EL INTERRUPTOR S1, ENTONCES
DLY 5 'RETARDAS 5"
L1=1 'ACTIVAR LÁMPARA L1
ELSE 'DE OTRO MODO
L1=0 'APAGAR LÁMPARA L1
ENDIF 'FIN DE IF
GOTO *INICIO 'IR ETIQUETA *INICIO
CRONOGRAMA:
PROGRAMA:
'**********************TEMPORIZADOR CON RETARDO A LA DESCONEXIÓN*********************
'*********************DEFINICIÓN DE VARIABLES
DEF IO S1 = Bit, 1 'DEFINIMOS S1 COMO PULSADOR DE MARCHA Y LO ASIGNAMOS AL BIT 1
DEF IO L1 = Bit, 1 'DEFINIMOS L1 COMO LÁMPARA Y LA ASIGNAMOS AL BIT 1
'*********************DEFINICIÓN DE ETIQUETA *INICIO
*INICIO 'DEFINIMOS ETIQUETA
L1=S1 'SI ESTÁ ACTIVADO EL INTERRUPTOR, ACTIVAR LÁMPARA
WAIT S1=0 'ESPERAR A QUE ESTÉ ACTIVADO EL INTERRUPTOR
DLY 10 'RETARDAS 10"
L1=0 'APAGAR LÁMPARA L1
GOTO *INICIO 'IR ETIQUETA *INICIO
WHILE (M1 >= 1) AND (M1 <= 10)............... Repite las instrucciones entre WHILE y WEND
hasta que la variable M1 sale del rango [1..10].
WEND
9.9.- EJERCICIOS CON SALTOS CONDICIONALES Y BUCLES.
9.9.1.-REALIZAR UNA ACCIÓN UN NÚMERO CONTROLADO DE VECES. UTILIZAR
EL BUCLE FOR NEXT.
Al activar el pulsador de marcha se encenderá el indicador luminoso durante 3”, el ciclo se podrá
repetir solamente 4 veces, pasadas estas 4 veces no se volverá a encender aunque se pulse
marcha, llegados a este punto, si se pulsa paro se reiniciará el contador y se volverá a disponer de
cuatro pulsaciones para activar el indicador luminoso.
ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓN FUNCIÓN
PMARCHA PULSADOR MARCHA BIT 1 ENTRADA
PPARO PULSADOR PARO BIT 2 ENTRADA
PILOTO PILOTO BIT 1 SALIDA
PROGRAMA:
'****************** BUCLE F0R-NEXT *****************************
'DECLARACIÓN DE VARIABLES EXTERNAS ENTRADAS Y SALIDAS:
DEF IO PMARCHA = BIT, 1 'SE DEFINE EL PULSADOR DE MARCHA COMO PMARCHA Y SE LE ASIGNA EL BIT 1
DEF IO PPARO = BIT, 2 'SE DEFINE EL PULSADOR DE PARADA COMO PPARADA Y SE LE ASIGNA EL
BIT 2
DEF IO PILOTO = BIT, 1 'SE DEFINE EL INDICADOR LUMINOSO COMO PILOTO Y SE ASIGNA EL BIT 1
'DECLARACIÓN DE VARIABLES INTERNAS:
DEF INTE CONTADOR 'SE DEFINE CONTADOR COMO VARIABLE ENTERA
'*********************PROGRAMA******************************
*INICIO 'DECLARAR ETIQUETA *INICIO
CONTADOR = 1 'PONER CONTADOR=1
FOR CONTADOR = 1 TO 4 STEP 1 'BUCLE FOR-NEXT DE 1 A 4, PASO 1
*ESPERAR 'DECLARAR ETIQUETA *ESPERAR
IF PMARCHA=1 THEN 'SI PULSADOR MARCHA=1, ENTONCES
PILOTO=1 'ENCENDER PILOTO
DLY 3 'ESPERAR 3"
PILOTO=0 'APAGAR PILOTO
ELSE 'DE OTRO MODO
GOTO *ESPERAR 'SALTAR A LA ETIQUETA *ESPERAR
ENDIF 'FIN ENDIF
NEXT CONTADOR 'FINAL DEL BUCLE FOR CONTADOR
*ESPPARO 'DECLARAR ETIQUETA *ESPPARO (ESPERAR PARO)
IF PPARO=0 THEN 'SI PULSADOR MARCHA=1, ENTONCES
GOTO *INICIO 'SALTAR A LA ETIQUETA *INICIO
ELSE 'DE OTRO MODO
GOTO *ESPPARO 'SALTAR A LA ETIQUETA *ESPPARO
ENDIF 'FIN ENDIF
PROGRAMA:
'****************** BUCLE F0R-NEXT *****************************
'DECLARACIÓN DE VARIABLES EXTERNAS ENTRADAS Y SALIDAS:
DEF IO PMARCHA = BIT, 1 'SE DEFINE EL PULSADOR DE MARCHA COMO PMARCHA Y SE LE ASIGNA EL BIT 1
DEF IO PILOTO = BIT, 1 'SE DEFINE EL INDICADOR LUMINOSO COMO PILOTO Y SE ASIGNA EL BIT 1
'DECLARACIÓN DE VARIABLES INTERNAS:
DEF INTE CONTADOR 'SE DEFINE CONTADOR COMO VARIABLE ENTERA
'*********************PROGRAMA******************************
*INICIO 'DECLARAR ETIQUETA *INICIO
CONTADOR = 1 'PONER LA VARIABLE CONTADOR=1
IF PMARCHA=1 THEN 'SI ACTIVAMOS EL PULSADOR DE MARCHA, ENTONCES
FOR CONTADOR = 1 TO 5 STEP 1 'BUCLE FOR-NEXT DE 1 A 5, PASO 1
PILOTO=1 'ENCENDER PILOTO
DLY 2 'ESPERAR 2"
PILOTO=0 'ACTIVAR PILOTO
DLY 1 'ESPERAR 1"
NEXT 'FINAL DEL BUCLE FOR *CONTADOR
ENDIF 'FIN ENDIF
GOTO *INICIO 'SALTAR A LA ETIQUETA *INICIO
PROGRAMA:
'****************** BUCLE WHILE-WEND *****************************
'DECLARACIÓN DE VARIABLES EXTERNAS ENTRADAS Y SALIDAS:
DEF IO PMARCHA = BIT, 1 'SE DEFINE EL PULSADOR DE MARCHA COMO PMARCHA Y SE LE ASIGNA EL BIT 1
DEF IO PPARO = BIT, 2 'SE DEFINE EL PULSADOR DE PARO COMO PPARO Y SE LE ASIGNA EL BIT 2
DEF IO PILOTO = BIT, 1 'SE DEFINE EL INDICADOR LUMINOSO COMO PILORO Y SE ASIGNA EL BIT 1
'DECLARACIÓN DE VARIABLES INTERNAS:
DEF INTE CONTADOR 'SE DEFINE CONTADOR COMO VARIABLE ENTERA
'*********************PROGRAMA******************************
*INICIO 'DECLARAR ETIQUETA *INICIO
CONTADOR=1 'CARGAR VALOR 1 EN CONTADOR
WHILE CONTADOR =<5 'MIENTRAS CONTADOR ES MENOR QUE 5
IF PMARCHA=1 THEN 'SI ACTIVAMOS EL PULSADOR DE MARCHA, ENTONCES
PILOTO=1 'ACTIVAR PILOTO
DLY 4 'ESPERAR 4"
PILOTO=0 'DESACTIVAR PILOTO
CONTADOR=CONTADOR+1 'SUMAR UNO AL CONTADOR
ENDIF 'FIN ENDIF
WEND 'FIN DE WHILE-WEND
WHILE PPARO <> 0 'SI PPARO ES DISTINTO DE 0
WEND 'FIN DE WHILE-WEND
GOTO *INICIO 'SALTAR A ETIQUETA *INICIO
PROGRAMA:
'****************** WHILE-WEND *****************************
'DECLARACIÓN DE VARIABLES EXTERNAS ENTRADAS Y SALIDAS:
DEF IO PMARCHA = BIT, 1 'SE DEFINE EL PULSADOR DE MARCHA COMO PMARCHA Y SE LE ASIGNA EL BIT 1
DEF IO PILOTO = BIT, 1 'SE DEFINE EL INDICADOR LUMINOSO COMO PILOTO Y SE ASIGNA EL BIT 1
'DECLARACIÓN DE VARIABLES INTERNAS:
DEF INTE CONTADOR 'SE DEFINE CONTADOR COMO VARIABLE ENTERA
'*********************PROGRAMA******************************
*INICIO 'DECLARAR ETIQUETA *INICIO
CONTADOR=1 'CARGAR VALOR 1 EN CONTADOR
WHILE PMARCHA <>1 'MIENTRAS PMARCHA SEA DISTINTO DE 1
WEND 'FIN DE WHILE-WEND
WHILE CONTADOR <5 'MIENTRAS EL CONTADOR SEA MENOR QUE 5
PILOTO=1 'ACTIVAR PILOTO
DLY 1 'ESPERAR 1"
PILOTO=0 'DESACTIVAR PILOTO
DLY 1 'ESPERAR 1"
CONTADOR=CONTADOR+1 'SUMAR UNO AL CONTADOR
WEND 'FIN DE WHILE-WEND
GOTO *INICIO 'SALTAR A ETIQUETA *INICIO
ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓ FUNCIÓN
N
PMARCHA PULSADOR DE MARCHA BIT 1 ENTRADA
DETPIEZA DETECTOR PIEZA BIT 2 ENTRADA
DETCOLO DETECTOR COLOR. (NEGRA=0, R-M=1) BIT 3 ENTRADA
R
PILOTO PILOTO BIT 1 SALIDA
POSICIONES:
PROGRAMA:
'********************** DISCRIMINACIÓN Y CLASIFICACIÓN DE PIEZAS *********************
'*********************DEFINICIÓN DE VARIABLES ***************************************
DEF IO PMARCHA=BIT, 1 'DEFINIMOS PMARCHA COMO PULSADOR DE MARCHA Y LO ASIGNAMOS AL BIT 1
DEF IO DETPIEZA=BIT, 2 'DEFINIMOS DETPIEZA COMO DETECTOR PIEZA Y LA ASIGNAMOS AL BIT 2
DEF IO DETCOLOR=BIT, 3 'DEFINIMOS DETCOLOR COMO DETECTOR MANO LO ASIGNAMOS AL BIT 3
DEF IO PILOTO=BIT,1 'DEFINIMOS PILOTO COMO PILOTO SEÑALIZACIÓN MARCHA ASIGNADO AL BIT 2
DEF INTE NEGRA 'DEFINIMOS NEGRA, COMO VARIABLE ENTERA
ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓ FUNCIÓN
N
PMARCHA PULSADOR DE MARCHA BIT 1 ENTRADA
PILOTO PILOTO BIT 1 SALIDA
POSICIONES:
PROGRAMA:
'********************** GIRAR EN EJE VERTICAL SOBRE PLANO DE LA MESA *********************
'*********************DEFINICIÓN DE VARIABLES ***************************************
DEF IO PMARCHA=BIT, 1 'DEFINIMOS PMARCHA COMO PULSADOR DE MARCHA Y LO ASIGNAMOS AL BIT 1
DEF IO PILOTO=BIT,1 'DEFINIMOS PILOTO COMO PILOTO SEÑALIZACIÓN MARCHA ASIGNADO AL BIT 2
DEF INTE GIRO 'VARIABLE ENTERA
ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓ FUNCIÓN
N
PMARCHA PULSADOR DE MARCHA BIT 1 ENTRADA
DETECTOR DETECTOR CON POSICIÓN VARIABLE BIT 2 ENTRADA
PILOTO PILOTO BIT 1 SALIDA
POSICIONES:
PROGRAMA:
'********************** EVALUACIÓN DE FLANCO *********************
'*********************DEFINICIÓN DE VARIABLES ***************************************
DEF IO PMARCHA=BIT,1 'DEFINIMOS PMARCHA COMO PULSADOR DE MARCHA Y LO ASIGNAMOS AL BIT 1
DEF IO DETECTOR=BIT,2 'DEFINIMOS DETECTOR COMO DETECTOR POSICIÓN PIEZA, ASIGNADO AL BIT 2
DEF IO PILOTO=BIT,1 'DEFINIMOS PILOTO COMO PILOTO SEÑALIZACIÓN MARCHA ASIGNADO AL BIT 1
DEF INTE AVANCEY 'DECLARAR VARIABLE PARA CONTROLAR AVANCE EJE Y EN mm
DEF INTE DETNUEVO 'DECLARAR VARIABLE PARA VALOR DETECTOR NUEVO
DEF INTE DETVIEJO 'DECLARAR VARIABLE PARA VALOR DETECTOR VIEJO
10.- INTERRUPCIONES.
Son instrucciones que al recibir o al cumplirse una condición en cualquier momento de la
ejecución del programa (no en un punto determinado) realiza una tarea especificada y
una vez finalizada vuelve al punto del programa principal donde lo había dejado. Según
el tipo de robot tiene hasta 8 niveles de interrupción 1…8.
RETURN.- Si una subrutina es llamada por el proceso de interrupción, retorna a donde se hizo
la interrupción.
ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓN FUNCIÓN
PMARCHA PULSADOR DE MARCHA BIT 1 ENTRADA
PPAUSA PULSADOR DE PAUSA BIT 2 ENTRADA
DETENTRADA DETECTOR ENTRADA BIT 3 ENTRADA
DETHORNO DETECTOR HORNO BIT 4 ENTRADA
PILOTO PILOTO BIT 1 SALIDA
POSICIONES:
PROGRAMA:
'********************** EJEMPLO DE INTERRUPCIÓN *********************
'*********************DEFINICIÓN DE VARIABLES ***************************************
DEF IO PMARCHA=BIT,1 'DEFINIMOS PMARCHA COMO PULSADOR DE MARCHA Y LO ASIGNAMOS AL BIT 1
DEF IO PPAUSA=BIT,2 'DEFINIR PPAUSA COMO PULSADOR DE PAUSA Y ASIGNARLO AL BIT 2
DEF IO DETENTRADA=BIT,3 'DEFINIMOS DETENTRADA COMO DETECTOR ENTRADA PIEZA, ASIGNADO AL BIT 3
DEF IO DETHORNO=BIT,4 'DEFINIMOS DETHORNO COMO DETECTOR PIEZA HORNO, ASIGNAMOS A BIT 4
DEF IO PILOTO=BIT,1 'DEFINIMOS PILOTO COMO PILOTO SEÑALIZACIÓN MARCHA ASIGNADO AL BIT 1
DEF ACT 1, DETHORNO=1 GOSUB *HORNO 'DECLARAR INTERRUPCIÓN PRIORIDAD 1. ASOCIADA AL DETECTOR HORNO
DEF ACT 2, PPAUSA=0 GOSUB *PARAR 'DECLARAR INTERRUPCIÓN PRIORIDAD 2. ASOCIADA AL PULSADOR DE PAUSA
11.- PALETIZACIÓN.
La manipulación automatizada de objetos y piezas, ha extendido la utilización de palés, que
son contenedores compartimentados o elementos de fijación, que permiten ordenar un
determinado número de piezas iguales, para su transporte y manipulación del conjunto.
Esta manera hace que no se pierda el orden, facilitando las tareas de manipulación.
DEF PLT.- Define el palé para ser usado.
Ejemplos de llamadas de instrucción:
DEF PLT 1, P1, P2, P3, P4, 4, 5, 1 Define el palet nº1, con posición de inicio en P1,
posición final de primera fila en P2, posición inicial
de última fila en P3, y punto diagonal en P4. El palet
será 4x5, y su distribución del tipo 1 (zig-zag).
DEF PLT 1, P1, P2, P3, , 6, 5, 2 Define el palet nº1, con posición de inicio en P1,
posición final de primera fila en P2 y posición inicial
de última fila en P3. El palet será 6x5, y su
distribución del tipo 2 (misma dirección).
DEFPLT1, P1, P2, P3, , , 1, 3 Define el palet nº1, posición de inicio en P1, punto de
transito P2 y posición final en P3. El palet es en arco
(tipo 3) y tiene 7 posiciones.
Tipo 3
Programa ejemplo:
ASIGNACIONES:
NOMBRE DESCRIPCIÓN ASIGNACIÓN FUNCIÓN
PMARCHA PULSADOR DE MARCHA BIT 1 ENTRADA
DETENTRADA DETECTOR ENTRADA BIT 2 ENTRADA
PILOTO PILOTO BIT 1 SALIDA
POSICIONES:
PROGRAMA:
'********************** PALETIZADOR EN ZIG-ZAG *********************
'*********************DEFINICIÓN DE VARIABLES
DEF IO PMARCHA=BIT,1 'DEFINIMOS PMARCHA COMO PULSADOR DE MARCHA Y LO ASIGNAMOS AL BIT 1
DEF IO DETENTRADA=BIT,2 'DEFINIMOS DETENTRADA COMO DETECTOR ENTRADA PIEZA, ASIGNADO AL BIT 2
DEF IO PILOTO=BIT,1 'DEFINIMOS PILOTO COMO PILOTO SEÑALIZACIÓN MARCHA ASIGNADO AL BIT 1
Realización:
Las posiciones clave para realizar el movimiento descrito serán:
-P1 : posición inicio o de reposo
-P2 : posición de recogida de piezas
-P3 : posición de mostrar
-P4 : posición de inicio del circulo
-P5 : posición de tránsito 1
-P6 : posición de tránsito 2
-P7 : posición del almacén 1
-P8 : posición para mover arriba y abajo
-P9 : posición del almacén 2
-P10 : posición del almacén de desperdicios
12.2.- ABECEDARIO.
Realizar programa para escribir el abecedario, metiendo cada letra en una subrutina.
Seguiremos la siguiente matriz.