Postgrado de Organización Industrial SISTEMAS DE AUTOMATIZACIÓN Y SUPERVISIÓN INDUSTRIAL Internet en Automatización Industrial
Transparent Factory Ventajas de las arquitecturas transparentes Internet Intranet transparencia de información entre la empresa, sus clientes y sus proveedores Diagnóstico Remoto XWAY/ Modbus : transparencia en la arquitectura de automatización Acceso transparente a los datos de producción 10-2
Transparent Factory Transparent Factory: la estrategia Abierto Productos innovadores Internet, Cliente/Servidor Comunicación abierta Ethernet Base instalada Aprovechar las tecnologías comerciales Servidores OPC, Ethernet, Internet, IEC 1131 Desarrollo de productos basados en las TI y en Internet Servidores Web embarcados y navegadores para visualizar y acceder a los datos de los PLCs Adoptar una estrategia de conectividad abierta Protocolo TCP/IP, capa física Ethernet Posicionar al autómata como proveedor de contenidos Disponibilidad de servidor embarcado y de servidor OPC ACCESO A LA INFORMACIÓN DE PLANTA 10-3
Transparent Factory Transparent Factory: tecnologías abiertas Ethernet TCP/IP Tecnologías WEB Orientación a Objetos Sitio Web de Transparent Factory http:/www.transparentfactory.com 10-4
Servidor Web FactoryCast 10-5
Web Server Arquitecturas Diagnósticos Acceso a datos Páginas HTML usuario Cliente WEB Internet Cliente WEB Intranet Modem Intranet Internet Firewall Ethernet / TCPIP : Intranet Router Servidor WEB Servidor WEB 10-6
Web Server Funcionalidades Funciones disponibles de base Diagnósticos de sistema (Rack viewer) Visualización de la configuración Visualización de los defectos Diagnóstico detallado de cada módulo Diagnóstico de la aplicación (solamente en Premium) Visualización/reconocimiento de las alarmas generadas por las DFB de diagnóstico Ajustes de parámetros (Data editor) Visualizar/modificar los datos del PLC Acceso por símbolo o por dirección de memoria Ajuste gráfico de la aplicación (Graphic Data editor) Biblioteca de objetos gráficos animados: barras, potenciómetros, indicadores,... Páginas HTML personalizadas Logo del usuario, vínculos a servidores externos (documentación, guías de mantenimiento, ) Creación de páginas Web Uso de applets Schneider predefinidos Creación de applets mediante el SDK de FactoryCast 10-7
Web Server Funciones disponibles de base Arrancar un navegador de Internet ==> acceder a la página principal del servidor Acceso a Rack Viewer : Diagnósticos de sistema y de los módulos Acceso al Data Editor : Ajuste de parámetros Acceso al sitio Web del usuario : Protegido y desprotegido 10-8
Web Server Ejemplo de página Web de usuario Inserción de datos del PLC, imágenes (.GIF), hipervínculos,... 10 2 16 6 10 05 10 0 4 0 1 5 6 16 6 10-9
Ethernet TCP/IP en los autómatas Modicon TSX Oferta Ethernet Modicon TSX Micro: Velocidad 10/100 Mbps Mensagería MODBUS y UNITE TCP/IP Conexión para Acceso Remoto RS232 Cliente BOOTP y DHCP TSXETZ410 Paginas Web de Diagnóstico Agente SNMP TSX Micro TSXETZ510 Lo mismo que TSXETZ410 y además: Web Server configurable con 8 MBytes de memoria libre ( Factory Cast ) 10-10
Transparent Factory para Telecontrol y Telemantenimiento Conexión de los Módulos TSXETZ para Acceso Remoto vía Módem. Vía Puerto Serie RS 232 Con protocolo PPP ( se debe configurar en el PC un Acceso Telefónico a redes ) Acceso al servidor de páginas Web. Transferencia de Programa a través de PL7. Servicios Factory Cast a distancia Seguridad de acceso a todos los niveles de aplicación Velocidad hasta 56 Kbps Modem Modem TSX ETZ 10-11
Ethernet TCP/IP en los autómatas Modicon TSX Oferta Ethernet Modicon TSX Premium: TSX Premium TSXETY4102 Velocidad 10/100 Mbps Mensagería MODBUS y UNITE TCP/IP Servicios de I/O Scanning y Global Data Servidor/Cliente BOOTP y Servidor DHCP Paginas Web de Diagnóstico Agente SNMP Lo mismo que TSXETY4102 y además: Web Server configurable con 8 MBytes de memoria libre ( Factory Cast ) TSXETY5102 y además, 4 nuevas CPUs con Ethernet incorporado 10-12
Ethernet TCP/IP en los autómatas Modicon TSX Oferta Ethernet Modicon TSX Momentum Velocidad 10 Mbps Mensagería MODBUS TCP/IP 170ENT11000 Servicios de I/O Scanning Cliente BOOTP TSX Momentum 170ENT11001 Velocidad 10/100 Mbps Mensagería MODBUS TCP/IP Servicios de I/O Scanning Cliente BOOTP Cliente DHCP ( FDR ) Páginas de diagnóstico integradas ( disponible Mayo/2002 ) 10-13
Ethernet TCP/IP en los autómatas Modicon TSX Oferta Ethernet Modicon TSX Quantum: TSX Quantum 140NOE77101 Velocidad 10/100 Mbps Par Trenzado Fibra Optica 100 Mbps Mensagería MODBUS TCP/IP Servicios de I/O Scanning y Global Data Servidor BOOTP/DHCP Páginas de Diagnóstico Agente SNMP Lo mismo que 140NOE77101 y además Web Server configurable con 8 MB de memoria libre ( Factory Cast ) 140NOE77111 MAGELIS Terminales HMI MAGELIS con conectividad Ethernet: Perfil MODBUS TCP/IP 10-14
Web Server Módulo Ethernet Transparent Factory Módulo Ethernet TCP/IP con servidor Web Referencia ETY110WS para Premium Servidor Web embarcado Servidor de datos del PLC en tiempo real Visualización de datos mediante páginas Web (HTML) Acceso a los datos desde un navegador estándar 2 MB de memoria para la función servidor Web (1.4 MB libres para el sitio de usuario) Servidor FTP embarcado (para trasvase de ficheros) Comunicación Ethernet TCP/IP Para comunicación entre PLCs o entre PLCs y otros dispositivos Protocolos Modbus o Uni-TE sobre TCP/IP Todos los servicios EthernetTCP/IP (transporte, gestión de red) Soporte de la base instalada Tecnología Web no implica necesariamente Internet Acceso Local - Ethernet TCP/IP (Intranet) Acceso Remoto - Router + módem (punto a punto) Acceso Global - ISP (Internet) 10-15
Servidor Web FactoryCast Instalación 10-16
Web Server Instalación - Metodología 3 Conectarse con un navegador a la dirección TCI/IP del módulo 1 Instalar el módulo en el bastidor y configurarlo en PL7 2 Configurar la aplicación del servidor Web con el configurador FactoryCast 10-17
Web Server Instalación - Metodología Instalación del Servidor Instalar un módulo (Web Server) en el PLC Configurar la dirección Xway mediante las ruedas giratorias del frontal Configurar el módulo en PL7 Configurar la dirección IP Opcionalmente configurar la máscara de subred y la pasarela Instalar (bajo Windows) y arrancar el configurador FactoryCast Configurar la aplicación FactoryCast Transferir la aplicación al módulo Instalación del Cliente Nada que instalar Verificar la versión del navegador (Internet Explorer >= 4.01; Netscape >= 4.5) Verificar la versión de la JVM Arrancar el navegador Dar el URL del PLC (dirección IP or nombre de Host) Acceder a las páginas del sitio Web 10-18
Web Server Instalación - Configurador FactoryCast Arrancar el Configurador FactoryCast WebUtility.exe Configurar la aplicación del servidor 1 - Inicializar el servidor Web del módulo Menú Servidor > Inicialización del módulo Dar la dirección IP o Hostname Confirmar la dirección XWAY 2 - Parametrizar la aplicación del servidor Web Menú Archivo > Configuración Nueva > Configuraciones Rellenar: Contraseña de acceso Localización del fichero de símbolos (.SCY o.fef) Nivel de protección de las variables (escritura o sólo lectura) Localización del fichero del logo (.GIF) Localización del las páginas Web de usuario (.HTM) La dirección IP del módulo 10-19
Web Server Instalación - Configurador FactoryCast 3 - Declarar la lista de variables (para el Data Editor) Pestaña Símbolos en pantalla principal > seleccionar el símbolo del fichero Pestaña Direcciones Directas Habilitadas para escritura > lista de objetos del PLC por dirección 10-20
Web Server Instalación - Configurador FactoryCast 4 - Transferir la aplicación al servidor Menú Comandos > Transferir al PLC > Todos los archivos Dar la dirección IP o Hostname Confirmar la dirección XWAY 10-21
Servidor Web FactoryCast Operación 10-22
Web Server Operación - Acceso al servidor Web FactoryCast Arrancar un navegador Introducir dirección del PLC remoto URL (dirección IP o Host name) La página principal da acceso a: Diagnósticos (Rack Viewer) Editor de variables (Data Editor) Editor gráfico (Graphic Editor) Visualizador de alarmas (Alarm Viewer) Protección por defecto User Name = USER Password = USER 10-23
Web Server Operación: Rack Viewer Rack Viewer : Diagnósticos del sistema y de módulos de E/S 10-24
Web Server Operación: Data Editor Ajuste de parámetros: Data Editor posibilidad de guardar listas de variables 10-25
Web Server Operación : Graphic Data Editor Ajuste gráfico de la aplicación / HMI : Graphic Data Editor posibilidad de guardar pantallas de objetos gráficos 10-26
Web Server Operación : Alarm Viewer Diagnóstico de la aplicación mediante la DFB de diagnóstico 10-27
Servidor Web FactoryCast Creación de páginas Web 10-28
FactoryCast Web Server Creación de páginas Web Los usuarios pueden: Personalizar la página principal con su propio logotipo Modificar la página principal Crear sus propias páginas Web Utilizando un editor HTML (FrontPage o similar, no incluído) Transferir sus páginas al servidor Web del autómata Utilizando el configurador FactoryCast Utilizando un cliente FTP (File Transfer Protocol) 10-29
FactoryCast Web Server Servidor Web embarcado Memoria total del servidor: 8 MB (usuario) Acceso a los ficheros de la Web via servidor FTP integrado Backup/Restore de la Web completa mediante el configurador Árbol de directorios del servidor: Directorio de archivos.jar. Directorio de animaciones.gif Web protegida por contraseña Web no protegida wwwroot \.. index.htm \classes \ conf \ images \ secure \ system index.htm.. \user index.htm.. \ unsecure \user index.htm.. Página principal Área de usuario 10-30
FactoryCast Web Server Modificación/personalización de las páginas de usuario Modificación de la página principal 1 - Seleccionar la copia de la página principal: fichero index.htm en el directorio..\factorycast\pbf\software\wwwroot\ 2 - Modificar la página con un editor HTML (FrontPage o similar) abrir el ficheor con el editor modificar el fichero: insertar texto fijo, imágenes, animaciones, etc. 3 - Personalizar el logo El fichero requerido (xxx.gif) debe ser renombrado logo.gif Transferir el fichero logo.gif al servidor en el directorio..\images 4 - Guardar la página HTML 5 - Transferir la página principar al servidor Utilizando el configurador FactoryCast menú Comanodos > Transferir al PLC > Avanzado > página principal Utilizando un cliente FTP 10-31
FactoryCast Web Server Creación de páginas Web Carga de páginas Web de usuario en el servidor del autómata 1 - Crear una página Web con un editor HTML (FrontPage o similar) insertar texto fijo, imágenes, animaciones, etc. 2 - Para insertar una variable de PLC: Seleccionar un área en la página Seleccionar el menú Insertar Menú Avanzado Inertar Applet Java 3 - Introducir parámetros del applet Dirección de la variable formato, unidades, texto colores, etc... 4 - Guardar la página HTML Java Applet Properties Applet source Applet base URL Applet Parameters Name Value 5 - Transferir la página Add Modify Delete Utilizando el configurador FactoryCast Utilizando un cliente FTP 10-32
FactoryCast Web Server Inserción de variables de PLC en páginas Web Se puede acceder a las variables de PLC en tiempo real mediante applets Java insertados en las páginas HTML de usuario Los applets pueden ser: Applets predefinidos Schneider Librería de applets suministrada con el producto FactoryCast Applets creados por el usuario Comunicación con los PLCs utilizando el SDK de FactoryCast (suministrado con el producto FactoryCast )! Los applets de Schneider requieren la JVM V5 (Java Virtual Machine) 10-33
FactoryCast Web Server Applets Java predefinidos por Schneider Archivo SAComm.jar Applet gestor LiveLabelMgrApplet Utilizado para controlar la representación dinámica de variables del PLC en forma de etiqueta animada. Applet LiveLabelApplet Utilizado para leer o escribir una variable de PLC en forma de etiqueta animada. Archivo Widgets.jar Applet gestor LiveBeanMgrApplet Utilizado para controlar la representación o escritura dinámica de variables del PLC en forma de objeto gráfico (bean) o etiqueta animada. Applet LiveBeanApplet Utilizado para leer o escribir una variable de PLC en forma de objeto gráfico (bean) Archive GSupport.jar Applet GdeApplet Utilizado para arrancar el editor gráfico en un fichero determinado 10-34
FactoryCast Web Server Insertar un applet Java de Schneider Etiquetas animadas utilizando LiveLabelApplet, insertadas en página HTML Ejemplos de etiquetas animadas con LiveLabelApplet 166 100 5 16 6 15 6 10 2 10 0 4 0 Con el producto viene un ejemplo de página Web con etiquetas animadas Directorio: C:\Factorycast\PBF\software\wwwroot\secure\user\labltest.htm 10-35
FactoryCast Web Server Insertar un applet Java de Schneider Código que sólo se inserta una vez Etiquetas animadas con LiveLabelApplet Código HTML asociado insertado en la página <APPLET codebase="/classes" archive="sacomm.jar" code="com.schneiderautomation. factorycast.livelabelmgrapplet" width=0 height=0> Una vez por cada objeto representado <APPLET codebase= "/classes" archive= "SAComm.jar" code="com.schneiderautomation.factorycast.livelabelapplet" width=300 height=30> <PARAM name=label value= Pressure => <PARAM name=units value=bars > <PARAM name=address value=%mw100 > <PARAM name=datatype value=uint> <PARAM name=format value=dec>.. <PARAM name=foregrnd value=green > <PARAM name=backgrnd value=white> <PARAM name=font_name value=courier> <PARAM name=font_bold value=true> <PARAM name=font_size value=10> </APPLET> 10-36
FactoryCast Web Server Insertar un applet Java de Schneider Mostrar un objeto gráfico utilizando LiveBeanApplet, previamente creado y salvado en el editor gráfico Ejemplo: medidor insertado en página HTML Inserted associated HTML code Código que sólo se inserta una vez <APPLET codebase="/classes" archive="sacomm.jar,gde.jar,widgets.jar" code="com.schneiderautomation.gde.livebeanmgrapplet" width=0 height=0> Una vez por cada objeto representado <APPLET codebase="/classes" archive="sacomm.jar,gde.jar,widgets.jar" code="com.schneiderautomation.gde.livebeanapplet" width=180 height=160> <PARAM name=library value="library1"> <PARAM name=bean value="meter2"> <PARAM name=backgrnd value="0xddeeff"> </APPLET> Backup library 10-37
Servidor Web FactoryCast Creación de applets Java 10-38
FactoryCast Web Server Applets Java Se puede acceder a las variables de PLC en tiempo real mediante applets Java insertados en las páginas HTML de usuario Los applets pueden ser: Applets predefinidos Schneider Librería de applets suministrada con el producto FactoryCast Applets creados por el usuario Comunicación con los PLCs utilizando el SDK de FactoryCast (suministrado con el producto FactoryCast )! Los applets de Schneider requieren la JVM V5 (Java Virtual Machine) 10-39
FactoryCast Web Server SDK (Software Development Kit) de FactoryCast El SDK se utiliza para desarrollar applets o aplicaciones Java que comuniquen con PLCs Quanum o Premium El SDK comprende: Una librería de comunicaciones que contiene APIs para acceder a las variables del PLC en modo lectura/escritura El archivo Java SAComm.jar Dos ejemplos (applet y aplicación) Un interface con el editor gráfico que contiene APIs para crear objetos gráficos que podrán ser integrados en la librería del editor El archivo Java GSupport.jar Dos ejemplos (Java Beans) Un interface Widgets que contiene APIs para usar en applets de objetos gráficos creados con el editor gráfico El archivo Java SAWidgets.jar Un ejemplo! Los API de FactoryCast son compatibles con el JDK V1.1.X (V1.0.2 y V2 NO soportadas) 10-40
FactoryCast Web Server Tipos de aplicaciones Java HelloWorld. java fichero fuente Public Class HelloWorld {. {.. ( Hello World! ) ; } HelloWorld.class fichero precompilado Java Intérprete Compilar javac Crear Archivo Insertar Applet En página HTML Crear Ejecutable Sistema operativo Hello World! Internet Browser Hello World! Hello World! 10-41
FactoryCast Web Server Primera aplicación Java Ejemplo de programa Java 1 - Crear y guardar el siguiente programa: HelloWorld. Java class HelloWorld { public static void main( String arg[ ] ) { } } System.out.println( Hello World! ); 2 - Compilar el fichero usando el compilador del JDK (o similar) En una ventana de comandos DOS escribir (se crea fichero.class) :..\jdk116\bin\javac -classpath. HelloWorld.java 3 - Ejecutar el programa compilado por el intérprete Java En una ventana DOS escribir:..\jdk116\bin\ java HelloWorld! Atención: Java es case sensitive : distingue entre mayúsculas y miúsculas 10-42
FactoryCast Web Server Primer applet Java Creación de un applet Java 1 - Crear el programa y guardar el fichero fuente *.java integrando las características especiales de código para que su uso sea compatible con la inserción en una página HTML 2 - Compilar el fichero con el compilador Java (javac) de la misma forma que para una aplicación Java..\jdk116\bin\ javac - classpath. *. java se crea un fichero *.class 3 - Crear un fichero de archivo.jar mediante el comando:..\ jdk116 \ bin \ jar cf myapplet.jar *.class 4 - Insertar el applet Java en una página Web usando un editor HTML guardar el fichero HTML 5 - Visualizar la página HTML que contiene la llamada al applet El navegador ejecuta el applet incluído en la página HTML 10-43
FactoryCast Web Server Primer applet Java Creación de un applet Java sin vínculos con variables de PLC Crear y guardar el programa fuente: fichero myapplet. Java import java.awt.graphics; import java.awt.color; import java.awt.font; public class myapplet extends java.applet.applet { public void paint( Graphics g ) { g.setcolor(color.red); g.setfont(new Font("TimesRoman",Font.BOLD,20)); g.drawstring("hello World applet", 5,40); } }! Nombre del fichero = 8 letras máximo (para ser compatible con el servidor FTP integrado) 10-44
FactoryCast Web Server Estructura de los applets Importación de las clases necesarias Declaración de la clase principal Definición de variables Método ejecutado sólo una vez Método Mouse event import java.awt.graphics; import java.awt.color; public class myapplet extends java.applet.applet { int a, b String text // método de inicialización public void init ( ) {... } // gestión de eventos del ratón public boolean mousedown(event evt, int x, int y) {... return true; } Método principal dibujar en pantalla // Print to screen method public void paint( Graphics g ) { g.setfont(new Font("TimesRoman",Font.BOLD,20)); g.setcolor(color,red); g.drawstring( Hello World again!,5,40); } } 10-45
FactoryCast Web Server Compilación del ejemplo de Applet comunicante En el SDK viene un ejemplo de Applet Java que lee/escribe variables de PLC Directorio: c:\factorycast\sdk\examples\exampleapplet\exampleapplet.java Hace una llamada al archivo SAComm.jar Se utilizan las herramientas del JDK Sun para compilar Hay un ejemplo en un fichero.bat.. \ FactoryCast \ sdk \ examples \ makeexample.bat 10-46
FactoryCast Web Server Compilación del ejemplo de Applet comunicante 1 - Compilar el ejemplo User el comando de compilación: javac..\ jdk116 \ bin \ javac - classpath c:\factorycast\sdk\factorycast.jar ; e:\jdk116\lib\classes.zip.. \ ExampleApplet.java 2 - Crear el archivo Example.jar Usar el comando jar..\jdk116 \ bin \ jar cf example.jar..\ ExampleApplet.class 3 - Insertar el applet en la página Web Ya hay creada una página de ejemplo: c:\ factorycast \ sdk \ examples \ exampleapplet \ Example.htm Editar la página para comprobar la llamada al applet 4 - Transferir la página Web y el archivo al servidor embarcado 10-47
FactoryCast Web Server Página Web con el Applet comunicante insertado Código HTML de la página Web Arrancar el fichero Example.htm y visualizar el código fuente <HTML> <TITLE>Example Applet</TITLE> <BODY> Referencia al archivo SAComm.Jar <CENTER> <APPLET codebase="/classes" archive="sacomm.jar,example.jar" code="exampleapplet" width="600" height="220"> </APPLET> </CENTER> </BODY> </HTML>! Atención: se utiliza Factorycast.jar para compilar y SAComm.jar para ejecutar 10-48
FactoryCast Web Server Funcionamiento de un Applet comunicante Se utilizan 4 tipos de objetos (beans) objeto comm : abrir conexión TCP/IP con el PLC objeto getter : lecturas por evento de variables del PLC objeto setter : escritura de variables del PLC objeto monitor : lecturas contínuas de variables del PLC Métodos asociados a los objetos Ejemplo de método del objeto comm comm. connect (plc, false) ; Ejemplo de métodos del objeto getter getter. setaddress ("%mw0";); getter. setquantity (short(1)); getter. readvalues (); getter. getvalues (); 10-49
FactoryCast Web Server Creación de un applet que lee una variable de PLC Crear y salvar el programa fuente: fichero commplc. Java import java.applet.*; import java.awt.*; import com.schneiderautomation.factorycast.*; import com.schneiderautomation.factorycast.comm.statusmessages; public class commplc extends java.applet.applet { string plc = "139.160.65.113"; int[] values; CommBean comm = new CommBean( Locale.getDefault() ); GetUInt getter = new GetUInt( comm.getserver() ); public void init() { try { comm.connect( plc, false ); getter.setaddress("%mw0";); getter.setquantity(short(1)); getter.readvalues(); } catch( Exception e ) {// Exception processing } values = getter.getvalues(); } } public void paint (Graphics g) { g.setfont(new Font ("TimesRoman",Font.BOLD, 20)); g.drawstring(string.valueof(values[0]), 5, 40); } 10-50