MCW151-E_Ejemplos_Aplicaciones

Anuncio
OMRON
R88A-MCW151
1
Motion Perfect, E/S Digitales
Tareas
1. Escribe un programa que ponga intermitente a 5Hz la salida 10.
2. Escribe un programa que active la salida OP 10 si una entrada IN(0) está activa, y la
desactive si la entrada IN(0) no está activada.
3. Escribe un programa que ponga intermitente la salida 10 a 5Hz WHILE la entrada 0
esté a on.
4. Escribe un programa que ponga intermitente la salida 10 a 5Hz UNTIL la entrada 0 esté
a on.
5. Escribe un programa que secuencialmente ponga a ON por orden todas las salidas de
la MC y encienda cada una 0.5 s.
6. Modifica el programa (5) para que la salida cambie de dirección dependiendo del estado
de la entrada IN(0).
7. Escribe una rutina para extraer un número de un código BCD de las entradas 0, 1, 2 y
3.
8. Escribe una rutina que dé un código de error como un número BCD en las salidas
8,9,10 y 11.
OMRON
R88A-MCW151
Respuestas
1)
loop:
OP (10,ON)
WA (100)
OP (10, OFF)
WA (100)
‘ 5Hz son 200msg; 100msg en ON y 100msg en OFF
GOTO loop
2)
loop:
IF IN(0) = 1 THEN
OP (10,ON)
ELSE
OP (10, OFF)
ENDIF
GOTO loop
3)
loop:
WHILE IN(0) = 1
OP (10,ON)
WA (100)
OP (10, OFF)
WA (100)
WEND
GOTO loop
4)
loop:
REPEAT
OP (10,ON)
WA (100)
OP (10, OFF)
WA (100)
UNTIL IN(0) = 1
WA (5000)
GOTO loop
5)
loop:
FOR a = 8 TO 13 STEP 1
OP(a,ON)
WA(500)
OP(a,OFF)
NEXT a
GOTO loop
6)
loop:
OMRON
Curso de Motion Control MC402
IF IN(0)= 1 THEN
GOSUB up
ELSE
GOSUB down
ENDIF
GOTO loop
up:
FOR a = 8 TO 13 STEP 1
OP(a,ON)
WA(500)
OP(a,OFF)
NEXT a
RETURN
down:
FOR a = 13 TO 8 STEP -1
OP(a,ON)
WA(500)
OP(a,OFF)
NEXT a
RETURN
7)
start:
GOSUB get_tws
PRINT value
WA (2000)’
2 segundos de pausa antes de “polling” de nuevo
GOTO start
get_tws:
value = IN (0,5)
RETURN
8)
ecodigo=9
GOSUB mostrar _error
STOP
mostrar_error:
‘el código de error está almacenado en ecodigo
ecodigo = (ecodigo AND 15)
OP (ecodigo*256) ‘
RETURN
3
OMRON
R88A-MCW151
2
Movimiento Lineal Básico
Tareas
1. Desde la ventana de parámetros de Motion Perfect, configura una velocidad,
aceleración y deceleración para el eje(0). Desde el terminal, programa un movimiento
continuo de un eje en sentido forward. Para el movimiento e intentalo en la otra
dirección.
2. Comienza el movimiento de un eje y cambia la velocidad / accel / decel mientras el eje
está en movimiento. Intentalo desde el Terminal (Línea de Comandos), y desde la
Ventana de Parámetros.
3. Desde el Terminal (Línea de Comandos) escribe una rutina DATUM (4).
NOTA: Primero se necesitará asignar una entrada de DATUM (Origen).
4. Escribe una subrutina que haga lo mismo, sin usar el comando DATUM.
5. Escribe un pequeño programa que mueva el eje 0 en sentido forward 2 revoluciones y
espere 1 segundo de pausa entre movimientos.
6. Escribe un programa que se mueva en sentido forward 90° cada vez que se detecte un
flanco de subida en la entrada 0.
7. Una tabla rotativa debe parar en una de las 8 posiciones igualmente espaciadas,
dependiendo del valor de las entradas 0-2. La tabla no debe moverse hasta que un
botón de comienzo sea pulsado (entrada 5).
8. Un tornillo sin fín se mueve en sentido forward a una velocidad “lenta” hasta que
alcanza un producto, en cuyo momento un microswitch (IN(2)) es activado. El tornillo sin
fín debe parar inmediatamente (indicando la posición a la cual se encuentra el
producto) y debe ser devuelto a gran velocidad a la posición de comienzo.
OMRON
R88A-MCW151
Respuestas
1.
Ejemplos desde el Terminal ( Línea de Comandos )
SPEED = 100
ACCEL = 1000
DECEL = 1000
FORWARD
(wait)
CANCEL
REVERSE
(wait)
CANCEL
2.
FORWARD
SPEED = 200
(wait)
ACC (100)
SPEED = 300
(wait)
SPEED = 100
(wait)
CANCEL
3.
BASE(0)
DATUM_IN = 8
DATUM(4)
(wait)
4.
BASE(0)
IF IN(0) = 1 THEN
SPEED = 10000
FORWARD
ENDIF
WAIT UNTIL IN(0)=0
CANCEL
SPEED = 100
REVERSE
WAIT UNTIL IN(0) = 1
CANCEL
DEFPOS(0)
5.
start:
UNITS = 1
SPEED = 1000
ACCEL = 10000
DECEL = 10000
loop:
MOVE (8192 *2)
WAIT IDLE
WA (1000)
OMRON
Curso de Motion Control MC402
GOTO loop
6.
loop:
WAIT UNTIL IN (0) = OFF
WAIT UNTIL IN (0) = ON
MOVE (8192/4)
WAIT IDLE
GOTO loop
7.
‘ asegura que la transición ha sido vista
start:
WAIT UNTIL IN (5) = ON
WAIT UNTIL IN (5) = OFF
GOSUB get_tws ‘ subrutina
MOVEABS (500 * tw_value)
WAIT IDLE
GOTO start
‘Cn-0A = 1000
get_tws:
tw_value = IN (0,2)
RETURN
8.
start:
DEFPOS(0)
IF (IN(0) = ON) THEN WAIT UNTIL IN(0) = OFF
WAIT UNTIL IN(0) = ON
‘ Start
SPEED = 10000
FORWARD
WAIT UNTIL IN(1) = ON
prod_pos = MPOS
CANCEL
WAIT IDLE
PRINT “posición del producto: “; prod_pos
SPEED = 1000
MOVEABS (0)
WAIT IDLE
GOTO start
3
Reductoras Electrónicas & Cams
6
OMRON
Curso de Motion Control MC402
Contenido





CONNECT
MOVELINK
CAMBOX
CAM
TABLE (2)
Tareas
1. CONNECT eje (0) con el eje (1) con un factor menor que 1 (gear down).
Comienza un movimiento continuo en sentido forward en el eje 1 y observa como el eje
(0) sigue al eje (1).
2. Ejemplo de Aplicación:
Una cizalla volante debe sincronizar con un movimiento continuo y debe cortar un rollo
de papel cada 5m:
La cizalla (eje 1) puede moverse un total de 600mm, pero en el ejemplo se usará un
máximo de 500mm.
La cuchilla es dirigida por un solenoide que es controlado por la salida digital 8.
Esta debe ser activada a medio camino del movimiento de la cizalla.
La cizalla debe sincronizarse para cortar, y volver a su posición de inicio todo dentro de
no mas del 80% del ciclo repetitivo.
Escribe un programa para realizar el movimiento descrito arriba.
3. Crear un perfil de seno en la tabla
La tabla debe tener 37 puntos (cada 10 grados incluyendo 0 y 360)
Se necesita especificar los ángulos en RADIANES, de esta forma la rutina necesitará
convertir grados a radianes. Hay 2 PI radianes en 360 grados, de esta forma la función de
conversión será:
radianes = (2 PI / 360) x grados
2 PI / 360 nunca cambia, esto debería ser definido como un valor CONSTANTE.
El Osciloscopio de Motion Perfect puede ser usado para ver la tabla, testea esta tabla
creando un pequeño programa que use el comando CAMBOX.
7
OMRON
Curso de Motion Control MC402
4. A veces es deseable generar un perfil de movimietno suave para la operación en
máquinas de alta velocidad con el objetivo que la parte mecánica sufra lo menos
posible. Un óptimo perfil para ello es un perfil de velocidad de sen ó sen2 .
Crea un programa que genere este perfil para cualquier número de puntos en cualquier
escala. Chequea el movimiento con CAMBOX.
8
OMRON
R88A-MCW151
Respuestas
1)
CONNECT – EJEMPLO DESDE LA LÍNEA DE COMANDOS
BASE (0)
CONNECT (0.3, 1)
2)
MOVELINK
Para asegurar que la velocidad y posición de la cizalla y el papel coinciden durante
el proceso de corte, los parámetros del comando MOVELINK deben ser correctos:
Normalmente es más fácil considerar la aceleración, velocidad constante y deceleración
como tres fases diferentes y combinarlas como se quiera.
loop:
BASE (0)
MOVELINK (0, 4, 0, 0, 1) 'espera distancia
MOVELINK (0.1, 0.2, 0.2, 0, 1) 'acelera
MOVELINK (0.3, 0.3, 0, 0, 1) 'coincidencia de velocidad
MOVELINK (0.1, 0.2, 0, 0.2, 1) 'decelera
MOVELINK (-0.5, 5, 2.5, 2.5, 1) 'movimiento de vuelta
GOTO loop
El comando MOVELINK permite combinar las tres fases ( aceleración, coincidencia
de velocidad y deceleración) sumando los parámetros 1..4 de cada fase, por lo tanto
el ejemplo de arriba podría resumirse como:
MOVELINK (0.5, 0.7, 0.2, 0.2, 1)
3)
Ejemplo de perfil
Desplazamiento
Velocidad
OMRON
Curso de Motion Control MC402
start:
UNITS = 50
SPEED = 100
GOSUB llenartabla
BASE (0)
loop:
CAMBOX (0, 36, 1, 100, 1)
GOTO loop
llenartabla:
grad = 2*PI/360
FOR a = 0 TO 360
TABLE (a, SIN (a*10*grad)*2000)
NEXT a
RETURN
4)
En este ejemplo se trabaja directamente en radianes
start:
GOSUB llenartabla
BASE (0)
SPEED=200
FORWARD
BASE (0)
loop:
CAMBOX (0, 36, 1, 100, 1)
WAIT IDLE
WA (1000)
GOTO loop
llenartabla:
num_p=37
scala = 2000
FOR p=0 TO num_p
TABLE (p, ((-SIN(PI*2*p/num_p) / (PI*2))+p/num_p)*scala)
NEXT p
RETURN
10
Descargar