Está en la página 1de 25
ae MNTSyRISH MELFA Basic IV incduecisn Introduccion a la programacién Melfa Basic IV eerRic MELFA Basic IV inosuecsn |= Programacién estructurada mEn este lenguaje la programacién se estructura como un conjunto de instrucciones cuyo flujo de proceso se realiza en un lenguaje BASIC estandar. m El aspecto de un programa es un conjunto de instrucciones propias del sistema de Robot entre sentenclas ya conocidas de BASIC. Se obtiene asi una forma intuitiva de programacién, sencilla incluso para aquellos usuarios con pocos conocimientos de BASIC. ate BTESUBISHH MELFA Basic IV tnroduecisn mEjemplo de programa Sentencias propias de BASIC para el flujo y condiciones de programa 70 GOSUB 1000 pete CG Sentencias propias de MELFA para el movimiento 95 RETURN del Robot 4100 GOTO 20 aR MELFA Basic IV inrocuccisn mCaracteres con significado especial Apostrofe (") Las lineas de comentarios estén it también a fa drive unit. dicadas con apéstrofes, y serén transferidas Ejemplo: 100 ° posicién de i Asterisco (*) El asterisco define marcas de salto (etiquetas). No seran tranferidas a la drive unit Ejemplo: 110 *TABLA1 Ss ae MELFA Basic IV ineoduccisn mCarcteres con significado especial(2) Coma (,) La coma sirve de separador cuando se especifican muchos parametros consecutivos. Ejemplo: 100 P50 = (450,100,300, ...) Punto (.) Para datos multiples ,como los datos posicionales, el punto sirve como separador de cada componente singular. Ejemplo: 110 M10 = P10.X t aR MELFA Basic IV inrocuccisn mCardacteres con significado especial (3) Espacio ( )u Debe guardarse entre instrucciones y datos individuales, y tras los numeros de linea Ejemplo: 100 .MOV.P10 t ft Cada linea debe contener como maximo un comando Ss ae MELFA Basic IV ineoduccisn ™ Declaraci6n de variables Los nombres de variables del tipo de posicién, articulacién (joint), aritmética, y cadena de caracteres , empiezan con un caracter particular. Lanormaes: P= Je M = ce Positional (variable de posicién) Joint (articulaciones) Aritméticas Character string (cadena de caracteres) aR MELFA Basic IV inrocuccisn mConstantes numéricas Ejemplos: decimal 2 234, 7471, -435, +546, -5454 hexadecimal: &HO3FA, &H1AES, &HAS binario : &B0101, &B110110101, &B10101111 Mi iI . ee" MELFA Basic IV incduecisn =Constantes alfanuméricas Ejemplo: “MELFA BASIC es altamente eficiente" “Siguiente posicién" “Esperando entrada 5" aR MELFA Basic IV inrocuccisn mConstantes angulares Ejemplo: 90DEG 120DEG El seno de un angullo de 100° se representa como: SIN(100DEG) Ss ae MELFA Basic IV ineoduccisn m Declaracién de variables: ejemplos Position P Joint J ‘Arithmetic M | (Character string C| PI 100 m0 cos Prat ‘s100.W we COMBA ()) Prox sro M5 () Puoz FINES) POMC} Z(!) (08610 on tora Base aR MELFA Basic IV inrocuccisn mExpresiones con variables de tipo Posicional Ejemplos: P14. =P100 P20. =P_CURR P30 = P[M4*2+5] (!) P5.Z = 10*MS P[M10]= P1 + P20 P15.2 = P15.2+30 -Varlables de Posicién: Datos de coordenadas de espacio ortogonales, X, Y Z,( normalmente en mm) y orientacin A, B. (en DEG) . Todas las variables de este tipo empiezan con P. (0) S610 on tora Base Ss ae MELFA Basic IV ineoduccisn mExpresiones con variables del tipo Joint Ejemplos: J10 9 = J_CURR J10.W = J10.W+RAD(MS) -Variables de “articulacién”: Datos que hacen referencia a posici6n de los ejes. Todas las variables de este tipo empiezan con J. See MELFA Basic IV introduecisn mExpresiones con variables de Cadena de caracteres Ejemplos: C30$ = “N° de paso de secuencia.” C$[M100] = “Siguiente posicién”(!) C$[M10*2] = “Numero de posicién:”"(!) (0)Séio en mera pase m ae MNTSyRISH MELFA Basic IV incduecisn mFunciones de movimiento: MOV MOV : Movimiento interpolacién de ejes Deseripeién: Esta instruccién mueve a un punto determinado mediante interpolacion de ejes. La trayectoria de un punto a otro no es lineal, es decir, no describe una linea recta en el espacio, sino que la CPU procesa y mueve los ejes a su conveniencia , Por su camino mas sencillo. Por lo tanto la trayectoria no es 100% predecible por el usuario eerRic MELFA Basic IV inosuecsn mFunclones de movimiento: MOV a0 nov P2 40 MOY P3,-100 WOH H ouT(17)—1 0 mov Pa 60 mov P3,-100 mmucve respecte PJ, 100nm atrae(derp-zelative) Mi i . ee" MELFA Basic IV incduecisn mFunciones de movimiento: MOV Comentarios: -El movimiento en este tipo de instrucciones no es lineal, por lo tanto, no es 100% predecible. Utilizar esta instruccién con cautela, para evitar colisiones del brazo con alguna parte del entorno del robot. -Cuando se usa el despiazamiento relativo desde un punto, (por ejemplo Nov £3, -100) el sentido de avance viene determinado por el signo de éste, en su coordenada Z: eerRic MELFA Basic IV inosuecsn mFunciones de movimiento: MVS MVS : Movimiento en interpolacién lineal Descripcion: Esta instruccién mueve a un punto determinado mediante interpolacién lineal. La trayectoria de un punto a otro es lineal, es decir, describe una linea recta en el espacio. MI JBISHI wee MELFA Basic IV incduecisn mFunciones de movimiento: MVS a “Vonresen atin owsg SS 10 avs Pt, -50 20 avs PL 30 as,—50 Fen Linea recta (deap. elatira) 40 mvs 2,100 wr M_oUT(I7}=1 jmeve respecta #2,en Tinearecta, 10tmm atras, mientras activa isalida bit ne 17 so avs pe mueve haota P2, on Linea recta ou avs, -50 ‘mueve respecto PZ, en Linea reota 50mm rae (esp. relative) nm Hin de progeana eerRic MELFA Basic IV inosuecsn mFunciones de movimiento: MVS Comentarios: ~Cuando se usa el despiazamiento relativo desde un punto, (por ejemplo wvs 2%,-100) el sentido de avance viene determinado por el signo de éste, en su coordenada Z, tal como se hace con Mov. -Al usar el desplazamiento relativo, la posicién destino es ficticia (no consta en tabla de coordenadas, por lo tanto no es un punto registrado). Usarlo con cuidado para evitar colisiones del brazo con alguna parte del entorno del robot. Mi iI . ee" MELFA Basic IV incduecisn = Movimientos en interpolacién circular: MVR MVR_ : Designado un punto de comienzo, un punto de transito y un punto final, se realiza un movimiento a través de ellos (describe un arco en el espacio), mediante interpolacién circular de ejes f P3 Ejemplo: mt MVR P1,P2,P3 Pe eerRic MELFA Basic IV inosuecsn m= Movimientos en interpolacién circular: MVR2 MYR2_: Designado un punto de comienzo, un punto de final y un punto de referencia, se realiza un movimiento del punto inicial al punto final sin pasar por el punto de referencia. La trayectoria seguida es la que corresponderia a un arco que incluye el punto de referencia, pero slo se traza el segmento correspondiente al tramo de! punto inicia| al final. Ejemplo: é ‘en PL MVR2 Pl, P2,P3 Xe Pz, Ss ae MELFA Basic IV ineoduccisn = Movimientes en interpolacién circular: MVR3 MVR3_: Designado un punto de comienzo, un punto de centro y un punto de final, se describe un arco desde el punto de inicio hasta el de final, cuya trayectoria es trazada Tespecto al punto de centro. El angulo trazado debe ser entre 0 y 180°: Ejempio: FL @ es MVR3 P1,P2,F3 NG / re aR MELFA Basic IV inrocuccisn m= Movimientos en interpolacién circular: MVC MVC_: Designado un punto de comienzo igual al final, un punto de transito 1 y un punto de transit 2, describe un arco desde el punto de comienzo pasando por el punto de transito 1, luego por el 2 y finaliza en le punto final, que es el mismo de comienzo. Describe por lo tanto un circulo o una elipse completa Ejemplo: 2 MVC P1,P2,23 MI JBISHI 7 ae WITSURISE MELFA Basic IV incduecisn = Movimientos en interpolacién circular 10 wn Pt,p2,P3 wi Hour (18) 20 awn 73,405 ate METSUBISHH MELFA Basic IV meancon m= Movimientos sin interrupciones: CNT CNT : Movimiento sin interrupciones Descripcién: Esta instruccién permite que se realiza un movimiento entre puntos multiples - definidos por MOV,MVS,MVR, etc, sin interrupciones, es decir, sin aceleraciones ni deceleraciones. En el momento que se declara esta instrucci6n, todas las intrucciones de movimiento a partir de ella se hacen de esta forma. cera pDesigna 1a activacion de 1a funoton cur [efine que el punta Be combenza a 100mm y Jel de Einal a 20mm del punta destine ae MNTSyRISH MELFA Basic IV incduecisn @ Movimientos sin interrupciones ne re 20 ext 1 } ayartir de las atgntentes Lin ‘30 mn 2,03,04 a0 avs 5 50 crr 1,100,200 fe habilita orn } EL punto do comlenze mis cexcano a 100mm, jel de Einal mar cescane « 201 30 exp aR MELFA Basic IV introduecisn ™Definicién de velocidades y acc. decc. ACCEL : Designa aceleraci6n y deceleracién en % respecto a la maxima permitida OVRD : Designa la velocidad de trabajo del robot en %. JOVRD : Designa la velocidad de interpolacién de ejes en % respecto a la maxima permitida SPD : Designa la velocidad en mm/s de la interpolaci6n circular y lineal, velocidad de la parte mévil (punto de trabajo, mano, etc) MITSUBISHI ELECTRIC MELFA Basic IV ineoduccisn ™Definicién de velocidades y acc. decc. 10 ova 100 20 may Pi 30 mov P2,-50 90 mvs 73 100° SPD ¥RSED 140 sown 70 320 neceL “fj Tio cae —— ca pfija La velocidad de trabajo al 100% |p movinientox LineaLes a 120em/= Gneeler. y deceler. a We $f tJa 1a veloctdad Lineal jvelocidad de ntexpolacin pfija a aveleracién y decelexacten al 100% %. MITSUBISHI ELECTRIC m= Control de utensilios (I HOPEN HCLOSE 10 wow PL, -50 20 ovRD 50 30 Ms PL 40 HeLosE 1 50 DLY 0.5 60 ovan 100 70 wvs ,-50 80 wow P2,-50 90 oven 50 100 iio 120 130 yao 150 ws B2 HOPEN 1 DLY 0.5 ‘ova 100 mvs, -50 np’ MELFA Basic IV introduecisn za) bre la pinza designada jerra la pinza designada } oierra pinga n° 1 (atrapa picza) > ejecuta ui retardo de medio seguado } abre pinza no 1 ( suelta pieza),, } realiza un retardo te SE MELFA Basic IV inroduecisn mFuncién de Paletizado Deseripcion: Esta funcién desarrolla un movimiento programado en filas y columnas, para realizar operaciones del tipo de manipulacion en cajas compartimentadas, operaciones seriadas en una superficie, etc DEF PLT : Define el pallet a ser usado PLT : calcula la posici6n actual de una casilla del pallet usado Sintaxis: DEF PLT , [], , , Ejemplos: GoTo 200 ssalta a linea n° 200 GOTO *FINAL salta a linea marcada como * FINAL Ss ae MELFA Basic IV ineoduccisn mComandos de control de programa ON ...GOTO :Salto condicional a linea designada por una variable entera. El programa seguird el valor de orden de esta variable (0,1,2,3,4...) Sintaxis: ON GOTO... Ejemplos: on M1 Goro 100,200,300 «-ST wisi salta a 100, fei win? salta a 200.84 no jeortesponde, salta a feiguiente MITSUBISHI MELFA Basic IV snoaecsn mComandos de control de programa IF... THEN... ELSE —:Salto condicionado, si no se da la circunstancia se ejecuta el salto designado en ELSE .El comando ELSE es opcional. Sintaxis: IF THEN ELSE Ejemplos IF Mi=1 THEN 130 ;Salta a 130 si Mi IF Mi=1 THEN 130 ELSE 150 ;Salta a 130 si Mi sino salta a 150 MI JBISHI 7 wee MELFA Basic IV incduecisn mComandos de control de programa SELECT...CASE :Salto condicional, seguin la condicién se ejecuta lo designado en CASE Sintaxis: SELECT CASE CASE CASE egentenciaes DEFAULT corresponde al grupo de instrucciones que se ejecuta cuando DEFAULT ninguno de los casos anteriores se ha cumplido End SELECT MITSUBISHI MELFA Basic IV snoaecsn mcComandos de control de programa Ejemplos SELECT 1 case 10 Si Wis10 ejecuta solo : jlas lineas entre CASE 10 : iy CASE TS 11 case 1 11 1 ejecuta solo slas lineas entre CASE IS : 711 y CASE Is <5 CASE IS <5 CASE 6 TO 8 sejecuta si esta entre 6 y 8 DEFAULT END SELECT MI JBISHI 7‘ wee MELFA Basic IV incauccten mComandos de control de programa WAIT : Espera en esta linea hasta que la condicién ha sido alcanzada Sintaxis: WAIT Ejemplo: WAIT MLIN(1) ;Espera en esta linea hasta que la sefial de entrada 1 esta activa aR MELFA Basic IV introduecisn mRepeticién incondicional FOR...NEXT : Repite las instrucciones comprendidas entre FOR y NEXT las veces que indique la sentencia FOR. El comando STEP es opcional Sintaxis: FOR = TO STEP (sentencias) NEXT Ejemplo: 10 FOR ML= 17010 ;Las lineas entre 10 y 60 se : jrepetixan 10 veces 60 wexr 70 FOR M2= 0 TO 50 STEP 10 Se incrementa M2 en pasos de : 7 10 unidades eRe MELFA Basic IV incduecisn mRepeticién condicional WHILE...WEND: Repite las sentencias comprendidas entre WHILE y WEND hasta que se cumpla una condicion determinada Sintaxis: WHILE (sentencias) END Ejemplo: 10 WHILE QiL>=1)ANDQ<=10) Las Lineas entre 10 y 60 : ise repetiran HASTA que Mi peste entre 1 y 10 60 WEND aR MELFA Basic IV introduecisn mLlamada a subrutinas (incondicional) GOSUB: llama a linea determinada en la instrucci6n y vuelve a ella tras encontrar RETURN en la subrutina. Sintaxis: GOSUB ‘Toda subrutina debe acabar en RETURN para retomar el control ala linea siguiente tras GOSUB Ejemplo: 10 GosuB 1000 ;DLAMADA a subrutina 20 itxansfiexe el control a pla Linea 1000 hasta que pencuentra RETURK, tras jello vuelve a 20 1000 1400 RETURR Ss ae MELFA Basic IV ineoduccisn mLlamada a subrutinas (condicional) ON ...GOSUB :Salto condicional a linea designada por una variable entera. El programa seguiré el valor de orden de esta variable (0,1,2,3,4...) Sintaxis: ON GOSUB . ‘Toda subrutina debe acabar en RETURN para reternar el contro ala linea siguiente tras ON...GOSUB. Ejemplos: ON M1 GOsUB 100,200,300 7SI M. salta a 100, z si M. salta a z 7200..si no 100 corresponde,salta a 200 siguiente 300 1000 RETURN MITSUBISHI MELFA Basic IV snoaecsn mLlamada a sub-programas CALLP :Transfiere el control del programa a otro programa almacenado en la Drive Unit; una vez lo ejecuta, vuelve a pasar el control al programa principal. Opcionalmente puede pasar parametros . FPRM :Recibe pardmetros y variables desde el programa principal, hacia el programa llamado. Sintaxis: CALLP Ejemplo: ‘ Programa principal ' a1 Programa principal Progr. No.2 10 Mov P21 10 FPRM P200,P700 20 CALLP "2",P2,P7 | 100 Mov P200 ae MNTSyRISH MELFA Basic IV incduecisn mInterrupciones DEF ACT :Define las condiciones de la interrupcién y la instrucci6n a realizar tras ella ACT :Establece la prioridad de esta interrupcién sobre las otras Sintaxis: DEF ACT «Proceso» Ejemplo: 10 pr ace Lac am(17)=1 coswm 100 1. si entrada 17 o# oN, sakta Jimedgatanente «Lue 100 30 DEP ACE 3, AIMER(2}>10.5 OSU 300 Cuando paren 10.5 segundos jsubrutina 300. 100 w rneRa)=0 no ger 2 MRetahlece peiozidades ae aR MELFA Basic IV inrocuccisn minterrupciones Notas: *Los saltos por interrupcién que leven a una instruccién GOSUB, deben retornar con RETURN, en este caso: RETURN Las prioridades se establecen con ACT=y van de 1(mayor) a 8(menor) *Prioridad 0 significa interrupcién desabilitada (ACT=0) “Cuando se pone una 1 al final significa que la interrupcién se ejecutara al finalizar la instruccién en curso : DEF ACT 1,M_IN(17)=1 GosUB 100, L eRe MELFA Basic IV incduecisn m= Paro incondicional HLT :Para el programa en aquel punto Sintaxis: HLT Ejemplo: 10 IF M_IN(20)THEN HLT ;detiene el programa si la jentrada 20 es OW mRetardos DLY :establece un retardo Sintaxis: DLY Ejemplo: 10 DLY 0.8 ;detiene el programa durante 0.8 s. aR MELFA Basic IV introduecisn mEntradas y Salidas Sintaxis: Entradas: =M_IN () =M_INB () =M_INW () Salidas: M_OUT ( M_OUT () M_OUT () = Ejemplos: Mi=m_tMB (20) ;BitsoUT 20 a 27 pasan a M1 WAIT M_IN(3)=1 ;Espera hasta que bitIN 3 es ow M_OUT(I)=1 DLY 0.5 ;conmuta bitOUT 1 a ON durante 0.58 Ss ae MELFA Basic IV ineoduccisn mOperaciones aritméticas / légicas / funciones MELFA Basic permite realizar operaciones con numeros y comparaciones. Ejemplos: sustitucién P1=P2 P1O.Z=100 Aritmética: tel yess Comparacién >, <, <>, =>, <=, AND, OR, NOT, XOR... Funciones: MAX, MIN, RAD, SQR, TAN, SIN, COS, TAN...

También podría gustarte