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