Programación 4 ABB.
Aprender Lenguaje RAPID, podremos programar desde RobotStudio, o desde la FlexPendant.
- Instrucción TPReadNum; Mostrará en la pantalla de operador un mensaje con un teclado numérico. TPReadNum se encarga de asignar el valor numérico introducido en una variable, en primer lugar indicaremos la variable en la cual guardaremos la respuesta numérica, por ultimo indicaremos el texto que se mostrará en la pantalla. El formato de esta instrucción es :
TPReadNum <Variable>,"Texto a mostrar en la pantalla";
- Control de Flujo TEST; Según el valor de la variable ejecutaremos unas instrucciones u otras, para verlo mas claro pondremos unos ejemplos mas adelante. El formato de esta instrucción es el siquiente:
TEST <variable> CASE <Valor de la variable con el que queremos ejecutar las siguientes instrucciones> : !Instrucciones a ejecutar en el primer caso CASE <Valor de la variable con el que queremos ejecutar las siguientes instrucciones>: !Instrucciones a ejecutar en el segundo caso ENDTEST
- Control de Flujo TEST; Ejemplo con una variable "Numero" y 4 opciones diferentes:
VAR Num Numero := 0; !Declaro Numero y la inicializo en 0 TEST Numero CASE 1: !Instrucciones que realizaremos valiendo Numero = 1 MoveJ Target_10,v1000,fine,MyTool\WObj:=wobj0; CASE 2: !Instrucciones que realizaremos valiendo Numero = 2 MoveJ Target_20,v1000,fine,MyTool\WObj:=wobj0; CASE 3,4: !Instrucciones que realizaremos valiendo Numero = 3 o Numero = 4 MoveJ Target_30,v1000,fine,MyTool\WObj:=wobj0; CASE 5,6,8: !Instrucciones que realizaremos valiendo Numero = 5 o Numero = 6 o Numero = 8 MoveJ Target_40,v1000,fine,MyTool\WObj:=wobj0; ENDTEST
- Ejemplo usando estas instrucciones TPReadNum & TEST; Si quiere realizar el ejemplo puede tomar como base el ejercicio Programación 1 ABB:
MODULE Module1 CONST robtarget Target_10:=[[547.330665099,0,451.64730631],[0.190808996,0,0.981627183,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget Target_20_2:=[[580.004388386,-300.000173756,49.997538618],[0.00007062,0.000000176,-0.999999998,0.000000105],[-1,1,-2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget Target_20:=[[579.997326386,-300.000184257,-0.002460883],[0.00007062,0.000000176,-0.999999998,0.000000105],[-1,1,-2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget Target_30_2:=[[580.007086271,300.000028414,49.999940578],[0.000070808,0.000000206,-0.999999997,0.000000106],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget Target_30:=[[580.000005471,300.000017813,-0.000058921],[0.000070808,0.000000206,-0.999999997,0.000000106],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; VAR num NUMERO; PROC main() MoveJ Target_10,v1000,fine,MyTool\WObj:=wobj0; TPErase; TPReadnum NUMERO, "Introduzaca un número entre 1 y 3"; TEST NUMERO CASE 1: TPWrite "Soldando Derecha"; Secuencia_1; CASE 2: TPWrite "Soldando Izquierda"; Secuencia_2; CASE 3: TPWrite "Soldando Izquierda y Derecha"; Secuencia_1; Secuencia_2; ENDTEST MoveJ Target_10,v1000,fine,MyTool\WObj:=wobj0; ENDPROC PROC Secuencia_1() MoveJ Target_20_2,v1000,fine,MyTool\WObj:=wobj0; MoveJ Target_20,v1000,fine,MyTool\WObj:=wobj0; MoveJ Target_20_2,v1000,fine,MyTool\WObj:=wobj0; ENDPROC PROC Secuencia_2() MoveJ Target_30_2,v1000,fine,MyTool\WObj:=wobj0; MoveJ Target_30,v1000,fine,MyTool\WObj:=wobj0; MoveJ Target_30_2,v1000,fine,MyTool\WObj:=wobj0; ENDPROC ENDMODULE
Programación 3 ABB.
Aprender Lenguaje RAPID, podremos programar desde RobotStudio, o desde la FlexPendant.
- Instrucción TPReadNum; Mostrará en la pantalla de operador un mensaje con un teclado numérico. TPReadNum se encarga de asignar el valor numérico introducido en una variable, en primer lugar indicaremos la variable en la cual guardaremos la respuesta numérica, por ultimo indicaremos el texto que se mostrará en la pantalla. El formato de esta instrucción es :
TPReadNum <Variable>,"Texto a mostrar en la pantalla";
- Control de Flujo TEST; Según el valor de la variable ejecutaremos unas instrucciones u otras, para verlo mas claro pondremos unos ejemplos mas adelante. El formato de esta instrucción es el siquiente:
TEST <variable> CASE <Valor de la variable con el que queremos ejecutar las siguientes instrucciones> : !Instrucciones a ejecutar en el primer caso CASE <Valor de la variable con el que queremos ejecutar las siguientes instrucciones>: !Instrucciones a ejecutar en el segundo caso ENDTEST
- Control de Flujo TEST; Ejemplo con una variable "Numero" y 4 opciones diferentes:
VAR Num Numero := 0; !Declaro Numero y la inicializo en 0 TEST Numero CASE 1: !Instrucciones que realizaremos valiendo Numero = 1 MoveJ Target_10,v1000,fine,MyTool\WObj:=wobj0; CASE 2: !Instrucciones que realizaremos valiendo Numero = 2 MoveJ Target_20,v1000,fine,MyTool\WObj:=wobj0; CASE 3,4: !Instrucciones que realizaremos valiendo Numero = 3 o Numero = 4 MoveJ Target_30,v1000,fine,MyTool\WObj:=wobj0; CASE 5,6,8: !Instrucciones que realizaremos valiendo Numero = 5 o Numero = 6 o Numero = 8 MoveJ Target_40,v1000,fine,MyTool\WObj:=wobj0; ENDTEST
- Ejemplo usando estas instrucciones TPReadNum & TEST; Si quiere realizar el ejemplo puede tomar como base el ejercicio Programación 1 ABB:
MODULE Module1 CONST robtarget Target_10:=[[547.330665099,0,451.64730631],[0.190808996,0,0.981627183,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget Target_20:=[[579.997326386,-300.000184257,-0.002460883],[0.00007062,0.000000176,-0.999999998,0.000000105],[-1,1,-2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget Target_30:=[[580.000005471,300.000017813,-0.000058921],[0.000070808,0.000000206,-0.999999997,0.000000106],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget Target_20_2:=[[580.004388386,-300.000173756,49.997538618],[0.00007062,0.000000176,-0.999999998,0.000000105],[-1,1,-2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget Target_30_2:=[[580.007086271,300.000028414,49.999940578],[0.000070808,0.000000206,-0.999999997,0.000000106],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget Target_50:=[[339.99,300,0],[0.014306426,0.021153167,0.999670738,0.002507023],[0,-1,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget Target_50_2:=[[339.99,300,50],[0.014306426,0.021153167,0.999670738,0.002507023],[0,-1,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget Target_40:=[[589.999996765,300.000000063,-0.000079507],[0.014305147,0.021155022,0.999670717,0.002507207],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; VAR Num NumeroCase := 0; !*********************************************************** ! ! Módulo: Module1 ! ! Descripción: ! <Introduzca la descripción aquí> ! ! Autor: Carlos Urrestarazu ! ! Versión: 1.0 ! !*********************************************************** !*********************************************************** ! ! Procedimiento Main ! ! Este es el punto de entrada de su programa ! !*********************************************************** PROC main() TPErase; TPReadNum NumeroCase,"Introduzca un numero entre: 1 y 2."; TEST NumeroCase CASE 1: TPWrite "Soldando Derecha"; MoveJ Target_10,v1000,fine,MyTool\WObj:=wobj0; MoveJ Target_20_2,v1000,fine,MyTool\WObj:=wobj0; MoveJ Target_20,v1000,fine,MyTool\WObj:=wobj0; MoveJ Target_20_2,v1000,fine,MyTool\WObj:=wobj0; CASE 2: TPWrite "Soldando Izquierda"; MoveJ Target_30_2,v1000,fine,MyTool\WObj:=wobj0; MoveJ Target_30,v1000,fine,MyTool\WObj:=wobj0; ENDTEST MoveJ Target_10,v1000,fine,MyTool\WObj:=wobj0; !Añada aquí su código ENDPROC ENDMODULE