AUTOMATIZACIÓN DE PROCESOS
INDUSTRIALES.
AUTOMATIZACIÓN DE PROCESOS
INDUSTRIALES.
Resumen
El software desarrollado para este propósito recibirá los datos de los dispositivos
electrónicos localizados en la instalación industrial, estos datos harán referencia a los
distintos parámetros que determinan el estado de la instalación. Con éstos datos tanto el
sistema, en modo automático; como el usuario, en modo manual; dispondrán de una
información en tiempo real que les permitirá la toma de decisiones adecuadas y
eficaces. Una vez tomada la decisión se pondrán en marcha, mediante los controles
disponibles en la instalación, los mecanismos necesarios, para corregir o modificar las
condiciones requeridas en cada momento con el fin de optimizar su funcionamiento.
i
Automatización de procesos industriales
Para cumplir con estos servicios, el sistema tendrá las siguientes funcionalidades:
ii
Automatización 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 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
Automatización 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
Automatización de procesos industriales
ÍNDICE
Justificación académica........................................................................................................................1
LA AUTOMATIZACIÓN ..................................................................................... 2
1. Introducción......................................................................................................................................2
2. Antecedentes .....................................................................................................................................4
3. Automatización.................................................................................................................................9
1. Introducción.................................................................................................................................... 16
1.1 Automatización y evolución histórica .........................................................................................16
1.2 Servicios y aplicaciones de una instalación automática................................................................18
5. Red Batibus.....................................................................................................................................63
v
Automatización de procesos industriales
1. Conceptos básico.............................................................................................................................66
1.1 Red de control............................................................................................................................66
1.2 La Plataforma LonWorks ...........................................................................................................68
1.3 Utilización de redes LonWorks...................................................................................................70
1.4 Alcance del estándar................................................................................................................... 72
1.5 Neuronas y su utilización............................................................................................................73
1.6 Protocolo LonWorks ..................................................................................................................74
1. Introducción.................................................................................................................................... 77
2. Ventajas de x10...............................................................................................................................78
vi
Automatización de procesos industriales
1. Introducción.................................................................................................................................. 171
vii
Automatización de procesos industriales
4. Automatización de la instalación......................................................................................................5
5. Configuración de programas............................................................................................................7
viii
Automatización de procesos industriales
6. Creación de programas.....................................................................................................................8
7. Edición de programas.....................................................................................................................14
8. Eliminación de programas..............................................................................................................16
9. Activación de programa..................................................................................................................17
ix
Automatización de procesos industriales
Justificación académica
Justificación económica
1
Automatización de procesos industriales
LA AUTOMATIZACIÓN
1. Introducción
Por siglos el ser humano ha construido máquinas que imiten las partes del
cuerpo humano. Los antiguos egipcios unieron brazos mecánicos a las estatuas de sus
dioses. Estos brazos fueron operados por sacerdotes, quienes clamaban que el
movimiento de estos era inspiración de sus dioses. Los griegos construyeron estatuas
que operaban con sistemas hidráulicas, los cuales se utilizaban para fascinar a los
adoradores de los templos.
En 1805, Henri Maillardert construyó una muñeca mecánica 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 mecánicas de forma humana deben
considerarse como inversiones aisladas que reflejan el genio de hombres que se
anticiparon a su época. Hubo otras invenciones mecánicas durante la revolución
industrial, creadas por mentes de igual genio, muchas de las cuales estaban dirigidas al
sector de la producción textil. Entre ellas se puede citar la hiladora giratoria de
Hargreaves (1770), la hiladora mecánica de Crompton (1779), el telar mecánico de
Cartwright (1785), el telar de Jacquard (1801), y otros.
2
Automatización de procesos industriales
3
Automatización de procesos industriales
2. Antecedentes
Las ideas y las invenciones de muchos matemáticos, científicos, e ingenieros
allanaron el camino para el desarrollo de la computadora moderna. En un sentido, la
computadora tiene realmente tres fechas una como calculadora mecánica, cerca de 500
a.c. , otra como concepto (1833), y la tercera del nacimiento como la computadora
digital moderna (1946).
4
Automatización de procesos industriales
máquina primero fue utilizada para ayudar a clasificar la información estadística para el
censo 1890 de Estados Unidos.
5
Automatización de procesos industriales
función primaria era crear las tablas balísticas para hacer la artillería de la marina más
exacta.
Como Colossus fue diseñado para solamente una tarea, la distinción como la
primera computadora electrónica moderno de uso general pertenece correctamente a
ENIAC (Electronic Numerical Integrator and Calculator). Diseñada por dos ingenieros
americanos, Juan W. Mauchly y J. Presper Eckert, Jr., ENIAC entró servicio en la
universidad de Pennsylvania en 1946. Su construcción era una enorme hazaña de
ingeniería la máquina de 30 toneladas contuvo 17,468 tubos de vacío conectados por
500 millas (800 kilómetros) de cableado. ENIAC realizó 100,000 operaciones por
segundo. La invención del transistor en 1948 trajo una revolución en el desarrollo de la
computadora. Los tubos de vacío calientes, no fiables fueron substituidos por los
transistores pequeños del germanio (luego silicio) que generaban poco calor con todo
funcionado perfectamente como los interruptores o los amplificadores.
6
Automatización de procesos industriales
7
Automatización de procesos industriales
8
Automatización de procesos industriales
3. Automatización
La historia de la automatización industrial está caracterizada por períodos de
constantes innovaciones tecnológicas. Esto se debe a que las técnicas de automatización
están muy ligadas a los sucesos económicos mundiales.
El uso de robots industriales junto con los sistemas de diseño asistidos por
computadora (CAD), y los sistemas de fabricación asistidos por computadora (CAM),
son la última tendencia y luego se cargaban en el robot inicia en automatización de los
procesos de fabricación. Éstas tecnologías conducen a la automatización industrial a
otra transición, de alcances aún desconocidos.
9
Automatización de procesos industriales
Los sistemas flexibles suelen estar constituidos por una serie de estaciones de
trabajo interconectadas entre si por sistemas de almacenamiento y manipulación de
materiales, controlados en su conjunto por una computadora.
10
Automatización de procesos industriales
4. Tipos de Automatización.
Existen cinco formas de automatizar en la industria moderna, de modo que se
deberá analizar cada situación a fin de decidir correctamente el esquema más adecuado.
• La Automatización Fija
• La Automatización Flexible.
• Fresadoras CNC.
• Tornos CNC.
11
Automatización de procesos industriales
• Máquinas de Electro-erosionado
12
Automatización de procesos industriales
Entre todos estos cambios uno de los de mayor influencia lo será sin duda el
desarrollo de las nuevas políticas mundiales de mercados abiertos y globalización. 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 próximos años. Una opción o alternativa
frente a esto es la reconversión de las industrias introduciendo el elemento de la
automatización. Sin embargo se debe hacerse en la forma más adecuada de modo que se
pueda absorber gradualmente la nueva tecnología en un tiempo adecuado; todo esto sin
olvidar los factores de rendimiento de la inversión y capacidad de producción.
Antes del siglo XX, la mayor parte de las tentativas de automatización resultaron
un fracaso. Muchas de estas tentativas tropezaron con una fuerte oposición por parte de
los trabajadores. Por ejemplo, en Inglaterra a principios del siglo XIX los Luddites
destruyeron maquinaria textil como protesta por la reducción de salarios y el desempleo.
13
Automatización de procesos industriales
Aunque mucha gente usa los término CAD/CAM para las estaciones gráficas, el
nombre es un acrónimo derivado del ingles COMPUTER Aided Design y Computer
Aided Manufacturing (Diseño Asistido por Computadora y Fabricación Asistida por
Computadora). CAD/CAM son disciplinas distintas.
Algunas de las funciones más comunes del CAD son el modelado geométrico,
análisis, prueba, delineación, y documentación. El CAM, por su parte, incluye control
numérico, robótica, planificación y control de fabricación. Ambas disciplinas están
interrelacionadas por una base de datos común.
14
Automatización de procesos industriales
15
Automatización de procesos industriales
1. Introducción
1.1 Automatización y evolución histórica
16
Automatización de procesos industriales
- La funcionalidad en edificios.
- El ahorro energético.
- Comunicación de la vivienda con el exterior.
- Todas estas ventajas que presenta la instalación domótica debe, además, ir
acompañado de una interface de usuario sencillo, de fácil manejo y
comprensión.
17
Automatización de procesos industriales
A) La gestión de energía.
Otra forma de ahorro es incorporando un contador con doble tarifa, que haga
funcionar, mediante programadores horarios, distintos receptores dentro del horario
donde la energía eléctrica sea más barata (tarifa nocturna).
18
Automatización de procesos industriales
Lo propio puede ocurrir al detectar una fuga de gas. De igual manera, al detectar
un incendio, detectores de humo y fuego harán que se activen las alarmas y avisarán, vía
red telefónica a los bomberos.
19
Automatización de procesos industriales
D) La comunicación.
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 calefacción o cualquier equipo doméstico de interés para el usuario con una
simple llamada telefónica. Además, algunas aplicaciones, como ya explicamos antes,
requieren una comunicación hacia el exterior, como el caso de mensajes de auxilio o
intrusión.
20
Automatización de procesos industriales
21
Automatización de procesos industriales
2. Sistemas automáticos.
Existen diferentes sistemas domóticos. Dentro de los sistemas actuales los más
relevantes son el sistema por corrientes portadoras, el sistema por controlador
programable y el sistema por bus de datos. Haremos una pequeña introducción a cada
uno de ellos.
Este tipo de sistema lo podemos estudiar mediante el estándar que más difusión
tiene, el X-10. Es un sistema descentralizado y configurable (no programable). La
filosofía fundamental de diseño 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 años siguen funcionando con la gama actual. Este sistema ha
sido desarrollado para ser flexible y fácil 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 fáciles
de instalar y que no requieren cableados especiales.
22
Automatización de procesos industriales
23
Automatización de procesos industriales
24
Automatización de procesos industriales
El EIB, sistema que analizaremos en este trabajo, es uno de los sistemas por bus
de datos más utilizados. Antes de comenzar con su exposición explicaremos algunas de
las ventajas e inconvenientes que tienen los buses con respecto a los otros sistemas
vistos en los apartados anteriores.
25
Automatización de procesos industriales
26
Automatización de procesos industriales
3.1 La EIBA
27
Automatización de procesos industriales
Estas exigencias las realiza la EIBA especialmente, pues ella, según se autodefine:
28
Automatización de procesos industriales
3.2 Generalidades
Dentro del grupo de los equipos domóticos 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 haría
caer toda la instalación, 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 según las consignas de actuación que se le hayan programado durante su
instalación. 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 electrónica
con un microprocesador y las memorias correspondientes.
El sistema EIB nace para hacer frente a los mercados japonés 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 tensión de 24 V en corriente continua. El
cometido de este bus es doble:
- Por una parte, suministra la alimentación a los componentes del sistema, con una
tensión adecuada para su funcionamiento.
Los componentes del sistema EIB se dividen en tres familias: Los sensores, los
actuadores y los aparatos básicos y accesorios. Sensores son aquellos que envían
ordenes manual o automáticamente a través del bus, por ejemplo pulsadores,
termostatos... Los actuadores son los que reciben esas órdenes y las ejecutan, por
ejemplo salidas primarias (pequeños contactores), interruptores de persianas,
reguladores,... Los aparatos básicos y accesorios no realiza funciones de gobierno ni de
29
Automatización de procesos industriales
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 iluminación,
persianas, toldos, calefacción, seguridad,... es decir, que puede controlarse cualquier
elemento que requiera energía eléctrica para su funcionamiento. No sirve, por supuesto,
para comunicaciones audiovisuales o para procesos de datos en trabajos con
ordenadores de oficinas.
Ventajas:
30
Automatización de procesos industriales
Inconvenientes:
31
Automatización de procesos industriales
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.
También hay que tener en cuenta que, cada vez más, la gente demanda
productos de control y, al no encontrar en EIB una alternativa real se pone en manos de
cualquier otra tecnología alternativa (algunos incluso llegan a instalar basados en el
obsoleto BatiBÚS, del que se hablará a continuación).
32
Automatización de procesos industriales
Los beneficiados, son algunas empresas serias que continúan realizando sistemas
domóticos de control hechos a medida y basados en autómatas, junto con empresas que
fabrican sistemas de control domótico estándar.
33
Automatización de procesos industriales
El tendido del la red del Instabús EIB se realiza de un modo coordinado con la
instalación eléctrica en el edificio funcional, el Instabús EIB une los distribuidores
principales, los pisos, paredes, techos y también 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 supervisión 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.
El tendido directo del Instabús EIB hacia los equipos terminales (sensores,
aparatos de iluminación,...), 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 disposición clara, con
una buena sensibilidad para la puesta en servicio, diagnóstico y mantenimiento. Los
equipos del bus se conectan en los distribuidores y canales a través del perfil de datos
colocado en el riel de sujeción DIN.
34
Automatización de procesos industriales
Todos los componentes de EIB están, como es natural, conectados al cable bus.
Algunos de ellos, además, tienen contacto con la red, generalmente 220 voltios, como
por ejemplo algunas entradas binarias en la familia de los sensores y prácticamente
todos los actuadores, pues por su propia naturaleza así debe ser, ya que la función que
realizan es accionar o regular circuitos de iluminación, fuerza o señalización.
Todos los componentes que se instalan en el perfil DIN son modulares del
sistema N.
Alimentación de corriente:
Cada línea tiene su propia alimentación para los componentes que cuelgan de
ella. La alimentación típica de una línea son 24 voltios en corriente continua.
35
Automatización de procesos industriales
36
Automatización de procesos industriales
La señal eléctrica:
El bus está formado por un par trenzado dobles del cual sólo van a utilizarse dos
hilos, quedando los otros dos como reserva para posibles usos adicionales. La
información se transmite de forma simétrica al par de conductores que está en uso. Por
tanto al nodo que cuelga de la línea le llega la información de que las variaciones
perturbadoras actúan sobre ambos conductores con la misma polaridad, no influyen en
la tensión diferencial de la información.
Dimensionamiento:
Las dimensiones máximas de la red están limitadas por diversos factores como
son las capacidades parásitas, tiempo de preparación, alteraciones,...
37
Automatización 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 además tenemos en cuenta que las transiciones en los cambios
de nivel no son instantáneas, 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 información (cada telegrama ocupa el bus un tiempo
comprendido entre 20 y 40 ms).
38
Automatización de procesos industriales
La mínima unidad que compone una red EIB se denomina línea. Cada una de
estas puede soportar hasta 64 nodos EIB. El sistema permite duplicar tanto la longitud
como la capacidad de nodos de la línea, simplemente uniendo dos líneas por medio de
un repetidor. Para cada una de estas líneas ampliadas se necesita una fuente de
alimentación adicional. En algunos casos, una línea puede tener hasta cuatro segmentos
de línea conectados a través de repetidores y, por tanto, la capacidad de la línea se puede
ampliar hasta 256 nodos.
Con ayuda de acopladores de zona pueden llegar a unirse hasta 15. Por tanto, se
pueden diseñar redes de hasta 64 x 12 x 15 = 11.520 nodos, y si se dispone de un
repetidor en cada una de las líneas se puede llegar hasta un máximo de once mil
quinientos veinte por dos igual a 23.040 nodos.
39
Automatización de procesos industriales
Todos los nodos a los que van dirigido el telegrama dan simultáneamente el
recibo de la recepción.
40
Automatización de procesos industriales
3. Dirección de destino: puede ser la dirección física o la de grupo según el valor que
tome el bit 17(si es uno entonces es de grupo).
4. Contador rooting: indica el número de acopladores por los que ha pasado el mensaje.
Su función es evitar que un mensaje se pasee mucho tiempo por la red.
5. Longitud: son cuatro bits que indican el número de bytes de información que contiene
el campo de datos. El número máximo es 16.
6. Datos: el campo información útil tiene dos partes diferenciadas: la orden y los
parámetros de la misma. La primera puede ser de cuatro tipos: escribir, leer,
contestación larga y contestación corta. Las tres primeras envían dos bytes mientras que
la tercera puede llegar a ocupar los dieciséis bytes disponibles. Todas órdenes leer se
solicita el acuse de recibo del componente direccionado.
7. Comprobación: cada "palabra" de once bytes tiene que presentar paridad par
(comprobación horizontal), además, 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
Automatización de procesos industriales
Acceso al medio:
Con el fin de evitar las colisiones, los dispositivos esperan en modo de detección
durante sus envíos 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 emisión y da
prioridad a otro nodo.
42
Automatización de procesos industriales
Sólo sabrá la función que deberá realizar cuando haya recibido los parámetros
necesarios durante la instalación. Los datos de parámetro son automáticamente cargados
cuando se produce la puesta en marcha de la instalación por medio de las herramientas
de ETS.
En el caso de los actuadores estos envían los nuevos telegramas por medio de
interface físico externo solamente una vez a la unidad de aplicación.
43
Automatización de procesos industriales
Mientras que los dos primeros discriminar el paso de telegramas, el tercero deja
pasar todos los que le llegan. Los acopladores de línea y de filtro reciben una tabla de
filtro durante la parametrización. Esta memoria se mantiene durante más de diez años
con una pila de litio.
44
Automatización de procesos industriales
3.8 Direccionamiento
Cada componente está identificado por su dirección física que es exclusiva. Esta
dirección sólo se utiliza con fines de diagnóstico para saber si el mecanismo está bien
programado o no. Tiene una longitud de 16 bits divididas en tres campos:
45
Automatización de procesos industriales
Suministrador
Más de 50 miembros
Sistema abierto
Si
Grupo de usuarios
EIB Association
Standards
DIN VDE 0829
Topología
Abierta
Nº máximo de nodos
64 dispositivos por línea, 12 por línea principal, 15 líneas principales por
bus troncal (Backbone).
Procedimiento de acceso
CSMA/CA
Velocidad de transmisión
9.6kbps, 700m por linea
Requerimientos de cableado
Par trenzado y línea de alimentación.
Formato de Datos/Transmisión
24V
Detección de Errores
CSMA/CA
46
Automatización de procesos industriales
47
Automatización de procesos industriales
definen durante el diseño y las direcciones del grupo que permiten que varios
elementos puedan funcionar conjuntamente.
48
Automatización de procesos industriales
49
Automatización de procesos industriales
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.
2. EIB es una tecnología más 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 línea (64 nodos) lleva su propia alimentación. LonWorks permite una
alimentación por nodo, o puede pasar a una alimentación por la red mediante par
trenzado con LinkPower (LPT-10 78kbps 128 nodos).
4. EIB envía los datos mediante un sistema de tensión asimétrica por el mismo bus de
alimentación. LonWorks envían los datos por cualquier medio de transmisión (permite
par trenzado, coaxial, radio frecuencia, red de alimentación, infrarrojos, fibra óptica,
bus). Cuando se usa el LinkPower los datos se envían junto con la alimentación.
5. EIB permite una topología de la red en bus, árbol, estrella y mixta. LonWorks
permite además topologías en anillo y libre. LonWorks tiene capacidad de filtrar
paquetes repetidos y de realizar un control tipo LAN de manejo de la red.
50
Automatización de procesos industriales
aplicación (de la que se encarga la tercera CPU). También dispone de memorias RAM,
ROM y EEPROM, esta última permite que la aplicación se reprograme a la hora de la
instalación.
9. El direccionamiento de EIB parte de una dirección física (16 bits) que diferencia a
cada nodo de la instalación, y una dirección del grupo (15 bits) que empareja, de forma
lógica, al conjunto del nodos seleccionado. La dirección lógica permite el acceso
gruposubgrupo.
Los Neuron chips disponen de una dirección físicas (48 bits) única en el mundo
y grabada en fábrica. Además, permiten tener una dirección lógica de dominio subred y
nodo. El direccionamiento lógico LON permite el acceso a dominios, subredes o a
nodos (hasta 32 bits). Por si fuera poco, también permite el acceso por grupos de nodos,
donde cada nodo puede pertenecer hasta a quince grupos distintos, mientras que una
dirección de grupo es de hasta 24 bits.
10. Tanto EIB como LonWorks para transmisión de datos, garantizan el cumplimiento
del modelo de referencia OSI de ISO. El EIB tiene un acceso al medio con el sistema de
detección de colisiones CSMACA. Por su parte el sistema Lon Talk usa el sistema
CSMA predictive persistent, que incluye cualquier característica del CSMA y no se
queda corto para aplicaciones de control.
51
Automatización de procesos industriales
13. La instalación para los nodos de EIB se realiza mediante un pin de servicio, y la
parametrización se realiza mediante un PC conectado al bus. Los nodos LON se pueden
instalar según el grado de aplicación y el tipo de servicios que se desea que ofrezcan,
permitiendo el Plug & Play, o instalación manual, mediante el pin de servicio, o Wink.
52
Automatización de procesos industriales
Una red domótica EHS es un conjunto de unidades lógicas 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 físicos de transmisión existentes en la
vivienda. En una misma red puede haber varias subredes basadas en el mismo medio
físico.
53
Automatización de procesos industriales
Unidades de aplicación
54
Automatización de procesos industriales
Unidades de sistema
Las unidades de sistema tienen como objeto realizar las funciones de la red
que permitan el funcionamiento de ésta según los requisitos de la especificación EHS.
55
Automatización de procesos industriales
56
Automatización de procesos industriales
57
Automatización de procesos industriales
Categoría 4: A esta categoría pertenecen las unidades que necesitan unas direcciones
específicas debido a las funciones que realizan. A esta categoría pertenecen los
controladores de medio (MdC) y el coordinador de dispositivos (DvC)., que precisan un
código único y una memoria no volátil para almacenar su estado en cada momento.
58
Automatización de procesos industriales
Mecanismo “registration”.
Mecanismo “contention”.
Este mecanismo lo usan las unidades de la categoría 4, permitiendo que sólo una
unidad de este tipo que realice una determinada acción esté activa. Cuando una unidad
de esta categoría se conecta por primera vez envía un mensaje indicando su código
único y prioridad. Si no responde ninguna unidad, deberá realizar un número de
reintentos durante un período de tiempo pre-establecido para asegurarse que el mensaje
ha sido escuchado por todas las unidades presentes en la red que realicen su misma
función. Si pasado este tiempo no recibe contestación, quiere decir que no existe otra
unidad que realice su misma función en la subred, con lo que la unidad se activará. Si en
la subred existen otras unidades que realizan su función, estas enviarán un mensaje con
su código único y prioridad, que será recibido en el tiempo preestablecido. La unidad
con más prioridad se activará quedando la otra en estado de reposo.
59
Automatización de procesos industriales
Mecanismo “disconection”.
Mecanismo de “token-passing”.
60
Automatización de procesos industriales
Este mecanismo actúa como un semáforo que asegura que un único controlador
de características (FC) pueda acceder a un tiempo al mismo dispositivo con comandos
de escritura. Si varios controladores de características (FC's) intentan acceder
simultáneamente, sólo accederá aquel que tenga mayor prioridad. De esta manera se
asegura que un controlador de características no intente controlar un dispositivo que esta
siendo controlado por otro controlador de características. Para garantizar esto el
controlador de características (FC) pide un testigo al dispositivo sobre el que quiere
actuar. Si el dispositivo no esta siendo controlado por otro controlador de características
le pasará el testigo, pudiendo entonces el controlador de características actuar sobre él,
por tanto, un controlador de características no puede actuar sobre un dispositivo si no
tiene testigo.
- Nivel 5 (Timer): Se utiliza para las acciones relacionadas con la gestión del sistema.
- Nivel 6 (User-Plus): Está relacionado con los dispositivos que maneja directamente el
usuario.
61
Automatización de procesos industriales
- Nivel 8 (Blackground): Este nivel se utiliza para una operación que puede ser
interrumpida en cualquier momento.
62
Automatización de procesos industriales
5. Red Batibus
- Admite una longitud total de bus de hasta 2500 m, sin que la distancia máxima
entre la alimentación y el último punto de alimentación supere los 500m.
- La alimentación de los puntos puede ser local o a través del propio Bus, siendo
el número máximo de puntos alimentados respectivamente de 1000 y 75.
- Puede direccionar 240 posiciones por tipo de punto, con 32 tipos de punto
diferente.
63
Automatización de procesos industriales
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 estándar 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:
- Las consecuencias de la transición de cada uno de los tres protocolos deberán ser
evaluadas por cada consorcio (EIBA, BCI y EHSA).
- Contempla tres medios físicos, dos tipos de par trenzado y línea de potencia.
- Las direcciones tiene una longitud de 2 bytes (EHS utiliza 1 byte), indicando el
primero el medio físico o subred donde está instalada la unidad, y el segundo la
identificará dentro de la propia subred.
64
Automatización de procesos industriales
65
Automatización de procesos industriales
INTRODUCCIÓN A LA TECNOLOGÍA
LONWORKS
1. Conceptos básico
Una red de control está formada por un grupo de dispositivos llamados nodos,
(cada uno, con uno o más sensores o actuadores), que se comunican (a través de uno o
varios medios, usando una norma o protocolo de comunicación) para constituir una
aplicación de monitorización, una aplicación de control o una aplicación de
monitorización y control.
Las redes de control son más comunes de lo que habitualmente creemos. Por
ejemplo, nuestro coche puede tener varias redes de control como por ejemplo, el sistema
de viso del cinturón de seguridad, el sistema antibloqueo ABS o el sistema de gestión 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
instrumentación para aeronáutica (ambos son ejemplos de redes Lonworks existentes).
Es posible controlar una alarma a partir de un simple sensor de ocupación, o gestionar el
sistema de tráfico de una ciudad, controlando semáforos, flujo de tráfico, acciones de
vehículos de emergencia, distribución de potencia, etc.
Para mucha gente, las redes de control son más fáciles de entender poniendo
como ejemplo casas inteligentes o casas demóticas. No obstante, los sistemas donde
más extendidas están las redes de control son edificios y fábricas donde se gestionan los
ascensores o cadenas de fabricación de vehículos. Las redes Lonworks se usan para
todas sas cosas y más. La comunicación 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 cálculo) de los nodos permite la distribución del
66
Automatización de procesos industriales
proceso (los sensores pueden funcionar de manera inteligente, por ejemplo, realizando
análisis local de os datos y su conversión, e informar sólo de cambios significativos en
su entorno). Si las unciones de control son distribuidas, la ejecución y el rendimiento
del sistema se mejoran drásticamente.
67
Automatización de procesos industriales
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 están utilizando sistemas abiertos, chips estándar, sistemas operativos
estándar y componentes para construir productos que mejoren la flexibilidad, el costo
del sistema y su instalación. La tecnología Lonworks está acelerando la tendencia a
68
Automatización de procesos industriales
69
Automatización de procesos industriales
En teoría, para todas las aplicaciones de control y en todas las industrias. Las
aplicaciones para las que se emplean hoy en día las redes Lonworks incluyen: control de
producción, seguimiento de artículos, etiquetado automático de precios en
supermercados, entornos de trabajo automatizados, integración de instrumentos
aeronáuticos, diagnóstico de circuitos electrónicos, control de electrodomésticos,
cerraduras electrónicas, control de ascensores, gestión de energía, control
medioambiental, protección contra incendios, control de Aire Acondicionado y
Calefacción, control de peajes en autopistas, sistemas de identificación, máquinas de
venta automática, control de riego, control de alumbrado, cuidado de pacientes,
automatización de restaurantes, automatización de viviendas y mucho más…
Más de 4000 empresas utilizan las redes Lonworks hoy, y el número está creciendo
rápidamente. Todas las áreas del campo de control están plenamente cubiertas por
70
Automatización de procesos industriales
Entre las compañías que han adoptado este estándar se encuentran los miembros de
la Asociación LonUsers España: Fábrica Electrotécnica JOSA (BJC), I.A. Electrónicas
del Vallés (ELVA), ISDE Ing, K-Lon, TAC Building Automation y Kieback&Peter, y
otras empresas como:
71
Automatización de procesos industriales
72
Automatización de procesos industriales
Ventajas Técnicas
73
Automatización de procesos industriales
Protocolo de comunicaciones
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 modificación casual (o intencionada). Se incluyen características como
gestión acceso al medio, reconocimiento y gestión punto a punto, y servicios más
avanzados tales como autentificación de remitente, detección de mensajes duplicados,
colisión, reintentos automáticos, soporte de cliente-servidor, transmisión de tramas no
estándar, normalización y identificación de tipo de dato, difusión unicast/multicast,
soporte de medios mixtos y detección de errores.
Fiabilidad
74
Automatización de procesos industriales
Seguridad
Esta capa proporciona una garantía de autenticidad del remitente, que no puede
ser violada por piratas informáticos ("hackers").
Interoperabilidad
75
Automatización de procesos industriales
76
Automatización de procesos industriales
1. Introducción
Automatización X10 es el sistema de Automatización mas extendido y utilizado
en los hogares del mundo debido a su sencillez de instalación y a su fácil manejo que se
adapta a todas las necesidades actuales de control automático en los hogares.
Si quiere hacer su casa u oficina inteligente, solo tiene que instalar unos cuantos
módulos x10. Y si quiere un consejo empiece por los Kits de Automatización o
consúltenos su configuración estaremos encantados de asesorarle.
77
Automatización de procesos industriales
2. Ventajas de x10
Los sistemas de automatización no son un mero capricho, si no que tienen las
siguientes ventajas:
78
Automatización de procesos industriales
beta, CD vídeo, etc.). De entre los varios sistemas automáticos que tratan de
imponerse en la actualidad, el sistema X10 es el único que sigue vigente después
de más de 25 años 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 España, ya forma parte obligatoria en los
planes de estudio de FP2 en la rama de electrónica.
79
Automatización de procesos industriales
3. Automatización inteligente
No es lo mismo una casa inteligente, que una casa listilla. Es cierto que hoy en
día hay programadores, interruptores a distancia, termostatos temporizados, etc. también
es verdad que todos tienen el mismo problema. No son inteligentes, no interactúan 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 teléfono desde el coche y conecta la calefacción 2 horas antes de
llegar.
La gran diferencia del sistema X10, es que este es inteligente y los aparatos
interactúan 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 lámparas del salón al 50%. ¿Son más 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 niño que se queda encendida tenuemente.
Y todo esto de forma automática. ¿Que hoy no quiere la secuencia automática? Con
solo un botón establece el nuevo modo de funcionamiento. Los sábados me voy de fin
de semana. No tengo que preparar el programador pues el controlador inteligente pone
en marcha el programa de simulación 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 proporcionándole todo lo
que necesite para hacer su hogar inteligente.
80
Automatización de procesos industriales
manejan las abstracciones que representan las entidades del dominio del problema, y a
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 orientación a objetos como uno de los pilares básicos
de su lenguaje.
81
Automatización de procesos industriales
interactuar con el exterior. Es por esto por lo que se dice que en la programación
funciones.
• Estado: Todo objeto posee un estado, definido por sus atributos. Con él se
métodos, para que el resto de objetos que componen los programas puedan
82
Automatización de procesos industriales
Podemos definir una clase como "un conjunto de cosas (físicas o abstractas) que
objeto (considerando los objetos como instancias de las clases)". [Piattini et al., 1996].
Una clase no es más que una plantilla para la creación de objetos. Cuando se
Las clases presentan el estado de los objetos a los que representan mediante
memoria dinámica un espacio para tantas variables como atributos tenga la clase a la
Los métodos son las funciones mediante las que las clases representan el
atributos del objeto, y representan las capacidades del objeto (en muchos textos se les
denomina servicios).
a un módulo, los atributos a las variables globales de dicho módulo, y los métodos a las
83
Automatización de procesos industriales
menores; por ejemplo, no vemos un cuerpo humano como un conjunto de células. Los
necesitamos conocer los detalles de porqué ni cómo funcionan las cosas; simplemente
cubrir.
84
Automatización de procesos industriales
qué información es ocultada al resto de los objetos. Para ello los objetos suelen
presentar sus métodos como interfaces públicas y sus atributos como datos privados e
Para permitir que otros objetos consulten o modifiquen los atributos de los
objetos, las clases suelen presentar métodos de acceso. De esta manera el acceso a los
deseados.
Con el encapsulado de los datos se consigue que las personas que utilicen un
varios módulos diferentes (ya sea en forma de clases, paquetes o bibliotecas), cada uno
85
Automatización de procesos industriales
de herencia:
una clase padre. Así se simplifican los diseños y se evita la duplicación de código al no
86
Automatización de procesos industriales
objeto que realice una acción determinada o que modifique su estado. El paso de
la llamada a funciones.
Polimorfismo quiere decir "un objeto y muchas formas". Esta propiedad permite
función de los argumentos que recibe, recibir diferentes números de parámetros para
realizar una misma operación, y realizar diferentes acciones dependiendo del nivel de
87
Automatización de procesos industriales
Existen varios tipos de relaciones que pueden unir a los diferentes objetos, pero
generalización/especialización.
Serían relaciones generales, en las que un objeto realiza llamadas a los servicios
composición se entiende que dura durante toda la vida del objeto componedor, en la
Esto se puede implementar como un objeto (objeto compuesto) que cuenta entre
88
Automatización de procesos industriales
A veces sucede que dos clases tienen muchas de sus partes en común, lo que
normalmente se abstrae en la creación de una tercera clase (padre de las dos) que reúne
por la que una clase (clase hija) recoge aquellos métodos y atributos que una segunda
y las relaciones entre objetos véase [García, 1998] o para una información más
89
Automatización de procesos industriales
2. Historia de Java
2.1 ¿Por qué se diseñó Java?
necesario utilizar un diseño orientado a objetos para programar en C++, razón por la que
muchas veces las aplicaciones en este lenguaje no son realmente orientadas al objeto,
Así Java utiliza convenciones casi idénticas para declaración de variables, paso
de parámetros, y demás, pero sólo considera las partes de C++ que no estaban ya en C.
90
Automatización de procesos industriales
colisión de memoria, errores muy difíciles de detectar. Además, casi todos los
• Variables globales: Con ellas cualquier función puede producir efectos laterales,
tiene ninguna sentencia goto. Sin embargo Java tiene las sentencias break y
llamar a free para liberar un bloque de memoria, se están limitando los recursos
hace un free sobre un puntero ya liberado, puede ocurrir cualquier cosa. Más
tarde C++ añadió new y delete, que se usan de forma similar, siendo todavía el
91
Automatización 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
resto del sistema sin tener que llamar a free o delete. A esto se le llama recogida
Esto requiere extremada precaución puesto que no hay nada previsto para
92
Automatización de procesos industriales
2.2 Comienzos
Java fue diseñado en 1990 por James Gosling, de Sun Microsystems, como
fue diseñado antes de que diese comienzo la era World Wide Web, puesto que fue
interactiva.
programas para pequeños dispositivos electrónicos. Tras unos comienzos dudosos, Sun
decidió crear una filial, denominada FirstPerson Inc., para dar margen de maniobra al
Inicialmente Java se llamó Oak (roble en inglés), aunque tuvo que cambiar de
denominación, 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
93
Automatización de procesos industriales
coste de pruebas y depuración. Por ello en los sus ratos libres creó un lenguaje
reducidas prestaciones, que varían cada poco tiempo y que utilizan diversos
los dispositivos.
Por todo ello, en lugar de tratar únicamente de optimizar las técnicas de desarrollo y
dar por sentada la utilización 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 programación lo más sencillo posible,
con el objeto de que se pudiese adaptar con facilidad a cualquier entorno de ejecución.
programación moderno y potente, pero eliminando todas aquellas funciones que no eran
absolutamente imprescindibles.
94
Automatización de procesos industriales
Más tarde Java se aplicó a otro proyecto denominado VOD (Video On Demand)
en el que se empleaba como interfaz para la televisión interactiva que se pensaba iba a
primitivo.
Una vez que en Sun se dieron cuenta de que a corto plazo la televisión
95
Automatización de procesos industriales
Aunque muchas de las fuentes consultadas señalan 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 podría llegar a ser el campo
adecuado para disputar a Microsoft su primacía en el terreno del software, y vio en Oak
para poderlo adaptar al propósito mencionado. Así Java fue presentado en sociedad en
agosto de 1995.
Algunas de las razones que llevaron a Bill Joy a pensar que Java podría llegar a ser
rentable son:
escrito en Java pueda acceder a los recursos del ordenador sin que esta operación
le sea permitida de forma explícita. De este modo, los datos del usuario quedan a
del código Java es una característica única, que no puede encontrarse en ninguna
otra tecnología.
96
Automatización de procesos industriales
interior de un navegador.
97
Automatización de procesos industriales
denominada código de byte para solventar los problemas de portabilidad. Los códigos
capaces de comprender directamente los códigos de byte. Éstas serían unas máquinas
que utilizaran Java como sistema operativo y que no requerirían en principio de disco
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 máquinas ha sido Oracle, que en enero de 1996 presentó en Japón su primer
Tras Oracle, han sido compañías del tamaño de Sun, Apple e IBM las que han
98
Automatización de procesos industriales
El único problema aparente es la seguridad para que Java se pueda utilizar para
transacciones críticas. Sun va a apostar por firmas digitales, que serán clave en el
99
Automatización de procesos industriales
En opinión 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 específico ha sido tan grande que va a dar un impulso a Java que no le
permitirá caer
se quede en nada.
Por otra parte, la relación simbiótica que tiene con Internet (y por derivación con
100
Automatización de procesos industriales
3. CARACTERÍSTICAS DE JAVA
3.1 Introducción
los entornos software, y esto viene avalado por tres elementos claves que diferencian a
Java aporta a la Web una interactividad que se había buscado durante mucho tiempo
101
Automatización de procesos industriales
3.2 Potente
En este aspecto Java fue diseñado partiendo de cero, no siendo derivado de otro
conservan elementos "no objetos", como números, caracteres y otros tipos de datos
simples.
c.) Robusto
Java verifica su código al mismo tiempo que lo escribe, y una vez más antes de
asignación que de ésta hace a sus necesidades específicas. Este lenguaje posee una
orientado a objetos integrados. Estos elementos realizarán muchas tareas antes tediosas
102
Automatización de procesos industriales
Existen varias clases que contienen las abstracciones básicas para facilitar a los
programas una gran capacidad de representación. Para ello se contará con un conjunto
de clases comunes que pueden crecer para admitir todas las necesidades del
programador.
protocolos de Internet.
El conjunto de clases más complicado de Java son sus paquetes gráficos AWT
interfaz de usuario gráfica básica común a todos los ordenadores personales modernos.
103
Automatización de procesos industriales
3.3 Simple
parte del programador sin que las interioridades del sistema subyacente sean desveladas.
Java es más complejo que un lenguaje simple, pero más sencillo que cualquier
de datos complejas y sus métodos asociados, que serán de inestimable ayuda para
implementadas.
104
Automatización de procesos industriales
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
Las aplicaciones de Java permiten situar figuras animadas en las páginas Web, y
éstas pueden concebirse con logotipos animados o con texto que se desplace por la
pantalla. También pueden tratarse gráficos generados por algún proceso. Estas
apariencia.
Java está diseñado para que un programa escrito en este lenguaje sea ejecutado
(Macintosh, PC, UNIX…). Para conseguir esto utiliza una compilación en una
un sistema de este tipo es el rendimiento; sin embargo, el hecho de que Java fuese
unido a la sencillez de traducción a código máquina hacen que Java supere esa
105
Automatización de procesos industriales
de manera que los suministradores de información de la Web pueden crear una página
de hipertexto (página Web) con una interacción continuada y compleja en tiempo real;
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á
uso de applets insertados en sus páginas HTML. Además, las clases de Java admiten
muy bien estos protocolos y formatos. El envío de las clases de Java a través de Internet
se realiza con gran facilidad, ya que existe una interfaz unificada, resolviendo así los
Java proporciona un conjunto de clases para tratar con una abstracción de los
Entrada/Salida.
Web, puesto que es capaz de captar el interés del usuario durante largo tiempo y permite
106
Automatización de procesos industriales
d.) Applets
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
107
Automatización de procesos industriales
a.) Seguridad
globales ni acceder a recursos arbitrarios del sistema, por lo que el control sobre los
muchos niveles.
108
Automatización de procesos industriales
Java fue desarrollado basándose en C++, pero eliminando rasgos del mismo poco
sobrecarga de operadores.
hacen C o C++.
• Tiene una clase String que es parte del paquete java.lang y se diferencia de la
• Java cuenta con un sistema automático para asignar y liberar memoria, con lo
que no es necesario utilizar las funciones previstas con este fin en C y C++.
utilizan primitivas similares a las de C++, mucho más elegantes, que permiten tratar los
Entrada/Salida.
109
Automatización de procesos industriales
a otros componentes.
110
Automatización de procesos industriales
orientados a objeto.
En principio Java fue diseñado tomando C y C++ como base para la creación de
un nuevo lenguaje con la modificación de todos aquellos aspectos que no eran útiles o
el nuevo lenguaje debía incluir interfaces cómodas, debía ser fiable y fácil de desarrollar
y los programas debían ser portables de un sistema a otro sin ningún tipo de problema.
Java es muy parecido a C++ en el juego básico de tipos de datos con algunas
pequeñas 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 numéricos, booleanos o caracteres.
111
Automatización de procesos industriales
Hay cuatro tipos numéricos: byte de 1 byte, short de 2 bytes, int de 4 bytes, y los
long de 8 bytes. El tipo más habitual de los cuatro es el tipo int. El byte viene a sustituir
el tipo char de C++, ya que Java introduce una interpretación diferente al tipo de datos
char.
• Los tipos numéricos reales son el float (8 bytes) y el double (16 bytes).
• Los números que utilizan coma flotante (por ejemplo 18.96) son considerados
double por defecto, y habrá que realiza un moldeado (casting) explícito para que
sean float.
c.) Caracteres
Los datos carácter 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 representación del
planeta.
El carácter de datos del lenguaje Java proviene del tradicional C. Hay que
señalar que los caracteres en C++ eran de sólo 1 byte, con lo que en Java podremos
112
Automatización de procesos industriales
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
Se permite en Java los mismos operadores que C++, con la variación 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 representación en tiempo real. Se pueden declarar y almacenar
matrices (vectores con varias dimensiones). En este último aspecto no existe diferencia
con C++.
4.5 Cadenas
caracteres (cadenas) como era el caso de C++. Existen dos tipos de cadenas de objetos:
113
Automatización de procesos industriales
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++ sería como vector de caracteres con el carácter fin de cadena ‘\0’ al final de la
misma).
114
Automatización de procesos industriales
F. Otras características
a.) Introducción
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
115
Automatización de procesos industriales
b.) Sencillez
Java tiene una sencillez que no posee C++ aunque sí Smalltalk. Esto es debido a que
pero reduciendo los errores más comunes de la programación, algo que se logra con
mucho éxito puesto que Java reduce un 50% los errores que se comenten en C++ entre
c.) Robustez
como en tiempo de ejecución, lo que hace que se detecten errores lo antes posible,
Se aprecia una clara diferencia con C++ quién no realiza ninguna de estas
verificaciones.
116
Automatización de procesos industriales
d.) Seguridad
C++. Esto es algo muy importante puesto que este tipo de problema puede ocasionar la
El código Java pasa muchos tests antes de ejecutarse en una máquina. El código
código ilegal, código que falsea punteros, viola derechos de acceso sobre objetos o
Algunos de los conocimientos que podemos obtener de los códigos de byte si pasan
correcto.
punteros.
programa sin los privilegios del núcleo (kernel) del sistema operativo, la obligación de
117
Automatización de procesos industriales
Java un lenguaje seguro. Todo esto no lo incorporan ni C++ ni Smalltalk, por lo que
"lenguaje interpretado". Esto es una característica que sí que posee Smalltalk, aunque no
C++. No obstante, y aunque en teoría se consumen menos recursos siendo los lenguajes
interpretados, el actual compilador que existe es bastante lento, unas 20 veces menos
apreciable por el usuario, y además esta diferencia se está reduciendo con los nuevos
f.) Dinamicidad
Java no intenta conectar todos los módulos que comprenden una aplicación hasta el
g.) Portabilidad
para C++.
118
Automatización de procesos industriales
h.) Neutralidad
Se dice que Java tiene una arquitectura neutra puesto que compila su código a un
ejecutará.
Enviroment) puede ejecutar ese código objeto, sin importar en modo alguno la máquina
Actualmente existen sistemas de ejecución (JRE) para Solaris 2.x, SunOs 4.1.x,
Windows 95, Windows NT, Linux, Irix, Aix, Mac, Apple y probablemente haya grupos
No es así para C++ y para Smalltalk, donde el código generado podrá ejecutarse
i.) Threads
un gran proceso permite programar de una forma más sencilla y es una herramienta muy
119
Automatización de procesos industriales
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 ejecución
difícilmente depurables.
Java tiene operadores nuevos para reservar memoria para los objetos, pero no
momento en que se detecta que no se va a volver a utilizar ese objeto, el sistema vacía
Esta gestión de la memoria dinámica hace que la programación en Java sea más fácil.
k.) Representación
programas con interfaces cómodas e intuitivas. Esto también se permite en C++, aunque
con unos métodos más costosos, y en ningún caso con interfaces portables como los que
Java crea.
Tanto en Java como en C++ se logran unas interfaces con una representación
120
Automatización de procesos industriales
Introducción
Esta funcionalidad de Tomcat aporta una funcionalidad muy elevada (al igual
que todos los servidores que sigan la especificación 2.2 o posterior). El desarrollador de
la aplicación web no tiene que preocuparse de nada referente a la autentificación,
simplemente indicar los enlaces entre las páginas que necesite. Será el encargado de
desplegar la aplicación el que por medio del descriptor XML establezca que recursos
121
Automatización de procesos industriales
La especificación también define tres modos para indicar la seguridad del transporte
de los datos a través de la Web.
122
Automatización de procesos industriales
Modos de transporte
123
Automatización de procesos industriales
tomcat-users.xml
<tomcat-users>
<user name="tomcat" password="tomcat" roles="administrador, usuario_ />
<user name="javahispano" password="javahispano" roles="usuario" />
</tomcat-users>
124
Automatización 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, además 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.
Script de ejemplo para la confeccion de los datos almacenados en las tablas descritas
125
Automatización de procesos industriales
Por defecto Tomcat 3 está configurado para usar el fichero XML para
autentificar los usuarios. La parte que lo indica es la siguiente:
<Realm className="org.apache.catalina.realm.JDBCRealm"
connectionName="tomcat"
connectionPassword="tomcat"
driverName="com.mysql.jdbc.Driver"
126
Automatización de procesos industriales
connectionURL="jdbc:mysql://localhost:3306/usuarios"
userTable="usuarios"
userNameCol="usuario"
userCredCol="password"
userRoleTable="roles"
roleNameCol="rol"
/>
127
Automatización de procesos industriales
Autentificación BASIC.
<!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
están protegidos. Para este ejmplo estarán TODOS
128
Automatización de procesos industriales
los ficheros de la aplicacion (se pedirá autentificación con cualquier petición de acceso).
Se pueden indicar tantos elementos url-pattern como sean necesarios
-->
<url-pattern>/*</url-pattern>
<!--
A continuación se indican los métodos 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 método por el que se realizará la autentificación. BASIC.
-->
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Ejemplo de autentificacion basica</realm-name>
</login-config>
129
Automatización de procesos industriales
</web-app>
Autentificación FORM.
<html>
<head>
<title>
Login de aplicacion que requiere autentificacion
</title>
</head>
<body>
<h2>Login</h2>
<br>
130
Automatización 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>
<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 atención en los distintos valores del formulario, ya que estos son
estandar definidos en la especificación 2.2 con el fin de conseguir la portabilidad de las
aplicaciones entre los servidores.
131
Automatización de procesos industriales
j_username y j_password.
<login-config>
<auth-method>FORM</auth-method>
<realm-name>
Ejemplo de autentificacion por medio de formulario
</realm-name>
<form-login-config>
<!—
132
Automatización de procesos industriales
Otra solución sería decirle a Apache que le pasase todas las peticiones de nuestra
aplicación a Tomcat. Aunque el ejemplo que se mostrará consistirá en pasarle solo las
peticiones de los recursos protegidos.
133
Automatización de procesos industriales
1. Introducción a XML
134
Automatización de procesos industriales
<?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>
135
Automatización de procesos industriales
136
Automatización de procesos industriales
Etiquetas vacías
137
Automatización de procesos industriales
Los documentos XML sólo permiten un elemento raíz, del que todos los
demás sean parte. Es decir, la jerarquía de elementos de un documento XML
bien-formado sólo puede tener un elemento inicial.
Valores de atributos
<A HREF=http://www.disney.com/>
<A HREF="http://www.developer.com/">
138
Automatización de procesos industriales
Nombrando cosas
139
Automatización de procesos industriales
Marcado y datos
140
Automatización de procesos industriales
4. El Prólogo
141
Automatización de procesos industriales
Ejemplos:
142
Automatización de procesos industriales
5. Elementos
<nombre>Fulano Mengánez</nombre>
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.
<identificador DNI="23123244"/>
<linea-horizontal/>
143
Automatización de procesos industriales
6. Atributos
<gato><nombre>Micifú</nombre><raza>Persa</raza></gato>
<gato raza="Persa">Micifú</gato>
144
Automatización de procesos industriales
7. Entidades predefinidas
8. Secciones CDATA
145
Automatización de procesos industriales
9. Comentarios
<?xml version="1.0"?>
<!-- Aquí va el tipo de documento -->
<!DOCTYPE EJEMPLO [
<!-- Esto es un comentario -->
<!ELEMENTO EJEMPLO (#PCDATA)>
<!-- ¡Eso es todo por ahora! -->
]>
146
Automatización de procesos industriales
Veamos un ejemplo:
<!DOCTYPE etiqueta[
<!ELEMENT etiqueta (nombre, calle, ciudad, pais, codigo)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT calle (#PCDATA)>
147
Automatización de procesos industriales
<etiqueta>
<nombre>Fulano Mengánez</nombre>
<calle>c/ Mayor, 27</calle>
<ciudad>Valderredible</ciudad>
<pais>España</pais>
<codigo>39343</codigo>
</etiqueta>
<?xml version="1.0"?>
<!DOCTYPE coche SYSTEM "http://www.sitio.com/dtd/coche.dtd">
<coche>
<modelo>...</modelo>
...
</coche>
148
Automatización de procesos industriales
Por ejemplo:
<receta>
<titulo>...</titulo>
<ingredientes>...</ingredientes>
<procedimiento>...</procedimiento>
</receta>
Pero no este:
<receta>
<parrafo>Esto es un párrafo</parrafo>
<titulo>...</titulo>
<ingredientes>...</ingredientes>
149
Automatización de procesos industriales
<procedimiento>...</procedimiento>
</receta>
La especificación de contenido puede ser de cuatro tipos:
EMPTY
ANY
Mixed
150
Automatización de procesos industriales
Element
151
Automatización de procesos industriales
La barra vertical "|" indica una opción. Es decir, <aviso> puede contener o
bien un
<parrafo> o bien un <grafico>. El número de opciones no está limitado a dos, y
se pueden agrupar usando paréntesis.
152
Automatización de procesos industriales
<mensaje prioridad="urgente">
<de>Alfredo Reino</de>
<a>Hans van Parijs</a>
<texto
idioma="holandés"> Hallo
Hans, hoe gaat het?
...
</texto>
</mensaje>
Otra diferencia entre los atributos y los elementos, es que cada uno de
los atributos sólo se puede especificar una vez, y en cualquier orden.
153
Automatización de procesos industriales
154
Automatización de procesos industriales
Los atributos CDATA (character data) son los más sencillos, y pueden
contener casi cualquier cosa. Los atributos NMTOKEN (name token) son
parecidos, pero sólo aceptan los caracteres válidos para nombrar cosas (letras,
números, puntos, guiones, subrayados y los dos puntos).
<mensaje fecha="15-7-1999">
155
Automatización de procesos industriales
Atributos ID e IDREF
156
Automatización de procesos industriales
Una entidad puede no ser más que una abreviatura que se utiliza como
una forma corta de algunos textos. Al usar una referencia a esta entidad, el
analizador sintáctico reemplaza la referencia con su contenido. En otras
ocasiones es una referencia a un objeto externo o local.
Internas o Externas
Analizadas o No
analizadas Generales o
Parámetro
<!DOCTYPE texto[
<!ENTITY alf "Alien Life Form">
]>
157
Automatización de procesos industriales
Entidades no analizadas
<!DOCTYPE texto[
<!ENTITY % elemento-alf "<!ELEMENT ALF (#PCDATA)>">
%elemento-alf;
]>
158
Automatización de procesos industriales
<!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 podría ser un DTD que nos defina un lenguaje de marcado para una base
de datos de personas con direcciones e-mail.
<?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>
<?xml version="1.0"?>
159
Automatización de procesos industriales
160
Automatización de procesos industriales
• Son extensibles.
<documento xmlns="x-schema:personaSchema.xml">
<persona id="fulano">
<nombre>Fulano Menganez</nombre>
</persona>
</documento>
161
Automatización 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>
ElementType
AttributeType
attribute
162
Automatización de procesos industriales
element
163
Automatización de procesos industriales
Una hoja de estilo XSL es una serie de reglas que determinan cómo va
a ocurrir la transformación. Cada regla se compone de un patrón (pattern) y
una acción 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 también transformado. La hoja de estilo tiene una
regla raíz que, además de ser procesada, llama a las reglas adecuadas para los
elementos hijos.
<libro>
<titulo>Un título cualquiera</titulo>
<capitulos>
<capitulo>
<titulo>Capítulo 1</titulo>
164
Automatización de procesos industriales
<parrafo>....</parrafo>
<parrafo>....</parrafo>
</capitulo>
<capitulo>
<titulo>Capítulo 2</titulo>
...
</capitulo>
</capitulos>
</libro>
<HTML>
<HEAD>
<TITLE>Un título cualquiera</TITLE>
</HEAD>
<BODY>
<H1>Un título cualquiera</H1>
<HR>
<H2>Capítulo 1</H2>
<P>...</P>
<P>...</P>
<HR>
<H2>Capítulo 2</H2>
<P>...</P>
</BODY>
</HTML>
165
Automatización de procesos industriales
<?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
Automatización de procesos industriales
Dicho esto, hay que decir que JAVA se posiciona como una opción
interesante a la hora de desarrollar aplicaciones usando XML.
Vamos a suponer que nuestro servlet carga ese fichero XML en un objeto
string de Java, que nos vamos a disponer a analizar.
167
Automatización de procesos industriales
parser.setWarningNoXMLDecl(false);
parser.setWarningNoDoctypeDecl(false);
parser.setKeepComment(false);
parser.setProcessNamespace(false);
doc = parser.readStream;
bais.close();
Vamos a ver los métodos que tenemos para navegar el DOM (definidos en
org.w3c.dom.Node)
168
Automatización de procesos industriales
XLink es una aplicación XML que intenta superar las limitaciones que
tienen los enlaces de hipertexto en HTML. Es una especificación que todavía
está en desarrollo, y que todavía no tiene "rodaje" en el mundo real.
Los enlaces en HTML tienen una serie de limitaciones, que los hacen
bastante pobres. Por ejemplo, sólo tienen dos extremos, la terminación origen y la
destino, y son unidireccionales.
<a href="http://www.coca-cola.com/">Coca-Cola</a>
169
Automatización de procesos industriales
170
Automatización de procesos industriales
SISTEMAS EXPERTOS
1. Introducción
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 más fácilmente.
171
Automatización de procesos industriales
Los sistemas expertos siguen una filosofía diferente a los programas clásicos.
Esto queda reflejado en la tabla 1, que resume las diferencias entre ambos tipos de
procesamiento.
172
Automatización de procesos industriales
Sistema clásico.
No da explicaciones, los datos sólo se usan o escriben Una parte del sistema
experto la forma el módulo de explicación
Los cambios son tediosos Los cambios en las reglas son fáciles El sistema sólo
opera completo El sistema puede funcionar con pocas reglas
173
Automatización de procesos industriales
174
Automatización de procesos industriales
175
Automatización de procesos industriales
Los sistemas expertos son buenos para predecir resultados futuros a partir del
conocimiento que tienen. Los sistemas meteorológicos y de inversión en bolsa son
ejemplos de utilización en este sentido. El sistema PROSPECTOR es de este tipo.
El diseño 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 diseñador a completar el diseño de forma competente y dentro de los límites de
costes y de tiempo. Se diseñan circuitos electrónicos, circuitos integrados, tarjetas de
circuito impreso, estructuras arquitectónicas, coches, piezas mecánicas, etc.
176
Automatización de procesos industriales
177
Automatización de procesos industriales
178
Automatización de procesos industriales
Finalmente, hay que tener en cuenta los problemas sociales que acarrean al ser
susceptibles de influir en la estructura y número de empleos.
179
Automatización de procesos industriales
Las reglas suelen almacenarse en alguna secuencia jerárquica lógica, 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 vehículos, podría ser la
siguiente:
180
Automatización de procesos industriales
• Regla 1:
SI tiene 2 ruedas
Y utiliza motor
• Regla 2:
SI tiene 2 ruedas
• Regla 3:
SI tiene 4 ruedas
Y utiliza motor
ENTONCES es un coche
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 resolución de un
problema. Contiene conocimiento sobre el caso concreto en que se trabaja. También se
181
Automatización de procesos industriales
A este enfoque se le llama también 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
método, el usuario comenzará introduciendo datos del problema en la base de datos del
sistema.
182
Automatización de procesos industriales
Existen también enfoques mixtos en los que se combinan los métodos guiados
por datos con los guiados por objetivos.
183
Automatización de procesos industriales
184
Automatización de procesos industriales
R = {R1, R2}
R = {R2, R3}
185
Automatización de procesos industriales
R = {R3}
R = {R1}.
186
Automatización de procesos industriales
METODOLOGÍA
1. Introducción:
Las características generales que debe reunir un programa son las siguientes:
187
Automatización de procesos industriales
2. Metodología de desarrollo:
Identificación de necesidades
Es una etapa que no suele aparecer, como tal, en diferentes metodologías, sino
que aparece como una actividad más a realizar al comienzo del proyecto. Sirve como
soporte a la petición que el usuario o cliente nos realiza, para determinar las pautas
generales de sus necesidades y del contexto del sistema.
Análisis de requerimientos
188
Automatización de procesos industriales
Estudio de viabilidad.
El objetivo de esta fase es definir las posibles soluciones que satisfagan tanto los
requerimientos como las restricciones de diseño.
Cada alternativa deberá dar una visión externa del sistema, los requerimientos
físicos que deben ser considerados, así como los aspectos organizativos, operativos,
técnicos y económicos asociados. En estos factores nos fijaremos para elegir una de las
opciones propuestas.
Diseño
Programación
189
Automatización de procesos industriales
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.
Implantación.
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
Producción, para realizar la explotación del sistema.
Mantenimiento
190
Automatización de procesos industriales
3. Análisis y diseño
El análisis y diseño de este programa, se realiza mediante casos de uso y OID’s (Object
Interaction Diagrams).
4. Casos de uso:
• Manipular dispositivo
• Activar estado automático del sistema
• Activar estado manual del sistema
• Añadir sensor-Eliminar sensor
• Modificar sensor
• Añadir dispositivo
• Eliminar dispositivo
• Modificar dispositivo
• Crear programa
• Eliminar programa
• Modificar programa
• Activar un programa
• Visualizar Log del sistema
• Visualizar Log de dispositivo
191
Automatización de procesos industriales
Escenario Primario:
Extensiones:
Resultado de la operación:
192
Automatización de procesos industriales
Escenario Primario:
Extensiones:
193
Automatización de procesos industriales
5a. Las acciones disparadas por el programador son iguales a las últimas órdenes
emitidas
Resultado de la operación:
194
Automatización de procesos industriales
Escenario primario:
195
Automatización de procesos industriales
Escenario primario:
Extensiones:
Descripción de datos:
196
Automatización de procesos industriales
Escenario primario:
Extensiones:
3a. La zona está en estado automático y el sensor a eliminar es tenido en cuenta por el
programa cargado en zona
Descripción de datos:
197
Automatización de procesos industriales
Escenario primario:
Descripción de datos:
198
Automatización de procesos industriales
Escenario primario:
Extensiones:
Descripción de datos:
199
Automatización de procesos industriales
Escenario primario:
Extensiones:
Descripción de datos:
200
Automatización de procesos industriales
Escenario primario:
Descripción de datos:
201
Automatización de procesos industriales
Escenario primario:
Extensiones
202
Automatización de procesos industriales
Descripción de datos:
• Regla
o Sensor
o Operador
o Valor
• Decisión
o Dispositivo
o Orden
o Valor
203
Automatización de procesos industriales
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
Descripción de datos
204
Automatización de procesos industriales
Escenario primario:
1. El sistema muestra las líneas del programa que forman el programa seleccionado
2. El usuario selecciona la línea de programa a modificar
3. El usuario introduce los datos del programa
4. El usuario introduce las líneas del programa (RN003)
Extensiones
Descripción de datos:
205
Automatización de procesos industriales
• Regla
o Sensor
o Operador
o Valor
• Decisión
o Dispositivo
o Orden
o Valor
206
Automatización de procesos industriales
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
207
Automatización de procesos industriales
Descripción de datos:
Programa de zona:
Aquel programa que será activado cuando el sistema esté en estado automático.
208
Automatización de procesos industriales
Escenario primario.
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.
Descripción de datos
209
Automatización de procesos industriales
Escenario primario
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
Automatización de procesos industriales
5. Reglas de negocio
(RN001)
(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)
(RN004)
211
Automatización de procesos industriales
6. Secuencia de eventos:
Estado de la zona:
• Estado manual
• Estado automático
Activar estado
manual
212
Automatización de procesos industriales
Manipulación de dispositivos
213
Automatización de procesos industriales
Gestión PLA:
• Eliminar Programa
• Modificar Programa
• Crear Programa
•
o Definición del programa
o Definición de sensores y dispositivos
o Definición de reglas
Nuevo Programa
Definición
Sensores/dispositivos
Eliminar programa
Definición de reglas
Modificar Programa
214
Automatización de procesos industriales
Configuración
• Configuración dispositivos
• Configuración sensores
Añadir dispositivo
Eliminar dispositivo
Modificar dispositivo
Añadir sensor
Eliminar sensor
Modificar sensor
215
Automatización de procesos industriales
Visualización de logs
• Log de dispositivo
Selección
dispositivo
216
Automatización de procesos industriales
7. Diagramas de Clase
217
Automatización de procesos industriales
218
Automatización de procesos industriales
219
Automatización de procesos industriales
220
Automatización de procesos industriales
221
Automatización de procesos industriales
222
Automatización de procesos industriales
223
Automatización de procesos industriales
224
Automatización de procesos industriales
225
Automatización de procesos industriales
226
Automatización de procesos industriales
227
Automatización de procesos industriales
228
Automatización de procesos industriales
229
Automatización de procesos industriales
230
Automatización de procesos industriales
8. Diagramas de secuencia.
Inicio del sistema:
Activar automatización:
Gestionar dispositivos:
Gestionar Sensores:
Gestionar Programas:
231
Automatización de procesos industriales
232
Automatización de procesos industriales
233
Automatización de procesos industriales
234
Automatización de procesos industriales
235
Automatización de procesos industriales
236
Automatización de procesos industriales
237
Automatización de procesos industriales
238
Automatización de procesos industriales
239
Automatización de procesos industriales
240
Automatización de procesos industriales
241
Automatización de procesos industriales
242
Automatización de procesos industriales
243
Automatización de procesos industriales
244
Automatización de procesos industriales
245
Automatización de procesos industriales
246
Automatización de procesos industriales
247
Automatización de procesos industriales
248
Automatización de procesos industriales
249
Automatización de procesos industriales
250
Automatización de procesos industriales
251
Automatización de procesos industriales
Descripción:
Detalles:
Hace uso de dos baterías estándar modelo AAA, mediante estas baterías el
dispositivo mantiene en funcionamiento su reloj interno, realiza la programación de los
eventos programados y control las macros definidas durante un tiempo de quinientas
horas incluso si la electricidad de la instalación deja de estar disponible. Esto permite
desconectar el controlador CM11A de la toma de corriente y colocarlo en el lugar mas
útil.
252
Automatización de procesos industriales
253
Automatización de procesos industriales
Descripción:
Tiene una función de arranque progresivo que aumenta la tensión desde cero por
ciento hasta alcanzar la última tensión 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 tensión automáticamente a la máxima
potencia programada con anterioridad. El intervalo de tiempo entre el apagado o el
encendido completo es de dos segundos.
254
Automatización de procesos industriales
Descripción:
El Módulo de Lámpara –
casquillo rosca- LM15 es un dispositivo
del Sistema X-10, que se instala en el
casquillo E-27 tradicional de las
lámparas, y en él se enrosca la bombilla.
Detalles:
255
Automatización de procesos industriales
Tensión de Alimentación:
Carga permitida:
256
Automatización de procesos industriales
PRESUPUESTO
1. Toma de especificaciones
2. Análisis y diseño
3. Prototipado
4. Construcción y desarrollo
5. Validación y pruebas
6. Documentación
7. Instalación y puesta en marcha
8. Garantía a tres meses
Personas Perfiles
1 Director de proyecto
1 Analista programador
2 Programadores
257
Automatización de procesos industriales
Plan de proyecto
Toma especificaciones
Análisis y
diseño
Prototipado
Codificación
Validación y pruebas
Documetanción
Instalación y puesta
en marcha
Sem Sem Sem Sem Sem Sem Sem Sem Sem Sem Sem Sem
258
Automatización de procesos industriales
Estudio económico
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. €/día Días 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
Resumen
Equipo humano 151.248,00
Occupancy 14.832,00
Transportes 2.447,28
Garantía 17.798,40
186.325,68
TOTAL + IVA
259
Automatización de procesos industriales
CONCLUSIÓN
260
Automatización de procesos industriales
hace que tenga un elevado precio, su uso está restringido sobre todo para las grandes
industrias.
261
Automatización de procesos industriales
BIBLIOGRAFÍA
Libros:
262
Automatización de procesos industriales
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
Automatización de procesos industriales
APENDICES
264
Automatización de procesos industriales
MANUAL DE USUARIO
A-1
Automatización de procesos industriales
A-2
Automatización de procesos industriales
4 6
Con la activación del estado manual (1) los controles de los dispositivos se
habilitarán, una vez habilitados el usuario puede manipular manualmente los
dispositivos disponibles en la instalación.
A-3
Automatización de procesos industriales
A-4
Automatización de procesos industriales
4. Automatización de la instalación.
Cada regla está formada por un conjunto de condiciones sobre el estado de los
sensores, las condiciones responden a tres tipos de operadores lógicos:
• 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:
Las reglas están ordenadas por prioridad, ejecutándose según los siguientes criterios.
A-5
Automatización 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.
A-6
Automatización de procesos industriales
5. Configuración de programas.
1
4
2 3
1. Selección de programas.
2. Creación de programas.
3. Edición de programas.
4. Eliminación de programas.
5. Lista de programas ya cargados en la zona
A-7
Automatización de procesos industriales
6. Creación de programas.
A-8
Automatización de procesos industriales
A-9
Automatización de procesos industriales
A-10
Automatización de procesos industriales
El tipo de dispositivo:
A-11
Automatización de procesos industriales
1
4
3
2
1. Valores de la línea
a. identificador de la línea
b. prioridad de la línea dentro del programa
2. Regla
a. Operación aritmética
b. Valor del sensor
3. Acción
a. Operación a realizar
b. Valor
4. Añadir 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 lógicos:
• 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: Activación del dispositivos a una tensión del 100%
• Off: Desactivación del dispositivo
• Dim X: Activación del dispositivo a una tensión del X%.
A-12
Automatización de procesos industriales
1 3
4
2
5
Una vez añadida la línea de programa ésta aparecerá dentro del conjunto de
líneas que forman el programa (1). Las líneas están ordenadas por prioridad ya que es
por este orden por el que se ejecutarán.
Una vez modificado el valor deseado se volverá a pulsar al botón añadir (4) y la
línea quedará modificada.
A-13
Automatización de procesos industriales
7. Edición de programas
Ventana de modificación:
A-14
Automatización de procesos industriales
Una vez modificado el valor deseado se volverá a pulsar al botón añadir (4) y la
línea quedará modificada.
A-15
Automatización de procesos industriales
8. Eliminación de programas
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.
A-16
Automatización de procesos industriales
9. Activación de programa.
A-17
Automatización de procesos industriales
A-18
Automatización de procesos industriales
4 6
Si el estado manual (1) está activado, los controles de los dispositivos estarán
habilitados y podrán ser manipulados por el usuario.
A-19
Automatización de procesos industriales
Las acciones realizadas se reflejaran en el gráfico (2), en la base de los controles (3)
y en la zona inferior derecha (6), zona dedicada a mostrar detalladamente el estado de la
instalación.
Los dispositivos disponibles serán aquellos que estén previamente configurados y
que aparecen en la zona superior izquierda (5), zona dedicada al control manual de
dispositivos.
A-20
Automatización de procesos industriales
A-21
Automatización de procesos industriales
A-22
Automatización de procesos industriales
A-23
Automatización de procesos industriales
1. Añadir
2. Modificar
3. Eliminar
A-24
Automatización de procesos industriales
1. Añadir un dispositivo
• Identificador
• Tipo
• Descripción
2. Modificar un dispositivo
3. Eliminar un dispositivo
A-25
Automatización 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 operación solicitada.
A-26
Automatización de procesos industriales
A-27
Automatización de procesos industriales
1. Añadir
2. Modificar
3. Eliminar
1. Añadir un sensor
• Identificador
• Tipo
• Descripción
2. Modificar un sensor
A-28
Automatización de procesos industriales
3. Eliminar un sensor
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 operación solicitada.
A-29