Rapid
56 – 10569 Práctica 3– Lunes y Miércoles 8 & 10 de Mayo 2006 2º Cuatrimestre 2006
Automatización Industrial -II
Lenguaje RAPID
Robotics Application Programming Interactive Dialogue
AI -II (56-10569):2006 ©UC3M – Dr. Alaa Khamis
1/44
Automatización Industrial -II
Lenguaje RAPID
Estructura del lenguaje
►
Aplicación RAPID
Programa
Datosprograma Rutina Principal
RAPID es un leguaje de
programación textual de alto nivel desarrollado por la empresa ABB.
►
Una aplicación RAPID consta de
Módulo Principal Módulo1 Módulo2 Módulo2 Módulo4
Rutina1 Rutina2 Rutina3 Datos programa Rutina4 Rutina5
un programa y una serie de módulos del sistema.
Módulos del sistema Módulos del sistema
AI -II (56-10569):2006 ©UC3M – Dr.Alaa Khamis
2/44
Automatización Industrial -II
Lenguaje RAPID
Programa RAPID
►
Programa
Datos de programa Rutina Rutina Principal Principal (main) (main)
El programa es una secuencia de
instrucciones que controlan el robot y en general consta de tres partes: Una rutina principal (main): Rutina donde se inicia la ejecución. Un conjunto de sub-rutinas:
SubSubrutinas rutinasSirven para dividir el programa en partes más pequeñas a fin de obtener un programa modular. Los datos del programa: Definen posiciones, valores numéricos, sistemas de coordenadas, etc.
AI -II (56-10569):2006 ©UC3M – Dr. Alaa Khamis 3/44
Automatización Industrial -II
Lenguaje RAPID
Programa RAPID
%%% VERSION:1 LANGUAGE:ENGLISH %%% MODULE Module1 declaraciones PROC proc1() . . . ENDPROCPROC main() . . . . . . ENDPROC ENDMODULE
AI -II (56-10569):2006 ©UC3M – Dr. Alaa Khamis 4/44
Programa Módulo Principal
Datos programa Rutina Principal Rutina1 Rutina2 Rutina3
Módulo1 Módulo2 Módulo2 Módulo4
Automatización Industrial -II
Lenguaje RAPID
Programa RAPID
%%% VERSION:1 LANGUAGE:ENGLISH %%% MODULE EJEMPLO CONST robtarget A:=[[0,0,0],[0,0,0,0],[0,-1,0,0], [9E+09,...]];CONST tooldata pinza:= [TRUE, [[0,0,0],[1,0,0,0]], [0,[0,0,0],[1,0,0,0],0,0,0]]; PROC cerrar_pinza() Set spinza; ENDPROC PROC coger_pieza() MoveJ B1,v100,z5,pinza; MoveL B,v80,fine,pinza; cerrar_pinza; ENDPROC
AI -II (56-10569):2006 ©UC3M – Dr. Alaa Khamis 5/44
Automatización Industrial -II
Lenguaje RAPID
Programa RAPID
PROC main() CONST dionum listo:=1; abrir_pinza; WHILE TRUE DO MoveJA,v100,fine,pinza; WaitDI econtrol,listo; coger_pieza; MoveL B1,v80,z5,pinza; MoveJ D,v100,z100,pinza; MoveJ C1,v100,z5,pinza; MoveL C,v80,fine,pinza; abrir_pinza; MoveL C1,v80,z5,pinza; ENDWHILE ENDPROC ENDMODULE
AI -II (56-10569):2006 ©UC3M – Dr. Alaa Khamis 6/44
Automatización Industrial -II
Lenguaje RAPID
Elementos básicos
Identificadores: Permiten nombrar módulos, rutinas, datos yetiquetas.
►
Ejemplo:
MODULE nombre_módulo PROC nomre_rutina() VAR pos nombre_dato;nombre_etiqueta:
- El primer carácter es siempre una letra. - Longitud máxima 16. - Diferencia entre mayúsculas y minúsculas.
►
Palabras reservadas:
AND DO ENDPROC FOR MOD RAISE TO WITH BACKWARD ELSE ENDTEST FROM MODULE READONLY SYSMODULE TRAP XOR CASE ELSEIF ENDTRAP FUNC NOSTEPIN RETRY TRUE CONNECTENDFOR ENDWHILE GOTO NOT RETURN VAR CONST ENDFUNC ERROR IF OR STEP VIEWONLY DEFAULT ENDIF EXIT INOUT PERS TEST WHILE DIV ENDMODULE FALSE LOCAL PROC THEN
AI -II (56-10569):2006 ©UC3M – Dr. Alaa Khamis
7/44
Automatización Industrial -II
Lenguaje RAPID
Elementos básicos
Espacios y caracteres de fin de línea: RAPID es un lenguaje sin formatos, en consecuencia los espacios pueden utilizarseen cualquier parte excepto en: identificadores, palabras reservadas, valores numéricos. Los identificadores , las palabras reservadas y los valores numéricos deberán estar separados entre sí por un espacio, un carácter de fin de línea o un tabulador
► ►
Comentarios: Sirven para facilitar la comprensión del programa, ocupan una línea entera comenzando con el símbolo !, finaliza con un...
Regístrate para leer el documento completo.