Académique Documents
Professionnel Documents
Culture Documents
CONEXIN REMOTA
6.1 Conectividad remota del robot
El sistema robot dispone de una serie de opciones de cara a la lectura o escritura de datos de
forma remota a travs de Internet. Estas opciones van a servir para poder manejar
principalmente datos, para su posterior tratamiento tanto en temas relacionados tanto con la
gestin, como en el mantenimiento, es lo que en este proyecto se denomina telegestin y
telemantenimiento o lo que es lo mismo la obtencin de forma remota de datos que sirvan
para dichos fines.
No es objeto de este proyecto realizar aplicaciones que sirvan para una gestin o un
mantenimiento ms eficaz sino que se trata de ver los modos de conectividad remota para la
obtencin de ese tipo de datos y su ejemplificacin con una serie de datos reducidos.
Las posibilidades de conectividad remota a travs de internet que ofrecen los robots ABB se
resumen en:
Conectividad
Conectividad
Conectividad
Conectividad
a travs de ftp.
mediante OPC.
mediante RobotStudio.
mediante sockets.
Cliente
Servidor FTP
1.- Iniciar servicio
Puerto de Control
1035
OK
Puerto de Control
21
2.- transferencia
OK
Puerto de Datos
20
Este proyecto se ha realizado con la ayuda concedida por el Ministerio de Educacin (Resolucin 16800 de
21 de Octubre de 2011)
Coofinanciado por el Fondo Social Europeo. El Fondo Social Europeo invierte en tu futuro
Puerto de Datos
1036
Cliente
Servidor FTP
Control
Puerto 21
Datos
Puerto 20
La transferencia de archivos se realiza mediante texto plano por lo que desde el punto de vista
de la seguridad no es fiable aunque, como en el caso de la conexin ftp, existen aplicaciones
que sirven para cifrar y hacer ms seguro el trfico de estos archivos.
Conectividad mediante RobotStudio.
Desde el programa RobotStudio se puede cargar, modificar, visualizar los programas del
robot. Para ello basta con clicar en la pestaa En lnea y se tienen todas las opciones que el
programa tiene Fuera de lnea.
No obstante, el trabajo En lnea requiere del funcionamiento en modo automtico del robot
con todos los peligros que ello conlleva como se ha explicado anteriormente. Por tanto, si no
se tiene un entorno seguro en la instalacin del robot, no realizar estas operaciones.
Al arrancar RobotStudio se ejecutan dos archivos necesarios para la conexin directa del
programa con el robot, como indica la figura.
RobotStudio
RobScanHost
RobComCtrlServer
Service Name
Protocol
Start Port
End Port
Robot IP
RobScanHost
TCP
5512
5514
192.168.6.10
RobComCtrlServer
TCP
5514
5515
192.168.6.10
La conexin del ordenador se puede realizar por cualquiera de las conexiones que dispone el
controlador cuando es punto a punto (PC que dispone de RobotStudio directamente al robot)
siendo ms cmoda en este caso la conexin por el puerto de Servicio con IP dinmica dado
que el controlador dispone de servidor DHCP.
Este proyecto se ha realizado con la ayuda concedida por el Ministerio de Educacin (Resolucin 16800 de
21 de Octubre de 2011)
Coofinanciado por el Fondo Social Europeo. El Fondo Social Europeo invierte en tu futuro
Al realizar la conexin remota a travs de internet, tambin son necesarios los ficheros
mencionados anteriormente solamente que, en este caso, se necesitan abrir los puertos por
los que dichos ficheros acceden al robot. En la tabla se observan los nombres de los ficheros
con los puertos que hay que abrir.
En el caso de conexin remota, la conexin debe hacerse por el puerto llamado LAN con la
consiguiente configuracin del router y la red.
En la siguiente figura se observa el escenario que se va a utilizar en la actividad prctica para
conectar el programa RobotStudio en lnea con el robot de forma remota.
RobScanHost
RobotStudio
RobComCtrlServer
Puertos:
5512...5514
Puertos:
5514...5515
3G
IP pblica fija o
conocida:
88.29.58.116
GPRS/UMTS
3G
Robot1
IP: 192.168.1.10
IP: 192.168.1.1
Internet
ADSL
PC opcional
IP: 192.168.1.5
Aunque sea para conexin remota RobotStudio ejecuta los dos archivos necesarios cuando
configuramos la opcin En lnea.
Conectividad mediante OPC.
Si en una red se integran dispositivos de una misma marca comercial para un proceso
automatizado integral, dicha marca comercial ofrece soluciones para la conectividad de sus
diferentes dispositivos (Robots, PLCs, HMI..)
La realidad industrial obliga a integrar la mayora de las veces dispositivos de diferentes
marcas comerciales que necesitan intercambiar tramas de comunicacin entre s. En este caso
la conectividad directa no es posible ya que los protocolos de comunicacin y lenguajes
difieren de una marca a otra.
Servidor
OPC
PLC2
HMI
PLC3
SCADA
Data Base
ROBOT
Este proyecto se ha realizado con la ayuda concedida por el Ministerio de Educacin (Resolucin 16800 de
21 de Octubre de 2011)
Coofinanciado por el Fondo Social Europeo. El Fondo Social Europeo invierte en tu futuro
PLC1
OPC se basa en la arquitectura cliente servidor donde, el servidor OPC ofrece los datos,
tambin llamados tags, puntos a los clientes OPC.
En la figura de arriba se observa el aspecto del servidor OPC ABB IRC5 OPC que es el
programa a instalar para obtener los datos de las variables de robots ABB.
Para la conectividad remota existen dos posibles escenarios. En el primer el ordenador tiene
instalado tanto el OPC client como el OPC Server ABB que es quien solicita los datos al
robot a travs de internet. Esta configuracin es la que se utilizar en las actividades.
RobScanHost
PC1
RobComCtrlServer
Puertos:
5512...5514
Puertos:
5514...5515
3G
IP pblica fija o
conocida:
88.29.166.95
GPRS/UMTS
3G
Internet
IP: 192.168.1.1
Robot
IP: 192.168.1.10
El segundo escenario necesita de un ordenador en la LAN del robot donde est instalado el
OPC Server ABB. El cliente OPC solicita los datos a travs de internet. Esta configuracin
necesita de RPC (Remote Protocol Call) y por tanto resulta ms compleja.
Como en el caso de RobotStudio, al realizar la conexin remota a travs de internet, tambin
son necesarios los ficheros mencionados anteriormente por lo que se necesitan abrir los
puertos por los que dichos ficheros acceden al robot.
Este proyecto se ha realizado con la ayuda concedida por el Ministerio de Educacin (Resolucin 16800 de
21 de Octubre de 2011)
Coofinanciado por el Fondo Social Europeo. El Fondo Social Europeo invierte en tu futuro
ADSL
Service Name
Protocol
Start Port
End Port
Robot IP
RobScanHost
TCP
5512
5514
192.168.6.10
RobComCtrlServer
TCP
5514
5515
192.168.6.10
Cuando se desea utilizar un programa de este tipo perteneciente a una firma comercial con un
equipo industrial de otra firma diferente, necesitamos un programa que sirva los datos en un
formato que entienda el programa SCADA. Para ello se utilizar un servidor OPC, en este caso
OPC Server ABB ya que la conectividad se realiza con el robot ABB, y el programa SCADA
acta como cliente OPC.
Este proyecto se ha realizado con la ayuda concedida por el Ministerio de Educacin (Resolucin 16800 de
21 de Octubre de 2011)
Coofinanciado por el Fondo Social Europeo. El Fondo Social Europeo invierte en tu futuro
PC1
RobComCtrlServer
Puertos:
5512...5514
Puertos:
5514...5515
3G
IP pblica fija o
conocida:
88.29.166.95
Robot
IP: 192.168.1.1
IP: 192.168.1.10
Internet
ADSL
Cliente
Servidor
Para poder realizar la conexin entre los programas mediante socket son necesarios los
recursos lgicos de toda conexin de Internet:
Recursos de la capa de red: La direccin IP del servidor.
Recursos de la capa de transporte: Como es lgico:
El protocolo utilizado que normalmente es TCP y raramente UDP.
El puerto por el que se accede al servidor.
Este proyecto se ha realizado con la ayuda concedida por el Ministerio de Educacin (Resolucin 16800 de
21 de Octubre de 2011)
Coofinanciado por el Fondo Social Europeo. El Fondo Social Europeo invierte en tu futuro
CLIENTE
SERVIDOR
Las instrucciones que utiliza RAPID para la comunicacin mediante sokets son:
Cliente
Servidor
CLIENTE
El servidor ha de estar conectado
previamente antes de que el cliente
inicie la conexin
SERVIDOR
SocketCreate
Crear un nuevo zcalo para una
comunicacin basada en conexiones.
SocketBind
Enlazar un zcalo al nmero de puerto
de servidor y la direccin IP y el
nmero de puerto especificados.
SocketCreate
SocketListen
SocketConnect
SocketAccept
SocketReceive
SocketReceive
SocketClose
SocketClose
SocketSend
Este proyecto se ha realizado con la ayuda concedida por el Ministerio de Educacin (Resolucin 16800 de
21 de Octubre de 2011)
Coofinanciado por el Fondo Social Europeo. El Fondo Social Europeo invierte en tu futuro
SocketSend
3G
IP pblica fija:
88.124.33.56
PC1
IP: 192.168.12.7
IP: 192.168.6.1
Red1 192.168.12.0/24
Red3 192.168.6.0/24
3G
IP: 192.168.12.1
GPRS/UMTS
3G
IP dinmica:
XXX.XXX.XXX.XXX
Robot1
PC1
Internet
IP: 192.168.6.3
IP: 192.168.12.7
ADSL
ADSL
IP pblica fija:
88.200.75.9
PC2
Red4 192.168.4.0/24
IP: 192.168.4.1
IP: 192.168.8.200
Red2 192.168.8.0/24
ADSL
Robot2
IP: 192.168.4.5
Robot3
IP: 192.168.4.9
IP dinmica:
XXX.XXX.XXX.XXX
Este proyecto se ha realizado con la ayuda concedida por el Ministerio de Educacin (Resolucin 16800 de
21 de Octubre de 2011)
Coofinanciado por el Fondo Social Europeo. El Fondo Social Europeo invierte en tu futuro
IP: 192.168.8.1
PC3
PC2
IP: 192.168.12.3
IP: 192.168.12.2
GPRS/UMTS
3G
Red1 192.168.12.0/24
Internet
PC1
IP: 192.168.12.7
ADSL
IP: 192.168.12.1
ADSL
IP dinmica:
XXX.XXX.XXX.XXX
A travs de la IP pblica fija, la trama llega al router remoto, pero como se puede observar en
la siguiente figura, el router necesita una configuracin especfica, para saber a qu dispositivo
ha de dirigir las tramas de comunicacin.
PCX
3G
IP: 192.168.6.3
IP pblica fija o
conocida:
88.124.33.56
IP: 192.168.6.1
GPRS/UMTS
3G
Internet
ADSL
Robot1
IP: 192.168.6.11
Robot2
IP: 192.168.6.12
Robot3
IP: 192.168.6.13
Este proyecto se ha realizado con la ayuda concedida por el Ministerio de Educacin (Resolucin 16800 de
21 de Octubre de 2011)
Coofinanciado por el Fondo Social Europeo. El Fondo Social Europeo invierte en tu futuro
Red2 192.168.6.0/24
Protocol
Port
Robot IP
RobScanHost
TCP
5512
192.168.6.12
RobScanHost
TCP
5513
192.168.6.12
RobScanHost
TCP
5514
192.168.6.12
RobScanHost
TCP
5515
192.168.6.12
Este proyecto se ha realizado con la ayuda concedida por el Ministerio de Educacin (Resolucin 16800 de
21 de Octubre de 2011)
Coofinanciado por el Fondo Social Europeo. El Fondo Social Europeo invierte en tu futuro
10
Conocimientos
previos:
Conocimientos
relacionados:
Recursos
necesarios
Archivos de
imagen
relacionados
Archivos de
programa
relacionados
3G
IP pblica fija o
conocida:
88.124.33.56
IP: 192.168.1.1
Robot1
IP: 192.168.1.10
2.- Conocer los pasos para la correcta configuracin de un router para tener conectividad
remota.
Procedimiento:
a) Cambiar la direccin IP del robot.
1.- El controlador del robot tiene al menos dos conexiones RJ45 con las que poder conectarse
mediante protocolo IP:
Para crear la red LAN proceder a cambiar la IP del puerto LAN para que tenga una direccin
fija. Para ello hay que reiniciar el sistema clicando en ABB\ Reiniciar.
En la siguiente pantalla elegir el tipo de arranque X-Start para iniciar el Boot manteniendo el
sistema actual. En la nueva pantalla emergente clicar en Settings para especificar la direccin
IP.
En la pantalla donde se especifica la direccin IP, elegir la opcin para que sta sea fija,
teniendo en cuenta los datos que figuran en el esquema de la red al comienzo de esta
actividad:
IP address: Configura la direccin IP del robot en la red LAN.
Subnet mask: Configura la mscara de subred.
Una vez realizada la configuracin confirmar con OK. El programa volver a la pantalla anterior
para poder seleccionar el sistema y reiniciar el controlador, opciones 1 Select System y 2
Restart Controller.
La nueva direccin IP se puede observar el la barra superior de la pantalla del FlexPendant una
vez reiniciado el sistema.
Default gateway: Configura la puerta de enlace. Esta direccin ha de ser la que tiene
configurada el router por el lado de la red LAN
En la imagen se observa la configuracin de la IP del lado de la red LAN con el router utiizado.
Para configurar los routers la mayora de ellos tienen acceso a una web de configuracin por lo
que dicha configuracin se ha de realizar mediante un ordenador que est conectado al router
en el mismo rango de red.
IP: 192.168.1.1
Router ADSL
IP: 192.168.1.1
PC
IP:
192.168.1.38
PC
IP:
192.168.1.38
Router 3G
IP pblica
Conocimientos
previos:
01.02.03.04.-
Conocimientos
relacionados:
Recursos
necesarios
Archivos de
imagen
relacionados
01.- Archivo de texto m3.txt con el programa del robot.
02.- Archivo de texto codigo con el cdigo.
03.- Archivo EXCEL prod.csv con el informe en formato EXCEL.
Archivos de
programa
relacionados
Cliente
Servidor FTP
Control
Puerto 21
Datos
Puerto 20
3G
IP pblica fija o
conocida:
31.4.246.217
GPRS/UMTS
3G
Robot1
IP: 192.168.1.10
IP: 192.168.1.1
Internet
ADSL
PC opcional
IP: 192.168.1.5
2.- Programar un mdulo que genere una hoja EXCEL, que contendr datos de produccin
tales como: da, hora, tiempo de realizacin de cada pieza y n de piezas realizadas. Esta hoja
EXCEL se podr descargar a travs de FTP.
3.- Mediante un cdigo se podr elegir la pieza a realizar entre dos. As:
Si cdigo = 1, se realizar la pieza 1 o pieza cuadrada.
Si cdigo = 2, se realizar la pieza 2 o pieza redonda.
Si cdigo diferente a 1 o 2, se lanzar un mensaje de error.
Procedimiento:
Nota: En todos los casos la mscara de subred utilizada es 255.255.255.0 por lo que este dato
se obviar en todas las actividades documentadas.
a) Configurar la red local del robot.
1.- Asegurarse que la direccin IP del robot es conocida, IP: 192.168.1.10 en el caso de la
actividad como refleja la figura. La direccin IP se ha establecido en la actividad 6.1.
2.- Configurar el router del lado de la LAN atendiendo a la direccin IP: 192.168.1.1 ya que
acta como puerta de enlace que el robot tiene configurada.
4.- Averiguar la IP del lado de internet que el proveedor de servicios ha asignado. Al no tener
una IP fija, mediante un ordenador conectado a la LAN se puede averiguar qu IP pblica tiene
asignada el router, accediendo a cualquiera de las pginas Web que ofrecen este servicio.
Basta con buscarlas con cualquier buscador de pginas Web.
3.- Realizar el Port Fordward (abrir los puertos) 20 y 21 para que la aplicacin FTP pueda
acceder al robot, que a su vez es servidor de FTP, cuya diraccin IP es: 192.168.1.10
b) Programar el robot.
Antes de realizar cualquier programa, es conveniente entender el mapeo de la memoria del
robot:
Memoria RAM: Contiene el Boot de arranque (Ver actividad 6.1 cambio de la IP), el
sistema operativo del robot y la memoria libre donde se carga el programa que se est
ejecutando.
Disco duro hd04: Memoria del controlador donde se guardan los programas, copias
de seguridad etc.
Dentro del disco duro, llamado hd04, se encuentran varias carpetas una de las cuales es la
llamada HOME. En esta carperta se guardan los programas del robot y es a la nica que se
accece mediante FTP.
1.- Desde el ordenador cliente, se accede a la carpeta HOME, que est ubicada en el robot
remoto que acta como servidor de FTP, mediante Internet Explorer tecleando
ftp://31.4.246.217 que es la IP pblica remota (ver croquis de la conexin al principio de la
actividad).
3.- El programa consiste en un mdulo llamado m3 que como se observa en la figura anterior
est en la carpeta HOME con la extensin .mod (m3.mod). El programa con su descripcin es
el siguiente:
module m3
pers bool primero:=true; ! Variable persistente booleana
var clock tc1;! Variable persistente de tipo clock para medir tiempos de produccin.
pers num contadorPiezas1:=0;! Variable persistente numrica para contar piezas tipo 1
pers num contadorPiezas2:=0;! Variable persistente numrica para contar piezas tipo 2
pers num codigo:=0;! Variable persistente numrica para elegir piezas tipo 1 o tipo 2
CONST robtarget p10:=[[302.71,137.27,21.14],[0.032911,-0.647625,0.761225,0.00589333],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p20:=[[422.91,137.28,21.13],[0.0329148,-0.647587,0.761257,0.00589618],[0,0,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p30:=[[422.91,58.56,21.13],[0.0329133,-0.647589,0.761256,0.00589521],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p40:=[[302.52,57.67,21.13],[0.0329093,-0.647581,0.761262,0.00589729],[0,1,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p50:=[[375.53,-60.55,19.86],[0.0334222,-0.895598,-0.443564,0.00613047],[-1,0,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p70:=[[356.78,-159.76,17.80],[0.0313382,-0.926907,-0.373955,0.00443145],[-1,0,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p60:=[[402.27,-117.47,17.80],[0.0313394,-0.926905,-0.373959,0.004429],[-1,0,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p80:=[[297.68,-101.07,17.80],[0.0313409,-0.926907,-0.373954,0.00443237],[-1,1,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
SI
NO
Cdigo =2?
SI
Parar temporizador :
clkstop de tc1
Parar temporizador :
clkstop de tc1
Cdigo =1?
proc main()
lecturaCod; ! Va a rutina cdigo que est en HOME para ver si el cdigo es 1 (R1)
o 2 (R2)
! ------------------------------------------------------------------------------------! Lectura de parmetros piezas si cdigo=1
! ------------------------------------------------------------------------------------if codigo=1 then;
clkreset tc1; ! reset del reloj
clkstart tc1; ! arrancar reloj
r1; ! Ir a rutina 1
clkstop tc1;! paro del reloj por tanto tc1 = tiempo de ejecucin de la rutina
contadorPiezas1:=contadorPiezas1+1;
! incremento del contador de piezas 1
informePro pieza1 , clkread(tc1),contadorPiezas1;! Formato de la rutina para
el informe de produccin de pieza1
endif
! -------------------------------------------------------------------------------------!
Lectura de parmetros piezas si cdigo=2
! ------------------------------------------------------------------------------------if codigo=2 then;
clkreset tc1; ! reset del reloj
clkstart tc1; ! arrancar reloj
r1; ! Ir a rutina 2
clkstop tc1; paro del reloj por tanto tc1 = tiempo de ejecucin de la rutina
contadorPiezas2:=contadorPiezas2+1; ! incremento del contador de piezas 2
informePro pieza2 , clkread(tc1),contadorPiezas2;! Formato de la rutina para
el informe de produccin de pieza2
endif
endproc
************************************************************************************
Comentarios:
informePro pieza1 , clkread(tc1),contadorPiezas1;
informePro pieza2 , clkread(tc1),contadorPiezas2;
Son llamadas a la misma rutina llamada informePro() solamente que en el caso de que sea la pieza 1
aparte de leer el tiempo del reloj clkread(tc1)puesto en marcha al comienzo de la rutina, tiene que
leer el contador de piezas contadorPiezas1. Sin embargo en el caso de que sea la pieza 2 tiene que
leer el tiempo del reloj clkread(tc1)puesto en marcha al comienzo de la rutina, pero el contador de
piezas que tiene que leer es contadorPiezas2.
************************************************************************************
existe codigo.txt?
NO
Generar error :
Error no hay fichero..
SI
Leer fichero codigo.txt :
Fichero guardado en HOME
Cerrar fichero :
Siempre cerrar fichero abierto
Cerrar fichero :
Siempre cerrar fichero abierto
! -------------------------------------------------------------------------------------!
Lectura del fichero cdigo. Procedimiento para leer el cdigo que est en HOME\codigo.txt.
Si el cdigo del fichero es 1 realizar la rutina r1() si es 2 realizar la rutina r2()
! ------------------------------------------------------------------------------------proc lecturaCod()!
VAR iodev fichero;
Open "HOME:" \File:= "codigo.txt", fichero \read;! Lee el cdigo que est en
HOME\codigo.txt para ver si el cdigo es 1 (R1) o 2 (R2)
codigo:=ReadNum(fichero); ! Lee el nmero del fichero codigo.txt
close fichero;
error
! gestor de errores ! Error por si no hay fichero
tpwrite " Error no hay fichero...."; ! Mensaje del error
return;
undo
close fichero;
endproc
************************************************************************************
Comentarios:
VAR iodev fichero;
Los datos de tipo iodev hacen se utilizan cuando se hace referencia a un archivo. En este caso se abre
el fichero "codigo.txt" para la lectura del cdigo de la pieza a realizar.
Open "HOME:" \File:= "codigo.txt", fichero \read;
La instruccin abre el fichero "codigo.txt" que est en HOME y lee su contenido.
************************************************************************************
false
Cerrar fichero :
Siempre cerrar fichero abierto
Cerrar fichero :
Siempre cerrar fichero abierto
true
! -------------------------------------------------------------------------------------!
Generacin del informe en formato EXCEL, este fichero est en en HOME\prod.csv
! ------------------------------------------------------------------------------------proc informePro(string ref, num tc, num cp) ! Los valores de referencia, tiempo de ciclo
y contador de piezas son variables que valen tanto para pieza1 como para pieza2
VAR iodev fichero;
if primero=true then
Open "HOME:" \File:= "prod.csv", fichero \Write;! Abrir fichero para escribir
Write fichero, cdate() +";ctime() +";"+ref +";" +valtostr(tc) +";"
+valtostr(cp);! Escribir en EXCEL: da, hora, referencia, tiempo-pieza y n piezas
close fichero; ! Cerrar fichero
primero:=false;! Cambiar la condicin para que de aqu en adelante ejecute else
else
Open "HOME:" \File:= "prod.csv", fichero \Append; sigue escribiendo en un
fichero creado anteriormente por eso se necesita ELSE
Write fichero, cdate() +";ctime() +";"+ref +";" +valtostr(tc) +";"
+valtostr(cp);
close fichero;
primero:=false;
endif
error ! gestor de errores de la rutina
undo
close fichero;
endproc
************************************************************************************
Comentarios:
Open "HOME:" \File:= "prod.csv", fichero \Write;
La instruccin abre el fichero de formato EXCEL "prod.csv" que est en HOME y escribe en l:
Write fichero, cdate() +";ctime() +";"+ref +";" +valtostr(tc) +";" +valtostr(cp);
La fecha cdate(), la hora ctime(), la referencia de la pieza ref, el tiempo transcurrido en realizar la
rutina o pieza (tc) y el n de piezas realizadas (cp). Como las dos ltimas variables son de tipo num,
se convierten a variables de tipo String con la instruccin valtostr. Para que cada dato se escriba en
una casilla consecutiva hay que separarlos mediante el signo ";"
close fichero;
El fichero abierto hay que cerrarlo porque en la prxima llamada no se puede abrir un fichero que ya est
abierto.
proc r2()
MoveAbsJ jpos10\NoEOffs, v1000, z50, tool1;
MoveJ p50, v1000, fine, tool1;
MoveC p60, p70, v1000, z10, tool1;
MoveC p80, p50, v1000, z10, tool1;
endproc
endmod
NOTA: Los movimientos del robot (robtarjets) se realizan desde el FlexPendant y se
introducen en el programa porque de otra manera, sera muy difcil editar los datos con
el editor de textos. Una vez programados los movimientos, hay que salvarlos si se quiere
disponer del programa completo, porque si no solamente estaran en la RAM y no en HOME.
4.- Si el programa est escrito o se modifica con un editor de textos basta con pegarlo en la
pantalla, con la extensin .mod (m3.mod), que a travs de Internet explorer se ha abierto
mediante FTP y que corresponde a la carpeta HOME. Hay que realizar la misma operacin con
el fichero codigo.txt cada vez que hay que cambiar de pieza como se ve en la figura del
archivo.
6.- Cuando el programa se ejecuta, genera una hoja EXCEL denominada Prod.csv. como se
observa en la figura que representa la carpeta HOME a la que se accede por medio de FTP.
10
7.- Al abrir el archivo EXCEL, se observan los datos solicitados en el programa que de forma
remota se pueden consultar, modificar y guardar.
En cuanto a datos de gestin se observan 2 tiempos que llaman la atencin:
En la lnea 7: un tiempo de 126,304s de parada de produccin porque la pieza
producida sigue siendo la misma.
En la lnea 9: un tiempo de 146,52s de parada debido a cambio de pieza porque la
siguiente pieza producida es diferente.
En total se han producido 4 piezas con referencia pieza1 (cuadrado) y 7 piezas con
referencia pieza2 (circunferencia).
11
12
Conocimientos
previos:
01.02.03.04.-
Conocimientos
relacionados:
Recursos
necesarios
Archivos de
imagen
relacionados
Archivos de
programa
relacionados
RobotStudio
RobScanHost
RobComCtrlServer
Puertos:
5512...5514
Puertos:
5514...5515
3G
IP pblica fija o
conocida:
88.29.58.116
GPRS/UMTS
3G
Robot1
IP: 192.168.1.10
IP: 192.168.1.1
Internet
ADSL
PC opcional
2.- Utilizar el programa de la actividad anterior y realizar las necesarias modificaciones sobre
l de forma que la eleccin de la pieza a realizar se pueda realizar cambiando el valor de la
variable codigo en el mismo programa.
3.- Mantener la generacin de la hoja EXCEL, que se se podr descargar a travs de FTP.
3.- Mantener el cdigo para poder elegir la pieza a realizar entre dos:
Si cdigo = 1, se realizar la pieza 1 o pieza cuadrada.
Si cdigo = 2, se realizar la pieza 2 o pieza redonda.
IP: 192.168.1.5
Procedimiento:
Nota: En todos los casos la mscara de subred utilizada es 255.255.255.0 por lo que este dato
se obviar en todas las actividades documentadas.
a) Configurar la red local del robot.
1.- Asegurarse que la direccin IP del robot es conocida, IP: 192.168.1.10 en el caso de la
actividad como refleja la figura. La direccin IP se ha establecido en la actividad 6.1.
2.- Configurar el router del lado de la LAN atendiendo a la direccin IP: 192.168.1.1 ya que
acta como puerta de enlace que el robot tiene configurada.
Service Name
Protocol
Start Port
End Port
Robot IP
RobScanHost
TCP
5512
5514
192.168.1.10
RobComCtrlServer
TCP
5514
5515
192.168.1.10
4.- Averiguar la IP del lado de internet que el proveedor de servicios ha asignado. Al no tener
una IP fija, mediante un ordenador conectado a la LAN se puede averiguar qu IP pblica tiene
asignada el router, accediendo a cualquiera de las pginas Web que ofrecen este servicio.
Basta con buscarlas con cualquier buscador de pginas Web.
En la ventana emergente, escribir la IP pblica del router remoto que, como aparece en el
croquis de la actividad es IP: 88.29.58.116. A continuacin clicar en Aadir y posteriormente
en Aceptar.
3.- Realizar el Port Fordward (abrir los puertos) para que el programa RobotStudio pueda
acceder al robot.
7.- Para poder modificar el programa desde RobotStudio\En lnea, hay que solicitar el
permiso de escritura clicando el icono de la figura de arriba.
8.- Se ha modificado el programa de la actividad anterior (6.2), eliminando el procedimiento
lecturaCod() y su llamada desde main()para poder escribir directamente el cdigo de la
pieza a producir y no tener que leerlo en un fichero ubicado en HOME.
module m3
proc main()
! ------------------------------------------------------------------------------------! Lectura de parmetros piezas si cdigo=1
! ------------------------------------------------------------------------------------if codigo=1 then;
clkreset tc1; ! reset del reloj
clkstart tc1; ! arrancar reloj
r1; ! Ir a rutina 1
clkstop tc1;! paro del reloj por tanto tc1 = tiempo de ejecucin de la rutina
contadorPiezas1:=contadorPiezas1+1;
! incremento del contador de piezas 1
informePro pieza1 , clkread(tc1),contadorPiezas1;! Formato de la rutina para
el informe de produccin de pieza1
endif
! -------------------------------------------------------------------------------------!
Lectura de parmetros piezas si cdigo=2
! ------------------------------------------------------------------------------------if codigo=2 then;
clkreset tc1; ! reset del reloj
clkstart tc1; ! arrancar reloj
r1; ! Ir a rutina 2
clkstop tc1; paro del reloj por tanto tc1 = tiempo de ejecucin de la rutina
contadorPiezas2:=contadorPiezas2+1; ! incremento del contador de piezas 2
informePro pieza2 , clkread(tc1),contadorPiezas2;! Formato de la rutina para
el informe de produccin de pieza2
endif
endproc
! -------------------------------------------------------------------------------------!
Generacin del informe en formato EXCEL, este fichero est en en HOME\prod.csv
! ------------------------------------------------------------------------------------proc informePro(string ref, num tc, num cp) ! Los valores de referencia, tiempo de ciclo
y contador de piezas son variables que valen tanto para pieza1 como para pieza2
VAR iodev fichero;
if primero=true then
Open "HOME:" \File:= "prod.csv", fichero \Write;! Abrir fichero para escribir
Write fichero, cdate() +";ctime() +";"+ref +";" +valtostr(tc) +";"
+valtostr(cp);! Escribir en EXCEL: da, hora, referencia, tiempo-pieza y n piezas
close fichero; ! Cerrar fichero
primero:=false;! Cambiar la condicin para que de aqu en adelante ejecute else
de Inicio. El robot
endmod
proc main()
! ------------------------------------------------------------------------------------! Lectura de parmetros piezas si cdigo=1
! ------------------------------------------------------------------------------------if codigo=1 then;
clkreset tc1; ! reset del reloj
clkstart tc1; ! arrancar reloj
r1; ! Ir a rutina 1
clkstop tc1;! paro del reloj por tanto tc1 = tiempo de ejecucin de la rutina
contadorPiezas1:=contadorPiezas1+1;
! incremento del contador de piezas 1
informePro pieza1 , clkread(tc1),contadorPiezas1;! Formato de la rutina para
el informe de produccin de pieza1
endif
! -------------------------------------------------------------------------------------!
Lectura de parmetros piezas si cdigo=2
! ------------------------------------------------------------------------------------if codigo=2 then;
clkreset tc1; ! reset del reloj
clkstart tc1; ! arrancar reloj
r1; ! Ir a rutina 2
clkstop tc1; paro del reloj por tanto tc1 = tiempo de ejecucin de la rutina
contadorPiezas2:=contadorPiezas2+1; ! incremento del contador de piezas 2
informePro pieza2 , clkread(tc1),contadorPiezas2;! Formato de la rutina para
el informe de produccin de pieza2
endif
Reloj:= clkread(tc1);
endproc
Al parar el robot, se observa que la variables han cambiado por haber realizado diferentes
piezas. Entre estas variables se encuentra la que cuenta el tiempo de ejecucin de la ltima
pieza, reloj:= 2,421s.
11.- Para saber el tiempo de produccin de cada pieza, se crea una variable pers num
reloj := 0; y se realiza una asignacin con el valor del tiempo contado por el cronmetro
reloj:= clkread(tc1); para poder leerlo. Insertando la instruccin en la rutina main, como
se ve en la parte de programa correspondiente:
12.- Si mediante FTP se accede al fichero EXCEL prod.csv al abrir ste se observa que los
datos coinciden con los de las variables:
N de piezas realizadas de pieza1: 7.
N de piezas realizadas de pieza2: 17.
Tiempo de produccin de la ltima pieza (pieza1): 2,421s.
16.- Relacionar las dos seales creadas para que la salida DO_BACKUP (Que se puede forzar
o escribir) acte sobre la entrada DI_BACKUP (Que no se puede forzar o escribir). Para ello
realizar lo que se denomina Cross Connection.
Clicar en Configuracin\ I/O \ Cross Connection y clicando con el botn derecho, Aadir
Cross Connection. Se relacionarn las dos seales citadas.
17.- Con la seal de entrada DI_BACKUP y configurar la accin System Input que consiste
en realizar: BACKUP\Arg1\Arg2\Arg3
Signal Name: DI_BACKUP, seal con la que se inicia la accin.
Action: BACKUP, qu accin se desea realizar.
Arg1: PruebaBackup, nombre de la carpeta donde se guarda el Backup.
Arg2: home, ruta de la carpeta donde se guarda el Backup.
Arg3: OverWrite, qu se desea hacer con las acciones posteriores.
15.- Crear una seal de entrada denominada DI_BACKUP y otra seal de salida denominada
DO_BACKUP. Clicar en Configuracin\ I/O \Signal y clicando con el botn derecho,
Aadir Signal.
18.- Para que las seales programadas sean operativas hace falta reiniciar el sistema o realizar
lo que se llama Arranque en caliente. Debajo de la pestaa En lnea se ubica el botn
Reiniciar para realizar dicho arranque.
19.- Forzando la salida DO_BACKUP sta, activar la entrada DI_BACKUP que a su vez
realizar la accin : BACKUP\Arg1\Arg2\Arg3.
10
RUTINA:
Mdulo
M1 (Se recomienda que sea SYSTEM)
VAR Clock R1;
1.
2.
3.
4.
5.
6.
7.
STOP
START
RESTART
POWER ON
RESET
STEP
QSTOP
PROC STOPR()
CLK Reset R1;
CLK Start R1;
ENDPROC
PROC RESTARTR()Arranca desde la posicin en que se para.
STARTR arranca si Pp siempre a main
CLK Stop R1;
CLTPWrite Tiempo de paro=\num:= Clkread(R1);
ENDPROC
Para ver los eventos de sistema que se pueden ejecutar, acudir a: Help RobotStudio \
Parmetros del sistema \ Tema Controller \ Tipo Event.
ENNDMOD
11
22.- Para emparejar el evento con la rutina, clicar en a: Controller \ Event Routine.
Clicando el botn derecho del ratn, Aadir Event Routine.
Hay que aadir otro evento emparejando el evento RESTART con la rutina (STArTR) porque
hay que parar el cronmetro que se ha puesto en marcha desde que se ha dado la orden de
paro.
En la figura se observan las dos rutinas una vez emparejadas con sus respectivos eventos, que
se pueden ver en Controller \ Event Routine.
Al aadir el evento, el nombre de la rutina tiene que coincidir exactamente con la rutina que se
quiere accionar con el evento (STOPR). El siguiente campo es el evento al que se quiere
emparejar a elegir de la lista.
12
23.- Para poder ver el tiempo de parada en el FlexPendant, dado que sea programado una
lnea para que la informacin salga en dicha pantalla, el programa dispone de un Visor
FlexPendant virtual que permite ver lo mismo que muestra el FlexPendant fsico. Dado que
este ltimo est ubicado en un lugar remoto, es el nico modo de ver cul es la informacin
que muestra.
El Visor FlexPendant se activa en la misma pestaa En lnea tal y como se ve en la
siguiente figura.
Cada vez que se para el robot y se vuelve a arrancar, el cronmetro R1 contabiliza el tiempo
transcurrido. Dicho tiempo de parada se muestra en la pantalla del FlexPendant.
13
Para observar el estado de las entradas como son los sensores, pulsadores, basta con
observarlas.
De la misma forma que se visualizan las entradas fsicas se puede visualizar otro tipo de
entradas como pudieran ser entradas virtuales.
Cuando stas estn activadas, se muestran con un 1 dentro de un crculo de color amarillento,
cuando estn desactivadas se muestra un 0 en un crculo gris.
14
Conocimientos
previos:
Conocimientos
relacionados:
Recursos
necesarios
Archivos de
imagen
relacionados
01.- Archivo de texto m3.txt con el programa del robot.
02.- Archivo EXCEL prod.csv con el informe en formato EXCEL.
03.- Archivo ZIP programa OPC Quick Data Client.
Archivos de
programa
relacionados
PC1
RobComCtrlServer
Puertos:
5512...5514
Puertos:
5514...5515
3G
IP pblica fija o
conocida:
88.29.166.95
GPRS/UMTS
3G
IP: 192.168.1.1
Internet
Robot
IP: 192.168.1.10
ADSL
Existen muchos programas que realizan la labor de cliente de OPC. En esta actividad se
utilizar el programa OPC Quick Data Client que se adjunta como archivo en formato ZIP.
Notas Importantes:
1.- Para escribir sobre las variables, stas tienen que tener un nivel de acceso total (ALL) por
eso solamente se pueden forzar las salidas digitales y no las entradas. stas solamente se
pueden leer.
3.- Se puede utilizar el mdulo programado y guardado en el disco duro del robot (HOME), que
genera la hoja EXCEL que contiene datos de produccin tales como: da, hora, tiempo de
realizacin de cada pieza y n de piezas realizadas. Esta hoja EXCEL se podr descarcar a
travs de FTP. En este caso habr que habilitar los puertos correspondientes en el router.
4.- Utilizar el programa mediante el
realizar entre dos. As:
Si cdigo = 1, se realizar la
Si cdigo = 2, se realizar la
Si cdigo diferente a 1 o 2,
Procedimiento:
a) Configurar la red local del robot.
1.- Asegurarse que la direccin IP del robot es conocida, IP: 192.168.1.10 en el caso de la
actividad como refleja la figura. La direccin IP se ha establecido en la actividad 6.1.
2.- Configurar el router del lado de la LAN atendiendo a la direccin IP: 192.168.1.1 ya que
acta como puerta de enlace que el robot tiene configurada.
3.- Realizar el Port Fordward (abrir los puertos) para que los procesos necesarios para la
comunicacin remota con el robot, estn activos. Estos procesos se pueden activar ejecutando
el programa RobotStudio y poniendo el mismo en lnea. De otro modo habra que realizar
alguna aplicacin para que los arranque.
Service Name
Protocol
Start Port
End Port
Robot IP
RobScanHost
TCP
5512
5514
192.168.1.10
RobComCtrlServer
TCP
5514
5515
192.168.1.10
4.- Averiguar la IP del lado de internet que el proveedor de servicios ha asignado si no se tiene
tener una direccin IP fija.
b) Arrancar OPC ServerABB.
6.- Una vez establecida la conexin, el icono tiene los dos lados juntos o enchufados, clicar
en la pestaa Server Control y clicar en el botn Start. En este momento el servidor est
arrancado. Si no se pulsa el botn Start, el servidor OPC est parado.
8.- Seleccionar de entre todos los posibles servidores OPC, clicar la IP pblica del router donde
est conectado el robot y pulsar Add.
9.- En la pantalla desplegada, ir abriendo el rbol y elegir los tags como se indica en la figura.
10.- Para variar el valor de una variable desde Client OPC, clicar con el botn derecho sobre
ella y elegir Write. Cambiar valor en pantalla emergente. La lectura de las variables es
inmediata como se observa en la anterior figura.
7.- Configurar
11.Una
vez
arrancado
OPCServerABB, arrancar el
programa OPC KeepServerEx,
opcin OPC Quick Client.
10.- Para variar el valor de una variable desde Client OPC, clicar con el botn derecho sobre
ella y elegir Synchronus Write. Cambiar valor en pantalla emergente. La lectura de las
variables es inmediata como se observa en la figura.
13.- En la pantalla desplegada, ir abriendo el rbol y elegir los tags como se indica en la figura.
Conocimientos
previos:
Conocimientos
relacionados:
Recursos
necesarios
Archivos de
imagen
relacionados
01.- Archivo de texto m3.txt con el programa del robot.
02.- Archivo EXCEL prod.csv con el informe en formato EXCEL.
03.- Archivo ZIP programa OPC Quick Data Client.
Archivos de
programa
relacionados
RobScanHost
PC1
RobComCtrlServer
Puertos:
5512...5514
Puertos:
5514...5515
3G
IP pblica fija o
conocida:
88.29.166.95
IP: 192.168.1.1
Internet
Robot
IP: 192.168.1.10
Existen muchos programas SCADA (Supervisory Control And Data Adquisition) que, como su
nombre indica, obtienen datos y tienen control sobre los procesos industriales. En esta
actividad se utilizar el programa CX-Supervisor de OMRON por ser un programa sencillo y
porque existen versiones demo que, si bien limitan su uso contnuo a 2 horas y el n de puntos
mximo a 50, es de uso intuitivo y relativamente sencillo.
Al ser los programas a utilizar de marcas comerciales diferentes, no son compatibles, y se ha
de utilizar el servidor OPCServerABB que permite el acceso a variables del robot tal y como
se ha descrito en la anterior actividad.
Notas Importantes:
1.- Con el programa SCADA utilizado solamente se pueden leer las variables. Para ello, stas
tienen que tener un nivel de acceso total (ALL). El forzado o accin tanto de las salidas como
las entradas digitales no es posible.
2.- Las variables utilizadas en el programa a las que se desea acceder, han de ser definidas
como persistentes.
3.- Utilizar el mdulo de programa que genera la hoja EXCEL que contiene datos de produccin
tales como: da, hora, tiempo de realizacin de cada pieza y n de piezas realizadas y guarda
sta en el disco duro del robot (HOME). Esta hoja EXCEL se podr descarcar a travs de FTP.
4.- Utilizar el mdulo de programa utilizado en anteriores actividades, mediante el cual,
introduciendo un cdigo se podr elegir la pieza a realizar entre dos. As:
Si cdigo = 1, se realizar la pieza 1 o pieza cuadrada.
Si cdigo = 2, se realizar la pieza 2 o pieza redonda.
Si cdigo diferente a 1 o 2, se lanzar un mensaje de error.
5.- En todos los casos la mscara de subred utilizada es 255.255.255.0
ADSL
Procedimiento:
a) Configurar la red local del robot.
1.- Asegurarse que la direccin IP del robot es conocida, IP: 192.168.1.10 en el caso de la
actividad como refleja la figura. La direccin IP se ha establecido en la actividad 6.1.
2.- Configurar el router del lado de la LAN atendiendo a la direccin IP: 192.168.1.1 ya que
acta como puerta de enlace que el robot tiene configurada.
3.- Realizar el Port Fordward (abrir los puertos) para que los procesos necesarios para la
comunicacin remota con el robot, estn activos. Estos procesos se pueden activar ejecutando
el programa RobotStudio y poniendo el mismo en lnea. De otro modo habra que realizar
alguna aplicacin para que los arranque.
Service Name
Protocol
Start Port
End Port
Robot IP
RobScanHost
TCP
5512
5514
192.168.1.10
RobComCtrlServer
TCP
5514
5515
192.168.1.10
FTP
TCP
20
21
192.168.1.10
4.- Averiguar la IP del lado de internet que el proveedor de servicios ha asignado si no se tiene
tener una direccin IP fija.
b) Arrancar OPC ServerABB.
5.- Arrancar el programa OPCServerABB y clicar en el icono nuevo alias y en la pantalla
siguiente escribir la IP pblica del router, 88.29.166.95 y clicar Scan, cuando encuentra la
direccin pulsar Create le asignndole un nombre de alias.
Para la obtencin del informe en EXCEL mediante FTP, se han de abrir los puertos
correspondientes.
6.- Una vez establecida la conexin, el icono tiene los dos lados juntos o enchufados, clicar
en la pestaa Server Control y clicar en el botn Start. En este momento el servidor est
arrancado. Si no se pulsa el botn Start, el servidor OPC est parado.
Los smbolos # se relacionan con datos de programa o datos del robot que sean
nmeros enteros, booleanos o de tipo texto.
Los smbolos #.## se relacionan con datos de programa o datos del robot que sean
nmeros reales.
Los textos aparecen tal y como estn redactados.
Se aaden botones para acceder a funciones de mantenimiento (Backup / fichero
informe).
Se aaden animaciones para mostrar u ocultar textos en funcin de los valores de
ciertos puntos (Motores On/ Motores Off).
Se aaden animaciones para cambiar de color objetos cuadrados o redondos en funcin
del estado de ciertos puntos (Sensor 1, Sensor 2).
9.- Desde el editor de puntos, se programan o definen las variables que se relacionan con los
objetos de la pantalla de diseo, en la figura se muestran los siguientes campos a rellenar:
Nombre del punto: nombre con
el que se identificar el punto y se
relacionar con el objeto.
Tipo de puntos: formato del
punto (n entero, real).
Tipo de E/S: Desde el punto de
vista del ordenador, el tipo de
comunicacin,
unidireccional de
entrada o salida o bidireccional.
Atributos de E/S:Ha de ser OPC
evidentemente
para
poder
relacionar el punto con variables
del robot, que no es de la marca
OMRON.
10.- Una vez seleccionada dentro de los atributos de E/S la opcin OPC, se ha de configurar
la primera vez el servidor OPC, pulsando Configuracin. Los pasos a dar son los siguientes:
Elegir en la opcin servidor:
OMRONCXOPCCommunications
Control.
12.- En la pantalla desplegada, al pulsar Examinar, se desplegar una nueva pantalla donde,
al ir abriendo el explorador, se muestran todas las variables del robot que son accesibles
mediante OPC.
14.- Para seguir aadiendo puntos, basta repetir el proceso descrito en los puntos 11, 12 y 13.
En la siguiente figura se muestra la creacin de otro grupo de variables (grupo 2) donde se
incluirn las relativas al mantenimiento.
Para aadir nuevos puntos, basta con clicar sobre la parte derecha en la pestaa
Grupos/elementos OPC con el botn derecho del ratn y elegir Aadir elementos.
13.- Basta con clicar sobre la variable deseada, que aparece con una etiqueta, para elegirla.
Para terminar el proceso de definicin del punto, ir cerrando todas la pantallas pulsando la
opcin Aceptar.
Se observan todos los datos de gestin, excepto la obtencin del informe EXCEL que se ha
utilizado en las anteriores actividades, que se obtiene con otro botn que se describir ms
adelante.
16.- El resto de los puntos, relativos al telemantenimiento, se han definido en otro grupo. No
obstante, se podran haber definido en el grupo anterior.
Salvo el cdigo de pieza a producir que se puede leer y escribir, todas las dems variables son
solamente de lectura. As, se pueden leer:
Datos del robot: IP del robot, reloj del mismo, estado del controlador y modo de
operacin.
Datos del programa: Cdigo de pieza, totales producidos de pieza 1 y pieza 2, tiempo
empleado en realizar la ltima pieza y tiempo de parada del robot.
17.- En las siguientes imgenes se observa la animacin del paso del conmutador de manual a
automtico y de motores Off a motores On, activados en el controlador del robot para el inicio
del funcionamiento.
Estado de inicio: Manual y motores Off:
18.- En las siguientes imgenes se observa la animacin del estado de los sensores en funcin
de que stos estn activados o no:
19.- Para acceder al informe de produccin en formato EXCEL, se ha habilitado un botn con el
que acceder directamente a la carpeta HOME del disco duro del robot (hd04/HOME) donde se
encuentra dicho informe.
Una vez cambiado el estado de la seal DO_BACKUP, al abrir la carpeta HOME se observa la
carpeta PruebaBackup que, una vez desplegada, muestra los archivos guardados.
Recordar que para poder realizar esta actividad, el robot ha de estar en automtico. Por tanto:
RESPETAR LAS CONDICIONES DE SEGURIDAD CON UN ENTORNO SEGURO: A
fin de evitar los riesgos que este tipo de funcionamiento tiene con respecto a
las personas y objetos. Ver tema seguridad y funcionamiento automtico.
SI NO SE PUEDE ASEGURAR EL FUNCIONAMIENTO SEGURO: No realizar esta
actividad.
20.- Para crear la copia de seguridad, se ha habilitado un botn que arranca el clienteOPC
Quick Data para poder forzar la seal que inicia el proceso, ya que el programa SCADA
utilizado, no puede escribir datos a travs de OPCServerABB como se ha mencionado
anteriromente.
10
Conocimientos
previos:
01.02.03.04.-
Conocimientos
relacionados:
Recursos
necesarios
Archivos de
imagen
relacionados
01.- Archivo de VisualBasic. Aplicacin CLIENTE_SERVER_Sockets.zip
Archivos de
programa
relacionados
RobotStudio
Puerto:
1024
3G
IP pblica fija o
conocida:
88.29.58.116
GPRS/UMTS
3G
Robot1
IP: 192.168.1.10
IP: 192.168.1.1
Internet
ADSL
PC opcional
IP: 192.168.1.5
2.- Realizar un programa para que realice una serie de movimientos sencillos mediante
rdenes remotas.
3.- Realizar una aplicacin en VisualBasic para que mediante un entorno grfico, se pueda
seleccionar y obtener informacin de la tarea desarrollada de una forma sencilla.
Procedimiento:
Nota: En todos los casos la mscara de subred utilizada es 255.255.255.0
Protocol
TCP
Port
1024
Robot IP
192.168.1.10
MODULE MainModule
! ------------------------------------------------------------------------------------! Conexin del servidor newSocketServer (string ipx: IP del servidor, num portx: puerto
del servidor 1024)
! ------------------------------------------------------------------------------------local proc newSocketServer(string ipx, num portx)
SocketCreate server_socket;! Crear un nuevo zcalo para comunicacin
SocketBind server_socket, ipx, portx; ! Enlaza un zcalo al nmero de puerto de
servidor (1024) y la direccin IP (192.168.1.10)especificados.
SocketListen server_socket; ! Inicia la escucha de conexiones entrantes.
SocketAccept server_socket, client_socket \ClientAddress:=client_ip; ! Acepta las
peticiones de conexin entrantes.
conectar:=TRUE; ! Forzar la variable connectar a TRUE.
endproc
! ------------------------------------------------------------------------------------! Analiza la cadena analizaStr (strx: cadena)
! ------------------------------------------------------------------------------------local proc analizaStr(string strx)
case "cerrar":
SocketSend client_socket \Str := " cerrar conexin desde servidor robot ";
SocketClose server_socket;
SocketClose client_socket;
conectar:=FALSE;
endtest
endproc
! ------------------------------------------------------------------------------------! Rutina procesoX() llamada desde main()
! ------------------------------------------------------------------------------------local proc procesoX()
WHILE conectar DO
SocketSend client_socket \Str := " Robot esperando ordenes...";
SocketReceive client_socket \Str := receive_string;
analizaStr receive_string;
ENDWHILE
ERROR
IF ERRNO=ERR_SOCK_CLOSED THEN
return;
ENDIF
endproc
Conocimientos
previos:
Conocimientos
relacionados:
Recursos
necesarios
Archivos de
imagen
relacionados
Archivos de
programa
relacionados
PC1
3G
Robot1
IP: 192.168.1.10
GPRS/UMTS
3G
IP: 192.168.1.1
PC2
ADSL
IP: 192.168.1.5
En esta actividad se utilizar el programa TeamViewer por ser un programa sencillo y porque
para aplicaciones no corporativas, existen versiones que se pueden descargar de forma
gratuita. No obstante existen otros programas similares que tambin son gratuitos y se
pueden utilizar de forma similar a ste siguiendo prcticamente los pasos expuestos en esta
actividad.
Procedimiento:
a) Arranque del programa TeamViewer en los ordenadores.
1.- Evidentemente el programa ha de estar instalado en ambos ordenadores:
El ordenador local PC1: Es el ordenador que tomar el mando del escritorio del
ordenador remoto y prodr ejecutar los programas instalados en ste.
El ordenador remoto PC2: Es el ordenador, que necesariamente debe de estar
instalado en la red del robot y que deber de tener instalados los programas con los
que se desea manejar el robot (RobotStudio, SCADA y OPCServerABB). Mediante el
programa TeamViewer dejar que el ordenador PC1 que se ha denominado local, tome
el mando del escritorio y ejecute los programas instalados en ste.
2.- No hace falta configurar ningn router ni realizar ningn Port Fordward (abrir los puertos).
El programa se encarga de proporcionar una ID o identificacin del equipo y su
correspondiente Password.
Internet
Para poder tomar el mando del escritorio del ordenador remoto (PC2), en la zona Controlar
un ordenador remoto, se deber introducir la ID del ordenador y pulsar el botn Conectar
con asociado.
Una vez realizada la conexin, antes de poder tomar el control, el programa solicitar el
correspondiente Password. Una vez identificado correctamente el acceso, el ordenador local
(PC1) toma el control del del ordenador remoto (PC2)
b) Toma de control del robot mediante RobotStudio.
4.- Una vez arrancado el programa, se observa que el aspecto del escritorio del ordenador
local, toma una configuracin diferente que corresponde al escritorio del ordenador remoto
sobre fondo azul.
En la parte superior aparece una barra de herramientas donde se pueden realizar varias
acciones que no son relevantes para la descripcin de esta actividad y por tanto no se detallan.
Es importante trener en cuenta el aspecto de la seguridad de los ficheros ya que, el ordenador
remoto contolado, queda totalmente expuesto al haber cedido el control. Esto se puede
observar fcilmente en la pestaa Transferencia de archivos de la citada barra de men.
Por tanto, antes de realizar este tipo de actividades o instalar este tipo de programas, hay que
evaluar detenidamente el aspecto relativo a la seguridad del acceso al ordenador.
3.- Para comenzar, los dos ordenadores estarn encencidos y con el programa TeamViewer
ejecutado. Al ejecutarlo, en el ordenador local o PC1, aparecer una ventana donde bajo la
pestaa Control remoto, en la zona, Permitir el control remoto, se muestra la ID del
ordenador y la casilla correspondiente al Password:
5.- Arrancar el programa RobotStudio y conectarse en lnea con el robot tal y como se
describe en la actividad 6.3. En las siguientes figuras se muestran los primeros pasos:
7.- Arrancar el programa SCADA y ejecutar el programa tal y como se describe en la actividad
6.5.
9.- En las figuras anteriores se muestran los primeros pasos. Para ms detalles, actuar segn
lo explicado en las citadas actividades ya que, como es obvio, no se va a repetir el contenido
de las citadas actividades.
Recordar que para poder realizar esta actividad, el robot ha de estar en automtico. Por tanto:
RESPETAR LAS CONDICIONES DE SEGURIDAD CON UN ENTORNO SEGURO: A
fin de evitar los riesgos que este tipo de funcionamiento tiene con respecto a
las personas y objetos. Ver tema seguridad y funcionamiento automtico.