Está en la página 1de 307

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)


INGENIERO INFORMTICA

PROYECTO FIN DE CARRERA

AUTOMATIZACIN DE PROCESOS INDUSTRIALES.

AUTOR:

JAVIER ORDAX CASS MADRID, JUNIO 2005

Autorizada la entrega del proyecto del alumno: Javier Ordax Cass

Madrid 23 de Junio del 2005 EL DIRECTOR DEL PROYECTO

Fdo.: Jos Miguel Ordax Cass

EL COORDINADOR DEL PROYECTO

Fdo.: David Contreras Brcena

UNIVERSIDAD PONTIFICIA COMILLAS


ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INFORMTICA

PROYECTO FIN DE CARRERA

AUTOMATIZACIN DE PROCESOS INDUSTRIALES.

AUTOR: Javier Ordax Cass DIRECTOR: Jos Miguel Ordax Cass

Gracias a mis padres por haberme trado al mundo, por su cario, ayuda e impulso en el que me he apoyado para llegar hasta aqu.

Gracias a mi hermano Jos Miguel por toda esa alegra y vitalidad que logra transmitirme y por su apoyo a TODAS horas.

Gracias a Cecilia por su cario y su ayuda en los momentos difciles.

Gracias a Antonio por soportarme y ayudarme.

Gracias a Diego por su inestimable colaboracin en todas nuestras prcticas.

Gracias a David por esa luz que siempre nos ha dejado encendida para guiarnos.

Gracias a mis compaeros Javi, Toni, Manu, Ruben, Alex, Jess, gracias a todos por vuestra gran amistad y colaboracin.

Automatizacin de procesos industriales

Resumen
El campo del control y automatizacin industrial, es un campo implantado con ms frecuencia en grandes instalaciones como las cadenas de fabricacin de automviles, las vas frreas o las centrales trmicas y elctricas, sin embargo en el rea de la pequea y mediana empresa est aun poco desarrollado. Las soluciones desarrolladas para el control y la automatizacin de pequeas y medianas instalaciones industriales son poco flexibles y especificas para cada instalacin. Este proyecto pretende hacer visible la viabilidad de la implantacin de sistemas de control y automatizacin en este tipo de instalaciones industriales como pueden ser granjas o invernaderos, poniendo nfasis en la replicacin. Como principales ventajas de la implantacin de sistemas de control y automatizacin est la reduccin de costes, calidad, seguridad as como el aumento y control de la produccin, y como ventaja de la replicacin la considerable reduccin de los costes de diseo, implantacin y mantenimiento.

La solucin propuesta consiste en un sistema abierto, para el control centralizado de dispositivos electromecnicos. Con capacidad para el control, monitorizacin y actuacin remota haciendo uso de una red TCP/IP como es Internet, sin restricciones en cuanto al nmero de dispositivos o funcionalidades que estos aporten

independientemente del proveedor de los dispositivos.

El software desarrollado para este propsito recibir los datos de los dispositivos electrnicos localizados en la instalacin industrial, estos datos harn referencia a los distintos parmetros que determinan el estado de la instalacin. Con stos datos tanto el sistema, en modo automtico; como el usuario, en modo manual; dispondrn de una informacin en tiempo real que les permitir la toma de decisiones adecuadas y eficaces. Una vez tomada la decisin se pondrn en marcha, mediante los controles disponibles en la instalacin, los mecanismos necesarios, para corregir o modificar las condiciones requeridas en cada momento con el fin de optimizar su funcionamiento.

Automatizacin de procesos industriales


Para cumplir con estos servicios, el sistema tendr las siguientes funcionalidades:

Recopilacin y acceso en tiempo real de la informacin referente al estado de la instalacin. Actuacin de manera inmediata sobre los dispositivos que lo requieren con el fin de mantener el estado optimo de la instalacin. Esta actuacin sobre los dispositivos puede ser tanto manual como automtica. o Modo manual: El usuario a travs de los mecanismos proporcionado por el sistema acta directamente sobre los dispositivos. Esta actuacin puede ser: Local: Utilizando la aplicacin cliente en la propia instalacin. Remota: A travs de Internet haciendo uso de un navegador.

o Modo automtico: Una vez el usuario haya configurado el programa que se encargar del control de la instalacin el sistema comunicar los datos recogidos a dicho programa y ste evaluando la situacin comunicar al sistema que acciones tomar, en cada momento.

Todas estas funcionalidades estn disponibles en modo local y en modo remoto. En la modalidad local el usuario trabajar directamente con el software localizado en la propia instalacin mientras que en la modalidad remota el usuario, mediante cualquier navegador y a travs de Internet, puede conectar con la aplicacin local accediendo as a las funcionalidades proporcionadas por sta.

Esta automatizacin en la recogida de datos y en el control de las actuaciones sobre los distintos mecanismos de la instalacin permite una reduccin en la mano de obra, una utilizacin adecuada de los materiales, una toma de decisiones eficaz basada en una informacin histrica completa y en tiempo real as como la realizacin rpida y eficaz de los procedimientos adoptados. Estas caractersticas son las que permiten una mayor cualificacin de la mano de obra, la reduccin en los costes de materiales de produccin y materias primas y un aumento de la produccin y con ello de la productividad.

ii

Automatizacin de procesos industriales

Abstract
The field of the control and industrial automation is a field implanted with more frequency in big facilities like cars manufacture chains, the ferroviary routes and the thermal and electrical plants, however, in the field of the small and medium companies it is still little developed. The solutions developed for the control and the automation of small and medium industrial facilities are slightly flexible and quite specific. The aim of this project is to realize the viability of introducing the industrial control and automation in this type of industrial facilities like farms or greenhouses, focusing on the replication. The main advantages of control and automation introduction are the reduction of costs as well as a increase of quality and safety and an improvement in production quantity and control, the main advantage of replication would be a considerable reduction in design, implantation and maintenance costs.

The proposed solution consists of an open system for centralized control of electromechanical devices with capacity for control, monitor and remote performance of it using a TCP/IP net like the Internet without restrictions in the number of devices and functionalities that these give, with independence of the supplier.

The software developed for this purpose will receive the information from electronic devices located in the industrial installation; this data will refer the different parameters that determine the state of the installation. With these data both the system, in automatic way, as the user, in manual way, will have a real time information that will allow suitable and effective decisions. Once taken the decision the necessary mechanisms, to correct or to modify the required conditions, will be started, through the installation available controls, in order to optimize its functioning.

iii

Automatizacin de procesos industriales

In order to meet these requites, the system will implement the following functionalities: Real time information access and store for data concerning the installation. Immediate performance on the devices that need it in order to maintain the ideal state of the installation. This performance on the devices may be both manual and automatic o Manual mode: The user acts directly on the devices through the mechanisms provided in the system. This actuation may be: Local: using the client application in the installation itself Remote: using it through the Internet, by means of a web browser.

Automatic Mode: Once the user has configured the program that will take control of the installation, the system will send the information gathered to that program that will evaluate the actual state of the installation and report back to the system the actions to take at each moment.

All these functionalities will be available in both local and remote mode. While in local mode, the user will employ directly with the software located in the installation itself whereas in the remote modality the user, using any web browser through the Internet, will connect with the local application, accessing this way to the functionalities provided by it.

This automation in data gathering and control over the different mechanisms of the installation will allow a reduction in manpower, a suitable use of the materials, an effective decision taking based on complete historical and real time information as well as a fast and effective accomplishment of the adopted procedures. These characteristics are those that allow a major qualification of the manpower, a notable cost reduction in materials of production and prime matters and an increase of the production and, consequently, the productivity.

iv

Automatizacin de procesos industriales

NDICE

AUTOMATIZACIN DE PROCESOS INDUSTRIALES. .................................................................i AUTOMATIZACIN DE PROCESOS INDUSTRIALES. ...............................................................iv

JUSTIFICACIN DEL PROYECTO................................................................... 1


Justificacin acadmica........................................................................................................................1 Justificacin econmica ........................................................................................................................1

LA AUTOMATIZACIN ..................................................................................... 2
1. Introduccin......................................................................................................................................2 2. Antecedentes .....................................................................................................................................4 3. Automatizacin.................................................................................................................................9 4. Tipos de Automatizacin. ...............................................................................................................11 5. Generalidades del CNC ..................................................................................................................13

TECNOLOGA EUROPEAN INSTALLATION BUS (EIB) ............................... 16


1. Introduccin.................................................................................................................................... 16 1.1 Automatizacin y evolucin histrica .........................................................................................16 1.2 Servicios y aplicaciones de una instalacin automtica................................................................18 2. Sistemas automticos. .....................................................................................................................22 2.1 Sistemas por corrientes portadoras..............................................................................................22 2.2 Sistemas por controlador programable. .......................................................................................24 2.3 Sistema por bus de datos.............................................................................................................25 3. Bus de instalacin europeo EIB ...................................................................................................27 3.1 La EIBA ....................................................................................................................................27 3.2 Generalidades ............................................................................................................................29 3.3 Tecnologa EIB..........................................................................................................................34 3.4 Topologa de las redes EIB.........................................................................................................39 3.5 Los telegramas ...........................................................................................................................40 3.6 Composicin de los nodos ..........................................................................................................43 3.8 Direccionamiento.......................................................................................................................45 3.9 Cuadro tcnico EIB....................................................................................................................46 3.10 Programacin de una instalacin EIB (ETS) .............................................................................47 3.11 Otra tecnologa de control distribuida LonWorks (Comparacin con EIB).................................49 4. Red domtica EHS..........................................................................................................................53 4.1 Medios fsicos de transmisin.....................................................................................................53 4.2 Tipos de unidades.......................................................................................................................54 4.3 Modelos lgicos de comunicacin ..............................................................................................57 4.4 Protocolo de comunicaciones...................................................................................................... 58 5. Red Batibus.....................................................................................................................................63

Automatizacin de procesos industriales


6. Convergencia de EHS, EIB Y Batibus............................................................................................64

INTRODUCCIN A LA TECNOLOGA LONWORKS ..................................... 66


1. Conceptos bsico.............................................................................................................................66 1.1 Red de control............................................................................................................................66 1.2 La Plataforma LonWorks ...........................................................................................................68 1.3 Utilizacin de redes LonWorks...................................................................................................70 1.4 Alcance del estndar................................................................................................................... 72 1.5 Neuronas y su utilizacin............................................................................................................73 1.6 Protocolo LonWorks ..................................................................................................................74

SISTEMA DE AUTOMATIZACIN X10........................................................... 77


1. Introduccin.................................................................................................................................... 77 2. Ventajas de x10...............................................................................................................................78 3. Automatizacin inteligente .............................................................................................................80

LENGUAJE DE PROGRAMACIN JAVA ...................................................... 81


1. Introduccin a la programacin orientada a objetos .....................................................................81 2. Historia de Java ..............................................................................................................................90 3. CARACTERSTICAS DE JAVA................................................................................................. 101 3.1 Introduccin............................................................................................................................. 101 3.2 Potente..................................................................................................................................... 102 3.3 Simple ..................................................................................................................................... 104 3.4 Interactivo y orientado a red ..................................................................................................... 105 4. Comparativa con otros lenguajes orientados a objeto ................................................................. 111

AUTENTIFICACIN MANEJADA POR EL CONTENEDOR EN TOMCAT. . 121


Introduccin ..................................................................................................................................... 121 La especificacin de Servlets 2.2....................................................................................................... 121 Tipos de autentificacin definidos. ................................................................................................. 122 Modos de transporte....................................................................................................................... 123 Dominios de seguridad en Tomcat (server.xml). ........................................................................ 124 tomcat-users.xml............................................................................................................................ 124 Autentificacin mediante una Base de Datos .................................................................................. 124 Configuracin de una aplicacin...................................................................................................... 128 Autentificacin BASIC. ................................................................................................................. 128 Autentificacin FORM. ................................................................................................................... 130 Problemas con Apache y Tomcat ..................................................................................................... 133

EXTENSIBLE MARKUP LENGUAJE (XML)................................................. 134 SISTEMAS EXPERTOS................................................................................. 171 vi

Automatizacin de procesos industriales


1. Introduccin.................................................................................................................................. 171 2. Definicin de Sistema Experto...................................................................................................... 172 3. La reciente historia de los sistemas............................................................................................... 174 4. Usos de un sistema experto........................................................................................................... 176 5. Decisin de aplicacin de sistemas expertos ................................................................................. 178 6. Arquitectura y funcionamiento de un sistema experto ................................................................ 180

METODOLOGA ............................................................................................ 187


1. Introduccin: ................................................................................................................................ 187 2. Metodologa de desarrollo: ........................................................................................................... 188 3. Anlisis y diseo............................................................................................................................ 191 4. Casos de uso:................................................................................................................................. 191 4.1 Manipular dispositivo............................................................................................................... 192 4.2 Activar estado automtico del sistema....................................................................................... 193 4.3 Activar estado manual del sistema ............................................................................................ 195 4.4 Aadir sensor ........................................................................................................................... 196 4.5 Eliminar Sensor........................................................................................................................ 197 4.6 Modificar sensor ...................................................................................................................... 198 4.7 Aadir dispositivo .................................................................................................................... 199 4.8 Eliminar dispositivo ................................................................................................................. 200 4.9 Modificar dispositivo ............................................................................................................... 201 4.10 Crear programa ...................................................................................................................... 202 4.11 Eliminar un programa............................................................................................................. 204 4.12 Modificar un programa........................................................................................................... 205 4.13 Activar un programa............................................................................................................... 207 4.14 Visualizacin del fichero de log de zona. ................................................................................ 209 4.15 Visualizacin de los ficheros de log de los dispositivos ........................................................... 210 5. Reglas de negocio.......................................................................................................................... 211 6. Secuencia de eventos:.................................................................................................................... 212 7. Diagramas de Clase ...................................................................................................................... 217 7.1 Diagrama de paquetes............................................................................................................... 217 7.2 Diagrama de clases del paquete: proyecto ................................................................................. 218 7.3 Diagrama de clases del paquete: Dispositivos ........................................................................... 219 7.4 Diagrama de clases del paquete: Dispositivos.eventos ............................................................... 220 7.5 Diagrama de clases del paquete: Sensores................................................................................. 221 7.6 Diagrama de clases del paquete: Sensores.Eventos.................................................................... 222 7.7 Diagrama de clases del paquete: Programacin ......................................................................... 223 7.8 Diagrama de clases del paquete: InterfazGrfico ....................................................................... 224 7.9 Diagrama clases del paquete: InterfazGrfico.CreacinProgramas............................................. 225 7.10 Diagrama de clases del paquete: InterfazGrfico.Configuracin .............................................. 226 7.11 Diagrama de clases del paquete: InterfazGrfico.Tabla............................................................ 227 7.12 Diagrama de clases del paquete: XML .................................................................................... 228 7.13 Diagrama de clases del paquete: Logs ..................................................................................... 229 7.14 Diagrama de clases del paquete: Util....................................................................................... 230 8. Diagramas de secuencia................................................................................................................ 231 8.1 Inicio del sistema: Inicio de los dispositivos.............................................................................. 232

vii

Automatizacin de procesos industriales


8.2 Inicio sistema: Inicio de los sensores ........................................................................................ 233 8.3 Inicio del sistema: Inicio de los programas................................................................................ 234 8.4 Activar automatizacin: Activar estado automtico. .................................................................. 235 8.5 Activar automatizacin: Activar programa................................................................................ 236 8.6 Activar automatizacin: Cambio en el estado de un sensor. ....................................................... 237 8.7 Activar control manual: Activar estado manual......................................................................... 238 8.8 Activar control manual: Manipular dispositivo.......................................................................... 239 8.9 Configurar dispositivos: Mostrar configuracin dispositivos...................................................... 240 8.10 Configurar dispositivos: Agregar un dispositivo. ..................................................................... 241 8.11 Configurar dispositivos: Modificar un dispositivo. .................................................................. 242 8.12 Configurar dispositivos: Eliminar un dispositivo. .................................................................... 243 8.13 Configurar sensores: Mostrar configuracin sensor ................................................................. 244 8.14 Configurar sensores: Agregar un sensor .................................................................................. 245 8.15 Configurar sensores: Modificar un sensor ............................................................................... 246 8.16 Configurar sensores: Eliminar un sensor ................................................................................. 247 8.17 Configurar programas: Mostrar tabla de programas................................................................. 248 8.18 Configuracin de programas: Crear un programa .................................................................... 249 8.19 Configuracin de programas: Modificar un programa.............................................................. 250 8.20 Configuracin de programas: Eliminar un programa ............................................................... 251

DESCRIPCIN DEL PROTOPITO ................................................................ 252


1. Dispositivo Bidireccional X10 para PC Modelo CM11A ............................................................. 252 2. Mdulo para dispositivos X10 Pro LM14A.................................................................................. 254 3. Mdulo de Lmpara casquillo rosca LM15 ................................................................................. 255

PRESUPUESTO ............................................................................................ 257


Fases del desarrollo .......................................................................................................................... 257 Dimensionamiento del equipo .......................................................................................................... 257 Plan de proyecto ............................................................................................................................... 258 Estudio econmico............................................................................................................................ 259

CONCLUSIN ............................................................................................... 260 BIBLIOGRAFA ............................................................................................. 262 APENDICES .................................................................................................. 264 MANUAL DE USUARIO .................................................................................... 1
1. Pantalla principal de la aplicacin: ..................................................................................................1 2. Estado manual de la instalacin .......................................................................................................3 3. Activar estado automtico de la instalacin .....................................................................................4 4. Automatizacin de la instalacin......................................................................................................5 5. Configuracin de programas............................................................................................................7

viii

Automatizacin de procesos industriales


6. Creacin de programas.....................................................................................................................8 7. Edicin de programas.....................................................................................................................14 8. Eliminacin de programas..............................................................................................................16 9. Activacin de programa..................................................................................................................17 10. Manipulacin de dispositivos........................................................................................................19 11. Manipulacin de sensores .............................................................................................................21 12. Configuracin de dispositivos .......................................................................................................23 13. Configuracin de sensores ............................................................................................................27

ix

Automatizacin de procesos industriales

JUSTIFICACIN DEL PROYECTO

Justificacin acadmica
1. Profundizar en los conocimientos sobre Internet 2. Aumentar los conocimientos sobre el manejo del puerto Serie 3. Practicar los conocimientos sobre la comunicacin entre aplicaciones 4. Profundizar en la teora Cliente/Servidor 5. Utilizacin y estudio del lenguaje Java 6. Desarrollo de aplicaciones en Internet utilizando la plataforma J2EE 7. Aumentar conocimientos sobre la creacin de pginas WEB

Justificacin econmica
1. Mejora en la Utilizacin de los recursos de produccin. 2. Optimizacin de los costes de las materias primas 3. Reduccin en los costes de mano de obra. 4. Mejora en la toma de decisiones 5. Aumento de la eficacia en la consecucin de tareas 6. Aumento de la productividad 7. Reduccin de riesgos en la produccin. 8. Abaratamiento de la solucin en base a su replicacin.

Automatizacin de procesos industriales

LA AUTOMATIZACIN
1. Introduccin
Por siglos el ser humano ha construido mquinas que imiten las partes del cuerpo humano. Los antiguos egipcios unieron brazos mecnicos a las estatuas de sus dioses. Estos brazos fueron operados por sacerdotes, quienes clamaban que el movimiento de estos era inspiracin de sus dioses. Los griegos construyeron estatuas que operaban con sistemas hidrulicas, los cuales se utilizaban para fascinar a los adoradores de los templos. Durante los siglos XVII y XVIII en Europa fueron construidos muecos mecnicos muy ingeniosos que tenan algunas caractersticas de robots. Jacques de Vauncansos construy varios msicos de tamao humano a mediados del siglo XVIII. Esencialmente se trataba de robots mecnicos diseados para un propsito especfico: la diversin. En 1805, Henri Maillardert construy una mueca mecnica que era capaz de hacer dibujos. Una serie de levas se utilizaban como ` el programa ' para el dispositivo en el proceso de escribir y dibujar. Estas creaciones mecnicas de forma humana deben considerarse como inversiones aisladas que reflejan el genio de hombres que se anticiparon a su poca. Hubo otras invenciones mecnicas durante la revolucin industrial, creadas por mentes de igual genio, muchas de las cuales estaban dirigidas al sector de la produccin textil. Entre ellas se puede citar la hiladora giratoria de Hargreaves (1770), la hiladora mecnica de Crompton (1779), el telar mecnico de Cartwright (1785), el telar de Jacquard (1801), y otros. El desarrollo en la tecnologa, donde se incluyen las poderosas computadoras electrnicas, los actuadores de control retroalimentados, transmisin de potencia a travs de engranes, y la tecnologa en sensores han contribuido a flexibilizar los mecanismos autmatas para desempear tareas dentro de la industria. Son varios los factores que intervienen para que se desarrollaran los primeros robots en la dcada de los 50's. La investigacin en inteligencia artificial desarroll maneras de emular el

Automatizacin de procesos industriales


procesamiento de informacin humana con computadoras electrnicas e invent una variedad de mecanismos para probar sus teoras. Como se ha visto, las tendencias de globalizacin y segmentacin internacional de los mercados son cada vez ms acentuadas. Y como estrategia para enfrentar este nuevo escenario, la automatizacin representa una alternativa que es necesario considerar. Los pases de mayor desarrollo, poseen una gran experiencia en cuanto a automatizacin se refiere y los problemas que ellos enfrentan en la actualidad son de caractersticas distintas a los nuestros. Por lo cual es necesario precisar correctamente ambas perspectivas.

Automatizacin de procesos industriales

2. Antecedentes
Las ideas y las invenciones de muchos matemticos, cientficos, e ingenieros allanaron el camino para el desarrollo de la computadora moderna. En un sentido, la computadora tiene realmente tres fechas una como calculadora mecnica, cerca de 500 a.c. , otra como concepto (1833), y la tercera del nacimiento como la computadora digital moderna (1946). La primera calculadora mecnica, fue un sistema de barras y de bolas mviles llamados el baco, fue ideada en Babilonia alrededor de 500 a.c. El baco proporcion el mtodo ms rpido de calcular hasta 1642, cuando el cientfico francs Pascal Blaise invent una calculadora hecha de ruedas y de dientes. Cuando la rueda de las unidades se mova una revolucin (ms all de diez muescas), se mova la muesca de la rueda de las decenas; cuando la rueda de las decenas se mova una revolucin, se mova la muesca de la rueda de los centenares; etctera. Mejoras en la calculadora mecnica de Pascal fueron llevadas a cabo por los cientficos e inventores tales Gottfried Wilhelm Leibniz, W.T. Odhner, Dorr E. Felt, Frank S. Baldwin y Jay R. Monroe. El concepto de la computadora moderna primero fue contorneado en 1833 por el matemtico britnico Charles Babbage. Su diseo de un "motor analtico" contuvo todos los elementos necesarios de una computadora moderna: dispositivos de entrada de informacin, un almacn (memoria), un molino (unidad que cmputo), una unidad de control, y dispositivos de salida. El diseo llev ms de 50,000 piezas mviles en una mquina de vapor tan grande como una locomotora. La mayora de las acciones del motor analtico eran realizadas utilizando tarjetas perforadas, una adaptacin al mtodo que ya era usado para controlar mquinas de cosido automtico de seda. Aunque Babbage trabaj en el motor analtico por casi 40 aos, l nunca construy realmente una mquina de trabajo. En 1889 Herman Hollerith, inventor americano, patent una mquina calculadora que cont, compar y orden la informacin guardada en tarjetas perforadas. Cuando las tarjetas eran colocadas en su mquina, presionaban una serie de contactos del metal que corresponda a la red de perforaciones potenciales. Cuando un contacto encontraba en un agujero (perforado para representar la edad, ocupacin, etctera), cerraba un circuito elctrico y aumentaba la cuenta para esa categora. Su

Automatizacin de procesos industriales


mquina primero fue utilizada para ayudar a clasificar la informacin estadstica para el censo 1890 de Estados Unidos. En 1896 Hollerith fund la Compaa de Mquinas de Tabulacin para producir mquinas similares. En 1924, despus una numerosa fusin, la compaa cambi su nombre a International Bussines Machine Corporation (IBM). IBM hizo de la maquinaria de tarjetas de oficina un negocio dominante en los sistemas de informacin hasta que tarde en los aos 60, cuando una nueva generacin de computadoras hizo obsoleta a la mquina de tarjetas. En los ltimos 20 y 30 aos, varios nuevos tipos de calculadoras fueron construidos. Vannevar Bush, ingeniero americano, desarroll el analizador diferenciado, la primera calculadora capaz de solucionar ecuaciones diferenciales. Su mquina calculaba con nmeros decimales y por lo tanto requiri centenares de engranajes y ejes para representar los varios movimientos y lazos de los diez dgitos. En 1939 los fsicos americanos John V. Atanasoff y Clifford Berry produjeron el prototipo de una computadora en el sistema de numeracin binario. Atanasoff pensaba que un nmero binario era mejor para satisfacer los cmputos que los nmeros decimales porque dos dgitos 1 y 0 pueden ser representados fcilmente por un circuito elctrico, que sera encendido o apagado. Adems, George Boole, matemtico

britnico, haba ideado ya un sistema completo de la lgebra binaria que se pudo aplicar a los circuitos de la computadora. La computadora moderna creci fuera de los esfuerzos intensos de la investigacin montados durante la Segunda Guerra Mundial. Desde 1941 el inventor alemn Konrad Zuse produjo una computadora operacional, la Z3, que fue utilizado en los diseos de aviones y de misiles. El gobierno alemn rechaz ayudarle a refinar la mquina, sin embargo, la computadora nunca alcanz su potencia completa. Un matemtico de Harvard nombrado Howard Aiken dirigi el desarrollo de la Calculadora Controlada de Secuencia Automtica de Harvard-IBM, conocida ms adelante como la Marca I una computadora electrnica que utiliz 3,304 rles electromecnicos como interruptores encendido-apagado. Terminada en 1944, su

Automatizacin de procesos industriales


funcin primaria era crear las tablas balsticas para hacer la artillera de la marina ms exacta. La primera computadora completamente electrnica, que utiliz los tubos de en vez de los rles mecnicos, era tan secreta que su existencia no fue revelada hasta dcadas despus de que fuera construida. Inventada por el matemtico ingls Alan

Turing y puesta en operacin antes de 1943, el Colossus era la computadora con que los criptgrafos britnicos rompan los cdigos secretos militares de los alemanes. Como Colossus fue diseado para solamente una tarea, la distincin como la primera computadora electrnica moderno de uso general pertenece correctamente a ENIAC (Electronic Numerical Integrator and Calculator). Diseada por dos ingenieros americanos, Juan W. Mauchly y J. Presper Eckert, Jr., ENIAC entr servicio en la universidad de Pennsylvania en 1946. Su construccin era una enorme hazaa de ingeniera la mquina de 30 toneladas contuvo 17,468 tubos de vaco conectados por 500 millas (800 kilmetros) de cableado. ENIAC realiz 100,000 operaciones por segundo. La invencin del transistor en 1948 trajo una revolucin en el desarrollo de la computadora. Los tubos de vaco calientes, no fiables fueron substituidos por los transistores pequeos del germanio (luego silicio) que generaban poco calor con todo funcionado perfectamente como los interruptores o los amplificadores. El descubrimiento en la miniaturizacin de la computadora vino en 1958, cuando Jack Kilby, ingeniero americano, dise el primer circuito integrado verdadero. Su prototipo consisti en una oblea del germanio que incluy los transistores, las resistencias y los condensadores, los componentes principales del trazado de circuito electrnico. Usando chips de silicio menos costosos, los ingenieros tuvieron xito en poner ms y ms componentes electrnicos en cada chip. El desarrollo de la integracin en gran escala (LSI) permiti abarrotar centenares de componentes en un chip; la integracin a muy gran escala (VLSI) hizo crecer ese nmero a los centenares de millares; y los ingenieros proyectan que las tcnicas de integracin ultra grande (ULSI) permitirn ser colocados alrededor de 10 millones de componentes en un microchip el tamao de una ua. Otra revolucin en tecnologa del microchip ocurri en 1971 en que el ingeniero americano Marcian E. Hoff combin los elementos bsicos de una computadora en un

Automatizacin de procesos industriales


chip de silicio minsculo, que llam microprocesador. Este microprocesador Intel

4004 y centenares de variaciones que las siguieron son las computadoras dedicadas que hacen funcionar millares de productos modernos y forman el corazn de casi cada computadora electrnica de uso general. A mediados de los aos setenta, los microchips y los microprocesadores haban reducido drsticamente el costo de los millares de componentes electrnicos requeridos en un computadora. La primera computadora de escritorio accesible diseada especficamente para el uso personal fue llamada la Altair 8800 y vendida por Micro Instrumentation Telemetry Systems en 1974. En 1977 Tandy Corporation se convirti en la primera firma principal del elemento electrnico para producir una computadora personal. Agregaron un teclado y un CRT a su computadora y ofrecieron medios de guardar programas en una grabadora. Pronto, una compaa pequea llamada Apple Computer, fundado por el ingeniero Stephen Wozniak y los trabajos de Steven Jobs, comenzaron a producir una computadora superior. La IBM introdujo su computadora personal, o PC, en 1981. Como resultado de la competencia de los fabricantes de clones (computadoras que funcionaron exactamente como una PC IBM), el precio de computadoras personales cay drsticamente. La computadora personal de hoy es 200 veces ms rpida que ENIAC, 3,000 veces ms ligera, y vario millones de dlares ms barata. En la rpida sucesin de computadoras se ha contrado del modelo de escritorio a la computadora porttil y finalmente a la del tamao de la palma. Con algunas computadoras personales la gente puede incluso escribir directamente en una pantalla de cristal lquido usando una aguja electrnica pequea y las palabras aparecern en la pantalla en mecanografiado limpio. La investigacin en inteligencia artificial est procurando disear una computadora que pueda imitar los procesos y las habilidades propias del pensamiento del ser humano como el razonamiento, solucionar problemas, toma de decisiones y aprender. Se cree que la inteligencia humana tiene tres componentes principales: sentido, capacidad de clasificar y de conservar conocimiento, y capacidad de hacer elecciones basadas en la experiencia acumulada. Los sistemas expertos o los programas de computadora que simulan los procedimientos de toma de decisin de humanos expertos, ya existen y exhiben los

Automatizacin de procesos industriales


componentes segundos y terceros de la inteligencia. INTERNIST, por ejemplo, es un sistema informtico que puede diagnosticar 550 enfermedades y desrdenes humanos con exactitud tal como la de los doctores humanos expertos. Hace veinte aos el espacio y la distancia eran obstculos formidables de lo que poda o no hacerse con la computadora. Pero hoy en da la micro miniaturizacin y las comunicaciones de datos han eliminado estos obstculos. La micro miniaturizacin de la circuitera electrnica ha hecho posible colocar computadoras en relojes de pulsera, y los satlites de comunicaciones permiten que computadoras ubicadas en extremos opuestos del globo se comuniquen e intercambien informacin una con otra. Estas pginas estn disponibles para cualquier persona a travs del INTERNET alrededor del mundo. Ahora la puerta est abierta y el futuro es simplemente impredecible. La extraordinaria versatilidad de las computadoras en todos los campos de la actividad humana, as como su progresiva miniaturizacin han hecho posible traspasar el umbral de los grandes centros de cmputo y el uso restringido de una casta de especialistas de programadores, para convertirse en la herramienta obligada de cualquier persona.

Automatizacin de procesos industriales

3. Automatizacin
La historia de la automatizacin industrial est caracterizada por perodos de constantes innovaciones tecnolgicas. Esto se debe a que las tcnicas de automatizacin estn muy ligadas a los sucesos econmicos mundiales. El uso de robots industriales junto con los sistemas de diseo asistidos por computadora (CAD), y los sistemas de fabricacin asistidos por computadora (CAM), son la ltima tendencia y luego se cargaban en el robot inicia en automatizacin de los procesos de fabricacin. stas tecnologas conducen a la automatizacin industrial a otra transicin, de alcances an desconocidos. Aunque el crecimiento del mercado de la industria Robtica ha sido lento en comparacin con los primeros aos de la dcada de los 80s, de acuerdo a algunas predicciones, la industria de la robtica est en su infancia. Ya sea que stas predicciones se realicen completamente, o no, es claro que la industria robtica, en una forma o en otra, permanecer. En la actualidad el uso de los robots industriales est concentrado en operaciones muy simples, como tareas repetitivas que no requieren tanta precisin. Se refleja el hecho de que en los 80s las tareas relativamente simples como las mquinas de inspeccin, transferencia de materiales, pintado automotriz, y soldadura son econmicamente viables para ser robotizadas. Los anlisis de mercado en cuanto a fabricacin predicen que en sta dcada y en las posteriores los robots industriales incrementaran su campo de aplicacin, esto debido a los avances tecnolgicos en sensorica, los cuales permitirn tareas mas sofisticadas como el ensamble de materiales. Como se ha observado la automatizacin y la robtica son dos tecnologas estrechamente relacionadas. En un contexto industrial se puede definir la automatizacin como una tecnologa que est relacionada con el empleo de sistemas mecnicos-elctricos basados en computadoras para la operacin y control de la produccin. En consecuencia la robtica es una forma de automatizacin industrial. Hay tres clases muy amplias de automatizacin industrial: Automatizacin fija, automatizacin programable, y automatizacin flexible.

Automatizacin de procesos industriales


La automatizacin fija se utiliza cuando el volumen de produccin es muy alto, y por tanto se puede justificar econmicamente el alto costo del diseo de equipo especializado para procesar el producto, con un rendimiento alto y tasas de produccin elevadas. Adems de esto, otro inconveniente de la automatizacin fija es su ciclo de vida que va de acuerdo a la vigencia del producto en el mercado. La automatizacin programable se emplea cuando el volumen de produccin es relativamente bajo y hay una diversidad de produccin a obtener. En este caso el equipo de produccin es diseado para adaptarse a la variaciones de configuracin del producto; sta adaptacin se realiza por medio de un programa (Software). Por su parte la automatizacin flexible es ms adecuada para un rango de produccin medio. Estos sistemas flexibles poseen caractersticas de la automatizacin fija y de la automatizacin programada. Los sistemas flexibles suelen estar constituidos por una serie de estaciones de trabajo interconectadas entre si por sistemas de almacenamiento y manipulacin de materiales, controlados en su conjunto por una computadora. De los tres tipos de automatizacin, la robtica coincide ms estrechamente con la automatizacin programable.

10

Automatizacin de procesos industriales

4. Tipos de Automatizacin.
Existen cinco formas de automatizar en la industria moderna, de modo que se deber analizar cada situacin a fin de decidir correctamente el esquema ms adecuado. Los tipos de automatizacin son:

Control Automtico de Procesos El Procesamiento Electrnico de Datos La Automatizacin Fija El Control Numrico Computarizado La Automatizacin Flexible.

El Control Automtico de Procesos, se refiere usualmente al manejo de procesos caracterizados de diversos tipos de cambios (generalmente qumicos y fsicos); un ejemplo de esto lo podra ser el proceso de refinacin de petrleo. El Proceso Electrnico de Datos frecuentemente es relacionado con los sistemas de informacin, centros de cmputo, etc. Sin embargo en la actualidad tambin se considera dentro de esto la obtencin, anlisis y registros de datos a travs de interfases y computadores. La Automatizacin Fija, es aquella asociada al empleo de sistemas lgicos tales como: los sistemas de relevadores y compuertas lgicas; sin embargo estos sistemas se han ido flexibilizando al introducir algunos elementos de programacin como en el caso de los (PLC'S) O Controladores Lgicos Programables. Un mayor nivel de flexibilidad lo poseen las mquinas de control numrico computarizado. Este tipo de control se ha aplicado con xito a Mquinas de Herramientas de Control Numrico (MHCN). Entre las MHCN podemos mencionar:

Fresadoras CNC. Tornos CNC.

11

Automatizacin de procesos industriales


Mquinas de Electro-erosionado Mquinas de Corte por Hilo, etc.

El mayor grado de flexibilidad en cuanto a automatizacin se refiere es el de los Robots industriales que en forma ms genrica se les denomina como "Celdas de Manufactura Flexible".

12

Automatizacin de procesos industriales

5. Generalidades del CNC


Actualmente existe un ambiente de grandes expectativas e incertidumbre. Mucho de esto se da por los rpidos cambios de la tecnologa actual, pues estos no permiten asimilarla en forma adecuada de modo que es muy difcil sacar su mejor provecho. Tambin surgen cambios rpidos en el orden econmico y poltico los cuales en sociedades como la nuestra (pases en desarrollo) inhiben el surgimiento de soluciones autctonas o propias para nuestros problemas ms fundamentales. Entre todos estos cambios uno de los de mayor influencia lo ser sin duda el desarrollo de las nuevas polticas mundiales de mercados abiertos y globalizacin. Todo esto habla de una libre competencia y surge la necesidad de adecuar nuestras industrias a fin de que puedan satisfacer el reto de los prximos aos. Una opcin o alternativa frente a esto es la reconversin de las industrias introduciendo el elemento de la automatizacin. Sin embargo se debe hacerse en la forma ms adecuada de modo que se pueda absorber gradualmente la nueva tecnologa en un tiempo adecuado; todo esto sin olvidar los factores de rendimiento de la inversin y capacidad de produccin. Uno de los elementos importantes dentro de este resurgir de la automatizacin son la Mquinas de Herramientas de Control Numrico Computarizado, las cuales brindan algunas ventajas adicionales que son de importancia considerar detenidamente, lo cual es el propsito de este escrito. Desde el Fortune hasta el OMNI, la riada de artculos sobre logros del CAD/CAM no tiene fin. Con la misma rapidez aparecen los acrnimos relacionados con l, tales como CIM, CAE, CNC, FMS y muchos mas. Como resultado, muchas personas se asustan, estn confundidas y algo temerosas de esta nueva tecnologa. Los trabajadores de plantas industriales atrasadas intentan competir en un mercado mundial que cada vez ofrece mejor calidad y precios ms bajos. Antes del siglo XX, la mayor parte de las tentativas de automatizacin resultaron un fracaso. Muchas de estas tentativas tropezaron con una fuerte oposicin por parte de los trabajadores. Por ejemplo, en Inglaterra a principios del siglo XIX los Luddites destruyeron maquinaria textil como protesta por la reduccin de salarios y el desempleo.

13

Automatizacin de procesos industriales


Sin embargo, a la vuelta de un siglo, la produccin en masa se convirti en la esencia del modo de vida americano y ahora est pasando a ser el modo de vida universal. Hoy en da vuelve a haber enemigos de la automatizacin, y no solamente en la clase trabajadora. Muchos responsables de ingeniera y fabricacin estn desconcertados ante la realidad de la computerizacin. Aunque mucha gente usa los trmino CAD/CAM para las estaciones grficas, el nombre es un acrnimo derivado del ingles COMPUTER Aided Design y Computer Aided Manufacturing (Diseo Asistido por Computadora y Fabricacin Asistida por Computadora). CAD/CAM son disciplinas distintas. En realidad, CAD/CAM es un matrimonio entre numerosas disciplinas de ingeniera y fabricacin. En una expresin ms simple, es una comunicacin computarizada y una funcin de diseo para y entre ingenieros de fabricacin. Si lo llevamos a sus ltimos extremos, podemos incluir en l casi todas las etapas de fabricacin y gestin. En este caso, quedaran incluidos el marketing, ofimtica, contabilidad, control de calidad y casi todo aquello que pudiera tener relacin con una base de datos centralizada. En general, podemos interpretar el prefijo CA como Asistido por Computador y sinnimo de automatizacin. Algunas de las funciones ms comunes del CAD son el modelado geomtrico, anlisis, prueba, delineacin, y documentacin. El CAM, por su parte, incluye control numrico, robtica, planificacin y control de fabricacin. Ambas disciplinas estn interrelacionadas por una base de datos comn. El concepto de tecnologa de grupo ha resultado de interese para muy distintas personas: ingenieros de diseo: ingenieros de fabricacin, diseadores y planificadores de procesos industriales e incluso agentes de compra. Permite al ingeniero un acceso inmediato a partes ya diseadas similares a aquella en la que se encuentran trabajando, de forma que no precisa redisearla. El ingeniero de diseo puede estudiar diseos previos y limitarse a menudo a hacer cambios en lugar de uno nuevo. Para el planificador de procesos industriales, los diseos estandarizados hacen que la estructuracin y encaminamiento de las partes resulten mucho mas fciles. Los ingenieros de fabricacin comprueban que los costes de estampacin y fijado se

14

Automatizacin de procesos industriales


reducen, as como el tiempo de organizacin. La GT permite que el agente de compras consiga abaratamientos al poder adquirir un gran nmero de piezas iguales cada vez.

15

Automatizacin de procesos industriales

TECNOLOGA EUROPEAN INSTALLATION BUS (EIB)

1. Introduccin
1.1 Automatizacin y evolucin histrica
Es frecuente encontrar el trmino inteligente aplicado a un edificio, siendo, en muchas ocasiones, una utilizacin del trmino poco apropiada. Los inicios de su uso hay que buscarlos en la ciencia informtica, donde se habla de terminales tontos (dumb) y de terminales inteligentes (smart) para diferenciar los que disponen de capacidad propia de proceso de datos de aquellos que no la tienen. Esta capacidad de proceso est asociada a la disponibilidad del elemento que constituye la base del desarrollo acelerado de la informtica en los ltimos tiempos: el microprocesador. La incorporacin de microprocesadores a distintos equipos ha hecho que se extienda el trmino inteligentes aplicado a los mismos.

Por otro lado,

la paulatina convergencia

de

la

informtica

y las

telecomunicaciones, provocada tanto por la aplicacin de tecnologas digitales a las comunicaciones (lo que sera la informatizacin de las telecomunicaciones) como por la necesidad de que los ordenadores puedan transmitir y recibir datos de otros equipos electrnicos, hace que, de hecho, no se hable separadamente de informtica y telecomunicaciones, sino del conjunto de ambas como de las Nuevas Tecnologas de la Informacin (NTI). En este contexto, una vivienda puede ser denominada inteligente cuando a sus equipos e instalaciones tradicionales se incorporan nuevas tecnologas de informacin.

Se utilizan tambin otros trminos para describir este concepto, como el de vivienda automatizada o expresiones mucho ms genricas, como la de sistemas domsticos. Pero el trmino ms utilizado es el de domtica, an siendo el ms ambiguo en cuanto a los sistemas inteligentes se refiere. Es un trmino que proviene del francs domotique, como unin de la palabra latina domus (casa) y robotique (robtica). 16

Automatizacin de procesos industriales

Esto es, la robotizacin de la vivienda, o mejor dicho, la automatizacin del hogar. Sin embargo, este trmino no es bien acogido por parte de ciertos sectores. Se debe ante todo a que la domtica no ha evolucionado tan bien como se esperaba en el mercado espaol, y el trmino suena tambin, en algunos casos a fracaso, lujo intil, sistemas que fallan y alto precio. Pero cada vez el trmino domtica se incorpora en el vocabulario tcnico, adems de tener un significado y una definicin, (Domtica: concepto de vivienda que integra todos los automatismos en materia de seguridad, gestin de energa, comunicaciones...) por lo que hoy en da est casi plenamente aceptada.

El desarrollo tecnolgico y la convergencia entre la informtica y las comunicaciones posibilita, de manera sencilla, la implantacin de los sistemas domticos en viviendas y edificios. En poco tiempo, la domtica ha evolucionado considerablemente en base a una serie de factores:

Mayor calidad de vida, aumentando el bienestar y reduciendo el esfuerzo fsico, el trabajo rutinario y el trabajo improductivo.

La funcionalidad en edificios. El ahorro energtico. Comunicacin de la vivienda con el exterior. Todas estas ventajas que presenta la instalacin domtica debe, adems, ir acompaado de una interface de usuario sencillo, de fcil manejo y comprensin.

Dentro de los diferentes sistemas domticos existentes este trabajo se centra en el estudio del sistema por bus de datos EIB. Pero antes de comentar sus caractersticas veremos los diferentes servicios y aplicaciones que debe de cumplir un sistema domtico, para ver si el EIB las cumple, al igual que una pequea referencia a los otros tipos de sistemas existentes.

17

Automatizacin de procesos industriales

1.2 Servicios y aplicaciones de una instalacin automtica.


Tal como se ha comentado, existe una gran variedad de servicios y aplicaciones destinados a las viviendas domticas, lo que dificulta realizar una descripcin exhaustiva de todas ellas. Pero todas esas tareas pueden agruparse en cuatro reas funcionales.

A) La gestin de energa.

Con la gestin de la energa se busca optimizar el consumo energtico en la vivienda. Para ello puede disponerse de un sistema de gestin de cargas elctricas mediante el cual se desconecten de un modo selectivo y programado un cierto nmero de equipos domsticos segn un ciclo preestablecido con el fin de no superar la potencia elctrica contratada. As, por ejemplo, si un lavavajillas tuviese una fase crtica en su ciclo de funcionamiento, el sistema de gestin de cargas podra parar momentneamente el uso de una lavadora hasta que dicha fase no haya terminado.

La ventaja de este sistema es, adems de reducir la potencia elctrica contratada, evitar sobrecargas en el de distribucin elctrica.

Tambin se puede llevar a cabo la utilizacin de energas renovables generadas en la propia vivienda, tanto con sistemas activos como pasivos, como la utilizacin de la energa solar a baja temperatura o como la recuperacin de energas residuales generadas en el propio edificio, as como la utilizacin de energas alternativas como la solar o elica ante imprevistos.

Otra forma de ahorro es incorporando un contador con doble tarifa, que haga funcionar, mediante programadores horarios, distintos receptores dentro del horario donde la energa elctrica sea ms barata (tarifa nocturna).

18

Automatizacin de procesos industriales


Por otra parte, sistemas eficientes de climatizacin garantizan el nivel de confort deseado por el usuario con el mnimo gasto de energa. Una sonda de temperatura exterior a la vivienda regular el ritmo de trabajo de los mismos, mientras que sondas de temperatura interiores permitirn la zonificacin de la climatizacin disponiendo niveles de temperatura distintas para cada una de las estancias de la vivienda. B) Gestin de seguridad.

Tiene como objetivo la proteccin tanto de personas como de bienes. Las funciones de seguridad que incorporan casi todos los sistemas domticos se realizan del mismo modo que cualquier otra funcin que puedan realizar. Es decir, el sistema de control, ya sea centralizado o descentralizado, recibe un conjunto de seales de los detectores perifricos y enva seales a sus actuadotes (activacin de una alarma, encendido de una luz, envo de una llamada telefnica...). Fsicamente, esta comunicacin se realiza dependiendo de la tipologa de cableado elegida: punto-apunto, bus o portadoras.

Cuando se produce una intrusin en la vivienda, detectores de presencia distribuidos en lugares estratgicos detectan al intruso, activando el sistema de alarma. Como respuesta a tal intrusin, se activar una sirena, a la vez que un transmisor telefnico avisar al usuario de la intromisin mediante un mensaje hablado que llegar al telfono indicado. Estos nmeros de telfono sern particulares, y nunca pueden ser los correspondientes al del servicio de bomberos, ni hospitales, ni polica. Cuando el usuario est ausente, podr simular su presencia mediante la activacin programada de luces, radio, subida y bajada de persianas... De esta manera, la probabilidad de una intrusin se reduce considerablemente.

En muchas ocasiones, un escape de agua no es detectable hasta que produce efectos irreparables. Con un sensor de humedad en la cocina y aseos, es posible actuar sobre una electro-vlvula, interrumpiendo el suministro de agua al detectar un escape.

Lo propio puede ocurrir al detectar una fuga de gas. De igual manera, al detectar un incendio, detectores de humo y fuego harn que se activen las alarmas y avisarn, va red telefnica a los bomberos.

19

Automatizacin de procesos industriales


Dentro de esta rea funcional, existen aplicaciones que hacen referencia a la seguridad personal del usuario en cuanto a su salud. Por ejemplo, si un miembro de la familia se encuentra indispuesto, puede utilizar un pulsador porttil o fijo que activar una alarma cuya respuesta sea enviar una llamada telefnica a un nmero indicado: un vecino, un centro mdico... C) Automatizacin de las tareas domsticas.

Con la automatizacin de algunas tareas domsticas se pretende aumentar el nivel de confort del usuario. Es un grupo muy grande y recoge aplicaciones de muy distinta ndole, como la comprobacin del correcto funcionamiento de los sistemas. Por ejemplo, si mientras estamos viendo la televisin llaman a la puerta ser posible ver al visitante en una pequea ventana que se abrir en una esquina del televisor, y actuar sobre la cerradura elctrica de la puerta para permitir su entrada, por ejemplo mediante un terminal telefnico.

Las persianas pueden gobernarse cmodamente mediante simples mandos a distancia de forma individual o colectiva. Tambin puede instalarse una red de aspiracin centralizada con tomas distribuidas por el inmueble. La iluminacin del exterior de la vivienda se activar automticamente al detectar la presencia de una persona cuando el grado de luminosidad ambiente sea inferior a un valor programado. Del mismo modo, las viviendas con zonas ajardinadas pueden disponer de un sistema de riego que se active automticamente segn el grado e humedad del suelo y segn un horario preestablecido.

D) La comunicacin.

Otro grupo de aplicaciones viene dado por las comunicaciones entre personas y entre personas y equipos, dentro y fuera de la vivienda. As, por ejemplo, pueden activarse la calefaccin o cualquier equipo domstico de inters para el usuario con una simple llamada telefnica. Adems, algunas aplicaciones, como ya explicamos antes, requieren una comunicacin hacia el exterior, como el caso de mensajes de auxilio o intrusin.

20

Automatizacin de procesos industriales


Por otra parte, el uso de las redes de telecomunicacin actuales permiten disfrutar de servicios telemticos para el hogar, como el telecontrol, que permiten el control y gestin remotos de algunos sistemas o equipos tanto desde el interior como desde fuera del hogar, incorporando dentro de este concepto aspectos relacionados con la seguridad, alarmas... Tambin la tele-medida del consumo de servicios pblicos, tales como agua, gas o energa elctrica, cuyas aplicaciones pueden permitir el conocimiento de los consumos especficos de los equipos, la limitacin en funcin de las distintas tarifas horarias, etc. Otro servicio sera la tele-formacin, mediante el cual programas de educacin pueden llegar al hogar a travs de distintos medios (va satlite, radiodifusin, red telefnica, televisin por cable...) y que se pueden complementar con otras herramientas, como el vdeo interactivo, etc.

21

Automatizacin de procesos industriales

2. Sistemas automticos.
Existen diferentes sistemas domticos. Dentro de los sistemas actuales los ms relevantes son el sistema por corrientes portadoras, el sistema por controlador programable y el sistema por bus de datos. Haremos una pequea introduccin a cada uno de ellos.

2.1 Sistemas por corrientes portadoras.


Este tipo de sistema lo podemos estudiar mediante el estndar que ms difusin tiene, el X-10. Es un sistema descentralizado y configurable (no programable). La filosofa fundamental de diseo de X-10 es la de que los productos puedan interoperar entre ellos, y la compatibilidad con los productos anteriores de la misma gama, es decir, equipos instalados hace 20 aos siguen funcionando con la gama actual. Este sistema ha sido desarrollado para ser flexible y fcil de usar. Se puede empezar con un producto en particular, por ejemplo un mando a distancia, y expandir luego el sistema para incluir la seguridad o el control con el ordenador, siempre que se desee, con componentes fciles de instalar y que no requieren cableados especiales.

El sistema X-10 proporciona a los usuarios facilidad de manejo, a los instaladores la flexibilidad y capacidad de crecimiento y la solucin de problemas economizando proyectos.

Los fundadores de X-10 establecieron ciertos principios estratgicos que permanecen a pesar del paso de los aos, como el de disear productos que incluyan circuitos integrados propios cumpliendo objetivos de rendimiento o el de disear productos para un amplio sector del mercado, con un bajo coste de manufacturacin.

Siguiendo estos principios y como X-10 tiene patentes en aspectos claves de la tecnologa PLC (Power Line Carrier, transmisin por corrientes portadoras), no han

22

Automatizacin de procesos industriales


tenido competidores desde los primeros productos X-10 introducidos en el mercado en 1978.

Las transmisiones X-10 se sincronizan con el paso por el cero de la corriente alterna. Los interfaces Power Line proporcionan a onda cuadrada de 50 Hz con un retraso mximo de 100 seg desde el paso por el cero de la corriente alterna. El mximo retraso entre la entrada de la curva de la seal y de cruce por la salida de los pulsos de 120 KHz es de 50 seg.

Un 1 binario se representa por un pulso de 120 KHz durante un milisegundo, en el punto cero, y el 0 binario se representa por la ausencia de ese pulso de 120 KHz. Estos pulsos de un milisegundo se transmiten tres veces para que coincidan con el paso por cero en las tres fases en un sistema trifsico.

23

Automatizacin de procesos industriales

2.2 Sistemas por controlador programable.


Uno de estos sistemas es el Simn VIS. Es un sistema centralizado que est orientado a la gestin de pequeas y medianas instalaciones. El sistema cuenta con una serie de elementos para interconexionarse entre s, pudiendo instalarse a distancia unos elementos de otros. No es necesario disponer de un cuadro elctrico exclusivo para los elementos que los componen, sino que se podrn distribuir en distintos cuadros elctricos.

El Modulo de Control es programable y en l se procesa la informacin procedente de las entradas y se ejecutarn las acciones definidas en la programacin introducida.

La herramienta de programacin ser un ordenador personal provisto del software terminal Simon VIS (TermVIS). Hay dos tipos de mdulos de entradas, uno de 230 V c.a., con 8 entradas con un neutro comn, y otro de 24 V c.c., con 16 entradas. De modo similar hay 3 tipos de mdulos de salidas: uno de 230 V c.a., con 8 salidas rel distribuidas en dos grupos de 4 salidas cada uno; otro de 400 V c.a., con 8 salidas de rel, y otro de 24 V c.c., con 8 salidas s transistor.

En total gestiona 128 entradas y 128 salidas y dispone de 128 programadores semanales. Tambin existen diversos complementos para incrementar las prestaciones de la instalacin, como el mdulo de temporizadores o el de mdem.

24

Automatizacin de procesos industriales

2.3 Sistema por bus de datos.


El EIB, sistema que analizaremos en este trabajo, es uno de los sistemas por bus de datos ms utilizados. Antes de comenzar con su exposicin explicaremos algunas de las ventajas e inconvenientes que tienen los buses con respecto a los otros sistemas vistos en los apartados anteriores.

Las redes o buses domticos, (los sistemas basados en redes de transmisin de informacin) comparten un canal de control o cableado nico al que se conectan tanto los sensores como los bloques actuadores y la unidad central, que es capaz de hablar individualizada o colectivamente con esos dispositivos. Vamos a analizar las caractersticas exigidas a un sistema domtico y como se adapta el bus.

Interaccin entre unidades. La caracterstica ms importante ofrecida por las redes estriba en la infraestructura de comunicaciones de propsito general que puede ser usada por las diferentes aplicaciones o dispositivos electrodomsticos sin inferir unas con otras. Una red es capaz de reducir enormemente el cableado existente en las instalaciones actuales, adems de permitir la interaccin entre reas de aplicacin (no existente en sistemas convencionales); con mucho menos cableado se obtiene incluso ms funcionalidad.

Ampliabilidad. Se quiere indicar la facilidad de aadir nuevos dispositivos al sistema domtico con un mnimo coste econmico y de esfuerzo por parte de instaladores y usuarios. Con los buses el problema se reduce drsticamente, ya que se emplea un solo cable para conectar todos los dispositivos. Se pueden prever a lo largo del hogar una serie de tomas de conexin al bus o bien empalmar desde cualquiera de los existentes. Incluso es vlido un enchufe mltiple donde conectan cuantos dispositivos queramos. Existe una gran flexibilidad a este respecto.

25

Automatizacin de procesos industriales


Sencillez de instalacin. El coste de instalacin de cables y conectores normalizados debe mantenerse en el mnimo posible. Una red debera prestar todos sus servicios a travs del menor nmero de conectores de caractersticas distintas. Sera ptimo obtener todos los servicios a travs, por ejemplo, de un conector nico.

Ubicacin flexible de los dispositivos. Un bus ofrece una infraestructura de control de propsito general, lo que quiere decir que no importa en que lugar del cable se conecte un dispositivo, la funcionalidad va a ser totalmente independiente de su ubicacin. Imaginemos una lavadora inteligente que inicialmente est instalada en la cocina donde est funcionando perfectamente, pero, por problemas de espacio se decide cambiar al garaje. El proceso de instalacin quedar reducido a desconectar la lavadora de la cocina y conectarla al garaje. Las rdenes de puesta en marcha, etc., que manda el controlador a la lavadora le seguir llegando ahora en su nueva ubicacin.

En el esquema se ve un ejemplo de cmo funciona un bus. Los elementos son una unidad central, sensores de presencia y una sirena. Estos comparten el mismo canal de control, es decir, el mismo cableado. La unidad central recoge la informacin de los sensores de presencia y activa la sirena segn la programacin existente.

26

Automatizacin de procesos industriales

3. Bus de instalacin europeo EIB


El European Installation Bus o Bus de Instalacin Europeo o EIB, es el sistema por bus de datos ms utilizado y difundido actualmente para el control y la gestin de edificios.

Para el desarrollo y promocin del sistema EIB se ha fundado en Europa una asociacin de ms de setenta firmas fabricantes de material elctrico denominada EIBA.

3.1 La EIBA
La EIBA (European Installation Bus Association o asociacin del bus de instalacin europeo) es la organizacin que rene a las empresas punteras en la tcnica de instalacin elctrica para impulsar el desarrollo de sistemas de edificios y conseguir ofrecer en el mercado europeo un sistema fiable.

La EIBA tiene sus sede en Bruselas, y es una Sociedad Cooperativa segn la legislacin belga. Ms de 70 miembros, que como fabricantes cubren el 80% de la demanda de aparatos de instalacin elctrica en Europa, pertenecen a la sociedad, entre los que se encuentran Bosch-Jaeger, ABB, Elektro,... Los nuevos asociados e incluso licenciatarios suelen ser aceptados.

El smbolo visible de la asociacin es la marca registrada "EIB". El cumplimiento por los productos con los estndares requeridos por EIB, se comprueba en laboratorios independientes. El logotipo EIB ofrece de esta forma, todas las garantas de plena compatibilidad, con que se obliga a cada fabricante; as se consigue una plena compatibilidad entre elementos de distintos fabricantes.

27

Automatizacin de procesos industriales


Estas exigencias las realiza la EIBA especialmente, pues ella, segn se autodefine: fija directrices tcnicas para el sistema y los productos, adems de establecer prescripciones de calidad e instrucciones de ensayo.

pone a disposicin de las empresas asociadas y de sus participadas en las que posean la mayora, as como de las licenciatarias, esto es, los colaboradores EIBA, el "cmo-hacer" (know-how) actual y futuro del sistema.

encarga a laboratorios de ensayo la realizacin de pruebas de calidad.

est facultada, en caso de resultados de ensayo positivos, a conceder a los colaboradores EIBA, una licencia de marca "EIB".

colabora activamente en la normalizacin a travs de las empresas asociadas, y adapta el sistema de Bus a las normas vigentes.

promueve contactos con importantes gremios y proyectos nacionales e internacionales.

Y aunque todos los miembros de la EIBA se han puesto de acuerdo sobre un estndar unitario, se ha mantenido la competencia: los profesionales y los usuarios continan disponiendo de la libre eleccin de los productos de diferentes fabricantes y de las soluciones tcnicas.

28

Automatizacin de procesos industriales

3.2 Generalidades
El EIB es un sistema de control de instalaciones por Bus de datos.

Dentro del grupo de los equipos domticos el EIB se encuadra entre los sistemas descentralizados. Es decir, que frente a los sistemas centralizados que dirigen el control del edificio de forma centralizada, de tal modo que un error del ordenador central hara caer toda la instalacin, el EIB es un sistema de control distribuido. En estos sistemas cada nodo (sensores y actuadores) tiene inteligencia propia, es decir, puede actuar por s mismo segn las consignas de actuacin que se le hayan programado durante su instalacin. No hay central de control que pueda dejar inservible el sistema y, si cae un nodo, el resto de la red funciona perfectamente. Todos los componentes trabajan independientemente, sin necesidad de que otro elemento central vigile o coordine sus funciones. Esto se consigue gracias a que cada componente tiene su propia electrnica con un microprocesador y las memorias correspondientes.

El sistema EIB nace para hacer frente a los mercados japons y americano, basa su potencia y versatilidad en que a todos los componentes les llega un bus de datos que consta de dos hilos y que funciona a una tensin de 24 V en corriente continua. El cometido de este bus es doble:

Por una parte, suministra la alimentacin a los componentes del sistema, con una tensin adecuada para su funcionamiento.

Por otra, a travs de l se transmite el telegrama codificado para la comunicacin entre los componentes.

Los componentes del sistema EIB se dividen en tres familias: Los sensores, los actuadores y los aparatos bsicos y accesorios. Sensores son aquellos que envan ordenes manual o automticamente a travs del bus, por ejemplo pulsadores, termostatos... Los actuadores son los que reciben esas rdenes y las ejecutan, por ejemplo salidas primarias (pequeos contactores), interruptores de persianas, reguladores,... Los aparatos bsicos y accesorios no realiza funciones de gobierno ni de

29

Automatizacin de procesos industriales


control, su nica misin es la de suministrar energa elctrica a los componentes a travs del bus y servir a la vez como apoyo fsico para la propagacin de telegramas de rdenes; son, por ejemplo, las fuentes alimentacin, boinas, perfiles de datos, conectores,...

La instalacin ms sencilla puede ser slo de dos componentes (consenso y un actuado) y una fuente alimentacin. La ms compleja podra tener hasta 11.520 componentes (64x12x15).

La filosofa de control descentralizado, ha dado pie al concepto de redes de control (LON),con una clara relacin a las redes de rea local (LAN).Las topologas de conexin y el funcionamiento son similares. En cambio, una LAN est especializada en transmitir una elevada cantidad de informacin, con necesidad de un gran ancho de banda, y una LON est especializada en la transmisin de seales de control de corta duracin, requiriendo una velocidad de transmisin elevada y sin necesidad de un gran ancho de banda en el medio de comunicacin. A estos sistemas no centralizados, tambin se les llama redes de control.

El sistema EIB pueden utilizarse tanto en viviendas como en edificios del sector terciario para las funciones de mando y control de, por ejemplo, la iluminacin, persianas, toldos, calefaccin, seguridad,... es decir, que puede controlarse cualquier elemento que requiera energa elctrica para su funcionamiento. No sirve, por supuesto, para comunicaciones audiovisuales o para procesos de datos en trabajos con ordenadores de oficinas.

Ventajas:

Se trata de una tecnologa claramente orientada hacia los instaladores, esto implica que su puesta en funcionamiento es relativamente sencilla, basta con parametrizar y dar direcciones.

El bus se adapta al tamao de la instalacin y a las funciones exigidas progresivamente, pudiendo incorporarse hasta 10.000 componentes.

30

Automatizacin de procesos industriales


De cara al proyectista, resulta ms fcil desarrollar el proyecto, pues el tendido de conductores es ms sencillo, se utilizan menos cables, por tanto hay menor riesgo de incendios, los tiempos de montajes son ms cortos, las redes de cables menos complejas y, sobre todo, se consigue que las instalaciones sean ms fciles de ampliar o modificar.

De cara al usuario, representa menor coste de energa, mayor confort y ms seguridad, sin olvidar lo ya dicho de la facilidad de modificaciones (sin tener en cuenta la posible obra de empotramiento del bus) o ampliaciones y la sencillez en el mantenimiento.

Otras ventajas que se atribuyen los fabricantes son:

- Es de aplicacin universal en edificaciones de cualquier tipo. - Econmico en la utilizacin energtica. - Coste de servicio minimizado. - Tiempos de montaje reducidos. - Sencillez de cableado de instalacin. - Riesgo de incendio reducido. Menores costes de seguro. - Compatible hacia arriba con otros sistemas de gestin de servicios. - Compatible de sistema orientado al futuro. - Adaptacin flexible de la instalacin en modificaciones de utilizacin. - Componentes del sistema diseados para la prctica normal del instalador electricista. - Asistencia eficaz en la fase de proyecto. - Programa de software pensado para el instalador. - Formacin orientada a la prctica. - Mantenimiento sencillo. - Servicios y asesora de una sola mano.

Inconvenientes:

Uno de los inconvenientes principales de este sistema domtico es el precio, dado que sus componentes son ms caros que los de otros equipos centralizados. Pero

31

Automatizacin de procesos industriales


dado que el precio depende de la demanda, a mayor produccin, menor precio, en el futuro se prev una reduccin de este coste.

Otro inconveniente a la hora de su instalacin, es la necesidad de la instalacin del medio fsico que intercomunica los distintos nodos, el bus es muy fcil de instalar en una vivienda nueva a la vez que se hace la instalacin elctrica convencional, pero supone un mayor trabajo su instalacin en viviendas ya habilitadas.

Por otra parte, y de cara a los fabricantes, hay que tener en cuenta que para fabricar productos compatibles EIB, es necesario pertenecer a EIBA, o lo que es lo mismo, pagar por ello.

La intencin de ofrecer un producto acabado y de funcionamiento sencillo que se converta en una ventaja, se convierte en una desventaja cuando limita la flexibilidad del estndar. A nivel de ingeniera, slo se puede actuar sobre la aplicacin del sistema, no se puede optimizar el protocolo para un uso especfico.

En Espaa son muy pocas empresas que disponen de productos EIB. En concreto slo Niessen, Siemens y Jung pueden satisfacer la potencial demanda de cualquier cliente.

Adems, aunque existe una asociacin espaola de fabricantes de EIB, EIBA Espaa, en principio encargada de potenciar y difundir la tecnologa EIB, aunando esfuerzos y creando productos compatibles entre s, resulta que la mayora de estas empresas no tienen productos EIB en el mercado. Y lo que es peor, alguna de estas empresas tienen otros productos domticos alternativos de fabricacin propia, por lo que da la sensacin de que en lugar de potenciar productos EIB, estn retrasando su produccin y difusin mientras las ventas de sus productos actuales siga en aumento.

Tambin hay que tener en cuenta que, cada vez ms, la gente demanda productos de control y, al no encontrar en EIB una alternativa real se pone en manos de cualquier otra tecnologa alternativa (algunos incluso llegan a instalar basados en el obsoleto BatiBS, del que se hablar a continuacin).

32

Automatizacin de procesos industriales


Los beneficiados, son algunas empresas serias que continan realizando sistemas domticos de control hechos a medida y basados en autmatas, junto con empresas que fabrican sistemas de control domtico estndar.

33

Automatizacin de procesos industriales

3.3 Tecnologa EIB


El tendido del la red del Instabs EIB se realiza de un modo coordinado con la instalacin elctrica en el edificio funcional, el Instabs EIB une los distribuidores principales, los pisos, paredes, techos y tambin los canales de debajo del antepecho de las ventanas.

Los equipos para el bus, por ejemplo los de control para los diferentes consumidores y para la supervisin del edificio, pueden montarse tanto en los distribuidores como en los mismos equipos termina. El montaje centralizado de los equipos del bus en los distribuidores ofrece un mejor acceso que el montaje en los equipos terminales.

Sin embargo, en el montaje centralizado debe aceptarse un cableado radial hacia los equipos terminales.

El tendido directo del Instabs EIB hacia los equipos terminales (sensores, aparatos de iluminacin,...), simplifica, en cambio, el cableado tanto del bus como de los conductores de fuerza. El montaje de los equipos de bus en los canales del antepecho de las ventanas, combina las ventajas del cableado simple y una disposicin clara, con una buena sensibilidad para la puesta en servicio, diagnstico y mantenimiento. Los equipos del bus se conectan en los distribuidores y canales a travs del perfil de datos colocado en el riel de sujecin DIN.

Al enganchar los equipos sobre el riel se establece forzosamente el contacto con el perfil de datos. Para el resto de equipos del bus, las conexiones se efectan de equipo a equipo por medio de borneras a presin, o los equipos se conectan a travs de derivaciones o cajas de derivacin del bus. No existe limitacin para la longitud de las derivaciones mientras no sobrepasen la longitud total admisible de una lnea del bus (1000m). Como conductor para el bus se utiliza un cable trenzado, estndar en instrumentacin y control.

34

Automatizacin de procesos industriales


Todos los componentes de EIB estn, como es natural, conectados al cable bus. Algunos de ellos, adems, tienen contacto con la red, generalmente 220 voltios, como por ejemplo algunas entradas binarias en la familia de los sensores y prcticamente todos los actuadores, pues por su propia naturaleza as debe ser, ya que la funcin que realizan es accionar o regular circuitos de iluminacin, fuerza o sealizacin.

El conductor bus es de 2 x 0,5 mm, a fin de tener un par de reserva para cualquier circuito a baja tensin o bien para ser utilizado en caso de rotura de un hilo. Por la forma de instalacin, los componentes pueden dividirse en dos grupos: los que se fijan a presin en perfil DIN y los que se instalan fuera de los armarios en cajas de mecanismos o junto a los aparatos que se van a controlar o accionar. Respecto a los que se instalan en armario, se debe fijar previamente en el perfil DIN un perfil de datos autoadesible en cuatro pistas conductoras en las cuales hacen contacto los componentes automticamente, por el solo hecho de fijarlos en el perfil DIN. En las pistas extremas,1 y 4, hace contacto la fuente de alimentacin; en las pistas centrales, 2 y 3, hacen contacto los dems componente a excepcin de la bobina o filtro que es el nico aparato que hace contacto con las cuatro pistas, comunicando la pista 1 con la 2 y la 4 con la 3. La bobina evitar que los telegramas de rdenes se anulen o cortocircuiten en la fuente de alimentacin.

Todos los componentes que se instalan en el perfil DIN son modulares del sistema N.

Alimentacin de corriente:

Cada lnea tiene su propia alimentacin para los componentes que cuelgan de ella. La alimentacin tpica de una lnea son 24 voltios en corriente continua.

Los componentes se agrupan en lneas. En cada lnea, se pueden instalar 64 componentes, sean sensores, actuadores o una mezcla de ellos. La tensin nominal del bus es de 28 voltios en corriente continua, an que los componentes pueden funcionar hasta con un mnimo de 21 voltios. Los componentes consumen normalmente 5 mA por lo que las fuentes de alimentacin estn diseadas para dar 64 x 5 = 320mA. Si se

35

Automatizacin de procesos industriales


necesitan corrientes mayores, pueden instalarse dos fuentes de alimentacin en paralelo, empleando una bobina comn, con lo que la corriente que circula por el bus puede llegar hasta los 500mA.

La fuente de alimentacin tiene regulacin de tensin y de intensidad, por lo que es resistente a cortocircuitos. Al tener un tiempo de reserva de 100 ms est protegido frente a los microcortes de la red. La absorcin de potencia de cada nodo es de 5 x 28 = 140 mW, aunque algunos nodos, los que incorporan LED's, pueden llegar a consumir hasta 200 mW.

Por motivos funcionales, la fuente de alimentacin debe ser conectada tierra. Esto implica que la toma de tierra del bus debe ser conectada a la fuente de alimentacin.

Separacin de datos y alimentacin:

Dado que en el conductor bus estn superpuestas la informacin o telegramas de rdenes que son bit y, por tanto, es tensin alterna y la alimentacin que es tensin continua, se debe utilizar un procedimiento para separar ambas en cada componente.

Este consiste en emplear un pequeo transformador con el primario partido y un condensador. En una derivacin del primario se tiene la tensin continua y en el secundario slo se induce de informacin. Este proceso funciona en ambas direcciones, es decir tanto como un emisor como con un receptor o actuador.

36

Automatizacin de procesos industriales

La seal elctrica:

El cable que se emplea es un par trenzado de 0,8mm de dimetro, con doble apantallamiento: Uno de plstico y uno metlico. Este ltimo hace las funciones de toma de tierra que debe ser trasladada a la fuente. Estas protecciones permiten que el bus pueda circular junto a la red elctrica de 230 voltios sin problemas.

El bus est formado por un par trenzado dobles del cual slo van a utilizarse dos hilos, quedando los otros dos como reserva para posibles usos adicionales. La informacin se transmite de forma simtrica al par de conductores que est en uso. Por tanto al nodo que cuelga de la lnea le llega la informacin de que las variaciones perturbadoras actan sobre ambos conductores con la misma polaridad, no influyen en la tensin diferencial de la informacin.

La conexin de los componentes se hace con acoplamientos de bajo valor mhico, con la que se aumentar la proteccin frente a perturbacin. No se necesita una resistencia de cierre del conductor. La conexin de conductores se efecta mediante bordes bus sin tornillos. Asimismo, un componente se enchufara al borne o bus sin que por ello quede interrumpido el conductor bus. Dimensionamiento:

Las dimensiones mximas de la red estn limitadas por diversos factores como son las capacidades parsitas, tiempo de preparacin, alteraciones,...

La longitud mxima de cada lnea de la red, 1000m, est determinada debido al hecho de que el emisor del telegrama (en tensin alterna) queda cargado con la capacidad del conductor. Cada nodo enva nicamente una semi-onda negativa a 9600bps, la bobina de la fuente de alimentacin se encarga de generar la semi-onda compensatoria activa. Esta forma de reconstruir la onda es lo que hace que los componentes tengan una mxima distancia hasta la fuente de 350 metros.

37

Automatizacin de procesos industriales


Los valores para el conductor PYCYM 2*2*0.8 son 72 W/km. de bucle y 0.2 mF/km. todo esto para una frecuencia de 800Hz. Esto provoca un retraso de: Tv=72x0.12=9ms/km. Si adems tenemos en cuenta que las transiciones en los cambios de nivel no son instantneas, se puede considerar un tiempo de retraso total de

aproximadamente 10 ms cada 700 metros. Retraso y insignificante comparado con la longitud media del telegrama de informacin (cada telegrama ocupa el bus un tiempo comprendido entre 20 y 40 ms).

38

Automatizacin de procesos industriales

3.4 Topologa de las redes EIB


La instalacin del bus se puede realizar de la manera que se desee: en lnea, en rbol o en estrella. Lo que no se permite es cerrar la instalacin, es decir, tener una topologa de anillo.

La mnima unidad que compone una red EIB se denomina lnea. Cada una de estas puede soportar hasta 64 nodos EIB. El sistema permite duplicar tanto la longitud como la capacidad de nodos de la lnea, simplemente uniendo dos lneas por medio de un repetidor. Para cada una de estas lneas ampliadas se necesita una fuente de alimentacin adicional. En algunos casos, una lnea puede tener hasta cuatro segmentos de lnea conectados a travs de repetidores y, por tanto, la capacidad de la lnea se puede ampliar hasta 256 nodos.

Con ayuda de acopladores de lnea se pueden conectar hasta 12 lneas para formar una zona EIB. Por tanto, dos mecanismos en diferentes lneas pueden intercambiarse informacin a travs de la lnea principal. La longitud de cada lnea no puede exceder los 1000 metros, con una separacin mxima de 700 metros, y entre la fuente de alimentacin y un nodo de trescientos cincuenta metros.

Con ayuda de acopladores de zona pueden llegar a unirse hasta 15. Por tanto, se pueden disear redes de hasta 64 x 12 x 15 = 11.520 nodos, y si se dispone de un repetidor en cada una de las lneas se puede llegar hasta un mximo de once mil quinientos veinte por dos igual a 23.040 nodos.

Para realizar la instalacin tanto de las diferentes lneas, como de la lnea principal o de la el lnea de zonas sern necesarios los mismos componentes: una fuente de alimentacin para cada lnea, un filtro que nos depure la alimentacin de 24 voltios y un conector que nos pasen la corriente del bus del perfil DIN al bus cable, adems de los posibles acopladores de lnea o de rea que se necesite. Por ltimo, se colgarn los sensores y actuadores, hasta un mximo de 64 unidades por lnea.

39

Automatizacin de procesos industriales

3.5 Los telegramas


El proceso de emisin de un telegrama al bus se produce despus de una espera mnima de T1 tras la decisin de emitir. Igualmente, despus de la conclusin del telegrama hay un tiempo de espera T2, para comprobar la recepcin correcta como corresponde a un protocolo de ventana deslizante.

T1: tiempo libre del bus (50bits). T2: espacio hasta el recibo (13 bits).

La informacin completa se enva agrupada en palabras de once bit. El bit inicial es start-bit que indican el comienzo de cada palabra, despus le siguen los ocho bit de datos, a continuacin el bit de paridad y se termina con el bit de parada (stop-bit).

Antes de la transmisin de la siguiente palabra, han de pasar como mnimo dos bit sin ningn tipo de informacin.

El telegrama se emite con una velocidad de 9.600bps, envindose una palabra de once bit (8 de informacin) cada trece bit, es decir 1,35 ms.

Si se tiene en cuenta los encabezamientos T1 y T2 , cada telegrama ocupa el bus un tiempo comprendido entre 20 y 40 ms.

Todos los nodos a los que van dirigido el telegrama dan simultneamente el recibo de la recepcin.

Un telegrama constante de siete campos que son, de izquierda a derecha: control, direccin de origen, direccin de destino, contador rooting, longitud, datos, comprobacin.

40

Automatizacin de procesos industriales

1. Campo de control: se encargan de indicar las prioridades. Hay cuatro grados. La mxima prioridad se asigna a funciones de autogestin del sistema; el segundo grado se designa a funciones de alarma. Adems, el campo de control tiene un bit que si toma el valor cero, indica que el mensaje es una repeticin porque no se ha recibido el acknowledge; con esto se evita que los elementos que ya hayan ejecutado la orden la vuelvan a repetir.

2. Direccin de origen: es la direccin fsica del componente de emisor. Como se ha visto anteriormente, se enva informacin del rea y la lnea en la que se encuentra dicho elemento. La revisin de la direccin de origen pretende facilitar las tareas de mantenimiento al identificarse fcilmente quien ha emitido el telegrama.

3. Direccin de destino: puede ser la direccin fsica o la de grupo segn el valor que tome el bit 17(si es uno entonces es de grupo).

4. Contador rooting: indica el nmero de acopladores por los que ha pasado el mensaje. Su funcin es evitar que un mensaje se pasee mucho tiempo por la red.

5. Longitud: son cuatro bits que indican el nmero de bytes de informacin que contiene el campo de datos. El nmero mximo es 16.

6. Datos: el campo informacin til tiene dos partes diferenciadas: la orden y los parmetros de la misma. La primera puede ser de cuatro tipos: escribir, leer, contestacin larga y contestacin corta. Las tres primeras envan dos bytes mientras que la tercera puede llegar a ocupar los diecisis bytes disponibles. Todas rdenes leer se solicita el acuse de recibo del componente direccionado.

7. Comprobacin: cada "palabra" de once bytes tiene que presentar paridad par (comprobacin horizontal), adems, al acoger cada bit de todas las "palabras" del telegrama (bit 0 de todos los campos, bit uno de todos los campos,...), tiene que sumar 1(paridad impar vertical).

41

Automatizacin de procesos industriales

Acceso al medio:

Si un nodo quiere enviar un mensaje al bus y ste no est ocupado, lo puede hacer inmediatamente. Si hay emisiones simultneas de varios nodos, entonces el acceso de stos se regula con el procedimiento CSMA-CA (Carrier Sense Multiple Access with Collision Avoidance). Con el fin de evitar las colisiones, los dispositivos esperan en modo de deteccin durante sus envos al bus como si estuviesen escuchando lo que sucede en el bus para detectar si est libre o no. Si hay corriente en el conductor, interrumpe la emisin y da prioridad a otro nodo.

El componente con prioridad baja, escucha el telegrama hasta el final, y a continuacin emite.

El objetivo de este procedimiento es que aunque haya varios dispositivos con mensajes a enviar, el bus siempre est ocupado por alguno. Con esto se evita tener el bus desocupado lo que originara una disminucin de la capacidad de transmisin del bus.

42

Automatizacin de procesos industriales

3.6 Composicin de los nodos


Cada nodo est formado por un acoplador al bus, un interface de aplicacin y el aparato final.

El acoplador al bus recibe telegramas del bus de la instalacin, los decodifica y manda la informacin a la unidad de aplicacin (actuador o sensor).

Cuando la unidad de aplicacin desea enviar informacin al bus, el acoplador recibe esta informacin, la codificar y la transmite al bus, direccionndola hacia un actuado o sensor.

El acoplador al bus y la unidad de aplicacin intercambian informacin por medio de un interface fsico externo, al que se accede a travs de un conector de 10 pins. El acoplador es un mecanismo multifuncional. Slo sabr la funcin que deber realizar cuando haya recibido los parmetros necesarios durante la instalacin. Los datos de parmetro son automticamente cargados cuando se produce la puesta en marcha de la instalacin por medio de las herramientas de ETS.

El acoplador no necesita ser programado. Ya tiene instalado en el firmware el modo de funcionamiento del protocolo de comunicaciones.

El acoplador al bus peridicamente chequea el corrector de diez pins de los sensores con el fin de localizar cambios en la seal. Si se produce un cambio, se transmite un telegrama a la instalacin del bus.

En el caso de los actuadores estos envan los nuevos telegramas por medio de interface fsico externo solamente una vez a la unidad de aplicacin.

El elemento ms importante del acoplador al bus es el controlador.

43

Automatizacin de procesos industriales


El controlador de acoplador al bus contiene el microprocesador con las memorias ROM (no voltil), RAM (voltil) y EEPROM (elctricamente programable y no voltil). El software especfico del sistema vienen grabado en la memoria a ROM por el propio fabricante. La EEPROM se utiliza para grabar la parametrizacin de las funciones concretas a realizar por el aparato.

El microprocesador deposita los datos actuales en la memoria RAM.

El mdulo de transmisin es el elemento del acoplador al bus que se encarga de separar o mezclar la tensin continua y la de la informacin, producir cinco voltios estabilizados, salvar los datos si la tensin de alimentacin se pone por debajo de 18 voltios, controlar la funcin de reset del procesador y gobernar la emisin/recepcin. El acoplador puede tener tres funciones:

- Acoplador de rea: enlaza la lnea de rea con la principal de un rea. - Acoplador de lnea: enlazan la lnea principal con una secundaria. - Amplificador del lneas: duplica el nmero de elementos de la lnea.

Mientras que los dos primeros discriminar el paso de telegramas, el tercero deja pasar todos los que le llegan. Los acopladores de lnea y de filtro reciben una tabla de filtro durante la parametrizacin. Esta memoria se mantiene durante ms de diez aos con una pila de litio.

44

Automatizacin de procesos industriales

3.8 Direccionamiento
Cada componente est identificado por su direccin fsica que es exclusiva. Esta direccin slo se utiliza con fines de diagnstico para saber si el mecanismo est bien programado o no. Tiene una longitud de 16 bits divididas en tres campos:

F=1-15 rea en que se encuentra el mecanismo. F=0 lnea de rea. L=1-12 lnea en que se encuentra dentro del rea. T=1-64 direccin del componente dentro de la lnea.

Para que sensores y actuadores funcionen conjuntamente se asocian mediante la direccin de grupo. Esta es totalmente independiente de la direccin fsica, y las agrupaciones que realizan son de tipo lgico.

Cada direccin puede coordinar cualquier componente independientemente de la lnea en que se halle. La principal aplicacin de la direccin del grupo es permitir que un telegrama pueda ir dirigido a varios nodos.

Los acopladores de la lnea juegan un papel muy importante en el correcto funcionamiento de las direcciones de grupo, ya que son los que deciden si un telegrama puede o no pasar a la lnea. Durante la parametrizacin se suministran al acoplador de lnea las direcciones de los nodos que se hallan bajo su control: si un mensaje no va dirigido a ninguno de estos nodos, ni tan slo pasa a la lnea. Lo mismo sucede con los acopladores del rea.

45

Automatizacin de procesos industriales

3.9 Cuadro tcnico EIB


Suministrador Ms de 50 miembros Sistema abierto Si Grupo de usuarios EIB Association Standards DIN VDE 0829 Topologa Abierta N mximo de nodos 64 dispositivos por lnea, 12 por lnea principal, 15 lneas principales por bus troncal (Backbone). Procedimiento de acceso CSMA/CA Velocidad de transmisin 9.6kbps, 700m por linea Requerimientos de cableado Par trenzado y lnea de alimentacin. Formato de Datos/Transmisin 24V Deteccin de Errores CSMA/CA

46

Automatizacin de procesos industriales

3.10 Programacin de una instalacin EIB (ETS)


Para realizar una instalacin EIB, se utiliza un elemento sensor o actuadorcompatible con el estndar, y un interface para acoplarlos al bus; pero, adems, se necesita un software de aplicacin que identifique y dirija el comportamiento del nodo.

Esta ltima funcin la realiza el E.T.S.

El E.T.S. (EIB tool Software) es el software de programacin del sistema EIB. Se carga una vez cableada la instalacin. El programa sigue un entorno Windows, por lo que su manejo es fcil; basta seguir las instrucciones que la pantalla nos va dando a travs de los comandos e iconos.

Es un software dirigido a instaladores, ingenieros y arquitectos, y tiene un doble objetivo:

- Permitir el diseo y planificacin de las instalaciones. - Programar las aplicaciones particulares de los dispositivos para cargarlas en la instalacin.

Para el correcto funcionamiento del E.T.S., es necesario instalar un disquete con una base de datos de los productos EIBA que contiene su descripcin y precio. Es necesario un PC que admita el sistema operativo MS-DOS 5.0 con un entorno Windows 3.1 o versiones posteriores.

El E.T.S. se compone de dos programas:

El programa de administracin (ETS-Administration).Tiene un programa CAD que asiste al proyectista en el diseo del esquema de la planta permitiendo colocar mecanismos EIB en la instalacin. En este mdulo se guarda la informacin administrativa. Tambin guarda las reas y lneas fsicas que se

47

Automatizacin de procesos industriales


definen durante el diseo y las direcciones del grupo que permiten que varios elementos puedan funcionar conjuntamente.

El programa de puesta en marcha y diagnstico (ETS-Startup & diagnostics). Se utiliza para disear (sin soporte grfico) y para cargar programas en la instalacin EIB, es decir, que sus dos principales misiones son programar la instalacin nodo a nodo, modificando la programacin para aadir nuevas funciones, elementos y lneas y comprobar, en la propia obra, el correcto funcionamiento del diseo mediante el envo de telegramas a la lnea de bus.

Antes de comenzar con el programa debemos conectar el cable de comunicaciones desde el puerto serie del PC al interface serie, mediante al cable adecuado.

48

Automatizacin de procesos industriales

3.11 Otra tecnologa de control distribuida LonWorks (Comparacin con EIB)


En el estudio mostrado por este documento, se ponen de manifiesto las ventajas de un sistema de control distribuido. No obstante, se puede apreciar que la funcionalidad de cada nodo EIB queda prefijada por los fabricantes. Al usuario slo le queda la posibilidad de parametrizar el nodo dentro de la red, esto es, configura el sistema en base a sus necesidades finales, programando su funcionamiento durante la instalacin.

Por tanto, la posibilidad de permitir al usuario la opcin de que disee el funcionamiento de cada nodo, supone un paso adelante en la evolucin de sistemas de control descentralizados. Es decir, que el fabricante proporcione un nodo abierto, fcilmente accesible, que permita al usuario especializado y a empresas de desarrollo la posibilidad de crear nuevos productos en base a un estndar de control. Este es uno de los objetivos de la tecnologa LonWorks. Pero sus ventajas no se quedan en esto.

Comparar EIB con un sistema LonWorks es comparar un simple sistema domtico con otro mucho ms potente y verstil y que adems resulta ms econmico. La tecnologa LonWorks est a aos luz de cualquier otra, y mucho ms de EIB.

LonWorks es un autntico estndar abierto que permite que cualquier desarrollador haga productos a su medida, con la posibilidad de comunicarse con cualquier otro producto realizado por fabricantes diferentes. Posibilita la transferencia de un gran volumen de datos y permite la conexin a cualquiera de los soportes de comunicacin conocidos (EIB slo puede comunicarse va bus). Todo ello a un coste inferior a cualquiera de sus lejanos competidores.

49

Automatizacin de procesos industriales


Si comparamos ambas tecnologas en base a lo que son sistemas de control distribuidos, tendramos:

1. EIB y LonWorks son sistemas de control distribuido, es decir cada nodo de la red tiene capacidad propia de tomar decisiones, sin depender de una central de control.

LonWorks adems, permite el procesado de datos a alto nivel. 2. EIB es una tecnologa ms cerrada. Hay que pertenecer a EIBA para desarrollar productos EIB, y pagar los royalties correspondientes. LonWorks permite que cualquier persona, sin necesidad de pagar por ello, pueda desarrollar productos compatibles.

3. En EIB cada lnea (64 nodos) lleva su propia alimentacin. LonWorks permite una alimentacin por nodo, o puede pasar a una alimentacin por la red mediante par trenzado con LinkPower (LPT-10 78kbps 128 nodos).

4. EIB enva los datos mediante un sistema de tensin asimtrica por el mismo bus de alimentacin. LonWorks envan los datos por cualquier medio de transmisin (permite par trenzado, coaxial, radio frecuencia, red de alimentacin, infrarrojos, fibra ptica, bus). Cuando se usa el LinkPower los datos se envan junto con la alimentacin.

5. EIB permite una topologa de la red en bus, rbol, estrella y mixta. LonWorks permite adems topologas en anillo y libre. LonWorks tiene capacidad de filtrar paquetes repetidos y de realizar un control tipo LAN de manejo de la red.

6. EIB permite una velocidad de transmisin de datos de 9.600bps. en lneas de hasta 1000m. sin repetidores. Lon permite una velocidad de 78.000bps en lneas de hasta 2.000 m., sin repetidores. adems, con par trenzado y con aislamiento por transformador, Lon permite una velocidad de 1.250.000 bps. con topologa bus, con 64 nodos y 130 m. de longitud de lnea.

7. El chip bsico de EIB dispone de un solo microprocesador con RAM, ROM y EEPROM que permite la parametrizacin de nodos. Por su porte, el Neuron chip disponen de tres CPU's, dos de las cuales se ocupan de hacer transparente la red a la

50

Automatizacin de procesos industriales


aplicacin (de la que se encarga la tercera CPU). Tambin dispone de memorias RAM, ROM y EEPROM, esta ltima permite que la aplicacin se reprograme a la hora de la instalacin.

8. EIB disponen de acopladores de lnea y de zona, que actan como bridges. Tambin dispone de amplificadores con funcin de repetidor. Por su lado, LonWorks para garantizar la conectividad disponen de repetidores, bridges, Learning Routers y Routers preconfigurados, segn el tipo de conectividad requerida entre redes. 9. El direccionamiento de EIB parte de una direccin fsica (16 bits) que diferencia a cada nodo de la instalacin, y una direccin del grupo (15 bits) que empareja, de forma lgica, al conjunto del nodos seleccionado. La direccin lgica permite el acceso gruposubgrupo.

Los Neuron chips disponen de una direccin fsicas (48 bits) nica en el mundo y grabada en fbrica. Adems, permiten tener una direccin lgica de dominio subred y nodo. El direccionamiento lgico LON permite el acceso a dominios, subredes o a nodos (hasta 32 bits). Por si fuera poco, tambin permite el acceso por grupos de nodos, donde cada nodo puede pertenecer hasta a quince grupos distintos, mientras que una direccin de grupo es de hasta 24 bits.

10. Tanto EIB como LonWorks para transmisin de datos, garantizan el cumplimiento del modelo de referencia OSI de ISO. El EIB tiene un acceso al medio con el sistema de deteccin de colisiones CSMACA. Por su parte el sistema Lon Talk usa el sistema CSMA predictive persistent, que incluye cualquier caracterstica del CSMA y no se queda corto para aplicaciones de control.

11. EIB siempre lanzar un mensaje de reconocimiento de los telegramas enviados. LonWorks puede disponer de hasta cuatro tipos de mensajes: con reconocimiento, con respuesta, sin reconocimiento pero con repeticin del mensaje, y sin reconocimiento. Todo queda a eleccin del programador de la aplicacin.

12. LonWorks, a nivel de red, no slo permite la transmisin de mensajes a mltiples receptores, como hace EIB, sino que tiene un nuevo concepto de variable de

51

Automatizacin de procesos industriales


programacin: Las variables de red. La programacin de LonWorks se realiza mediante un lenguaje de alto nivel: el Neuron C. LonWorks dispone de un organizador de multitarea y de una gran librera de funciones de control de eventos. LonWorks disponen adems de los servicios de una LAN.

13. La instalacin para los nodos de EIB se realiza mediante un pin de servicio, y la parametrizacin se realiza mediante un PC conectado al bus. Los nodos LON se pueden instalar segn el grado de aplicacin y el tipo de servicios que se desea que ofrezcan, permitiendo el Plug & Play, o instalacin manual, mediante el pin de servicio, o Wink.

52

Automatizacin de procesos industriales

4. Red domtica EHS


Una red domtica EHS es un conjunto de unidades lgicas que poseen una cierta funcionalidad dentro del sistema. Una red puede constar de una o varias subredes, entendiendo como tales cada uno de los medios fsicos de transmisin existentes en la vivienda. En una misma red puede haber varias subredes basadas en el mismo medio fsico.

4.1 Medios fsicos de transmisin

En la especificacin de EHS se definen seis medios fsicos y los protocolos que rigen la comunicacin de datos a travs de estos medios:

- Par trenzado 1 (TP1): control de propsito general. - Par trenzado 2 (TP2): transferencia de datos, telefona, voz, etc. - Cable coaxial (CX): audio, radio, TV. - Lnea de potencia (PL): control simple. - Radio frecuencia (RF): control sin hilos. - Infrarrojos (IR): control remoto. - La topologas fsicas ms utilizadas son el tipo bus sencillo, bus extendido serie paralelo, estrella y en anillo, siendo la mas conocida la primera.

53

Automatizacin de procesos industriales

4.2 Tipos de unidades


En los tipos de unidades podemos hacer una primera clasificacin en unidades o dispositivos de aplicacin y unidades de sistema.

Unidades de aplicacin

Son los equipos inherentes a la casa, que suministran prestaciones de manera directa al usuario.

- Dispositivo simple (SiD): Un dispositivo simple es una subunidad que no posee inteligencia. Su funcionamiento ser:

- Un SiD comprender y ejecutar comandos apropiados a su funcionalidad. Slo puede recibir comandos de dispositivos dentro de su subred, nunca de otras subredes.

Su conexin al bus se realizar a travs de otra subunidad llamada coordinador de dispositivos.

- Dispositivo muy simple (VSD):

Un VSD es un dispositivo simple cuyas posibilidades de comunicacin se restringen a mensajes cortos, lo que le imposibilita para mandar mensajes a unidades fuera de su subred y manejar direcciones de subunidad, por lo que en toda unidad con un VSD, ste ser la nica subunidad presente.

- Dispositivo complejo (CoD):

Como dispositivo complejo (CoD) conoceremos una subunidad que, aunque no posee inteligencia del sistema, permite:

54

Automatizacin de procesos industriales

- Recibir y enviar mensajes a cualquier otro dispositivo de la red (de su subred o de otra).

- Que slo se use en sistemas inteligentes, en compaa de al menos un controlador de caractersticas, pudiendo estar controlado por varios a la vez. La modelizacin de cada aparato como SiD,VSD o CoD vendr determinada por el tipo de sistema que queramos definir, si posee inteligencia y el medio fsico al que se conecte. Algunos medios fsicos, por ejemplo solo soportan mensajes del tipo VST.

Unidades de sistema

Las unidades de sistema tienen como objeto realizar las funciones de la red que permitan el funcionamiento de sta segn los requisitos de la especificacin EHS.

-Controlador de caractersticas (FC):

Los controladores de caractersticas s que dotan de inteligencia al sistema. Son los encargados de utilizar los recursos de aplicacin (utilidades, caractersticas) puestos en servicio por parte de los CoD en un sistema inteligente.

El modo de funcionamiento de los FC puede ser manual, a las rdenes del usuario final, o automtico. Las principales caractersticas de un FC son:

- Puede comunicarse con cualquier unidad de la red. - Debe tener capacidad de procesamiento de informacin, que le permitan conocer que dispositivos estn conectados y su funcionalidad. - En todo sistema inteligente debe de haber como mnimo un FC. - Coordinador de dispositivos (DvC): El coordinador de dispositivos es un tipo de unidad artificial que se introduce en un sistema inteligente con el fin de poder controlar dispositivos simples (SiD's) por

55

Automatizacin de procesos industriales


medio de controlador de caractersticas (FC's). La unin de un DvC con un SiD se comporta como un CoD.

- Controlador del medio (MdC) Un controlador del medio gestiona y asigna direcciones de red al resto de unidades conectadas en una misma subred. Normalmente existir un MdC en cada subred, pudiendo ser eliminado en sistemas con un nmero fijo y reducido de unidades.

- Ruteadores (R) y gateways(G): Son unidades cuya misin es transportar informacin de unas subredes a otras, la diferencia entre ruteadores y gateways es que mientras que en los primeros la comunicacin es entre subredes similares, en los segundos la comunicacin es entre subredes exteriores que no siguen el estndar.

56

Automatizacin de procesos industriales

4.3 Modelos lgicos de comunicacin


Bsicamente existen dos modelos lgicos de comunicacin: el modelo simple y el modelo inteligente.

El modelo simple es el esquema ms elemental de comunicacin, en el que slo hay una subred con dispositivos simples que pueden comunicarse entre s punto a punto.

El modelo inteligente se basa en la constitucin de unidades como suma de capas dispuestas en orden jerrquico. Cada capa se puede comunicar con la inmediatamente inferior y superior. Entre capas se encuentra la interfase.

Cuando una unidad se quiere comunicar con otra, la informacin se trasmite de las capas superiores a las inmediatamente inferiores hasta llegar a la ltima capa (la capa fsica) que se encarga de enviar el mensaje fsicamente por el medio de transmisin.

En cada uno de los saltos, cada capa va aadiendo informacin al mensaje de la capa inmediatamente superior, de tal forma que cuando esta se transmite por el medio fsico, dispone de toda la informacin necesaria para que la unidad receptora lo reciba y ejecute. Todas las unidades conectadas se pondrn a escuchar lo que circula por el bus, activndose la unidad receptora y ponindose en reposo el resto. El mensaje, una vez que llega a la unidad receptora, ir pasando a las capas superiores. Las capas superiores no dependen del medio fsico usado.

57

Automatizacin de procesos industriales

4.4 Protocolo de comunicaciones


Segn el modo de obtener direcciones las unidades EHS se clasifican en cuatro categoras.

Categora 1: En las unidades de esta categora el instalador inicia el proceso de obtencin de direccin y el controlador de medio (MdC) negocia con la unidad una direccin. Una vez obtenida la direccin esta se grabara en memoria no voltil (EEPROM). Los dispositivos simples (SiD), los complejos (CoD), los controladores de caractersticas (FC), los ruteadores (R) y los gateways (G) son unidades que entran dentro de esta categora.

Categora 2: En las unidades pertenecientes a esta categora la negociacin de la direccin de red no necesita la intervencin del instalador. Tienen un nmero de referencia de 32 bits programado por el fabricante que le permite negociar la direccin con el controlador de medio. La direccin de red se almacena en memoria voltil. Los dispositivos simples (SiD), los complejos (CoD) y los controladores de caractersticas (FC) entran en esta categora. Las unidades de esta categora se utilizan para medios rpidos.

Categora 3: En las unidades de esta categora la direccin de red se establece manualmente, pudiendo consultarse las direcciones con un controlador de medio (MdC). En esta categora slo se pueden conectar 16 unidades como mximo en cada subred, siendo el tipo de unidades conectadas dispositivos simples (SiD), complejos (CoD) y controladores de caractersticas (FC).

Categora 4: A esta categora pertenecen las unidades que necesitan unas direcciones especficas debido a las funciones que realizan. A esta categora pertenecen los controladores de medio (MdC) y el coordinador de dispositivos (DvC)., que precisan un cdigo nico y una memoria no voltil para almacenar su estado en cada momento.

58

Automatizacin de procesos industriales

Mecanismos de asignacin de direcciones

Mecanismo registration.

El protocolo registration lo llevan a cabo unidades de categora 1 y 2 con el controlador de medio para que ste les conceda una direccin de red. Las unidades de categora 1 no disponen de ningn tipo de cdigo diferenciador, por lo que su inicializacin debe llevarse a de cabo una en una. Esto se consigue con la intervencin del instalador.

En las unidades de categora 2 el protocolo comienza sin intervencin directa del instalador. Cada unidad enva un mensaje al controlador de medio (MdC) identificndose con su cdigo nico. El controlador de medio (MdC) contesta con otro mensaje donde se especifica este cdigo nico de manera que, aunque dicho mensaje lo recibirn las unidades no registradas hasta el momento, nicamente lo interpretar la que tenga el cdigo nico, que pasar al estado registrado. Este procedimiento se realizar cada vez que se inicialice la unidad, debido a que la memoria de los dispositivos en esta categora es voltil.

Mecanismo contention.

Este mecanismo lo usan las unidades de la categora 4, permitiendo que slo una unidad de este tipo que realice una determinada accin est activa. Cuando una unidad de esta categora se conecta por primera vez enva un mensaje indicando su cdigo nico y prioridad. Si no responde ninguna unidad, deber realizar un nmero de reintentos durante un perodo de tiempo pre-establecido para asegurarse que el mensaje ha sido escuchado por todas las unidades presentes en la red que realicen su misma funcin. Si pasado este tiempo no recibe contestacin, quiere decir que no existe otra unidad que realice su misma funcin en la subred, con lo que la unidad se activar. Si en la subred existen otras unidades que realizan su funcin, estas enviarn un mensaje con su cdigo nico y prioridad, que ser recibido en el tiempo preestablecido. La unidad con ms prioridad se activar quedando la otra en estado de reposo. 59

Automatizacin de procesos industriales

Mecanismo disconection.

Este mecanismo consiste en avisar a todas las unidades de la desaparicin de una unidad.

Cuando una unidad se desconecta puede informar ella misma al coordinador de dispositivos este hecho, pero normalmente esto no ocurre as, sino que lo ms habitual es que cuando se desconecta una unidad otra unidad se de cuenta de este hecho al no recibir contestacin de esta unidad. Si se desconecta un dispositivo complejo (CoD), un controlador de caractersticas (FC) se dar cuenta de esta desconexin porque el dispositivo complejo no responde a su mensaje y entonces comunicar este hecho al usuario por medio de un interface de usuario. Si se desconecta un dispositivo simple (SiD), un coordinador de dispositivos (DvC) avisar al controlador de caractersticas (FC), y este al usuario por medio de un interface de usuario. Si se desconecta un controlador de caractersticas (FC), el interface de usuario conectado al controlador de caractersticas informar directamente al usuario.

Mecanismos de gestin de aplicaciones

Mecanismos enrolment y contracting.

El mecanismo enrolment permite a los controladores de caractersticas (FC) saber los recursos que estn disponibles en el sistema. Estos recursos los pueden proporcionar los dispositivos complejos (CoD), o los simples (SiD) en conjunto con un coordinador de sistemas (DvC).

El mecanismo contracting establece la asociacin entre un dispositivo simple (SiD) y un coordinador de sistemas (DvC), pudiendo asociarse este a su vez por medio de un enrolment a un controlador de caractersticas (FC).

Mecanismo de token-passing.

60

Automatizacin de procesos industriales

Este mecanismo acta como un semforo que asegura que un nico controlador de caractersticas (FC) pueda acceder a un tiempo al mismo dispositivo con comandos de escritura. Si varios controladores de caractersticas (FC's) intentan acceder simultneamente, slo acceder aquel que tenga mayor prioridad. De esta manera se asegura que un controlador de caractersticas no intente controlar un dispositivo que esta siendo controlado por otro controlador de caractersticas. Para garantizar esto el controlador de caractersticas (FC) pide un testigo al dispositivo sobre el que quiere actuar. Si el dispositivo no esta siendo controlado por otro controlador de caractersticas le pasar el testigo, pudiendo entonces el controlador de caractersticas actuar sobre l, por tanto, un controlador de caractersticas no puede actuar sobre un dispositivo si no tiene testigo.

Para decidir qu controlador de caractersticas tiene prioridad sobre otro a la hora de solicitar permiso para utilizar un recurso determinado existen nueve niveles de prioridad:

- Nivel 1 (Installer): Es la prioridad ms alta, no se utiliza en el manejo cotidiano del sistema.

- Nivel 2 (Safety): Est relacionado con la seguridad de las personas.

- Nivel 3 (Security): Est relacionado con la seguridad de los bienes.

- Nivel 4 (Urgent): Implica la llamada de atencin del usuario.

- Nivel 5 (Timer): Se utiliza para las acciones relacionadas con la gestin del sistema.

- Nivel 6 (User-Plus): Est relacionado con los dispositivos que maneja directamente el usuario.

- Nivel 7 (User): Es similar a User-Plus pero con menos prioridad.

61

Automatizacin de procesos industriales


- Nivel 8 (Blackground): Este nivel se utiliza para una operacin que puede ser interrumpida en cualquier momento.

- Nivel 9 (Idle): Es la prioridad ms baja. Se utiliza cuando un dispositivo tiene el testigo pero no est realizando ninguna funcin.

62

Automatizacin de procesos industriales

5. Red Batibus
Emplea como soporte fsico un par trenzado sin terminacin de lnea.

Admite una longitud total de bus de hasta 2500 m, sin que la distancia mxima entre la alimentacin y el ltimo punto de alimentacin supere los 500m.

La alimentacin de los puntos puede ser local o a travs del propio Bus, siendo el nmero mximo de puntos alimentados respectivamente de 1000 y 75.

Puede direccionar 240 posiciones por tipo de punto, con 32 tipos de punto diferente.

Admite un mximo de 20 mensajes por segundo.

La informacin se transmite en paquetes de 1 a 25 objetos.

63

Automatizacin de procesos industriales

6. Convergencia de EHS, EIB Y Batibus


En 1997 las asociaciones EHSA, EIBA y BCI (asociaciones de EHS, EIB y Batibus respectivamente) firmaron un documento en el cual acuerdan unificar criterios y crear un estndar europeo que aproveche las ventajas y virtudes de cada protocolo. Las primeras conclusiones a las que se llegaron en el proceso de convergencia han sido:

Necesidad de acordar una nica nomenclatura., filosofa y procedimientos de trabajo.

Conveniencia de acercamiento de otras especificaciones como Lonworks,etc.

Establecimiento de grupos especialistas en diferentes dominios de aplicacin.

Las consecuencias de la transicin de cada uno de los tres protocolos debern ser evaluadas por cada consorcio (EIBA, BCI y EHSA).

La especificacin hacia la cual tienden a converger estos tres protocolos recibe el nombre de Convergence System (CS) y tiene las siguientes caractersticas, partiendo del protocolo EHS:

Contempla tres medios fsicos, dos tipos de par trenzado y lnea de potencia.

Las direcciones tiene una longitud de 2 bytes (EHS utiliza 1 byte), indicando el primero el medio fsico o subred donde est instalada la unidad, y el segundo la identificar dentro de la propia subred.

l nmero mximo de subredes es de 255 (en lugar de las 8 de EHS), y la capacidad de cada subred de 255 unidades.

El cdigo nico es de 6 bytes (en EHS es de 4 bytes).

64

Automatizacin de procesos industriales


Se mantiene la estructura de enlaces dinmicos entre unidades del tipo controlador de caractersticas y dispositivos complejos definida en EHS, y el mecanismo de asignacin de direcciones.

Se definen 3 modos de instalacin y configuracin:

E-mode: configuracin sencilla. S-mode: configuracin que utiliza una base de datos. A-mode: configuracin automtica.

Se definen 2 modos de aplicacin:

1. Memoria compartida: todos los objetos se mantienen en un espacio de memoria al que puede acceder cualquier unidad.

2. Cliente-servidor: cada objeto reside en su unidad. Utiliza el lenguaje de comandos de EHS.

65

Automatizacin de procesos industriales

INTRODUCCIN A LA TECNOLOGA LONWORKS

1. Conceptos bsico

1.1 Red de control


Una red de control est formada por un grupo de dispositivos llamados nodos, (cada uno, con uno o ms sensores o actuadores), que se comunican (a travs de uno o varios medios, usando una norma o protocolo de comunicacin) para constituir una aplicacin de monitorizacin, una aplicacin de control o una aplicacin de monitorizacin y control.

Las redes de control son ms comunes de lo que habitualmente creemos. Por ejemplo, nuestro coche puede tener varias redes de control como por ejemplo, el sistema de viso del cinturn de seguridad, el sistema antibloqueo ABS o el sistema de gestin de encendido. Una red de control puede tener 3, 300 30,000 nodos y poseer una complejidad variable desde un sistema inteligente de alumbrado hasta un sistema de instrumentacin para aeronutica (ambos son ejemplos de redes Lonworks existentes). Es posible controlar una alarma a partir de un simple sensor de ocupacin, o gestionar el sistema de trfico de una ciudad, controlando semforos, flujo de trfico, acciones de vehculos de emergencia, distribucin de potencia, etc.

Para mucha gente, las redes de control son ms fciles de entender poniendo como ejemplo casas inteligentes o casas demticas. No obstante, los sistemas donde ms extendidas estn las redes de control son edificios y fbricas donde se gestionan los ascensores o cadenas de fabricacin de vehculos. Las redes Lonworks se usan para todas sas cosas y ms. La comunicacin entre los nodos puede ser punto a punto (control distribuido) o maestro-esclavo (control centralizado); en uno u otro caso, la inteligencia capacidad de proceso y clculo) de los nodos permite la distribucin del

66

Automatizacin de procesos industriales


proceso (los sensores pueden funcionar de manera inteligente, por ejemplo, realizando anlisis local de os datos y su conversin, e informar slo de cambios significativos en su entorno). Si las unciones de control son distribuidas, la ejecucin y el rendimiento del sistema se mejoran drsticamente.

67

Automatizacin de procesos industriales

1.2 La Plataforma LonWorks


Lonworks es una plataforma de control creada por la compaa norteamericana Echelon. Las redes Lonworks describen de una manera efectiva una solucin completa a los problemas de sistemas de control. Al igual que la industria informtica, la industria del control fue creada, y en muchos casos todava lo es, basada en soluciones centralizadas de control punto-a-punto. Esto significa que existe un "maestro" o controlador principal similar a un ordenador, fsicamente cableado a cada punto de control particular, como actuadores o sensores, denominados "esclavos". El resultado final es funcional, pero es caro y difcil para mantener, ampliar y gestionar. Igualmente, es menos fiable frente a fallos, ya que la cada del controlador principal provoca la cada de todo el sistema.

El comienzo de las redes Lonworks se bas en conceptos muy simples: 1) los sistemas de control son fundamentalmente idnticos, independientemente de la aplicacin final; 2) un sistema de control distribuido es significativamente ms potente, flexible, y ampliable que un sistema de control centralizado; y 3) la empresas ahorran ms dinero a largo plazo instalando redes distribuidas que instalando redes centralizadas.

La tecnologa Lonworks proporciona una solucin a los mltiples problemas de diseo, construccin, instalacin, y mantenimiento de redes de control; redes que pueden variar en tamao desde dos a 32,000 dispositivos y se pueden usar en cualquier aplicacin desde supermercados a plantas de petrolferas, desde aviones hasta ferrocarriles, desde medicin por lser a mquinas de mecanizado, desde rascacielos a viviendas particulares.

Actualmente, en casi todas las industrias hay una tendencia a evitar los sistemas propietarios o los esquemas de control basados en sistemas centralizados. Los fabricantes estn utilizando sistemas abiertos, chips estndar, sistemas operativos estndar y componentes para construir productos que mejoren la flexibilidad, el costo del sistema y su instalacin. La tecnologa Lonworks est acelerando la tendencia a

68

Automatizacin de procesos industriales


evitar los sistemas propietarios o los sistemas centralizados, proporcionando interoperabilidad, una tecnologa robusta, desarrollos ms rpidos y ahorro econmico.

En definitiva, en trminos de interoperabilidad y compatibilidad, Lonworks es a las redes de control lo que WINDOWS es a los sistemas informticos. Quin comprara hoy en da una aplicacin para facturacin, elaboracin de nminas u otras aplicaciones, para un sistema que no fuera compatible con Windows? Otro ejemplo que clarifica la misin de los sistemas estndar lo podemos encontrar en la telefona mvil. Comprara usted un telfono mvil que solo pudiera hablar con telfonos mviles del mismo fabricante?

69

Automatizacin de procesos industriales

1.3 Utilizacin de redes LonWorks


En teora, para todas las aplicaciones de control y en todas las industrias. Las aplicaciones para las que se emplean hoy en da las redes Lonworks incluyen: control de produccin, seguimiento de artculos, etiquetado automtico de precios en

supermercados, entornos de trabajo automatizados, integracin de instrumentos aeronuticos, diagnstico de circuitos electrnicos, control de electrodomsticos, cerraduras electrnicas, control de ascensores, gestin de energa, control

medioambiental, proteccin contra incendios, control de Aire Acondicionado y Calefaccin, control de peajes en autopistas, sistemas de identificacin, mquinas de venta automtica, control de riego, control de alumbrado, cuidado de pacientes, automatizacin de restaurantes, automatizacin de viviendas y mucho ms

Funcionalidades aportadas por la tecnologa base

Los principales proveedores de redes Lonworks son:

Echelon Corporation La empresa creadora del estndar. Proporciona herramientas de desarrollo, transceptores, herramientas de gestin de red, soporte y formacin.

Cypress Semiconductor (desde comienzo del ao 2000) y Toshiba - Neuron Chips (cubriendo el suministro a nivel mundial de diversas versiones del Neuron Chip).

Adicionalmente, hay ms de 4.000 desarrolladores Lonworks en el mundo que ofrecen cualquier tipo de dispositivo, desde transceptores y herramientas de gestin de red, hasta herramientas de desarrollo y aplicaciones de usuario.

Ms de 4000 empresas utilizan las redes Lonworks hoy, y el nmero est creciendo rpidamente. Todas las reas del campo de control estn plenamente cubiertas por

70

Automatizacin de procesos industriales


productos compatibles con Lonworks incluyendo sistemas de deteccin de incendios, sistemas de climatizacin, sistemas de seguridad, sistemas de gestin de energa, sistemas de alumbrado, etc.

Entre las compaas que han adoptado este estndar se encuentran los miembros de la Asociacin LonUsers Espaa: Fbrica Electrotcnica JOSA (BJC), I.A. Electrnicas del Valls (ELVA), ISDE Ing, K-Lon, TAC Building Automation y Kieback&Peter, y otras empresas como:

ABB, Acromag, Action Instruments, Advance Transformer, AEG, Ahlstrom Elari, Allen-Bradley, American Sports Timing, AMP, AT&T, Bally Systems, Barrington Systems, Bell Northern Research, BTE, British Petroleum, British Telecom, Brooks Instrument, Card Monroe, Carrier Corp., Controlli S.P.A., Danfoss Automatic Controls, Detroit Edison, EG&G Idaho, EIL Instruments, Fabrisys (Alcatel Cable), Ferag AG, Goldstar Industrial Systems, Helvar, Hewlett- Packard, Honeywell, Hubbell, ITT Barton, Jet Propulsion Laboratory, Jonson Controls, Keene Widelite, Kollmorgen, Legrand, Lakewood Instruments, Landis & Gyr Powers, Leax, Legrand, Leviton Manufacturing, Lithonia Lighting, Litton Poly-Scientific, McQuay International, Metra Corporation, MK Electric, Molex, Montgomery Elevator, NASA, Nippon Steel, Olivetti, Orr Safety, Pensar Corporation, Philips Lighting, Potter Electric Signal, Raychem, Scitronix Corporation, Shlumberger Industries, Sea Hornet Marine, Sentrol, Siebe Environmental Controls, Solus Technology, Square D, Staefa Control Systems, Toshiba Lighting, Trans-Lite, Trend Control Systems, Tru-Measur, Unisys,

Weidmuller, Woodward Governor, y muchas ms

71

Automatizacin de procesos industriales

1.4 Alcance del estndar


Los estndares son muy importantes y a menudo necesarios. Sin embargo, la verdadera fuerza de una tecnologa est en su aceptacin y uso como un estndar de facto y no en su pedigr. La plataforma Lonworks forma parte de varios estndares industriales y constituye un estndar de facto en muchos segmentos del mercado del control. Fabricantes, usuarios finales, integradores y distribuidores estn presenciando una creciente demanda de soluciones de control que incluyan las capacidades que las redes de control Lonworks poseen. Como resultado, se han instalado millones de dispositivos en miles de instalaciones basadas en Lonworks.

Las redes Lonworks han sido incluidas en varios estndares y propuestas de estndar, incluyendo:

El protocolo ha sido incluido en la norma EIA-709.1, la especificacin del Protocolo de Redes de Control est disponible en http://global.ihs.com/

El protocolo ha sido adoptado como parte de la norma de control BACnet de la Sociedad Americana de Ingenieros de Calefaccin, Refrigeracin y Aire Acondicionado. La referencia para este estndar es conocida como ANSI/ASHRAE 135.

Lonworks es adems el protocolo estndar para la Federacin Internacional de Estaciones de Servicio (todas las estaciones de servicio Europeas).

La Asociacin Americana de Ferrocarriles ha elegido Lonworks como estndar para los sistemas de frenado neumtico.

SEMI (Semiconductor Equipment Materials International Internacional de Materiales para Equipos con Semiconductores) especifica al sistema Lonworks como un bus de sensores para interconectar sensores simples y complejos, actuadores y equipos de instrumentacin en su norma E-56.6.

72

Automatizacin de procesos industriales

1.5 Neuronas y su utilizacin


Todos los dispositivos presentes en una red Lonworks precisan de un chip Neuron. El Neuron est constituido internamente como tres microprocesadores en uno. Dos de los microprocesadores estn optimizados para ejecutar el protocolo de comunicaciones, mientras que el tercero est dedicado a ejecutar el programa de control del nodo. Hay por tanto dos procesadores de comunicacin y un procesador para la aplicacin.

Disponer de dos procesadores dedicados a tareas de comunicacin en red y uno dedicado a la aplicacin asegura que la complejidad del programa no afecta negativamente a la respuesta de la red y viceversa. Adicionalmente, el hecho de encapsular ambas funciones en un solo chip ahorra tiempos de diseo y produccin.

Ventajas Tcnicas

El uso del chip Neuron garantiza un entorno de ejecucin hardware para el protocolo. Para asegurar suficiente potencia de proceso, el protocolo se implementa como una mezcla de hardware y firmware.

Diseado para un amplio rango de aplicaciones, y fabricados en masa por dos de los mayores fabricantes de semiconductores del mundo, el chip Neuron ofrece una implementacin del protocolo LonTalk ms econmica que cualquier otra solucin propietaria. El resultado neto se traduce en que el chip Neuron es el mejor y ms econmico procesador Lonworks para cualquier aplicacin que precise potencia de proceso de 8 bits.

73

Automatizacin de procesos industriales

1.6 Protocolo LonWorks


Protocolo de comunicaciones

Hoy en da, los protocolos de comunicaciones se disean en concordancia con la norma ISO (Modelo de Referencia Abierto para la Interconexin de Sistemas) que engloba un conjunto completo de protocolos, y clasifica a estos segn siete categoras funcionales (conocidas como "capas"). De ah se establece el conocido como Modelo OSI de 7 capas.

El protocolo LonTalk implementa las siete capas del modelo OSI, y los hace usando una mezcla de hardware y firmware sobre un chip de silicio, evitando cualquier posibilidad de modificacin casual (o intencionada). Se incluyen caractersticas como gestin acceso al medio, reconocimiento y gestin punto a punto, y servicios ms avanzados tales como autentificacin de remitente, deteccin de mensajes duplicados, colisin, reintentos automticos, soporte de cliente-servidor, transmisin de tramas no estndar, normalizacin y identificacin de tipo de dato, difusin unicast/multicast, soporte de medios mixtos y deteccin de errores.

Fiabilidad

El protocolo LonTalk proporciona principalmente dos tcnicas para asegurar el correcto envo y recepcin de las transmisiones. La fiabilidad de las transmisiones se asegura mediante una confirmacin entre emisor y receptor (la mayora de los protocolos pueden asegurar que un paquete fue transmitido con xito, pero no que fue recibido por el destinatario). La integridad de los datos se garantiza por el hecho que todas las transmisiones disponen de un control de errores basado en cdigos polinmicos de 16 bits.

74

Automatizacin de procesos industriales


Seguridad

Todas operaciones en la red de control se realizan usando un sistema de "autentificacin de remitente" como una Capa de nivel 4 (Nivel de Servicio del modelo OSI).

Esta capa proporciona una garanta de autenticidad del remitente, que no puede ser violada por piratas informticos ("hackers").

Cada transmisin de paquete proporciona autentificacin del remitente. Dado que la implementacin de esta caracterstica se encuentra a nivel de chip, por una parte no puede ser modificada y por otra est garantizada en todos los productos, independientemente del fabricante del mismo.

Interoperabilidad

Echelon define la interoperabilidad como la capacidad de integrar productos de distintos fabricantes en sistemas flexibles y funcionales sin necesidad de desarrollar hardware, software o herramientas a medida. Por integrar no se entiende el hecho de poder ver a otro dispositivo, sino la capacidad de hacer cosas como utilizar un nico sensor de ocupacin para el sistema de climatizacin, el de alumbrado y el de seguridad de un edificio.

Otro ejemplo posible sera el de tomar determinada actuacin en nuestra lnea de montaje en base a la informacin del sistema contra incendios de nuestro edificio. Cuatro Beneficios de la Interoperabilidad Los productos interoperables permiten a los diseadores de cada proyecto utilizar el mejor dispositivo para cada sistema o subsistema sin verse forzados a utilizar una lnea entera de productos de un mismo fabricante.

Los productos interoperables incrementan la oferta del mercado permitiendo a diferentes fabricantes competir en un segmento que de otra manera les estara 75

Automatizacin de procesos industriales


completamente prohibido. De esta manera, los diferentes fabricantes se esfuerzan por disponer de la mejor solucin y esto se traduce en una mayor calidad y libertad de eleccin para el usuario final.

La interoperabilidad reduce los costos de los proyectos al no depender de manera exclusiva de un solo fabricante.

Los sistemas interoperables permiten a los responsables de mantenimiento de los edificios y plantas industriales la monitorizacin de las instalaciones utilizando herramientas estndar, sin importar que empresa ha fabricado cada sub-sistema.

76

Automatizacin de procesos industriales

SISTEMA DE AUTOMATIZACIN X10

1. Introduccin
Automatizacin X10 es el sistema de Automatizacin mas extendido y utilizado en los hogares del mundo debido a su sencillez de instalacin y a su fcil manejo que se adapta a todas las necesidades actuales de control automtico en los hogares. X10 es el "lenguaje" de comunicacin que utilizan los productos compatibles X10 para hablarse entre ellos y que le permiten controlar las luces y los electrodomsticos de su hogar, aprovechando para ello la instalacin elctrica existente de 220V de su casa, y evitando tener que instalar cables. Este es el principal motivo por el que X10 se considera un sistema de Automatizacin sin instalacin. Los productos de Automatizacin basados en el sistema X10 estn diseados para que puedan ser instalados fcilmente por usted mismo sin necesidad de conocimientos especiales. Cada aparato tiene una direccin a la que responde o enva, existiendo un total de 256 direcciones. Todos los productos de Automatizacin X10 son compatibles entre si por lo que se pueden combinar para formar el sistema mas adecuado a sus preferencias. Si quiere hacer su casa u oficina inteligente, solo tiene que instalar unos cuantos mdulos x10. Y si quiere un consejo empiece por los Kits de Automatizacin o consltenos su configuracin estaremos encantados de asesorarle.

77

Automatizacin de procesos industriales

2. Ventajas de x10
Los sistemas de automatizacin no son un mero capricho, si no que tienen las siguientes ventajas: Protege su Hogar y su familia. Simula su presencia cuando no esta. Encienda todas las luces con solo un botn. Tambin trabaja con los sistemas de alarma mas extendidos. Controle y compruebe el estado de su casa a distancia. Aade Valor a la Propiedad. Una casa con un sistema automtico se cotiza mas alto en el mercado inmobiliario. Su casa es mas fcil de vender. Incorpora caractersticas nicas que no tiene la competencia. Es un valor aadido que le da mayor categora. Calidad de Vida. Piense en todas las operaciones rutinarias que hace todos los das. Entra, enciende la luz de la entrada, luego la de la habitacin, apaga la de fuera, enciende el bao, etc... Se imagina que la televisin no tuviera mando a distancia?. Recuerda cuando abra las puertas del coche con la llave.? Y cuando suba las ventanillas a mano.? Usted se ha gastado un montn de dinero en algo que solo disfruta cuando usa el coche. En cambio en su hogar puede disfrutar de las mismas comodidades tanto usted como su familia durante todo el da. Al fin y al cabo usted no vive en el coche. (Aunque a veces se lo parezca). Ahorro de Energa. Aadir inteligencia a su casa, adems de ahorrar energa, la hace ms respetuosa con el medio ambiente. Todo el mundo tiene claro que los cristales dobles ahorran energa. Pues de igual forma, un sistema que supervisa y controla las luces y electrodomsticos apagndolos cuando no son necesarios tambin ahorra energa. Inversin Protegida. Una de las grandes ventajas que tiene el sistema X10 es que es totalmente universal y por lo tanto transportable. Si usted cambia la puerta de su casa, lo mas normal es que no se la lleve el da que se mude. En cambio todos los productos X10 son tan fciles de instalar y desinstalar que el da que se cambie de casa u oficina se los lleva consigo, igual que se llevara la televisin, pues le seguirn sirviendo en su nueva ubicacin. Visin de Futuro. Una de la cosas que ms preocupa cuando se invierte en tecnologa hoy en da es su vida til. Todos conocemos ya cual es la vigencia de un ordenador. O lo que pasa con los formatos que no son universales (vdeos

78

Automatizacin de procesos industriales


beta, CD vdeo, etc.). De entre los varios sistemas automticos que tratan de imponerse en la actualidad, el sistema X10 es el nico que sigue vigente despus de ms de 25 aos y mas de cien millones de aparatos funcionando por todo el mundo. (Antiguamente solo en EEUU) actualmente ya se ha adaptado el sistema a 220V y se usa por toda Europa. En Espaa, ya forma parte obligatoria en los planes de estudio de FP2 en la rama de electrnica.

79

Automatizacin de procesos industriales

3. Automatizacin inteligente
No es lo mismo una casa inteligente, que una casa listilla. Es cierto que hoy en da hay programadores, interruptores a distancia, termostatos temporizados, etc. tambin es verdad que todos tienen el mismo problema. No son inteligentes, no interactan unos con otros y no se adaptan a los cambios del entorno. Por ejemplo, un programador que simule nuestra presencia no es capaz de adaptarse a los cambios de los horarios. Tampoco detectar si estamos o no en casa. Se limitar a encender y apagar las luces siguiendo un programa establecido. Que decide irse este fin de semana a su chalet en el campo? pues llama por telfono desde el coche y conecta la calefaccin 2 horas antes de llegar. La gran diferencia del sistema X10, es que este es inteligente y los aparatos interactan entre si. Por ejemplo al entrar en su casa por la tarde, el sensor de presencia puede encenderle secuencialmente el recibidor, el pasillo, el dormitorio, apagar el recibidor conectar el calentador y encender dos lmparas del saln al 50%. Son ms de las 11 y el sensor no lo detecta? Apaga el brasero para evitar que se quede encendido y apaga todas las luces menos la del cuarto del nio que se queda encendida tenuemente. Y todo esto de forma automtica. Que hoy no quiere la secuencia automtica? Con solo un botn establece el nuevo modo de funcionamiento. Los sbados me voy de fin de semana. No tengo que preparar el programador pues el controlador inteligente pone en marcha el programa de simulacin que el solo ha aprendido observando mi rutina diaria. Estos son solos algunos ejemplos de las infinitas posibilidades existentes. El futuro ya esta aqu y nosotros se lo ponemos a su alcance proporcionndole todo lo que necesite para hacer su hogar inteligente.

80

Automatizacin de procesos industriales

LENGUAJE DE PROGRAMACIN JAVA

1. Introduccin a la programacin orientada a objetos


1.1 Programacin Orientada a Objetos
La orientacin a objetos es un paradigma de programacin que facilita la creacin de software de calidad por sus factores que potencian el mantenimiento, la extensin y la reutilizacin del software generado bajo este paradigma. La programacin orientada a objetos trata de amoldarse al modo de pensar del hombre y no al de la mquina. Esto es posible gracias a la forma racional con la que se manejan las abstracciones que representan las entidades del dominio del problema, y a propiedades como la jerarqua o el encapsulamiento.

El elemento bsico de este paradigma no es la funcin (elemento bsico de la programacin estructurada), sino un ente denominado objeto. Un objeto es la representacin de un concepto para un programa, y contiene toda la informacin necesaria para abstraer dicho concepto: los datos que describen su estado y las operaciones que pueden modificar dicho estado, y determinan las capacidades del objeto.

Java incorpora el uso de la orientacin a objetos como uno de los pilares bsicos de su lenguaje.

81

Automatizacin de procesos industriales 1.2 Los objetos


Podemos definir objeto como el "encapsulamiento de un conjunto de operaciones (mtodos) que pueden ser invocados externamente, y de un estado que recuerda el efecto de los servicios". [Piattini et al., 1996]. Un objeto adems de un estado interno, presenta una interfaz para poder interactuar con el exterior. Es por esto por lo que se dice que en la programacin orientada a objetos "se unen datos y procesos", y no como en su predecesora, la programacin estructurada, en la que estaban separados en forma de variables y funciones.

Un objeto consta de:

Tiempo de vida: La duracin de un objeto en un programa siempre est limitada en el tiempo. La mayora de los objetos slo existen durante una parte de la ejecucin del programa. Los objetos son creados mediante un mecanismo denominado instanciacin, y cuando dejan de existir se dice que son destruidos.

Estado: Todo objeto posee un estado, definido por sus atributos. Con l se definen las propiedades del objeto, y el estado en que se encuentra en un momento determinado de su existencia.

Comportamiento: Todo objeto ha de presentar una interfaz, definida por sus mtodos, para que el resto de objetos que componen los programas puedan interactuar con l.

El equivalente de un objeto en el paradigma estructurado sera una variable. As mismo la instanciacin de objetos equivaldra a la declaracin de variables, y el tiempo de vida de un objeto al mbito de una variable.

82

Automatizacin de procesos industriales 1.3 Las clases


Las clases son abstracciones que representan a un conjunto de objetos con un comportamiento e interfaz comn.

Podemos definir una clase como "un conjunto de cosas (fsicas o abstractas) que tienen el mismo comportamiento y caractersticas... Es la implementacin de un tipo de objeto (considerando los objetos como instancias de las clases)". [Piattini et al., 1996].

Una clase no es ms que una plantilla para la creacin de objetos. Cuando se crea un objeto (instanciacin) se ha de especificar de qu clase es el objeto instanciado, para que el compilador comprenda las caractersticas del objeto.

Las clases presentan el estado de los objetos a los que representan mediante variables denominadas atributos. Cuando se instancia un objeto el compilador crea en la memoria dinmica un espacio para tantas variables como atributos tenga la clase a la que pertenece el objeto.

Los mtodos son las funciones mediante las que las clases representan el comportamiento de los objetos. En dichos mtodos se modifican los valores de los atributos del objeto, y representan las capacidades del objeto (en muchos textos se les denomina servicios).

Desde el punto de vista de la programacin estructurada, una clase se asemejara a un mdulo, los atributos a las variables globales de dicho mdulo, y los mtodos a las funciones del mdulo.

83

Automatizacin de procesos industriales 1.4 Modelo de objetos


Existen una serie de principios fundamentales para comprender cmo se modeliza la realidad al crear un programa bajo el paradigma de la orientacin a objetos. Estos principios son: la abstraccin, el encapsulamiento, la modularidad, la jerarqua, el paso de mensajes y el poliforfismo.

a.) Principio de Abstraccin

Mediante la abstraccin la mente humana modeliza la realidad en forma de objetos. Para ello busca parecidos entre la realidad y la posible implementacin de objetos del programa que simulen el funcionamiento de los objetos reales.

Los seres humanos no pensamos en las cosas como un conjunto de cosas menores; por ejemplo, no vemos un cuerpo humano como un conjunto de clulas. Los humanos entendemos la realidad como objetos con comportamientos bien definidos. No necesitamos conocer los detalles de porqu ni cmo funcionan las cosas; simplemente solicitamos determinadas acciones en espera de una respuesta; cuando una persona desea desplazarse, su cuerpo le responde comenzando a caminar.

Pero la abstraccin humana se gestiona de una manera jerrquica, dividiendo sucesivamente sistemas complejos en conjuntos de subsistemas, para as entender ms fcilmente la realidad. Esta es la forma de pensar que la orientacin a objeto intenta cubrir.

84

Automatizacin de procesos industriales


b.) Principio de Encapsulamiento

El encapsulamiento permite a los objetos elegir qu informacin es publicada y qu informacin es ocultada al resto de los objetos. Para ello los objetos suelen presentar sus mtodos como interfaces pblicas y sus atributos como datos privados e inaccesibles desde otros objetos.

Para permitir que otros objetos consulten o modifiquen los atributos de los objetos, las clases suelen presentar mtodos de acceso. De esta manera el acceso a los datos de los objetos es controlado por el programador, evitando efectos laterales no deseados.

Con el encapsulado de los datos se consigue que las personas que utilicen un objeto slo tengan que comprender su interfaz, olvidndose de cmo est implementada, y en definitiva, reduciendo la complejidad de utilizacin.

c.) Principio de Modularidad

Mediante la modularidad, se propone al programador dividir su aplicacin en varios mdulos diferentes (ya sea en forma de clases, paquetes o bibliotecas), cada uno de ellos con un sentido propio.

Esta fragmentacin disminuye el grado de dificultad del problema al que da respuesta el programa, pues se afronta el problema como un conjunto de problemas de menor dificultad, adems de facilitar la comprensin del programa.

85

Automatizacin de procesos industriales


d.) Principio de Jerarqua

La mayora de nosotros ve de manera natural nuestro mundo como objetos que se relacionan entre s de una manera jerrquica. Por ejemplo, un perro es un mamfero, y los mamferos son animales, y los animales seres vivos...

Del mismo modo, las distintas clases de un programa se organizan mediante la jerarqua. La representacin de dicha organizacin da lugar a los denominados rboles de herencia:

Imagen 1: Ejemplo de rbol de herencia

Mediante la herencia una clase hija puede tomar determinadas propiedades de una clase padre. As se simplifican los diseos y se evita la duplicacin de cdigo al no tener que volver a codificar mtodos ya implementados.

Al acto de tomar propiedades de una clase padre se denomina heredar.

86

Automatizacin de procesos industriales


e.) Principio del Paso de Mensajes

Mediante el denominado paso de mensajes, un objeto puede solicitar de otro objeto que realice una accin determinada o que modifique su estado. El paso de mensajes se suele implementar como llamadas a los mtodos de otros objetos.

Desde el punto de vista de la programacin estructurada, esto correspondera con la llamada a funciones.

f.) Principio de Polimorfismo

Polimorfismo quiere decir "un objeto y muchas formas". Esta propiedad permite que un objeto presente diferentes comportamientos en funcin del contexto en que se encuentre. Por ejemplo un mtodo puede presentar diferentes implementaciones en funcin de los argumentos que recibe, recibir diferentes nmeros de parmetros para realizar una misma operacin, y realizar diferentes acciones dependiendo del nivel de abstraccin en que sea llamado.

87

Automatizacin de procesos industriales 1.5 Relaciones entre objetos


Durante la ejecucin de un programa, los diversos objetos que lo componen han de interactuar entre s para lograr una serie de objetivos comunes.

Existen varios tipos de relaciones que pueden unir a los diferentes objetos, pero entre ellas destacan las relaciones de: asociacin, todo/parte, y

generalizacin/especializacin.

a.) Relaciones de Asociacin

Seran relaciones generales, en las que un objeto realiza llamadas a los servicios (mtodos) de otro, interactuando de esta forma con l.

Representan las relaciones con menos riqueza semntica.

b.) Relaciones de Todo/Parte

Muchas veces una determinada entidad existe como conjuncin de otras entidades, como un conglomerado de ellas. La orientacin al objeto recoge este tipo de relaciones como dos conceptos; la agregacin y la composicin.

En este tipo de relaciones un objeto componente se integra en un objeto compuesto. La diferencia entre agregacin y composicin es que mientras que la composicin se entiende que dura durante toda la vida del objeto componedor, en la agregacin no tiene por qu ser as.

Esto se puede implementar como un objeto (objeto compuesto) que cuenta entre sus atributos con otro objeto distinto (objeto componente).

c.) Relaciones de Generalizacin/Especializacin 88

Automatizacin de procesos industriales


A veces sucede que dos clases tienen muchas de sus partes en comn, lo que normalmente se abstrae en la creacin de una tercera clase (padre de las dos) que rene todas sus caractersticas comunes.

El ejemplo ms extendido de este tipo de relaciones es la herencia, propiedad por la que una clase (clase hija) recoge aquellos mtodos y atributos que una segunda clase (clase padre) ha especificado como "heredables".

Este tipo de relaciones es caracterstico de la programacin orientada a objetos.

En realidad, la generalizacin y la especializacin son diferentes perspectivas del mismo concepto, la generalizacin es una perspectiva ascendente (bottom-up), mientras que la especializacin es una perspectiva descendente (top-down).

Para ms informacin sobre el modelo de objetos en la programacin avanzada, y las relaciones entre objetos vase [Garca, 1998] o para una informacin ms detallada consulte [Booch, 1996].

89

Automatizacin de procesos industriales

2. Historia de Java
2.1 Por qu se dise Java?
Los lenguajes de programacin C y Fortran se han utilizado para disear algunos de los sistemas ms complejos en lenguajes de programacin estructurada, creciendo hasta formar complicados procedimientos. De ah provienen trminos como "cdigo de espagueti" o "canguros" referentes a programas con mltiples saltos y un control de flujo difcilmente trazable.

No slo se necesitaba un lenguaje de programacin para tratar esta complejidad, sino un nuevo estilo de programacin. Este cambio de paradigma de la programacin estructurada a la programacin orientada a objetos, comenz hace 30 aos con un lenguaje llamado Simula67.

El lenguaje C++ fue un intento de tomar estos principios y emplearlos dentro de las restricciones de C. Todos los compiladores de C++ eran capaces de compilar programas de C sin clases, es decir, un lenguaje capaz de interpretar dos estilos diferentes de programacin. Esta compatibilidad ("hacia atrs") que habitualmente se vende como una caracterstica de C++ es precisamente su punto ms dbil. No es necesario utilizar un diseo orientado a objetos para programar en C++, razn por la que muchas veces las aplicaciones en este lenguaje no son realmente orientadas al objeto, perdiendo as los beneficios que este paradigma aporta.

As Java utiliza convenciones casi idnticas para declaracin de variables, paso de parmetros, y dems, pero slo considera las partes de C++ que no estaban ya en C.

90

Automatizacin de procesos industriales


Las principales caractersticas que Java no hereda de C++ son:

Punteros: Las direcciones de memoria son la caracterstica ms poderosa de C++. El inadecuado uso de los punteros provoca la mayora de los errores de colisin de memoria, errores muy difciles de detectar. Adems, casi todos los virus que se han escrito aprovechan la capacidad de un programa para acceder a la memoria voltil (RAM) utilizando punteros. En Java, no existen punteros, evitando el acceso directo a la memoria voltil.

Variables globales: Con ellas cualquier funcin puede producir efectos laterales, e incluso se pueden producir fallos catastrficos cuando algn otro mtodo cambia el estado de la variable global necesaria para la realizacin de otros procesos. En Java lo nico global es el nombre de las clases.

goto: Manera rpida de arreglar un programa sin estructurar el cdigo. Java no tiene ninguna sentencia goto. Sin embargo Java tiene las sentencias break y continue que cubren los casos importantes de goto.

Asignacin de memoria: La funcin malloc de C, asigna un nmero especificado de bytes de memoria devolviendo la direccin de ese bloque. La funcin free devuelve un bloque asignado al sistema para que lo utilice. Si se olvida de llamar a free para liberar un bloque de memoria, se estn limitando los recursos del sistema, ralentizando progresivamente los programas. Si por el contrario se hace un free sobre un puntero ya liberado, puede ocurrir cualquier cosa. Ms tarde C++ aadi new y delete, que se usan de forma similar, siendo todava el programador, el responsable de liberar el espacio de memoria. Java no tiene funciones malloc ni free. Se utiliza el operador new para asignar un espacio de memoria a un objeto en el montculo de memoria. Con new no se obtiene una direccin de memoria sino un descriptor al objeto del montculo. La memoria

91

Automatizacin de procesos industriales


real asignada a ese objeto se puede mover a la vez que el programa se ejecuta, pero sin tener que preocuparse de ello. Cuando no tenga ninguna referencia de ningn objeto, la memoria ocupada estar disponible para que la reutilice el resto del sistema sin tener que llamar a free o delete. A esto se le llama recogida de basura. El recolector de basura se ejecuta siempre que el sistema est libre, o cuando una asignacin solicitada no encuentre asignacin suficiente.

Conversin de tipos insegura: Los moldeados de tipo (type casting) son un mecanismo poderoso de C y C++ que permite cambiar el tipo de un puntero. Esto requiere extremada precaucin puesto que no hay nada previsto para detectar si la conversin es correcta en tiempo de ejecucin. En Java se puede hacer una comprobacin en tiempo de ejecucin de la compatibilidad de tipos y emitir una excepcin cuando falla.

92

Automatizacin de procesos industriales 2.2 Comienzos


Java fue diseado en 1990 por James Gosling, de Sun Microsystems, como software para dispositivos electrnicos de consumo. Curiosamente, todo este lenguaje fue diseado antes de que diese comienzo la era World Wide Web, puesto que fue diseado para dispositivos electrnicos como calculadoras, microondas y la televisin interactiva.

Imagen 2: Logotipo de la empresa Sun Microsystems

En los primeros aos de la dcada de los noventa, Sun Microsystems decidi intentar introducirse en el mercado de la electrnica de consumo y desarrollar programas para pequeos dispositivos electrnicos. Tras unos comienzos dudosos, Sun decidi crear una filial, denominada FirstPerson Inc., para dar margen de maniobra al equipo responsable del proyecto.

Inicialmente Java se llam Oak (roble en ingls), aunque tuvo que cambiar de denominacin, debido a que dicho nombre ya estaba registrado por otra empresa. Se dice este nombre se le puso debido a la existencia de tal rbol en los alrededores del lugar de trabajo de los promotores del lenguaje.

93

Automatizacin de procesos industriales


Tres de las principales razones que llevaron a crear Java son:

1. Creciente necesidad de interfaces mucho ms cmodas e intuitivas que los sistemas de ventanas que proliferaban hasta el momento. 2. Fiabilidad del cdigo y facilidad de desarrollo. Gosling observ que muchas de las caractersticas que ofrecan C o C++ aumentaban de forma alarmante el gran coste de pruebas y depuracin. Por ello en los sus ratos libres cre un lenguaje de programacin donde intentaba solucionar los fallos que encontraba en C++. 3. Enorme diversidad de controladores electrnicos. Los dispositivos electrnicos se controlan mediante la utilizacin de microprocesadores de bajo precio y reducidas prestaciones, que varan cada poco tiempo y que utilizan diversos conjuntos de instrucciones. Java permite escribir un cdigo comn para todos los dispositivos.

Por todo ello, en lugar de tratar nicamente de optimizar las tcnicas de desarrollo y dar por sentada la utilizacin de C o C++, el equipo de Gosling se plante que tal vez los lenguajes existentes eran demasiado complicados como para conseguir reducir de forma apreciable la complejidad de desarrollo asociada a ese campo. Por este motivo, su primera propuesta fue idear un nuevo lenguaje de programacin lo ms sencillo posible, con el objeto de que se pudiese adaptar con facilidad a cualquier entorno de ejecucin.

Basndose en el conocimiento y estudio de gran cantidad de lenguajes, este grupo decidi recoger las caractersticas esenciales que deba tener un lenguaje de programacin moderno y potente, pero eliminando todas aquellas funciones que no eran absolutamente imprescindibles.

Para ms informacin vase [Cuenca, 1997].

94

Automatizacin de procesos industriales 2.3 Primeros proyectos en que los que se aplic Java
El proyecto Green fue el primero en el que se aplic Java, y consista en un sistema de control completo de los aparatos electrnicos y el entorno de un hogar. Con este fin se construy un ordenador experimental denominado *7 (Star Seven). El sistema presentaba una interfaz basada en la representacin de la casa de forma animada y el control se llevaba a cabo mediante una pantalla sensible al tacto. En el sistema apareca ya Duke, la actual mascota de Java.

Imagen 3: Icono de Duke, la mascota de Java

Ms tarde Java se aplic a otro proyecto denominado VOD (Video On Demand) en el que se empleaba como interfaz para la televisin interactiva que se pensaba iba a ser el principal campo de aplicacin de Java. Ninguno de estos proyectos se convirti nunca en un sistema comercial, pero fueron desarrollados enteramente en un Java primitivo.

Una vez que en Sun se dieron cuenta de que a corto plazo la televisin interactiva no iba a ser un gran xito, instaron a FirstPerson a desarrollar nuevas estrategias que produjeran beneficios. Entre ellas se encontraba la aplicacin de Java a Internet, la cual no se consider productiva en ese momento.

Para ms informacin vase [Froufe, 1997].

95

Automatizacin de procesos industriales 2.4 Resurgimiento de Java


Aunque muchas de las fuentes consultadas sealan que Java no lleg a caer en un olvido, lo cierto es que tuvo que ser Bill Joy (cofundador de Sun y uno de los desarrolladores principales del sistema operativo Unix de Berckley) el que sac a Java del letargo en que estaba sumido. Joy juzg que Internet podra llegar a ser el campo adecuado para disputar a Microsoft su primaca en el terreno del software, y vio en Oak el instrumento idneo para llevar a cabo estos planes.

Para poder presentarlo en sociedad se tuvo que modificar el nombre de este lenguaje de programacin y se tuvo que realizar una serie de modificaciones de diseo para poderlo adaptar al propsito mencionado. As Java fue presentado en sociedad en agosto de 1995.

Algunas de las razones que llevaron a Bill Joy a pensar que Java podra llegar a ser rentable son:

Java es un lenguaje orientado a objetos: Esto es lo que facilita abordar la resolucin de cualquier tipo de problema.

Es un lenguaje sencillo, aunque sin duda potente. La ejecucin del cdigo Java es segura y fiable: Los programas no acceden directamente a la memoria del ordenador, siendo imposible que un programa escrito en Java pueda acceder a los recursos del ordenador sin que esta operacin le sea permitida de forma explcita. De este modo, los datos del usuario quedan a salvo de la existencia de virus escritos en Java. La ejecucin segura y controlada del cdigo Java es una caracterstica nica, que no puede encontrarse en ninguna otra tecnologa.

96

Automatizacin de procesos industriales

Es totalmente multiplataforma: Es un lenguaje sencillo, por lo que el entorno necesario para su ejecucin es de pequeo tamao y puede adaptarse incluso al interior de un navegador.

Las consecuencias de la utilizacin de Java junto a la expansin universal de Internet todava estn comenzando a vislumbrarse.

Para ms informacin vase [Froufe, 1997].

97

Automatizacin de procesos industriales 2.5 Futuro de Java


Existen muchas crticas a Java debido a su lenta velocidad de ejecucin, aproximadamente un 20 veces ms lento que un programa en lenguaje C. Sun est trabajando intensamente en crear versiones de Java con una velocidad mayor.

El problema fundamental de Java es que utiliza una representacin intermedia denominada cdigo de byte para solventar los problemas de portabilidad. Los cdigos de byte posteriormente se tendrn que transformar en cdigo mquina en cada mquina en que son utilizados, lo que ralentiza considerablemente el proceso de ejecucin.

La solucin que se deriva de esto parece bastante obvia: fabricar ordenadores capaces de comprender directamente los cdigos de byte. stas seran unas mquinas que utilizaran Java como sistema operativo y que no requeriran en principio de disco duro porque obtendran sus recursos de la red.

A los ordenadores que utilizan Java como sistema operativo se les llama Network Computer, WebPC o WebTop. La primera gran empresa que ha apostado por este tipo de mquinas ha sido Oracle, que en enero de 1996 present en Japn su primer NC (Network Computer), basado en un procesador RISC con 8 Megabytes de RAM. Tras Oracle, han sido compaas del tamao de Sun, Apple e IBM las que han anunciado desarrollos similares.

La principal empresa en el mundo del software, Microsoft, que en los comienzos de Java no estaba a favor de su utilizacin, ha licenciado Java, lo ha incluido en Internet Explorer (versin 3.0 y posteriores), y ha lanzado un entorno de desarrollo para Java, que se denomina Visual J++.

98

Automatizacin de procesos industriales


El nico problema aparente es la seguridad para que Java se pueda utilizar para transacciones crticas. Sun va a apostar por firmas digitales, que sern clave en el desarrollo no slo de Java, sino de Internet.

Para ms informacin vase [Framin, 1997].

99

Automatizacin de procesos industriales 2.6 Especulacin sobre el futuro de Java


En opinin de los redactores de este tutorial, Java es una plataforma que le falta madurar, pero que a buen seguro lo va a hacer. La apuesta realizada por empresas con mucho peso especfico ha sido tan grande que va a dar un impulso a Java que no le permitir caer

Adems, el parque de productos (entornos de desarrollo, bibliotecas, elementos de conectividad...) ya disponible en la actualidad es tan amplio que es improbable que se quede en nada.

Por otra parte, la relacin simbitica que tiene con Internet (y por derivacin con las Intranets) es un punto a favor de Java de muy difcil refutacin.

100

Automatizacin de procesos industriales

3. CARACTERSTICAS DE JAVA
3.1 Introduccin
No es arriesgado afirmar que Java supone un significativo avance en el mundo de los entornos software, y esto viene avalado por tres elementos claves que diferencian a este lenguaje desde un punto de vista tecnolgico:

Es un lenguaje de programacin que ofrece la potencia del diseo orientado a objetos con una sintaxis fcilmente accesible y un entorno robusto y agradable.

Proporciona un conjunto de clases potente y flexible. Pone al alcance de cualquiera la utilizacin de aplicaciones que se pueden incluir directamente en pginas Web (aplicaciones denominadas applets).

Java aporta a la Web una interactividad que se haba buscado durante mucho tiempo entre usuario y aplicacin.

A lo largo de este apartado se estudian en detalle las principales caractersticas de Java.

101

Automatizacin de procesos industriales 3.2 Potente


a.) Orientacin a objetos

En este aspecto Java fue diseado partiendo de cero, no siendo derivado de otro lenguaje anterior y no tiene compatibilidad con ninguno de ellos.

En Java el concepto de objeto resulta sencillo y fcil de ampliar. Adems se conservan elementos "no objetos", como nmeros, caracteres y otros tipos de datos simples.

b.) Riqueza semntica

Pese a su simpleza se ha conseguido un considerable potencial, y aunque cada tarea se puede realizar de un nmero reducido de formas, se ha conseguido un gran potencial de expresin e innovacin desde el punto de vista del programador.

c.) Robusto

Java verifica su cdigo al mismo tiempo que lo escribe, y una vez ms antes de ejecutarse, de manera que se consigue un alto margen de codificacin sin errores. Se realiza un descubrimiento de la mayor parte de los errores durante el tiempo de compilacin, ya que Java es estricto en cuanto a tipos y declaraciones, y as lo que es rigidez y falta de flexibilidad se convierte en eficacia. Respecto a la gestin de memoria, Java libera al programador del compromiso de tener que controlar especialmente la asignacin que de sta hace a sus necesidades especficas. Este lenguaje posee una gestin avanzada de memoria llamada gestin de basura, y un manejo de excepciones orientado a objetos integrados. Estos elementos realizarn muchas tareas antes tediosas a la vez que obligadas para el programador.

102

Automatizacin de procesos industriales


d.) Modelo de objeto rico

Existen varias clases que contienen las abstracciones bsicas para facilitar a los programas una gran capacidad de representacin. Para ello se contar con un conjunto de clases comunes que pueden crecer para admitir todas las necesidades del programador.

Adems la biblioteca de clases de Java proporciona un conjunto nico de protocolos de Internet.

El conjunto de clases ms complicado de Java son sus paquetes grficos AWT (Abstract Window Toolkit) y Swing. Estos paquetes implementan componentes de una interfaz de usuario grfica bsica comn a todos los ordenadores personales modernos.

103

Automatizacin de procesos industriales 3.3 Simple


a.) Fcil aprendizaje

El nico requerimiento para aprender Java es tener una comprensin de los conceptos bsicos de la programacin orientada a objetos. As se ha creado un lenguaje simple (aunque eficaz y expresivo) pudiendo mostrarse cualquier planteamiento por parte del programador sin que las interioridades del sistema subyacente sean desveladas.

Java es ms complejo que un lenguaje simple, pero ms sencillo que cualquier otro entorno de programacin. El nico obstculo que se puede presentar es conseguir comprender la programacin orientada a objetos, aspecto que, al ser independiente del lenguaje, se presenta como insalvable.

b.) Completado con utilidades

El paquete de utilidades de Java viene con un conjunto completo de estructuras de datos complejas y sus mtodos asociados, que sern de inestimable ayuda para implementar applets y otras aplicaciones ms complejas. Se dispone tambin de estructuras de datos habituales, como pilas y tablas hash, como clases ya implementadas.

Existir una interfaz Observer/Observable que permitir la implementacin simple de objetos dinmicos cuyo estado se visualiza en pantalla.

El JDK (Java Development Kit) suministrado por Sun Microsystems incluye un compilador, un intrprete de aplicaciones, un depurador en lnea de comandos, y un visualizador de applets entre otros elementos.

104

Automatizacin de procesos industriales 3.4 Interactivo y orientado a red


a.) Interactivo y animado

Uno de los requisitos de Java desde sus inicios fue la posibilidad de crear programas en red interactivos, por lo que es capaz de hacer varias cosas a la vez sin perder rastro de lo que debera suceder y cundo. Para se da soporte a la utilizacin de mltiples hilos de programacin (multithread).

Las aplicaciones de Java permiten situar figuras animadas en las pginas Web, y stas pueden concebirse con logotipos animados o con texto que se desplace por la pantalla. Tambin pueden tratarse grficos generados por algn proceso. Estas animaciones pueden ser interactivas, permitiendo al usuario un control sobre su apariencia.

b.) Arquitectura neutral

Java est diseado para que un programa escrito en este lenguaje sea ejecutado correctamente independientemente de la plataforma en la que se est actuando (Macintosh, PC, UNIX). Para conseguir esto utiliza una compilacin en una representacin intermedia que recibe el nombre de cdigos de byte, que pueden interpretarse en cualquier sistema operativo con un intrprete de Java. La desventaja de un sistema de este tipo es el rendimiento; sin embargo, el hecho de que Java fuese diseado para funcionar razonablemente bien en microprocesadores de escasa potencia, unido a la sencillez de traduccin a cdigo mquina hacen que Java supere esa desventaja sin problemas.

105

Automatizacin de procesos industriales


c.) Trabajo en red

Java anima las pginas Web y hace posible la incorporacin de aplicaciones interactivas y especializadas. Aporta la posibilidad de distribuir contenidos ejecutables, de manera que los suministradores de informacin de la Web pueden crear una pgina de hipertexto (pgina Web) con una interaccin continuada y compleja en tiempo real; el contenido ejecutable es transferido literalmente al ordenador del usuario.

Los protocolos bsicos para trabajar en Internet estn encapsulados en unas cuantas clases simples. Se incluyen implementaciones ampliables de los protocolos FTP, HTTP, NNTP y SMTP junto con conectores de red de bajo nivel e interfaces de nombrado. Esto le permite interactuar con esos servicios de red poderosos sin tener que comprender realmente los detalles de bajo nivel de esos protocolos. Este lenguaje est diseado para cumplir los requisitos de entrega de contenidos interactivos mediante el uso de applets insertados en sus pginas HTML. Adems, las clases de Java admiten muy bien estos protocolos y formatos. El envo de las clases de Java a travs de Internet se realiza con gran facilidad, ya que existe una interfaz unificada, resolviendo as los tpicos problemas de diferencia de versiones.

Java proporciona un conjunto de clases para tratar con una abstraccin de los conectores de red (sockets) originales de la versin UNIX de Berckley, encapsular la nocin de una direccin de Internet o conectar sockets con flujos de datos de Entrada/Salida.

Con todas estas posibilidades aumenta el dinamismo y competitividad de la Web, puesto que es capaz de captar el inters del usuario durante largo tiempo y permite a los programadores convertir la Web en un sistema de entrega de software.

106

Automatizacin de procesos industriales


d.) Applets

Una applet (miniaplicacin) es un pequeo programa en Java transferido dinmicamente a travs de Internet. Presentan un comportamiento inteligente, pudiendo reaccionar a la entrada de un usuario y cambiar de forma dinmica. Sin embargo, la verdadera novedad es el gran potencial que Java proporciona en este aspecto, haciendo posible que los programadores ejerzan un control sobre los programas ejecutables de Java que no es posible encontrar en otros lenguajes.

107

Automatizacin de procesos industriales 3.5 Y mucho ms


a.) Seguridad

Existe una preocupacin lgica en Internet por el tema de la seguridad: virus, caballos de Troya, y programas similares navegan de forma usual por la red, constituyendo una amenaza palpable. Java ha sido diseado poniendo un nfasis especial en el tema de la seguridad, y se ha conseguido lograr cierta inmunidad en el aspecto de que un programa realizado en Java no puede realizar llamadas a funciones globales ni acceder a recursos arbitrarios del sistema, por lo que el control sobre los programas ejecutables no es equiparable a otros lenguajes.

Los niveles de seguridad que presenta son:

Fuertes restricciones al acceso a memoria, como son la eliminacin de punteros aritmticos y de operadores ilegales de transmisin.

Rutina de verificacin de los cdigos de byte que asegura que no se viole ninguna construccin del lenguaje.

Verificacin del nombre de clase y de restricciones de acceso durante la carga. Sistema de seguridad de la interfaz que refuerza las medidas de seguridad en muchos niveles.

En futuras versiones se prev contar tambin con encriptacin y tcnicas similares.

108

Automatizacin de procesos industriales


b.) Lenguaje basado en C++

Java fue desarrollado basndose en C++, pero eliminando rasgos del mismo poco empleados, optndose por una codificacin comprensible. Bsicamente, encontramos las siguientes diferencias con C++:

Java no soporta los tipos struct, union ni punteros. No soporta typedef ni #define. Se distingue por su forma de manejar ciertos operadores y no permite una sobrecarga de operadores.

No soporta herencia mltiple. Java maneja argumentos en la lnea de comandos de forma diversa a como lo hacen C o C++.

Tiene una clase String que es parte del paquete java.lang y se diferencia de la matriz de caracteres terminada con un nulo que usan C y C++.

Java cuenta con un sistema automtico para asignar y liberar memoria, con lo que no es necesario utilizar las funciones previstas con este fin en C y C++.

c.) Gestin de la Entrada/Salida

En lugar de utilizar primitivas como las de C para trabajar con ficheros, se utilizan primitivas similares a las de C++, mucho ms elegantes, que permiten tratar los ficheros, sockets, teclado y monitor como flujos de datos.

De este modo se pueden utilizar dichas primitivas para cualquier operacin de Entrada/Salida.

109

Automatizacin de procesos industriales


d.) Diferentes tipos de aplicaciones

En Java podemos crear los siguientes tipos de aplicaciones:


Aplicaciones: Se ejecutan sin necesidad de un navegador. Applets: Se pueden descargar de Internet y se observan en un navegador. JavaBeans: Componentes software Java, que se puedan incorporar grficamente a otros componentes.

JavaScript: Conjunto del lenguaje Java que puede codificarse directamente sobre cualquier documento HTML

Servlets: Mdulos que permiten sustituir o utilizar el lenguaje Java en lugar de programas CGI (Common Gateway Interface) a la hora de dotar de interactividad a las pginas Web.

110

Automatizacin de procesos industriales

4. Comparativa con otros lenguajes orientados a objeto


4.1 Introduccin
En este apartado se va a comparar Java con otros lenguajes de programacin orientados a objeto.

En principio Java fue diseado tomando C y C++ como base para la creacin de un nuevo lenguaje con la modificacin de todos aquellos aspectos que no eran tiles o dificultosos para la programacin de componentes electrnicos de bajo coste. Para ello el nuevo lenguaje deba incluir interfaces cmodas, deba ser fiable y fcil de desarrollar y los programas deban ser portables de un sistema a otro sin ningn tipo de problema.

4.2 Comparacin de los tipos de datos


a.) Tipos de datos simples (primitivos)

Java es muy parecido a C++ en el juego bsico de tipos de datos con algunas pequeas modificaciones.

En Java se distingue entre tipos de datos primitivos y clases, aunque existen unas clases especiales (envoltorios o wrappers) que permiten modificar los tipos de datos primitivos.

Los tipos de datos primitivos (o simples) pueden ser numricos, booleanos o caracteres.

111

Automatizacin de procesos industriales


b.) Datos numricos

Hay cuatro tipos numricos: byte de 1 byte, short de 2 bytes, int de 4 bytes, y los long de 8 bytes. El tipo ms habitual de los cuatro es el tipo int. El byte viene a sustituir el tipo char de C++, ya que Java introduce una interpretacin diferente al tipo de datos char.

Las principales diferencias con C++ son:


No existe un tipo sin signo (unsigned) para los nmeros en Java. Los tipos numricos reales son el float (8 bytes) y el double (16 bytes). Los nmeros que utilizan coma flotante (por ejemplo 18.96) son considerados double por defecto, y habr que realiza un moldeado (casting) explcito para que sean float.

c.) Caracteres

Los datos carcter en Java se basan en los de C++ que a su vez son heredados de C. Los caracteres son Unicode de 2 bytes. Los caracteres Unicode son valores de 2 bytes sin signo, con lo que se define obtiene un rango de 65535 caracteres diferentes, que son suficientes para las los diferentes lenguajes y sistemas de representacin del planeta.

El carcter de datos del lenguaje Java proviene del tradicional C. Hay que sealar que los caracteres en C++ eran de slo 1 byte, con lo que en Java podremos representar muchos ms caracteres que en C++.

112

Automatizacin de procesos industriales


d.) Datos booleanos

En Java se definen para las variables con valores Verdadero/Falso o S/No, en definitiva, valores bi-estado. Una variable booleana puede tener los valores true (verdadero) o false (falso). Son parecidos a los de C++, aunque en cualquier caso, y a diferencia de C++ estas variables no pueden ser convertidas a datos numricos, y es un tipo de datos bsico.

4.3 Operadores relacionales y aritmticos.


Se permite en Java los mismos operadores que C++, con la variacin de >>> (desplazamiento sin signo) y la utilizacin del operador + para la concatenacin de cadenas de caracteres.

4.4 Vectores
Los vectores en Java, a diferencia de C++, son una clase de objetos. Un vector es un objeto real con una representacin en tiempo real. Se pueden declarar y almacenar vectores de cualquier tipo, y almacenar tambin vectores de vectores para obtener matrices (vectores con varias dimensiones). En este ltimo aspecto no existe diferencia con C++.

4.5 Cadenas
Las cadenas en Java son objetos del lenguaje, no existen seudo-arrays de caracteres (cadenas) como era el caso de C++. Existen dos tipos de cadenas de objetos:

Las que se obtienen de la clase String, para cadenas de slo lectura.

113

Automatizacin de procesos industriales


Las que se obtienen de la clase StringBuffer para cadenas que se pueden modificar.

Al igual que C++, el compilador de Java entiende que una cadena de caracteres rodeada de dobles comillas es una cadena, y es iniciada como un objeto de tipo String (en C++ sera como vector de caracteres con el carcter fin de cadena \0 al final de la misma).

114

Automatizacin de procesos industriales


F. Otras caractersticas

a.) Introduccin

En este apartado se va a comparar Java con los lenguajes C++ y Smalltalk (primer lenguaje que presentaba un modelo de objeto).

Caracterstica Sencillez Robustez Seguridad Interpretado Dinamicidad Portabilidad Neutralidad Threads Garbage Collection Excepciones Representacin

Java S S S S S S S S S S Alta

Smalltalk S S Algo S S Algo Algo No S S Media

C++ No No No No No No No No No Algunas Alta

Tabla 1: Comparacin entre Java, SmallTalk y C++

115

Automatizacin de procesos industriales


b.) Sencillez

Java tiene una sencillez que no posee C++ aunque s Smalltalk. Esto es debido a que una de las razones de la creacin de Java es la de obtener un lenguaje parecido a C++ pero reduciendo los errores ms comunes de la programacin, algo que se logra con mucho xito puesto que Java reduce un 50% los errores que se comenten en C++ entre los que destacan:

Eliminacin de la aritmtica de punteros y de las referencias. Desaparecen los registros (struct), heredados del paradigma estructurado. No se permite ni la definicin de tipos (typedef) ni la de macros (#define). Ya no es necesario liberar memoria (free o delete).

De todas formas, lo que Java hace, en realidad, es la eliminacin de palabras reservadas, y la utilizacin de un intrprete bastante pequeo.

c.) Robustez

Java realiza verificaciones en busca de problemas tanto en tiempo de compilacin como en tiempo de ejecucin, lo que hace que se detecten errores lo antes posible, normalmente en el ciclo de desarrollo. Algunas de estas verificaciones que hacen que Java sea un lenguaje robusto son:

Verificacin del cdigo de byte. Gestin de excepciones y errores. Comprobacin de punteros y de lmites de vectores.

Se aprecia una clara diferencia con C++ quin no realiza ninguna de estas verificaciones.

116

Automatizacin de procesos industriales


d.) Seguridad

En Java no se permite los accesos ilegales a memoria, algo que s se permita en C++. Esto es algo muy importante puesto que este tipo de problema puede ocasionar la propagacin de virus y otras clases de programas dainos por la red.

El cdigo Java pasa muchos tests antes de ejecutarse en una mquina. El cdigo se pasa a travs de un verificador de cdigo de byte que comprueba el formato de los fragmentos de cdigo y aplica un probador de teoremas para detectar fragmentos de cdigo ilegal, cdigo que falsea punteros, viola derechos de acceso sobre objetos o intenta cambiar el tipo o clase de un objeto.

Algunos de los conocimientos que podemos obtener de los cdigos de byte si pasan la verificacin sin generar ningn mensaje de error son:

El cdigo no produce desbordamiento de operandos en la pila. El tipo de los parmetros de todos los cdigos de operacin es conocido y correcto.

No ha ocurrido ninguna conversin ilegal de datos, tal como convertir enteros en punteros.

El acceso a los campos de un objeto se sabe si es legal mediante las palabras reservadas public, private y protected.

No hay ningn intento de violar las reglas de acceso y seguridad establecidas.

Por todo esto, y por no permitirlo mediante Java la utilizacin de mtodos de un programa sin los privilegios del ncleo (kernel) del sistema operativo, la obligacin de autentificacin por clave pblica para la realizacin de modificaciones, se considera

117

Automatizacin de procesos industriales


Java un lenguaje seguro. Todo esto no lo incorporan ni C++ ni Smalltalk, por lo que Java es el nico de los tres considerable como seguro.

e.) Lenguaje interpretado

Java es un lenguaje que puede ejecutar el cdigo directamente, es decir es un "lenguaje interpretado". Esto es una caracterstica que s que posee Smalltalk, aunque no C++. No obstante, y aunque en teora se consumen menos recursos siendo los lenguajes interpretados, el actual compilador que existe es bastante lento, unas 20 veces menos rpido que C++. Esto normalmente no es vital para la aplicacin ni demasiado apreciable por el usuario, y adems esta diferencia se est reduciendo con los nuevos compiladores JIT (Just In Time).

f.) Dinamicidad

Para la obtencin de un mayor provecho de la tecnologa orientada a objetos, Java no intenta conectar todos los mdulos que comprenden una aplicacin hasta el tiempo de ejecucin. Esta caracterstica ya es contemplada por Smalltalk, aunque no C++, que enlaza todos los mdulos cuando se compila.

g.) Portabilidad

Un programa Java puede ser ejecutado en diferentes entornos, algo imposible para C++.

118

Automatizacin de procesos industriales


h.) Neutralidad

Se dice que Java tiene una arquitectura neutra puesto que compila su cdigo a un fichero objeto de formato independiente de la arquitectura de la mquina en que se ejecutar.

Cualquier mquina que tenga el sistema de ejecucin (JRE o Java Runtime Enviroment) puede ejecutar ese cdigo objeto, sin importar en modo alguno la mquina en que ha sido generado.

Actualmente existen sistemas de ejecucin (JRE) para Solaris 2.x, SunOs 4.1.x, Windows 95, Windows NT, Linux, Irix, Aix, Mac, Apple y probablemente haya grupos de desarrollo trabajando el portado a otras plataformas.

No es as para C++ y para Smalltalk, donde el cdigo generado podr ejecutarse nicamente en la plataforma en la que se gener.

i.) Threads

Java permite mltiples hilos (multithreading) antes de su ejecucin y en tiempo de ejecucin. La posibilidad de construir pequeos procesos o piezas independientes de un gran proceso permite programar de una forma ms sencilla y es una herramienta muy potente que no se ofrece en C++.

119

Automatizacin de procesos industriales


j.) Recoleccin automtica de basura ( Garbage collection )

Java modifica completamente la gestin de la memoria que se hace en C/C++. En C/C++ se utilizan punteros, reservas de memoria (con las ordenes malloc, new, free, delete...) y otra serie de elementos que dan lugar a graves errores en tiempo de ejecucin difcilmente depurables.

Java tiene operadores nuevos para reservar memoria para los objetos, pero no existe ninguna funcin explcita para liberarla.

La recoleccin de basura (objetos ya inservibles) es una parte integral de Java durante la ejecucin de sus programas. Una vez que se ha almacenado un objeto en el tiempo de ejecucin, el sistema hace un seguimiento del estado del objeto, y en el momento en que se detecta que no se va a volver a utilizar ese objeto, el sistema vaca ese espacio de memoria para un uso futuro.

Esta gestin de la memoria dinmica hace que la programacin en Java sea ms fcil.

k.) Representacin

Uno de los objetivos perseguidos en el desarrollo de Java era la obtencin de programas con interfaces cmodas e intuitivas. Esto tambin se permite en C++, aunque con unos mtodos ms costosos, y en ningn caso con interfaces portables como los que Java crea.

Tanto en Java como en C++ se logran unas interfaces con una representacin mejor que la que se puede alcanzar con Smalltalk.

120

Automatizacin de procesos industriales

AUTENTIFICACIN MANEJADA POR EL CONTENEDOR EN TOMCAT.


Introduccin
El mayor trabajo para dotar de seguridad a la aplicacin est mas en la configuracin que en la programacin, el trabajo consiste en configurar apropiadamente los ficheros XML necesarios para que Tomcat lleve a cabo la autentificacin definida nosotros como se indica la especificacin de Servlets 2. La gua a seguir, es la especificacin de los Servlets. Tomcat 3.2.* sigue la especificacin 2.2, mientras que Tomcat 4.* se esta ajustando a la 2.3, aunque esta an se esta escribiendo, el trabajo se hace en paralelo. Pero en cuestiones de seguridad la especificacin parece que no cambiar demasiado, por eso, la mayor diferencia entre Tomcat 3.* y Tomcat 4.* esta ms en el diseo y trabajo interno que en la configuracin.

La especificacin de Servlets 2.2.


La especificacin 2.2 de Servlets indica las directrices que los contenedores de Servlets tienen que ofrecer para ser compatibles. Una de estas directrices es la referente a la autentificacin de usuarios para proteger los recursos de nuestra aplicacin web. Esta directriz har que sea el servidor el que se ocupe de proteger nuestros recursos de forma automtica sin que nosotros escribamos una lnea de cdigo, solo tendremos que configurar los descriptores XML, tanto de Tomcat (para decidir el mtodo de autentificacin), como de la aplicacin (para decidir que recursos son los protegidos). Esta funcionalidad de Tomcat aporta una funcionalidad muy elevada (al igual que todos los servidores que sigan la especificacin 2.2 o posterior). El desarrollador de la aplicacin web no tiene que preocuparse de nada referente a la autentificacin, simplemente indicar los enlaces entre las pginas que necesite. Ser el encargado de desplegar la aplicacin el que por medio del descriptor XML establezca que recursos

121

Automatizacin de procesos industriales


son los protegidos, y Tomcat, se encargar de que el usuario se autentifique antes de dejarle acceder a ese recurso. La especificacin de Servlets 2.2 ofrece cuatro tipos de autentificacin :

BASIC: Es la ms sencilla. Consiste en un pop-up en el cual se han de introducir el usuario y la contrasea. Si se da un usuario vlido se accede al recurso protegido, y si no, nos aparece una pantalla de error. Se puede definir una pantalla de error para ese tipo de error, pero el propio cuadro que aparece rompe la esttica de la aplicacin, por lo que no se usa en aplicaciones de cara al cliente.

FORM: Lo que nos aparecer en esta ocasin ser un formulario diseado y definido por el programador. Como siempre, si se introduce una pareja usuariocontrasea vlida se accede al recurso protegido, y si no, aparece una pgina de login erroneo que tambin puede ser definida por el programador. Al estar tan metido dentro de la aplicacin (son paginas web, como el resto de la aplicacion), es el mtodo ms usado.

CLIENT-CERT: Este mtodo requiere un certificado del lado del cliente. DIGEST: Mtodo un poco ms avanzado que el mtodo BASIC.

Tipos de autentificacin definidos.


La especificacin tambin define tres modos para indicar la seguridad del transporte de los datos a travs de la Web.

NONE: Ningn tipo de cifrado. CONFIDENTIAL: Utilizacin de SSL. Aporta confidencialidad e integridad. INTEGRAL: Aporta integridad del mensaje. Normalmente los servidores usan SSL con el fin de aportar este tipo de autentificacin, aunque no es imprescindible.

122

Automatizacin de procesos industriales Modos de transporte


La especificacin de Servlets (y de J2EE) basa la autentificacin en dos aspectos : usuarios y roles. El termino rol, es una forma de llamar a los grupos de usuarios. La seguridad de J2EE esta basada en estos roles dado que en un sistema habr un nmero mucho ms pequeo de grupos que de usuarios, por lo que se consigue simplicidad si se

123

Automatizacin de procesos industriales

Dominios de seguridad en Tomcat (server.xml).


Tomcat ofrece dos dominios de seguridad (aunque tambin est la posibilidad de crear nuestros propios dominios, de hecho Tomcat 4 ofrece un nuevo dominio que sera el tercero). El termino anglosajn es Security Realms,. Estos dominios son en realidad dos clases que se encargan de recibir los datos del usuario al autentificarse y los contrasta con los datos que tiene Tomcat, se prestan distintas posibilidades: 1. Contra un fichero XML (tomcat-users.xml) 2. Contra una base de datos que disponga un driver JDBC 3. Contra un servidor LDAP con Tomcat4.

tomcat-users.xml
Como se muestra en el ejemplo, en este fichero se indica a Tomcat cuales son los usuarios que pueden tener acceso a los recursos. Como se pude ver claramente en el ejemplo el procedimiento consiste en definir dentro de la etiqueta <tomcat-users> todos los usuarios que tiene acceso, para esto se indica el nombre, su password y el grupo al que pertenece. As tendremos tantas lines <user> dentro de <tomcat-user> como usuarios tengan permiso.

<tomcat-users> <user name="tomcat" password="tomcat" roles="administrador, usuario_ /> <user name="javahispano" password="javahispano" roles="usuario" /> </tomcat-users>

Autentificacin mediante una Base de Datos


Realizar la autentificacin por medio de una base de datos JDBC requiere un poco ms de trabajo. La base de datos en cuestin requiere tres tablas para que funcione correctamente. Los nombres de las tablas y las columnas se pueden personalizar, pero debido a su uso no es imprescindible. Esta informacin se puede obtener del fichero
JDBCRealm.howto.

124

Automatizacin de procesos industriales


Se da por hecho el uso de una base de datos con drivers JDBC disponible, en el caso utilizado para el ejemplo se usa MySQL, adems se ha de tener en cuenta que el driver JDBC para manejar bases de datos MySQL ha de estar en el directorio TOMCAT_HOME\lib. La estructura de las tablas es la siguiente Una tabla de usuarios para almacenar los usuarios, con su nombre y password
create table usuarios ( nombre_usuario varchar(15) not null primary key, password_usuario varchar(15) not null );

Una tabla de roles que contiene el nombre de los mismos.


create table roles ( nombre_rol varchar(15) not null primary key );

Una tabla que relaciona los usuarios con los roles.


create table usuarios_roles ( nombre_usuario varchar(15) not null, nombre_rol varchar(15) not null, primary key( nombre_usuario, nombre_rol ) );

Script de ejemplo para la confeccion de los datos almacenados en las tablas descritas

insert into usuarios values ('tomcat', 'tomcat');


insert into usuarios values ('javahispano', 'javahispano');

insert into roles values ('administrador');

125

Automatizacin de procesos industriales


insert into roles values ('usuario');

insert into usuarios_roles values ('tomcat', 'administrador'); insert into usuarios_roles values ('tomcat', 'usuario'); insert into usuarios_roles values ('javahispano', 'usuario');

El fichero donde se indica a Tomcat que tipo de dominio de seguridad usar es el fichero server.xml, en la seccin de RequestInterceptor para Tomcat 3 y en la seccin Realm para Tomcat 4. Por defecto Tomcat 3 est configurado para usar el fichero XML para autentificar los usuarios. La parte que lo indica es la siguiente:
<!- Comprobar permisos usando el fichero xml. --> <RequestInterceptor className="org.apache.tomcat.request.SimpleRealm" debug="0" />

Y Tomcat 4 no tiene configuracin por defecto, aunque a continuacin se indica como realizar la configuracin para utilizar bases de datos. Lo primero es indicar en el fichero de contexto el modo de seguridad para la aplicacin.
<Realm className="org.apache.catalina.realm.JDBCRealm"

y a continuacin configurar el acceso a la base de datos por el servidor de aplicaciones


connectionName="tomcat" connectionPassword="tomcat" driverName="com.mysql.jdbc.Driver"

Y por ltimo configurar para los distintos conceptos presentes en la autentificacin, usuario, password y rol, su localizacin indicando, base de datos, tablas y columnas. 126

Automatizacin de procesos industriales


connectionURL="jdbc:mysql://localhost:3306/usuarios" userTable="usuarios" userNameCol="usuario" userCredCol="password" userRoleTable="roles" roleNameCol="rol" />

En funcin de donde se localice nuestra configuracin, refirindose a ficheros XML, se estar configurando la para todo el servidor, para un servidor virtual, o para una nica aplicacin.

127

Automatizacin de procesos industriales

Configuracin de una aplicacin.


El primer paso es crear una aplicacin de la forma que se ha descrito anteriormente Tomcat , actualmente solo ha implementado el modo de autentificacin BASIC y FORM. En el ejemplo siguiente, primero se preparar la aplicacin para utilizar la autentificacin bsica, y despus se pasar a ver como hacerlo con formularios, que requiere ms atencin a pesar de que el proceso es muy similar.

Autentificacin BASIC.
Una vez creada la aplicacin web se proceder a editar su descriptor de despliegue
<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>

<!-En este punto empieza lo relativo a la autentificacion. Son las llamadas restricciones de seguridad. --> <security-constraint>

<!-Con tantos elementos web-resource-collection como sean necesarios se indicaran las distintas zonas. --> <web-resource-collection> <web-resource-name>Nombre de la zona</web-resource-name> <!-Usando url-pattern se indica que ficheros o directorios estn protegidos. Para este ejmplo estarn TODOS

128

Automatizacin de procesos industriales


los ficheros de la aplicacion (se pedir autentificacin con cualquier peticin de acceso). Se pueden indicar tantos elementos url-pattern como sean necesarios --> <url-pattern>/*</url-pattern> <!-A continuacin se indican los mtodos por los que no se puede acceder --> <http-method>GET</http-method> <http-method>POST</http-method> </web-resource-collection>

<!-Lo siguiente es indicar que roles tienen permitido el acceso, en este caso solo el administrador. Tantos _role-name_ sean necesarios. --> <auth-constraint> <role-name>administrador</role-name> </auth-constraint>

<!-El siguiente paso es indicar el valor de seguridad en el Transporte. Como ya se ha explicado, los posibles valores son : NONE, CONFIDENTIAL, INTEGRAL. -->

<user-data-constraint> <transport-guarantee>NONE</transport-guarantee> </user-data-constraint> </security-constraint>

<!-Por ultimo se idica el mtodo por el que se realizar la autentificacin. BASIC. --> <login-config> <auth-method>BASIC</auth-method> <realm-name>Ejemplo de autentificacion basica</realm-name> </login-config>

129

Automatizacin de procesos industriales


</web-app>

Una vez es hayan realizado los pasos indicados, ya se habr dotado de seguridad( BASIC-NONE) a la aplicacin. Cuando se intente acceder a est, se mostrar una pantalla como la aqu mostrada para introducir el usuario y la clave.

Autentificacin FORM.
La primera accin a realizar es definir los formularios que utilizar la aplicacin, uno para el primer intento, y otro para el resto. No se obliga a que stos sean dos distintos, pero resulta mas indicativo para el usuario indicarle con un diseo distinto al original su error en la autentificacin. En realidad no es necesario que este segundo sea tambin un formulario HTML, puede ser una pgina que informe del error. El fichero de login, login.html:
<html> <head> <title> Login de aplicacion que requiere autentificacion </title> </head> <body> <h2>Login</h2> <br>

130

Automatizacin de procesos industriales


<h3>www.javahispano.com</h3> <br><br> <form method="post" action="j_security_check"> Usuario: <input type="text" name="j_username"><br> Password: <input type="text" name="j_password"><br> </form> </body> </html>

Formulario que se presentar cuando los datos sean incorrectos, login_error.html:


<html> <head> <title> Login de aplicacion que requiere autentificacion </title> </head> <body> <h2>Login</h2> <br> <h3>www.javahispano.com</h3> <br><br> <font color="#FF0000"> <h3>Datos incorrectos.<br></h3> Por favor vuelva a intentarlo. </font> <br><br> <form method="post" action="j_security_check"> Usuario: <input type="text" name="j_username"><br> Password: <input type="text" name="j_password"><br> <input type="submit" value="Login"> </form> </body> </html>

Se debe prestar atencin en los distintos valores del formulario, ya que estos son estandar definidos en la especificacin 2.2 con el fin de conseguir la portabilidad de las aplicaciones entre los servidores.

131

Automatizacin de procesos industriales


El formulario ha de enviarse por mtodo POST, y la accin que se realizar ser
j_secutiry_check. Los campos que tienen los datos del usuario deben llamarse j_username y j_password.

En este punto el nico cambio necesario frente a lo explicado en el ejemplo anterior es el elemento login-config del descriptor de la aplicacin, web.xml para que use la autentificacin .
<login-config> <auth-method>FORM</auth-method> <realm-name> Ejemplo de autentificacion por medio de formulario </realm-name> <form-login-config> <!

Formulariose en el directori raz de nuestra aplicacin. --> <form-login-page>/login.html</form-login-page> <form-error-page>/login_error.html</form-error-page> </form-login-config> </login-config>

Se ha de prestar atencin al caso en el que sea necesario proteger la aplicacin completa y usar la autentificacin con formulario (aunque no dara problemas con la bsica), dado que el formulario de entrada tambin se convertira en un recurso protegido, por lo cual Tomcat no podra mostrarlo y producira un error. Si se desea hacer algo as, simplemente se habr de grabar la aplicacin en un directorio de acceso restringido y dejar los formularios fuera de ste.

132

Automatizacin de procesos industriales

Problemas con Apache y Tomcat


Aunque Tomcat puede servir contenidos estticos, normalmente se usa en conjuncin con un servidor Web, muchas veces Apache, de forma que el servidor web se encarga de servir los contenidos estticos, y Tomcat de los Servlets y de las pginas JSP. Esto se hace para liberar de trabajo a Tomcat, pero puede ser un problema a la hora de manejar la autentificacin por medio del contenedor de Servlets. El problema esta en que al definir las restricciones de seguridad en Tomcat, algunas peticiones, las del contenido esttico, no llegan a Tomcat, si no que las satisface el servidor Web directamente. Esto hace, que por ejemplo, la pagina secreta.html sea mostrada sin pedir la autentificacin del usuario aunque este en un directorio declarado restringido por Tomcat. Una solucin sera transformar todas esas pginas a JSP, con solo cambiar la extensin sera suficiente. Otra solucin sera decirle a Apache que le pasase todas las peticiones de nuestra aplicacin a Tomcat. Aunque el ejemplo que se mostrar consistir en pasarle solo las peticiones de los recursos protegidos. Se ha de aadir el directorio o directorios que estn protegidos para que sean administrados por Tomcat, sea contenido esttico o dinmico. Simplemente se aade una lnea de la forma: JkMount /mi_aplicacion/protegido/* ajp13 Para que Tomcat administrase toda la aplicacin y sirviese tanto el contenido esttico como el dinmico, se debe sustituir las lneas anteriores por una de la forma: JkMount /mi_aplicacion/* ajp13 Como ltimo punto, si Tomcat no se encarga de servir todas las peticiones a la aplicacin, se tendr que indicar a Apache que le pase a Tomcat otra direccin interesante, la que se encarga de autentificar a los usuarios, que como se ha visto anteriormente es j_security_check. JkMount /mi_aplicacion/j_security_check ajp13

133

Automatizacin de procesos industriales

EXTENSIBLE MARKUP LENGUAJE (XML)


1. Introduccin a XML
XML ( eXtensible Markup Language) no es, como su nombre podra sugerir, un lenguaje de marcado. XML es un meta-lenguaje que nos permite definir lenguajes de marcado adecuados a usos determinados.

El HTML ( HyperText Markup Language) se ha convertido en el lenguaje estndar (o lingua franca) del World Wide Web. En sus casi diez aos de andadura, y tras una fase de desarrollo ms o menos turbulento, se ha confirmado como un estndar aceptado y aprobado por la industria. HTML se puede considerar una aplicacin de SGML ( Standard Generalised Markup Language) Hay que desterrar ideas del tipo "XML es HTML mejorado" o "XML es HTML ampliable y personalizable."

Los fundamentos de XML son muy sencillos. En las siguientes pginas aprenderemos cmo crear documentos XML bien-formados, y que adems sean vlidos, es decir, que estn conformes a una Definicin de Tipo de Documento (DTD) dada. Adems veremos la creacin y uso de hojas de estilo (XSL) para la presentacin de los datos, as como diferentes aplicaciones actuales de XML.

134

Automatizacin de procesos industriales 2. Estructura de un documento XML


Aunque a primera vista, un documento XML puede parecer similar a HTML, hay una diferencia principal. Un documento XML contiene datos que se autodefinen, exclusivamente. Un documento HTML contiene datos mal definidos, mezclados con elementos de formato. En XML se separa el contenido de la presentacin de forma total.

Una forma de entender rpidamente la estructura de un documento XML, es viendo un pequeo ejemplo:

<?xml version="1.0"?> <!DOCTYPE MENSAJE SYSTEM "mensaje.dtd"> <mensaje> <remite> <nombre>Alfredo Reino</nombre> <email>alf@ibium.com</email> </remite> <destinatario> <nombre>Bill Clinton</nombre> <email>president@whitehouse.gov</email> </destinatario> <asunto>Hola Bill</asunto> <texto> <parrafo>Hola qu tal? Hace <enfasis>mucho</enfasis> que no escribes. A ver si llamas y quedamos para tomar algo.</parrafo> </texto> </mensaje>

Este mismo documento puede ser visto de forma grfica, para comprender mejor la estructura de un documento XML. 135

Automatizacin de procesos industriales

136

Automatizacin de procesos industriales 3. Documentos XML bien-formados

Existen un nmero de diferencias entre la sintaxis de HTML y XML. Es til, para aquellos que saben HTML y quieren usar XML, conocerlas perfectamente, para poder crear documentos XML bien-formados.

Estructura jerrquica de elementos

Los documentos XML deben seguir una estructura estrictamente jerrquica con lo que respecta a las etiquetas que delimitan sus elementos. Una etiqueta debe estar correctamente "incluida" en otra. Adems, los elementos con contenido, deben estar correctamente "cerrados". En el siguiente ejemplo, la primera lnea sera incorrecta en XML, no as la segunda:

<LI>HTML <B>permite <I>esto</B></I>.

<LI>En XML la <B>estructura <I>es</I> jerrquica</B>.</LI>

Etiquetas vacas

HTML permite elementos sin contenido. Como veremos ms adelante, XML tambin, pero la etiqueta debe ser de la siguiente forma: <elemento-sincontenido/> En el siguiente ejemplo, la primera lnea sera incorrecta en XML, no as la segunda:

<LI>Esto es HTML<BR>en el que casi todo est permitido</LI>

137

Automatizacin de procesos industriales


<LI>En XML, somos<BR/> ms restrictivos.</LI>

Un solo elemento raz

Los documentos XML slo permiten un elemento raz, del que todos los dems sean parte. Es decir, la jerarqua de elementos de un documento XML bien-formado slo puede tener un elemento inicial.

Valores de atributos

Los valores de atributos en XML, al contrario de HTML, siempre deben estar encerradas en comillas simples ( ' ) o dobles ( " ). En el siguiente ejemplo, la primera lnea sera incorrecta en XML, no as la segunda:

<A HREF=http://www.disney.com/>

<A HREF="http://www.developer.com/">

Tipo de letra, espacios en blanco

El XML es sensible al tipo de letra utilizado, es decir, trata las maysculas y minsculas como caracteres diferentes. Si un elemento de XML est definido como "ELEMENTO", no podemos usar "elemento", ni "Elemento", ni "eleMENto" para referirnos.

Existe un conjunto de caracteres denominados "espacios en blanco" que los procesadores XML tratan de forma diferente en el marcado XML. Estos caracteres son los 138

Automatizacin de procesos industriales


"espacios" (Unicode/ASCII 32), tabuladores (Unicode/ASCII 9), retornos de carro (Unicode/ASCII 13) y los saltos de lnea (Unicode/ASCII 10).

La especificacin XML 1.0 permite el uso de esos "espacios en blanco" para hacer ms legible el cdigo, y en general son ignorados por los procesadores XML.

En otros casos, sin embargo, los "espacios en blanco" resultan muy significativos, por ejemplo, para separar las palabras en un texto, o separar lneas de prrafos diferentes.

Nombrando cosas

Al utilizar XML, es necesario asignar nombres a las estructuras, tipos de elementos, entidades, elementos particulares, etc. En XML los nombres tienen algunas caractersticas en comn.

Segn la especificacin XML 1.0

Un nombre [empieza] con una letra o uno o ms signos de puntuacin, y [contina] con letras, dgitos, guiones, rayas, dos puntos o puntos, denominados de forma global como caracteres de nombre. Los nombres que empiezan con la cadena "xml", se reservan para la estandarizacin de esta o de futuras versiones de esta especificacin.

Resumiendo, no se pueden crear nombres que empiecen con la cadena "xml", "xMl", "XML" o cualquier otra variante. Las letras y rayas se pueden usar en cualquier parte del nombre. Tambin se pueden incluir dgitos, guiones y caracteres de punto, pero no se puede empezar por ninguno de ellos. El resto de caracteres, como algunos smbolos, y espacios en blanco, no se pueden usar.

139

Automatizacin de procesos industriales

Marcado y datos

Las construcciones como etiquetas, referencias de entidad y declaraciones se denominan "marcas". stas son las partes del documento que el procesador XML espera entender. El resto del documento que se encuentra entre las marcas, son los datos que resultan entendibles por las personas.

Es sencillo reconocer las marcas en un documento XML. Son aquellas porciones que empiezan con "<" y acaban con ">", o bien, en el caso de las referencias de entidad, empiezan por "&" y acaban con ";".

140

Automatizacin de procesos industriales 4. El Prlogo


Aunque no es obligatorio, los documentos XML pueden empezar con unas lnea que describen la versin de XML, el tipo de documento, y otras cosas.

La primera, o "declaracin XML", define la versin de XML usada. Hasta ahora slo hay una, la "1.0" Adems, en la "declaracin XML" especificamos la codificacin del documento, que puede ser, por ejemplo, USASCII (7 bits) o UTF-8 (cdigo Unicode del que el ASCII es un subconjunto), UCS-2, EUC-JP, Shift_JIS, Big5, ISO-8859-1 hasta ISO8859-7. En general, y para uso con lenguajes europeos (incluyendo el juego de caracteres especiales del castellano, usamos UTF-7 o ISO8859-1)

Adems, se puede incluir una declaracin de documento autnomo ( standalone), que controla qu componentes de la DTD son necesarios para completar el procesamiento del documento.

<?xml version="1.0" encoding="UTF-7" standalone="yes"?>

La segunda, o "declaracin de tipo de documento", define qu tipo de documento estamos creando para ser procesado correctamente. Es decir, definimos que Declaracin de Tipo de Documento (DTD Document Type Definition) valida y define los datos que contiene nuestro documento XML.

En ella se define el tipo de documento, y dnde encontrar la informacin sobre su Definicin de Tipo de Documento, mediante un identificador pblico (PUBLIC) que hace referencia a dicha DTD, o mediante un Identificador Universal de Recursos (URI) precedido por la palabra SYSTEM.

141

Automatizacin de procesos industriales


Ejemplos:

<!DOCTYPE MENSAJE SYSTEM "mensaje.dtd"> <!DOCTYPE HTML PUBLIC "-/ /W3C/ /DTD HTML 3.2 Final/ /EN"> <!DOCTYPE LABEL SYSTEM "http://www.empresa.com/dtds/label.dtd">

142

Automatizacin de procesos industriales

5. Elementos
Los elementos XML pueden tener contenido (ms elementos, caracteres, o ambos a la vez), o bien ser elementos vacos.

Un elemento con contenido es, por ejemplo:

<nombre>Fulano Mengnez</nombre>

<aviso tipo="emergencia" gravedad="mortal">Que no cunda el pnico</aviso>

Siempre empieza con una <etiqueta> que puede contener atributos o no, y termina con una </etiqueta> que debe tener el mismo nombre. Al contrario que HTML, en XML siempre se debe "cerrar" un elemento.

Hay que tener en cuenta que el smbolo "<" siempre se interpreta como inicio de una etiqueta XML. Si no es el caso, el documento no estar bien-formado. Para usar ciertos smbolos se usan las entidades predefinidas, que se explican ms adelante.

Un elemento vaco, es el que no tiene contenido (claro). Por ejemplo:

<identificador DNI="23123244"/>

<linea-horizontal/>

Al no tener una etiqueta de "cierre" que delimite un contenido, se utiliza la forma <etiqueta/>, que puede contener atributos o no. La sintaxis de HTML permite etiquetas vacas tipo <hr> o <img src="...">. En HTML reformulado para que sea un documento XML bien-formado, se debera usar <hr/> o <img src="..."/>

143

Automatizacin de procesos industriales 6. Atributos


Como se ha mencionado antes, los elementos pueden tener atributos, que son una manera de incorporar caractersticas o propiedades a los elementos de un documento.

Por ejemplo, un elemento "chiste" puede tener un atributo "tipo" y un atributo "calidad", con valores "vascos" y "bueno" respectivamente.

<chiste tipo="vascos" calidad="bueno">Esto es un da que Patxi y Josu van paseando </chiste>

En una Definicin de Tipo de Documento, se especifican los atributos que puede tener cada tipo de elemento, as como sus valores y tipos de valor posible.

Al igual que en otras cadenas literales de XML, los atributos pueden estar marcados entre comillas verticales ( ' ) o dobles ( " ). Cuando se usa uno para delimitar el valor del atributo, el otro tipo se puede usar dentro.

<verdura clase="zanahoria" longitud='15" y media'>

<cita texto="'Hola buenos das', dijo l">

A veces, un elemento con contenido, puede modelarse como un elemento vaco con atributos. Un concepto se puede representar de muy diversas formas, pero una vez elegida una, es aconsejable fijarla en el DTD, y usar siempre la misma consistentemente dentro de un documento XML.

<gato><nombre>Micif</nombre><raza>Persa</raza></gato>

<gato raza="Persa">Micif</gato>

144

Automatizacin de procesos industriales


<gato raza="Persa" nombre="Micif"/>

7. Entidades predefinidas
En XML 1.0, se definen cinco entidades para representar caracteres especiales y que no se interpreten como marcado por el procesador XML. Es decir, que as podemos usar el carcter "<" sin que se interprete como el comienzo de una etiqueta XML, por ejemplo.

8. Secciones CDATA
Existe otra construccin en XML que permite especificar datos, utilizando cualquier carcter, especial o no, sin que se interprete como marcado XML. La razn de esta construccin llamada CDATA (Character Data) es que a veces es necesario para los autores de documentos XML, poder leerlo fcilmente sin tener que descifrar los cdigos de entidades. Especialmente cuando son muchas.

Como ejemplo, el siguiente (primero usando entidades predefinidas, y luego con un bloque CDATA)

<parrafo>Lo siguiente es un ejemplo de HTML.</html> <ejemplo> &lt;HTML> &lt;HEAD>&lt;TITLE>Rock &amp; Roll&lt;/TITLE>&lt;/HEAD> <![CDATA[ <HTML> <HEAD><TITLE>Rock & Roll</TITLE></HEAD> ]]> </ejemplo>

145

Automatizacin de procesos industriales


Como hemos visto, dentro de una seccin CDATA podemos poner cualquier cosa, que no ser interpretada como algo que no es. Existe empero una excepcin, y es la cadena "]]>" con la que termina el bloque CDATA. Esta cadena no puede utilizarse dentro de una seccin CDATA.

9. Comentarios

A veces es conveniente insertar comentarios en el documento XML, que sean ignorados por el procesado de la informacin y las reproducciones del documento. Los comentarios tienen el mismo formato que los comentarios de HTML. Es decir, comienzan por la cadena "<!--" y terminan con "-->".

<?xml version="1.0"?> <!-- Aqu va el tipo de documento --> <!DOCTYPE EJEMPLO [ <!-- Esto es un comentario --> <!ELEMENTO EJEMPLO (#PCDATA)> <!-- Eso es todo por ahora! --> ]>

<EJEMPLO>texto texto texto bla bla bla <!-- Otro comentario --> </EJEMPLO> <!-- Ya acabamos -->

Se pueden introducir comentarios en cualquier lugar de la instancia o del prlogo, pero nunca dentro de las declaraciones, etiquetas, u otros comentarios.

146

Automatizacin de procesos industriales 10. Document Type Definitions (DTDs)

Crear una definicin del tipo de documento (DTD) es como crear nuestro propio lenguaje de marcado, para una aplicacin especfica. Por ejemplo, podramos crear un DTD que defina una tarjeta de visita. A partir de ese DTD, tendramos una serie de elementos XML que nos permitiran definir tarjetas de visita.

La DTD define los tipos de elementos, atributos y entidades permitidas, y puede expresar algunas limitaciones para combinarlos.

Los documentos XML que se ajustan a su DTD, se denominan "vlidos". El concepto de "validez" no tiene nada que ver con el de estar "bien-formado". Un documento "bien- formado" simplemente respeta la estructura y sintaxis definidas por la especificacin de XML. Un documento "bien-formado" puede adems ser "vlido" si cumple las reglas de una DTD determinada. Tambin existen documentos XML sin una DTD asociada, en ese caso no son "vlidos", pero tampoco "invlidos" simplemente "bien-formados" o no.

La DTD puede residir en un fichero externo, y quiz compartido por varios (puede que miles) de documentos. O bien, puede estar contenida en el propio documento XML, como parte de su declaracin de tipo de documento.

Veamos un ejemplo:

<!DOCTYPE etiqueta[ <!ELEMENT etiqueta (nombre, calle, ciudad, pais, codigo)> <!ELEMENT nombre (#PCDATA)> <!ELEMENT calle (#PCDATA)>

147

Automatizacin de procesos industriales


<!ELEMENT ciudad (#PCDATA)> <!ELEMENT pais (#PCDATA)> <!ELEMENT codigo (#PCDATA)> ]>

<etiqueta> <nombre>Fulano Mengnez</nombre> <calle>c/ Mayor, 27</calle> <ciudad>Valderredible</ciudad> <pais>Espaa</pais> <codigo>39343</codigo> </etiqueta>

La declaracin del tipo de documento comienza en la primera lnea y termina con "]>". Las declaraciones DTD son las lneas que empiezan con "<!ELEMENT" y se denominan declaraciones de tipo elemento. Tambin se pueden declarar atributos, entidades y anotaciones para una DTD.

En el ejemplo anterior, todas las declaraciones DTD que definen "etiqueta" residen dentro del documento. Sin embargo, la DTD se puede definir parcial o completamente en otro lugar. Por ejemplo:

<?xml version="1.0"?> <!DOCTYPE coche SYSTEM "http://www.sitio.com/dtd/coche.dtd"> <coche> <modelo>...</modelo> ... </coche>

148

Automatizacin de procesos industriales 11. Declaraciones tipo elemento

Los elementos son la base de las marcas XML, y deben ajustarse a un tipo de documento declarado en una DTD para que el documento XML sea considerado vlido.

Las

declaraciones

de

tipo

de

elemento

deben

empezar

con

"<!ELEMENT" seguidas por el identificador genrico del elemento que se declara. A continuacin tienen una especificacin de contenido.

Por ejemplo:

<!ELEMENT receta (titulo, ingredientes, procedimiento)>

En este ejemplo, el elemento <receta> puede contener dentro elementos <titulo>, <ingredientes> y <procedimiento>, que, a su vez, estarn definidos tambin en la DTD y podrn contener ms elementos.

Siguiendo la definicin de elemento anterior, este ejemplo de documento XML sera vlido:

<receta> <titulo>...</titulo> <ingredientes>...</ingredientes> <procedimiento>...</procedimiento> </receta>

Pero no este: <receta> <parrafo>Esto es un prrafo</parrafo> <titulo>...</titulo> <ingredientes>...</ingredientes>

149

Automatizacin de procesos industriales


<procedimiento>...</procedimiento> </receta> La especificacin de contenido puede ser de cuatro tipos:

EMPTY

Puede no tener contenido. Suele usarse para los atributos.

<!ELEMENT salto-de-pagina EMPTY>

ANY

Puede tener cualquier contenido. No se suele utilizar, ya que es conveniente estructurar adecuadamente nuestros documentos XML.

<!ELEMENT batiburrillo ANY>

Mixed

Puede tener caracteres de tipo datos o una mezcla de caracteres y sub-elementos especificados en la especificacin de contenido mixto.

<!ELEMENT enfasis (#PCDATA)>

<!ELEMENT parrafo (#PCDATA|enfasis)*>

Por ejemplo, el primer elemento definido en el ejemplo (<enfasis>) puede contener datos de carcter (#PCDATA). Y el segundo (<parrafo>) puede contener tanto datos de carcter (#PCDATA) como sub-elementos de tipo <enfasis>.

150

Automatizacin de procesos industriales


Element

Slo puede contener sub-elementos especificados en la especificacin de contenido.

<!ELEMENT mensaje (remite, destinatario, texto)> Para declarar que un tipo de elemento tenga contenido de elementos se especifica un modelo de contenido en lugar de una especificacin de contenido mixto o una de las claves ya descritas.

151

Automatizacin de procesos industriales 12. Modelos de contenido

Un modelo de contenido es un patrn que establece los sub-elementos aceptados, y el orden en que se acepta.

Un modelo sencillo puede tener un solo tipo de sub-elemento:

<!ELEMENT aviso (parrafo)>

Esto indica que <aviso> slo puede contener un solo <parrafo>.

<!ELEMENT aviso (titulo, parrafo)>

La coma, en este caso, denota una secuencia. Es decir, el elemento <aviso> debe contener un <titulo> seguido de un <parrafo>.

<!ELEMENT aviso (parrafo | grafico)>

La barra vertical "|" indica una opcin. Es decir, <aviso> puede contener o bien un <parrafo> o bien un <grafico>. El nmero de opciones no est limitado a dos, y se pueden agrupar usando parntesis.

<!ELEMENT aviso (titulo, (parrafo | grafico))>

En este ltimo caso, el <aviso> debe contener un <titulo> seguido de un <parrafo> o de un <grafico>.

Adems, cada partcula de contenido puede llevar un indicador de frecuencia, que siguen directamente a un identificador general, una secuencia o una opcin, y no pueden ir precedidos por espacios en blanco. <!ELEMENT aviso (titulo?, (parrafo+, grafico)*)>

152

Automatizacin de procesos industriales

13. Declaraciones de lista de atributos

Los atributos permiten aadir informacin adicional a los elementos de un documento. La principal diferencia entre los elementos y los atributos, es que los atributos no pueden contener sub-atributos. Se usan para aadir informacin corta, sencilla y desestructurada.

<mensaje prioridad="urgente"> <de>Alfredo Reino</de> <a>Hans van Parijs</a> <texto idioma="holands"> Hallo Hans, hoe gaat het? ... </texto> </mensaje>

Otra diferencia entre los atributos y los elementos, es que cada uno de los atributos slo se puede especificar una vez, y en cualquier orden.

En el ejemplo anterior, para declarar la lista de atributos de los elementos <mensaje> y <texto> haramos lo siguiente:

<!ELEMENT mensaje (de, a, texto)> <!ATTLIST mensaje prioridad (normal | urgente) normal> <!ELEMENT texto(#PCDATA)> <!ATTLIST texto idioma CDATA #REQUIRED>

Las declaraciones de los atributos empiezan con "<!ATTLIST", y a

153

Automatizacin de procesos industriales


continuacin del espacio en blanco viene el identificador del elemento al que se aplica el atributo. Despus viene el nombre del atributo, su tipo y su valor por defecto. En el ejemplo anterior, el atributo "prioridad" puede estar en el elemento <mensaje> y puede tener el valor "normal" o "urgente", siendo "normal" el valor por defecto si no especificamos el atributo.

El atributo "idioma", pertenece al elemento texto, y puede contener datos de carcter (CDATA). Es ms, la palabra #REQUIRED significa que no tiene valor por defecto, ya que es obligatorio especificar este atributo.

A menudo interesa que se pueda omitir un atributo, sin que se adopte automticamente un valor por defecto. Para esto se usa la condicin "#IMPLIED". Por ejemplo, en una supuesta DTD que defina la etiqueta <IMG> de HTML:

<!ATTLIST IMG URL CDATA #REQUIRED ALT CDATE #IMPLIED>

Es decir, el atributo "URL" es obligatorio, mientras que el "ALT" es opcional (y si se omite, no toma ningn valor por defecto).

154

Automatizacin de procesos industriales 14. Tipos de atributos

Atributos CDATA y NMTOKEN

Los atributos CDATA (character data) son los ms sencillos, y pueden contener casi cualquier cosa. Los atributos NMTOKEN (name token) son parecidos, pero slo aceptan los caracteres vlidos para nombrar cosas (letras, nmeros, puntos, guiones, subrayados y los dos puntos).

<!ATTLIST mensaje fecha CDATA #REQUIRED>

<mensaje fecha="15 de Julio de 1999">

<!ATTLIST mensaje fecha NMTOKEN #REQUIRED>

<mensaje fecha="15-7-1999">

Atributos enumerados y notaciones

Los atributos enumerados son aquellos que slo pueden contener un valor de entre un nmero reducido de opciones.

<!ATTLIST mensaje prioridad (normal | urgente) normal>

Existe otro tipo de atributo parecido, llamado de notacin (NOTATION). Este tipo de atributo permite al autor declarar que su valor se ajusta a una notacin declarada.

<!ATTLIST #REQUIRED>

mensaje

fecha

NOTATION

(ISO-DATE

EUROPEAN-DATE)

Para declarar las notaciones, se utiliza "<!NOTATION", con una definicin externa de la notacin. La definicin externa puede ser pblica o un

155

Automatizacin de procesos industriales


identificador del sistema para la documentacin de la notacin, una especificacin formal o un asistente de la aplicacin que contenga objetos representados en la notacin.

<!NOTATION HTML SYSTEM "http://www.w3.org/Markup">

<!NOTATION HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

Atributos ID e IDREF

El tipo ID permite que un atributo determinado tenga un nombre nico que podr ser referenciado por un atributo de otro elemento que sea de tipo IDREF. Por ejemplo, para implementar un sencillo sistema de hipervnculos en un documento:

<!ELEMENT enlace EMPTY> <!ATTLIST enlace destino IDREF #REQUIRED> <!ELEMENT capitulo (parrafo)*> <!ATTLIST capitulo referencia ID #IMPLIED>

En este caso, una etiqueta <enlace destino="seccion-3"> hara referencia a un <capitulo referencia="seccion-3">, de forma que el procesador XML lo podra convertir en un hipervnculo, u otra cosa.

156

Automatizacin de procesos industriales 15. Declaracin de entidades

XML hace referencia a objetos (ficheros, pginas web, imgenes, cualquier cosa) que no deben ser analizados sintcticamente segn las reglas de XML, mediante el uso de entidades. Se declaran en la DTD mediante el uso de "<!ENTITY"

Una entidad puede no ser ms que una abreviatura que se utiliza como una forma corta de algunos textos. Al usar una referencia a esta entidad, el analizador sintctico reemplaza la referencia con su contenido. En otras ocasiones es una referencia a un objeto externo o local.

Las entidades pueden ser:

Internas Analizadas

Externas o No

analizadas Generales o Parmetro

Entidades generales internas

Son las ms sencillas. Son bsicamente abreviaturas definidas en la seccin de la DTD del documento XML. Son siempre entidades analizadas, es decir, una vez reemplazada la referencia a la entidad por su contenido, pasa a ser parte del documento XML y como tal, es analizada por el procesador XML.

<!DOCTYPE texto[ <!ENTITY alf "Alien Life Form"> ]>

<texto><titulo>Un da en la vida de un &alf;</titulo></texto>

157

Automatizacin de procesos industriales


Entidades generales externas analizadas

Las entidades externas obtienen su contenido en cualquier otro sitio del sistema, ya sea otro archivo del disco duro, una pgina web o un objeto de una base de datos. Se hace referencia al contenido de una entidad as mediante la palabra SYSTEM seguida de un URI (Universal Resource Identifier)

<!ENTITY intro SYSTEM "http://www.miservidor.com/intro.xml">

Entidades no analizadas

Evidentemente, si el contenido de la entidad es un archivo MPG o una imagen GIF o un fichero ejecutable EXE, el procesador XML no debera intentar interpretarlo como si fuera texto XML. Este tipo de entidades siempre son generales y externas.

<!ENTITY logo SYSTEM "http://www.miservidor.com/logo.gif">

Entidades parmetro internas y externas

Se denominan entidades parmetro a aquellas que slo pueden usarse en la DTD, y no en el documento XML. Se pueden utilizar para agrupar ciertos elementos del DTD que se repitan mucho. Se diferencian las entidades parmetro de las generales, en que para hacer referencia a ellas, se usa el smbolo "%" en lugar de "&" tanto como para declararlas como para usarlas.

<!DOCTYPE texto[ <!ENTITY % elemento-alf "<!ELEMENT ALF (#PCDATA)>">

%elemento-alf; ]>

158

Automatizacin de procesos industriales


Tambin puede ser externa:

<!DOCTYPE texto[ <!ENTITY % elemento-alf SYSTEM "alf.ent"> ... %elemento-alf; ]>

EJEMPLO DE DTD

Un ejemplo de DTD que puede servir para resumir todo lo visto hasta ahora podra ser un DTD que nos defina un lenguaje de marcado para una base de datos de personas con direcciones e-mail.

El fichero LISTIN.DTD podra ser algo as:

<?xml encoding="UTF-8"?> <!ELEMENT listin (persona)+> <!ELEMENT persona (nombre, email*, relacion?)> <!ATTLIST persona id ID #REQUIRED> <!ATTLIST persona sexo (hombre | mujer) #IMPLIED> <!ELEMENT nombre (#PCDATA)> <!ELEMENT email (#PCDATA)> <!ELEMENT relacion EMPTY> <!ATTLIST relacion amigo-de IDREFS #IMPLIED enemigo-de IDREFS #IMPLIED>

Basndonos en este DTD, podramos escribir nuestro primer listn en XML de la siguiente manera:

<?xml version="1.0"?>

159

Automatizacin de procesos industriales


<!DOCTYPE listin SYSTEM "LISTIN.DTD"> <listin> <persona sexo="hombre" id="ricky"> <nombre>Ricky Martin</nombre> <email>ricky@puerto-rico.com</email> <relacion amigo-de="laetitia"> </persona> <persona sexo="mujer" id="laetitia"> <nombre>Laetitia Casta</nombre> <email>castal@micasa.com</email> </persona> </listin>

160

Automatizacin de procesos industriales 16. XML SCHEMAS

Un " schema XML " es algo similar a un DTD, es decir, que define qu elementos puede contener un documento XML, cmo estn organizados, y que atributos y de qu tipo pueden tener sus elementos.

La ventaja de los schemas con respecto a los DTDs son: Usan sintaxis de XML, al contrario que los DTDs. Permiten especificar los tipos de datos. Son extensibles.

Por ejemplo, un schema nos permite definir el tipo del contenido de un elemento o de un atributo, y especificar si debe ser un nmero entero, o una cadena de texto, o una fecha, etc. Los DTDs no nos permiten hacer estas cosas.

Veamos un ejemplo de un documento XML, y su schema correspondiente:

<documento xmlns="x-schema:personaSchema.xml"> <persona id="fulano"> <nombre>Fulano Menganez</nombre> </persona> </documento>

Como podemos ver en el documento XML anterior, se hace referencia a un espacio de nombres (namespace) llamado "x-

schema:personaSchema.xml". Es decir, le estamos diciendo al analizador sintctico XML ( parser) que valide el documento contra el schema "personaSchema.xml".

El schema sera algo parecido a esto:

161

Automatizacin de procesos industriales

<Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes"> <AttributeType name='id' dt:type='string' required='yes'/> <ElementType name='nombre' content='textOnly'/> <ElementType name='persona' content='mixed'> <attribute type='id'/> <element type='nombre'/> </ElementType> <ElementType name='documento' content='eltOnly'> <element type='persona'/> </ElementType> </Schema>

El primer elemento del schema define dos espacios de nombre. El primero " xml-data" le dice al analizador que esto es un schema y no otro documento XML cualquiera. El segundo " datatypes" nos permite definir el tipo de elementos y atributos utilizando el prefijo "dt".

ElementType

Define el tipo y contenido de un elemento, incluyendo los subelementos que pueda contener.

AttributeType

Asigna un tipo y condiciones a un atributo.

attribute

Declara que un atributo previamente definido por AttributeType puede aparecer como atributo de un elemento determinado.

162

Automatizacin de procesos industriales


element

Declara que un elemento previamente definido por ElementType puede aparecer como contenido de otro elemento.

Tal como hemos visto, es necesario empezar el schema definiendo los elementos ms profundamente anidados dentro de la estructura jerrquica de elementos del documento XML. Es decir, tenemos que trabajar "de dentro hacia fuera".

Visto de otra manera, las declaraciones de tipo ElementType y AttributeType deben preceder a las declaraciones de contenido element y attribute correspondientes.

163

Automatizacin de procesos industriales 17. Extended Style Language (XSL)


El XSL es un lenguaje que nos permite definir una presentacin o formato para un documento XML. Un mismo documento XML puede tener varias hojas de estilo XSL que lo muestren en diferentes formatos (HTML, PDF, RTF, VRML, PostScript, sonido, etc.)

La aplicacin de una hoja de estilo XSL a un documento XML puede ocurrir tanto en el origen (por ejemplo, un servlet que convierta de XML a HTML para que sea mostrado a un navegador conectado a un servidor de web), o en el mismo navegador (como es el caso del MS IE5, y en breve, Netscape 5).

Bsicamente, XSL es un lenguaje que define una transformacin entre un documento XML de entrada, y otro documento XML de salida.

Una hoja de estilo XSL es una serie de reglas que determinan cmo va a ocurrir la transformacin. Cada regla se compone de un patrn ( pattern) y una accin o plantilla (template).

De este modo, cada regla afecta a uno o varios elementos del documento XML. El efecto de las reglas es recursivo, para que un elemento situado dentro de otro elemento pueda ser tambin transformado. La hoja de estilo tiene una regla raz que, adems de ser procesada, llama a las reglas adecuadas para los elementos hijos.

Vamos a ver un ejemplo de todo esto:

<libro> <titulo>Un ttulo cualquiera</titulo> <capitulos>

<capitulo> <titulo>Captulo 1</titulo>

164

Automatizacin de procesos industriales


<parrafo>....</parrafo> <parrafo>....</parrafo> </capitulo>

<capitulo> <titulo>Captulo 2</titulo> ... </capitulo>

</capitulos> </libro>

Queremos convertir este documento XML en HTML bien-formado, de la siguiente manera:

<HTML> <HEAD> <TITLE>Un ttulo cualquiera</TITLE> </HEAD> <BODY> <H1>Un ttulo cualquiera</H1> <HR> <H2>Captulo 1</H2> <P>...</P> <P>...</P>

<HR> <H2>Captulo 2</H2> <P>...</P>

</BODY> </HTML> 165

Automatizacin de procesos industriales

La hoja de estilo XSL necesaria sera algo parecido a lo siguiente:

<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="libro"> <HTML> <HEAD> <TITLE><xsl:process select="titulo"/></TITLE> </HEAD> <BODY> <H1><xsl:process select="titulo"/></H1> <xsl:process select="capitulos"/> </BODY> </HTML> </xsl:template>

<xsl:template match="capitulos"> <xsl:process select="capitulo"> </xsl:template>

<xsl:template match="capitulo"> <HR/> <H2><xsl:process select="titulo"/></H2> <xsl:process select="parrafo"/> </xsl:template>

<xsl:template match="parrafo"> <P><xsl:process-children/></P> </xsl:template> </xsl:stylesheet>

166

Automatizacin de procesos industriales 18. XML Document Object Model y Java


Como ya hemos podido suponer, el empleo de tecnologa XML, al ser un estndar internacional y pblico, no nos ata a una plataforma o sistema de desarrollo concreto. Lo mismo se puede usar Perl bajo UNIX para generar documentos XML a partir de una base de datos, como usar Python en Windows NT para servir documentos HTML4 a navegadores web a partir de un documento XML.

Dicho esto, hay que decir que JAVA se posiciona como una opcin interesante a la hora de desarrollar aplicaciones usando XML.

Por ejemplo, a partir de fuentes de datos en XML, podemos escribir un servlet que analice sintcticamente el XML, y que genere un rbol DOM (Document Object Model). Una vez generado el rbol DOM, podemos ir extrayendo la informacin que contiene e ir generando un documento HTML de acuerdo con ciertas reglas de formato, de modo que pueda ser visualizado por un navegador web.

Vamos a suponer que nuestro servlet carga ese fichero XML en un objeto string de Java, que nos vamos a disponer a analizar.

Lo primero que debemos hacer es crear un analizador sintctico XML. Usamos el objeto com.ibm.xml.Parser para ello.

Parser parser = new Parser("xslparse.err");

El fichero "xslparse.err" ser el registro de cualquier error que ocurra mientras procesamos el documento XML, que debe ser convertido a un InputStream.

ByteArrayInputStream bais = new ByteArrayInputStream(xmlString.getBytes());

167

Automatizacin de procesos industriales


Ahora le decimos al parser que ignore las declaraciones de tipo de documento, los comentarios, etc.

parser.setWarningNoXMLDecl(false); parser.setWarningNoDoctypeDecl(false); parser.setKeepComment(false); parser.setProcessNamespace(false);

Analizamos el documento, y cerramos el InputStream.

doc = parser.readStream; bais.close();

Ahora contenemos el rbol DOM en el objeto "doc", y lo que tenemos que hacer es movernos por el rbol DOM e ir sacando los datos que contiene.

Vamos a ver los mtodos que tenemos para navegar el DOM (definidos en org.w3c.dom.Node)

getDocumentElement() Devuelve el elemento raz getFirstChild() Devuelve el nodo que es el primer "hijo" de este nodo. getNextSibling() Devuelve el nodo que es el siguiente "hermano" de este nodo. getLastChild() Devuelve el nodo que es el ltimo "hijo" de este nodo. getPreviousSibling() Devuelve el nodo que es el ltimo "hermano" de este nodo. getAttribute(java.lang.String attrName) Devuelve representa el valor de un atributo. un objeto string que

168

Automatizacin de procesos industriales 19. Lenguaje de enlace XML (XLINK)


XLink es una aplicacin XML que intenta superar las limitaciones que tienen los enlaces de hipertexto en HTML. Es una especificacin que todava est en desarrollo, y que todava no tiene "rodaje" en el mundo real.

Los enlaces en HTML tienen una serie de limitaciones, que los hacen bastante pobres. Por ejemplo, slo tienen dos extremos, la terminacin origen y la destino, y son unidireccionales.

Si yo creo un enlace en mi pgina web personal que me lleve hasta la pgina principal de Coca-Cola, estoy creando un "vnculo" entre esta pgina y la ma.

<a href="http://www.coca-cola.com/">Coca-Cola</a>

Este vnculo es unidireccional, porque un visitante cualquiera que entre en la pgina de Coca-Cola, no tiene forma de saber que mi pgina (as como otros cientos de miles) enlaza con ella.

El objetivo de XLink es crear enlaces entre recursos, de una forma de la que HTML no es capaz.

Por ejemplo, un estudiante podra hacer anotaciones a los apuntes que un profesor tiene disponibles en la red, por el mtodo de insertar un enlace desde los apuntes (a los que no tiene acceso de escritura o modificacin) y su propia pgina de anotaciones y comentarios.

O bien, podremos vincular dos pginas cualesquiera, por ejemplo enlazando el texto de una noticia en un diario on-line, con el texto de la noticia equivalente en el diario competidor. Y no hay porqu quedarse en enlaces con dos extremos. Los enlaces extendidos permiten mucho ms que eso.

169

Automatizacin de procesos industriales

En el momento actual, la tecnologa para poder mantener una base de datos de enlaces mundial, no est desarrollada, pero se puede hacer a nivel local.

Por ejemplo, nuestra empresa quiere comprar ciertos productos de un suministrador. Los trabajadores de la empresa podrn visitar la pgina web del proveedor y hacer enlaces externos a comentarios sobre las especificaciones de tal producto. Cuando otro compaero de la empresa visite la pgina, el servidor de enlaces de nuestra empresa le mostrar la pgina junto con los enlaces externos creados, y mostrar nuestros comentarios como si fueran parte del documento original.

170

Automatizacin de procesos industriales

SISTEMAS EXPERTOS
1. Introduccin
Los sistemas expertos son programas que reproducen el proceso intelectual de un experto humano en un campo particular, pudiendo mejorar su productividad, ahorrar tiempo y dinero, conservar sus valiosos conocimientos y difundirlos ms fcilmente. Antes de la aparicin del ordenador, el hombre ya se preguntaba si se le arrebatara el privilegio de razonar y pensar. En la actualidad existe un campo dentro de la inteligencia artificial al que se le atribuye esa facultad: el de los sistemas expertos. Estos sistemas permiten la creacin de mquinas que razonan como el hombre, restringindose a un espacio de conocimientos limitado. En teora pueden razonar siguiendo los pasos que seguira un experto humano (mdico, analista, empresario, etc.) para resolver un problema concreto. Este tipo de modelos de conocimiento por ordenador ofrece un extenso campo de posibilidades en resolucin de problemas y en aprendizaje. Su uso se extender ampliamente en el futuro, debido a su importante impacto sobre los negocios y la industria. El objetivo de este curso es ensear de forma prctica el funcionamiento y construccin de un sistema experto. A lo largo de la serie de artculos se demostrar que los sistemas expertos son tiles y prcticos, y que, adems, son realizables. Tambin se analizar la problemtica de la adquisicin y representacin del conocimiento, as como los mtodos para tratar la incertidumbre.

171

Automatizacin de procesos industriales

2. Definicin de Sistema Experto


Los sistemas expertos se pueden considerar como el primer producto verdaderamente operacional de la inteligencia artificial. Son programas de ordenador diseados para actuar como un especialista humano en un dominio particular o rea de conocimiento. En este sentido, pueden considerarse como intermediarios entre el experto humano, que transmite su conocimiento al sistema, y el usuario que lo utiliza para resolver un problema con la eficacia del especialista. El sistema experto utilizar para ello el conocimiento que tenga almacenado y algunos mtodos de inferencia. A la vez, el usuario puede aprender observando el comportamiento del sistema. Es decir, los sistemas expertos se pueden considerar simultneamente como un medio de ejecucin y transmisin del conocimiento. Lo que se intenta, de esta manera, es representar los mecanismos heursticos que intervienen en un proceso de descubrimiento. Estos mecanismos forman ese conocimiento difcil de expresar que permite que los expertos humanos sean eficaces calculando lo menos posible. Los sistemas expertos contienen ese "saber hacer". La caracterstica fundamental de un sistema experto es que separa los conocimientos almacenados (base de conocimiento) del programa que los controla (motor de inferencia). Los datos propios de un determinado problema se almacenan en una base de datos aparte (base de hechos). Una caracterstica adicional deseable, y a veces fundamental, es que el sistema sea capaz de justificar su propia lnea de razonamiento de forma inteligible por el usuario. Los sistemas expertos siguen una filosofa diferente a los programas clsicos. Esto queda reflejado en la tabla 1, que resume las diferencias entre ambos tipos de procesamiento.

172

Automatizacin de procesos industriales


Sistema clsico. Conocimiento y procesamiento combinados en un programa Base de conocimiento separada del mecanismo de procesamiento No contiene errores Puede contener errores No da explicaciones, los datos slo se usan o escriben Una parte del sistema experto la forma el mdulo de explicacin Los cambios son tediosos Los cambios en las reglas son fciles El sistema slo opera completo El sistema puede funcionar con pocas reglas Se ejecuta paso a paso La ejecucin usa heursticas y lgica Necesita informacin completa para operar Puede operar con informacin incompleta Representa y usa datos Representa y usa conocimiento

173

Automatizacin de procesos industriales

3. La reciente historia de los sistemas


Los sistemas expertos proceden inicialmente de la inteligencia artificial a mediados de los aos sesenta. En ese perodo se crea que bastaban unas pocas leyes de razonamiento junto con potentes ordenadores para producir resultados brillantes. Un intento en ese sentido fue el llevado a cabo por los investigadores Alan Newell y Herbert Simon que desarrollaron un programa denominado GPS (General Problem Solver; solucionador general de problemas). Poda trabajar con criptoaritmtica, con las torres de Hanoi y con otros problemas similares. Lo que no poda hacer el GPS era resolver problemas del mundo real, tales como un diagnstico mdico. Algunos investigadores decidieron entonces cambiar por completo el enfoque del problema restringiendo su ambicin a un dominio especfico e intentando simular el razonamiento de un experto humano. En vez de dedicarse a computerizar la inteligencia general, se centraron en dominios de conocimiento muy concretos. De esta manera nacieron los sistemas expertos. A partir de 1965, un equipo dirigido por Edward Feigenbaum, comenz a desarrollar sistemas expertos utilizando bases de conocimiento definidas

minuciosamente. En 1967 se construye DENDRAL, que se considera como el primer sistema experto. Se utilizaba para identificar estructuras qumicas moleculares a partir de su anlisis espectrogrfico. Entre 1970 y 1980 se desarroll MYCIN para consulta y diagnstico de infecciones de la sangre. Este sistema introdujo nuevas caractersticas: utilizacin de conocimiento impreciso para razonar y posibilidad de explicar el proceso de razonamiento. Lo ms importante es que funcionaba de manera correcta, dando conclusiones anlogas a las que un ser humano dara tras largos aos de experiencia. En MYCIN aparecen claramente diferenciados motor de inferencia y base de conocimientos. Al separar esas dos partes, se puede considerar el motor de inferencias aisladamente. Esto da como resultado un sistema vaco o shell (concha). As surgi EMYCIN (MYCIN Esencial) con el que se construy SACON, utilizado para

174

Automatizacin de procesos industriales


estructuras de ingeniera, PUFF para estudiar la funcin pulmonar y GUIDON para elegir tratamientos teraputicos. En esa poca se desarrollaron tambin: HERSAY, que intentaba identificar la palabra hablada, y PROSPECTOR, utilizado para hallar yacimientos de minerales. De este ltimo deriv el shell KAS (Knowledge Adquisition System). A partir de 1980 se ponen de moda los sistemas expertos, numerosas empresas de alta tecnologa investigan en este rea de la inteligencia artificial, desarrollando sistemas expertos para su comercializacin. Se llega a la conclusin de que el xito de un sistema experto depende casi exclusivamente de la calidad de su base de conocimiento. El inconveniente es que codificar la pericia de un experto humano puede resultar difcil, largo y laborioso. Un ejemplo de sistema experto moderno es CASHVALUE, que evala proyectos de inversin y VATIA, que asesora acerca del impuesto sobre el valor aadido o I.V.A.

175

Automatizacin de procesos industriales

4. Usos de un sistema experto


Un sistema experto es muy eficaz cuando tiene que analizar una gran cantidad de informacin, interpretndola y proporcionando una recomendacin a partir de la misma. Un ejemplo es el anlisis financiero, donde se estudian las oportunidades de inversin, dependiendo de los datos financieros de un cliente y de sus propsitos. Para detectar y reparar fallos en equipos electrnicos, se utilizan los sistemas expertos de diagnstico y depuracin, que formulan listas de preguntas con las que obtienen los datos necesarios para llegar a una conclusin. Entonces recomiendan las acciones adecuadas para corregir los problemas descubiertos. Este tipo de sistemas se utilizan tambin en medicina (ej. MYCIN y PUFF), y para localizar problemas en sistemas informticos grandes y complejos. Los sistemas expertos son buenos para predecir resultados futuros a partir del conocimiento que tienen. Los sistemas meteorolgicos y de inversin en bolsa son ejemplos de utilizacin en este sentido. El sistema PROSPECTOR es de este tipo. La planificacin es la secuencia de acciones necesaria para lograr una meta. Conseguir una buena planificacin a largo plazo es muy difcil. Por ello, se usan sistemas expertos para gestionar proyectos de desarrollo, planes de produccin de fbricas, estrategia militar y configuracin de complejos sistemas informticos, entre otros. Cuando se necesita controlar un proceso tomando decisiones como respuesta a su estado y no existe una solucin algortmica adecuada, es necesario usar un sistema experto. Este campo comprende el supervisar fbricas automatizadas, factoras qumicas o centrales nucleares. Estos sistemas son extraordinariamente crticos porque normalmente tienen que trabajar a tiempo real. El diseo requiere una enorme cantidad de conocimientos debido a que hay que tener en cuenta muchas especificaciones y restricciones. En este caso, el sistema experto ayuda al diseador a completar el diseo de forma competente y dentro de los lmites de costes y de tiempo. Se disean circuitos electrnicos, circuitos integrados, tarjetas de circuito impreso, estructuras arquitectnicas, coches, piezas mecnicas, etc.

176

Automatizacin de procesos industriales


Por ltimo, un sistema experto puede evaluar el nivel de conocimientos y comprensin de un estudiante, y ajustar el proceso de aprendizaje de acuerdo con sus necesidades. En la tabla 2 se muestran los modelos funcionales de los sistemas expertos, junto al tipo de problema que intentan resolver y algunos de los usos concretos a que se destinan.

Categora tipo de problema uso


Interpretacin Deducir situaciones a partir de datos observados Anlisis de imgenes, reconocimiento del habla, inversiones financieras Prediccin Inferir posibles consecuencias a partir de una situacin Prediccin meteorolgica, previsin del trfico, evolucin de la Bolsa Diagnstico Deducir fallos a partir de sus efectos Diagnstico mdico, deteccin de fallos en electrnica Diseo Configurar objetos bajo ciertas especificaciones Diseo de circuitos, automviles, edificios, etc. Planificacin Desarrollar planes para llegar a unas metas Programacin de proyectos e inversiones. Planificacin militar Monitorizacin o supervisin Controlar situaciones donde hay planes vulnerables Control de centrales nucleares y factoras qumicas Depuracin Prescribir remedios para funcionamientos errneos Desarrollo de software y circuitos electrnicos Reparacin Efectuar lo necesario para hacer una correccin Reparar sistemas informticos, automviles, etc. Instruccin Diagnstico, depuracin y correccin de una conducta Correccin de errores, enseanza Control Mantener un sistema por un camino previamente trazado. Interpreta, predice y supervisa su conducta Estrategia militar, control de trfico areo Enseanza Recoger el conocimiento y mostrarlo Aprendizaje de experiencia

177

Automatizacin de procesos industriales

5. Decisin de aplicacin de sistemas expertos


El acceso al conocimiento y al juicio de un experto es extremadamente valioso en muchas ocasiones (prospecciones petrolferas, manejo de valores burstiles, diagnstico de enfermedades, etc.), sin embargo, en la mayora de los campos de actividad existen ms problemas por resolver que expertos para resolverlos. Para solucionar este desequilibrio es necesario utilizar un sistema experto. En general, actuar como ayudante para los expertos humanos y como consultor cuando no se tiene otro acceso a la experiencia. Un sistema experto, adems, mejora la productividad al resolver y decidir los problemas ms rpidamente. Esto permite ahorrar tiempo y dinero. A veces sin esa rapidez las soluciones obtenidas seran intiles. Los valiosos conocimientos de un especialista se guardan y se difunden, de forma que, no se pierden aunque desaparezca el especialista. En los sistemas expertos se guarda la esencia de los problemas que se intenta resolver y se programa cmo aplicar los conocimientos para su resolucin. Ayudan a entender cmo se aplican los conocimientos para resolver un problema. Esto es til porque normalmente el especialista da por ciertos sus conocimientos y no analiza cmo los aplica. Se pueden utilizar personas no especializadas para resolver problemas. Adems si una persona utiliza regularmente un sistema experto aprender de el, y se aproximar a la capacidad del especialista. Con un sistema experto se obtienen soluciones ms fiables gracias al tratamiento automtico de los datos, y ms contrastadas, debido a que se suele tener informatizado el conocimiento de varios expertos. Debido a la separacin entre la base de conocimiento y el mecanismo de inferencia, los sistemas expertos tienen gran flexibilidad, lo que se traduce en una mejor modularidad, modificabilidad y legibilidad del conocimiento. Otra ventaja es que este tipo de sistemas pueden utilizar razonamiento aproximado para hacer deducciones y que pueden resolver problemas sin solucin algortmica.

178

Automatizacin de procesos industriales


Los sistemas expertos tambin tienen inconvenientes. El conocimiento humano es complejo de extraer y, a veces, es problemtico representarlo. Si un problema sobrepasa la competencia de un sistema experto, sus prestaciones se degradan de forma notable. Adems, las estrategias de razonamiento de los motores de inferencia suelen estar programadas procedimentalmente y se adaptan mal a las circunstancias. Estn limitados para tratar problemas con informacin incompleta. Un experto humano no estudia progresivamente una hiptesis, sino que decide de inmediato cuando se enfrenta a una situacin anloga a otra ocurrida en el pasado Los sistemas expertos no utilizan este razonamiento por analoga. Los costes y duracin del desarrollo de un sistema experto son bastante considerables (aunque se suelen amortizar rpidamente) y su campo de aplicacin actual es restringido y especfico. Finalmente, hay que tener en cuenta los problemas sociales que acarrean al ser susceptibles de influir en la estructura y nmero de empleos.

179

Automatizacin de procesos industriales

6. Arquitectura y funcionamiento de un sistema experto


No existe una estructura de sistema experto comn. Sin embargo, la mayora de los sistemas expertos tienen unos componentes bsicos: base de conocimientos, motor de inferencia, base de datos e interfaz con el usuario. Muchos tienen, adems, un mdulo de explicacin y un mdulo de adquisicin del conocimiento. La figura 1 muestra la estructura de un sistema experto ideal. La base de conocimientos contiene el conocimiento especializado extrado del experto en el dominio. Es decir, contiene conocimiento general sobre el dominio en el que se trabaja. El mtodo ms comn para representar el conocimiento es mediante reglas de produccin. El dominio de conocimiento representado se divide, pues, en pequeas fracciones de conocimiento o reglas SI . . . ENTONCES . . . Cada regla constar de una parte denominada condicin y de una parte denominada accin, y tendr la forma: SI condicin ENTONCES accin. Como ejemplo se puede considerar la siguiente regla mdica: 1. SI el termmetro marca 39 2. Y el termmetro funciona correctamente 3. ENTONCES el paciente tiene fiebre Una caracterstica muy importante es que la base de conocimientos es independiente del mecanismo de inferencia que se utiliza para resolver los problemas. De esta forma, cuando los conocimientos almacenados se han quedado obsoletos, o cuando se dispone de nuevos conocimientos, es relativamente fcil aadir reglas nuevas, eliminar las antiguas o corregir errores en las existentes. No es necesario reprogramar todo el sistema experto. Las reglas suelen almacenarse en alguna secuencia jerrquica lgica, pero esto no es estrictamente necesario. Se pueden tener en cualquier secuencia y el motor de inferencia las usar en el orden adecuado que necesite para resolver un problema. Una base de conocimientos muy ingenua, para identificar vehculos, podra ser la siguiente:

180

Automatizacin de procesos industriales


Regla 1: SI tiene 2 ruedas Y utiliza motor ENTONCES es una motocicleta Regla 2:

SI tiene 2 ruedas Y es movido por el hombre ENTONCES es una bicicleta Regla 3:

SI tiene 4 ruedas Y utiliza motor Y pesa menos de 3500 Kg. ENTONCES es un coche Existen reglas de produccin que no pertenecen al dominio del problema. Estas reglas se llaman metarreglas (reglas sobre otras reglas) y su funcin es indicar bajo qu condiciones deben considerarse unas reglas en vez de otras. Un ejemplo de metaregla es: 1. SI hay reglas que usan materias baratas 2. Y hay reglas que usan materias caras 3. ENTONCES usar antes las primeras que las segundas La base de datos o base de hechos es una parte de la memoria del ordenador que se utiliza para almacenar los datos recibidos inicialmente para la resolucin de un problema. Contiene conocimiento sobre el caso concreto en que se trabaja. Tambin se

181

Automatizacin de procesos industriales


registrarn en ella las conclusiones intermedias y los datos generados en el proceso de inferencia. Al memorizar todos los resultados intermedios, conserva el vestigio de los razonamientos efectuados; por lo tanto, se puede utilizar explicar las deducciones y el comportamiento del sistema. El motor de inferencias es un programa que controla el proceso de razonamiento que seguir el sistema experto. Utilizando los datos que se le suministran, recorre la base de conocimientos para alcanzar una solucin. La estrategia de control puede ser de encadenamiento progresivo o de encadenamiento regresivo. En el primer caso se comienza con los hechos disponibles en la base de datos, y se buscan reglas que satisfagan esos datos, es decir, reglas que verifiquen la parte SI. Normalmente, el sistema sigue los siguientes pasos: 1. Evaluar las condiciones de todas las reglas respecto a la base de datos, identificando el conjunto de reglas que se pueden aplicar (aquellas que satisfacen su parte condicin) 2. Si no se puede aplicar ninguna regla, se termina sin xito; en caso contrario se elige cualquiera de las reglas aplicables y se ejecuta su parte accin (esto ltimo genera nuevos hechos que se aaden a la base de datos) 3. Si se llega al objetivo, se ha resuelto el problema; en caso contrario, se vuelve al primer paso A este enfoque se le llama tambin guiado por datos, porque es el estado de la base de datos el que identifica las reglas que se pueden aplicar. Cuando se utiliza este mtodo, el usuario comenzar introduciendo datos del problema en la base de datos del sistema. Al encadenamiento regresivo se le suele llamar guiado por objetivos, ya que, el sistema comenzar por el objetivo (parte accin de las reglas) y operar retrocediendo para ver cmo se deduce ese objetivo partiendo de los datos. Esto se produce directamente o a travs de conclusiones intermedias o subobjetivos. Lo que se intenta es probar una hiptesis a partir de los hechos contenidos en la base de datos y de los obtenidos en el proceso de inferencia.

182

Automatizacin de procesos industriales


En la mayora de los sistemas expertos se utiliza el encadenamiento regresivo. Este enfoque tiene la ventaja de que el sistema va a considerar nicamente las reglas que interesan al problema en cuestin. El usuario comenzar declarando una expresin E y el objetivo del sistema ser establecer la verdad de esa expresin. Para ello se pueden seguir los siguientes pasos: 1. Obtener las reglas relevantes, buscando la expresin E en la parte accin (stas sern las que puedan establecer la verdad de E) 2. Si no se encuentran reglas para aplicar, entonces no se tienen datos suficientes para resolver el problema; se termina sin xito o se piden al usuario ms datos 3. Si hay reglas para aplicar, se elige una y se verifica su parte condicin C con respecto a la base de datos. 4. Si C es verdadera en la base de datos, se establece la veracidad de la expresin E y se resuelve el problema 5. Si C es falsa, se descarta la regla en curso y se selecciona otra regla 6. Si C es desconocida en la base de datos (es decir, no es verdadera ni falsa), se le considera como subobjetivo y se vuelve al paso 1 (C ser ahora la expresin E) Existen tambin enfoques mixtos en los que se combinan los mtodos guiados por datos con los guiados por objetivos. El interfaz de usuario permite que el usuario pueda describir el problema al sistema experto. Interpreta sus preguntas, los comandos y la informacin ofrecida. A la inversa, formula la informacin generada por el sistema incluyendo respuestas a las preguntas, explicaciones y justificaciones. Es decir, posibilita que la respuesta proporcionada por el sistema sea inteligible para el interesado. Tambin puede solicitar ms informacin si le es necesaria al sistema experto. En algunos sistemas se utilizan tcnicas de tratamiento del lenguaje natural para mejorar la comunicacin entre el usuario y el sistema experto. La mayora de los sistemas expertos contienen un mdulo de explicacin, diseado para aclarar al usuario la lnea de razonamiento seguida en el proceso de inferencia. Si el usuario pregunta al sistema cmo ha alcanzado una conclusin, ste le presentar la secuencia completa de reglas usada. Esta posibilidad de explicacin es

183

Automatizacin de procesos industriales


especialmente valiosa cuando se tiene la necesidad de tomar decisiones importantes amparndose en el consejo del sistema experto. Adems, de esta forma, y con el tiempo suficiente, los usuarios pueden convertirse en especialistas en la materia, al asimilar el proceso de razonamiento seguido por el sistema. El subsistema de explicacin tambin puede usarse para depurar el sistema experto durante su desarrollo. El mdulo de adquisicin del conocimiento permite que se puedan aadir, eliminar o modificar elementos de conocimiento (en la mayora de los casos reglas) en el sistema experto. Si el entorno es dinmico es muy necesario, puesto que, el sistema funcionar correctamente slo si se mantiene actualizado su conocimiento. El mdulo de adquisicin permite efectuar ese mantenimiento, anotando en la base de conocimientos los cambios que se producen.

184

Automatizacin de procesos industriales 7. Funcionamiento del motor de inferencia


Para ilustrar cmo trabajan los procedimientos de inferencia, se supondr un sistema que contiene las siguientes reglas en la base de conocimiento: R1: SI abrigo ENTONCES bingo R2: SI chaqueta ENTONCES dentista R3: SI bingo ENTONCES esposa -Enfoque guiado por datos (o encadenamiento hacia adelante): El problema es determinar si se da esposa sabiendo que se cumplen abrigo y chaqueta. Lo primero que se hace es introducir en la base de datos abrigo y chaqueta: B.D. = {abrigo, chaqueta} El sistema identifica las reglas aplicables: R = {R1, R2} Selecciona R1 y la aplica. Esto genera bingo que se aade a la base de datos: B.D. = {abrigo, chaqueta, bingo} Como no se ha solucionado el problema, vuelve a identificar un conjunto de reglas aplicables (excepto la ya aplicada, que no cambiara el estado de la base de datos): R = {R2, R3} Selecciona y aplica R2 quedando: B.D. = {abrigo, chaqueta, bingo, dentista} El problema todava no se ha solucionado, luego el sistema selecciona otro conjunto de reglas aplicables:

185

Automatizacin de procesos industriales


R = {R3} Seleccionando y aplicando R3, la base de datos queda: B.D. = {abrigo, chaqueta, bingo, dentista, esposa} Como esposa se encuentra en ella, se ha llegado a la solucin del problema. -Enfoque guiado por objetivos (o encadenamiento hacia atrs): Se quiere determinar si se cumple esposa teniendo en la base de datos abrigo y chaqueta: B.D. = {abrigo, chaqueta}. El conjunto de reglas aplicables en este caso ser: R = {R3} (R3 es la nica que tiene esposa en su parte derecha). Se selecciona R3 y se genera bingo. Como no se encuentra en la base de datos ( no es verdadero ni falso) se le considera como subobjetivo. El sistema intentar ahora probar bingo. Identifica las reglas aplicables: R = {R1}. Aplica R1 y se obtiene abrigo que es verdadero en la base de datos. De esta forma, se prueba el subobjetivo, y al probar ste, se prueba esposa resolviendo el problema

186

Automatizacin de procesos industriales

METODOLOGA

1. Introduccin:
Para un determinado problema se pueden construir diferentes algoritmos de resolucin o programas. La eleccin del ms adecuado se debe basar en una serie de requisitos de calidad que adquieren gran importancia a la hora de evaluar el coste de su diseo y mantenimiento.

Las caractersticas generales que debe reunir un programa son las siguientes:

Legibilidad: Ha de ser claro y sencillo, de tal forma que facilite su lectura y comprensin. Fiabilidad: Ha de ser robusto, es decir, capaz de recuperarse frente a errores o usos inadecuados. Portabilidad: Su diseo debe permitir la codificacin en diferentes lenguajes de programacin, as como su instalacin en diferentes sistemas. Modificabilidad: Ha de facilitar su mantenimiento, esto es, las modificaciones y actualizaciones necesarias para adaptarlo a una nueva situacin. Eficiencia: Se deben aprovechar al mximo los recursos de la computadora, minimizando la memoria utilizada y el tiempo de proceso y ejecucin, siempre que no sea a costa de los requisitos anteriores.

Por tanto, una metodologa, es un conjunto de mtodos y tcnicas disciplinadas que ayudan al desarrollo de unos programas que cumplan los requisitos anteriormente descritos.

187

Automatizacin de procesos industriales

2. Metodologa de desarrollo:
La metodologa de desarrollo empleada en este proyecto, se divide en las siguientes etapas:

Identificacin de necesidades

Es una etapa que no suele aparecer, como tal, en diferentes metodologas, sino que aparece como una actividad ms a realizar al comienzo del proyecto. Sirve como soporte a la peticin que el usuario o cliente nos realiza, para determinar las pautas generales de sus necesidades y del contexto del sistema.

El objetivo de esta fase, es exponer el entorno global del problema en estudio, especificando: el mbito del sistema, las restricciones, los antecedentes y los objetivos dentro de la poltica empresarial.

En esta etapa se utiliza bsicamente la tcnica de la entrevista, donde participan el usuario y el analista.

La informacin recogida durante esta etapa se especifica en un Documento de Conceptos de Sistema.

Anlisis de requerimientos

El objetivo de esta fase es alcanzar un conocimiento suficiente del sistema, definiendo las necesidades, problemas y requerimientos del usuario. Todo ello debe ser expresado mediante el modelo de procesos.

La palabra suficiente indica que dependiendo del sistema en estudio, profundizaremos ms o menos en el conocimiento del sistema actual.

188

Automatizacin de procesos industriales


Adems de los objetivos mencionados, existe otro, conseguir la aprobacin del usuario, en lo referente al nuevo sistema.

Estudio de viabilidad.

El objetivo de esta fase es definir las posibles soluciones que satisfagan tanto los requerimientos como las restricciones de diseo.

Cada alternativa deber dar una visin externa del sistema, los requerimientos fsicos que deben ser considerados, as como los aspectos organizativos, operativos, tcnicos y econmicos asociados. En estos factores nos fijaremos para elegir una de las opciones propuestas.

Por tanto, debemos especificar la tecnologa hardware, software y de comunicaciones de cada alternativa; evaluar cada alternativa en sus aspectos organizativos, operativos, tcnicos y econmicos; seleccionar una alternativa y obtener la aprobacin del usuario.

Diseo

En esta fase se completa la definicin de especificaciones del sistema a mecanizar, obtenindose el nuevo modelo de procesos.

Se introducen en el modelo los requerimientos del sistema, se disean las entradas y salidas del sistema, se especifican los procesos, se realiza una estimacin de volmenes y se confecciona la arquitectura del sistema, formando los programas y mdulos que constituirn el software del sistema.

Programacin

En esta etapa se desarrollan los mdulos y programas especificados en la etapa anterior.

189

Automatizacin de procesos industriales


Por tanto, se deben codificar los programas en los lenguajes establecidos, desarrollar los procedimientos catalogados o ficheros de control de programas y verificar que los productos hardware y software necesarios para el nuevo sistema estn disponibles.

Tambin se realizan las guas de explotacin y de uso.

Pruebas

Una vez desarrollados y probados cada uno de los programas que forman el software del sistema, deben realizarse una serie de pruebas para conseguir integrar todo el sistema.

Para ello, se hacen pruebas de integracin de mdulos, programas, cadenas y transacciones; se realizan las pruebas de impacto en el centro de explotacin y se establece la aprobacin de las pruebas del sistema con el usuario.

Implantacin.

Una vez probada la integridad del software del sistema, llega el momento en que se debe transferir el software producido en el Centro de Desarrollo al Centro de Produccin, para realizar la explotacin del sistema.

El objetivo final de esta fase es obtener la aprobacin final del usuario.

Mantenimiento

El mantenimiento, al igual que en otras metodologas, no se considera parte integrante del ciclo de desarrollo de esta aplicacin.

190

Automatizacin de procesos industriales

3. Anlisis y diseo
El anlisis y diseo de este programa, se realiza mediante casos de uso y OIDs (Object Interaction Diagrams).

4. Casos de uso:
Manipular dispositivo Activar estado automtico del sistema Activar estado manual del sistema Aadir sensor-Eliminar sensor Modificar sensor Aadir dispositivo Eliminar dispositivo Modificar dispositivo Crear programa Eliminar programa Modificar programa Activar un programa Visualizar Log del sistema Visualizar Log de dispositivo

191

Automatizacin de procesos industriales

4.1 Manipular dispositivo


Actor primario: Usuario. Actor secundario: Trigger: Precondiciones: -

Escenario Primario:

1. El usuario introduce la orden en el dispositivo que desea manipular 2. El sistema muestra el resultado de la operacin (RN001) 3. El sistema almacena las nuevas operaciones realizadas

Extensiones:

1a. El sistema est en modo automtico. 1. El sistema indica al usuario la imposibilidad de actuar de forma manual sobre los dispositivos estando el sistema en modo automtico. 2. Salir del caso de uso.

Descripcin de los datos:

Resultado de la operacin:

En la seccin correspondiente a el estado de la instalacin industrial se muestra una etiqueta con el valor numrico de la operacin realizada y se desplaza el indicador del slider hasta la posicin correspondiente al valor de la operacin.

192

Automatizacin de procesos industriales

4.2 Activar estado automtico del sistema


Actor primario: Usuario. Actor secundario: Trigger: Precondiciones: -

Escenario Primario:

1. El usuario activa el estado automtico del sistema 2. El sistema valida la viabilidad del estado automtico con el programa seleccionado. 3. El sistema deshabilita el control manual de los dispositivos 4. El sistema habilita el programa cargado para la zona 5. El sistema muestra las acciones disparadas para los valores de la zona y las reglas del programa (RN002) 6. El sistema muestra el resultado de las operaciones (RN001)

Extensiones:

2a. El sistema no dispone de los sensores requeridos por el programa activado.

1. El sistema indica al usuario la imposibilidad de iniciar el estado automtico debido a la ausencia de sensores. 2. Salir del caso de uso.

2b. El sistema no dispone de los dispositivos requeridos por el programa activado

1. El sistema indica al usuario la imposibilidad de iniciar el estado automtico debido a la ausencia de dispositivos. 2. Salir del caso de uso.

193

Automatizacin de procesos industriales

4a. El sistema no dispone de programas cargados

1. El sistema comunica la necesidad de cargar como mnimo un programa en la zona a ejecutarse 2. Fin del caso de uso

5a. Las acciones disparadas por el programador son iguales a las ltimas rdenes emitidas

1. Fin del caso de uso

Descripcin de los datos:

Resultado de la operacin:

En la seccin correspondiente al estado de la instalacin industrial se muestra una etiqueta con el valor numrico de la operacin realizada y se desplaza el indicador del slider hasta la posicin correspondiente al valor de la operacin.

194

Automatizacin de procesos industriales

4.3 Activar estado manual del sistema


Actor primario: Usuario. Actor secundario: Trigger: Precondiciones: -

Escenario primario:

1. El usuario activa el estado manual del sistema 2. El sistema habilita los controles manuales del sistema 3. El sistema deshabilita la programacin establecida para la zona 4. El sistema activa el estado manual del sistema 5. El sistema indica que est en estado manual

195

Automatizacin de procesos industriales

4.4 Aadir sensor


Actor primario: Usuario. Actor secundario: Trigger: Seleccin del usuario de configuracin de sensores Precondiciones: -

Escenario primario:

1. El usuario introduce los datos del sensor 2. El sistema valida el identificador del sensor 3. El sistema da de alta el sensor en la zona

Extensiones:

2.a Ya existe un sensor en la zona con el identificador introducido

1. El sistema comunica al usuario que ya hay un sensor en la zona con el identificador introducido 2. Volver a solicitar un identificador para el nuevo sensor

Descripcin de datos:

Datos del sensor:

Identificador del sensor Tipo de sensor(tipo1 o tipo2) Descripcin del sensor

196

Automatizacin de procesos industriales

4.5 Eliminar Sensor


Actor primario: Usuario. Actor secundario: Trigger: Seleccin del usuario de configuracin de sensores Precondiciones: -

Escenario primario:

1. El sistema muestra la informacin de los sensores disponibles en la zona ordenados por su identificador. 2. El usuario selecciona el sensor a eliminar. 3. El sistema elimina el sensor de la zona.

Extensiones:

3a. La zona est en estado automtico y el sensor a eliminar es tenido en cuenta por el programa cargado en zona

1. El sistema pide al usuario confirmacin de la eliminacin 2. El sistema cambia a estado manual 3. El sistema comunica al usuario el cambio de estado 4. Vuelve al paso tres del escenario primario

Descripcin de datos:

Informacin de los sensores.

Identificador del sensor Tipo de sensor(tipo1 o tipo2) Descripcin del sensor

197

Automatizacin de procesos industriales

4.6 Modificar sensor


Actor primario: Usuario. Actor secundario: Trigger: Seleccin por parte del usuario de configuracin de sensores Precondiciones: -

Escenario primario:

1. El sistema muestra la informacin de los sensores disponibles en la zona ordenados por su identificador. 2. El usuario selecciona el sensor a modificar. 3. El usuario introduce los nuevos datos del sensor. (RN004) 4. El sistema modifica el sensor de la zona.

Descripcin de datos:

Informacin de los sensores.

Identificador del sensor Tipo de sensor(tipo1 o tipo2) Descripcin del sensor

Nuevos datos del sensor:

Tipo de sensor(tipo1 o tipo2) Descripcin del sensor

198

Automatizacin de procesos industriales

4.7 Aadir dispositivo


Actor primario: Usuario. Actor secundario: Trigger: Seleccin por parte del usuario de configuracin de dispositivos Precondiciones: -

Escenario primario:

1. El usuario introduce los datos del dispositivo 2. El sistema valida el identificador del dispositivo 3. El sistema da de alta el dispositivo en la zona

Extensiones:

2.a Ya existe un dispositivo en la zona con el identificador introducido

1. El sistema comunica al usuario que ya hay un dispositivo en la zona con el identificador introducido 2. Volver a solicitar un identificador para el nuevo dispositivo

Descripcin de datos:

Datos del dispositivo:

Identificador del dispositivo Tipo de dispositivo (discreto o Go-NoGo) Descripcin del dispositivo

199

Automatizacin de procesos industriales

4.8 Eliminar dispositivo


Actor primario: Usuario. Actor secundario: Trigger: Seleccin por parte del usuario de configuracin de dispositivos Precondiciones: -

Escenario primario:

1. El sistema muestra la informacin de los dispositivos disponibles en la zona ordenados por su identificador. 2. El usuario selecciona el sensor a eliminar. 3. El sistema elimina el dispositivo de la zona.

Extensiones:

3a. La zona est en estado automtico y el dispositivo a eliminar es tenido en cuenta por el programa cargado en zona

1. El sistema solicita confirmacin al usuario 2. El sistema pasa a estado manual 3. El sistema comunica al usuario el cambio de estado 4. Vuelve al paso tres del escenario primario

Descripcin de datos:

Informacin de los dispositivos.

Identificador del dispositivo Tipo de dispositivo (discreto o Go-NoGo) Descripcin del dispositivo

200

Automatizacin de procesos industriales

4.9 Modificar dispositivo


Actor primario: Usuario. Actor secundario: Trigger: Seleccin por parte del usuario de configuracin de dispositivos Precondiciones: -

Escenario primario:

1. El sistema muestra la informacin de los dispositivos disponibles en la zona ordenados por su identificador. 2. El usuario selecciona el dispositivo a modificar. 3. El usuario introduce los nuevos datos del dispositivo. (RN003) 4. El sistema modifica el dispositivo de la zona.

Descripcin de datos:

Informacin de los dispositivos.

Identificador del dispositivo Tipo de dispositivo (discreto o Go-NoGo) Descripcin del dispositivo

Nuevos datos del dispositivo:

Tipo de sensor(discreto o Go-NoGo) Descripcin del dispositivo

201

Automatizacin de procesos industriales

4.10 Crear programa


Actor primario: Usuario. Actor secundario: Trigger: Seleccin por parte del usuario de gestin de PLA Precondiciones:

Escenario primario:

1. El usuario introduce los datos del programa 2. El usuario introduce las lneas del programa (RN003)

Extensiones

1a En zona ya hay un programa con el identificador del programa 1. El sistema comunica al usuario que el identificador introducido ya existe 2. Volver al paso uno del escenario primario

2a No se ha introducido ninguna Regla 1. El sistema comunica al usuario que no se introducido ninguna regla 2. Volver al paso dos del escenario primario

2b No se ha introducido ninguna Decisin 1. El sistema comunica al usuario que no se introducido ninguna decisin 2. Volver al paso dos del escenario primario

2b No se ha introducido un valor correcto para la accin 1. El sistema comunica al usuario que no se introducido un valor correcto para la accin indicada 2. Volver al paso dos escenario primario

202

Automatizacin de procesos industriales

Descripcin de datos:

Datos del programa

Identificador del programa Descripcin del programa

Lneas del programa

Regla o Sensor o Operador o Valor

Decisin o Dispositivo o Orden o Valor

203

Automatizacin de procesos industriales

4.11 Eliminar un programa


Actor primario: Usuario. Actor secundario: Trigger: Seleccin por parte del usuario de gestin de PLA Precondiciones:

Escenario primario:

1. El sistema muestra ordenado por identificador del programa los datos de los programas 2. El usuario selecciona y elimina un programa 3. El sistema suprime de la lista de programas el programa eliminado

Extensiones

3.a El programa est activo en la zona

1. El sistema comunica al usuario que el programa no puede ser eliminado al encontrarse activo en la zona 2. Salir del caso de uso

Descripcin de datos

Datos de los programas:

Identificador del programa Descripcin del programa

204

Automatizacin de procesos industriales

4.12 Modificar un programa


Actor primario: Usuario. Actor secundario: Trigger: Seleccin por parte del usuario de gestin de PLA Precondiciones:

Escenario primario:

1. El sistema muestra las lneas del programa que forman el programa seleccionado 2. El usuario selecciona la lnea de programa a modificar 3. El usuario introduce los datos del programa 4. El usuario introduce las lneas del programa (RN003)

Extensiones

3a No se ha introducido ninguna Regla 3. El sistema comunica al usuario que no se introducido ninguna regla 4. Volver al paso dos del escenario primario

3b No se ha introducido ninguna Decisin 3. El sistema comunica al usuario que no se introducido ninguna decisin 4. Volver al paso dos del escenario primario

3c No se ha introducido un valor correcto para la accin 3. El sistema comunica al usuario que no se introducido un valor correcto para la accin indicada 4. Volver al paso dos escenario primario

Descripcin de datos:

205

Automatizacin de procesos industriales

Datos del programa

Identificador del programa Descripcin del programa

Lneas del programa

Regla o Sensor o Operador o Valor

Decisin o Dispositivo o Orden o Valor

206

Automatizacin de procesos industriales

4.13 Activar un programa


Actor primario: Usuario. Actor secundario: Trigger: Seleccin por parte del usuario de activacin de programa Precondiciones:

Escenario primario:

1. El sistema muestra ordenado por identificador del programa los datos de los programas 2. El usuario selecciona el programa a activar en el sistema 3. El sistema establece el programa como programa de zona

Extensiones

3a La zona esta en estado automtico y ya est ejecutando el programa que el usuario desea activar

1. El sistema comunica al usuario que el programa ya est siendo ejecutado en la zona 2. Fin del caso de uso

3b La zona est en estado automtico y no dispone de los sensores necesarios para ejecutar el programa

1. El sistema comunica al usuario que el programa necesita de sensores no disponibles en la zona 2. Fin del caso de uso

207

Automatizacin de procesos industriales


3c La zona est en estado automtico y no dispone de los dispositivos necesarios para ejecutar el programa

1. El sistema comunica al usuario que el programa necesita de dispositivos no disponibles en la zona 2. Fin del caso de uso

Descripcin de datos:

Datos del programa

Identificador del programa Descripcin del programa

Programa de zona:

Aquel programa que ser activado cuando el sistema est en estado automtico.

208

Automatizacin de procesos industriales

4.14 Visualizacin del fichero de log de zona.


Actor primario: Usuario. Actor secundario: Trigger: Seleccin por parte del usuario de visualizacin del log de Zona Precondiciones: -

Escenario primario.

1. El sistema muestra el contenido del fichero configurado como log de la zona.

Extensiones:

1a El fichero no se encuentra 1. El sistema comunica al usuario que el fichero configurado como log de la zona no es encuentra disponible 2. Salir del caso de uso.

Descripcin de datos

Contenido del fichero de logZona:

Fecha inicio aplicacin Valor de los sensores de la zona Ordenes enviadas a los dispositivos

209

Automatizacin de procesos industriales

4.15 Visualizacin de los ficheros de log de los dispositivos


Actor primario: Usuario. Actor secundario: Trigger: Seleccin del usuario de visualizacin de logs para los dispositivos Precondiciones: -

Escenario primario

1. El sistema muestra la informacin de los dispositivos en zona ordenador por el identificador de los dispositivos 2. El usuario selecciona el dispositivo 3. El sistema muestra el contenido del fichero configurado como log de ese dispositivo

Extensiones

3a El fichero no se encuentra 1. El sistema comunica al usuario que el fichero configurado como log de el dispositivo no es encuentra disponible 2. Salir del caso de uso.

210

Automatizacin de procesos industriales

5. Reglas de negocio
(RN001)

El resultado de la operacin es confirmado cuando el interfaz CM11A, dispositivo puente entre el ordenador y los dispositivos X-10, confirma el envi de las ordenes.

(RN002)

Las reglas de un programa son evaluadas en acuerdo a su prioridad. Para que una regla se cumpla y se lleven a cabo todas sus acciones deben de cumplirse todas las acciones de la zona.

(RN003)

Toda lnea de un programa ha de componerse como mnimo por una condicin y una accin.

(RN004)

El identificador de un sensor solo se puede especificar al aadirlo a la zona, una vez aadido el identificador se considera un valor no modificable.

211

Automatizacin de procesos industriales

6. Secuencia de eventos:
Estado de la zona: Estado manual Estado automtico

Activar estado automtico Activar estado manual

212

Automatizacin de procesos industriales


Manipulacin de dispositivos Manipulacin manual de los dispositivos de la zona

Manipulacin manual de dispositivos

213

Automatizacin de procesos industriales


Gestin PLA: Eliminar Programa Modificar Programa Crear Programa o Definicin del programa o Definicin de sensores y dispositivos o Definicin de reglas

Nuevo Programa

Definicin Sensores/dispositivos

Eliminar programa Definicin de reglas Modificar Programa

214

Automatizacin de procesos industriales


Configuracin Configuracin dispositivos Configuracin sensores

Aadir dispositivo Eliminar dispositivo Modificar dispositivo

Aadir sensor Eliminar sensor Modificar sensor

215

Automatizacin de procesos industriales


Visualizacin de logs Log de dispositivo

Seleccin dispositivo

216

Automatizacin de procesos industriales

7. Diagramas de Clase
7.1 Diagrama de paquetes.

217

Automatizacin de procesos industriales

7.2 Diagrama de clases del paquete: proyecto

218

Automatizacin de procesos industriales

7.3 Diagrama de clases del paquete: Dispositivos

219

Automatizacin de procesos industriales

7.4 Diagrama de clases del paquete: Dispositivos.eventos

220

Automatizacin de procesos industriales

7.5 Diagrama de clases del paquete: Sensores

221

Automatizacin de procesos industriales

7.6 Diagrama de clases del paquete: Sensores.Eventos

222

Automatizacin de procesos industriales

7.7 Diagrama de clases del paquete: Programacin

223

Automatizacin de procesos industriales

7.8 Diagrama de clases del paquete: InterfazGrfico

224

Automatizacin de procesos industriales

7.9 Diagrama clases del paquete: InterfazGrfico.CreacinProgramas

225

Automatizacin de procesos industriales

7.10 Diagrama de clases del paquete: InterfazGrfico.Configuracin

226

Automatizacin de procesos industriales

7.11 Diagrama de clases del paquete: InterfazGrfico.Tabla

227

Automatizacin de procesos industriales

7.12 Diagrama de clases del paquete: XML

228

Automatizacin de procesos industriales

7.13 Diagrama de clases del paquete: Logs

229

Automatizacin de procesos industriales

7.14 Diagrama de clases del paquete: Util

230

Automatizacin de procesos industriales

8. Diagramas de secuencia.
Inicio del sistema: Inicio de los dispositivos Inicio de los sensores Inicio de los programas

Activar automatizacin: Activar el estado automtico Activar programa Cambio de estado de los sensores

Activar control manual: Activar estado manual Manipular dispositivo

Gestionar dispositivos: Mostrar configuracin de dispositivos Agregar un dispositivo Modificar un dispositivo Eliminar un dispositivo

Gestionar Sensores: Mostrar configuracin de sensores Agregar un sensor Modificar un sensor Eliminar un sensor

Gestionar Programas: Mostrar la tabla de programas Crear un programa Modificar un programa Eliminar un programa

231

Automatizacin de procesos industriales

8.1 Inicio del sistema: Inicio de los dispositivos

232

Automatizacin de procesos industriales

8.2 Inicio sistema: Inicio de los sensores

233

Automatizacin de procesos industriales

8.3 Inicio del sistema: Inicio de los programas

234

Automatizacin de procesos industriales

8.4 Activar automatizacin: Activar estado automtico.

235

Automatizacin de procesos industriales

8.5 Activar automatizacin: Activar programa.

236

Automatizacin de procesos industriales

8.6 Activar automatizacin: Cambio en el estado de un sensor.

237

Automatizacin de procesos industriales

8.7 Activar control manual: Activar estado manual.

238

Automatizacin de procesos industriales

8.8 Activar control manual: Manipular dispositivo.

239

Automatizacin de procesos industriales

8.9 Configurar dispositivos: Mostrar configuracin dispositivos.

240

Automatizacin de procesos industriales

8.10 Configurar dispositivos: Agregar un dispositivo.

241

Automatizacin de procesos industriales

8.11 Configurar dispositivos: Modificar un dispositivo.

242

Automatizacin de procesos industriales

8.12 Configurar dispositivos: Eliminar un dispositivo.

243

Automatizacin de procesos industriales

8.13 Configurar sensores: Mostrar configuracin sensor

244

Automatizacin de procesos industriales

8.14 Configurar sensores: Agregar un sensor

245

Automatizacin de procesos industriales

8.15 Configurar sensores: Modificar un sensor

246

Automatizacin de procesos industriales

8.16 Configurar sensores: Eliminar un sensor

247

Automatizacin de procesos industriales

8.17 Configurar programas: Mostrar tabla de programas

248

Automatizacin de procesos industriales

8.18 Configuracin de programas: Crear un programa

249

Automatizacin de procesos industriales

8.19 Configuracin de programas: Modificar un programa

250

Automatizacin de procesos industriales

8.20 Configuracin de programas: Eliminar un programa

251

Automatizacin de procesos industriales

DESCRIPCIN DEL PROTOPITO

1. Dispositivo Bidireccional X10 para PC Modelo CM11A

Descripcin:

El controlador CM11A est diseado para permitir el intercambio de informacin con un ordenador haciendo uso de un cable RS-232 RJ45.

Realiza la conversin de rdenes enviadas desde el ordenado y transmite stas sobre el cableado de la instalacin para el control de dispositivos electrnicos conectados a mdulos X-10.

Detalles:

Este controlador mantiene su funcionalidad sin necesidad de que el ordenador est encendido, incluso sin la necesidad de que el cable est conectado al ordenador. Una vez que el dispositivo ha sido programado, el ordenador deja de ser necesario.

Hace uso de dos bateras estndar modelo AAA, mediante estas bateras el dispositivo mantiene en funcionamiento su reloj interno, realiza la programacin de los eventos programados y control las macros definidas durante un tiempo de quinientas horas incluso si la electricidad de la instalacin deja de estar disponible. Esto permite desconectar el controlador CM11A de la toma de corriente y colocarlo en el lugar mas til.

252

Automatizacin de procesos industriales


El controlador viene previsto de un enchufe para una toma de corriente alterna en su parte delantera para la conexin elctrica del PC. Se incluye el cable de conexin entre el puerto serie del PC y la salida RJ-45 del dispositivo

Este controlador es full-duplex, permite la transmisin de comandos X10 as como la recepcin de estos, comunicndoselos, en caso de estar disponible, al PC para su correspondiente tratamiento.

253

Automatizacin de procesos industriales

2. Mdulo para dispositivos X10 Pro LM14A

Descripcin:

Este dispositivo es el encargado de interpretar los comandos X10 transmitidos por la red y tomar las acciones correspondientes a los eventos ordenados.

Esta versin permite la comunicacin en ambas direcciones, recibiendo ordenes X10 a travs de la red y transmitiendo estados a sta para su recepcin por el controlador CM11A y su posterior comunicacin al PC a travs del cable RS232- RJ45.

Tiene una funcin de arranque progresivo que aumenta la tensin desde cero por ciento hasta alcanzar la ltima tensin programada. Cuando una orden X10 es enviada, el dispositivo ira incrementando la potencia desde su valor de inicio. Las versiones anteriores de este dispositivo iniciaban la tensin automticamente a la mxima potencia programada con anterioridad. El intervalo de tiempo entre el apagado o el encendido completo es de dos segundos.

Para realizar estas funciones incorpora otra mejora y es el almacenamiento de el ltimo estado programado incluyendo su nivel de tensin.

254

Automatizacin de procesos industriales

3. Mdulo de Lmpara casquillo rosca LM15


Descripcin:

El

Mdulo

de

Lmpara

casquillo rosca- LM15 es un dispositivo del Sistema X-10, que se instala en el casquillo E-27 tradicional de las

lmparas, y en l se enrosca la bombilla.

Al recibir a travs de la red elctrica las ordenes destinadas a l, enciende o apaga la bombilla

incandescente que tenga conectada.

Detalles:

El Mdulo de Lmpara LM15 recibe las seales X10 inyectadas en la red elctrica a travs de los diferentes sistemas X-10 (Mando a distancia y Transceptor, Mini Programador, Modulo de control desde PC...) y enciende o apaga la bombilla incandescente que tenga conectada.

Mediante secuencias de pulsaciones es posible la asignacin de Cdigos de Casa y de Unidad del Sistema X-10. Por defecto responde en el cdigo A1.

No requiere ningn tipo de instalacin.

El Mdulo de Lmpara LM15 permite el encendido / apagado de bombillas de incandescencia hasta de 150 W ( 60 W. En caso de lmparas cerradas)

255

Automatizacin de procesos industriales


El Mdulo de Lmpara LM15 responde a los mensajes de control de la forma estndar X-10, esto es: Todas las Luces encendidas o Todas las Luces apagadas desde cualquier mando a distancia establecido en el House Code correspondiente, sin tener en cuenta el Unit code, o alternativamente controlando de forma individual cada unidad mediante On, Off.

Tensin de Alimentacin:

230 V 10% 50 Hz.

Carga permitida:

Hasta 150 W en pantallas abiertas y 60 W en pantallas cerradas (Lmparas incandescentes)

256

Automatizacin de procesos industriales

PRESUPUESTO

Fases del desarrollo


1. 2. 3. 4. 5. 6. 7. 8. Toma de especificaciones Anlisis y diseo Prototipado Construccin y desarrollo Validacin y pruebas Documentacin Instalacin y puesta en marcha Garanta a tres meses

Dimensionamiento del equipo


Personas 1 1 2 Perfiles
Director de proyecto Analista programador Programadores

257

Automatizacin de procesos industriales

Plan de proyecto

Toma especificaciones Anlisis y diseo Prototipado Codificacin Validacin y pruebas Documetancin Instalacin y puesta en marcha
Sem Sem Sem Sem Sem Sem Sem Sem Sem Sem Sem Sem

258

Automatizacin de procesos industriales

Estudio econmico
Contingencias 3% 20%

Beneficio antes de impuestos Equipo humano

Per. Director de proyecto Analista Programador Programador TOTALES Occupancy Persona TOTAL Transporte Per. Director del proyecto 1 Analista Programador 1 Programador 2 TOTAL Coste periodo garanta Per. Programador 1 TOTAL Resumen
Equipo humano Occupancy Transportes Garanta TOTAL

/h coste 45,00 40,00 30,00

/h Precio
90,00 80,00 70,00

Total h 480 480 800

Coste 21.600,00 19.200,00 24.000,00 64.800,00

Precio 43.200,00 38.400,00 56.000,00 137.600,00

Contingenci as
44.496,00 39.552,00 67.200,00 151.248,00

1 1 2

Per. 4

/mes 1.000,00

Meses 3

Coste 12.000,00 12.000,00

Precio 14.400,00 14.400,00

Contingencias
14.832,00 14.832,00

/da 9,00 9,00 9,00

Das 60 60 100

Coste 540,00 540,00 900,00 1.980,00

Precio
648,00 648,00 1.080,00 2.376,00

Contingencia
667,44 667,44 1.112,40 2.447,28

/mes 4.800,00

Meses 3

Coste 14.400,00 14.400,00

Precio
17.280,00 17.280,00

Contingencias
17.798,40 17.798,40

151.248,00 14.832,00 2.447,28 17.798,40

186.325,68
+ IVA

259

Automatizacin de procesos industriales

CONCLUSIN
En un contexto industrial se puede definir la automatizacin como una tecnologa que est relacionada con el empleo de sistemas mecnicos-elctricos basados en computadoras para la operacin y control de la produccin.

La historia de la automatizacin industrial est caracterizada por perodos de constantes innovaciones tecnolgicas. Esto se debe a que las tcnicas de automatizacin estn muy ligadas a los sucesos econmicos mundiales.

Aunque el crecimiento del mercado de la automatizacin industrial ha sido lento en comparacin con los primeros aos de la dcada de los 80s, de acuerdo a algunas predicciones, este tipo de sistemas estn en su infancia y por lo tanto les queda mucho recorrido todava por delante.

En la actualidad el uso de automatismos industriales est concentrado en operaciones muy simples, como tareas repetitivas que no requieren tanta precisin. Las tareas relativamente simples como recogida de datos mediante sensores o activacin de dispositivos, son econmicamente viables para ser automatizadas. Los anlisis de mercado en cuanto a fabricacin predicen que en sta dcada y en las posteriores los sistemas de automatizacin industrial incrementaran su campo de aplicacin.

La introduccin de sistemas de automatizacin en pequeas y medianas empresas har posible a stas el aprovecharse de las ventajas proporcionadas por estos sistemas. Con el uso de automatismos se consigue mejorar la productividad de la empresa, las condiciones de trabajo y todo lo relacionado con los produccin, es decir, se reducen los costes de produccin, se aumenta la calidad y se mejoran las condiciones de trabajo personal suprimiendo trabajos innecesarios y aumentando la seguridad.

Se hace por lo tanto necesario sistemas capaces de integrar la gestin de las instalaciones con estos sistemas de automatizacin para poder dar acceso a todo tipo de empresas a estas ventajas. Dado la relativa juventud de automatizacin industrial, lo que

260

Automatizacin de procesos industriales


hace que tenga un elevado precio, su uso est restringido sobre todo para las grandes industrias.

Este proyecto hace visible la viabilidad de la implantacin de sistemas de control y automatizacin en todo tipo de instalaciones industriales como pueden ser granjas o invernaderos, poniendo nfasis en la replicacin, con el fin de abaratar sus costes.

La solucin demostrada consiste en un sistema abierto, para el control centralizado de dispositivos electromecnicos. Con capacidad para el control,

monitorizacin y actuacin remota haciendo uso de una red TCP/IP como es Internet, sin restricciones en cuanto al nmero de dispositivos o funcionalidades que estos aporten independientemente del proveedor de los dispositivos.

En resumen la automatizacin en la recogida de datos y en la ejecucin de procesos es una tecnologa que aporta innumerables ventajas a la empresa y que aunque en un principio estuviese restringido a las grandes industrias, en la actualidad se puede disponer de sistemas sencillos y baratos que posibilitan el acceso, no solo a las grandes industrias, si no tambin a todo tipo de empresas.

261

Automatizacin de procesos industriales

BIBLIOGRAFA
Libros:

[FLA02]

David Flanagan Java In A Nutshell Fourth Edition, OREILLY 2002

[SCH02]

Schildt, Herbert Java(tm)2: A Beginner's Guide, McGraw-Hill 2002

[BRU01]

Bruce Eckel Thinking in Java Second Edition 2001

[CRU04]

James L. Weaver / Kevin Mukhar / James P. Crume Beginning J2EE 1.4: From Novice to Professional, Apress 2004

[STE02]

Stephanie Bodoff, Dale Green, Kim Haase, Eric Jendrock, Monica Pawlan, Beth Stearns The J2EE Tutorial, Sun Microsystems 2002

[PER03]

Perrone, Paul J2EE Developer's Handbook, Sams publishing 2003

[CAM84]

Joe Campbell The RS-232 solution, SYBEX 1984

[SELL88]

Martin D. Sller Complete Guide to Rs-232 and Parallel Connections, SYBEX 1988

[BUC03]

Robert N. Bucceri Latest Technology in Automated Home Control, Silent Servant 2003

[TEC05]

Technica Pacifica Easy X10 Projects, Indy-Tech Publishing, March 2005

[SAU02]

Thilo Sauter, Dietmar Dietrich, Wolfgang Kastner EIB : Installation Bus System, WILEY 2002

[LOY01]

Dietmar Loy, Dietmar Dietrich, Hans-Joerg Schweinz Open Control Networks: Lonworks/Eia 709 Technology, Kluwer 2001

[BER03]

Hans Bergsten JavaServer Pages, 3rd Edition, OREILLY 2003

262

Automatizacin de procesos industriales

[PER04]

Bruce W. Perry Java Servlet & JSP Cookbook, OREILLY 2004

[CAV04]

Chuck Cavaness Programming Jakarta Struts, 2nd Edition, OREILLY 2004

[GAR01]

Giarratano, Joseph y Riley, Gary Sistemas Expertos. Principios y programacin, Thomson Editores 2001

Direcciones de Internet
JDK 1.4.2_06 (http://java.sun.com/) Eclipse R3.0.1 (http://www.eclipse.org/) Web Tools Project 1.0 (http://www.eclipse.org/webtools/index.html ) EclipseUML Studio 1.1.0 (http://www.omondo.com/ ). Apache 2.0.52 (http://httpd.apache.org/ ). Tomcat 4.1.31 (http://jakarta.apache.org/tomcat/index.html ). MySQL 4.1.21 (http://www.mysql.com/ ). FireFox 1.0 (http://www.mozilla.org/ ). Struts (http://struts.apache.org/)

263

Automatizacin de procesos industriales

APENDICES

264

Automatizacin de procesos industriales

MANUAL DE USUARIO

1. Pantalla principal de la aplicacin:

Esta es la pantalla principal de la aplicacin, desde ella podemos acceder a todas las funcionalidades disponibles.

Podemos distinguir cuatro zonas:

1. Seccin manual: Esta es la seccin dedicada al control manual de los dispositivos. Cuando el sistema se encuentra en estado manual, el usuario podr manipular los dispositivos presentes en la instalacin y visibles en est zona

A-1

Automatizacin de procesos industriales


2. Seccin automtica: Esta es la seccin en donde se muestra el programa activo en la instalacin y las reglas disparadas dependiendo del estado de sta. Para que un programa est activo la instalacin ha de estar en estado automtico.

3. Seccin grfica. Esta seccin es donde se visualiza el estado de la instalacin de una forma grfica.

4. Seccin estado de la instalacin: Esta seccin esta dedicada a visualizar el estado de la instalacin de una forma detallada. Se pude ver el estado de los sensores y de los dispositivos configurados para la zona y el estado en el que se encuentran.

A-2

Automatizacin de procesos industriales

2. Estado manual de la instalacin

1 2 5

Con la activacin del estado manual (1) los controles de los dispositivos se habilitarn, una vez habilitados el usuario puede manipular manualmente los dispositivos disponibles en la instalacin.

Las acciones realizadas se reflejaran en el grfico (2), en la base de los controles (3) y en la zona inferior derecha (6), zona dedicada a mostrar detalladamente el estado de la instalacin.

A la misma vez que se habilitan los controles manuales se deshabilita el control automtico de la instalacin dejando de estar operativos los sensores y la programacin configurada. (4)

Los dispositivos disponibles sern aquellos que estn previamente configurados y que aparecen en la zona superior izquierda (5), zona dedicada al control manual de dispositivos. A-3

Automatizacin de procesos industriales

3. Activar estado automtico de la instalacin

4 5

6 2 3

Con la activacin del estado automtico (1) de la instalacin se activa el control automtico y se deshabilita el control manual (4).

Las reglas disparadas por el programa se marcan coloreando la lnea correspondiente a la regla disparada (2).

Las acciones tomadas sobre los dispositivos se reflejan en:

1. La seccin manual (4) en el dispositivo correspondiente a la accin reflejando el valor de la accin tanto grficamente en su correspondiente grfico de dispositivo como en un indicador situado en su parte inferior(6). 2. En la seccin de estados (3) en el mismo formato que en la seccin manual 3. En la seccin grfica (5) mostrando grficamente el estado completo de la zona de una forma visual.

A-4

Automatizacin de procesos industriales

4. Automatizacin de la instalacin.

La automatizacin de la instalacin responde a un conjunto de reglas y acciones programadas. Este conjunto de reglas y acciones se denomina programa.

En una zona el usuario es el que indica que programa es el que la aplicacin ha de tener en cuanta cuando se active el estado automtico de la instalacin.

Cada regla est formada por un conjunto de condiciones sobre el estado de los sensores, las condiciones responden a tres tipos de operadores lgicos:

Menor Igual Mayor

Las acciones se asocian a una regla y son ejecutadas cuando las condiciones que componen las reglas se cumplen. Hay tres tipos de acciones:

On: Activacin del dispositivos a una tensin del 100% Off: Desactivacin del dispositivo Dim X: Activacin del dispositivo a una tensin del X%.

Las reglas estn ordenadas por prioridad, ejecutndose segn los siguientes criterios.

1. Si se dan varias reglas cuyas condiciones se cumplan para un mismo evento se ejecuta en primer lugar aquella de mayor prioridad.

A-5

Automatizacin de procesos industriales


2. Que el dispositivo o dispositivos afectados por sus acciones no hayan sido foco de otras reglas con origen en el mismo evento.

La aplicacin dispone de un generador de programas mediante el cual los usuarios pueden configurar sus propias reglas y acciones para generar sus propios programas.

A-6

Automatizacin de procesos industriales

5. Configuracin de programas.

Mediante la barra de mens situada en la parte superior de la pantalla se puede acceder a las distintas opciones de configuracin de la instalacin, en este caso PLA que es la que nos concierne.

Esta seccin est dedicada a todo lo que se refiere a la configuracin de la programacin por parte del usuario y es accedida seleccionando Gestin PLA o Nuevo programa.

Una vez seleccionada la opcin se nos muestran las distintas posibilidades.

1 2 1. Seleccin de programas. 2. Creacin de programas. 3. Edicin de programas. 4. Eliminacin de programas. 5. Lista de programas ya cargados en la 3

zona

A-7

Automatizacin de procesos industriales

6. Creacin de programas.

Pulsando sobre el botn Crear Programa comenzaremos el proceso de creacin:

1. Indicar nmero de sensores y dispositivos que emplea la zona 2. Seleccin de tipo e identificador de los dispositivos del programa 3. Creacin de lneas del programa

1. Indicar nmero de sensores y dispositivos que emplea la zona

Esta es la primera pantalla del proceso de creacin de programas, en ella hemos de especificar la descripcin y el identificador que deseemos darle al programa.

Igualmente hay que indicar tanto el nmero de sensores como el nmero de dispositivos que van a ser utilizados en algn momento del programa.

A-8

Automatizacin de procesos industriales

Estos nmeros no han de corresponderse con el estado de dispositivos de la zona dado que en caso de ausencia de sensores o dispositivo en la zona, sta lo detectar e impedir el establecimiento del estado automtico permitiendo nicamente el estado manual de control de dispositivos.

Por defecto vienen establecidos un sensor y un dispositivo, sta es la cantidad mnima de sensores y dispositivos para que un programa tenga sentido.

A-9

Automatizacin de procesos industriales


2. Seleccin de tipo e identificador de los dispositivos del programa

Una vez que se ha establecido el nmero de sensores y dispositivos se ha de indicar:

Identificadores asociados a los sensores Identificadores asociados a los dispositivos Descripcin del sensor Descripcin del dispositivo Tipo de dispositivo

Cuando se active un programa est comprobar los identificadores tanto de los sensores como de los dispositivos instalados y configurados en la zona y los har corresponder con los dispositivos y sensores del programa utilizando como correspondencia que tengan el mismo identificador. Como ya se ha indicado en el punto anterior en caso de que la zona no disponga de los medios utilizados en el programa, ste no podr activarse.

A-10

Automatizacin de procesos industriales


El tipo de dispositivo:

Discreto: el usuario podr manipular el dispositivo eligiendo la tensin que llega al dispositivo. Los valores tomados oscilarn entre el cero por ciento y el cien por ciento.

ON OFF: El usuario nicamente puede encender o apagar el dispositivo, apagarlo se corresponde con pasarle el cero por ciento de tensin mientras que encenderlo se corresponde con el cien por ciento de la tensin.

A-11

Automatizacin de procesos industriales


3. Creacin de lneas del programa.

1 4 2 1. Valores de la lnea a. identificador de la lnea b. prioridad de la lnea dentro del programa 2. Regla a. Operacin aritmtica b. Valor del sensor 3. Accin a. Operacin a realizar b. Valor 4. Aadir la regla al programa 3

Como se ve cada est formada por un conjunto de condiciones sobre el estado de los sensores identificados para este programa en los pasos anteriores, las condiciones responden a tres tipos de operadores lgicos: Menor Igual Mayor

Las acciones se asocian a una regla y son ejecutadas cuando las condiciones que componen las reglas se cumplen. Hay tres tipos de acciones: On: Activacin del dispositivos a una tensin del 100% Off: Desactivacin del dispositivo Dim X: Activacin del dispositivo a una tensin del X%.

A-12

Automatizacin de procesos industriales


2.1 Configuracin de las lneas de programa.

1 2

3 4 5 Una vez aadida la lnea de programa sta aparecer dentro del conjunto de lneas que forman el programa (1). Las lneas estn ordenadas por prioridad ya que es por este orden por el que se ejecutarn.

Una lnea puede ser modificada, si seleccionamos la lnea por su identificador y le damos al botn de modificar (2). Acto seguido aparecern los campos de configuracin de la lnea rellenados con los valores de la lnea que se ha seleccionado. Todos los valores son modificables menos el identificador de lnea.

Una vez modificado el valor deseado se volver a pulsar al botn aadir (4) y la lnea quedar modificada.

Tambin se pueden eliminar las lneas que conforman un programa, primero se seleccionarla la lnea a borra y despus se pulsar el botn de eliminar (3). Acto seguido la lnea quedar eliminada del programa y no se mostrar en el conjunto de lneas (1).

Cuando el programa ya est totalmente construido se presionar el botn Aceptar (5) para concluir la operacin de creacin del programa.

A-13

Automatizacin de procesos industriales

7. Edicin de programas

Pulsando sobre el botn Modificar comenzaremos el proceso de modificacin del programa seleccionado.

Ventana de modificacin:

En esta ventana se muestran las lneas que componen el programa, para modificarlo hemos de seleccionar la lnea por su identificador y le dar al botn de modificar (2).

Acto seguido aparecern los campos de configuracin de la lnea rellenados con los valores de la lnea que se ha seleccionado. Todos los valores son modificables menos el identificador de lnea.

A-14

Automatizacin de procesos industriales


Una vez modificado el valor deseado se volver a pulsar al botn aadir (4) y la lnea quedar modificada.

Tambin se pueden eliminar las lneas que conforman un programa, primero se seleccionarla la lnea a borra y despus se pulsar el botn de eliminar (3). Acto seguido la lnea quedar eliminada del programa y no se mostrar en el conjunto de lneas (1).

Cuando el programa ya est totalmente modificado se presionar el botn Aceptar (5) para concluir la operacin de modificacin del programa. En caso de que el programa est activo en la zona el sistema le comunicar la situacin al usuario, en caso de seguir con la operacin las modificaciones tendrn efecto inmediato sobre la zona.

A-15

Automatizacin de procesos industriales

8. Eliminacin de programas

Se selecciona el programa a eliminar y se pulsa el botn Eliminar.

El programa quedar eliminado de la lista de programas disponibles para la zona y desaparecer de la lista mostrada.

En caso de que el programa est activo en la zona no podr ser eliminado. Si este es el caso el sistema comunica al usuario que el programa est activo en la zona y que no puede ser eliminado.

Las acciones a tomar son:

1. Paso a control manual de los dispositivos de la instalacin. 2. Configuracin del PLA. 3. Eliminacin del programa.

A-16

Automatizacin de procesos industriales

9. Activacin de programa.

Mediante la activacin de un programa configuramos que programa es el que queremos que se ocupe de la automatizacin de la zona.

Una vez seleccionada la opcin de activar programa se nos muestra la lista de programas disponibles. En esta lista de puede ver el identificador de programa y su descripcin.

Seleccionamos el programa que deseamos activar en la instalacin y pulsamos el botn Seleccionar

Con la opcin de activar programa nicamente estamos configurando que programa ha de hacerse cargo de la automatizacin de la zona.

A-17

Automatizacin de procesos industriales


Si queremos pasar al estado automtico hemos de pulsar el botn de automtico de la pantalla principal.

A-18

Automatizacin de procesos industriales

10. Manipulacin de dispositivos.

1 2 5

Si el estado manual (1) est activado, los controles de los dispositivos estarn habilitados y podrn ser manipulados por el usuario.

Hay dos tipos de dispositivos a manipular:

Discreto: el usuario podr manipular el dispositivo eligiendo la tensin que llega al dispositivo. Los valores tomados oscilarn entre el cero por ciento y el cien por ciento.

ON OFF: El usuario nicamente puede encender o apagar el dispositivo, apagarlo se corresponde con pasarle el cero por ciento de tensin mientras que encenderlo se corresponde con el cien por ciento de la tensin.

A-19

Automatizacin de procesos industriales


Las acciones realizadas se reflejaran en el grfico (2), en la base de los controles (3) y en la zona inferior derecha (6), zona dedicada a mostrar detalladamente el estado de la instalacin. Los dispositivos disponibles sern aquellos que estn previamente configurados y que aparecen en la zona superior izquierda (5), zona dedicada al control manual de dispositivos.

A-20

Automatizacin de procesos industriales

11. Manipulacin de sensores

4 5

7 2 6

Los sensores se corresponden a simulacin de dispositivos sensores.

Si la instalacin se encuentra en estado automtico (1) podremos hacer uso de los sensores(3) variando su valor y observando como el programa activado lleva a cabo las acciones programadas.

Las reglas disparadas por el programa se marcan coloreando la lnea correspondiente a la regla disparada (2).

Las acciones tomadas sobre los dispositivos se reflejan en: 1. La seccin manual (4) en el dispositivo correspondiente a la accin reflejando el valor de la accin tanto grficamente en su correspondiente grfico de dispositivo como en un indicador situado en su parte inferior(7). 2. En la seccin de estados (6) en el mismo formato que en la seccin manual

A-21

Automatizacin de procesos industriales


3. En la seccin grfica (5) mostrando grficamente el estado completo de la zona de una forma visual.

A-22

Automatizacin de procesos industriales

12. Configuracin de dispositivos

Con la configuracin de dispositivos podremos gestionar los dispositivos existentes en la instalacin.

La ventana nos muestra una lista de los dispositivos actuales de la instalacin ordenados por su identificador. Tambin se muestra el tipo de dispositivo y la descripcin que se le haya dado a este.

A-23

Automatizacin de procesos industriales

Hay dos tipos de dispositivos:

Discreto: el usuario podr manipular el dispositivo eligiendo la tensin que llega al dispositivo. Los valores tomados oscilarn entre el cero por ciento y el cien por ciento.

ON OFF: El usuario nicamente puede encender o apagar el dispositivo, apagarlo se corresponde con pasarle el cero por ciento de tensin mientras que encenderlo se corresponde con el cien por ciento de la tensin.

Podemos realizar tres tipos de operaciones:

1. Aadir 2. Modificar 3. Eliminar

A-24

Automatizacin de procesos industriales


1. Aadir un dispositivo

Para aadir un nuevo dispositivo hemos de rellenar los campos solicitados:

Identificador Tipo Descripcin

El identificador ha de ser nico, en caso de que ya exista un dispositivo con el identificador propuesto el sistema comunicara el fallo y la imposibilidad de aadir el nuevo dispositivo.

El identificador tambin se usa como medio de correspondencia con los identificadores indicados en los programas.

2. Modificar un dispositivo

Primero hemos de seleccionar el dispositivo a modificar, una vez lo tengamos seleccionado pulsamos el botn Modificar y automticamente se rellenarn los campos.

El nico campo no modificable es el campo del identificador.

Cuando se hayan modificado todos los campos se pulsar al botn Aadir y el dispositivo quedar modificado.

3. Eliminar un dispositivo

Para eliminar un dispositivo hemos de seleccionarlo y pulsar al botn Eliminar

Automticamente quedar eliminado de los dispositivos disponibles en la zona.

A-25

Automatizacin de procesos industriales


Tanto para modificar como para eliminar, los dispositivos no han de estar siendo usados por el programa activo en la zona, en dicho caso el sistema comunicar al usuario la imposibilidad de llevar a cabo la operacin solicitada.

A-26

Automatizacin de procesos industriales

13. Configuracin de sensores

Con la configuracin de sensores podremos gestionar los sensores existentes en la instalacin.

La ventana nos muestra una lista de los sensores actuales de la instalacin ordenados por su identificador. Tambin se muestra el tipo de sensores y la descripcin que se le haya dado a este.

Hay dos tipos de sensores:

Tipo1: se podrn simular distintas cantidades discretas entre cero y cien Tipo2: El usuario nicamente podr seleccionar entre dos estados, apagado y encendido.

A-27

Automatizacin de procesos industriales

Podemos realizar tres tipos de operaciones:

1. Aadir 2. Modificar 3. Eliminar

1. Aadir un sensor

Para aadir un nuevo sensor hemos de rellenar los campos solicitados:

Identificador Tipo Descripcin

El identificador ha de ser nico, en caso de que ya exista un sensor con el identificador propuesto el sistema comunicara el fallo y la imposibilidad de aadir el nuevo dispositivo.

El identificador tambin se usa como medio de correspondencia con los identificadores indicados en los programas.

2. Modificar un sensor

Primero hemos de seleccionar el sensor a modificar, una vez lo tengamos seleccionado pulsamos el botn Modificar y automticamente se rellenarn los campos.

El nico campo no modificable es el campo del identificador.

Cuando se hayan modificado todos los campos se pulsar al botn Aadir y el sensor quedar modificado.

A-28

Automatizacin de procesos industriales


3. Eliminar un sensor

Para eliminar un sensor hemos de seleccionarlo y pulsar al botn Eliminar

Automticamente quedar eliminado de los sensor disponibles en la zona.

Tanto para modificar como para eliminar, los sensores no han de estar siendo usados por el programa activo en la zona, en dicho caso el sistema comunicar al usuario la imposibilidad de llevar a cabo la operacin solicitada.

A-29

También podría gustarte