1 / 20

R88A-MCW151: LENGUAJE BASIC

R88A-MCW151: LENGUAJE BASIC. Cable de programación. Cable para programar la MCW151 con PC:. R88A-CCM002P4-E. MPRS232 Cable1. 2 metros de longitud. Conector Sub-D 9 Hembra. Conector 8 pines Mini DIN. Nota.- Este cable sirve para la utilización del software Motion Perfect. Lenguaje BASIC.

kenna
Télécharger la présentation

R88A-MCW151: LENGUAJE BASIC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. R88A-MCW151:LENGUAJE BASIC

  2. Cable de programación Cable para programar la MCW151 con PC: R88A-CCM002P4-E MPRS232 Cable1 2 metros de longitud Conector Sub-D 9 Hembra Conector 8 pines Mini DIN Nota.- Este cable sirve para la utilización del software Motion Perfect.

  3. Lenguaje BASIC Se utiliza un lenguaje BASIC para programar la MCW151. Hasta 14 programas BASIC pueden ser almacenados en la tarjeta. Pueden estar 3 programas ejecutandose simultaneamente: MULTITAREA

  4. Comandos básicos de movimiento Watchdog 0=Abierto (base block), 1 = Cerrado (salida habilitada, run) Controlado desde Motion Perfect. WDOG DAC S_REF Salida directa al DAC (con SERVO=OFF) SERVO Permite el servo control (Servo Lock). Habilita / Deshabilita el lazo de posición.

  5. Comandos básicos de movimiento FORWARD/REVERSE Movimiento continuo en dirección forward o reverse. CANCEL Cancela el movimiento actual y para el eje RAPIDSTOP Cancela el movimiento actual de todos los ejes

  6. Comandos básicos de movimiento Para seleccionar diferentes ejes podemos usar los siguientes comandos: AXIS(n) Direcciona un comando a un eje especificadop.e. MOVE(10) AXIS(2) BASE(n) Especifica el eje para un grupo de comandos. Todos los comandos siguientes se aplicarán a dicho eje . p.e. BASE(2) MOVE(10) WAIT IDLE MOVE(-10)

  7. Comandos de E/S digitales Entradas: IN(Nº de entrada) Devuelve el estado de una entrada especificada. IN(primera, última) Devuelve el estado de un rango de entradas. Salidas: OP(Nº de salida, 1) Activa una determinada salida. OP(Nº de salida, 0) Desactiva una determinada salida.

  8. WAIT UNTIL / WA WAIT UNTIL IN(8) = 1 Para el programa hasta que se cumple la condición: TRUE / FALSE ON / OFF 1 / 0 WA(1000) Temporizador en milisegundos. En este ejemplo 1000 milisegundos. El programa espera 1 Segundo. Lo que haya después del apóstrofe no se considera como programa. ‘Esto es un comentario

  9. Etiquetas / GOTO mainblock: ‘bla ‘bla ‘bla GOTO mainblock label: ‘bla ‘bla ‘bla GOTO label 1) El programa “BASIC” usa etiquetas en vez de números de linea. 2) La etiqueta puede ser cualquier nombre de variable p.e. loop: 3) Una etiqueta es denotada por “:” después del nombre. 4) GOTO es una instrucción de salto incondicional. 5) Sin lazos/etiquetas, el programa terminaría después de una “pasada”.

  10. GOSUB… RETURN loop: GOSUB subrutina GOSUB otrasub GOTO loop subrutina: ‘bla bla bla RETURN otrasub: ‘hace algo... RETURN 1) GOSUB llama a una subrutina. 2) La subrutina es inmediatamente ejecutada. 3) RETURN al final de la subrutina retorna el programa a la línea siguiente de la llamada a la subrutina. 4) GOSUB es una instrucción incondicional.

  11. ON…GOSUB ON variable GOSUB uno,dos,diferente uno: RETURN dos: RETURN diferente: RETURN 1) El comando ON chequea una condición. 2) Si la variable tiene el valor “1”, entonces la primera etiqueta (uno) es usada. 3) Si la variable tiene el valor “2”, entonces la segunda etiqueta (dos) es usada. 4) Si la variable tiene el valor “3”, entonces la tercera etiqueta (diferente) es usada. 5) Si el valor de la variable is fuera del número de etiquetas, aparece un error. 6) Es posible usar etiquetas de texto.

  12. IF…THEN, ELSE, ENDIF loop: IF IN(8) = 1 THEN OP(8,1) GOTO loop 1) IF...THEN chequea una condición. 2) Si la condición se cumple, se ejecuta una acción. Si no se cumple no ocurre nada. 3) Ideal para acciones simples. loop: IF IN(8) = 1 THEN OP(8,1) ‘haz algo... ELSE OP(8,0) ‘no lo hagas... ENDIF GOTO loop 1) IF...THEN chequea una condición. 2) Si la condición se cumple, se ejecuta una acción. Si no se cumple se puede ejecutar otra acción diferente. 3) Ideal para varias acciones dependientes de una condición.

  13. WHILE / WHEND WHILE IN(8) = 1 ‘haz algo... OP(8,ON) WA(1000) OP(8,OFF) WA(1000) WEND 1) WHILEchequea la condición al comienzo de un bloque WHILE-WEND. 2) Si la condición no se cumple, el contenido del bloque no se ejecuta. 3) Si se cumple la condición, el programa continúa “looping” el bloque WHILE-WEND hasta que la condición deja de cumplirse .

  14. REPEAT UNTIL REPEAT ‘haz algo... OP(8,ON) WA(1000) OP(8,OFF) WA(1000) UNTIL IN(8) = 1 1) UNTILchequea la condición al final del bloque REPEAT-UNTIL. 2) Incluso si la condición no se cumple, el bloque es ejecutado una vez. 3) El programa continua “looping” el bloque REPEAT-UNTIL hasta que la condición deja de cumplirse. 4) Inverso a WHILE-WEND.

  15. FOR - STEP - NEXT FOR a =8 TO 15 STEP 1 ‘hacer algo OP(a,ON) WA(1000) OP(a,OFF) NEXT a 1) El lazo FOR-NEXT es incondicional. 2) Ejecuta el bloque un número de veces especificado por los valores primero y final, y el comando STEP.

  16. Variables

  17. Variables BASIC Variables Globales Las variables VR( ) son comunes a todas las tareas (VR(0) - VR(250)). Esto es muy útil para sincronizar varias tareas, pero también se debe tener cuidado en no escribir sobre esta variable desde varios programas a la vez. El resultado puede ser impredecible. Variables Locales Varios programas corriendo en diferentes tareas pueden usar el mismo nombre de variables. Siempre que empieza un programa estas variables son reseteadas.

  18. Variables BASICVariables globales (VR´s) OPERACIÓN A NIVEL DE BITS DE LAS VARIABLES GLOBALES CLEAR_BIT Resetea un bit especificado en una VR determinada CLEAR_BIT(número_de_bit, número_VR) READ_BIT Devuelve el valor de un bit especificado en una VR determinada. READ_BIT(número_de_bit, número_VR) SET_BIT Configura un bit especificado de una VR determinada SET_BIT(número_de_bit, número_VR)

  19. TABLE TABLE La tabla es una estructura que contiene una serie de valores. 8000 puntos en la tabla Estos valores son usados para especificar un perfil de posición para los comandos CAM ó CAMBOX. Estos valores también se pueden usar para almacenar datos para un uso posterior. La TABLA es común a todas las tareas. Los valores escritos en la tabla por una tarea pueden ser leidos por el resto de tareas. Nota.- La table debe ser creada para “existir” (Memoria Dinámica)

  20. Ejercicios Motion Perfect V2.0, E/S Digitales

More Related