Anda di halaman 1dari 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.

i
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

v
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.

1
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

2
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.

3
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

4
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

5
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

6
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

7
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.

8
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.

9
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-a-
punto, 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 sub-
sistema 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 Java Smalltalk C++

Sencillez S S No

Robustez S S No

Seguridad S Algo No

Interpretado S S No

Dinamicidad S S No

Portabilidad S Algo No

Neutralidad S Algo No

Threads S No No

Garbage Collection S S No

Excepciones S S Algunas

Representacin Alta Media 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 usuario-
contrasea 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-sin-
contenido/> 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, US-
ASCII (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 ISO-
8859-7. En general, y para uso con lenguajes europeos (incluyendo el
juego de caracteres especiales del castellano, usamos UTF-7 o ISO-
8859-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 mensaje fecha NOTATION (ISO-DATE | EUROPEAN-DATE)


#REQUIRED>

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 o Externas
Analizadas 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 sub-


elementos 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 un objeto string que
representa el valor de un atributo.

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. Toma de especificaciones
2. Anlisis y diseo
3. Prototipado
4. Construccin y desarrollo
5. Validacin y pruebas
6. Documentacin
7. Instalacin y puesta en marcha
8. Garanta a tres meses

Dimensionamiento del equipo

Personas Perfiles
1 Director de proyecto
1 Analista programador
2 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%
Beneficio antes de
20%
impuestos

Equipo humano
Per. /h coste /h Precio Total h Coste Contingenci
Precio
as
Director de proyecto 1 45,00 90,00 480 21.600,00 43.200,00 44.496,00
Analista Programador 1 40,00 80,00 480 19.200,00 38.400,00 39.552,00
Programador 2 30,00 70,00 800 24.000,00 56.000,00 67.200,00
TOTALES 64.800,00 137.600,00 151.248,00

Occupancy
Per. /mes Meses Coste Precio Contingencias
Persona 4 1.000,00 3 12.000,00 14.400,00 14.832,00
TOTAL 12.000,00 14.400,00 14.832,00

Transporte
Per. /da Das Coste Precio Contingencia
Director del proyecto 1 9,00 60 540,00 648,00 667,44
Analista Programador 1 9,00 60 540,00 648,00 667,44
Programador 2 9,00 100 900,00 1.080,00 1.112,40
TOTAL 1.980,00 2.376,00 2.447,28

Coste periodo garanta


Per. /mes Meses Coste Precio Contingencias
Programador 1 4.800,00 3 14.400,00 17.280,00 17.798,40
TOTAL 14.400,00 17.280,00 17.798,40

Resumen
Equipo humano 151.248,00
Occupancy 14.832,00
Transportes 2.447,28
Garanta 17.798,40
186.325,68
TOTAL + 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

4 6

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

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
4
2 3
1. Seleccin de programas.
2. Creacin de programas.
3. Edicin de programas.
4. Eliminacin de programas.
5. Lista de programas ya cargados en la 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

3
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

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 3

4
2
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.

4 6

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

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