Una función se invoca proporcionando valores a los argumentos de la llamada.
Los argumentos se pasan siempre por valor.
El valor se devuelve por medio de return().
Los procedimientos son funciones de tipo void.
El control del número y tipo de argumentos es mínimo.
Las funciones en C admiten recursividad
tipo identificador (argumentos ...) {
...
Cuerpo de la función ...
3.6.5 AJAX
AJAX, acrónimo de Asíncrono JavaScript And XML, es una técnica de desarrollo web para crear aplicaciones interactivas. Éstas se ejecutan en el cliente, es decir, en el navegador del usuario, y mantiene comunicación asíncrona con el servidor en segundo plano. De esta forma, es posible realizar cambios sobre la misma página sin necesidad de recargarla. Esto significa aumentar la interactividad, velocidad y usabilidad en la misma.
AJAX es una combinación de tres tecnologías ya existentes:
XHTML o (HTML) y hojas de estilos en cascada (CSS) para el diseño que acompaña a la información.
Document Object Model (DOM) accedido con un lenguaje de scripting por parte del usuario, especialmente implementaciones ECMAScript como JavaScript y JScript, para mostrar e interactuar dinámicamente con la información presentada.
El objeto XML Http Request para intercambiar datos asincrónicamente con el servidor web. En algunos frameworks y en algunas situaciones concretas, se usa un objeto iframe en lugar del XML Http Request para realizar dichos intercambios.
XML es el formato usado comúnmente para la transferencia de vuelta al servidor, aunque cualquier formato puede funcionar, incluyendo HTML preformateado, texto plano, JSON y hasta EBML.
Como el DHTML, LAMP o SPA, AJAX no constituye una tecnología en sí, sino que es un término que engloba a un grupo de éstas que trabajan conjuntamente.
Las aplicaciones AJAX se ejecutan en la máquina cliente, manipulando las páginas actuales dentro de sus navegadores usando métodos de Document Object Model. Puede ser usado para multitud de tareas como actualizar o eliminar registros, expandir formularios web, devolver peticiones simples de búsqueda, o editar árboles de categorías; todo sin tener la necesidad de tener que recargar toda la página de HTML cada vez que se realiza un cambio. Generalmente sólo requiere enviar pequeñas peticiones al servidor, y se devuelven respuestas relativamente cortas. Esto permite el desarrollo de aplicaciones interactivas con más interfaces de usuario más responsivas gracias al uso de las técnicas DHTML.
Las aplicaciones de Ajax utilizan características bien documentadas presentes en todos los navegadores importantes en la mayoría de las plataformas existentes. Aunque esta situación podría cambiar en el futuro, en este momento, los usos de Ajax son efectivos entre plataformas.
Mientras que la plataforma de Ajax está más restringida que la plataforma de Java, las aplicaciones actuales de Ajax llenan con eficacia la parte de los Java applets: ampliar el navegador con mini-aplicaciones ligeras.
4
2010
I P N
Control y monitoreo a distancia
de factores críticos
DESARROLLO DEL SISTEMA DE CONTROL A DISTANCIA
4.1 CARACTERÍSTICAS TÉCNICAS DEL DISPOSITIVO
Para este proyecto propusimos los elementos que en caso de hacerlo físico se requerirían, por cuestiones de costos y dificultades para tener acceso a instalaciones de agua, electricidad y gas, así como de algunos otros factores, no pudimos comprar e instalar todos los dispositivos reales, pero a continuación se escriben, así como se describen sus características de los dispositivos que se utilizarían para implementar el proyecto, tanto los que si implementamos, como los que sólo propusimos.
4.1.1 Tarjeta de desarrollo
La tarjeta que utilizamos es la tarjeta Tower de Freescale ya que es un Sistema de programación y desarrollo modular para micros Freescale HCS y ColdFire. Incluye 4 tarjetas: 2 tarjetas elevadoras, tarjeta micro MCF51CN128, comunicación Serial y Ethernet. Este kit de desarrollo es una estructura modular exclusiva de Freescale basada en un hardware reconfigurable y con capacidad de permitir el intercambio de microcontroladores y tarjetas de periféricos de acuerdo a las necesidades de los ingenieros.
Esta cualidad abastece de un rango extra de posibilidades a los usuarios para estandarizar sus propios proyectos, sirviéndose de otros elementos como el hardware de contenido abierto para la creación de herramientas de fácil conexión para las necesidades de los diseños.
De igual manera el Tower System incluye el modulo elevador (TWR-Elev) que suministra la regulación de potencia e integridad estructural de la misma plataforma modular y en términos de compatibilidad, su más cercano complemento es el microcontrolador Ethernet MCF51CN128 ColdFire V2 que a su vez incorpora el software exclusivo MQX, así como un módulo periférico (TWR-Serv) para conexiones en protocolo USB, Ethernet, CAN y RS323/485.
Figura 4.1.1.a; TOWER FREESCALE
Algunas de sus características son:
Características del microcontrolador del módulo: TWR-MCF52259CN:
Freescale Torre sistema compatible
Rápido controlador Ethernet (FEC)
Interfaz de bus externo Mini-FlexBus
Soporta interfaces de comunicación externa
Características: TWR-ELEV
Características Módulo Periférico: TWR-SER
Forma pequeño (59mm x 90mm) de serie con sistema Tower de Freescale
Incluye circuitos de regulación de potencia con bus normalizada
10/100 BaseT Ethernet con DMA
El núcleo del sistema Ethernet es la trama de Ethernet, que son utilizados para entregar los datos entre los adaptadores de red Ethernet. El marco (figura 4.1.2.c) consiste en un conjunto de bits organizados en varios campos. Estos campos incluyen campos de dirección, un campo de tamaño variable de datos que lleva de 46 a 1500 bytes de datos, y un campo de comprobación de errores que comprueba la integridad de los bits en el marco para asegurarse de que el marco ha llegado intacto.
Fígura 4.1.1.c; Ethernet con DMA BDM Open-Source
El BDM (Background Debug Mode) es una interface entre el puerto USB de la computadora y el microcontrolador de Freescale.
El BDM nos permite cargar una aplicación y de esta forma se puede tener control directo del proceso de ejecución del micro y sus pines, leer/escribir registros y valores de memoria, programar dispositivos de memoria FLASH interna o externa, además de detectar los errores del código en el microcontrolador. El OSBDM es una herramienta gratuita para la programación de los microcontroladores de 8 bits HCS08. Se tomó como base el proyecto TBDML que fue creado para los microcontroladores HC(S) 12. El proyecto consiste en hardware y software que fue realizado bajo licencia GPL.
4.1.2 Relevadores
El siguiente modelo de relevador va a ser el utilizado para controlar la energía eléctrica y también como protección.
Modelo: RLAQE12112 Características:
Relé bobina a 120V CC Potencia máxima 1A 220V
4.1.3 Caudalímetro para gas
Estos aparatos suelen colocarse en línea con la tubería que transporta el fluido. También suelen llamarse medidores de caudal, medidores de flujo o flujómetros.
Existen versiones mecánicas y eléctricas. Entre las mecánicas se encuentran los viejos contadores de agua instalados a la entrada de una vivienda para determinar cuantos metros cúbicos de agua se consumieron. En la realizacion de este proyecto se utilizaran los modelos que aparecen en la figura 4.1.3
Modelo: Serie TG
-Medidores a tambor de alta precisión.
Figura 4.1.3; Caudalímetro de gas
Sistema de Monitoreo de Flujo SONARtracTM Modelo: VF-100
El Sistema de Monitoreo de Flujo SONARtrac desarrollado por CIDRA ofrece una tecnología integral y no invasiva de medición de flujo.
4.1.4 Caudalímetro para agua
Estos dispositivos son alimentados eléctricamente, los cuales miden la diferencia entre el tiempo que le toma a dos señales atravesar una misma distancia, pero en sentido contrario utilizando como medio un fluido. Si el caudal del fluido es nulo, los tiempos serán iguales, pero cuando hay flujo los tiempos serán diferentes, ya que las velocidades de las señales serán afectadas por la del fluido cuyo caudal se desea determinar; esta diferencia de tiempo más el conocimiento sobre la geometría de la cañería y la velocidad del sonido en el medio permiten evaluar la velocidad del fluído o el caudal.
Descripción del Caudalímetro: -Cód.: 923120103*01
-Caudalímetro lanza impulsos -1 1/4" (diám. 30mm).
-Pulsos por litro. 1-4 pulsos/litro -Para flujos de carga muy bajos.
Figura 4.1.4Caudalímetro de agua
4.1.5 Válvula de agua y gas
El tipo de válvula dependerá de la función que debe efectuar dicha válvula: · De cierre (bloqueo)
· De estrangulación
· Para impedir el flujo inverso (de retención)
Lo anterior se debe determinar según las necesidades de la unidad y del sistema para el cual se destina la válvula.
Dado que hay diversos tipos de válvulas disponibles para cada función, también es necesario determinar las condiciones del servicio en que se emplearán las válvulas. Es de importancia primordial conocer las características químicas y físicas de los fluidos que se manejan. Prestar atención a:
El tipo de servicio: · Líquidos.
· Gases.
· Líquidos con gases. · Líquidos con sólidos. · Gases con sólidos.
· Vapores generados instantáneamente por la reducción en la presión del sistema. · Con corrosión o sin corrosión.
· Con erosión o sin erosión.
Una vez definidas las funciones y el tipo de servicio, se puede seleccionar el tipo de válvula usando la lista de la clasificación de válvulas.
Las válvulas reductoras de presión domiciliarias para uso en casas, edificios, hoteles, colegios y viviendas en general mantienen la presión de salida en un valor constante cuando se modifica la presión de entrada y/o el caudal.
Estas válvulas de bajo costo y excelente funcionamiento se usan en variados sistemas como puede ser:
En redes de agua para mantener una presión constante en el colector principal en artefactos sanitarios, termo-tanques, despachadores de agua, para mantener la presión constante y por debajo de la presión máxima admisible en redes de agua para ahorrar agua, controlando el consumo excesivo en sistemas de aire comprimido, para mantener la presión de aire constante independientemente de las fluctuaciones del suministro de los compresores.
El modelo McMillan 100, es una microturbina de gas FLO-SENSORS tiene una capacidad de flujo en estado najo de 20-120-1 ml/minuto y en estado alto de 100-500 Lpm, tanto para líquidos como para gases mixtos. Los resultados que se repiten de la medición son archivados.
Con sensor de microturbina para gas y flujo líquido.
Tiene una salida de 0-5 V CD, un cable y un adaptador de corriente para su operación.
Figura 4.1.5 Válvula de agua y gas
4.2 DISEÑO DE LOS CIRCUITOS DE SIMULACIÓN.
Como ya mencionamos anteriormente, debido a que estamos realizando sólo un prototipo y debido a factores como: costo, facilidad de manipulación, no poder contar con una tubería de agua y de gas así como una instalación eléctrica disponible para poder hacer toda una
instalación real del proyecto, vamos a utilizar algunos circuitos que nos servirán para simular el comportamiento de los factores críticos, así como del comportamiento de los transductores.
4.2.1 Circuitos equivalentes a los reales.
A continuación se muestra lo que sería el elemento real junto a lo que nosotros estamos utilizando para la simulación.
El diagrama muestra la conexión de un Relevador hacia un lámpara/foco indicador, se alimenta a su vez, de la energía de 127v de la casa, así como se conectaría también al microcontrolador para el control y censado.
Aquí se observa la adaptación del sistema en un circuito que nos va a reflejar el control de las luces, así como también desde ahí vamos a estar censando el estado de las mismas.
En este diagrama se muestra como mediría realmente
Para la simulación decidimos utilizar un switch que lo que harán es que al accionar cada uno de En este diagrama se muestra un caudalímetro, el cual
mide el AGUA que pasa a través de él, entregándonos un pulso por cada litro que pasa, éste sería instalado en la tubería que va después del tinaco que es el que alimenta toda la casa.
Se decidió utilizar un contador (555), debido a que es de fácil manipulación así podemos variar la velocidad del pulso, que simulará el flujo de agua que pasaría por el caudalímetro, de manera mecánica y así observar la variación en la medición con diferentes flujos de agua.
En este diagrama se muestra un caudalímetro, el cual mide la cantidad de GAS que pasa a través de él, éste entrega un pulso por cada litro de gas que pase, éste se instalaría en la tubería que va después del tanque de gas, que es la que alimenta toda la casa.
Se decidió utilizar un contador (555), debido a que es de fácil manipulación así podemos variar la velocidad del pulso, que simulará el flujo de gas que pasaría por el Caudalímetro, de manera mecánica y así observar la variación en la medición con diferentes flujos de agua.
Para la simulación de la válvula de control de flujo de agua y gas, vamos a usar un led, que nos servirá para indicar en caso de que la válvula esté abierta o cerrada (prendido/apagado). Como la válvula, al recibir corriente se va a abrir y al no recibirlo a cerrar, el led nos indica muy bien la función de la válvula.
La válvula se va a controlar a través del microcontrolador, enviándole o dejándole de enviar corriente para así permitir o no permitir el flujo ya sea de agua o gas.
4.2.2 Diseño de los circuitos a implementarse.
A continuación se muestran los diagramas eléctricos de cada uno de los circuitos de simulación que armamos para este proyecto, que tiene como objetivo, simular a los transductores reales.
4.2.2.1 Válvulas de agua y gas
Para simular las válvulas de apertura y cierre del agua y gas utilizamos el siguiente circuito, que lo que hace es que el LED nos va a indicar si la válvula está abierta o cerrada (prendido/apagado), tiene dos conexiones al microcontrolador, una es para la parte de censado, que nos va a estar enviando información del estado de la válvula, es decir si está abierta o cerrada, y otro que va a ser el de control, que es por el cual el microcontrolador va a enviar las acciones de abrir o cerrar válvula.
Como se aplica el mismo concepto para la válvula de agua como la de gas vamos a diseñar dos circuitos iguales, sólo con diferente aplicación.
A continuación se muestra el diagrama del circuito descrito previamente.