Iee3923 A03 Apuntes Interaccion PC ABB RS232 2023

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 3

IEE3923 Sensores y Actuadores para Robótica - Prof. M. Torres T.

Departamento de Ingenierı́a Eléctrica


Pontificia Universidad Católica de Chile

Apuntes Interacción entre PC e el ABB IRC5 via puerto Serial RS-232


◁ Comunicación Serial ▷

1. Definiciones de Herramientas

Las herramientas definidas para la Actividad de Electroimanes y Sensores de Efecto Hall son:

• PERS tooldata SensorHall2 :=[TRUE,[[-1.10006,119.701,31.5822],[1,0,0,0]],


[0.7,[85,25,25],[1,0,0,0],0,0,0]];

• PERS tooldata RailGunBobina:=[TRUE,[[11.1243,-360.071,145.908],[1,0,0,0]],


[0.5,[125,25,25],[1,0,0,0],0,0,0]];

2. Comunicación PC-ABB IRC5

La comunicación entre el PC y el controlador ABB IRC5, el computador que controla el brazo robótico ABB,
es posible utilizando el puerto serial RS-232.

2.1. Comunicación desde el PC

Se sugiere revisar y utilizar el ejemplo de comunicación serial en Python entregado con el material de la
actividad. Su programa deberá crear, abrir y enviar mensaje al puerto serial, y esperar un mensaje de respuesta.
El pseudocódigo del proceso se puede resumir en:

# --- Programa PC ---


s1 = serial(’COM1’, ’BaudRate’, 9600); # Crea un puerto serial
fopen(s1); # Abre el puerto serial
LOOP()
{
fprintf(s1, ’Mensaje al robot!’); # Envı́a mensaje
msg_ABB = fread(s1, msg_len); # Espera la respuesta del robot
if (msg_ABB == ’OK’):
do_something(); # Hace algo... como medir...
}
fclose(s1); # Cierra el puerto serial
# --- End Programa PC ---

2023.10.31 1
IEE3923 Sensores y Actuadores para Robótica - Prof. M. Torres T. Apuntes Interacción entre PC
Departamento de Ingenierı́a Eléctrica e el ABB IRC5 via puerto
Pontificia Universidad Católica de Chile Serial RS-232

2.2. Comunicación desde el ABB

Similaremente, la comunicación serial tı́pica en lenguaje RAPID ABB utilizarı́a los siguientes pasos:

! --- Programa ABB ---


VAR num count;
VAR num MAX_ITER;
VAR num X;
VAR num Y;
VAR num Z;
VAR num Delta;
! VAR byte msg_PC_byte;
VAR string msg_PC;
VAR iodev COM_PORT_1; ! Crea dispositivo I/O

count := 0;
MAX_ITER := 1;
X := 0;
Y := 0;
Z := 0;
Delta := 0.2;

Open "com1:", COM_PORT_1\Bin; ! Abre el puerto serial 1


! asociando COM_PORT_1 a
! a "com1:".

WHILE(count < MAX_ITER) DO

WriteStrBin COM_PORT_1, "OK\0D"; ! Envı́a mensaje


! \0D Carriage Return
! \0A Line Feed
! msg_PC_byte := ReadBin(COM_PORT_1); ! Espera la respuesta del PC
! msg_PC := ByteToStr(msg_PC_byte);
msg_PC := ReadStrBin(COM_PORT_1, 10); ! Espera la respuesta del PC (10 caracteres)
IF msg_PC = "GO_X+" THEN
X := X + Delta;
ELSEIF msg_PC = "GO_Y+" THEN
Y := Y + Delta;
ELSEIF msg_PC = "GO_Z+" THEN
Z := Z + Delta;
ELSEIF msg_PC = "GO_X-" THEN
X := X - Delta;
ELSEIF msg_PC = "GO_Y-" THEN
Y := Y - Delta;
ELSEIF msg_PC = "GO_Z-" THEN
Z := Z - Delta;
ELSEIF msg_PC = "HOME" THEN
X := 0;
Y := 0;
Z := 0;
ELSE
WriteStrBin COM_PORT_1, "BAD COMMAND\0D";
ENDIF

MoveL [[500.0+X, 500.0+Y, 1250.0+Z],[1.0, 0.0, 0.0, 0.0],


[-1, -1, 0, 1], [9E+09, 9E+09, 9E+09, 9E+09, 9E+09, 9E+09]],
v200, z0, SensorHall2;

count := count + 1;

2023.10.31 2
IEE3923 Sensores y Actuadores para Robótica - Prof. M. Torres T. Apuntes Interacción entre PC
Departamento de Ingenierı́a Eléctrica e el ABB IRC5 via puerto
Pontificia Universidad Católica de Chile Serial RS-232

ENDWHILE
Close COM_PORT_1; ! Cierra el puerto serial
! --- End Programa ABB ---

3. Comentarios Finales

20
3
En un tramo de 20 mm, moviéndo el robot en incrementos de 0.2 mm, existen 0.02 + 1 = 1030301 puntos
que es un número palindrómico o número capicua, lleno de magia, misticismo, y misterio divino.

Si revisan el manual del ABB (https://library.e.abb.com/public/688894b98123f87bc1257cc50044e809/


Technical%20reference%20manual_RAPID_3HAC16581-1_revJ_en.pdf) verán en la pág. 283, sección
1.103 (asociada al número palindrómico), que pueden abrir la comunicación serial y automatizar la lectura
desde el programa en Python u otro. ¡Serı́a una torpeza tratar de hacer manualmente el posicionamiento de
1030301 puntos!

Para mayor información sobre el lenguaje ABB RAPID consulte los manuales en el Laboratorio o disponibles
en Internet:

• Technical reference manual: RAPID overview. 3HAC16580-1 Revision: L, 2004–2012.

• Technical reference manual: RAPID Instructions, Functions and Data types. 3HAC16581-1 Revision: J,
2004–2010.

2023.10.31 3

También podría gustarte