Download de FactoryCast - Ingeniería de Sistemas y Automática
Document related concepts
no text concepts found
Transcript
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 XWAY/ Modbus : transparencia en la arquitectura de automatización Diagnóstico Remoto 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 Orientación a Objetos Tecnologías WEB Sitio Web de Transparent Factory http:/www.transparentfactory.com 10-4 Servidor Web FactoryCast 10-5 Web Server Arquitecturas Cliente WEB ’Internet ’ Diagnósticos Acceso a datos Páginas HTML usuario Modem Cliente WEB ’Intranet ’ Internet Firewall Intranet Router Ethernet / TCPIP : Intranet 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 10 0 16 6 10 05 4 0 16 6 1 5 6 10-9 Ethernet TCP/IP en los autómatas Modicon TSX Oferta Ethernet Modicon TSX Micro: 9 Velocidad 10/100 Mbps 9 Mensagería MODBUS y UNITE TCP/IP 9 Conexión para Acceso Remoto RS232 9 Cliente BOOTP y DHCP 9 Paginas Web de Diagnóstico TSXETZ410 TSX Micro 9 Agente SNMP 9 Lo mismo que TSXETZ410 y además: 9 Web Server configurable con 8 MBytes de memoria libre ( Factory Cast ) TSXETZ510 10-10 Transparent Factory para Telecontrol y Telemantenimiento Conexión de los Módulos TSXETZ para Acceso Remoto vía Módem. 9 Vía Puerto Serie RS 232 9 Con protocolo PPP ( se debe configurar en el PC un Acceso Telefónico a redes ) 9 Acceso al servidor de páginas Web. 9 Transferencia de Programa a través de PL7. 9 Servicios Factory Cast a distancia 9 Seguridad de acceso a todos los niveles de aplicación 9 Velocidad hasta 56 Kbps Modem Modem TSX ETZ 10-11 Ethernet TCP/IP en los autómatas Modicon TSX Oferta Ethernet Modicon TSX Premium: 9 Velocidad 10/100 Mbps 9 Mensagería MODBUS y UNITE TCP/IP 9 Servicios de I/O Scanning y Global Data 9 Servidor/Cliente BOOTP y Servidor DHCP TSXETY4102 9 Paginas Web de Diagnóstico 9 Agente SNMP 9 Lo mismo que TSXETY4102 y además: TSX Premium 9 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 9 Velocidad 10 Mbps 9 Mensagería MODBUS TCP/IP 9 Servicios de I/O Scanning 170ENT11000 9 Cliente BOOTP 9 Velocidad 10/100 Mbps 9 Mensagería MODBUS TCP/IP TSX Momentum 9 Servicios de I/O Scanning 170ENT11001 9 Cliente BOOTP 9 Cliente DHCP ( FDR ) 9 Páginas de diagnóstico integradas 9 ( disponible Mayo/2002 ) 10-13 Ethernet TCP/IP en los autómatas Modicon TSX Oferta Ethernet Modicon TSX Quantum: 9 Velocidad 10/100 Mbps Par Trenzado 9 Fibra Optica 100 Mbps 9 Mensagería MODBUS TCP/IP 9 Servicios de I/O Scanning y Global Data 9 Servidor BOOTP/DHCP 140NOE77101 TSX Quantum 9 Páginas de Diagnóstico 9 Agente SNMP 9 Lo mismo que 140NOE77101 y además 9 Web Server configurable con 8 MB de memoria libre ( Factory Cast ) 140NOE77111 Terminales HMI MAGELIS con conectividad Ethernet: MAGELIS 9 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: wwwroot \ .. index.htm Directorio de archivos .jar . Directorio de animaciones .gif Web protegida por contraseña \ classes \ conf \ images \ secure \ system index.htm ….. \ user index.htm ….. Web no protegida Página principal Área de usuario \ unsecure \ user index.htm ….. 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 Java Applet Properties Applet source Applet base URL • 3 - Introducir parámetros del applet – – – Dirección de la variable formato, unidades, texto colores, etc ... Applet Parameters Name Value • 4 - Guardar la página HTML • 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 10 2 10 0 4 0 16 6 15 6 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 Etiquetas animadas con ‘LiveLabelApplet’ • Código HTML asociado insertado en la página Código que sólo se inserta una vez Una vez por cada objeto representado <APPLET codebase="/classes" archive="SAComm.jar" code="com.schneiderautomation. factorycast.LiveLabelMgrApplet" width=0 height=0> <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 Una vez por cada objeto representado <APPLET codebase="/classes" archive="SAComm.jar,GDE.jar,Widgets.jar" code="com.schneiderautomation.gde.LiveBeanMgrApplet" width=0 height=0> <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 ‘HelloWorld .class ’ fichero precompilado Public Class HelloWorld { …………………………. {………………….. (’’Hello World !’’) ; } Compilar ‘ javac ’ Crear Ejecutable Crear Archivo ‘ Java ’ Intérprete Hello World! Insertar Applet En página HTML Internet Browser Sistema operativo 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 Método principal ‘dibujar en pantalla’ import java.awt.Graphics; import java.awt.Color; public class myapplet { int a, b String text extends java.applet.Applet // 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; } // 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