Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados Tema 6: CONEXIÓN REMOTA
CONEXIÓN REMOTA 6.1 Conectividad remota del robot
6
El sistema robot dispone de una serie de opciones de cara a la lectura o escritura de datos de forma remota a través de Internet. Estas opciones van a servir para poder manejar principalmente datos, para su posterior tratamiento tanto en temas relacionados tanto con la gestión, como en el mantenimiento, es lo que en este proyecto se denomina telegestión y telemantenimiento o lo que es lo mismo la obtención de forma remota de datos que sirvan para dichos fines. No es objeto de este proyecto realizar aplicaciones que sirvan para una gestión o un mantenimiento más eficaz sino que se trata de ver los modos de conectividad remota para la obtención de ese tipo de datos y su ejemplificación con una serie de datos reducidos. Las posibilidades de conectividad remota a través de internet que ofrecen los robots ABB se resumen en: Conectividad Conectividad Conectividad Conectividad
a través de ftp. mediante OPC. mediante RobotStudio. mediante sockets.
Conectividad a través de FTP. FTP (File Transfer Protocol) es un protocolo estándar para la transferencia de archivos entre sistemas informáticos conectados mediante TCP/IP. En esta arquitectura, al menos un equipo ha de ser servidor y los demás equipos han de actuar como clientes es decir, se pueden conectar con el servidor para enviar o descargar archivos.
Cliente
Servidor FTP 1.- Iniciar servicio Puerto de Control 1035
OK
Puerto de Control 21
2.- transferencia
OK
Puerto de Datos 20
El proceso de conexión de un servicio FTP es básicamente el siguiente: 1. El cliente genera una solicitud de control al servidor a través del puerto 21 de éste último. Si el cliente es reconocido, el servidor envía un comando de aceptación (ACK) para que se establezca la conexión. 2. El servidor sirve los datos al cliente por el puerto 20.
Este proyecto se ha realizado con la ayuda concedida por el Ministerio de Educación (Resolución 16800 de 21 de Octubre de 2011) Coofinanciado por el Fondo Social Europeo. “El Fondo Social Europeo invierte en tu futuro”
Tema 6: Conexión remota.
Puerto de Datos 1036
1
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados Tema 6: CONEXIÓN REMOTA Esta sencilla explicación sirve para visualizar que el router del lado del servidor tiene que tener abiertos los puertos 20 y 21 y direccionados a la IP del servidor. Naturalmente, existen variantes y modos de realizar FTP más seguros, pero con estos datos es suficiente para realizar la conectividad remota con el robot, ya que el mismo es un servidor FTP.
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 conexión ftp, existen aplicaciones que sirven para cifrar y hacer más seguro el tráfico 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 pestaña En línea y se tienen todas las opciones que el programa tiene Fuera de línea. No obstante, el trabajo En línea requiere del funcionamiento en modo automático 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 instalación del robot, no realizar estas operaciones. Al arrancar RobotStudio se ejecutan dos archivos necesarios para la conexión 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 conexión 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 más cómoda en este caso la conexión por el puerto de Servicio con IP dinámica dado que el controlador dispone de servidor DHCP. Este proyecto se ha realizado con la ayuda concedida por el Ministerio de Educación (Resolución 16800 de 21 de Octubre de 2011) Coofinanciado por el Fondo Social Europeo. “El Fondo Social Europeo invierte en tu futuro”
Tema 6: Conexión remota.
Al realizar la conexión remota a través de internet, también 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.
2
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados Tema 6: CONEXIÓN REMOTA
En el caso de conexión remota, la conexión debe hacerse por el puerto llamado LAN con la consiguiente configuración del router y la red. En la siguiente figura se observa el escenario que se va a utilizar en la actividad práctica para conectar el programa RobotStudio en línea con el robot de forma remota. RobScanHost
RobotStudio
RobComCtrlServer
Puertos: 5512...5514 Puertos: 5514...5515
3G
IP pública 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 conexión remota RobotStudio ejecuta los dos archivos necesarios cuando configuramos la opción En línea. 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 mayoría de las veces dispositivos de diferentes marcas comerciales que necesitan intercambiar tramas de comunicación entre sí. En este caso la conectividad directa no es posible ya que los protocolos de comunicación 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 Educación (Resolución 16800 de 21 de Octubre de 2011) Coofinanciado por el Fondo Social Europeo. “El Fondo Social Europeo invierte en tu futuro”
Tema 6: Conexión remota.
PLC1
3
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados Tema 6: CONEXIÓN REMOTA Para solventar este problema, se creó la llamada OPC Foundation que agrupa a muchas marcas de dispositivos que implementan las especificaciones abiertas de OPC (OLE for Process Control). Con ello, la conectividad de los productos de diferentes marcas se puede realizar.
OPC se basa en la arquitectura cliente servidor donde, el servidor OPC ofrece los datos, también 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 través de internet. Esta configuración es la que se utilizará en las actividades. RobScanHost
PC1
RobComCtrlServer
Puertos: 5512...5514 Puertos: 5514...5515
3G
IP pública fija o conocida: 88.29.166.95
OPC Server ABB Client OPC
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 través de internet. Esta configuración necesita de RPC (Remote Protocol Call) y por tanto resulta más compleja. Como en el caso de RobotStudio, al realizar la conexión remota a través de internet, también
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 Educación (Resolución 16800 de 21 de Octubre de 2011) Coofinanciado por el Fondo Social Europeo. “El Fondo Social Europeo invierte en tu futuro”
Tema 6: Conexión remota.
ADSL
4
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados Tema 6: CONEXIÓN REMOTA
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
Conectividad mediante programas SCADA. Existen muchos programas SCADA (Supervisory Control And Data Adquisition) que, como su nombre indica, obtienen datos y tienen control sobre los procesos industriales. Estos programas los desarrollan firmas comerciales principalmente dedicadas a la fabricación y comercialización de autómatas programables y por tanto ofrecen una comunicación directa y sencilla del programa SCADA que desarrollan con sus equipos.
Tema 6: Conexión remota.
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 actúa como cliente OPC.
Este proyecto se ha realizado con la ayuda concedida por el Ministerio de Educación (Resolución 16800 de 21 de Octubre de 2011) Coofinanciado por el Fondo Social Europeo. “El Fondo Social Europeo invierte en tu futuro”
5
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados Tema 6: CONEXIÓN REMOTA Por tanto, se ha de actuar tal y como describe el apartado anterior, tanta en lo que se rofiere a los ficheros necesarios para la conexión remota del OPCServer (RobScanHost y RobComCtrlServer) como de los puertos a habilitar (5012 … 5015). RobScanHost
PC1
RobComCtrlServer
Puertos: 5512...5514 Puertos: 5514...5515
3G
IP pública fija o conocida: 88.29.166.95
OPC Server ABB GPRS/UMTS 3G
Robot
IP: 192.168.1.1
IP: 192.168.1.10
Internet ADSL
Conectividad mediante sockets. El socket (toma, enchufe, zócalo…) es una conexión basada en comunicaciones de Internet para que dos programas, ejecutándose en diferentes equipos, puedan intercambiar datos. Por tanto el socket es un fichero que se abre de una forma concreta y que una vez abierto se pueden leer y escribir datos en él, es por ello por lo que a veces se define como “un canal de comunicación”. Uno de los modos más utilizados para establecer la conexión con sockets se basa en una arquitectura servidor-cliente. La comunicación se inicia por el programa "cliente" y cuando se establece la conexión el "servidor" contesta tras lo cual los dos equipos pueden leer o escribir la información.
Cliente
Conexión mediante socket
Servidor
1.- “petición de conexión” 2.- El servidor “aceptada la conexión”
Para poder realizar la conexión entre los programas mediante socket son necesarios los recursos lógicos de toda conexión de Internet: Recursos de la capa de red: La dirección IP del servidor. Recursos de la capa de transporte: Como es lógico: 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 Educación (Resolución 16800 de 21 de Octubre de 2011) Coofinanciado por el Fondo Social Europeo. “El Fondo Social Europeo invierte en tu futuro”
Tema 6: Conexión remota.
3.-Los programas “leen y escriben ”
6
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados Tema 6: CONEXIÓN REMOTA Secuencia de para la comunicación con sockets:
CLIENTE
SERVIDOR
El servidor ha de estar conectado previamente antes de que el cliente inicie la conexión
1.- Apertura de un socket
2.- Solicitar conexión con el servidor
2.- Asociar el programa al socket abierto 3.- Avisar al sistema de que puede atender peticiones de conexión 4.- Aceptar conexiones de clientes
3.- Leer y escribir datos del servidor
5.- Leer y escribir datos del cliente
4.- Cerrar la comunicación
6.- Cerrar la comunicación
1.- Apertura de un socket
Las instrucciones que utiliza RAPID para la comunicación mediante sokets son:
Cliente
Servidor
Conexión mediante socket 1.- “petición de conexión” 2.- El servidor “aceptada la conexión” 3.-Los programas “leen y escriben ”
CLIENTE El servidor ha de estar conectado previamente antes de que el cliente inicie la conexión
SERVIDOR SocketCreate Crear un nuevo zócalo para una comunicación basada en conexiones.
SocketBind Enlazar un zócalo al número de puerto de servidor y la dirección IP y el número de puerto especificados.
SocketCreate
SocketListen
Crear un nuevo zócalo para una comunicación basada en conexiones.
Iniciar la escucha de conexiones entrantes, por ejemplo para empezar a actuar como servidor.
SocketConnect
SocketAccept
Conectar el zócalo a un ordenador remoto en una aplicación cliente.
Aceptar peticiones de conexión entrantes.
SocketReceive
SocketReceive
Recibir datos de un ordenador remoto.
Recibir datos de un ordenador remoto.
Enviar datos a un ordenador remoto.
Enviar datos a un ordenador remoto.
SocketClose
SocketClose
Cerrar una conexión de zócalo.
Cerrar una conexión de zócalo.
SocketSend
Este proyecto se ha realizado con la ayuda concedida por el Ministerio de Educación (Resolución 16800 de 21 de Octubre de 2011) Coofinanciado por el Fondo Social Europeo. “El Fondo Social Europeo invierte en tu futuro”
Tema 6: Conexión remota.
SocketSend
7
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados Tema 6: CONEXIÓN REMOTA
6.2 Acceso remoto a través de internet mediante conexión 3G o ADSL Antes de realizar las actividades es conveniente conocer el funcionamiento general y la programación en particular de los routers que se vayan a utilizar para la conexión remota a través de internet. En este tema solamente se pretende recordar los aspectos generales de la conexión a través de routers y en qué apartados hay que incidir para su correcto funcionamiento, por supuesto no se trata de un manual de programación de los mismos debido a la extensa gama que existe. Para establecer el acceso remoto a una red industrial a través de Internet, se utilizan dos tipos de router principalmente: Routers ADSL: Que comúnmente se conoce como conexión a Internet por cable. Routers inalámbricos: GSM/UMTS/HSDPA/HSUPA Que comúnmente se llama conexión 3G (3ª generación) aunque el término no sea exacto para todas las tecnologías citadas anteriormente. En la siguiente figura se puede observar un esquema general para una conexión remota a través de cualquiera de los dos tipos de router citados y que se utilizará como punto de partida para las actividades.
3G
IP pública 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 dinámica: XXX.XXX.XXX.XXX
Robot1
PC1
Internet
IP: 192.168.6.3 IP: 192.168.12.7
ADSL
ADSL
IP pública 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 dinámica: XXX.XXX.XXX.XXX
Este proyecto se ha realizado con la ayuda concedida por el Ministerio de Educación (Resolución 16800 de 21 de Octubre de 2011) Coofinanciado por el Fondo Social Europeo. “El Fondo Social Europeo invierte en tu futuro”
Tema 6: Conexión remota.
IP: 192.168.8.1
8
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados Tema 6: CONEXIÓN REMOTA Para conectarse a un router remoto es necesario conocer la IP pública o IP que asigna el proveedor de servicios de internet contratado. Como normalmente no se va a contratar una IP pública fija para el desarrollo de las actividades, lo más normal es averiguar la IP dinámica asignada en el momento de la conexión del router remoto mediante la conexión con el router para visualizar en el campo donde figura dicha IP o a través de páginas WEB que permiten saber la IP pública dinámica. Estos métodos requieren que una persona opere en la estación remota por lo que se utiliza para aplicaciones puntuales, ya que el objetivo de la conexión permanente, queda descartado. Establecimiento de la comunicación remota Suponer que se quiere acceder a una red remota con robots desde una red que tiene al menos un ordenador. La aplicación que se lanza desde el ordenador (por ejemplo PC1) debe de direccionarse a la IP pública fija de la red de robots que tiene asignado el router de dicha red (red2 192.168.6.0/24) que en las figuras del ejemplo es la IP 88.124.33.56 Al intentar acceder el equipo (PC1) a una red distinta a la que el ordenador pertenece ya que los dígitos correspondientes a la red no coinciden, la trama se envía al router (192.168.12.1) a través de la puerta de enlace. El router se encarga de la conversión de la dirección, sustituyendo la IP del dispositivo por la IP pública dinámica del router estableciendo la conexión con Internet y comunicando la nueva trama a través de la línea ADSL.
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 dinámica: XXX.XXX.XXX.XXX
A través de la IP pública fija, la trama llega al router remoto, pero como se puede observar en la siguiente figura, el router necesita una configuración específica, para saber a qué dispositivo ha de dirigir las tramas de comunicación.
PCX
3G
IP: 192.168.6.3
IP pública 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 Educación (Resolución 16800 de 21 de Octubre de 2011) Coofinanciado por el Fondo Social Europeo. “El Fondo Social Europeo invierte en tu futuro”
Tema 6: Conexión remota.
Red2 192.168.6.0/24
9
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados Tema 6: CONEXIÓN REMOTA Para que el router pueda dirigir las tramas a un robot en particular, hay que configurar lo que en la mayoría de los routers se denomina Port Forwarding que consiste en ligar el puerto que utiliza la aplicación lanzada en el PC de origen (PC1) con la IP del dispositivo al que se quiere acceder por ejemplo al robot 2. Es lo que comúnmente se llama “abrir puertos”. Por ejemplo el fichero RobScanHost necesario para la comunicación de algunas aplicaciones que se detallarán en las actividades accede por los puertos 5512 al 5514. Si se quiere acceder al robot 2, el Port Forward del router remoto se configurará del siguiente modo: Service Name
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
Tema 6: Conexión remota.
PROYECTO FINANCIADO POR:
Este proyecto se ha realizado con la ayuda concedida por el Ministerio de Educación (Resolución 16800 de 21 de Octubre de 2011) Coofinanciado por el Fondo Social Europeo. “El Fondo Social Europeo invierte en tu futuro”
10
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
ACTIVIDAD CONEXIÓN REMOTA CAMBIO DE LA DIRECCIÓN IP DEL ROBOT 6.1 Objetivos de la actividad:
01.- Programar la dirección IP del robot. 02.- Entender qué pasos son necesarios en la programación de un router.
Conocimientos previos:
01.- Direcciones IP Características de las mismas. 02.- Redes locales Configuración y verificación. 03.- Routers Configuración y verificación.
Conocimientos relacionados:
01.- Procedimientos iniciales en el FlexPendant Manual FlexPendant Capítulo 3
Recursos necesarios
01.- Sistema Robot IRB120 u otro de mayor gama.
Archivos de imagen relacionados
PROYECTO FINANCIADO POR:
Actividad 6.1: Conexión remota. Cambio de la dirección IP del robot.
Archivos de programa relacionados
1
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
ACTIVIDAD CONEXIÓN REMOTA CAMBIO DE LA DIRECCIÓN IP DEL ROBOT 6.1 Objetivos: 1.- Cambiar la dirección IP del puerto del robot para crear una red LAN y tener conectividad remota.
3G
IP pública 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 configuración de un router para tener conectividad remota.
Procedimiento: a) Cambiar la dirección 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 dirección fija. Para ello hay que reiniciar el sistema clicando en ABB\ Reiniciar.
Actividad 6.1: Conexión remota. Cambio de la dirección IP del robot.
El puerto de servicio: sirve para conectar un ordenador punto a punto y ofrece algunos servicios como DHCP Server o FTPServer. Tiene asignada una IP fija. El puerto LAN: sirve para crear una red LAN y ofrece algunos servicios como DHCP Client o FTPServer también. La IP es configurable.
2
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
En la pantalla emergente, el FlexPendant muestra dos opciones de las cuales se elegirá la denominada Avanzadas que sirve para realizar varios tipos de arranque.
Actividad 6.1: Conexión remota. Cambio de la dirección IP del robot.
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 dirección IP.
3
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
En la pantalla donde se especifica la dirección IP, elegir la opción 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 dirección IP del robot en la red LAN. Subnet mask: Configura la máscara de subred.
Una vez realizada la configuración 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 dirección IP se puede observar el la barra superior de la pantalla del FlexPendant una vez reiniciado el sistema.
Actividad 6.1: Conexión remota. Cambio de la dirección IP del robot.
Default gateway: Configura la puerta de enlace. Esta dirección ha de ser la que tiene configurada el router por el lado de la red LAN
4
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
b) Configuración del router. Existen infinidad de routers en el mercado que sirven para las aplicaciones que en las actividades posteriores se describirán. Es imposible dar pautas particulares para la configuración de cada uno de ellos por lo que se describirán los aspectos generales a tener en cuenta a la hora de configurar los mismos. En primer lugar se ha de distinguir los dos lados que tienen dirección IP en un router sea éste de la tecnología que fuera. Distinguir entre: Dirección IP del lado de la red LAN: En las actividades se opta por una IP fija, que hay que configurar, de clase C (192.168.X.X) y la dirección que se configura es la que se denomina puerta de enlace o dicho de otro modo el punto de acceso por donde los dispositivos de red acceden a Internet.
En la imagen se observa la configuración de la IP del lado de la red LAN con el router utiizado.
Actividad 6.1: Conexión remota. Cambio de la dirección IP del robot.
Dirección IP del lado de Internet: El proveedor de servicios de internet asigna una IP diferente cada vez que el router se conecta a no ser que se tenga contratada una IP fija. Para las aplicaciones que se desarrollarán en las aplicaciones, esta IP debe de conocerse por lo que debería de ser fija. Como es una opción que hay que contratar, se utilizarán medios sencillos para saber cúal es la IP en el momento de conexión. Otra opción consiste en utilizar los servicios de un proveedor de DNS aunque antes hay que cercionarse de que ésta es una opción que la soporte el router elegido.
5
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados Del lado de internet no se ha de configurar ninguna IP pero para que las aplicaciones se dirijan al dispositivo de red deseado (en este caso el robot) se ha de “abrir los puertos” por los que las mismas quieren acceder desde Internet. Esta acción se realiza mediante la configuración de lo que la mayoría de los routers denominan Pot Fordward. En la imagen se observa dicha configuración en el router utiizado.
Para configurar los routers la mayoría de ellos tienen acceso a una web de configuración por lo que dicha configuración 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
Actividad 6.1: Conexión remota. Cambio de la dirección IP del robot.
Router 3G IP pública
6
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
ACTIVIDAD CONEXIÓN REMOTA TELEGESTIÓN CON FTP 6.2 Objetivos de la actividad:
01.- Realizar una conexión remota mediante FTP. 02.- Programar una aplicación sencilla para gestión remota.
Conocimientos previos:
01.02.03.04.-
Conocimientos relacionados:
01.- Procedimientos iniciales en el FlexPendant Manual FlexPendant Capítulo 3 02.- Instrucciones clkreset, clkstart, clkstop y clkread Manual de instrucciones, funciones y tipos de datos RAPID. 03.- Instrucción close Manual de instrucciones, funciones y tipos de datos RAPID. 04.- Instrucción return Manual de instrucciones, funciones y tipos de datos RAPID. 05.- Instrucciones Open…\Write y Open…\Append Manual de instrucciones, funciones y tipos de datos RAPID. 06.- Instrucción Write Manual de instrucciones, funciones y tipos de datos RAPID. 07.- Tipos de datos iodev Manual de instrucciones, funciones y tipos de datos RAPID.
Recursos necesarios
01.- Sistema Robot IRB120 u otro de mayor gama. 02.- 2 routers inalámbricos o ADSL y servicio de internet.
Direcciones IP Características de las mismas. Redes locales Configuración y verificación. Routers Configuración y verificación. FTP Aspectos generales y puertos utilizados.
Archivos de imagen relacionados 01.- Archivo de texto m3.txt con el programa del robot. 02.- Archivo de texto codigo con el código. 03.- Archivo EXCEL prod.csv con el informe en formato EXCEL.
PROYECTO FINANCIADO POR:
Actividad 6.2: Conexión remota. Telegestión con FTP.
Archivos de programa relacionados
1
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
ACTIVIDAD CONEXIÓN REMOTA TELEGESTIÓN CON FTP 6.2 Objetivos: 1.- Obtener datos de gestión de forma remota de un proceso de fabricación de un robot mediante FTP.
Cliente
Servidor FTP Control Puerto 21
Datos Puerto 20
3G
IP pública 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 módulo que genere una hoja EXCEL, que contendrá datos de producción tales como: día, hora, tiempo de realización de cada pieza y nº de piezas realizadas. Esta hoja EXCEL se podrá descargar a través de FTP.
Actividad 6.2: Conexión remota. Telegestión con FTP.
3.- Mediante un código se podrá elegir la pieza a realizar entre dos. Así: Si código = 1, se realizará la pieza 1 o pieza cuadrada. Si código = 2, se realizará la pieza 2 o pieza redonda. Si código diferente a 1 o 2, se lanzará un mensaje de error.
2
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Procedimiento: Nota: En todos los casos la máscara 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 dirección IP del robot es conocida, IP: 192.168.1.10 en el caso de la actividad como refleja la figura. La dirección IP se ha establecido en la actividad 6.1. 2.- Configurar el router del lado de la LAN atendiendo a la dirección IP: 192.168.1.1 ya que actúa 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 pública tiene asignada el router, accediendo a cualquiera de las páginas Web que ofrecen este servicio. Basta con buscarlas con cualquier buscador de páginas Web.
Actividad 6.2: Conexión remota. Telegestión con FTP.
3.- Realizar el Port Fordward (abrir los puertos) 20 y 21 para que la aplicación FTP pueda acceder al robot, que a su vez es servidor de FTP, cuya diracción IP es: 192.168.1.10
3
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
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.
2.- Para el editar el programa, existen dos opciones: Con un editor de texto normal, como puede ser el del bloc de notas, se puede escribir el programa que luego se transferirá mediante FTP a la carpeta HOME. Mediante el FlexPendant, programar el mismo y luego guardarlo. Con esta operación, también se guarda en la carpeta HOME.
Actividad 6.2: Conexión remota. Telegestión con FTP.
1.- Desde el ordenador cliente, se accede a la carpeta HOME, que está ubicada en el robot remoto que actúa como servidor de FTP, mediante Internet Explorer tecleando ftp://31.4.246.217 que es la IP pública remota (ver croquis de la conexión al principio de la actividad).
4
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
3.- El programa consiste en un módulo llamado m3 que como se observa en la figura anterior está en la carpeta HOME con la extensión .mod (m3.mod). El programa con su descripción es el siguiente: module m3 pers bool primero:=true; ! Variable persistente booleana var clock tc1;! Variable persistente de tipo clock para medir tiempos de producción. pers num contadorPiezas1:=0;! Variable persistente numérica para contar piezas tipo 1 pers num contadorPiezas2:=0;! Variable persistente numérica para contar piezas tipo 2 pers num codigo:=0;! Variable persistente numérica 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]];
ORGANIGRAMA RUTINA main()
Saltar a la rutina código(): Pieza 1 o pieza 2
SI
NO
¿Código =2?
SI
Poner en marcha temporizador : Clkreset y clkstart de tc1
Poner en marcha temporizador : Clkreset y clkstart de tc1
Saltar a rutina pieza1 r1() : Pieza 1: cuadrado
Saltar a rutina pieza2 r2() : Pieza 2: circunferencia
Parar temporizador : clkstop de tc1
Parar temporizador : clkstop de tc1
Saltar a rutina InformePro() : Realizar informe con pieza1
Saltar a rutina InformePro() : Realizar informe con pieza2
Actividad 6.2: Conexión remota. Telegestión con FTP.
¿Código =1?
5
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
proc main() lecturaCod; ! Va a rutina código que está en HOME para ver si el código es 1 (R1) o 2 (R2) ! ------------------------------------------------------------------------------------! Lectura de parámetros piezas si código=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 ejecución 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 producción de pieza1 endif ! -------------------------------------------------------------------------------------! Lectura de parámetros piezas si código=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 ejecución 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 producción 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
Finalizar ejecución rutina : Instrucción Return
Codigo:= ReadNum (fichero) : Var codigo = nº del fichero
Cerrar fichero : Siempre cerrar fichero abierto
Cerrar fichero : Siempre cerrar fichero abierto
Actividad 6.2: Conexión remota. Telegestión con FTP.
ORGANIGRAMA RUTINA fichero()
Abrir fichero “codigo.txt” : Fichero guardado en HOME
6
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
! -------------------------------------------------------------------------------------! Lectura del fichero código. Procedimiento para leer el código que está en HOME\codigo.txt. Si el código 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 código que está en HOME\codigo.txt para ver si el código es 1 (R1) o 2 (R2) codigo:=ReadNum(fichero); ! Lee el número 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 código de la pieza a realizar. Open "HOME:" \File:= "codigo.txt", fichero \read; La instrucción abre el fichero "codigo.txt" que está en HOME y lee su contenido. ************************************************************************************
ORGANIGRAMA RUTINA informePro () ¿Var bool primero?
false
Abrir fichero “prod.csv” : Fichero guardado en HOME
Abrir fichero “prod.csv” : Fichero guardado en HOME
Escribir datos en el fichero : Día, hora,referencia, tiempo y nº
Añadir datos en el fichero : Día, hora,referencia, tiempo y nº
Cerrar fichero : Siempre cerrar fichero abierto
Cerrar fichero : Siempre cerrar fichero abierto
Forzar var bool primero a false : Para que añada datos
Forzar var bool primero a false : Para que añada datos
Actividad 6.2: Conexión remota. Telegestión con FTP.
true
7
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
! -------------------------------------------------------------------------------------! Generación 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: día, hora, referencia, tiempo-pieza y nº piezas close fichero; ! Cerrar fichero primero:=false;! Cambiar la condición 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 instrucción 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 instrucción valtostr. Para que cada dato se escriba en una casilla consecutiva hay que separarlos mediante el signo ";"
Open "HOME:" \File:= "prod.csv", fichero \Append; La redacción de esta instrucción, difiere de la de la primera comentada en el argumento \Append en vez de \Write . Es debido a que en un fichero que se ha escrito, solamente se puede añadir y no escribir otra vez. Por eso se necesita una variable bool primero para que la primera vez sea cierta (true) y realice la escritura de los datos y a partir de ese momento se fuerce a que sea falsa (false) y añada los datos en el fichero ************************************************************************************ ! -------------------------------------------------------------------------------------! Rutinas r1() o pieza cuadrada y r2() o pieza redonda ! ------------------------------------------------------------------------------------proc r1() MoveAbsJ jpos10\NoEOffs, v1000, z50, tool1; MoveJ p10, v1000, fine, tool1; MoveL p20, v1000, fine, tool1; MoveL p30, v1000, fine, tool1; MoveL p40, v1000, fine, tool1; MoveL p10, v1000, fine, tool1; endproc
Actividad 6.2: Conexión remota. Telegestión con FTP.
close fichero; El fichero abierto hay que cerrarlo porque en la próxima llamada no se puede abrir un fichero que ya está abierto.
8
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
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, sería muy difícil 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 estarían en la RAM y no en HOME.
Como se observa, los dos archivos mencionados se pueden ver en HOME.
Actividad 6.2: Conexión remota. Telegestión con FTP.
4.- Si el programa está escrito o se modifica con un editor de textos basta con pegarlo en la pantalla, con la extensión .mod (m3.mod), que a través de Internet explorer se ha abierto mediante FTP y que corresponde a la carpeta HOME. Hay que realizar la misma operación con el fichero “codigo.txt” cada vez que hay que cambiar de pieza como se ve en la figura del archivo.
9
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
5.- Mediante el FlexPendant, se cargará el programa mediante el procedimiento conocido, Modulos\Archivo\Cargar módulo . Clicando en el icono acceder a la carpeta HOME del controlador y seleccionar el fichero m3.mod, que contiene el programa.
Actividad 6.2: Conexión remota. Telegestión con FTP.
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
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
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 gestión se observan 2 tiempos que llaman la atención: En la línea 7: un tiempo de 126,304s de parada de producción porque la pieza producida sigue siendo la misma. En la línea 9: un tiempo de 146,52s de parada debido a cambio de pieza porque la siguiente pieza producida es diferente.
Actividad 6.2: Conexión remota. Telegestión con FTP.
En total se han producido 4 piezas con referencia pieza1 (cuadrado) y 7 piezas con referencia pieza2 (circunferencia).
11
Actividad 6.2: Conexión remota. Telegestión con FTP.
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
12
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
ACTIVIDAD CONEXIÓN REMOTA. TELEMANTENIMIENTO y TELEGESTIÓN CON RobotStudio 6.3 Objetivos de la actividad:
01.- Realizar una conexión remota mediante RobotStudio. 02.- Programar una aplicación sencilla para gestión remota.
Conocimientos previos:
01.02.03.04.-
Conocimientos relacionados:
01.- Procedimientos iniciales en el FlexPendant Manual FlexPendant Capítulo 3 02.- Instrucciones clkreset, clkstart, clkstop y clkread Manual de instrucciones, funciones y tipos de datos RAPID. 03.- Instrucción close Manual de instrucciones, funciones y tipos de datos RAPID. 04.- Instrucción return Manual de instrucciones, funciones y tipos de datos RAPID. 05.- Instrucciones Open…\Write y Open…\Append Manual de instrucciones, funciones y tipos de datos RAPID. 06.- Instrucción Write Manual de instrucciones, funciones y tipos de datos RAPID. 07.- Tipos de datos iodev Manual de instrucciones, funciones y tipos de datos RAPID. 08.- Tipos de variables persistentes Manual de instrucciones, funciones y tipos de datos RAPID.
Recursos necesarios
01.- Sistema Robot IRB120 u otro de mayor gama. 02.- 2 routers inalámbricos o ADSL y servicio de internet.
Archivos de imagen relacionados Archivos de programa relacionados
01.- Archivo de texto mod3.txt con el programa del robot. 02.- Archivo EXCEL prod.csv con el informe en formato EXCEL.
PROYECTO FINANCIADO POR:
Actividad 6.3: Conexión remota. Telemantenimiento y telegestión con RobotStudio.
Direcciones IP Características de las mismas. Redes locales Configuración y verificación. Routers Configuración y verificación. RobotStudio Aspectos generales y puertos utilizados.
1
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
ACTIVIDAD CONEXIÓN REMOTA TELEGESTIÓN CON RobotStudio 6.3 Objetivos: 1.- Obtener datos de gestión de forma remota de un proceso de fabricación de un robot mediante RobotStudio.
RobotStudio
RobScanHost
RobComCtrlServer
Puertos: 5512...5514 Puertos: 5514...5515
3G
IP pública 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 elección de la pieza a realizar se pueda realizar cambiando el valor de la variable “codigo” en el mismo programa. 3.- Mantener la generación de la hoja EXCEL, que se se podrá descargar a través de FTP. 3.- Mantener el código para poder elegir la pieza a realizar entre dos: Si código = 1, se realizará la pieza 1 o pieza cuadrada. Si código = 2, se realizará la pieza 2 o pieza redonda.
Actividad 6.3: Conexión remota. Telemantenimiento y telegestión con RobotStudio.
IP: 192.168.1.5
2
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Procedimiento: Nota: En todos los casos la máscara 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 dirección IP del robot es conocida, IP: 192.168.1.10 en el caso de la actividad como refleja la figura. La dirección IP se ha establecido en la actividad 6.1. 2.- Configurar el router del lado de la LAN atendiendo a la dirección IP: 192.168.1.1 ya que actúa 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 pública tiene asignada el router, accediendo a cualquiera de las páginas Web que ofrecen este servicio. Basta con buscarlas con cualquier buscador de páginas Web.
b) Conexión con el robot. 5.- Arrancar el programa RobotStudio y sin cargar ningún programa existente clicar en la pestaña En línea. A continuación clicar en la opción Añadir controlador tal y como indica la figura :
En la ventana emergente, escribir la IP pública del router remoto que, como aparece en el croquis de la actividad es IP: 88.29.58.116. A continuación clicar en Añadir y posteriormente en Aceptar.
Actividad 6.3: Conexión remota. Telemantenimiento y telegestión con RobotStudio.
3.- Realizar el Port Fordward (abrir los puertos) para que el programa RobotStudio pueda acceder al robot.
3
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
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 automático. SI NO SE PUEDE ASEGURAR EL FUNCIONAMIENTO SEGURO: No realizar esta actividad. Los servicios RobComCtrlServer y RobScanHost los arranca RobotStudio al ponerlo en línea. 6.- Trabajando En línea, desplegar el explorador de la izquierda y se puede acceder a los programas, como por ejemplo el módulo m3.
Actividad 6.3: Conexión remota. Telemantenimiento y telegestión con RobotStudio.
Para poder realizar la conexión, el robot ha de estar en automático ya que la conexión en línea así lo requiere. Por tanto:
4
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
7.- Para poder modificar el programa desde RobotStudio\En línea, 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 código de la pieza a producir y no tener que leerlo en un fichero ubicado en HOME. module m3
proc main() ! ------------------------------------------------------------------------------------! Lectura de parámetros piezas si código=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 ejecución 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 producción de pieza1 endif ! -------------------------------------------------------------------------------------! Lectura de parámetros piezas si código=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 ejecución 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 producción de pieza2 endif endproc ! -------------------------------------------------------------------------------------! Generación 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: día, hora, referencia, tiempo-pieza y nº piezas close fichero; ! Cerrar fichero primero:=false;! Cambiar la condición para que de aquí en adelante ejecute else
Actividad 6.3: Conexión remota. Telemantenimiento y telegestión con RobotStudio.
pers bool primero:=true; ! Variable persistente booleana var clock tc1;! Variable persistente de tipo clock para medir tiempos de producción. pers num contadorPiezas1:=0;! Variable persistente numérica para contar piezas tipo 1 pers num contadorPiezas2:=0;! Variable persistente numérica para contar piezas tipo 2 pers num codigo:=0;! Variable persistente numérica para elegir piezas tipo 1 o tipo 2 CONST robtarget p10:=[[302.71,137.27,21.14],[0.032911,-0.647625,…… CONST robtarget p20:=[[422.91,137.28,21.13],[0.0329148,-0.647587,…… CONST robtarget p30:=[[422.91,58.56,21.13],[0.0329133,-0.647589,…… CONST robtarget p40:=[[302.52,57.67,21.13],[0.0329093,-0.647581,…… CONST robtarget p50:=[[375.53,-60.55,19.86],[0.0334222,-0.895598,…… CONST robtarget p70:=[[356.78,-159.76,17.80],[0.0313382,-0.926907,,…… CONST robtarget p60:=[[402.27,-117.47,17.80],[0.0313394,-0.926905,…… CONST robtarget p80:=[[297.68,-101.07,17.80],[0.0313409,-0.926907,……
5
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados 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 ! -------------------------------------------------------------------------------------! Rutinas r1() o pieza cuadrada y r2() o pieza redonda ! ------------------------------------------------------------------------------------proc r1() MoveAbsJ jpos10\NoEOffs, v1000, z50, tool1; MoveJ p10, v1000, fine, tool1; MoveL p20, v1000, fine, tool1; MoveL p30, v1000, fine, tool1; MoveL p40, v1000, fine, tool1; MoveL p10, v1000, fine, tool1; endproc 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
9.- Una vez realizadas las modificaciones pulsar en el icono para Aplicar los cambios y si no hay errores, clicar entre las líneas del programa con el botón derecho del ratón para situar el puntero en main. Posteriormente se puede poner en marcha el robot clicando el icono ejecutará el programa siempre y cuando se encuentre en automático.
de Inicio. El robot
Actividad 6.3: Conexión remota. Telemantenimiento y telegestión con RobotStudio.
endmod
6
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
10.- Para parar el robot clicar el icono de Detener. El robot se parará y podemos observar las variables actualizadas. Si se quiere cambiar la producción de las piezas, basta con cambiar el valor de la variable código: codigo:=1 cambiándola a codigo:=2.
proc main() ! ------------------------------------------------------------------------------------! Lectura de parámetros piezas si código=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 ejecución 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 producción de pieza1 endif ! -------------------------------------------------------------------------------------! Lectura de parámetros piezas si código=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 ejecución 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 producción 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 ejecución de la última pieza, reloj:= 2,421s.
Actividad 6.3: Conexión remota. Telemantenimiento y telegestión con RobotStudio.
11.- Para saber el tiempo de producción de cada pieza, se crea una variable pers num reloj := 0; y se realiza una asignación con el valor del tiempo contado por el cronómetro reloj:= clkread(tc1); para poder leerlo. Insertando la instrucción en la rutina main, como se ve en la parte de programa correspondiente:
7
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
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 producción de la última pieza (pieza1): 2,421s.
13.- Se define “Telemantenimiento”, como actuar o tener información sobre señales de sistema o realizar copias de seguridad. Para ello se necesita realizar dos pasos: Crear señales de usuario. Configurar la acción. Para ver acciones de sistema que se pueden configurar acudir a: Help RobotStudio \ Parámetros del sistema \ Tema I/O \ Elegir: System Input: No se pueden actuar directamente desde OPC, porque solo son de tipo Read Motores On Start… System Output: Se pueden actuar directamente desde OPC, porque solo son de tipo Read/Write Auto On Emergency Stop… 14.- Se pretende realizar una copia de seguridad o backup en HOME para que, vía FTP se pueda obtener la copia de seguridad de modo remoto. Los pasos a dar son los siguientes: 1. Crear una salida digital DO_Backup que se puede escribir o forzar directamente, porque las salidas son de tipo Read/Write. 2. Crear una entrada digital DI_Backup que no se puede escribir o forzar directamente, porque las entradas son solo de tipo Read. 3. Relacionar las dos señales, realizanzo lo que se denomina Cross Connection o cruce de señales (Relacionar DO_Backup con DI_Backup) 4. Configurar la acción de DI_Backup que consiste en realizar: BACKUP\Arg1\Arg2\Arg3 5. Crear 2 salidas: DO_EndProceso Señal de Status para ver cuando finaliza el backup. DO_ErrorBackup Señal de Status para poder ver si falla el backup.
Actividad 6.3: Conexión remota. Telemantenimiento y telegestión con RobotStudio.
c) Creación de una copia de seguridad (backup) del robot.
8
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
En la siguiente figura se observa el esquema gráfico de lo que se desea realizar.
16.- Relacionar las dos señales creadas para que la salida DO_BACKUP (Que se puede forzar o escribir) actúe sobre la entrada DI_BACKUP (Que no se puede forzar o escribir). Para ello realizar lo que se denomina Cross Connection. Clicar en Configuración\ I/O \ Cross Connection y clicando con el botón derecho, Añadir Cross Connection. Se relacionarán las dos señales citadas.
17.- Con la señal de entrada DI_BACKUP y configurar la acción System Input que consiste en realizar: BACKUP\Arg1\Arg2\Arg3 Signal Name: DI_BACKUP, señal con la que se inicia la acción. Action: BACKUP, qué acción 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.
Actividad 6.3: Conexión remota. Telemantenimiento y telegestión con RobotStudio.
15.- Crear una señal de entrada denominada DI_BACKUP y otra señal de salida denominada DO_BACKUP. Clicar en Configuración\ I/O \Signal y clicando con el botón derecho, Añadir Signal.
9
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
18.- Para que las señales programadas sean operativas hace falta reiniciar el sistema o realizar lo que se llama Arranque en caliente. Debajo de la pestaña En línea se ubica el botón Reiniciar para realizar dicho arranque.
20.- Al realizar la conexión a la dirección remota mediante FTP, se observa la carpeta correspondiente al BACKUP denominada PruebaBackup. El contenido de esta carpeta se puede ver en la misma imagen aunque para ello hay que abrirla obviamente.
Actividad 6.3: Conexión remota. Telemantenimiento y telegestión con RobotStudio.
19.- Forzando la salida DO_BACKUP ésta, activará la entrada DI_BACKUP que a su vez realizará la acción : BACKUP\Arg1\Arg2\Arg3.
10
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
d) Contabilización del tiempo de parada del robot. 21.- Se define evento como la actuación o la obtención de información sobre señales de sistema. En este caso se va a emparejar eventos del sistema con una rutina, para contar el tiempo que está parado el robot. La estructura del programa es la siguiente: EVENTOS PERMITIDOS:
RUTINA: Módulo 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 posición en que se para. STARTR arranca si Pp siempre a main CLK Stop R1; CLTPWrite “Tiempo de paro=”\num:= Clkread(R1); ENDPROC
PROC RESTARTR() STARTRlo haría si siempre arranca desde ************************************************************************************ Pp a main Comentario: CLK Stop R1; CLTPWrite “Tiempo de Al poner en marcha el robot, primero se ejecutan los eventos y a paro=”\num:= continuación Claread(R1); los programas. Por ejemplo si se activa Stop en el siguiente arranque arranca primero el evento y después el programa. ENDPROC ************************************************************************************ ENNDMOD
Para ver los eventos de sistema que se pueden ejecutar, acudir a: Help RobotStudio \ Parámetros del sistema \ Tema Controller \ Tipo Event.
Actividad 6.3: Conexión remota. Telemantenimiento y telegestión con RobotStudio.
ENNDMOD
11
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
22.- Para emparejar el evento con la rutina, clicar en a: Controller \ Event Routine. Clicando el botón derecho del ratón, Añadir Event Routine.
Hay que añadir otro evento emparejando el evento RESTART con la rutina (STArTR) porque hay que parar el cronómetro 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.
Actividad 6.3: Conexión remota. Telemantenimiento y telegestión con RobotStudio.
Al añadir 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
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
23.- Para poder ver el tiempo de parada en el FlexPendant, dado que sea programado una línea para que la información salga en dicha pantalla, el programa dispone de un Visor FlexPendant virtual que permite ver lo mismo que muestra el FlexPendant físico. Dado que este último está ubicado en un lugar remoto, es el único modo de ver cuál es la información que muestra. El Visor FlexPendant se activa en la misma pestaña En línea tal y como se ve en la siguiente figura.
e) Visualización y forzado de entradas y salidas del robot.
24.- Para el mantenimiento es muy útil observar e incluso a veces poder forzar las entradas y salidas de los dispositivos. En este caso es muy fácil realizar estas operaciones con RobotStudio En línea, basta con ir desplegando desde el explorador las señales que se quieren cambiar. Sobre la señal de salida que se quiere cambiar (recordar que solamente se puede escribir sobre las salidas y no sobre las entradas) clicar dos veces o con el botón derecho del ratón elegir cambiar a 1, como se observa en la siguiente figura:
Actividad 6.3: Conexión remota. Telemantenimiento y telegestión con RobotStudio.
Cada vez que se para el robot y se vuelve a arrancar, el cronómetro R1 contabiliza el tiempo transcurrido. Dicho tiempo de parada se muestra en la pantalla del FlexPendant.
13
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Para observar el estado de las entradas como son los sensores, pulsadores…, basta con observarlas.
De la misma forma que se visualizan las entradas físicas se puede visualizar otro tipo de entradas como pudieran ser entradas virtuales.
Actividad 6.3: Conexión remota. Telemantenimiento y telegestión con RobotStudio.
Cuando éstas están activadas, se muestran con un 1 dentro de un círculo de color amarillento, cuando están desactivadas se muestra un 0 en un círculo gris.
14
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
ACTIVIDAD CONEXIÓN REMOTA TELEGESTIÓN CON OPC 6.4 Objetivos de la actividad:
01.- Programar la dirección IP del robot. 02.- Entender qué pasos son necesarios en la programación de un router.
Conocimientos previos:
01.- Direcciones IP Características de las mismas. 02.- Redes locales Configuración y verificación. 03.- Routers Configuración y verificación.
Conocimientos relacionados:
01.- Procedimientos iniciales en el FlexPendant Manual FlexPendant Capítulo 3
Recursos necesarios
01.- Sistema Robot IRB120 u otro de mayor gama. 02.- 2 routers inalámbricos o ADSL y servicio de internet.
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.
PROYECTO FINANCIADO POR:
Actividad 6.4: Conexión remota. Telegestión con OPC.
Archivos de programa relacionados
1
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
ACTIVIDAD CONEXIÓN REMOTA TELEGESTIÓN CON OPC 6.4 Objetivos: 1.- Obtener datos de gestión de forma remota de un proceso de fabricación de un robot mediante OPC. RobScanHost
PC1
RobComCtrlServer
Puertos: 5512...5514 Puertos: 5514...5515
3G
IP pública fija o conocida: 88.29.166.95
OPC Server ABB Client OPC
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 módulo programado y guardado en el disco duro del robot (HOME), que genera la hoja EXCEL que contiene datos de producción tales como: día, hora, tiempo de realización de cada pieza y nº de piezas realizadas. Esta hoja EXCEL se podrá descarcar a través 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 código = 1, se realizará la Si código = 2, se realizará la Si código diferente a 1 o 2,
cual, introduciendo un código se podrá elegir la pieza a pieza 1 o pieza cuadrada. pieza 2 o pieza redonda. se lanzará un mensaje de error.
5.- En todos los casos la máscara de subred utilizada es 255.255.255.0 Para poder realizar la conexión, el robot ha de estar en automático. 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 automático. SI NO SE PUEDE ASEGURAR EL FUNCIONAMIENTO SEGURO: No realizar esta actividad. Los servicios RobComCtrlServer y RobScanHost los arranca RobotStudio al ponerlo en línea.
Actividad 6.4: Conexión remota. Telegestión con OPC.
2.- Las variables del programa han de ser persistentes.
2
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Procedimiento: a) Configurar la red local del robot. 1.- Asegurarse que la dirección IP del robot es conocida, IP: 192.168.1.10 en el caso de la actividad como refleja la figura. La dirección IP se ha establecido en la actividad 6.1. 2.- Configurar el router del lado de la LAN atendiendo a la dirección IP: 192.168.1.1 ya que actúa como puerta de enlace que el robot tiene configurada. 3.- Realizar el Port Fordward (abrir los puertos) para que los procesos necesarios para la comunicación remota con el robot, estén activos. Estos procesos se pueden activar ejecutando el programa RobotStudio y poniendo el mismo en línea. De otro modo habría que realizar alguna aplicación 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 dirección IP fija. b) Arrancar OPC ServerABB.
Actividad 6.4: Conexión remota. Telegestión con OPC.
5.- Arrancar el programa OPCServerABB y clicar en el icono nuevo alias y en la pantalla siguiente escribir la IP pública del router, 88.29.166.95 y clicar Scan, cuando encuentra la dirección pulsar Create le asignándole un nombre de alias.
3
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
6.- Una vez establecida la conexión, el icono tiene los dos lados juntos o “enchufados”, clicar en la pestaña Server Control y clicar en el botón Start. En este momento el servidor está arrancado. Si no se pulsa el botón Start, el servidor OPC está parado.
c) Comunicación con Client OPC Quick Data Client. 6.- Una vez arrancado OPCServerABB, arrancar el programa ciente OPC Quick Data Client.
7.- Configurar el servidor OPC, OPCServerABB. Clicar Configure\Tag Server, y clicar de nuevo con el botón derecho sobre la etiqueta generada para añadir el servidor Add Server.
Actividad 6.4: Conexión remota. Telegestión con OPC.
8.- Seleccionar de entre todos los posibles servidores OPC, clicar la IP pública del router donde está conectado el robot y pulsar Add.
4
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
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 botón 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.
d) Comunicación con Client OPC KeepServer.
Procediendo de forma similar al anterior, añadir el servidor OPC, seleccionando de entre todos los posibles OPCServerABB.
7.- Configurar
Actividad 6.4: Conexión remota. Telegestión con OPC.
11.Una vez arrancado OPCServerABB, arrancar el programa OPC KeepServerEx, opción OPC Quick Client.
5
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
12.- Con el servidor registrado en el explorador (ABB.IRC5.OPC.Server) crear un nuevo Grupo clicando con el botón derecho sobre la etiquetas que aparece, y posteriormente crear nuevo un Item.
10.- Para variar el valor de una variable desde Client OPC, clicar con el botón 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.
Actividad 6.4: Conexión remota. Telegestión con OPC.
13.- En la pantalla desplegada, ir abriendo el árbol y elegir los tags como se indica en la figura.
6
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
ACTIVIDAD CONEXIÓN REMOTA. TELEMANTENIMIENTO y TELEGESTIÓN CON UN PROGRAMA SCADA 6.5 Objetivos de la actividad:
01.- Programar la dirección IP del robot. 02.- Entender qué pasos son necesarios en la programación de un router.
Conocimientos previos:
01.- Direcciones IP Características de las mismas. 02.- Redes locales Configuración y verificación. 03.- Routers Configuración y verificación.
Conocimientos relacionados:
01.- Procedimientos iniciales en el FlexPendant Manual FlexPendant Capítulo 3
Recursos necesarios
01.- Sistema Robot IRB120 u otro de mayor gama. 02.- 2 routers inalámbricos o ADSL y servicio de internet.
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.
PROYECTO FINANCIADO POR:
Actividad 6.5: Conexión remota. Telemantenimiento y telegestión con un programa SCADA.
Archivos de programa relacionados
1
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
ACTIVIDAD CONEXIÓN REMOTA. TELEMANTENIMIENTO y TELEGESTIÓN CON UN PROGRAMA SCADA 6.5 Objetivos: 1.- Obtener datos de gestión y mantenimiento de forma remota de un proceso de fabricación de un robot mediante OPC con un entorno gráfico industrial utilizando un programa SCADA.
RobScanHost
PC1
RobComCtrlServer
Puertos: 5512...5514 Puertos: 5514...5515
3G
IP pública fija o conocida: 88.29.166.95
OPC Server ABB GPRS/UMTS 3G
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 contínuo a 2 horas y el nº de puntos máximo 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 acción 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 módulo de programa que genera la hoja EXCEL que contiene datos de producción tales como: día, hora, tiempo de realización 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 través de FTP. 4.- Utilizar el módulo de programa utilizado en anteriores actividades, mediante el cual, introduciendo un código se podrá elegir la pieza a realizar entre dos. Así: Si código = 1, se realizará la pieza 1 o pieza cuadrada. Si código = 2, se realizará la pieza 2 o pieza redonda. Si código diferente a 1 o 2, se lanzará un mensaje de error. 5.- En todos los casos la máscara de subred utilizada es 255.255.255.0
Actividad 6.5: Conexión remota. Telemantenimiento y telegestión con un programa SCADA.
ADSL
2
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Procedimiento: a) Configurar la red local del robot. 1.- Asegurarse que la dirección IP del robot es conocida, IP: 192.168.1.10 en el caso de la actividad como refleja la figura. La dirección IP se ha establecido en la actividad 6.1. 2.- Configurar el router del lado de la LAN atendiendo a la dirección IP: 192.168.1.1 ya que actúa como puerta de enlace que el robot tiene configurada. 3.- Realizar el Port Fordward (abrir los puertos) para que los procesos necesarios para la comunicación remota con el robot, estén activos. Estos procesos se pueden activar ejecutando el programa RobotStudio y poniendo el mismo en línea. De otro modo habría que realizar alguna aplicación 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 dirección 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 pública del router, 88.29.166.95 y clicar Scan, cuando encuentra la dirección pulsar Create le asignándole un nombre de alias.
Actividad 6.5: Conexión remota. Telemantenimiento y telegestión con un programa SCADA.
Para la obtención del informe en EXCEL mediante FTP, se han de “abrir” los puertos correspondientes.
3
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
c) Comunicación con Client OPC SCADA CX-Supervisor de OMRON. 7.- Se va a diseñar una pantalla donde, de un modo cómodo e intuitivo, se van a poder controlar datos que el robot suministra, estado de los sensores auxiliares que tiene la instalación y datos de programa.
Las aplicaciones SCADA contienen 2 programas fundamentalmente: Un programa de diseño donde se diseña la pantalla o pantallas, se definen las variables a controlar y se estipula la animación que deben de tener los objetos. Otro programa llamado normalmente Run Time, donde se ejecuta todo lo programado en la pantalla de diseño.
Actividad 6.5: Conexión remota. Telemantenimiento y telegestión con un programa SCADA.
6.- Una vez establecida la conexión, el icono tiene los dos lados juntos o “enchufados”, clicar en la pestaña Server Control y clicar en el botón Start. En este momento el servidor está arrancado. Si no se pulsa el botón Start, el servidor OPC está parado.
4
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Los símbolos # se relacionan con datos de programa o datos del robot que sean números enteros, booleanos o de tipo texto. Los símbolos #.## se relacionan con datos de programa o datos del robot que sean números reales. Los textos aparecen tal y como están redactados. Se añaden botones para acceder a funciones de mantenimiento (Backup / fichero informe…). Se añaden animaciones para mostrar u ocultar textos en función de los valores de ciertos puntos (Motores On/ Motores Off…). Se añaden animaciones para cambiar de color objetos cuadrados o redondos en función 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 diseño, 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 comunicación, 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.
Actividad 6.5: Conexión remota. Telemantenimiento y telegestión con un programa SCADA.
8.- La pantalla de diseño tiene el siguiente aspecto:
5
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
10.- Una vez seleccionada dentro de los atributos de E/S la opción OPC, se ha de configurar la primera vez el servidor OPC, pulsando Configuración. Los pasos a dar son los siguientes: Elegir en la opción servidor: OMRONCXOPCCommunications Control.
En la siguiente pantalla elegir el servidor OPC, para poder acceder a los datos del robot, éste, obviamente, ha de ser OPCServerABB.
11.- Agregar Elemento para definir el punto que será servido por el servidor OPC
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.
Actividad 6.5: Conexión remota. Telemantenimiento y telegestión con un programa SCADA.
Agregar un grupo donde se vayan a definir un conjunto de puntos. Por ejemplo grupo 1 (Ver siguiente imagen).
6
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
14.- Para seguir añadiendo puntos, basta repetir el proceso descrito en los puntos 11, 12 y 13. En la siguiente figura se muestra la creación de otro grupo de variables (grupo 2) donde se incluirán las relativas al mantenimiento.
Para añadir nuevos puntos, basta con clicar sobre la parte derecha en la pestaña Grupos/elementos OPC con el botón derecho del ratón y elegir Añadir elementos.
Actividad 6.5: Conexión remota. Telemantenimiento y telegestión con un programa SCADA.
13.- Basta con clicar sobre la variable deseada, que aparece con una etiqueta, para elegirla. Para terminar el proceso de definición del punto, ir cerrando todas la pantallas pulsando la opción Aceptar.
7
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
15.- En la siguiente figura se muestran los puntos relativos a la telegestión, definidos en el grupo 1 con su nombre, tipo de dato, tipo de E/S, y dirección.
e) Aplicación SCADA CX-Supervisor de OMRON. 16.- Arrancar la aplicación pulsando el icono , mediante el icono o mediante el disco creado con el programa de diseño. En las dos figuras que se presentan a continuación se observa como los iconos del programa de diseño se sustituyen por sus valores una vez arrancado el programa de aplicación, tal y como se descrito en el punto 8.
Se observan todos los datos de gestión, excepto la obtención del informe EXCEL que se ha utilizado en las anteriores actividades, que se obtiene con otro botón que se describirá más adelante.
Actividad 6.5: Conexión remota. Telemantenimiento y telegestión con un programa SCADA.
16.- El resto de los puntos, relativos al telemantenimiento, se han definido en otro grupo. No obstante, se podrían haber definido en el grupo anterior.
8
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Salvo el código de pieza a producir que se puede leer y escribir, todas las demás variables son solamente de lectura. Así, se pueden leer: Datos del robot: IP del robot, reloj del mismo, estado del controlador y modo de operación. Datos del programa: Código 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 imágenes se observa la animación del paso del conmutador de manual a automático 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:
Cambio del conmutador de manual a automático. Solicitud de confirmación de dicho cambio al FlexPendant:
18.- En las siguientes imágenes se observa la animación del estado de los sensores en función de que éstos estén activados o no:
Actividad 6.5: Conexión remota. Telemantenimiento y telegestión con un programa SCADA.
Solicitud confirmada y motores On:
9
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
19.- Para acceder al informe de producción en formato EXCEL, se ha habilitado un botón 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 señal 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 automático. 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 automático. SI NO SE PUEDE ASEGURAR EL FUNCIONAMIENTO SEGURO: No realizar esta actividad.
Actividad 6.5: Conexión remota. Telemantenimiento y telegestión con un programa SCADA.
20.- Para crear la copia de seguridad, se ha habilitado un botón que arranca el clienteOPC Quick Data para poder forzar la señal que inicia el proceso, ya que el programa SCADA utilizado, no puede escribir datos a través de OPCServerABB como se ha mencionado anteriromente.
10
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
ACTIVIDAD CONEXIÓN REMOTA TELEGESTIÓN CON SOCKETS 6.6 Objetivos de la actividad:
01.- Programar la dirección IP del robot. 02.- Entender qué pasos son necesarios en la programación de un router.
Conocimientos previos:
01.02.03.04.-
Conocimientos relacionados:
01.- Procedimientos iniciales en el FlexPendant Manual FlexPendant Capítulo 3
Recursos necesarios
01.- Sistema Robot IRB120 u otro de mayor gama. 02.- 2 routers inalámbricos o ADSL y servicio de internet.
Direcciones IP Características de las mismas. Redes locales Configuración y verificación. Routers Configuración y verificación. VisualBasic Programación.
Archivos de imagen relacionados 01.- Archivo de VisualBasic. Aplicación CLIENTE_SERVER_Sockets.zip
PROYECTO FINANCIADO POR:
Actividad 6.6: Conexión remota. Telegestión con Sockets.
Archivos de programa relacionados
1
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
ACTIVIDAD CONEXIÓN REMOTA TELEGESTIÓN CON SOCKETS 6.6 Objetivos: 1.- Obtener datos de gestión de forma remota de un proceso de fabricación de un robot mediante FTP.
RobotStudio Puerto: 1024
3G
IP pública 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.
Actividad 6.6: Conexión remota. Telegestión con Sockets.
3.- Realizar una aplicación en VisualBasic para que mediante un entorno gráfico, se pueda seleccionar y obtener información de la tarea desarrollada de una forma sencilla.
2
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Procedimiento: Nota: En todos los casos la máscara de subred utilizada es 255.255.255.0
a) Configurar la red local del robot. 1.- Asegurarse que la dirección IP del robot es conocida, IP: 192.168.1.10 en el caso de la actividad como refleja la figura. La dirección IP se ha establecido en la actividad 6.1. 2.- Configurar el router del lado de la LAN atendiendo a la dirección IP: 192.168.1.1 ya que actúa como puerta de enlace que el robot tiene configurada. 3.- Realizar el Port Fordward (abrir el puerto) 1024 para que la aplicación de Visual Basic pueda acceder mediante sockets al robot, que actúa como servidor, cuya diracción IP es: 192.168.1.10 Service Name RobComSocket
Protocol TCP
Port 1024
Robot IP 192.168.1.10
4.- Averiguar la IP del lado de internet que el proveedor de servicios ha asignado, si no se tiene una IP fija.. b) Programar el robot. 5.- El programa consiste en un módulo llamado m3 que como se observa en la figura anterior está en la carpeta HOME con la extensión .mod (m3.mod). El programa con su descripción es el siguiente:
local var bool conectar:=TRUE; local VAR socketdev server_socket; local VAR socketdev client_socket; local VAR string receive_string; local VAR string client_ip; LOCAL CONST robtarget p10 := [[362.63,- 5.70,711.93],[0.652637,0.271942,0.652783,0.272007],[-1,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; LOCAL CONST robtarget p20 := [[115.52,-116.50,1146.95], [0.917817,0.0408685, 0.0981002,-0.382517],[-1,0,-1,1], [9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; LOCAL CONST robtarget p30 := [[-259.04,255.96,802.07],[0.717217,-0.23988,0.584172,-0.294619],[-1,0,-1,7],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
Actividad 6.6: Conexión remota. Telegestión con Sockets.
MODULE MainModule
3
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
! ------------------------------------------------------------------------------------! Conexión 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 zócalo para comunicación SocketBind server_socket, ipx, portx; ! Enlaza un zócalo al número de puerto de servidor (1024) y la dirección 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 conexión 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 conexión 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
Actividad 6.6: Conexión remota. Telegestión con Sockets.
test strx ! Selecciona el caso cuyo string coincida con strx case "hola": SocketSend client_socket \Str := "Hola! - cliente con dirección IP ="+client_ip; !MoveJ p10, v300, z50, tool0; case "bye": SocketSend client_socket \Str := "Hasta luego !! "; !MoveJ p10, v300, z50, tool0; case "home": SocketSend client_socket \Str := " Mover a home "; !MoveJ p20, v300, z50, tool0; case "r1": SocketSend client_socket \Str := " Mover a r1 "; !MoveJ p30, v1000, z50, tool0; case "r2": SocketSend client_socket \Str := " Mover a r2 "; !MoveJ [[-364.09,7.27,802.07],[0.775332,-0.00626085,-0.631475,0.00779014],[-1,0,-1,7],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v1000, z50, tool0; case "r3": SocketSend client_socket \Str := " Mover a r3 "; !MoveJ [[-199.38,304.74,802.07],[0.682023,-0.300352,-0.555502,-0.368853],[1,0,-1,6],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v1000, z50, tool0;
4
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
! ------------------------------------------------------------------------------------! Rutina main() ! ------------------------------------------------------------------------------------proc main() newSocketServer "192.168.1.10",1024; procesoX; ERROR stop; ENDPROC ENDMODULE
controlador del robot remoto, mediante una
Actividad 6.6: Conexión remota. Telegestión con Sockets.
6.- Desde el ordenador cliente, se accede al aplicación de VisualBasic:
5
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Actividad 6.6: Conexión remota. Telegestión con Sockets.
7.- El objeto ActiveX que permite la conexión mediante sockets se encuentra:
6
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Actividad 6.6: Conexión remota. Telegestión con Sockets.
8.- Objeto ActiveX instalado
7
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
ACTIVIDAD CONEXIÓN REMOTA. TELEMANTENIMIENTO y TELEGESTIÓN CON ESCRITORIO REMOTO 6.7 Objetivos de la actividad:
01.- Programar la dirección IP del robot. 02.- Entender qué pasos son necesarios en la programación de un router.
Conocimientos previos:
01.- Direcciones IP Características de las mismas. 02.- Redes locales Configuración y verificación. 03.- Routers Configuración y verificación.
Conocimientos relacionados:
01.- Procedimientos iniciales en el FlexPendant Manual FlexPendant Capítulo 3
Recursos necesarios
01.- Sistema Robot IRB120 u otro de mayor gama. 02.- Conexión de internet. 03.- Programa TeamViewer.
Archivos de imagen relacionados
PROYECTO FINANCIADO POR:
Actividad 6.7: Conexión remota. Telemantenimiento y telegestión con escritorio remoto.
Archivos de programa relacionados
1
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
ACTIVIDAD CONEXIÓN REMOTA. TELEMANTENIMIENTO y TELEGESTIÓN CON ESCRITORIO REMOTO 6.7 Objetivos: 1.- Obtener datos de gestión y mantenimiento de forma remota de un proceso de fabricación de un robot mediante un programa que genéricamente se llama escritorio remoto.
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 también son gratuitos y se pueden utilizar de forma similar a éste siguiendo prácticamente 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 ningún router ni realizar ningún Port Fordward (abrir los puertos). El programa se encarga de proporcionar una ID o identificación del equipo y su correspondiente Password.
Actividad 6.7: Conexión remota. Telemantenimiento y telegestión con escritorio remoto.
Internet
2
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
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 botón Conectar con asociado. Una vez realizada la conexión, 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 configuración 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 descripción 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 fácilmente en la pestaña 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.
Actividad 6.7: Conexión remota. Telemantenimiento y telegestión con escritorio remoto.
3.- Para comenzar, los dos ordenadores estarán encencidos y con el programa TeamViewer ejecutado. Al ejecutarlo, en el ordenador local o PC1, aparecerá una ventana donde bajo la pestaña Control remoto, en la zona, Permitir el control remoto, se muestra la ID del ordenador y la casilla correspondiente al Password:
3
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Actividad 6.7: Conexión remota. Telemantenimiento y telegestión con escritorio remoto.
5.- Arrancar el programa RobotStudio y conectarse en línea con el robot tal y como se describe en la actividad 6.3. En las siguientes figuras se muestran los primeros pasos:
4
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
c) Toma de control del robot mediante OPC ServerABB y SCADA.
7.- Arrancar el programa SCADA y ejecutar el programa tal y como se describe en la actividad 6.5.
Actividad 6.7: Conexión remota. Telemantenimiento y telegestión con escritorio remoto.
6.- Arrancar el servidor OPC OPC ServerABB y establecer la conexión:
5
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
9.- En las figuras anteriores se muestran los primeros pasos. Para más detalles, actuar según 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 automático. 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 automático.
Actividad 6.7: Conexión remota. Telemantenimiento y telegestión con escritorio remoto.
SI NO SE PUEDE ASEGURAR EL FUNCIONAMIENTO SEGURO: No realizar esta actividad.
6