2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf ·...

25
4 2 MARCO TEÓRICO En este capítulo abordaremos temas referentes al proyecto, tales como domótica, edificios inteligentes, tipos de controladores, lenguajes de programación que pueden utilizarse para la realización de este proyecto, y se presentaran diversos conceptos tales como desarrollo web, así como beneficios, ventajas y desventajas. 2.1 DOMÓTICA 2.1.1 ¿Qué es la domótica? La domótica es la automatización y control centralizado y/o remoto de aparatos y sistemas eléctricos y electrotécnicos en la vivienda. Los objetivos principales de la domótica es aumentar el confort, ahorrar energía y mejorar la seguridad. (Huidrobo Moya, J. M., 2010). Figura 1. Ejemplos de dispositivos de un Sistema de Domótica. 2.1.2 Los dispositivos Existe una gran variedad para la solución con domótica la cual varía desde un único dispositivo, que realiza una sola acción, hasta amplios sistemas que controlan prácticamente todas las instalaciones dentro de un edificio, laboratorio o vivienda. Los distintos dispositivos de los sistemas de domótica se pueden clasificar en los siguientes grupos: Controlador, son los dispositivos que gestionan el sistema según la programación y la información que reciben. Puede haber un solo

Transcript of 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf ·...

Page 1: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

4

2 MARCO TEÓRICO En este capítulo abordaremos temas referentes al proyecto, tales como

domótica, edificios inteligentes, tipos de controladores, lenguajes de programación

que pueden utilizarse para la realización de este proyecto, y se presentaran

diversos conceptos tales como desarrollo web, así como beneficios, ventajas y

desventajas.

2.1 DOMÓTICA

2.1.1 ¿Qué es la domótica?

La domótica es la automatización y control centralizado y/o remoto de

aparatos y sistemas eléctricos y electrotécnicos en la vivienda. Los objetivos

principales de la domótica es aumentar el confort, ahorrar energía y mejorar la

seguridad. (Huidrobo Moya, J. M., 2010).

Figura 1. Ejemplos de

dispositivos de un Sistema de

Domótica.

2.1.2 Los dispositivos

Existe una gran variedad

para la solución con domótica la

cual varía desde un único

dispositivo, que realiza una sola

acción, hasta amplios sistemas

que controlan prácticamente

todas las instalaciones dentro de

un edificio, laboratorio o

vivienda. Los distintos dispositivos de los sistemas de domótica se pueden

clasificar en los siguientes grupos:

� Controlador, son los dispositivos que gestionan el sistema según la

programación y la información que reciben. Puede haber un solo

Page 2: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

5

controlador, o varios distribuidos por el sistema.

� Actuador, es un dispositivo capaz de ejecutar y/o recibir una orden

del controlador y realizar una acción sobre un aparato o sistema

(encendido/apagado, subida/bajada, apertura/cierre, etc.).

� Sensor, es el dispositivo que monitoriza el entorno captando

información que transmite al sistema (sensores de agua, gas, humo,

temperatura, viento, humedad, lluvia, iluminación, etc.).

� Bus, es el medio de transmisión que transporta la información entre

los distintos dispositivos por un cableado propio, por las redes de

otros sistemas (red eléctrica, red telefónica, red de datos) o de forma

inalámbrica.

� Interface, se refiere a los dispositivos (pantallas, móvil, internet,

conectores) y los formatos (binario, audio) en que se muestra la

información del sistema para los usuarios (u otros sistemas) y donde

los mismos pueden interactuar con el sistema.

Es preciso destacar que todos los dispositivos del sistema de domótica no

tienen que estar físicamente separados, sino varias funcionalidades pueden estar

combinadas en un equipo. (Huidrobo Moya, J. M., 2010).

2.1.3 ¿Cómo actúan los sistemas de domótica?

Los sistemas de domótica actúan sobre, e interactúan con, los aparatos y

sistemas eléctricos del edificio, laboratorio o vivienda según:

� El programa y su configuración.

� La información recogida por los sensores del sistema.

� La información proporcionada por otros sistemas interconectados.

� La interacción directa por parte de los usuarios.

2.1.4 Arquitectura

La arquitectura de los sistemas de domótica hace referencia a la estructura

Page 3: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

6

de su red. La clasificación se realiza en base de donde reside la “inteligencia” del

sistema domótico (Huidrobo Moya, J. M., 2010). Las principales arquitecturas son:

� Arquitectura centralizada, es un sistema de domótica de arquitectura

centralizada, un controlador centralizado, envía la información a los

actuadores e interfaces según el programa, la configuración y la

información que recibe de los sensores, sistemas interconectados y

usuarios (Huidrobo Moya, J. M., 2010).

Figura 2. Esquema de Arquitectura de Sistema Domótica Centralizada.

� Arquitectura descentralizada, aquí existen varios controladores,

interconectados por un bus, que envía información entre ellos y a los

actuadores e interfaces conectados a los controladores, según el programa,

la configuración y la información que recibe de los sensores, sistemas

interconectados y usuarios (Huidrobo Moya, J. M., 2010)..

Page 4: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

7

Figura 3. Esquema de Arquitectura de Sistema Domótica Descentralizada.

� Arquitectura distribuida, cada sensor y actuador es también un controlador

capaz de actuar y enviar información al sistema según el programa, la

configuración, la información que capta por sí mismo y la recibe de los otros

dispositivos del sistema (Huidrobo Moya, J. M., 2010).

Figura 4. Esquema de Arquitectura de Sistema Domótica Distribuida.

� Arquitectura Híbrida/Mixta, se combinan las arquitecturas de los sistemas

centralizados, descentralizados y distribuidos. A la vez que puede disponer

de un controlador central o varios controladores descentralizados, los

dispositivos de interfaces, sensores y actuadores pueden también ser

Page 5: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

8

controladores (como un sistema distribuido) y procesar la información

según el programa, la configuración, la información que capta por sí mismo,

y tanto actuar como enviarla a otros dispositivos de la red, sin que

necesariamente pase por otro controlador (Huidrobo Moya, J. M., 2010).

Figura 5. Esquema de Arquitectura de Sistema Domótica Híbrida/Mixta.

2.1.5 Medios de Transmisión/Bus

El medio de transmisión de la información, interconexión y control, entre los

distintos dispositivos de los sistemas de domótica puede ser de varios tipos. Los

principales medios de transmisión son:

� Cableado propio, la transmisión por un cableado propio es el medio

más común para los sistemas de domótica, principalmente son del

tipo: par apantallado, par trenzado (1 a 4 pares), coaxial o fibra

óptica.

� Cableado compartido, varias soluciones utilizan cables compartidos

y/o redes existentes para la transmisión de su información, por

ejemplo la red eléctrica (corrientes portadoras), la red telefónica o la

red de datos.

� Inalámbrica, muchos sistemas de domótica utilizan soluciones de

Page 6: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

9

transmisión inalámbrica entre los distintos dispositivos,

principalmente tecnologías de radiofrecuencia o infrarrojo.

Cuando el medio de transmisión esta utilizado para transmitir información

entre dispositivos con la función de “controlador” también se denomina Bus. El bus

también se utiliza muchas veces para alimentar a los dispositivos conectados a él

(Huidrobo Moya, J. M., 2010)..

2.1.6 Los protocolos de domótica

Los protocolos de comunicación son los procedimientos utilizados por los

sistemas de domótica para la comunicación entre todos los dispositivos con la

capacidad de controlador (Huidrobo Moya, J. M., 2010)..

Existe una gran variedad de protocolos, algunos específicamente

desarrollados por la domótica y otros protocolos con su origen en otros sectores,

pero adaptados para los sistemas de domótica. Los protocolos pueden ser del

tipo estándar abierto (uso libre para todos), estándar bajo licencia (abierto para

todos bajo licencia) o propietario (uso exclusivo del fabricante o los fabricantes

propietarios).

2.1.7 Elección de sistemas de domótica

No existe ningún sistema de domótica que es el mejor para todas las

situaciones, desde todos los aspectos. Cada uno de los sistemas de domótica

tienen sus ventajas e inconvenientes, , sin embargo, hay una gran oferta en el

mercado y para cada situación hay uno o varios sistemas que se adaptarán a la

mayoría de los criterios que se puede exigir de un sistema de domótica (Huidrobo

Moya, J. M., 2010).

Para una elección de sistema de domótica adecuada es preciso tener en

cuenta los siguientes aspectos:

� Tipología y tamaño, la tipología del proyecto arquitectónico

(apartamento, adosado, vivienda unifamiliar), y su tamaño.

� Nueva o construida, si la vivienda no se ha construido todavía hay

Page 7: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

10

prácticamente libertad total para incorporar cualquier sistema, pero si

la vivienda está ya construida, hay que tener en cuenta la obra civil

que conllevan los distintos sistemas.

� Las funcionalidades, las funcionalidades necesarias de un sistema

de domótica suele basarse en la estructura familiar (o la composición

de los habitantes) y sus hábitos y si el uso es para primera vivienda,

segunda vivienda o vivienda para alquiler, etc.

� La integración, además de los aparatos y sistemas que se controla

directamente con el sistema de domótica hay que definir con que

otros sistemas del hogar digital que se quiere interactuar.

� Las interfaces, hay una gran variedad de interfaces, como

pulsadores, pantallas táctiles, voz, presencia, móvil, web, etc. para

elegir e implementar. Los distintos sistemas disponen de varias

interfaces.

� El presupuesto, el coste varía mucho entre los distintos sistemas,

hay que equilibrar el presupuesto con los otros factores que se desea

cumplir.

� Reconfiguración y mantenimiento, hay que tener en cuenta con qué

facilidad se puede reconfigurar el sistema por parte del usuario y por

otro lado los servicios de mantenimiento y post venta que ofrecen los

fabricantes y los integradores de sistemas.

2.2 EDIFICIOS INTELIGENTES

Es muy difícil dar con exactitud una definición sobre un edificio inteligente,

por lo que se citarán dos diferentes conceptos:

� Según Intelligent Building Institute (IBI), es aquel que proporciona un

ambiente de trabajo productivo y eficiente a través de la optimización de

sus cuatro elementos básicos; estructura, sistemas, servicio y

administración, con las interrelaciones entre ellos. Los edificios inteligentes

Page 8: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

11

ayudan a los propietarios, operadores y ocupantes, a realizar sus

propósitos en términos de costo, confort, comodidad, seguridad, flexibilidad

y comercialización.

� Según la Compañía Honeywell, se considera como edificio inteligente aquél

que posee un diseño adecuado que maximiza la funcionalidad y eficiencia

en favor de los ocupantes, permitiendo la incorporación y/o modificación de

los elementos necesarios para el desarrollo de la actividad cotidiana, con la

finalidad de lograr un costo mínimo de ocupación, extender sus ciclo de

vida y garantizar una mayor productividad estimulada por un ambiente de

máximo confort.

2.2.1 Objetivos

Los objetivos o finalidad de un edificio inteligente, son los siguientes:

� Arquitectónicos, satisfacer las necesidades presentes y futuras de los

ocupantes, propietarios y operadores del edificio; la flexibilidad, tanto en la

estructura como en los sistemas y servicios; el diseño arquitectónico

adecuado y correcto.

� Tecnológicos, la disponibilidad de medios técnicos avanzados de

telecomunicaciones; la automatización de las instalaciones; la integración

de servicios.

� Ambientales, la creación de un edificio saludable, el ahorro energético, el

cuidado del medio ambiente.

� Económicos, la reducción de los altos costos de operación y

mantenimiento; beneficios económicos para la cartera del cliente;

incremento de la vida útil del edificio.

2.3 CONTROLADORES

2.3.1 Controlador Lógico Programable (PLC)

También llamado API (autómata programable industrial) es un equipo

Page 9: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

12

electrónico, programable en lenguaje no informático, diseñado para controlar en

tiempo real y en ambiente de tipo industrial, procesos secuenciales.

Un PLC trabaja en base a la información recibida por los captadores y el

programa lógico interno, actuando sobre accionadores de la instalación (Webb,

John, 1992).

2.3.1.1 Campos de aplicación del PLC

El PLC por sus especiales características de diseño tiene un campo de

aplicación muy extenso. La constante evolución del hardware y software amplía

constantemente este campo para poder satisfacer las necesidades que se

detectan en el espectro de sus posibilidades reales (Webb, John, 1992)..

Su utilización se da fundamentalmente en aquellas instalaciones en donde

es necesario un proceso de maniobra, control, señalización, etc. Por tanto, su

aplicación abarca desde procesos de fabricación industriales de cualquier tipo a

transformaciones industriales, control de instalaciones, etc (Webb, John, 1992)..

Sus reducidas dimensiones, la extremada facilidad de su montaje, la

posibilidad de almacenar los programas para su posterior y rápida utilización, la

modificación o alteración de los mismos, etc. hace que su eficacia se aprecie

fundamentalmente en procesos en que se producen necesidades tales como:

� Espacio reducido

� Procesos de producción periódicamente cambiantes

� Procesos secuenciales

� Maquinaria de procesos variables

� Instalaciones de procesos complejos y amplios

� Chequeo de programación centralizada de las partes del proceso

Ejemplo de aplicaciones generales:

� Maniobra de máquinas

� Maquinaria industrial de plástico

Page 10: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

13

� Maquinaria de embalajes

� Instalación de aires acondicionados, calefacción, etc.

� Instalaciones de seguridad

� Señalización y control como chequeo de programas y del estado de

procesos

2.3.1.2 Ventajas e inconvenientes del PLC

No todos los autómatas ofrecen las mismas ventajas sobre la lógica

cableada, ello es debido, principalmente, a la variedad de modelos existentes en el

mercado y las innovaciones técnicas que surgen constantemente. Por lo tanto nos

podemos referir a ventajas que proporciona una autómata de tipo medio (Webb,

John, 1992).

Ventajas:

� Menor tiempo empleado en la elaboración de proyectos debido a que no es

necesario dibujar el esquema de contactos y no es necesario simplificar las

ecuaciones lógicas ya que, por lo general la capacidad de almacenamiento

del módulo de memoria es lo suficientemente grande.

� La lista de materiales queda sensiblemente reducida.

� Posibilidad de introducir modificaciones sin cambiar el cableado ni añadir

aparatos.

� Mínimo espacio de ocupación.

� Menor coste de mano de obra de la instalación.

� Además de aumentar la fiabilidad del sistema, al eliminar contactos móviles,

los mismo autómatas pueden indicar y detectar averías.

� Posibilidad de gobernar varias máquinas con un mismo autómata.

� Menor tiempo para la puesta en funcionamiento del proceso al quedar

reducido el tiempo cableado.

� Si por alguna razón la máquina queda fuera de servicio, autómata sigue

Page 11: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

14

siendo útil para otra máquina o sistema de producción.

Inconvenientes

� Como inconvenientes podríamos hablar, en primer lugar, de que hace falta

un programador, lo que obliga a adiestrar a uno de los técnicos en tal

sentido, pero hoy en día ese inconveniente está solucionado porque las

universidades ya se encargan de dicho adiestramiento.

� El coste inicial también puede ser un inconveniente.

2.3.1.3 Funciones básicas de un PLC

� Detección, lectura de la señal de los captadores distribuidos por el sistema

de fabricación.

� Mando, elaborar y enviar las acciones al sistema mediante los accionadores

y preaccionadores.

� Dialogo hombre máquina, mantener un dialogo con los operarios de

producción, obedeciendo sus consignas e informando del estado del

proceso.

� Programación, para introducir, elaborar y cambiar el programa de aplicación

del autómata. El dialogo de programación debe permitir modificar el

programa incluso con el autómata controlando la máquina.

Nuevas funciones:

� Redes de comunicación, permiten establecer comunicación con otras

partes de control. Las redes industriales permiten la comunicación y el

intercambio de datos entre autómatas a timepo real. En unos cuantos

milisegundos pueden enviarse telegramas en intercambiar tablas de

memoria compartida.

� Sistemas de supervisión, también los autómatas permiten comunicarse con

ordenadores provistos de programas de supervisión industrial. Esta

comunicación se realiza por una red industrial o por medio de una simple

conexión por el puerto serie del ordenador.

Page 12: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

15

� Control de procesos continuos, además de dedicarse al control de sistemas

de eventos discretos los autómatas llevan incorporadas funciones que

permiten el control de procesos continuos. Disponen de módulos de entrada

y salida analógicas y la posibilidad de ejecutar reguladores PID que están

programados en el autómata.

� Entradas-Salidas distribuidas, los módulos de entrada salida no tienen por

qué estar en el armario del autómata. Pueden estar distribuidos por la

instalación, se comunican con la unidad central del autómata mediante un

cable de red.

� Buses de campo, mediante un solo cable de comunicación se pueden

conectar al bus captadores y accionadores, reemplazando al cableado

tradicional. El autómata consulta cíclicamente el estado de los captadores y

actualiza el estado de los accionadores.

2.3.2 Controlador de Interfaz periférico (PIC)

Los PIC son una familia de microcontroladores de tipo RISC fabricados por

Microship Technology Inc. y derivados del PIC1650, originalmente desarrollado por

la división de microelectrónica de General Instrument. (Webb, John, 1992).

Originalmente se diseño para ser usado con la nueva CPU de 16 bits

CP16000. Siendo en general una buena CPU, ésta tenia malas prestaciones de

entrada y salida, y el PIC de 8 bits se desarrolló en 1975 para mejorar el

rendimiento del sistema quitando peso de E/S a la CPU. El PIC utilizaba

microcódigo simple almacenado en ROM para realizar estas tareas, se trata de un

diseño RISC que ejecuta una instrucción cada 4 ciclos del oscilador (Webb, John,

1992).

El PIC usa un juego de instrucciones tipo RISC, cuyo número puede variar

desde 35 para PIC's de gama baja a 70 para los de gama alta. Las instrucciones

se clasifican entre las que realizan operaciones entre el acumulador y una

constante, entre el acumulador y una posición de memoria, instrucciones de

condicionamiento y de salto/retorno, implementación de interrupciones y una para

Page 13: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

16

pasar a modo de bajo consumo llamado sleep. Microship vende compiladores para

los PIC's de gama alta (Webb, John, 1992)..

2.3.2.1 Arquitectura central del PIC

La arquitectura del PIC es sumamente minimalista. Esta caracterizada por

las siguientes prestaciones:

� Área de código y de datos separadas.

� Un reducido número de instrucciones de largo fijo.

� La mayoría de las instrucciones se ejecutan en un solo ciclo de ejecución,

con ciclos de único retraso en las bifurcaciones y saltos.

� Un solo acumulador.

� Todas las posiciones de la RAM funcionan como registros de origen y/o

destino de operaciones matemáticas y otras funciones.

� Una pila de hardware para almacenar instrucciones de regreso de

funciones.

2.3.2.2 Ventajas del PIC

� Incluye los siguientes elementos en un solo Circuito Integrado: micro de 40

pines, una memoria RAM de 28 pines, una memoria ROM de 28 pines y un

decodificador de direcciones de 18 pines.

� Esto implica una gran ventaja en cuanto a su costo que es mucho menor a

tener que conseguir las piezas individualmente.

� El tiempo de desarrollo del proyecto electrónico se disminuye

considerablemente.

2.3.3 Computadoras

Una computadora es un sistema digital con tecnología microelectrónica

capaz de procesar datos a partir de un grupo de instrucciones denominado

programa. La estructura básica de una computadora incluye microprocesador

Page 14: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

17

(CPU), memoria y dispositivos de entrada/salida, junto a los buses que permiten la

comunicación entre ellos. La característica principal que la distingue de otros

dispositivos similares, como una calculadora no programable, es que puede

realizar tareas muy diversas cargando distintos programas en la memoria para que

los ejecute el procesador. (Webb, John, 1992).

2.3.3.1 Ventajas y desventajas de las computadoras

La utilización de las computadoras para la realización de las actividades

cotidianas, laborales y escolares, trae consigo muchas ventajas, se describen

algunas:

� La computadora nunca se cansa, distrae, o se enoja.

� La información es procesada y almacenada.

� Realiza funciones con un índice menor de errores.

� Mayor rapidez en información.

� Se convierte en un medio de aprendizaje.

Por otra parte podrían presentarse algunas desventajas con la utilización de

las mismas:

� Representan una fuerte inversión, ya que los equipos son costosos y

requieren el acondicionamiento del área laboral.

� El cambio constante de la tecnología.

2.3.4 Controlador de Alta Disponibilidad (PAC)

Es una solución de alto rendimiento con opciones de redundancia

extremadamente económicas para dotar a sus procesos de un alto grado de

disponibilidad. La unidad de control y el sistema E/S son la base para un completo

entorno de control y registro distribuido con capacidad para realizar control

analógico continuo, lógico y secuencial combinado con registro seguro de datos en

el punto de medición. El resultado es un proceso con la máxima rentabilidad.

(Webb, John, 1992).

Page 15: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

18

2.3.4.1 Características del PAC

Si se necesita sencillez e innovación, este tipo de controlador de

automatización es ideal. Cuenta con lo siguiente:

� Módulos de intercambio directo (Hot Swap).

� Funcionalidad de E/S integrada.

� Una tarjeta flash de personalidad.

� Indicación clara del estatus.

2.3.4.2 Ventajas y desventajas del PAC

Ventajas:

� Fácil de usar, instalar, mantener y ampliar.

� Es de bajo precio.

� Con la tecnología E-Sync minimiza los costes de diseño, reduce el tiempo

de instalación y simplifica el mantenimiento.

� Garantiza la máxima disponibilidad de sus procesos.

� En modo duplex ofrece redundancia de procesadores, fuente de

alimentación y red con una relación calidad-precio jamás vista.

� La redundancia de reguladores es automática.

Desventajas:

� El precio es alto comparado con el PLC.

� Aunque ha sido discutido por varios años no es confiable.

� Tiene volumen alto.

� La precisión en el proceso analógico es bajo.

� Su anti-interferencia es débil, porque maneja frecuencias altas y no resiste

a las interferencias de dispositivos con las mismas frecuencias, se acerca a

frecuencias de dispositivos comerciales.

Page 16: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

19

� Los tiempos en los intervalos de cómputo no son estables.

2.4 LENGUAJES DE PROGRAMACIÓN

2.4.1 C-Sharp (C#)

Es un lenguaje de programación orientado a objetos desarrollado y

estandarizado por Microsoft como parte de su plataforma .NET, es uno de los

lenguajes de programación diseñados para la infraestructura de lenguaje común.

Su sintaxis se deriva de C/C++ y utiliza el modelo de objetos de la

plataforma .NET, similar al de Java, aunque incluye mejoras derivadas de otros

lenguajes. El nombre de C Sharp fue inspirado por la notación musical, donde #

indica que la nota es un semitono más alta, sugiriendo que C# es superior a

C/C++ (Deitel & Deitel, 2007).

Aunque C# forma parte de la plataforma .NET, ésta es una API, mientras

que C# es un lenguaje de programación independiente diseñado para generar

programas sobre dicha plataforma. Se puede generar programas para distintas

plataformas como Windows, Unix y GNU/Linux (Deitel & Deitel, 2007).

Sus ventajas son las siguientes:

� Al empezar a programar se puede definir una o más clases dentro de

un mismo espacio de nombres.

� El tipo de datos es más amplio y definido, cada miembro de una

clase tiene un atributo de acceso de tipo público, protegido, interno,

interno protegido y privado.

� Antes que un método pueda ser redefinido en una clase base, debe

declararse como virtual, se permite la declaración de propiedades

centro de cualquier clase, permite mantener múltiples versiones de

clases en forma binaria, colocándolas en diferentes espacios de

nombres, esto permite que versiones nuevas y anteriores de

software puedan ejecutarse en forma simultánea.

Page 17: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

20

Las desventajas son las siguientes:

� Se tiene que conseguir una versión reciente de Visual Studio .NET,

por otra parte se tiene que tener algunos requerimientos mínimos del

sistema para poder trabajar adecuadamente tales como contar con

Windows, tener alrededor de 4 Gb de espacio libre en el disco duro

para la instalación, entre otras.

� Además para quien no está familiarizado con algún lenguaje de

programación, le costará más trabajo iniciarse en su uso, y si se

quiere consultar algún tutorial más explícito sobre la programación en

C# se tendría que contar además conexión a internet.

� Sus aplicaciones no se pueden instalar en cualquier sistema

operativo.

2.4.2 Java

Es un lenguaje de programación orientado a objetos, desarrollado por Sun

Microsystems a principios de los años 90. El lenguaje tiene de sintaxis parecida a

la de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas

de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa

de punteros o memoria. Con respecto a la memoria, su gestión no es un problema

ya que ésta es gestionada por el propio lenguaje y no por el programador (Deitel &

Deitel, 2008).

La implementación original y de referencia del compilador, la máquina

virtual y las bibliotecas de clases de Java fueron desarrolladas por Sun

Microsystems en 1995. Desde entonces, Sun ha controlado las especificaciones,

el desarrollo y evolución del lenguaje a través del Java Community Process, si

bien otros han desarrollado también implementaciones alternativas de estas

tecnologías de Sun, algunas incluso bajo licencias de software libre (Deitel &

Deitel, 2008).

Entre diciembre de 2006 y mayo de 2007, Sun Microsystems liberó la mayor

parte de sus tecnologías Java bajo licencia GNU GPL, de acuerdo con las

Page 18: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

21

especificaciones del Java Community Process, de tal forma que prácticamente

todo el Java de Sun es ahora software libre (Deitel & Deitel, 2008).

Ventajas:

� Portable, no debes volver a escribir el código si quieres ejecutar el

programa en otra máquina siempre y cuando se tenga instalado la

Java Virtual Machine.

� Orientado a objetos, tiene todos los beneficios que ésta metodología

puede ofrecer.

� Puede hacer cualquier cálculo matemático, procesar palabras, base

de datos, aplicaciones gráficas, animaciones, sonido, hoja de cálculo,

etc.

� Puedes hacer páginas web dinámicas.

� Simple, elimina la complejidad de lenguajes como C.

� Robusto, maneja la memoria de la computadora por ti.

Desventajas:

� La velocidad, los programas no tienden a ser muy rápidos.

� Si vas iniciando con la programación no es fácil de aprender, por la

metodología orientada a objetos.

� Es nuevo y no se conocen bien todas sus capacidades.

� Hay diferentes tipos de soporte técnico para la misma herramienta,

por lo que el análisis de la mejor opción se dificulta.

� Para manejo a bajo nivel deben usarse métodos nativos, lo que limita

la portabilidad.

� El diseño de interfaces gráficas no es simple.

� Algunas herramientas tienen un costo adicional.

Page 19: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

22

2.4.3 Python

Python nació de la mano de Guido van Rossum, un programador de origen

holandés que desarrolló este lenguaje de programación a finales de los años 80

para el Centro para las Matemáticas y la Informática de los Países Bajos que

buscaba un lenguaje de programación para ser utilizado bajo el sistema operativo

Amoeba de Andrew S. Tanenbaum que fuese capaz de sustituir al lenguaje ABC.

¿Y qué es Python? Es un lenguaje de programación de alto nivel que fue

diseñado con una sintaxis muy limpia que permite obtener códigos que son fáciles

de leer, es multiplataforma y soporta orientación a objetos, programación

imperativa e, incluso, programación funcional (Lie Hetland, Magnus, 2005).

En 1991, van Rossum publicó la versión 0.9.0 del lenguaje en el que

aparecían clases con herencia o excepciones, 1994 se formó el primer foro de

discusión alrededor de este lenguaje además de lanzarse, en el mes de enero, la

versión 1.0 del lenguaje (que incluía herramientas para programación funcional).

En 1995, van Rossum dejó el Centro para las Matemáticas y la Informática de los

Países Bajos y se marchó a Estados Unidos a continuar el desarrollo de Python en

la Corporation for National Research Initiatives hasta que en el año 2002, van

Rossum y su equipo de desarrolladores se marcharon a BeOpen.com donde

lanzaron Python 2.0 (que incluía un recolector de basura) hasta marcharse, de

nuevo, a Digital Creations (ambos movimientos motivados por la idea de trabajar

en software comercial) (Lie Hetland, Magnus, 2005).

En el año 2000 Python era demasiado popular, y según la licencia de este

lenguaje, estaba sujeto a la legislación del Estado de Virginia, lo cual era

incompatible con la licencia GPL. En el año 2001, se creó la Python Software

Foundation (PSF), siguiendo el modelo de Apache y se lanzó Python 2.1 bajo la

licencia Python Software Foundation License. Esta fundación sin ánimo de lucro, a

día de hoy, es la que salvaguarda todo el código de Python y toda su

documentación, fomenta la comunidad de desarrolladores y es la encargada de

impulsar el desarrollo de este lenguaje. Desde entonces, Python ha seguido

evolucionando hasta llegar a la actual versión 3.2 que fue lanzada el 20 de febrero

Page 20: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

23

de este año (Lie Hetland, Magnus, 2005).

2.4.3.1 Características de Python

� Simple, es un lenguaje simple y minimalístico. Leer un buen programa de

Python se siente como leer ingles (pero un muy estricto ingles). El pseudo-

código natural de Python es una de sus grandes fortalezas ya que permite

concentrarse en la solución del problema en lugar de la sintaxis, es decir el

propio lenguaje.

� Sencillo de Aprender, con Python es extremadamente sencillo de iniciarse

en la programación ya que ofrece una sintaxis extraordinariamente simple,

a la que ya hicimos mención.

� Libre y de fuente abierta, Python es un ejemplo de un FLOSS (Free/Libre

and Open Source Software – Gratuito/Libre y Software de Fuente Abierta).

En términos simples, puedes distribuir libremente copias de este software,

leer su código fuente, hacerle cambios, usar partes del mismo en nuevos

programas libres, y en general lo que quieras. FLOSS está basado en un

concepto de una comunidad que comparte conocimiento. Esta es una de

las razones por las cuales Python es tan bueno, ha sido creado y mejorado

por una comunidad que solo quiere ver un mejor Python.

� Lenguaje de alto nivel, cuando escribes programas en Python nunca debes

preocuparte por detalles de bajo nivel, como manejar la memoria empleada

por tu programa.

� Portable, debido a su naturaleza de ser Open Source, Python ha sido

portado (es decir, cambiado para hacerlo funcional) a diversas plataformas.

Todos tus programas trabajaran en alguna de estas plataformas sin requerir

cambio alguno. Sin embargo, debes ser lo suficientemente cuidadoso de

evitar las características con dependencia de sistema (es decir librerías o

módulos que funcionan sólo en un Sistema en Particular). Puedes usar

Python sobre Linux, Windows, Macintosh, Solaris, OS/2, Amiga, AROS,

AS/400, BeOS, OS/390, z/OS, Palm OS, QNX, VMS, Psion, Acom RISC

Page 21: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

24

OS, VxWorks, PlayStation, Sharp Zaurus, Windows CE y Pocket PC.

� Interpretado, un programa escrito en un lenguaje compilado como C o C++

es traducido de un lenguaje fuente (como los mencionados) en uno hablado

por la computadora (código binario) empleando un compilador con varias

opciones. Cuando ejecutas el programa, el software enlazador/cargador

solo guarda el código binario en la memoria de la computadora e inicia la

ejecución desde la primera instrucción en el programa.

Cuando se usa un lenguaje interpretado como Python, no existen compilaciones

separadas y pasos de ejecución. Solo se ejecuta el programa desde el código

fuente. Internamente, Python convierte el código fuente en una forma intermedia

llamada bytecodes, después los traduce en el lenguaje nativo de tu computadora y

ejecuta. Todo esto hace el uso de Python mucho más sencillo. Solo se debe

ejecutar el programa, no preocupa el proceso de enlazar y cargar librerías, etc.

Esto lo convierte en portable, ya que solo debes copiar el código de tu programa

Python en cualquier otro sistema y trabajará igualmente (Lie Hetland, Magnus,

2005).

� Orientado a Objetos, Python permite programación orientada a

procedimientos así como orientada a objetos. En lenguajes orientados a

procedimientos, el programa está construido sobre procedimientos o

funciones los cuales no son nada más que piezas de programa

reutilizables. En lenguajes orientados a objetos, el programa es construido

sobre objetos los cuales combinan datos y funcionalidad. Python ofrece una

manera muy poderosa y simple de emplear programación orientada a

objetos, especialmente, cuando se compara con lenguajes como C++ o

Java.

� Ampliable, si se necesita que una pieza de código se ejecute muy rápido,

puedes lograrlo escribiéndola en C y después combinarla con tu programa

de Python.

� Librerías extendidas, la librería estándar de Python es de hecho muy

amplia. Puede ayudarte a hacer varias cosas que involucran: expresiones

Page 22: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

25

regulares, generación de documentos, evaluación de unidades, pruebas,

procesos, bases de datos, navegadores web, CGI, ftp, correo electrónico,

XML, XML-RPC, HTML, archivos WAV, criptografía, GUI (graphical user

interfaces / interfase gráfica del usuario) usando Tk, y también otras

funciones dependientes del sistema. Recuerde, todo está siempre

disponible donde quiera que Python se instala y forma parte de la

denominada filosofía de Python “batteries included” (baterías incluidas).

Además de la librería estándar, hay otras librerías de calidad superior como el

Python Imaging Library que es una sorprendente librería para la manipulación de

imágenes.

2.4.4 Ensamblador

Es un lenguaje simbólico que se utiliza para codificar los programas origen

que se procesan por el ensamblador. Este lenguaje es una colección de símbolos

mnemónicos que representan operaciones (mnemónicos de instrucciones para la

máquina o de directrices para el ensamblador), nombres simbólicos, operadores y

símbolos especiales (Abel, Peter, 2005).

El lenguaje ensamblador proporciona códigos de operación de los

mnemónicos para todas las instrucciones de la máquina contenidas en la lista de

instrucciones. Además, el lenguaje ensamblador contiene mnemónicos directrices,

los cuales especifican acciones auxiliares que se llevan a cabo por el

ensamblador. Estas directrices no siempre son traducidas a lenguaje máquina. Un

programador escribe el programa origen en lenguaje ensamblador utilizando

cualquier editor de textos o procesador de palabras que sea capaz de producir una

salida de texto en ASCII (Abel, Peter, 2005).

Una vez que el código origen ha sido escrito, el archivo origen es

ensamblado mediante su procesamiento a través de algún ensamblador (Abel,

Peter, 2005).

Ventajas:

� Tamaño

Page 23: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

26

� Velocidad

� Flexibilidad

Desventajas:

� Tiempo de programación

� Programas fuente grandes

� Peligro de afectar recursos inesperadamente

� Falta de portabilidad

2.4.5 Desarrollo Web

Todos los lenguajes de programación para web necesitan de una

arquitectura cliente-servidor, que es un modelo de aplicación distribuida en el que

las tareas se reparten entre los proveedores de recursos o servicios, llamados

servidores, y los demandantes, llamados clientes. Un cliente realiza peticiones a

otro programa, el servidor le da respuestas. Esta idea también se puede aplicar a

programas que se ejecutan sobre una sola computadora, aunque es más

ventajosa en un sistema operativo multiusuario distribuido a través de una red de

computadoras. En esta arquitectura la capacidad de proceso está repartida entre

los clientes y los servidores, aunque son más importantes las ventajas de tipo

organizativo debidas a la centralización de la gestión de la información y la

separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.

La separación entre cliente y servidor es una separación de tipo lógico,

donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es

necesariamente un sólo programa. Los tipos específicos de servidores incluyen los

servidores web, los servidores de archivo, los servidores de correo, etc. Mientras

que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá

siendo la misma.

Page 24: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

Figura 6. Arquitectura cliente

Una disposición

servidor se descompone

diferentes computadoras

arquitectura cliente-servidor

distribución, tanto a nivel

La red cliente-servidor

los clientes están conectados

recursos y aplicaciones

clientes cada vez que estos

que se realizan se concentran

requerimientos provenientes

son de uso público y los

de sólo lectura y los que,

de red puede utilizarse conjuntamente

red mixta. Así pues con

sistemas que estén al alcance

software especial en cada

cliente-servidor para web.

muy común en los sistemas multicapa

descompone en diferentes programas que pueden ser

computadoras aumentando así el grado de distribución

servidor sustituye a la arquitectura monolítica

nivel físico como a nivel lógico.

servidor es aquella red de comunicaciones

conectados a un servidor, en el que se centralizan

con que se cuenta, y que los pone a disposición

estos son solicitados. Esto significa que todas

concentran en el servidor, de manera que en él

provenientes de los clientes que tienen prioridad,

los que son de uso restringido, los archivos

que, por el contrario, pueden ser modificados,

conjuntamente en caso de que se esté

con la arquitectura cliente-servidor podremos

alcance de cualquier cliente sin necesidad

cada computadora que el cliente disponga,

27

multicapa en los que el

ser ejecutados por

distribución del sistema. La

monolítica en la que no hay

comunicaciones en la que todos

centralizan los diversos

disposición de los

todas las gestiones

él se disponen los

prioridad, los archivos que

archivos que son de uso

modificados, etc. Este tipo

utilizando en una

podremos implementar

necesidad de instalar un

disponga, por lo tanto, se

Page 25: 2 MARCO TEÓRICO - tesis.uson.mxtesis.uson.mx/digital/tesis/docs/22170/Capitulo2.pdf · (apartamento, adosado, vivienda unifamiliar), y su tamaño. Nueva o construida, si la vivienda

28

podrá tener acceso desde cualquier equipo que pueda ver al servidor web en la

red.

Existen varios lenguajes de programación para desarrollar sistemas

basados en web como PHP, ASP, JSP, etc. Todos pueden conectarse a bases de

datos como Mysql o SQL Server, para así realizar páginas web dinámicas con

información guardada en una base de datos. Python no se queda atrás en este

contexto, también se pueden realizar páginas web con Python acompañado de un

servidor web como Apache y una base de datos como Mysql. Para este proyecto

se eligió Python Web por las características que se mencionaron antes sobre éste

lenguaje de programación tan amigable, sencillo y portable, por mencionar

algunas.