125
 UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO INSTITUTO DE CIENCIAS BÁSICAS E INGENIERÍA CENTRO DE INVESTIGACIÓN EN TECNOLOGÍAS DE INFORMACIÓN Y SISTEMAS CONTROL SUPERVISORIO VIRTUAL Y ADQUISICIÓN DE DATOS DE UN INVERNADERO AUTOMATIZADO T E S I S QUE P ARA OBTENER EL TÍTULO DE MAESTRO EN CIENCIAS COMPUTACIONALES P R E S E N T A JORGE HERNÁNDEZ CAMACHO ASESOR: DR. VI RGILIO PEZ MORALES 1 CO-ASESOR: DR. RAMÓN SOTO DE LA CRUZ 2 PACHUCA DE SOTO, HIDALGO. DICIEMBRE DE 2007 1 Investigador de la UAEH-ICBI-CITIS 2 Investigador de la Universidad Autonóma del Estado de Sonora

Control Supervisorio Virtual de Un Invernadero Automatizado

Embed Size (px)

Citation preview

UNIVERSIDAD AUTNOMA DEL ESTADO DE HIDALGO INSTITUTO DE CIENCIAS BSICAS E INGENIERACENTRO DE INVESTIGACIN EN TECNOLOGAS DE INFORMACIN Y SISTEMAS

CONTROL SUPERVISORIO VIRTUAL Y ADQUISICIN DE DATOS DE UN INVERNADERO AUTOMATIZADO

T QUE PARA

E

S

I EL

S TTULO DE

OBTENER

MAESTRO EN CIENCIAS COMPUTACIONALES P R JORGE ASESOR: E S E N T A

HERNNDEZ

CAMACHO

DR. VIRGILIO LPEZ MORALES1

CO-ASESOR: DR. RAMN SOTO DE LA CRUZ2

PACHUCA DE SOTO, HIDALGO. DICIEMBRE DE 20071 2

Investigador de la UAEH-ICBI-CITIS Investigador de la Universidad Autonma del Estado de Sonora

i A G R A D E C I M I E N T O S

A la Universidad Autnoma del Estado de Hidalgo por haberme dado la oportunidad de estudiar la Maestra en Ciencias Computacionales en el Centro de Investigacin de Tecnologas e Informacin y Sistemas. A los directores del CITIS, Coordinadores, y al Director de Postgrado. A mis asesores de tesis, Dr. Virgilio Lpez Morales, y al Dr. Ramn Soto de la Cruz por haberme dirigido y orientado en todo el trascurso de este trabajo. A los Sinodales de Tesis, que me apoyaron en la revisin y poder contar con sus puntos de vista y as ampliar ms la visin y alcance de este trabajo. A mis queridos padres: por el apoyo que me han dado en el transcurso de la vida. Les agradezco todo el esfuerzo que hicieron por darme lo ms preciado en toda mi vida, el amor incondicional y la educacin, familiar. Gracias por apoyarme, los quiero mucho. A mi hermana: por existir y as tambin aprender de ella, que la perseverancia es lo mejor de una buena disciplina para poder llegar a nuestras metas propuestas. Tambin por el cario que siempre me ha otorgado, y por ser tambin una buena amiga y consejera. A mis amigos los cuales solo Dios sabe, por apoyarme incondicionalmente, como tambin por compartir hermosos momentos con ellos de su vida. A mis compaeros los cuales me estuvieron acompaando en el transcurso de toda mi estancia en el CITIS. Al Dr. Julio Waissman que no le gusta que le digan Doc., a Don Hector y Doa Crystina mis caseros, a M.C. Anita y su familia. A mis amigos del CITIS, del CIMA, CEVIDE, ICBI, Biolgicas, Qumica. A todos las personas que me dieron la oportunidad de convivir y compartir un tiempo en sus vidas. Gracias. A los trabajadores de la Universidad, a todo el personal de la UAEH (Universidad Autnoma del Estado de Hidalgo), CEUNI y ABASOLO.

ndice generalResumen de la Tesis Contexto de la Tesis Objetivo de la Tesis Justicacin de la Tesis 1. Control Supervisorio de un Invernadero Automatizado. 1.1. Concepto de Control Supervisorio. . . . . . . . . . . . . . . 1.1.1. Sistemas distribuidos. . . . . . . . . . . . . . . . . . 1.1.2. Capacidad de visualizar en Web. . . . . . . . . . . 1.1.3. Manejo del Mouse. . . . . . . . . . . . . . . . . . . 1.2. Funcionalidades y Alcances. . . . . . . . . . . . . . . . . . 1.3. Invernaderos Hidropnicos Automatizados. . . . . . . . . . 1.3.1. Requerimientos Edafoclimticos . . . . . . . . . . . 1.3.2. Diseo de Invernaderos. . . . . . . . . . . . . . . . 1.3.3. Construccin del Invernadero. . . . . . . . . . . . . 1.3.4. Manejo de la plantacin. . . . . . . . . . . . . . . . 1.4. Control Supervisorio de un Invernadero Automatizado. . . 1.5. Organizacin de la tesis. . . . . . . . . . . . . . . . . . . . xii xiii xiv xv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 3 3 4 4 5 7 8 9 10 10 13 15 16 16 18 20 21 21 22 23 23

2. Estado del Arte y Herramientas. 2.1. Estado del arte. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Presentar los trminos y conceptos bsicos. . . . . . . . . . . . . 2.2.1. LabVIEW. . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2. Lenguaje de Programacin JAVA . . . . . . . . . . . . . 2.2.3. VRML. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.4. HTML. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.5. Diseo de objetos 3D en 3dStudio Max. . . . . . . . . . 2.2.6. Realidad Virtual. . . . . . . . . . . . . . . . . . . . . . . 2.2.7. Optimizacin de Cdigo e insercin de enlaces en VRML. 2.2.8. Navegadores 3D. . . . . . . . . . . . . . . . . . . . . . . iii

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

iv

NDICE GENERAL

2.2.9. Programacin de efectos . . . . . . . . . . . . . . . . . . . . . . 2.2.10. Adquisicin de Datos utilizando LabVIEW. . . . . . . . . . . . 3. Arquitectura general del sistema. 3.1. Funcionalidades. . . . . . . . . . . . . . . . . . . 3.2. Modelo Funcional. . . . . . . . . . . . . . . . . . 3.2.1. Metodologa de Desarrollo de la Solucin: . 3.3. Adquisicin de Datos en LabVIEW. . . . . . . . . 3.4. Obtencin de Datos. . . . . . . . . . . . . . . . . 3.5. Desarrollo del Mundo Virtual . . . . . . . . . . . 3.6. Asignacin de Comportamiento Complejo. . . . . 3.7. Interfaz Grca. . . . . . . . . . . . . . . . . . . .

23 23 25 26 26 26 26 27 30 31 33

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

4. Integracin de comunicacin: Sistema Mnimo, LabVIEW, Virtual y Java. 4.1. Comunicacin via EAI entre VRML y Java . . . . . . . . . . . . 4.1.1. Comunicacin de datos LabVIEW y Java. . . . . . . . . 4.1.2. Sistema Mnimo. . . . . . . . . . . . . . . . . . . . . . . 4.1.3. Publicacin Web del invernadero virtualizado. . . . . . . 5. Flujo de Datos. 5.1. Flujo de Datos en General . . . . . 5.2. Comunicacin . . . . . . . . . . . . 5.3. Flujo de datos en LabVIEW . . . . 5.4. Flujo datos con Java . . . . . . . . 5.5. Almacenamiento de Datos a Mysql 5.6. Estructura de la Base de Datos . . 5.7. Pruebas Realizas . . . . . . . . . . Conclusiones y perspectivas Bibliografa A. Presentaciones. A.1. Poster . . . A.2. Trptico 1 . A.3. Trptico 2 . A.4. Artculo . . A.5. Poster 2 . .

Mundo . . . . . . . . . . . . . . . . 41 41 44 50 52 55 55 58 59 62 63 67 70 71 73 77 78 79 80 81 85 87 87 89

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

B. Cdigo Fuente. B.1. VRML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2. Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

NDICE GENERAL

v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 89 90 90 90 90 90 91 91 97 97 103 104 105 106 106 113 114 116 118 120 123 125 126 126 128

B.3. B.4. B.5. B.6. B.7.

Querys SQL . . . . . . . . . LabVIEW . . . . . . . . . . HTML . . . . . . . . . . . . Flash . . . . . . . . . . . . . Otros Cdigos . . . . . . . . B.7.1. Lego de Mindstorms B.7.2. Java . . . . . . . . .

A. Presentaciones. A.0.3. Programacin de efectos y automatizacin del invernadero . . . A. Presentaciones. A.0.4. Adquisicin de Datos utilizando LabVIEW. . . . . . . . . . . . B. Sistemas Mnimos. B.1. Sistemas Mnimos. . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2. Componentes del Sistema Mnimo. . . . . . . . . . . . . . . . . . . B.2.1. Diferencia entre un microprocesador y un microcontrolador. B.2.2. Microcontrolador PIC16F877. . . . . . . . . . . . . . . . . . B.2.3. Registros generales del Microcontrolador PIC16F877. . . . . B.2.4. Registros para control de interrupciones. . . . . . . . . . . . B.2.5. Puertos de entrada y salida. . . . . . . . . . . . . . . . . . . B.2.6. Registros de los temporizadores. . . . . . . . . . . . . . . . . B.2.7. Registros de comunicacin serial. . . . . . . . . . . . . . . . B.2.8. Registros del mdulo de conversin A/D. . . . . . . . . . . . B.3. Pantalla de LCD para visualizacin. . . . . . . . . . . . . . . . . . . B.4. Puerto de comunicacin serial RS-232. . . . . . . . . . . . . . . . . B.4.1. Convertidor de interfaz RS-232 a RS-485. . . . . . . . . . . . Siglario

. . . . . . . . . . . . .

. . . . . . . . . . . . .

ndice de guras1.1. 1.2. 1.3. 1.4. 1.5. Estructura General. . . . . . . . . . . . . . . . . . . . . . Crecimiento en medio estable, climtico y nutricional. . . Interior del invernadero que se utiliz en este proyecto de Exterior del invernadero bajo estudio. . . . . . . . . . . . Esquema de ujo de datos. . . . . . . . . . . . . . . . . . . . . . . . tesis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 5 8 9 10 18 22 25 27 28 28 29 30 31 32 33 34 35 35 36 36 37 37 38 39 42 44 45 48 49

2.1. Diagrama de bloques de un programa. . . . . . . . . . . . . . . . . . . 2.2. Diseo del invernadero en 3DS Max. . . . . . . . . . . . . . . . . . . . 3.1. Diagrama general del funcionamiento del invernadero virtual. 3.2. Diagrama de bloques. . . . . . . . . . . . . . . . . . . . . . . 3.3. Estructura de datos de los sensores en el archivo. . . . . . . 3.4. Diagrama por bloques. Seccin de Archivos. . . . . . . . . . 3.5. Diagrama de bloques de simulacin de adquisicin de datos. 3.6. Diseo de objetos 3D del invernadero. . . . . . . . . . . . . . 3.7. Diseo del invernadero desde cdigo VRML. . . . . . . . . . 3.8. Diseo del invernadero ISA Parallel Graphics. . . . . . . . . 3.9. Asignacin de Comportamientos en VRML. . . . . . . . . . 3.10. Asignacin de Comportamientos en Java usando EAI. . . . . 3.11. Estructura General de Sensores, Actuadores y Mdulos. . . . 3.12. Adquisicin y puente del mundo virtual. . . . . . . . . . . . 3.13. Instrumentos Virtuales en LabVIEW . . . . . . . . . . . . . 3.14. Instrumentos Virtuales en VRML. . . . . . . . . . . . . . . . 3.15. Instrumentacin Virtual en Flash . . . . . . . . . . . . . . . 3.16. Alarmas en Flash . . . . . . . . . . . . . . . . . . . . . . . . 3.17. Applet publicado manejador del comportamiento. . . . . . . 3.18. Invernadero virtual publicado en internet. . . . . . . . . . . 4.1. 4.2. 4.3. 4.4. 4.5. Mtodos de comunicacin en VRML via EAI. . . . . . Pgina HTML con VRML y un Applet utilizando EAI. Bloque de abrir o crear archivo. . . . . . . . . . . . . . Bloque de escribir en el archivo. . . . . . . . . . . . . . Bloque de Cerrar archivo. . . . . . . . . . . . . . . . . vii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

viii 4.6. Diagrama por bloques. Seccin de Archivos. 4.7. Diagrama de pines del PIC16F877 . . . . . . 4.8. Estacin meteorolgica . . . . . . . . . . . . 4.9. Arquitectura Serial Distribuida . . . . . . . 4.10. Conguracin Web . . . . . . . . . . . . . . 4.11. Invernadero publicado en la web. . . . . . . 5.1. 5.2. 5.3. 5.4. 5.5. 5.6. 5.7. 5.8. 5.9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

NDICE DE FIGURAS

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . .

49 50 51 52 53 54 56 57 58 60 61 61 62 63 70 78 79 79 80 80 81 82 83 84 85 88 97 98 99 99 100 101 102

Diagrama general del ujo de datos. . . . . . . . . . . . . . . . . . Diagrama general del ujo. . . . . . . . . . . . . . . . . . . . . . . Flujo de los datos desde los mdulos esclavos al modulo maestro. Adquisicin de datos utilizando LabVIEW y bloques VISA. . . . . Instrumentacin Virtual en LabVIEW. . . . . . . . . . . . . . . . Invernadero e Instrumentacin Virtual en Internet. . . . . . . . . Applet publicado manejador del comportamiento. . . . . . . . . . Diagrama de Adquisicin de datos en Java. . . . . . . . . . . . . . Prueba de conexin en cross over. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

A.1. Poster. . . . . . . . . . A.2. Trptico 1 lado 1. . . . A.3. Trptico 1 lado 2. . . . A.4. Trptico 2 lado 1. . . . A.5. Trptico 2 lado 2. . . . A.6. Pagina 1 del Artculo. A.7. Pagina 2 del Artculo. A.8. Pagina 3 del Artculo. A.9. Pagina 4 del Artculo. A.10.Poster 2. . . . . . . . .

B.1. Mapa de rutas del mundo virtual del invernadero. . . . . . . . . . . . . A.1. A.2. A.3. A.4. A.5. A.6. A.7. B.1. B.2. B.3. B.4. B.5. B.6. Panel frontal de escritura y lectura por los puertos Escritura y lectura de datos por medio del VISA. Entradas y salidas de una bloque de funcin. . . . bloque VISA conguracin de puerto serial. . . . bloque VISA read. . . . . . . . . . . . . . . . . . bloque VISA write. . . . . . . . . . . . . . . . . . bloque VISA close. . . . . . . . . . . . . . . . . . seriales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Diagrama del sistema mnimo orientado al PIC16F877. . . . . . . . . . 104 Sistema Mnimo propuesto. . . . . . . . . . . . . . . . . . . . . . . . . 105 Estructura de un sistema abierto basado en un microprocesador ([Angulo, 1999]).106 Diagrama del microcontrolador PIC16F877 ([Microchip, 2001]). . . . . 108 Arquitectura abierta de los microcontroladores PIC16F877 ([Microchip, 2001]).109 Organizacin de la memoria FLASH de los PIC16F877 ([Microchip, 2001]).110

NDICE DE FIGURAS

ix

B.7. Distribucin de la memoria RAM en los cuatro bancos ([Microchip, 2001]).111 B.8. Esquema interno de los principales bloques del timer 1 ([Microchip, 2001]).119 B.9. Conguracin del MAXIM 485. . . . . . . . . . . . . . . . . . . . . . . 127

ndice de Tablas2.1. Applet y su publicacin en la web . . . . . . . . . . . . . . . . . . . . . 2.2. Plugins Visualizadores 3D . . . . . . . . . . . . . . . . . . . . . . . . . 3.1. Estado del applet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1. Function Open . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Pos mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1. 5.2. 5.3. 5.4. 5.5. A.1. A.2. A.3. A.4. A.5. Base . . . . . . . Tablas . . . . . . Tabla actuadores Tabla alarmas . . Tabla sensores . . Sintaxis Sintaxis Sintaxis Sintaxis Sintaxis de DEF de DEF de DEF de USE del Nodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 24 38 46 47 67 68 68 69 69 92 92 92 93 94 112 114 114 115 116 116 119 120 121 122 124 124 125 125

. . . . . . . . . . . . . . . . . . . . colisin

B.1. Bits de seleccin de banco en el registro de estado. . . . . . . . . . B.2. Estructura interna del registro de estado. . . . . . . . . . . . . . . B.3. Estructura interna del registro de opciones. . . . . . . . . . . . . . B.4. Estructura interna del registro de interrupciones. . . . . . . . . . B.5. Estructura interna del registro PIE1. . . . . . . . . . . . . . . . . B.6. Estructura interna del registro PIR1. . . . . . . . . . . . . . . . . B.7. Estructura interna del registro T1CON. . . . . . . . . . . . . . . . B.8. Bits para seleccin del rango del predivisor. . . . . . . . . . . . . B.9. Estructura interna del registro TXSTA. . . . . . . . . . . . . . . . B.10.Estructura interna del registro RCSTA. . . . . . . . . . . . . . . . B.11.Tabla de seleccin de bits para elegir reloj de conversin. . . . . . B.12.Tabla de seleccin de canal analgico en el proceso de conversin. B.13.Estructura interna del registro ADCON0. . . . . . . . . . . . . . . B.14.Estructura interna del registro ADCON1. . . . . . . . . . . . . . . xi

xii Resumen En este trabajo se presenta un prototipo de un invernadero automatizado virtual para internet, utilizando Realidad Virtual para ofrecer un control supervisorio del invernadero automatizado fsico, con una apropiado monitoreo, que considera los instrumentos virtuales para la supervision de las variables edafoclimticas como tambin del sistema automatizado del invernadero, implementadas a travs de la adquisicin de datos del invernadero fsico. A manera de ejemplo, se desarrolla un sistema para un invernadero automatizado virtual para la produccin agrcola del jitomate. Un invernadero automatizado es implementado en forma virtual para ser supervisado en la Internet. La simulacin del invernadero es posible gracias a herramientas como LabVIEW de Nationals Instruments , VRML, Java, Discreet 3DStudio , (ISA , Cortona Player, Cortona SDK 4.1) de Parallel Graphics , Adobe Flash y la Maquina Virtual de Microsoft de Java. En este trabajo de tesis se abordaron diferentes tpicos desde la adquisicin de datos por medio de la herramienta de control de LabVIEW en donde estos son utilizados, hasta la realizacin del invernadero virtualizado, el cual reaccionar de acuerdo a los datos sensados fsicamente. Para la programacin de comportamientos de algunos objetos que se presentan en el invernadero virtual, se utiliz el lenguaje Java, ya que posee la potencialidad del uso de hilos para darles comportamiento en lnea a travs de internet, como la adquisicin de datos desde LabVIEW , que es necesario para el funcionamiento del objeto en su simulacin virtual. Para la adquisicin de datos se utiliz la herramienta de LabVIEW 7.1 de National Instruments , donde con los dispositivos que miden las variables del entorno real del invernadero son obtenidas como variables donde el invernadero virtual va estar simulando el comportamiento del invernadero real. Con uso del Lenguaje Java son adquiridas estas variables desde LabVIEW de tal manera que se va modicando el mundo virtual en lnea, los nuevos datos son actualizados cada 4 segundos.

Contexto de la Tesis

xiii

Contexto de la Tesis El presente trabajo de tesis tiene sus bases en un proyecto de evaluacin, control y supervisin de invernaderos hidropnicos (Cf [Virgilio Lpez Morales, 2006]), en el cual en un invernadero se tienen sensores que estn fsicamente instalados y que por medio de mdulos esclavos (sistemas mnimos), se conectan con el mdulo maestro para la adquisicin de datos y envo de acciones [Morales, 2006]. El mdulo maestro se conecta con una PC por medio de LabVIEW . As, se obtienen los datos adquiridos por los sensores y estos son almacenados, para luego ser utilizada para la automatizacin del invernadero virtual en 3D y publicarlo en Internet. Con esta arquitectura se logra supervisar y controlar el invernadero en 3D desde cualquier punto del mundo, como la visualizacin de los VIs (Instrumentos Virtualizados), por ejemplo : termmetro, anemmetro, medidor de radiacin solar, veleta de direccin del viento.

xiv

ObjetivosObjetivo General Desarrollar un prototipo funcional interactivo de un invernadero virtual automatizado, controlado por Internet, donde el usuario pueda visualizar el comportamiento y supervisar las variables. Los objetivos especcos del presente trabajo de tesis son los siguientes: Objetivos Especcos 1) Compilacin del estado del arte sobre virtualizacin y telemanipulacin de instrumentos virtuales. 2) Representar, mediante Realidad Virtual, el invernadero automatizado. 3) Dar comportamiento a los mecanismos del invernadero virtual en base a las condiciones del medio ambiente, de control y supervisin en las que se encuentra el invernadero real. 4) Obtener los datos del invernadero real mediante un sistema mnimo va RS-232. 5) Establecer un puente de acceso bidireccional en el ujo de datos entre el invernadero virtualizado y el invernadero real.

Justicacin de la Tesis

xv

Justicacin El sistema que se desarroll y se implemento, es un prototipo el cual se puede utilizar para la supervisin a distancia, a travs de Internet. Tambin es el caso que antes de implementar en el invernadero real los sensores y sistemas mnimos que controlan los actuadores se puede simular la programacin de las actuacin del invernadero bajo una simulacin en un invernadero virtual y poder predecir el comportamiento bajo diferentes eventos, de tal manera modicar la actuacin con respeto a la region del invernadero real y sus variables edafoclimticas. En este caso se implementa un control supervisorio virtual y de adquisicin de datos de un invernadero automatizado. Se desea representar el comportamiento de un invernadero automatizado real, para su supervisin desde un area distante a la ubicacin del invernadero. De tal manera en el que el invernadero automatizado real fallara un mecanismo la simulacin virtual muestre una alerta de mal funcionamiento y la ubicacin del problema. En la actualidad existen diversas herramientas de autora que permiten el desarrollo de escenas tridimensionales por ejemplo: 3Dstudio de Discreet, Maya de Alias Wavefront etc. sin embargo stas solo generan escenas que pueden ejecutarse de forma local. Si se desea generar mundos virtuales para su uso en Internet, ser necesario desarrollarlos usando lenguajes como VRML, X3D JOGL an en desarrollo. Por otra parte, asignar comportamientos complejos tambin pueden desarrollarse con interfaces externas mediante los lenguajes de Java o Javascript. Estas interfaces, conocidas como EAI (External Authoring Interfaces) y JSAI (JavaScript Authoring Interfaces), permiten mayor exibilidad para asignar comportamientos complejos a los objetos de los mundos virtuales, ya que es posible mantener el cdigo VRML independiente de los programas desarrollados en Java o JavaScript, utilizados para manipular los eventos. En ste trabajo se hace uso de Java y LabVIEW, debido a que stos obtienen informacin del invernadero fsico y no tiene guardado una simulacin del comportamiento de las variables edafoclimticas.

Captulo 1 Control Supervisorio de un Invernadero Automatizado.Introduccin El nivel de confort presente en nuestro mundo existe gracias al control que la humanidad tiene sobre la tecnologa y a los diferentes sistemas destinados a reducir el esfuerzo, en un mnimo tiempo y costo. Desde el n de la II guerra mundial se ha invertido mucho tiempo y dinero en desarrollar elementos destinados al control, sin embargo al correr del tiempo, la tecnologa se vuelve ms compleja y por tal motivo las unidades de control se dedican solo a partes especcas del sistema completo. Debido a que actualmente existe la necesidad y posibilidad de interconectar diferentes mdulos de supervisin con elementos visuales, surge un concepto nuevo: el concepto de control supervisorio que se revisar a continuacin.

1.1.

Concepto de Control Supervisorio.

El Control supervisorio nos permite monitorear, controlar y supervisar de manera permanente automtica e instantnea diferentes dispositivos o sistemas, por ejemplo un invernadero automatizado, desde cualquier parte del mundo con una conexin a Internet. Un invernadero automatizado cuenta con sensores en los tanques de agua para obtener el nivel, un anemmetro para conocer la velocidad del viento, una veleta para medir la direccin del viento, termmetros y sensores de humedad, radiacin solar, intrusin no autorizada, etc., etc.. Este conjunto de sensores ayudan a automatizar el invernadero y con los datos obtenidos se puede controlar por ejemplo: la temperatura del mdulo del invernadero, 1

2

1.1. Concepto de Control Supervisorio.

ventilar el invernadero en caso de que la misma temperatura sobrepase los rangos limites para la cosecha calentar el invernadero si la temperatura es muy baja. Nuestro caso de estudio se basa en el control supervisorio de un invernadero automatizado. Modelar el invernadero en 3D para poder observarlo desde cualquier punto con conexin a Internet, adems de que tenga el comportamiento del invernadero del mundo real, todo esto es posible gracias a la tecnologa actual. Ese comportamiento estar dado por la adquisicin de datos que del invernadero del mundo real se obtenga, mediante los dispositivos de medicin. De esta manera, el invernadero virtual podr reaccionar a todos los eventos que en ese momento se encuentren presentes. Nuestro objetivo es supervisar y controlar una produccin agrcola presente en el invernadero. El control supervisorio ayudar al administrador del invernadero o al mismo agricultor, si en dado caso este no se encontrara en el lugar de la cosecha; a decidir si es prudente su presencia fsica, ya que dichos factores presentes en el invernadero hacen que sea necesaria la interrelacion humana. Un ejemplo sencillo es cuando no exista agua en la cisterna del cual el invernadero automatizado necesita para bombear a los tinacos para el riego. A continuacin se mencionan las herramientas de autora que nos ayudan en este propsito. El caso del invernadero virtualizado es orientado a presentar contenido como los VIs (Instrumentos Virtuales) y una mini presentacin del invernadero que se desarrolla en Macromedia Flash . As tambin, para la representacin virtual del invernadero en 3D, se usa un browser 3D, que en la prctica se usa el Cortona Player de Parallel Graphics . Por ltimo el uso de etiquetas HTML, se utiliza para formar y tener un diseo del contenido de forma que pueda ser apreciado todos estos contenidos en una pantalla, diseado en resolucin de 800*600 pxeles. El uso de (son similares a los frames, aunque aquellas generan cajas para la visualizacin de otras pginas web, compatible con Microsoft Internet Explorer ), se implement para publicar mini pginas informativas de los componentes del invernadero.

1.1.1.

Sistemas distribuidos.

El prototipo esta basado en sistemas distribuidos, por la distribucin fsica de los mdulos esclavos que tienen una comunicacin con el modulo maestro, para la obtencin de las medidas de cada uno de los sensores implantados en un invernadero para tener las variables del medio ambiente y realizar las actuaciones necesarias del invernadero de acuerdo a los requerimientos edafoclimticas del tomate como se puede observar en la Figura 1.1.

1. Control Supervisorio de un Invernadero Automatizado.

3

Figura 1.1: Estructura General.

En la estructura general que se muestra en la Figura 1.1 anterior, se observan a los sensores que se encuentran distribuidos por el invernadero, as como los actuadores, y tambin los mdulos esclavos. El sistema distribuido se encuentra estructurado de manera que los mdulos esclavos se comuniquen con el mdulo maestro de tal manera este envi la informacin a la pc, donde luego se procesa y se publica la informacin en internet como tambin el invernadero virtual realiza la simulacin de la informacin obtenida.

1.1.2.

Capacidad de visualizar en Web.

Los mundos virtuales pueden visualizarse mediante algn navegador o browser VRML el cual se ejecuta como un plug-in sobre un browser WWW o como una aplicacin stand-alone.

1.1.3.

Manejo del Mouse.

El browser o navegador VRML proporciona primitivas de navegacin, que en el ambiente virtual simulan el caminar, volar, rotar, etc., las cuales permiten al usuario mover el visor a travs del mundo virtual. Adems de la navegacin, el browser proporciona un mecanismo que permite al usuario interactuar con el mundo, mediante acciones del mouse.

1.2.

Funcionalidades y Alcances.

El sitio web, producto prctico principal de este trabajo, es esencialmente un ambiente virtual desarrollado con VRML, con estas escenas tridimensionales, que representan el modelo de un invernadero automatizado. Mediante recorridos virtuales, el usuario puede observar las caractersticas de las instalaciones como las partes fundamentales del invernadero para su interaccin con el entorno. El invernadero virtualizado en 3D usa varias herramientas de software, de tal manera que tambin tenga comportamiento de forma automatizada como el invernadero real, dado que este hace uso de los mismo datos que el real obtiene en tiempo real, y as tambin se muestra una breve descripcin de los equipos utilizados, de manera

4

1.3. Invernaderos Hidropnicos Automatizados.

informativa. La razn primordial por la cual se desea supervisar el invernadero est basada en la productividad agrcola y al menor uso posible de agroqumicos y pesticidas. En est seccin, se explica con ms detalle la estructura fsica y la funcin de un invernadero hidropnico. Para un mayor detalle CF. [para Invernadero, 2006].

1.3.

Invernaderos Hidropnicos Automatizados.

El invernadero es un espacio con el microclima apropiado para el ptimo desarrollo de una plantacin especca. As, partiendo del estudio tcnico de ambientacin climtica, debe de tenerse una temperatura, humedad relativa y ventilacin apropiadas que permitan alcanzar alta productividad, a bajo costo, en menos tiempo, sin dao ambiental, protegindose de las lluvias, el granizo, las heladas, los insectos o los excesos de viento que pudieran perjudicar el cultivo [para Invernadero, 2006]. Es muy comn que se improvisen invernaderos, razn por la cual en algunos pases existe una composicin muy heterognea de productividad por planta o por metro cuadrado y de utilizacin de agroqumicos. En algunos lugares puede encontrarse productores de tomate que obtienen entre 6 y 12 kilos por planta y a poca distancia de ellos otros que producen entre 13 y 22 kilos por planta, pero tambin otros que solo producen entre 2 y 5 kilos por planta, sembrando las mismas semillas. Hay un axioma que es digno de tenerse en cuenta, el que menos produce incurre en ms costos, porque es inversamente proporcional la productividad con los requerimientos de agroqumicos. A menor productividad mayor uso de agroqumicos [para Invernadero, 2006]. Cuando una planta no es productiva es porque ha tenido problemas de exceso o falta de humedad, de exceso o falta de temperatura, de exceso o falta de ventilacin, de exceso o falta de luminosidad, es decir ha tenido problemas derivados de las siguientes razones:

Figura 1.2: Crecimiento en medio estable, climtico y nutricional.

1. Control Supervisorio de un Invernadero Automatizado.

5

1. - Diseo del invernadero. 2. - Construccin del invernadero. 3. - Manejo de la plantacin. 4. - Nutrientes, riego y pesticidas.

1.3.1.

Requerimientos Edafoclimticos

Los requerimientos edafoclimticos de este caso de estudio en el invernadero hidropnico es con jitomates. En ambiente apropiado: estabilidad climtica, hdrica y nutricional, se consiguen racimos con frutos abundantes, homogneos, en el peso normal y sanos. El manejo racional de los factores climticos de forma conjunta es fundamental para el funcionamiento adecuado del cultivo, ya que todos se encuentran estrechamente relacionados y la actuacin sobre uno de estos incide sobre el resto [infoagro.com, 2003]. En comparacin de los diferentes productos agrcolas la berenjena y el pimiento son menos exigentes en la temperatura. En cambio en el jitomate se muestran a continuacin cuales son sus requerimientos. Temperatura : La temperatura ptima de desarrollo oscila entre 20 y 30o C durante el da y entre 10 y 17o C durante la noche; temperaturas superiores a los 30 35o C afectan a la fructicacin, por mal desarrollo de vulos y al desarrollo de la planta en general y del sistema radicular en particular. Temperaturas inferiores a tambin originan problemas en el desarrollo de la planta. A temperaturas superiores a 25o C e inferiores a 12o C la fecundacin es defectuosa o nula. La maduracin del fruto est muy inuida por la temperatura en lo referente tanto a la precocidad como a la coloracin, de forma que valores cercanos a los 10o C as como superiores a los 30o C originan tonalidades amarillentas. No obstante, los valores de temperatura descritos son meramente indicativos, debiendo tener en cuenta las interacciones de la temperatura con el resto de los parmetros climticos. Humedad: la humedad relativa ptima oscila entre un 60 % y un 80 %. Humedades relativas muy elevadas favorecen el desarrollo de enfermedades areas y el agrietamiento del fruto y dicultan la fecundacin, debido a que el polen se compacta, abortando parte de las ores. El rajado del fruto igualmente puede tener su origen en un exceso

6

1.3. Invernaderos Hidropnicos Automatizados.

de humedad edca o riego abundante tras un perodo de estrs hdrico. Tambin una humedad relativa baja diculta la jacin del polen al estigma de la or. Luminosidad: valores reducidos de luminosidad pueden incidir de forma negativa sobre los procesos de la oracin, fecundacin as como el desarrollo vegetativo de la planta. En los momentos crticos durante el perodo vegetativo resulta crucial la interrelacin existente entre la temperatura diurna y nocturna y la luminosidad. Suelo: la planta de tomate no es muy exigente en cuanto a suelos, excepto en lo que se reere al drenaje, aunque preere suelos sueltos de textura silceo-arcillosa y ricos en materia orgnica. No obstante se desarrolla perfectamente en suelos arcillosos enarenados. En cuanto al pH, los suelos pueden ser desde ligeramente cidos hasta ligeramente alcalinos cuando estn enarenados. Es la especie cultivada en invernadero que mejor tolera las condiciones de salinidad tanto del suelo como del agua de riego. Fertilizacin carbnica: la aportacin de CO2 permite compensar el consumo de las plantas y garantiza el mantenimiento de una concentracin superior a la media en la atmsfera del invernadero; as la fotosntesis se estimula y se acelera el crecimiento de las plantas. Para valorar las necesidades de CO2 de los cultivos en invernadero necesitamos realizar, en los diversos periodos del ao, un balance de las prdidas derivadas de la absorcin por parte de las plantas, de las renovaciones de aire hechas en el invernadero y las aportaciones proporcionadas por el suelo a la atmsfera del mismo. Del enriquecimiento en CO2 del invernadero depende la calidad, la productividad y la precocidad de los cultivos. Hay que tener presente que un exceso de CO2 produce daos debidos al cierre de los estomas, que cesan la fotosntesis y pueden originar quemaduras. Los aparatos ms utilizados en la fertilizacin carbnica son los quemadores de gas propano y los de distribucin de CO2. En el cultivo del tomate las cantidades ptimas de CO2 son de 700-800 ppm. En cuanto a los rendimientos netos dan incrementos del 15-25 % en funcin del tipo de invernadero, el sistema de control climtico, etc.

1. Control Supervisorio de un Invernadero Automatizado.

7

1.3.2.

Diseo de Invernaderos.

Si se tiene en cuenta que las plantas son seres vivos, mal pudiera dejarse a la improvisacin un aspecto tan clave como su microclima. Si en el espacio cerrado no se crea un microclima favorable al desarrollo de las plantas, por supuesto que la productividad se reduce. Las plantas tienen unos rangos de temperaturas y humedad relativa dentro de los cuales producen ecientemente. Por debajo o por encima del rango establecido, ellas se estresan y su productividad declina. Existen tambin los niveles de tolerancia a partir de los cuales se detiene el proceso fotosinttico.

Figura 1.3: Interior del invernadero que se utiliz en este proyecto de tesis.

Estos factores tan claves no son a menudo tenidos en cuenta por quienes hacen sus invernaderos y se encuentran algunos que, por errores de diseo, tienen niveles de humedad relativa altsimos que contribuyen al desarrollo de plagas y enfermedades, lo cual induce a aplicar agroqumicos, elevando los costos de operacin y reduciendo la calidad de los frutos. Adicionalmente, el exceso de humedad bloquea la polinizacin y estos productores pierden gran parte de la cosecha debido a que, por esa razn, las ores no se transforman en frutos o se producen malformaciones en los mismos que los convierten en rechazo. Otros aspectos importantsimos en un invernadero, que son frecuentemente ignorados debido a la improvisacin, estn relacionados con el viento: En un invernadero de ambientacin climtica natural, el nico motor que cumple la funcin de regulador de temperaturas y humedad relativa es el viento. Este, a la vez que cumple una funcin vital en la polinizacin, expulsa los excedentes de humedad y reduce los excesos de temperatura. Eso explica que en su diseo tienen que considerarse la altura del invernadero y las dimensiones de las aperturas cenitales para que exista, en ese espacio, el volumen de aire requerido y se produzca la renovacin necesaria.

Figura 1.4: Exterior del invernadero bajo estudio.

8

1.4. Control Supervisorio de un Invernadero Automatizado.

1.3.3.

Construccin del Invernadero.

En la construccin tambin se incurre frecuentemente en diversos errores que pudieran ser evitados con estudio, diseo y planos. Los traslapes son en ocasiones muy cortos y quedan espacios que permiten ltraciones de agua. Igual sucede con los canales que no tienen la cavidad correcta o la extensin adecuada. Valga decir que los principales problemas que confronta una plantacin se derivan del exceso de humedad. La humedad debe ser absolutamente controlada.

1.3.4.

Manejo de la plantacin.

Graves problemas de plagas, enfermedades, alta humedad y altsimas temperaturas se producen debido a errores en la densidad de siembra que son muy comunes en nuestro medio. Algunas personas piensan que sembrando ms plantas que las recomendables, o que manejando dos ejes, obtienen ms cosecha y se lanzan a la aventura de crear en el invernadero una selva por la que no se puede caminar para realizar las labores sin daar ores, frutos y tallos, adems de que generan un microclima inapropiado. En ese exceso de follaje se bloquea el paso de la luz que es el factor vital para la fotosntesis, se hace barrera al viento limitando la polinizacin, aumentando la humedad y la temperatura, con lo cual lo que se consigue es bajar la productividad y aumentar los costos. Los invernaderos pueden construirse de madera, de caa, mixtos o metlicos y cumplen la funcin de crear un microclima perfectamente controlable que permita mantener la temperatura y humedad relativa ms apropiadas para el proceso fotosinttico de un cultivo especco, reduciendo los riesgos y los costos globales, aprovechando mejor los espacios, incrementando la productividad y mejorando la calidad de los productos. En sntesis, la recomendacin es la de hacer, para cada caso, un estudio previo de ambientacin climtica que permita obtener buenos resultados tanto en el campo econmico como en el aspecto ambiental y de la salud humana [para la Productividad Agrcola, ].

1.4.

Control Supervisorio de un Invernadero Automatizado.

El objeto de estudio del sistema, es la virtualizacin de un invernadero automatizado, este se encuentra organizado por varias etapas. En la primera, se realiza la adquisicin de datos de manera simulada o real desde la herramienta de Nationals Instrument

1. Control Supervisorio de un Invernadero Automatizado.

9

LabVIEW , donde este guarda en un archivo los datos obtenidos para que se actualice en la pgina que esta publicada en la web, como tambin es almacenado en una base de datos.

Figura 1.5: Esquema de ujo de datos.

En la segunda, existe un mundo virtual el cual es un invernadero que reacciona a los factores que intervienen con el cultivo. Esos datos se obtienen de un archivo que es guardado por LabVIEW el cual obtiene los datos de los mdulos, y que mediante un applet de Java se obtienen estos datos guardados anteriormente con un retardo de 1 segundo mediante el uso hilos, cabe aclarar que el cambio en el medio ambiente no es repentino dado que es de forma gradual y eso nos da la tranquilidad de tener retardos de segundos en la obtencin de los datos y simulacin de estos en el mundo virtual. Posteriormente los datos ledos del invernadero en un maquina cliente son utilizados de tal manera que actualizar el invernadero virtual, para simular el comportamiento del invernadero fsico.

1.5.

Organizacin de la tesis.

En este trabajo de tesis se presentan los fundamentos tericos para el desarrollo del caso de estudio propuesto. Inicialmente se describe la problemtica de la supervisin de un invernadero, y se plantea una solucin posible con el sistema desarrollado. ste trabajo de tesis est estructurado como se indica a continuacin. En el Captulo 1 se presenta la introduccin del tema de tesis de maestra, como sus objetivos, el caso de estudio como la problemtica de la produccin actual de los invernaderos sin una supervisin controlada. Captulo 2 se presenta el estado del arte, y las herramientas usadas. Diseo de objetos 3D en 3dStudio Max. Realidad Virtual y VRML. Optimizacin de Cdigo e insercin de enlaces en VRML de tal modo de comunicacin de Java. Navegadores 3D VRML. Programacin de efectos y automatizacin del invernadero con Java. Adquisicin de Datos utilizando LabVIEW . Comunicacin entre VRML y Java utilizando EAI. Comunicacin de datos LabVIEW y Java. Sistema Mnimo. Creacin de un Sitio web para publicacin del invernadero visualizado.

10

1.5. Organizacin de la tesis.

En el Captulo 3 se presentar la arquitectura general de todo el proyecto de tesis, como la estructura del invernadero virtual automatizado. En Captulo 4 se mostrar el ujo de los datos, como los pantallas de las simulaciones y de todo el invernadero por secciones como del proyecto nal. Finalmente, se dan unas conclusiones y perspectivas en donde se plasman las conclusiones extradas del presente trabajo de tesis, as como algunas ideas de posibles direcciones de investigacin y de desarrollos futuros.

Captulo 2 Estado del Arte y Herramientas.Resumen. En este captulo se presenta el estado del arte como tambin se describen los trminos y conceptos bsicos en sntesis y objetivo, de Diseo en 3D, Realidad Virtual (VR), as como los conceptos principales de VRML, Java, LabVIEW y Sistema mnimo, su historia y aplicaciones. As mismo, se explican los mecanismos para la descripcin y asignacin de comportamientos complejos en los mundos virtuales. En las siguientes secciones se presentan los trminos y conceptos bsicos que se abordan en este captulo. En la seccin 2.2.5 se explica el Diseo de objetos 3D en 3dStudio Max. Existen muchos programas para crear modelos en 3ra dimension, entre los cuales de los ms populares se encuentran: Discreet 3D Studio Max, Alias Wavefront Maya y muchos otros. Se eligi el 3D studio por la facilidad de su interfaz para el modelado en 3D y su rapidez de generar objetos 3D, a diferencia de Maya que su interfaz es algo menos intuitiva para el modelado. Cabe recalcar que solo se us esta herramienta para el modelado y la facilidad de la exportacin de los objetos 3D a archivos VRML. En la seccin 2.2.3 se explica lo que es la Realidad Virtual y VRML. (Virtual Reality o Realidad Virtual) Mundo no real, creado mediante componentes electrnicos computacionales e informaticos, en el que se presentan efectos tales que aparentan ser real. En la seccin 2.2.7 se explica la optimizacin de cdigo e insercin de enlaces en VRML para comunicacin con JAVA. En cuanto a la optimizacin que se quiere dar a entender es la de eliminar cdigo innecesario en los archivos generados por 3Dstudio en formato VRML. La inspeccin del cdigo fuente generado, es realizada para ir borrando lneas de cdigo reemplazar estas por unas ms ecientes un ejemplo seria en cuanto al texto, 3dStudio genera el texto como guras en 3D donde utiliza matrices 11

12

para la forma de cada letra y estas terminan resultando demasiadas grandes, haciendo demasiado pesado el archivo como para ser descargado en la Internet. Otro punto que se realiz con los archivos generados son los enlaces como yo dira para poder hacer los respectivos llamados desde otro programa que pueda generar la comunicacin de datos mediante al EAI (External Authoring Interface). En la seccin 2.2.8 se ven a detalle algunos navegadores 3D o de VRML. Existen muchos navegadores 3d, de los cuales los que han sido ms populares son de la Silicon Graphics, el Cosmo Player y de Parallel Graphics el Cortona Player, del cual el primero dej de ser renovado por Silicon Graphics. En cuanto a las nuevas mejoras que podra tener con referencias a la carrera de los navegadores Web como eran en ese tiempo la de Microsoft internet Explorer contra la de Netscape Navigator. La empresa de Parallel Graphics an esta en el juego de actualizar sus paquetes. As como el HTML tambin tuvo sus mejoras con respecto el tiempo a DHTML. En cuanto a VRML ya acaba de salir la mejora que es X3D. En la seccin A.0.3 explicaremos como se realiza la programacin de efectos y automatizacin del invernadero con Java. Para la generacin de efectos en el mundo virtual de tal manera sea dependiente de lo que esta siendo adquirido en tiempo real por la herramienta de Nationals Instruments LabVIEW se utiliz el lenguaje de programacin de Java. El Cortona player es compatible con los nuevos navegadores y tambin el uso del EAI para la modicacin del mundo virtual desde otro lenguaje. Este trae unas libreras consigo como el corteai.zip que se instala en el momento de instalar el navegador 3d de Cortona Player. En la seccin A.0.4 se explicar ms a fondo la adquisicin de datos utilizando LabVIEW . La herramienta de Nationals Instruments LabVIEW en modo simulacin o real, guarda los datos adquiridos en un archivo para tener una base de datos como historial del comportamiento del clima por toda la temporada y poder realizar con estos datos, futuros temas de investigacin donde se pronostiquen las temporadas generales climticas. En la seccin 4.1 se detallar como se realiza la comunicacin entre VRML y Java utilizando EAI. En los mundos virtuales creados en lenguaje VRML se crean la denicin de nombres de los nodos llamados en lenguaje VRML como DEF (Dening Node Name) el cual sirve para poder llamarlos desde el lenguaje Java y poder acceder a propiedades de un objeto en el mundo virtual y as poder modicarlo gracias a la External Authoring Interface. En esta seccin 4.1.1 se vera ms a fondo la comunicacin de datos LabVIEW y Java. Una forma de comunicarse muy fcil entre la herramienta de Nationals Instruments de

2. Estado del Arte y Herramientas.

13

LabVIEW donde este ya anteriormente mencionamos que obtiene las variables de los dispositivos que miden la cantidad de cada factor que interviene en la automatizacin del invernadero por ejemplo el viento, es la de crear un archivo de texto plano donde esta herramienta guarda las variables capturadas, sin ningn formato en especco para ser ms ligera la carga de estos datos desde el applet que esta en el cliente por medio de internet y modicar el mundo virtual lo ms rpido posible. El archivo se guarda por la herramienta LabVIEW en la carpeta donde es publicada la pgina para internet. El Applet de Java utiliza hilos para estar constantemente vericando si existen datos nuevos en el archivo de datos. En la seccin 4.1.2 se ver en contexto el Sistema Mnimo. El sistema mnimo obtiene los datos de los sensores y adquiere los valores de las variables donde LabVIEW las va obteniendo. En la seccin 4.1.3 se explicar la creacin de un sitio web para publicacin del invernadero visualizado. La creacin del sitio web es posible gracias tambin a la herramienta de LabVIEW ya que sta tiene la opcin de dar servicio web, es decir que pueden ser publicadas las pginas web y as tener salida a la internet. La pgina del invernadero es una pgina HTML con varios objetos incrustados, los cuales necesitan una previa instalacin del programa que los pueda ejecutar los cuales son: el plugin de Cortona Player este nos sirve para visualizar cdigo VRML como los mundos virtuales en 3D, la VM (Maquina Virtual de Microsoft) este es para la ejecucin de los applets de java para la manipulacin del mundo virtual y el plugin de Flash Player para la visualizacin de archivos ash donde visualizaremos animaciones multimedia.

2.1.

Estado del arte.

En el tema de la Realidad Virtual en la Internet estos son documentos ms apegados a tema de tesis con el caso de estudio. El Lenguaje de Modelacin de Realidad Virtual (VRML) y Java. Es un paper de Don Brutzman, Code UW/Br, Naval Postgraduate School. Monterey California 939435000 USA. [email protected], presentado en Communications of the ACM, Junio 1998. En el paper nos habla del poder que tienen estas dos herramientas de programacin orientadas a la internet las cuales son Java y VRML. Espacios Virtuales de Experimentacin cooperativa: Laboratorio Virtual de Cinemtica. Es una tesis para obtener el grado de Maestra en Ciencias Computacionales de Gonzalo Alberto Torres Samperio, Universidad Autnoma del Estado de Hidalgo, Presentada en el Centro de Investigacin en Tecnologas de Informacin y Sistemas, Noviembre 2001. La cul nos habla del uso de la Realidad Virtual utilizada en Internet

14

2.2. Presentar los trminos y conceptos bsicos.

usando VRML para su uso en la educacin, en el tema de un laboratorio de Fsica, donde las personas pueden interactuar con todos los instrumentos de aprendizaje enfocados a la cinemtica pero en forma virtual. Centro de Caoacitacin en la Elaboracin de Productos Lcteos Orientado a Web. Es una tesis para obtener el grado de Maestra en Ciencias Computacionales de Arturo Curiel Anaya, Universidad Autnoma del Estado de Hidalgo, Presentada en el Centro de Investigacin de Tecnologas de Informacin y Sistemas, Febrero 2001. La cul no introduce a la enseanza de la elaboracin de productos lcteos pero de manera virtual en un curso de capacitacin orientada. En el tema de invernaderos automatizados estos son documentos ms apegados a tema de tesis con el caso de estudio.

2.2.

Presentar los trminos y conceptos bsicos.

En esta seccin se presentan los conceptos bsicos de la forma en que se desarroll el proyecto del invernadero automatizado virtual, as como las herramientas utilizadas por separado, y una pequea introduccin general a cada una de ellas.

2.2.1.

LabVIEW.

LabVIEW es una herramienta grca de prueba, control y diseo mediante la programacin. El lenguaje que usa se llama lenguaje G [Wikipedia, 2001]. Este programa fue creado por National Instruments (1976) para funcionar sobre mquinas MAC, sali al mercado por primera vez en 1986. Ahora est disponible para las plataformas Windows, UNIX, MAC y Linux. Los programas hechos con LabVIEW se llaman VI (Virtual Instrument), lo que da una idea de uno de sus principales usos: el control de instrumentos. El lema de LabVIEW es: La potencia est en el Software. Esto no signica que la empresa haga nicamente software, sino que busca combinar este software con todo tipo de hardware, tanto propio (tarjetas de adquisicin de datos, PAC, Visin, y otro Hardware) como de terceras empresas. Principales caractersticas. Su principal caracterstica es la facilidad de uso, personas con pocos conocimientos en programacin pueden hacer programas relativamente complejos, imposibles para ellos de hacer con lenguajes tradicionales. Tambin es muy rpido hacer programas con

2. Estado del Arte y Herramientas.

15

LabVIEW y cualquier programador, por experimentado que sea, puede beneciarse de l. Para los amantes de lo complejo, con LabVIEW pueden crearse programas de miles de VIs (pginas de cdigo) para aplicaciones complejas, programas de automatizaciones de decenas de miles de puntos de entradas/salidas, etc. Incluso existen buenas prcticas de programacin para optimizar el rendimiento y la calidad de la programacin. Presenta facilidades para el manejo de:

Interfaz de comunicacion: Puerto serie Puerto paralelo GPIB PXI VXI TCP/IP, UDP, DataSocket Irda Bluetooth USB OPC... Capacidad de interactuar con otras aplicaciones: dll ActiveX Matlab Simulink... Herramientas para el procesado digital de seales. Visualizacin y manejo de grcas con datos dinmicos. Adquisicin y tratamiento de imgenes. Control de movimiento. Tiempo Real estrictamente hablando. Programacin de FPGAs. Sincronizacin.

16

2.2. Presentar los trminos y conceptos bsicos.

Programar en LabVIEW . As es una herramienta grca de programacin, lo cual signica que los programas no se escriben, sino que se dibujan. Un programa se divide en Panel Frontal y Diagrama de bloques. El Panel Frontal es la interfaz con el usuario, en l se denen los controles e indicadores que se muestran en pantalla. El Diagrama de Bloques es el programa propiamente dicho, donde se dene su funcionalidad, aqu se colocan iconos que realizan una determinada funcin y se interconectan. La Figura 2.1 muestra un Diagrama de Bloques de un programa en el que se genera un arreglo de 100 elementos aleatorios, a continuacin se hace la FFT (Transformada de Fourier) de este arreglo y se muestra en una grca:

Figura 2.1: Diagrama de bloques de un programa.

2.2.2.

Lenguaje de Programacin JAVA

Java es un lenguaje de programacin orientado a objetos desarrollado por James Gosling y sus compaeros de Sun Microsystems al inicio de la dcada de 1990 [Wikipedia, 2001]. A diferencia de los lenguajes de programacin convencionales, que generalmente estn diseados para ser compilados en cdigo nativo, Java es compilado en un bytecode que es ejecutado (usando normalmente un compilador JIT), por una mquina virtual Java. El lenguaje en s mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos mucho ms simple y elimina herramientas de bajo nivel como punteros. Java est slo lejanamente emparentado con JavaScript, aunque tengan nombres similares y compartan una sintaxis al estilo de C algo parecida. Orgenes. La plataforma Java y el lenguaje Java empezaron como un proyecto interno de Sun Microsystems en diciembre de 1990. Intentaban desarrollar una nueva tecnologa para programar la siguiente generacin de dispositivos inteligentes, en los que Sun vea un campo nuevo a explotar.

2. Estado del Arte y Herramientas.

17

Bill Joy haba concebido un nuevo lenguaje que combinase lo mejor de Mesa y C. En un escrito titulado Further (ms lejos), propona a Sun que sus ingenieros crearan un entorno orientado a objetos basado en C++. Gosling intent modicar y ampliar C++, a lo que llam C++ ++ , pero pronto descart la idea para crear un lenguaje completamente nuevo, al que llam Oak. Java applet. Una Java applet, es un programa escrito en el lenguaje de programacin Java pero esta orientado a publicarse en la Web. Los applets de Java pueden correr en un navegador web utilizando la maquina virtual de Java (JVM), o en el vizualizador de applets de Sun. Entre sus caractersticas podemos mencionar un esquema de seguridad que permite que los applets que se ejecutan en el equipo no tengan acceso a partes sensibles (por ej. no pueden escribir archivos), a excepcin de que uno mismo le d los permisos necesarios en el sistema; la desventaja de este enfoque es que la entrega de permisos es engorrosa para el usuario comn, lo cual juega en contra de uno de los objetivos del mismo: entregar una forma fcil de ejecutar aplicaciones ricas desde el navegador web. Sintaxis. Los applets de Java son programas incrustados en otras aplicaciones, normalmente una pgina web que se muestra en la Tabla 2.1 en un navegador.

Tabla 2.1: Applet y su publicacin en la web// Hola.java import java.applet.Applet;import java.awt.Graphics; public class Hola extends Applet { public void paint(Graphics gc) { gc.drawString(Hola, mundo!, 65, 95); } } Applet Hola Mundo

La sentencia import indica al compilador de Java que incluya las clases java.applet.Applet y java.awt.Graphics, para poder referenciarlas por sus nombres, sin tener que anteponer la ruta completa cada vez que se quieran usar en el cdigo fuente. La clase Hola extiende a la clase Applet, es decir, es una subclase de sta. La clase Applet permite a la aplicacin mostrar y controlar el estado del applet. La clase Applet es un componente del AWT (Abstract Windowing Toolkit), que permite al applet mostrar una interfaz grca de usuario o GUI (Graphical User Interface), y responder

18

2.2. Presentar los trminos y conceptos bsicos.

a eventos generados por el usuario. La clase Hola sobrecarga el mtodo paint(Graphics) heredado de la super clase contenedora (Applet en este caso), para acceder al cdigo encargado de dibujar. El mtodo paint() recibe un objeto Graphics que contiene el contexto grco para dibujar el applet. El mtodo paint() llama al mtodo drawString(String, int, int) del objeto Graphics para mostrar la cadena de caracteres Hola, mundo! en la posicin (65, 96) del espacio de dibujo asignado al applet. La referencia al applet es colocada en un documento HTML usando la etiqueta . Esta etiqueta tiene tres atributos: code=Hola indica el nombre del applet, y width=200 height=200 establece la anchura y altura, respectivamente, del applet. Un applet tambin pueden alojarse dentro de un documento HTML usando las etiquetas , o , aunque el soporte que ofrecen los navegadores Web no es uniforme.

2.2.3.

VRML.

VRML es un acrnimo del Lenguaje de Modelado en Realidad Virtual. Usando VRML se puede crear mundos virtuales en tercera dimension en Internet. Se puede construir sitios virtuales, construcciones, ciudades, montaas, y planetas. Se puede llenar los mundos virtuales con muebles, carros, personas, naves espaciales, etc.. La caracterstica ms importante de VRML, es que permite que los mundos creados sean dinmicos y ricos en sensores en los entornos virtuales sobre internet, incluyendo las siguientes capacidades:

Animar objetos los mundos, creacin de movimiento. Reproducir sonidos y pelculas dentro de los mundos. Permitir a los usuarios interactuar con los mundos. Controlar y realzar los mundos con scripts, pequeos programas para crear actuacin en los mundos VRML [Andrea L. Ames, 1997]. Consiste en un formato de chero de texto en el que se especican los vertices y las aristas de cada polgono tridimensional, adems del color de su supercie. Es posible asociar direcciones web a los componentes grcos as denidos, de manera que el usuario pueda acceder a una pgina web o a otro chero VRML de Internet cada vez que le de click en el componente grco en cuestin.

2. Estado del Arte y Herramientas.

19

El Consorcio Web3D ha sido creado para desarrollar este formato. Su primera especicacin fue publicada en 1995; la versin actual funcionalmente completa es la VRML 97 (ISO/IEC DIS 14772-1). VRML, es la base en la que se desarrolla X3D.

2.2.4.

HTML.

El HTML, acrnimo ingls de Hypertext Markup Language (lenguaje de etiquetado de documentos hipertextual), es un lenguaje de marcacin diseado para estructurar textos y presentarlos en forma de hipertexto, que es el formato estndar de las pginas web [Wikipedia, 2001]. Gracias a Internet y a los navegadores del tipo Internet Explorer, Opera, Firefox o Netscape, el HTML se ha convertido en uno de los formatos ms populares que existen para la construccin de documentos. HTML es una aplicacin de SGML conforme al estndar internacional ISO 8879. XHTML es una reformulacin de HTML 4 como aplicacin XML 1.0, y que supone la base para la evolucin estable de este lenguaje. Adems XHTML permite la compatibilidad con los agentes de usuario que ya admitan HTML 4 siguiendo un conjunto de reglas.

2.2.5.

Diseo de objetos 3D en 3dStudio Max.

3D Studio Max es un programa de creacin de grcos y animacin 3D desarrollado por Autodesk Media & Entertainment (formalmente conocido como Discreet y Kinetix) [Wikipedia, 2001].

Figura 2.2: Diseo del invernadero en 3DS Max.

3DS Max es uno de los programas de animacin 3D ms utilizados. Dispone de una slida capacidad de edicin, una omnipresente arquitectura de plugins y una larga tradicin en plataformas Microsoft Windows. 3ds Max es utilizado en mayor medida por los desarrolladores de videojuegos, aunque tambin en el desarrollo de proyectos de animacin como pelculas o anuncios de televisin, efectos especiales y en arquitectura.

2.2.6.

Realidad Virtual.

Realidad virtual es un sistema o interfaz informtico que genera entornos sintticos en tiempo real, representacin de las cosas a travs de medios electrnicos o represen-

20

2.2. Presentar los trminos y conceptos bsicos.

taciones de la realidad, una realidad ilusoria, pues se trata de una realidad perceptiva sin soporte objetivo, sin red extensa, ya que existe slo dentro de la pc. La realidad virtual puede ser de dos tipos: inmersiva y no inmersiva. Los mtodos inmersivos de realidad virtual con frecuencia se ligan a un ambiente tridimensional creado por una pc, el cual se manipula a travs de cascos, guantes u otros dispositivos que capturan la posicin y rotacin de diferentes partes del cuerpo humano. La realidad virtual no inmersiva utiliza medios como el que actualmente nos ofrece Internet, en el cual podemos interactuar en tiempo real con diferentes personas en espacios y ambientes que en realidad no existen sin la necesidad de dispositivos adicionales a la computadora. La realidad virtual no inmersiva ofrece un nuevo mundo a travs de una ventana de escritorio. Este enfoque no inmersivo tiene varias ventajas sobre el enfoque inmersivo como son el bajo costo y fcil y rpida aceptacin de los usuarios. Los dispositivos inmersivos son de alto costo y generalmente el usuario preere manipular el ambiente virtual por medio de dispositivos familiares como son el teclado y el ratn que por medio de cascos pesados o guantes [Wikipedia, 2001].

2.2.7.

Optimizacin de Cdigo e insercin de enlaces en VRML.

La generacin de los mundos virtuales es gracias a la herramienta de diseo en 3D de 3DS Max, en el cual que se disearon los objetos 3D y del cual se exportaron en archivos VRML. Posteriormente con la herramienta de ISA de Parallel Graphics se unicaron todos estos elementos en un solo archivo VRML, que este permite su ubicacin de cada elemento como su visualizacin de estos, adems que nos ayuda a optimizar el cdigo fuente de VRML. En cuanto la otra forma de optimizar cdigo, es mejor escribir las letras desde cdigo VRML con ayuda de una herramienta para edicin de archivos VRML, VRMLPAD de Parallel Graphics, as como poner los nombres de nodos (DEF) con los que se manda a llamar desde el applet de Java.

2.2.8.

Navegadores 3D.

Actualmente existen una gran gama de navegadores 3D. [NIST, 2006] Los ms comunes caminos para desplegar, mostrar, visualizar, ejecutar, o ver archivos VRML, modelos, o mundos (.wrl extensin de archivo) es con un plugin libre VRML, tambin lo conocemos como un visualizador (navegador browser), player, viewer, reader, addon, client, toolkit, program, software, o control ActiveX. Para poder usarlo uno debe de descargar e instalar el plugin VRML para su navegador web. Pueden ser instalados

2. Estado del Arte y Herramientas.

21

ms de un plugin, si se cuenta con mltiples navegadores para la Web. Algunos de los plugins de VRML, tambin pueden visualizar archivos X3D.

Programas standalone, Toolkits y Applets. El VRML tambin puede ser visualizado con plugins de java, como los siguientes applets libres mostrados en la Tabla 2.2, como otros que son herramientas, programas y plugins no diseados en Java. En la cual se presentan los plugins libres de visualizacin 3D y las plataformas de SO en la cual estos funcionan, como tambin la compatibilidad con el navegador y con el nuevo estndar X3D de realidad Virtual.

Tabla 2.2: Plugins Visualizadores 3D Tipo SO Browser Win Linux Mac IE Firefox Cosmo Player P X ? X Cortona P X X X X Octaga Player P,S X X X X BS Contact P X X X Flux P X X blaxxun Contact P X X Venues P X X FreeWRL P,S X X X OpenVRML P,S X X X Xj3D J,T X X X Carina S X X X Orbisnap S X X X VRMLview S X X Demotride S X BS Contact J J X X X X X blaxxun3D J X X X X X Tipos: P=Plugin, S=Program, T=Toolkit, J=Java. Software

X3D

X X X X X X X

2.2.9. 2.2.10.

Programacin de efectos Adquisicin de Datos utilizando LabVIEW.

Captulo 3 Arquitectura general del sistema.Introduccin En este captulo se explica la arquitectura de un Invernadero Virtual Automatizado. En primer lugar, se describe la funcionalidad del sistema en forma de bloques y de manera general, los elementos que conforman al sistema. Por ejemplo, la adquisicin de datos en LabVIEW , por medio de un applet de Java, el modelo de eventos para la asignacin de comportamiento complejo a una escena tridimensional y por ltimo las interfaz grca. Como podemos ver en la Figura 3.1 el diagrama general.

Figura 3.1: Diagrama general del funcionamiento del invernadero virtual.

3.1.

Funcionalidades.

La funcionalidad de este caso de estudio (invernadero hidroponico automatizado) es el control supervisorio que ayuda a mantener al invernadero con un control supervisorio que puede ser monitoreado de forma remota, de las variables del clima, o si existe mal funcionamiento del invernadero activando alarmas y con una ayuda visual del invernadero virtual.

3.2.

Modelo Funcional.

El modelo funcional del sistema del invernadero virtual automatizado, se basa en un sistema basado en reglas. Existen varios sensores que con la herramienta de adquisicin 23

24

3.3. Adquisicin de Datos en LabVIEW.

de datos no se encuentran implementados de tal manera que estos datos son generados de manera aleatoria. El comportamiento del invernadero virtual se monitorea con todos los posibles datos, y tomando en cuenta los rangos de cada instrumento virtual.

3.2.1.

Metodologa de Desarrollo de la Solucin:

Para una mejor y ms clara idea del desarrollo de este trabajo, se tratar en primer lugar el mdulo de adquisicin de datos por medio de VISA, presentacin de los instrumentos Virtuales, con la herramienta LabVIEW . En una la segunda fase se ver la creacin de los objetos que conforman el invernadero con la herramienta de 3DS Max junto con la herramienta de ISA de Parallel Graphics utilizada para integrar todos los objetos, como tambin el uso del VRMLPAD para realizar los comportamientos como los enlaces necesarios. As tambin, se abordar la creacin de instrumentos virtuales para Internet de manera como que utiliz Macromedia Flash para poder supervisar las variables del invernadero siendo esto posible de la lectura de un archivo cada segundo. Finalmente se tratar el uso de un applet de Java el cual activa el comportamiento del invernadero virtualizado utilizando la adquisicin de datos desde un archivo posteriormente modicado cada 5 segundos, y adquirido por el applet cada segundo.

3.3.

Adquisicin de Datos en LabVIEW.

La adquisicin de los datos por LabVIEW se realiza por medio del puerto serial de la PC RS-232, el cual fue programado para la recepcin y envo de datos. Esto es posible mediante la programacin en ensamblador del PIC, el cual enva y recibe datos. Con la ayuda de LabVIEW y los diagrama de bloques VISA, se detectan que dispositivos de entrada tiene cada mquina, como por ejemplo: (COMs, puerto paralelo) y se congura por medio de bloques VISA, para poder asignar la entrada y salida de datos. A continuacin se muestran los diagrama de bloques de los VISA y todos sus componentes para hacer posible la adquisicin de datos desde LabVIEW y un ejemplo corto de adquisicin de datos de LabVIEW .

Figura 3.2: Diagrama de bloques.

Como se puede observar en la Figura 3.2, se empieza con el bloque de funcin de conguracin VISA, donde se coloca por cul dispositivo se va a realizar la adquisicin, as como la tasa de baudios. Luego se tiene tiene un bloque de lectura VISA, el cual obtienen los bits y se pasa a un buer, despus se realiza un conversion y de acuerdo a

3. Arquitectura general del sistema.

25

los identicadores podemos ver a que sensor le corresponde la informacin. En este trabajo de tesis existen varios sensores que no se han conectado y se encuentran de manera operacional, con datos que son simulados. Los datos son generados de forma simulada son tales como, los sensores de nivel del tinaco, la direccin del viento, as como todas las alarmas de los actuadores.

3.4.

Obtencin de Datos.

Dada la adquisicin de datos por LabVIEW , estos son guardados en un archivo de texto donde se guardan los datos de cada una de las variables que se necesitan para la simulacin del invernadero automatizado virtual.

Figura 3.3: Estructura de datos de los sensores en el archivo.

A continuacin, se presenta un ejemplo del uso de estas funciones en programacin por bloques, creando y reemplazando un archivo llamado datos.txt. En el diagrama se encuentra una lnea suelta que proviene de la parte inferior de la Figura 3.4; esta es la que lleva los datos a guardar en un formato de texto.

Figura 3.4: Diagrama por bloques. Seccin de Archivos.

En la Figura 3.5 se muestra un diagrama de bloques del programa de simulacin de adquisicin de datos con instrumentos virtuales VIs.

Figura 3.5: Diagrama de bloques de simulacin de adquisicin de datos.

3.5.

Desarrollo del Mundo Virtual

Para el diseo del invernadero virtualizado, se utiliz 3DS Max, en donde de disearon los objetos en forma separada para despus exportarlos a archivos VMRL, como

26

3.5. Desarrollo del Mundo Virtual

se observa en la Figura 3.6. As tambin observe el diseo de las secciones principales de un invernadero.

Figura 3.6: Diseo de objetos 3D del invernadero.

A todos los objetos, posteriormente se le asignarn un comportamiento y por esto, se disean por separado en 3DS MAX y otros directamente en cdigo VRML, desde un editor que se llama VRML (observe la Figura 3.7).

Figura 3.7: Diseo del invernadero desde cdigo VRML.

Como se puede ver en la Figura 3.7, el espacio de trabajo en el VRMLPAD de Parallel Graphics, se encuentra dividido en 3 secciones. En el lado izquierdo se encuentran los Nodos, en el centro se encuentra el espacio para programar en VRML y al lado derecho se pueden observar una pequea representacin del objeto en 3D. En esta Figura se presenta el desarrollo del tablero, que aparece en la parte inferior de la representacin del invernadero virtualizado, ya que se optimiza el cdigo al ser programado de est manera, as como tambin la tuberas. Otra herramienta que se utiliz que es de la familia de Parallel Graphics es la de ISA (Internet Scene Assembler), la cual su utilidad fue la de poner en posicin a todas las formas 3D que corresponden al invernadero en un archivo y posteriormente optimizarlo, vase la Figura 3.8.

Figura 3.8: Diseo del invernadero ISA Parallel Graphics.

La herramienta ISA (Figura 3.8) est dividida en 5 secciones importantes en el espacio de trabajo. A la izquierda se encuentra el mundo virtual gracado sin texturas. Para poder orientarse inicialmente, se posiciona por encima del eje Y dando una vista desde la parte de arriba de todo el mundo. En el centro se puede visualizar el invernadero en su visualizacin de forma publicada. La parte derecha se encuentra subdividido en 2 partes. En la parte superior se encuentran las propiedades que cada nodo o grupo de seleccionado, y en la parte inferior se encuentran dichos nodos o grupos de nodos.

3. Arquitectura general del sistema.

27

Y por ltimo en la parte inferior principal se encuentra la representacin de manera minimizada de las libreras de objetos en archivos VRML, el cual se utiliz para ir integrando cada objeto diseado y exportado en 3DS Max.

3.6.

Asignacin de Comportamiento Complejo.

Como se mencion en el Captulo 2, en el lenguaje de VRML, el comportamiento se controla mediante eventos. La asignacin del comportamiento que es programado para este que es el caso del invernadero, se programaron los sensores como los actuadores y algunos que no lo son. Que presentan a continuacin en la siguiente forma, el objeto a programar y sus respectivos comportamientos, los cuales se presentan algunos ejemplos que son los siguientes: El anemmetro y la rotacin de las paletas sobre el eje Y. La veleta de viento y su rotacin de este en el eje Y. Las cortinas principales del invernadero y su comportamiento de plegado como el de despliegue. Las cortinas de los domos y su plegado como el tambin su despliegue. El cielo y su comportamiento es el de cambiar la tonalidad en su color con respecto al tiempo horario. El calentador y su comportamiento es el de cambiar de color la rejilla para cuando este se encuentre prendido o apagado, el cual se puede ver en la Figura 3.9 la denicin de su nodo y en la Figura 3.10 su programacin de su comportamiento dados los casos de cuando tiene que presentarse como prendido o apagado.

Figura 3.9: Asignacin de Comportamientos en VRML.

Como se puede ver en la Figura 3.9 se tiene diseado lo que sera el calentador ambiental del invernadero, el cual se diseo con unas rejillas y un ventilador en su interior, los cuales van a tener un comportamiento cuanto estos sean activados. La rejilla cambiara de color utilizando los DEF que son asignados desde VRML se cre una denicin de nodo llamada colorRejilla como tambin el ventilador empezar a funcionar con su correspondiente denicin de su nodo. Como se ve en el cdigo de VRML la denicin de su nodo tambin lo tenemos en el cdigo del applet el cual primeramente se obtiene

28

3.7. Interfaz Grca.

Figura 3.10: Asignacin de Comportamientos en Java usando EAI.

el enlace para darle comportamiento haciendo uso de la denicin del nodo DEF. Como se observa en la Figura 3.10 que es una parte del cdigo fuente del applet, el cual se utiliza para modicar todos los elementos a los cuales se le ha asignado un comportamiento. El cdigo que se presenta solo se ejecuta una vez, el cual obtiene la informacin y reacciona el calentador a una sola adquisicin de datos, este reaccionaria al primer elemento que es la temperatura del invernadero.

3.7.

Interfaz Grca.

A continuacin se muestra el diagrama de bloques del programa de adquisicin de datos y puente para el manejo del mundo virtual y control de los actuadores iniciando de lo ms general a lo ms especco.

Figura 3.11: Estructura General de Sensores, Actuadores y Mdulos.

Como se puede observar en la Figura 3.11, existen diferentes mdulos (Esclavos y Maestros) los cuales estn en red para intercomunicarse. Los actuadores estn conectados fsicamente a los Mdulos Esclavos y sirven para realizar el accionamiento sobre las cortinas, domos, riego.

Figura 3.12: Adquisicin y puente del mundo virtual.

As tambin, se presentan los Instrumentos Virtuales de LabVIEW donde son representados los indicadores de las variables obtenidas, como otros dispositivos de control como se observa en la Figura 3.13. Posteriormense se presentan los instrumentos virtuales desarrollados en VRML y en ash enfocados a la representacin de los indicadores en internet. Inicialmente se publicaban 2 mundos virtuales, donde en uno se proyectaba el invernadero automatizado y en el otro se visualizaban los indicadores virtuales como se observa en la Figura 3.14 todo

3. Arquitectura general del sistema.

29

Figura 3.13: Instrumentos Virtuales en LabVIEW

en VRML. La razn por la cual se cambiaron estos instrumentos de VRML a Flash fue por el consumo de memoria de video, el cual tena que renderizar dos mundos virtuales simultneamente, junto con un applet extra que tena que ser procesado tambin por la mquina virtual de Microsoft para modicar ese mundo de indicadores virtuales.

Figura 3.14: Instrumentos Virtuales en VRML.

En la Figura 3.13 observe que uno de los mdulos esclavos es representando por medio de un sensor de nivel de lquido, enva la medicin a LabVIEW, el cual representar en el instrumento virtual Tinaco en la Figura 3.14, la medicin real del sistema. De forma similar, la instrumentacin virtual en Flash es retroalimentado por los datos obtenidos de LabVIEW , donde este reescribe un archivo continuamente de los nuevos datos adquiridos, actualizando as los datos en el instrumento virtual publicado en internet desarrollado en ash como se ve en la Figura 3.15.

Figura 3.15: Instrumentacin Virtual en Flash

Como se puede notar, existen variables analgicas, como las que se representan en la Figuras 3.14 y 3.15, as como digitales, que son las alarmas como se observan en la (Figura 3.16). El applet que es publicado en Internet 3.17, se utiliza para darle comportamiento al invernadero 3D de acuerdo a las variables climticas. Dicho applet, en su entorno grco, solo tiene un objeto de texto que es til en las pruebas de conexin con el mundo virtual ya que despliega el estado y los datos obtenidos del archivo que se esta actualizando por LabVIEW. En la Tabla 3.1 se observa la salida en general del estado de la ejecucin, inicialmente aparece el mensaje de Listo ->obtencin de Nodos, que indica que se pudo sincronizar con el navegador 3D y que se encuentra listo para la obtencin de los nodos del mundo virtual. A continuacin, obtiene los nodos del mundo para posteriormente modicar los valores de los campos de esos nodos como se observa en la Tabla 3.1. Y as inicia un ciclo innito de lectura de

30

3.7. Interfaz Grca.

Figura 3.16: Alarmas en Flash

Figura 3.17: Applet publicado manejador del comportamiento.

los datos del archivo y la modicacin del mundo con respecto a la informacin obtenida.

Tabla 3.1: Estado del appletListo ->Obtencin de Nodos del Virtual World Nodo obtenido en Grupo04-TIMER Nodo obtenido en Tuberas de Riego Nodo obtenido de la Rejilla del Calentador Nodo obtenido en Tuberas de abastecimiento Nodo obtenido en calentador_ventilador Nodo obtenido en fondo skyColor Nodo obtenido en fondo groundColor Nodo obtenido en cortina Nodo obtenido en sombra Nodo obtenido en cortina_domo Nodo obtenido en fondo skyColor Nodo obtenido en Tablero_texto El contenido del archivo es : 2.62 82.70 9.05 84.16 35.33 300.88 1.00 1.00 0.00 1.00 1.00 10 19 09 10 SENSORES>Termmetro: 2.62 Anemmetro: 82.7 Celda: 9.05 Humedad: 84.16 Tinaco: 35.33 % Direccin V.: 300.88 BUFFER VACIO El contenido del archivo es : 2.62 82.70 9.05 84.16 35.33 300.88 1.00 1.00 0.00 1.00 1.00 10 19 09 10

Enseguida se explicar el diseo del sistema supervisorio del Invernadero automatizado, en donde se utilizaron las siguientes herramientas: Internet Explorer, la Maquina Virtual de Microsoft, Applet de Java y Objetos incrustados en Flash. El invernadero virtual automatizado publicado en Internet como se puede observar en la Figura 3.18, est diseado en 3 secciones. En la parte superior se encuentra el invernadero en 3D, en la parte inferior se encuentra dividido en 2 subsecciones, mientras que en la parte izquierda se puede ver los Instrumentos Virtuales en Flash de los datos

3. Arquitectura general del sistema.

31

obtenidos del invernadero fsico, y en la parte izquierda una presentacin del invernadero en forma minimizada as como tambin se usa para proveer informacin de cada componente del invernadero.

Figura 3.18: Invernadero virtual publicado en internet.

En la parte superior de la Figura 3.18, de la seccin del invernadero 3D, se publican los sensores, y los estados de las alarmas pero en formato de texto de color blanco. Suposicin se ubica en la coordenada XYZ en la parte inferior de la vista del usuario de acuerdo al movimiento del usuario que se desplaza en el mundo 3D virtual. Conclusin del captulo. Se tiene desde el desarrollo del diseo del invernadero en 3D Max, como la adquisicin de los datos por medio de la herramienta LabVIEW y la modicacin y desarrollo del comportamiento del invernadero utilizando Java y EAI.

Captulo 4 Integracin de comunicacin: Sistema Mnimo, LabVIEW, Mundo Virtual y Java.Introduccin En este captulo veremos los temas de como se integro cada uno de las diferentes partes del prototipo en cuanto a la comunicacin se reere entre cada una de ellas, el cual es la parte fundamental de este trabajo. Iniciando por el Mundo Virtual y Java.

4.1.

Comunicacin via EAI entre VRML y Java

En contexto para entender esta seccin tenemos que tener en cuenta que existe un Mundo Virtual diseado para un caso de estudio, el nuestro sera el diseo de un invernadero, donde las formas representadas en este diseo son: los mdulos del invernadero con domo, cortinas de los domos, cortinas principales, tinacos, calentadores, etc.. Donde del otro lado del eslabn se tienen datos, en el cual nos dice: cul es el tiempo horario, la temperatura, la humedad, la velocidad del viento, su direccin, el nivel de agua del tinaco, informacin sobre las alarmas activadas y el comportamiento que debe de realizar el invernadero virtual en cuanto su actuacin. A continuacin se vern los mtodos para poder comunicar los 2 eslabones los cuales son: el Mundo Virtual de un lado y los datos obtenidos del invernadero fsico en el otro extremo. Los mtodos de comunicacin para un mundo virtual utilizando EAI son los que se muestran en la Figura 4.1. 33

34

4.1. Comunicacin via EAI entre VRML y Java

Figura 4.1: Mtodos de comunicacin en VRML via EAI.

El mtodo de la Figura 4.1 seccin A) el comportamiento queda establecido por el programador y la activacin, el cual solamente existir en forma declarada en la pgina web y el navegador 3D activara este de acuerdo a una condicin establecida desde que se cargue el archivo VRML. En el mtodo 4.1.B) los efectos o comportamientos son dados desde un archivo externo a la pgina web con extension .JS (Archivo de funciones de JavaScript), pero los comportamientos son iguales al primer mtodo. En los dos primeros mtodos no se usa el plugin de la MVM (Microsoft Virtual Machine) como se puede observar en los mtodos 4.1.C) y 4.1.D). Debido a esta propiedad se decidi tomar la comunicacin y modicacin del mundo virtual con el mtodo 4.1.C), que es el ms completo para nes de este proyecto de tesis. Un ejemplo sencillo de la comunicacin VRML y Java mediante el EAI se muestra a continuacin con el cdigo fuente.

4. Integracin de comunicacin: Sistema Mnimo, LabVIEW, Mundo Virtual y Java.35

inicio del archivo

import java.awt.; import java.applet.; import java.awt.event.; import vrml.external.; import vrml.external.eld.; import vrml.external.exception.; public class EsferaApplet extends Applet implements ActionListener{ Browser myBrowser = null; EventInSFColor esferaColor = null; EventInSFVec3f esferaScale = null; oat esfera_Color[] = new oat[3]; oat esfera_Scale[] = new oat[3]; Button Red=null; Button Green=null; Button Yellow=null; Button Scale_X=null; Button Scale_Y=null; Button Scale_Z=null; public void init() { this.setLayout(new GridLayout(2,3,10,10)); this.setBackground(Color.white); this.setForeground(Color.black); Font F1=new Font(Helvetica, Font.BOLD + Font.ITALIC,16); this.setFont(F1); add(Red=new Button(Rojo)); add(Green=new Button(Verde)); add(Yellow=new Button(Amarillo)); add(Scale_X=new Button(Scalar_X)); add(Scale_Y=new Button(Scalar_Y)); add(Scale_Z=new Button(Scalar_Z)); Red.addActionListener(this); Green.addActionListener(this); Yellow.addActionListener(this); Scale_X.addActionListener(this); Scale_Y.addActionListener(this); Scale_Z.addActionListener(this); } public void start() { for(int i = 0; i Archivos I/O paleta, sobre el diagrama de bloques. Este VI crea o

4. Integracin de comunicacin: Sistema Mnimo, LabVIEW, Mundo Virtual y Java.37

reemplaza un archivo. Abre un archivo existente, crea un nuevo archivo, o reemplaza un archivo existente, esto puede ser programado o usando una interaccin con una caja de dilogo del archivo.

Figura 4.3: Bloque de abrir o crear archivo.

Las entradas del bloque de la Figura 4.3 empezaremos por Pattern despliega en una caja de dilogo las restricciones de los archivos para aquellos de quienes el nombres equivalente del formato. El formato no es una restriccin de los directorios mostrados. La equivalencia del formato en estas funciones es similar para la equivalencia usada en congruencia procesadores de texto en los nombres de los archivos en Windows y UNIX. Las restricciones de los archivos mostrados en la caja de dilogo para aquellos los cuales los archivos concuerden con el formato. Los formatos no tienen restricciones de los directorios mostrados. El formato concuerdan en la funcin siendo similar para la concordancia usada en el procesador de texto en los nombres de archivos en windows y UNIX. Si se especica con una marca de carcter como el de pregunta (?) o un asterisco (*), la funcin mostrar solamente archivos o directorios que contengan esos caracteres. Se puede utilizar el (?) para que concuerde con una sencillo carcter. Se puede utilizar el uso del asterisco (*) para que concuerde con una secuencia de uno o ms caracteres. Continuaremos luego con prompt es el mensaje que aparece citado anteriormente listando archivos y directorios, o carpetas, en la caja de dilogo. Como le path es el nombre y direccin de la ubicacin del archivo. Si el le path esta vaci (default) o no tiene path, el VI despliega una cuadro de dilogo donde se puede seleccionar un archivo. Ocurre un error nmero 43 si se cancela el cuadro de dilogo. As tambin cuando no se especica la entrada anterior utilizamos start path (Not A Path): desplegara el directorio donde inicializara la direccin, o carpeta donde esta el archivo en una caja de dilogo. Luego continuamos con function (open:0): esta son las operaciones a efectuar. La entrada de error in (no error) describe las condiciones de error que ocurren despus de la ejecucin del VI o funcin. Por default no existe un error. Si un error ocurre despus de ejecutar el VI o la funcin, el VI o funcin pasa el valor del error a una salida de error. Este VI o funcin normalmente se ejecuta solo si no ocurre un error despus de la ejecucin. Y luego con default name es el nombre inicial que se desea que aparezca del archivo o del directorio en la caja de dilogo. Por defecto la cadena es vaca. Y por ltimo de las entradas con advisory dialog? (displat:T) si esta activado (que es por defecto), el VI mostrar una caja de dilogo cuando la funcin sea 0 o 4 cuando el archivo no existe, o cuando la funcin sea 2 o 3 cuando el archivo existe. En cuanto a las salidas de este bloque empezaremos con refnum es el nmero de referencia del archivo abierto. El valor no es un Refnum si el archivo no

38

4.1. Comunicacin via EAI entre VRML y Java

0 1 2

3 4

Tabla 4.1: Function Open Abre un archivo existente. Error 7 ocurre si el archivo no es encontrado. Abre un archivo existente o crea un nuevo archivo si este no existe. Crea un nuevo archivo o reemplaza un archivo si este existe y pide un permiso. Este Vi reemplaza un archivo para abrir usa la conguracin del n del archivo como 0. Ocurre el error 43 si no selecciona el aviso de reemplazo con un cuadro de dilogo. Crea un nuevo archivo. Ocurre un error 8 si el archivo ya existe. Abre un archivo existente para lectura solamente. Ocurre un error 7 si el archivo no existe.

pudo ser abierto. Luego con new le path es la ubicacin de el archivo a abrir o crear. Se puede usar esta salida para determinar la ubicacin de un archivo que se abri o creo usando una caja de dilogo. La caja de dilogo no retorna una nueva ubicacin de un archivo si selecciona Cancelar. Como tambin con le size (bytes) es el tamao del archivo en bytes. Es tambin la locacin de el n del archivo. Y por ltimo con error out el cual contiene la informacin del error. Si un error ocurre este indica que error se produjo despus de ejecutar el VI o la funcin, error out contiene la informacin del error. Como tambin describe el estado del error que se produjo en el VI o la funcin. En la Figura 4.4 se observa la