You are on page 1of 281

MINISTERIO DEL PODER POPULAR PARA LA DEFENSA

DIRECCIN GENERAL SECTORIAL


UNIVERSIDAD NACIONAL EXPERIMENTAL POLITCNICA
DE LA FUERZA ARMADA NACIONAL
UNEFA

DESARROLLO DE INSTRUMENTACIN VIRTUAL CON FINES


DIDCTICOS EMPLEANDO CONTROLES ACTIVEX PARA LA
UTILIZACIN DE CIRCUITOS INTEGRADOS CON CAPACIDAD DE
COMUNICACIN 1-WIRE

Trabajo presentado a la Universidad Nacional Experimental Politcnica


De la Fuerza Armada Nacional
Por
CASTRO ZAMBRANO JOS R.
DAZ MATTERN JESSICA J.
Como requisito para optar al ttulo de
INGENIERO ELECTRNICO
MARACAY, mayo de 2007.

APROBACIN DEL TUTOR

DESARROLLO DE INSTRUMENTACIN VIRTUAL CON FINES DIDCTICOS


EMPLEANDO CONTROLES ACTIVEX PARA LA UTILIZACIN DE
CIRCUITOS INTEGRADOS CON CAPACIDAD DE COMUNICACIN
1-WIRE

AUTORES
CASTRO ZAMBRANO JOS R.
DAZ MATTERN JESSICA J.

Certifico que he ledo este Trabajo Especial de Grado y lo he encontrado aceptado en


cuanto a contenido cientfico y lenguaje

__________________________________________
Ing. Jos M. Rodrguez Solano

MARACAY, mayo de 2007.

ii

APROBACIN DEL JURADO EXAMINADOR


DESARROLLO DE INSTRUMENTACIN VIRTUAL CON FINES
DIDCTICOS EMPLEANDO CONTROLES ACTIVEX PARA LA
UTILIZACIN DE CIRCUITOS INTEGRADOS CON CAPACIDAD DE
COMUNICACIN 1-WIRE
CASTRO ZAMBRANO JOS R. y DAZ MATTERN JESSICA J.
Este trabajo ha sido aprobado en nombre de la Universidad Nacional Experimental
Politcnica de la Fuerza Armada Nacional por el siguiente Jurado:

___________________________
PRESIDENTE
ING. William Cuervo
C.I.
___________________________
MIEMBRO PRINCIPAL
ING. Nstor Mogolln
C.I.
___________________________
MIEMBRO PRINCIPAL
ING. Carlos Blanchard
C.I.
___________________________
MIEMBRO SUPLENTE
ING. Mariana Ramos
C.I.
MARACAY, mayo de 2007.

iii

DEDICATORIA
A Dios todopoderoso, a quien agradezco la vida y el haber hecho posible llegar
hasta este momento en mi carrera. A mi padre, por haberme apoyado en vida en todo
momento y que s que hoy ms que nunca me acompaa espiritualmente A ti papi,
te llevo en mi pensamiento y en mi corazn, gracias por tus consejos. A mi madre por
su apoyo incondicional y haberme dado la formacin integral que hicieron de m la
persona que hoy en da soy, te quiero mucho mami. A mis hermanos Marhilda, Len
y Jess, quienes me han apoyado en toda mi carrera y quienes me han enseado a
valorar las cosas buenas y malas de la vida, a uds hermanos tambin les dedico este
trabajo, gracias por estar ah cuando los he necesitado. A mis tas Miriam, Herminia,
a mi to Jess, a mi prima Martha, y a aquellos que de alguna manera han estado
pendientes y apoyando el desarrollo y finalizacin de este trabajo, gracias. A todos
mis amigos, quienes me han apoyado incondicionalmente en las buenas y en las
malas, han celebrado mis xitos y me han dado nimos en los fracasos, gracias por
todo. A mis profesores, quienes han aportado un granito de arena en la formacin de
mi carrera como profesional y tambin como ser humano. Al profesor Jos Rodrguez
por haber credo en nosotros, dedicarnos tiempo y apoyarnos durante el desarrollo
de este trabajo, igualmente por los consejos que nos ha dado que enriquecen nuestro
desarrollo profesional y humano. A todos uds, les dedico este trabajo especial de
grado.
Jos Castro
Estoy a un paso de cumplir mi ms grande meta en estos 21 aos. Hay muchas
cosas por las que agradezco, pero no tuviese ninguna sino fuese por Dios. A mi Dios
Todopoderoso que me ha regalado la vida y mis seres queridos, nunca me cansar de
darte las gracias. A mi familia adorada: a mi Opi bello, que has sido abuelo y padre,
el mejor y ms maravilloso de todos, gracias por tu amor, por ensearme a ser fuerte
y humilde, tus consejos, por dejarlo todo si te necesito, por ser siempre el primero en
apoyarme y demostrarme que la sensibilidad no conoce de razas; a mi Mami, eres el
mejor ejemplo de constante lucha por amor, gracias por ser incondicional conmigo,
por hacer de m una mujer de bien y por tu amor nico; a mi Omi linda, mi segunda
mam a quien admiro, gracias por animarme en momentos difciles, por entregarte
en cuerpo y alma a nosotros, por estar a mi lado y entender mi carcter; a mi gititi
por darme la oportunidad de hacer de ti un hombre de bien y disfrutar de tu
compaa; a mi pap, por ensearme que an siendo adultos, nuestro espritu debe
ser joven; a mi to Bruno, por hacerme ms independiente y confiar en m; a mi ta
Mnica, por ser tan noble y cariosa. A mi pequeo, gracias por darme el privilegio
de tenerte, amarme como lo haces, apoyarme y comprenderme. A toda mi familia,
gracias por ser quienes son. A mis amigos de corazn, por brindarme su amistad y
ver la vida desde varios ngulos. Al prof. Jos Rodrguez, ejemplo de admiracin,
por ayudarnos y por brindarnos su lado humano y entretenido. A mis profesores
gracias por creer en m y sentirme orgullosa de mi universidad. A todos que me
apoyaron y me quieren
Jessica Daz.

iv

RECONOCIMIENTOS

A nuestro Tutor, Ing. Jos Rodrguez, por ayudarnos en todo momento, por el
gran inters que tuvo en nuestro trabajo, por brindarnos las herramientas necesarias
para la culminacin exitosa, por guiarnos y dedicarnos tanto tiempo. Gracias
tambin por permitirnos realizar un aporte a nuestra universidad.

A la UNEFA por forjarnos disciplina y conocimientos haciendo de nosotros


futuros ingenieros con una formacin integral.

A nuestros profesores por su devocin a la enseanza y por hacernos ver que


podemos dar mucho ms de lo que pensamos. Asimismo, a los tcnicos de
laboratorios por ayudarnos en todo momento.

Al prof. Ing. William Cuervo por asesorarnos cuando lo necesitamos,


incentivarnos a realizar las cosas con el mayor grado de perfeccin y exactitud
posible y concedernos un espacio de su tiempo.

A la profesora Ing. Soraya Contreras, nuestra Jefe de Departamento de Ing.


Electrnica, por su paciencia y su confianza en nosotros en los momentos ms
estresantes.

Al Sr. Luis, por escuchar nuestras dificultades, darnos nimo para seguir, por
alegrarnos el da con sabrosos pastelitos y permitirnos tener un amigo ms.

A todo el personal obrero y administrativo, por recibir su ayuda cuando hemos


necesitado.

A todos ustedes nuestro ms sincero reconocimiento


Jessica y Jos.

DESARROLLO DE INSTRUMENTACIN VIRTUAL CON FINES


DIDCTICOS EMPLEANDO CONTROLES ACTIVEX PARA LA
UTILIZACIN DE CIRCUITOS INTEGRADOS CON CAPACIDAD DE
COMUNICACIN 1-WIRE

Autores:
Castro Zambrano Jos R.
Daz Mattern Jessica J.

RESUMEN

El presente trabajo tiene como objetivo el desarrollo de un conjunto de Controles


ActiveX, como Instrumentacin Virtual, quienes permiten la configuracin de cuatro
circuitos integrados con capacidad de comunicacin 1-Wire cuya finalidad es
ofrecer una herramienta didctica para el aprendizaje de la Instrumentacin Virtual u
otras materias vinculadas en Ingeniera Electrnica y carreras afines. Conjuntamente,
constituye un aporte a la UNEFA para la posible creacin de lneas de investigacin y
como plataforma para futuros proyectos. Para ello, se establecieron los
requerimientos de Instrumentacin Virtual, Controles ActiveX, comunicacin
1-Wire, diseo de la propuesta, implementacin y validaciones. Se obtuvo como
resultado la creacin de los controles ActiveX programados en Visual Basic 6.0 para
el DS18B20, DS2406, DS2450 y DS2890 que permiten leer, manipular o accionar
sobre stos de una manera amigable y didctica al usuario. Se realizaron las pruebas y
validaciones mediante simulacin en Visual Basic y una tarjeta electrnica con
mdulos analgicos y digitales. Se elabor una aplicacin final con elementos de
prueba reales insertando los controles en Microsoft Excel adems de una rutina de
buscador de dispositivos. Finalmente se cre una gua de uso para iniciar y facilitar a
estudiantes y profesores en el manejo de los Controles ActiveX creados.

Palabras clave: Instrumento virtual, Control ActiveX, comunicacin 1-Wire.

vi

NDICE GENERAL

APROBACIN DEL TUTOR...ii

APROBACIN DEL JURADO EXAMINADOR..iii

DEDICATORIA.iv

RECONOCIMIENTOS..v

RESUMEN..vi

NDICE GENERAL..vii

NDICE DE CONTENIDO.viii

NDICE DE FIGURASxiii

NDICE DE TABLAS.xix

vii

INDICE DE CONTENIDO

CAPTULO I
INTRODUCCIN
1.1.

PLANTEAMIENTO DEL PROBLEMA................................................ 2

1.2.

OBJETIVOS ............................................................................................ 6

1.2.1. Objetivo General .............................................................................................. 6


1.2.2. Objetivos Especficos ........................................................................................ 6

1.3.

JUSTIFICACIN .................................................................................... 7

1.4.

ALCANCE ............................................................................................... 8

1.5.

LIMITACIONES ................................................................................... 10

1.6.

FASES DEL PROYECTO..................................................................... 10

CAPTULO II
MARCO TERICO
2.1. ESTUDIOS PREVIOS ............................................................................... 13
2.2. BASES TERICAS.................................................................................... 14
2.2.1. Instrumentacin Virtual................................................................................. 15
2.2.1.1. Definicin.............................................................................................................. 15
2.2.1.2. Resea histrica de la instrumentacin virtual ....................................................... 18
2.2.1.3. Ventajas de la instrumentacin virtual ................................................................... 19

2.2.2. La red 1-Wire de Dallas Semiconductor ..................................................... 22


2.2.2.1 Caractersticas de la red 1-Wire .......................................................................... 25
2.2.2.2 Protocolo de Comunicaciones 1-Wire .................................................................. 26
2.2.2.3. Deteccin de errores en la red 1-Wire................................................................. 28

2.2.3. ActiveX............................................................................................................ 29
2.2.3.1. Objetos OLE.......................................................................................................... 30
2.2.3.2. Definicin de ActiveX ............................................................................................ 30

viii

2.2.3.3. Caractersticas del objeto ActiveX.......................................................................... 31


2.2.3.4. Ventajas de un control ActiveX .............................................................................. 32
2.2.3.5. Creacin de un control ActiveX.............................................................................. 33

2.2.4. Interfaz de Programa de Aplicacin TMEX.................................................. 35


2.2.4.1. API de programacin 1-Wire .............................................................................. 35
2.2.4.2. TMEX API............................................................................................................. 39
2.2.4.3. Capas y funciones TMEX ....................................................................................... 40

2.2.5. Programacin Orientada a Objetos (POO) ................................................... 45


2.2.5.1. Clase y Objeto ....................................................................................................... 45
2.2.5.2. Estructura de un Objeto......................................................................................... 46
2.2.5.3. Eventos.................................................................................................................. 46
2.2.5.4. Beneficios que se obtienen del desarrollo con POO................................................ 47

2.2.6. Entorno de Programacin de Visual Basic .................................................... 48


2.2.6.1. Propiedades .......................................................................................................... 48
2.2.6.2. Funciones.............................................................................................................. 49
2.2.6.3. Entorno Integrado de Desarrollo IDE .................................................................... 49
2.2.6.4. Pasos para crear una aplicacin............................................................................ 51

2.3. BASES LEGALES...................................................................................... 53


CAPTULO III
MARCO METODOLGICO
3.1. Tcnica para fijar requerimientos: Entrevista no estructurada (no
formalizada)....................................................................................................... 55
3.2. Mtodos y Tcnicas para establecer la lgica de la programacin ........... 55
3.3. Procedimiento y Tcnicas para implementar la propuesta....58
3.4. Herramientas para realizar las validaciones y la aplicacin final ............ 59

CAPTULO IV
DISEO DE CONTROLES ACTIVEX Y BUSCADOR DE DISPOSITIVOS
4.1 REQUERIMIENTOS DE LOS CONTROLES ACTIVEX,
INSTRUMENTACIN VIRTUAL Y COMUNICACIN 1-WIRE............ 61

ix

4.1.1 Requerimientos de los Controles ActiveX....................................................... 61


4.1.2 Requerimientos para la Instrumentacin Virtual .......................................... 63
4.1.3 Requerimientos de la comunicacin 1-Wire ................................................ 64

4.2 EVALUACIN TECNOLGICA ............................................................. 65


4.2.1 Evaluacin Tcnica.......................................................................................... 65
4.2.1.1 Evaluacin de los dispositivos 1-Wire establecidos............................................... 65
4.2.1.2 Evaluacin de la Herramienta de Desarrollo .......................................................... 70

4.2.2 Estudio Econmico .......................................................................................... 70

4.3 DISEO BSICO DE LA PROPUESTA................................................... 73


4.4 GENERALIDADES SOBRE EL DISEO DE LOS CONTROLES
ACTIVEX .......................................................................................................... 76
4.5 GENERALIDADES SOBRE LOS PROCEDIMIENTOS Y FUNCIONES
DE LOS ACTIVEX DE CADA DISPOSITIVO 1-WIRE............................. 80
4.6 DISEO DEL CONTROL ACTIVEX PARA EL DS18B20 ..................... 83
4.6.1 Memoria del DS18B20..................................................................................... 84
4.6.2 Registro de Configuracin del DS18B20......................................................... 85
4.6.3 Diseo del cuadro de dilogo Acerca De ......................................................... 90

4.7 DISEO DEL CONTROL ACTIVEX PARA EL DS2406........................ 94


4.7.1 Diseo del Cuadro de Dilogo Acerca De ..................................................... 109

4.8 DISEO DEL CONTROL ACTIVEX PARA EL DS2450...................... 110


4.8.1 Registros del DS2450 ..................................................................................... 112
4.8.2 Diseo del Cuadro de Dilogo Acerca De ..................................................... 122

4.9 DISEO DEL CONTROL ACTIVEX PARA EL DS2890...................... 123


4.9.1 Registro de la Caracterstica del Potencimetro........................................... 124
4.9.2 Registro de Control del DS2890 .................................................................... 126
4.9.3 Consideraciones de Energa y Configuracin............................................... 127
4.9.4 Configuracin de Potencimetro................................................................... 128
4.9.5 Configuracin de Resistencia Variable ......................................................... 128
4.9.6 Consideraciones de la resistencia del cursor................................................. 129
4.9.7 Diseo del Cuadro de Dilogo Acerca De ..................................................... 137

4.10 COMPILACIN DEL CDIGO FUENTE Y GENERACIN DEL


OCX ................................................................................................................. 138
4.11 DISEO DEL BUSCADOR DE DISPOSITIVOS ................................. 140

CAPTULO V
PRUEBAS, VALIDACIONES Y APLICACIN FINAL
5.1

FABRICACIN DE LA TARJETA DM-AIO4 ................................. 143

5.1.1

Requerimientos de diseo de la Tarjeta.................................................... 144

5.1.2

Diseo bsico de la tarjeta......................................................................... 144

5.1.3

Listado de Componentes ........................................................................... 146

5.1.4

Diseo y Construccin de la Tarjeta Electrnica ..................................... 151

5.1.5

Ensamblaje de la Tarjeta .......................................................................... 158

5.2

PRUEBAS Y VALIDACIONES.......................................................... 160

5.2.1

Para el control ActiveX DS18B20 ............................................................. 162

5.2.2

Para el control ActiveX DS2450................................................................ 165

5.2.3

Para el control ActiveX DS2406................................................................ 173

5.2.4

Para el control ActiveX DS2890................................................................ 174

5.3

APLICACIN DE PRUEBA FINAL ................................................. 184

CAPTULO VI
GUA DE USO DE LOS CONTROLES ACTIVEX
6.1

INSTALACIN DEL SISTEMA........................................................ 193

6.1.1 Instalacin de los controladores para el convertidor USB a 1-Wire ......... 194
6.1.2 Instalacin de los Controles ActiveX ............................................................ 194

6.2 USO DE LOS CONTROLES EN VISUAL BASIC 6.0............................ 197


6.3 USO DE LOS CONTROLES ACTIVEX EN MICROSOFT EXCEL 2003
.......................................................................................................................... 199
6.4 USO DE LOS CONTROLES ACTIVEX EN MICROSOFT WORD 2003
.......................................................................................................................... 201
6.5 GENERALIDADES SOBRE LOS PROCEDIMIENTOS Y
PROPIEDADES DE LOS CONTROLES ACTIVEX ................................... 203
6.6 PROPIEDADES Y PROCEDIMIENTOS DE LOS CONTROLES
ACTIVEX ........................................................................................................ 205
6.6.1

Procedimientos del Control ActiveX para el DS18B20............................. 205

xi

6.6.2

Propiedades del Control ActiveX para el DS18B20.................................. 206

6.6.3

Procedimientos del Control ActiveX para el DS2406 ............................... 209

6.6.4

Propiedades del Control ActiveX para el DS2406 .................................... 209

6.6.5

Procedimientos del Control ActiveX para el DS2450 ............................... 212

6.6.6
6.6.7

Propiedades del Control ActiveX para el DS2450 .................................... 212


Procedimientos del Control ActiveX para el DS2890 ............................... 223

6.6.8

Propiedades del Control ActiveX para el DS2890 .................................... 223

6.7

CDIGOS DE ERRORES .................................................................. 226

6.7.1

Cdigo de Errores de los Controles ActiveX ............................................ 227

6.7.2

Cdigo de Errores de la Comunicacin 1-Wire ..................................... 228

CONCLUSIONES Y RECOMENDACIONES
CONCLUSIONES ........................................................................................... 230
RECOMENDACIONES ................................................................................. 233

APNDICES
A. DISPOSITIVOS 1-WIRE Y SU CDIGO DE FAMILIA. ........................ 235
B. DATASHEET DS2407: PRIMERA PGINA. .............................................. 236
C. DIAGRAMA ESQUEMTICO DE LA TARJETA DM-AIO4 ................... 237
D. ADAPTADOR USB A 1-WIRE .................................................................. 238
E. DIAGRAMA ESQUEMTICO DE LA TARJETA DE PRUEBAS DEL
ACTIVEX DS2406 .............................................................................................. 240
F. MATERIALES Y COSTO DE LA TARJETA DM-AIO4........................... 242
G. CERTIFICADO DE CALIBRACIN DS18B20 .......................................... 244
H. CDIGO FUENTE BUSCADOR DE DISPOSITIVOS ............................... 245
I. CRONOGRAMA DE ACTIVIDADES........................................................... 252
BIBLIOGRAFA................................................................................................. 253
LISTADO DE SMBOLOS Y ABREVIATURAS ............................................. 257
GLOSARIO......................................................................................................... 259

xii

NDICE DE FIGURAS
FIGURA 1. INSTRUMENTO VIRTUAL .............................................................. 17
FIGURA 2. INSTRUMENTO TRADICIONAl ...................................................... 17
FIGURA 3. COMPONENTES ACTIVEX PARA LA INSTRUMENTACIN
VIRTUAL DISTRIBUIDOS POR IOCOMP........................................................... 18
FIGURA 4. PULSOS DE RESET Y PRESENCIA PARA EL INICIO DE SESIN
ENTRE EL MAESTRO Y ESCLAVO.................................................................... 24
FIGURA 5. REUTILIZACIN DEL CDIGO EN ACTIVEX.............................. 32
FIGURA 6. PROCESO BSICO DE CREACIN DE UN CONTROL ACTIVEX
................................................................................................................................ 35
FIGURA 7. SECUENCIA PARA USO DE LAS FUNCIONES API ...................... 37
FIGURA 8. REPRESENTACIN GRFICA DE TMEX COMO API .................. 44
FIGURA 9. ENTORNO INTEGRADO DE DESARROLLO DE VISUAL BASIC 49
FIGURA 10. MODELO BSICO DEL SISTEMA ................................................ 75
FIGURA 10-1. SELECCIN DEL TIPO DE PROYECTO EN LA VENTANA
INICIAL DE VB..................................................................................................... 76
FIGURA 11. ADMINISTRADOR DE COMPONENTES DE VISUAL BASIC. ... 79
FIGURA 12. ESTABLECIMIENTO DE ATRIBUTOS ......................................... 79
FIGURA 13. SECUENCIA DE INICIALIZACIN DE LA COMUNICACIN
1-WIRE................................................................................................................ 81
FIGURA 14. DIAGRAMA DE FLUJO PARA EL COMANDO COINCIDIR ROM
................................................................................................................................ 82
FIGURA 15. PINES DEL DS18B20 ...................................................................... 84
FIGURA 16. ORGANIZACIN DE LA MEMORIA DEL DS18B20 .................... 84
FIGURA 17. DIAGRAMA DE FLUJO DE LAS FUNCIONES DE MEMORIA
DEL DS18B20 ........................................................................................................ 87
FIGURA 18. UBICACIN DEL ADMINISTRADOR DE COMPLEMENTOS EN
LA BARRA DE MEN DE VISUAL BASIC ........................................................ 91
FIGURA 19. CARGA DEL ASISTENTE PARA PGINAS DE PROPIEDADES
DE VB 6 ................................................................................................................. 91
FIGURA 20. UBICACIN DEL ASISTENTE PARA PGINAS DE
PROPIEDADES EN EL MEN COMPLEMENTOS DE VISUAL BASIC............ 92

xiii

FIGURA 21. DISEO DEL CUADRO DE DILOGO ACERCA DE PARA EL


ACTIVEX DS18B20............................................................................................... 94
FIGURA 22. DESCRIPCIN DE LOS PINES DEL DS2406. Fuente: Hoja de datos
del DS2406. ............................................................................................................ 95
FIGURA 23. DIAGRAMA DE FLUJO DE LAS OPERACIONES DE MEMORIA
DEL DS2406 PARTE 1........................................................................................... 97
FIGURA 24. DIAGRAMA DE FLUJO DE LAS OPERACIONES DE MEMORIA
DEL DS2406 PARTE 2......................................................................................... 100
FIGURA 25. DIAGRAMA DE FLUJO DE LAS OPERACIONES DE MEMORIA
DEL DS2406 PARTE 3......................................................................................... 102
FIGURA 26. CICLO DE TIEMPO DE LA ESCRITURA DE LOS CANALES ... 105
FIGURA 27. CICLO DE TIEMPO DE LECTURA DE AMBOS CANALES....... 106
FIGURA 28. CICLO DE TIEMPO DE ESCRITURA DE AMBOS CANALES. .. 107
FIGURA 29. DISEO DEL CUADRO DE DILOGO ACERCA DE PARA EL
ACTIVEX DS2406. .............................................................................................. 110
FIGURA 30. DESCRIPCIN DE LOS PINES DEL DS2450 .............................. 111
FIGURA 31. DIAGRAMA DE FLUJO DE LAS OPERACIONES DE MEMORIA
DEL DS2450 PARTE 1 ........................................................................................ 116
FIGURA 32. DIAGRAMA DE FLUJO DE LAS OPERACIONES DE MEMORIA
DEL DS2450 PARTE 2 ........................................................................................ 119
FIGURA 33. DISEO DEL CUADRO DE DILOGO ACERCA DE PARA EL
ACTIVEX DS2450. .............................................................................................. 123
FIGURA 34. DISTRIBUCIN DE LOS PINES DEL DS2890............................. 124
FIGURA 35. ESQUEMA DE CONEXIN DEL DS2890 PARA EL MODO DE
POTENCIMETRO ............................................................................................. 128
FIGURA 36. CONFIGURACIN DE RESISTENCIA VARIABLE PARA EL
DS2890, ENCAPSULADO TO-92........................................................................ 129
FIGURA 36-1. CONFIGURACIN DE RESISTENCIA VARIABLE PARA EL
DS2890, ENCAPSULADO TSOC ........................................................................ 129
FIGURA 37. MODELO DE LA RESISTENCIA DEL POTENCIMETRO........ 130
FIGURA 38. RESISTENCIA TPICA DEL CURSOR VS VOLTAJE DEL
CURSOR A 25 C................................................................................................. 130
FIGURA 39. RESISTENCIA DEL CURSOR VS VOLTAJE DEL CURSOR A 25
C ......................................................................................................................... 131

xiv

FIGURA 40. DIAGRAMA DE FLUJO DE LAS FUNCIONES DE MEMORIA


DEL DS2890 PARTE 1 ........................................................................................ 132
FIGURA 41. DIAGRAMA DE FLUJO DE LAS FUNCIONES DE MEMORIA
DEL DS2890 PARTE 2 ........................................................................................ 135
FIGURA 42. DISEO DEL CUADRO DE DILOGO ACERCA DE PARA EL
ACTIVEX DS2890. .............................................................................................. 137
FIGURA 43. GENERACIN DEL ARCHIVO DE EXTENSIN OCX. ............. 138
FIGURA 44. ALMACENAMIENTO DEL PROYECTO. .................................... 139
FIGURA 45. PROPIEDADES DEL PROYECTO................................................ 139
FIGURA 46. DIAGRAMA DE FLUJO BUSCADOR DE SERIALES (PARTE 1)
.............................................................................................................................. 141
FIGURA 47. DIAGRAMA DE FLUJO BUSCADOR DE SERIALES (PARTE 2)
.............................................................................................................................. 142
FIGURA 48. MODELO BSICO DE LA TARJETA DM-AIO4 ......................... 146
FIGURA 49. DIMENSIONES DE LOS RELS DE LA TARJETA
ELECTRNICA: 70G-IAC5 (AMARILLO) Y 70G-OAC5A (NEGRO) .............. 147
FIGURA 50. RESISTENCIA, CAPACITOR Y DIODO DE MONTAJE
SUPERFICIAL ..................................................................................................... 147
FIGURA 51. CONDENSADORES ELECTROLTICOS ..................................... 148
FIGURA 52. TERMINAL DE CONEXIN......................................................... 148
FIGURA 53. DIP SWITCH DE 4 POSICIONES.................................................. 149
FIGURA 54. FUSIBLE DE MONTAJE SUPERFICIAL PARA LA PROTECCIN
DE LOS CANALES DEL DS2450 ....................................................................... 149
FIGURA 55. DIODO RECTIFICADOR 1N4007 ................................................. 149
FIGURA 56. DIODO LED................................................................................... 150
FIGURA 57. DIODO SCHOTTKY DE MONTAJE SUPERFICIAL ................... 150
FIGURA 58. JUMPER......................................................................................... 150
FIGURA 59. FUENTE DE ALIMENTACIN DE LA TARJETA ELECTRNICA
.............................................................................................................................. 151
FIGURA 60. DIAGRAMA DE CONEXIN DEL DS2450 Y DS18B20 EN LA
TARJETA ELECTRNICA. ................................................................................ 152
FIGURA 61. DIAGRAMA ESQUEMTICO DEL CIRCUITO ENCARGADO DE
LA MEDICIN DE ENTRADAS ANALGICAS............................................... 153
FIGURA 62. TRAZADO DE COMPONENTES DE LA TARJETA
ELECTRNICA. .................................................................................................. 155

xv

FIGURA 63. CARA SUPERIOR DE LA TARJETA ELECTRNICA. ............... 155


FIGURA 64. CARA INFERIOR DE LA TARJETA ELECTRNICA................. 156
FIGURA 65. CARA SUPERIOR DE LA TARJETA DM-AI04. .......................... 158
FIGURA 66. CARA INFERIOR DE LA TARJETA DM-AI04. ........................... 159
FIGURA 67. TARJETA DM-AI04 Y RELS GRAYHILL.................................. 159
FIGURA 68. VISUALIZACIN DE LA CANTIDAD DE DISPOSITIVOS
CONECTADOS.................................................................................................... 160
FIGURA 68-1. REALIZACIN DE LAS PRUEBAS PARA LOS CONTROLES
ACTIVEX............................................................................................................. 161
FIGURA 68-2. VISUALIZACIN EN EL COMPUTADOR DE LAS PANTALLAS
DE PRUEBAS. ..................................................................................................... 161
FIGURA 69. GRFICA DE LA TEMPERATURA VS TIEMPO PARA EL
DS18B20. ............................................................................................................. 163
FIGURA 70. MEDICIN DE LA TEMPERATURA AMBIENTE. ..................... 163
FIGURA 71. TEMPERATURA MEDIDA UTILIZANDO EL CONGELADOR
INSTANTNEO .................................................................................................. 163
FIGURA 72. VENTANA DE VISUALIZACIN DE LAS PROPIEDADES DEL
ACTIVEX DS2450 PARA LA MEDICIN DE VOLTAJE.................................. 166
FIGURA 73. VENTANA DE VISUALIZACIN DE LAS PROPIEDADES DEL
ACTIVEX DS2450 PARA LA MEDICIN DE VOLTAJE.................................. 166
FIGURA 74. CALIBRADOR PORTTIL YOKOGAWA MODELO 2422 ......... 168
FIGURA 75. VOLTAJE DE REFERENCIA VS. ERROR ABSOLUTO DEL
CANAL A............................................................................................................. 168
FIGURA 76. CORRIENTE DE REFERENCIA VS. ERROR ABSOLUTO DEL
CANAL A............................................................................................................. 169
FIGURA 77. VOLTAJE DE REFERENCIA VS. ERROR ABSOLUTO DEL
CANAL B............................................................................................................. 169
FIGURA 78. CORRIENTE DE REFERENCIA VS. ERROR ABSOLUTO DEL
CANAL B............................................................................................................. 170
FIGURA 79. VOLTAJE DE REFERENCIA VS. ERROR ABSOLUTO DEL
CANAL C............................................................................................................. 170
FIGURA 80. CORRIENTE DE REFERENCIA VS. ERROR ABSOLUTO DEL
CANAL C............................................................................................................. 171
FIGURA 81. VOLTAJE DE REFERENCIA VS. ERROR ABSOLUTO DEL
CANAL D............................................................................................................. 171

xvi

FIGURA 82. CORRIENTE DE REFERENCIA VS. ERROR ABSOLUTO DEL


CANAL D............................................................................................................. 172
FIGURA 83. PRUEBAS CON EL CONTROL ACTIVEX DS2406. .................... 173

FIGURA 84. CIERRE DEL CANAL A DEL DS2406 HACIENDO USO DEL
CONTROL ACTIVEX.......................................................................................... 174
FIGURA 85. FORMULARIO DE PRUEBAS PARA EL ACTIVEX DS2890...... 175
FIGURA 86. CONEXIN DE LOS MDULOS C Y D PARA LA APLICACIN
DE PRUEBA ........................................................................................................ 185
FIGURA 87. INTERFAZ GRFICA DEL EJEMPLO DE APLICACIN........... 185
FIGURA 88. CONTROLES ACTIVEX ............................................................... 186
FIGURA 89. VENTANA PARA LA CONFIGURACIN DEL PUERTO DE
COMUNICACIN ............................................................................................... 186
FIGURA 90. MENSAJE DE ERROR DE PUERTO DE COMUNICACIN ....... 187
FIGURA 91. VENTANA DE VISUALIZACIN DE SERIALES ....................... 187
FIGURA 92. CONEXIN DE LOS MDULOS A Y B PARA LA APLICACIN
DE PRUEBA ........................................................................................................ 188
FIGURA 93. CONEXIN DEL POTENCIMETRO DS2890 ............................ 189
FIGURA 94. CONEXIN DEL BUZZER DE ALARMA Y EL LM555.............. 189
FIGURA 94-1. DIAGRAMA ESQUEMTICO DE LA APLICACIN FINAL
PARTE I ............................................................................................................... 191
FIGURA 94-2. DIAGRAMA ESQUEMTICO DE LA APLICACIN FINAL
PARTE II.............................................................................................................. 192
FIGURA 95. VENTANA DE BIENVENIDA AL PROCESO DE INSTALACIN
.............................................................................................................................. 195
FIGURA 96. VENTANA DE INFORMACIN DE USUARIO........................... 196
FIGURA 97. VENTANA DE INFORMACION DE LA INSTALACION. ........... 196
FIGURA 98. VENTANA DE COMPONENTES DE VB6 ................................... 197
FIGURA 99. VENTANA DE BSQUEDA DE LOS CONTROLES ACTIVEX. 198
FIGURA 100. SELECCIN DE LOS CONTROLES ACTIVEX A SER
AGREGADOS EN LA BARRA DE COMPONENTES DE VB............................ 198
FIGURA 101. VISUALIZACIN DE LOS CONTROLES EN LA BARRA DE
COMPONENTES DE VB EN EL ENTORNO DE PROGRAMACIN. .............. 199
FIGURA 102. ACTIVACIN DEL CUADRO DE CONTROLES EN MICROSOFT
EXCEL ................................................................................................................. 200

xvii

FIGURA 103. UBICACIN DE LOS CONTROLES ACTIVEX EN EL CUADRO


DE CONTROLES DE MICROSOFT EXCEL. ..................................................... 200
FIGURA 104. CONTROLES ACTIVEX EN EL ENTORNO DE TRABAJO DE
MICROSOFT EXCEL. ......................................................................................... 201
FIGURA 105. ACTIVACIN DEL CUADRO DE CONTROLES EN MICROSOFT
WORD.................................................................................................................. 202
FIGURA 106. UBICACIN DE LOS CONTROLES ACTIVEX EN EL CUADRO
DE CONTROLES DE MICROSOFT WORD. ...................................................... 202
FIGURA 107. CONTROLES ACTIVEX EN EL ENTORNO DE TRABAJO DE
MICROSOFT WORD. .......................................................................................... 202
FIGURA 108. VISUALIZACIN DE LOS PROCEDIMIENTOS Y
PROPIEDADES DEL ACTIVEX. ........................................................................ 203

xviii

NDICE DE TABLAS
A. COMANDOS DE ROM COMNMENTE UTILIZADOS EN CHIPS 1WIRE .................................................................................................................. 27
B. GRUPO DE FUNCIONES API........................................................................ 36
C. TIPOS DE API DE PROGRAMACIN 1-WIRE. ...................................... 38
D. LENGUAJES Y SISTEMAS OPERATIVOS QUE ADMITEN FUNCIONES
API. ........................................................................................................................ 38
E. TIPOS DE ARCHIVO DE UN PROYECTO EN VISUAL BASIC................ 51
F. COMPARACIN DE TERMMETROS DIGITALES 1-WIRE .............. 67
G. COMPARACIN DE SWITCHES DIGITALES 1-WIRE......................... 68
H.COMPARACIN DE CONVERTIDORES A/D DIGITALES 1-WIRE..... 69
I. CARACTERSTICAS DEL POTENCIMETRO DIGITAL 1-WIRE
DS2890 ................................................................................................................... 69
J. ADMINISTRACIN DE RECURSOS FINAL SEGN LAS FASES............ 71
J-1. ESTUDIO ECONMICO ............................................................................. 72
J-2. EVALUACIN DE COSTOS PARA TERCEROS...................................... 73
K. BYTE DEL REGISTRO DE CONFIGURACIN DEL DS18B20. ............... 85
L. CONFIGURACIN DE LA RESOLUCIN DEL DS18B20......................... 85
M. MAPA DE LA MEMORIA DE ESTADO DEL DS2406.............................. 101
N. ASIGNACIN DE LOS BITS DEL BYTE 1 DE CONTROL DE CANAL 103
O. CDIGO DE SELECCIN DE LOS BITS CHS0 Y CHS1 DEL BYTE 7
DEL REGISTRO DE ESTADO DEL DS2406................................................... 104
P. EFECTO DE LOS BITS IM Y TOG ............................................................. 108
Q. CDIGO DEL CONTROL DE CRC............................................................ 109
R. BYTE DE INFORMACIN DE CANAL ..................................................... 109
S. MAPA DE MEMORIA DE LA PGINA 0 DEL DS2450............................. 113
T. MAPA DE MEMORIA DE LA PGINA 1 DEL DS2450. ........................... 114
U. MAPA DE MEMORIA DE LA PGINA 2 DEL DS2450 ............................ 115
V. MSCARA DE SELECCIN DE ENTRADA (COMANDO DE
CONVERSIN). ................................................................................................. 121
W. BYTE DE CONTROL READ-OUT ............................................................. 121

xix

Y. CODIFICACIN DE LOS BITS DEL REGISTRO DE LA


CARACTERSTICA DEL DS2890. ................................................................... 125
Z. DEFINICIONES DE LOS BITS DEL REGISTRO DE LAS
CARACTERSTICAS DEL DS2890. ................................................................. 125
A1. CODIFICACIN DEL REGISTRO DE CONTROL DEL DS2890 .......... 126
A2. DEFINICIONES DE BITS DEL REGISTRO DE CONTROL DEL DS2890
.............................................................................................................................. 126
A3. VALORES DE MULTIPLICADOR Y OFFSET PARA LA MEDICIN DE
ENTRADAS ANALGICAS DE LA TARJETA DM-AIO4 ............................ 167

xx

CAPTULO I

INTRODUCCIN

El presente trabajo comprende el desarrollo de controles ActiveX en Visual Basic


como instrumentacin virtual para que puedan ser aplicados en la enseanza de la
Instrumentacin Virtual y materias y carreras afines as como en laboratorios. Los
mismos se emplean para configurar y/o accionar los dispositivos 1-Wire
establecidos por la empresa. Tambin, abarca la creacin de un control de bsqueda y
reconocimiento de los mismos. Los requerimientos de Instrumentacin Virtual,
comunicacin 1-Wire y ActiveX son fijados por la empresa.

Los controles ActiveX desarrollados se prueban y validan individualmente y a


continuacin se crea una aplicacin final en el entorno de Microsoft Excel
insertando los mismos para ejecutar una simulacin.

El trabajo est estructurado en seis captulos, donde el primero de ellos es el


presente. El captulo II presenta el marco terico con toda la informacin necesaria
para el desarrollo del trabajo incluyendo estudios previos y bases legales. El captulo

III presenta el marco metodolgico con las tcnicas y/o procedimientos empleados
para cumplir con los objetivos. En el captulo IV se expone la creacin de los
controles ActiveX y el Buscador de Dispositivos. En el captulo V se detallan las
pruebas, validaciones y la aplicacin final. En el captulo VI se elabora la gua de
usuario para instalacin y uso de los controles ActiveX creados, en los entornos
Excel, Word y Visual Basic. Finalmente se presentan las conclusiones y
recomendaciones asociadas al desarrollo del trabajo.

1.1. PLANTEAMIENTO DEL PROBLEMA

La instrumentacin nace de la necesidad del hombre de obtener un valor de las


variables del ambiente para evaluar sus caractersticas y as desarrollar o mejorar los
procesos que involucran la obtencin precisa de magnitudes. Las ciencias elctricas
obtuvieron sus primeros pasos con la relojera y el mximo potencial que se le brind
a la instrumentacin, se obtuvo del computador personal, de quien se deriv el
trmino Instrumentacin Virtual. A diferencia del instrumento tradicional, la
instrumentacin virtual permite obtener el mximo provecho de un componente de
hardware, el cual ser controlado por un software en un computador personal a travs
de un sistema de adquisicin de datos.

De esta manera, la funcionalidad del Instrumento Virtual la define el usuario final,


permitiendo as, suprimir las limitaciones tcnicas que le impone un instrumento
tradicional al usuario. Actualmente, es posible encontrar empresas internacionales

dedicadas nicamente al desarrollo de controles para aplicaciones de instrumentacin


y control; sin embargo en nuestro pas el desarrollo y uso de esas tecnologas es
incipiente.

Un control ActiveX es un elemento de interfaz de usuario basado en la tecnologa


Modelo de Componente de Objeto (COM) bajo el uso de libreras DLL, el cual como
elemento de software, se acopla a un hardware especfico. No existe un tipo
determinado de mediciones donde es aplicable, pues para ello se debe definir el
componente hardware con que se tomarn los datos. La tecnologa Modelo de
Componente de Objeto provee muchos beneficios, incluyendo integracin ms fcil,
escalabilidad y re-usabilidad. Tambin ofrece la ventaja de independencia del
lenguaje y compatibilidad entre distintas plataformas. Entre las ventajas del control
ActiveX se encuentran: al darle propiedades de instrumento virtual permite simular
cada una de las caractersticas de un instrumento tradicional al mismo tiempo que
permite elevar la funcionalidad y flexibilidad del mismo, modificar las acciones que
el software ejerce sobre l, capacidad de adaptacin al proceso requerido, ahorrar
lneas de cdigo de programacin y disminuir costos y tiempo. Hoy por hoy, el nico
inconveniente de la tecnologa ActiveX consiste en que slo puede ser ejecutado
desde Windows.

Dallas Semiconductor ha desarrollado una poderosa tecnologa llamada 1-Wire,


la cual utiliza un solo conductor ms su retorno o tierra para efectuar las
comunicaciones entre un dispositivo maestro y mltiples esclavos, es decir, entre los

dispositivos conectados a ella y un computador o microprocesador. Adems, esta


tecnologa soporta hasta 100 dispositivos conectados y ahorra cableado.

Segn la empresa ROSO Electric Supply C.A. ubicada en Valencia, Edo.


Carabobo, actualmente en Venezuela, existen universidades que han adoptado la
instrumentacin virtual como contenido del pnsum de estudios de la carrera de
Ingeniera Electrnica, tal es el caso de la Universidad Nueva Esparta, la Universidad
Central de Venezuela y Universidad del Tchira e incluso la Universidad de los
Andes posee una lnea de investigacin dedicada a ella y en la Universidad Simn
Bolvar, se realizan proyectos de instrumentacin virtual en los laboratorios de
electrnica. Sin embargo, son pocas las universidades que poseen las herramientas
necesarias para impartir de una manera didctica y eficaz los conocimientos de
instrumentacin virtual, contando slo con instrumentos tradicionales en su mayora
defectuosos u obsoletos y la adquisicin de nuevos equipos puede que no resulte
viable para las universidades ya que tendran que realizar un gasto considerable. Un
ejemplo de este tipo de universidades es la Universidad Nacional Experimental
Politcnica de la Fuerza Armada Nacional (UNEFA) ncleo Maracay.

La ausencia de instrumentos virtuales no permite a los estudiantes realizar


proyectos ambiciosos, como el control virtual de una planta industrial, que
contribuyan a elevar el nivel acadmico de los mismos y por tanto, el de la
universidad a la que pertenezcan, pues no cuentan con la facilidad de visualizar de
una manera didctica, real y amigable las aplicaciones que pueden obtenerse

utilizando un control ActiveX. Esto genera que los estudiantes se vean restringidos al
no poder desarrollar instrumentos de su propia autora, debido a que no disponen de
un nivel de flexibilidad por parte de los instrumentos tradicionales. Esto representa un
problema en las universidades relacionado directamente con la capacitacin
tecnolgica y por consiguiente acadmica.

En base esto, es necesario desarrollar un conjunto de controles ActiveX que


permitan controlar la comunicacin y transferencia de datos entre el computador y los
circuitos integrados que integran una red 1-Wire, aplicados sobre diversas
plataformas y lenguajes de programacin, como lo son Visual Basic, Delphi, C#, e
incluso aplicaciones estndar del sistema operativo Windows 32 bit, como: Excel
o Word para la enseanza de la Instrumentacin Virtual y en los laboratorios y
carreras afines. De esta forma, la tendencia hacia la instrumentacin virtual, a travs
de los controles ActiveX, se presenta como una forma de solucin.

La empresa ROSO Electric Supply C.A, actualmente es el nico proveedor de


soluciones autorizado de la empresa Dallas-Maxim en Venezuela, ha estado
trabajando durante 6 aos con redes 1-Wire incluso en el desarrollo de herramientas
de software y productos de hardware que han permitido la modernizacin y el control
de procesos productivos en empresas como Makro Comercializadora S.A., Firestone,
Lcteos Los Andes, entre otros, y se ha llegado a la conclusin de que la
implementacin de esta red en comparacin con otras redes equivalentes en
prestaciones tcnicas, resulta ms econmica, obteniendo excelentes resultados en

calidad y confiabilidad. La empresa posee las herramientas y licencias de desarrollo


de todos los software para la realizacin del proyecto.

1.2. OBJETIVOS

1.2.1. Objetivo General

Desarrollar instrumentacin virtual con fines didcticos empleando controles


ActiveX para la utilizacin de circuitos integrados con capacidad de comunicacin
1-Wire.

1.2.2. Objetivos Especficos

1. Establecer los requerimientos de la Instrumentacin Virtual, de los


controles ActiveX y de la comunicacin 1-Wire.
2. Desarrollar los controles ActiveX para los dispositivos 1-Wire
establecidos y un control encargado del proceso de deteccin y bsqueda
de dispositivos, conexin con el puerto serial y manejo de funciones de
ROM de la red para manipular los dispositivos 1-Wire.
3. Ejecutar pruebas que permitan la validacin de los controles ActiveX.
4. Realizar un programa de aplicacin final que permita demostrar mediante
una simulacin el desempeo de los controles ActiveX creados.

5. Documentar los elementos de hardware y software desarrollados y/o


utilizados as como una gua de uso de los controles ActiveX creados.

1.3. JUSTIFICACIN

Este Trabajo Especial de Grado, permitir los siguientes beneficios:


A las universidades nacionales e internacionales

Su utilidad y provecho permitir desarrollar proyectos que contribuirn a


elevar el nivel acadmico de la misma pues contarn con una herramienta de
con fines didcticos para la enseanza de la Instrumentacin Virtual.

Debido a su gran escalabilidad, esta herramienta sirve de plataforma para


futuras mejoras, modificaciones y para trabajos especiales de grado, por
ejemplo, creacin de ActiveX para ms familias de dispositivos 1-Wire y
mdulos para laboratorios de Instrumentacin Virtual o afines.

Sirve como incentivo y plataforma a la posible creacin de una lnea de


investigacin en las universidades que as lo requieran, ya que puede
implementarse esta herramienta y evaluar el nivel de aprendizaje del
alumnado antes y despus de su uso.

A los estudiantes de las universidades nacionales e internacionales

Podrn evaluar las herramientas que conforman a un instrumento virtual,

conocer las facilidades y limitaciones que implica el control ActiveX para


soluciones industriales y elaborar instrumentos virtuales de su propia autora.

Opcin de desarrollar proyectos de instrumentacin de mayor envergadura,


por ejemplo utilizando el ActiveX como un controlador y tambin aplicar el
mismo como complemento en un sistema de control establecido.

Facilitar el aprendizaje de la instrumentacin virtual, por ejemplo, mediante


creacin de un proceso industrial o aplicacin con elementos de prueba.

A la Empresa ROSO Electric Supply C.A

Compartir e impartir los conocimientos y experiencias de campo a los


estudiantes universitarios.

Desarrollo de un nuevo proyecto de Instrumentacin Virtual bajo


comunicacin 1-Wire.

1.4. ALCANCE

Inicialmente, se establecen los requerimientos del trabajo segn la empresa


enfocados en la Instrumentacin Virtual, controles ActiveX y comunicacin
1-Wire. Esto indica qu debe brindarle el instrumento al usuario, cmo y qu debe
operar el control ActiveX sobre los cuatro dispositivos 1-Wire establecidos por la
empresa y las caractersticas de la comunicacin 1-Wire, respectivamente. Se
espera como resultado del proyecto, el desarrollo de un paquete instalable de

controles ActiveX para consolidar la enseanza de la Instrumentacin Virtual en


estudiantes de electrnica y carreras afines de universidades nacionales e
internacionales, que permitan configurar y manejar desde el computador, la operacin
de los dispositivos 1-Wire fijados y que se presentan en las limitaciones.

Tambin se contar con el desarrollo de un sistema encargado del proceso de


deteccin y bsqueda de dispositivos y manejo de funciones de ROM de la red para
indicar cuntos de ellos estn conectados y qu dispositivos son (termmetro,
convertidor A/D, etc.). El componente software, elaborado por los autores, incluye
toda la programacin necesaria, creacin de funciones, rutinas y subrutinas en Visual
Basic.

Se llevarn a cabo pruebas de los controles ActiveX desarrollados a fin de validar


los mismos y verificar su operatividad. Estas pruebas se harn de forma individual. Se
elaborar una tarjeta electrnica para validar los integrados termmetro digital y
convertidor A/D. Para el switche 1-Wire se utilizar la tarjeta DM-IO2-06
suministrada por la empresa. Todas las pruebas se realizarn empleando Visual Basic.
Posteriormente, se realizar un programa final de aplicacin donde se insertarn los
controles ActiveX creados, en Microsoft Excel desde el cual podrn evaluarse los
mismos mediante una simulacin. Por ltimo, se realizar una gua de uso que servir
de referencia tanto a alumnos como docentes para la utilizacin de los controles a
desarrollar para los entornos Visual Basic, Word y Excel.

10

1.5. LIMITACIONES

Los controles ActiveX desarrollados slo son aplicables para los cuatro
integrados a utilizar.

Los controles ActiveX no han sido concebidos para un funcionamiento


interplataformas. La arquitectura ActiveX est ligada al sistema operativo
Microsoft Windows.

Para el trabajo, existen los siguientes niveles de exigencia por parte de la empresa:

Protocolo de comunicacin 1-Wire.

Uso de Visual Basic como lenguaje de programacin.

Uso de los siguientes dispositivos marca Dallas-Maxim: DS2406, DS18B20,


DS2450 y DS2890.

Uso de los controles ActiveX Iocomp Software Inc. como complemento en las
validaciones y programa final de los ActiveX creados.

Uso de Microsoft Excel como programa de aplicacin final.

La gua de uso de los controles ActiveX deber ser especificada para los
entornos: Visual Basic, Excel y Word.

1.6. FASES DEL PROYECTO

1) Recopilacin Terica: En esta fase, se identific todo el material bibliogrfico

11

referente al tema de la Instrumentacin Virtual, red 1-Wire, controles ActiveX,


funciones TMEX, Visual Basic, Microsoft Excel y programacin orientada a
objetos.
2) Listar requerimientos: Una vez recopilada la informacin, se sostuvieron asesoras
tcnicas con la empresa en orden de establecer las exigencias y requerimientos del
trabajo lo cual incluye los requisitos de la instrumentacin virtual, de los controles
ActiveX y comunicacin 1-Wire. Al mismo tiempo se fijaron los parmetros y
funciones que se obtienen de la Interfaz de Programa de Aplicacin (API) 1-Wire y
aquellas que debe contener la programacin y la comunicacin con la red 1-Wire.
3) Diseo del sistema hardware-software: Esta fase represent la primera actividad
para el desarrollo de todos los programas y fue posible gracias a las fases 1 y 2. Se
elabor un bosquejo o estructura del proyecto donde se enlazan los controles
ActiveX, la forma de comunicacin, los dispositivos 1-Wire y la herramienta de
aplicacin para as tener el modelo bsico de todo el sistema uniendo el componente
hardware con el componente software.
4) Sntesis de los Algoritmos: Se elaboraron los diagramas de flujo para establecer la
lgica del programa mediante previo estudio de la hoja de datos de los integrados y la
secuencia de pasos necesarios a seguir para la realizacin de la programacin de los
controles ActiveX para los mismos. De igual forma, se elabor el diagrama de flujo
correspondiente al diseo del buscador de dispositivos.
5) Codificacin: Se instal el paquete de controladores 1-Wire y se codificaron los

12

algoritmos de los controles ActiveX y el buscador de dispositivos en Visual Basic.


6) Elaboracin de la Tarjeta Electrnica: Esta fase constituy la primera actividad
para las pruebas de los controles. La empresa fij estos requerimientos para poder
idear el diseo bsico. Posteriormente se eligieron los componentes para finalmente
construir la tarjeta electrnica DM-AIO4 con el fin de realizar las pruebas y
validaciones de los controles ActiveX del DS2450 y DS18B20.
7) Pruebas y Validaciones: Se realizaron pruebas en forma individual de cada control
ActiveX desarrollado, dichas pruebas sirvieron de base para introducir las
modificaciones necesarias para el cumplimiento del objetivo.
8) Integracin y Elaboracin del Programa Final: Se verific la compatibilidad
entre el hardware y el software desarrollado para solventar cualquier problema de
comunicacin entre los elementos y se desarroll un programa de simulacin en
Microsoft Excel que integr los controles ActiveX desarrollados en el mismo
entorno.
9) Documentacin: Se desarroll en paralelo con todas las fases anteriores y el
propsito fue incluir toda la informacin del software que se desarroll, el hardware
que se utiliz, u otra informacin que se consider necesaria elaborando una gua de
uso de los controles ActiveX para Visual Basic, Excel y Word.

13

CAPTULO II

MARCO TERICO

En el presente captulo se hace una revisin de los estudios previos que


suplieron de referencia para el proyecto as como las bases tericas necesarias para su
concepcin, desarrollo y puesta en marcha y las bases legales que sustentan el trabajo.

2.1. ESTUDIOS PREVIOS

1. Nio Adriana y Castillo Juan (2006). Desarrollo de una Plataforma


Tecnolgica con fines didcticos para la enseanza de la Instrumentacin
Virtual. Trabajo de Grado para optar al ttulo de Ingeniero Electrnico. Universidad
Nacional Experimental de la Fuerza Armada (UNEFA). Maracay. El trabajo expone
el desarrollo de los elementos que integran la plataforma tecnolgica de la
Instrumentacin Virtual. El aporte que brind este trabajo es que se tom en cuenta la
manera como los autores validaron su sistema a partir de sus errores basados en los
tiempos de actualizacin, tal como se hizo en este trabajo.

14

2. Tabares Juan (2006). Sistema de Control de Humedad, Temperatura y


Riego para Invernaderos Industriales. Trabajo de Grado para optar al ttulo de
Ingeniero Electrnico. Universidad Nacional Experimental de la Fuerza Armada
(UNEFA). Maracay. El objetivo de este trabajo es desarrollar un sistema de control
de humedad, temperatura y riego para invernaderos industriales, que est adaptado a
las caractersticas climticas de la regin tropical de Venezuela. El aporte que brind
este trabajo radic en la metodologa empleada de donde se consider el orden
presentado: Investigacin de informacin, fijacin de requerimientos, diseo,
implementacin, fabricacin, puesta en marcha y documentacin.
3. ROSO Electric Supply C.A. (2003). DDE View Software. Herramienta de
Manejo de Dispositivos 1-Wire. Valencia, Edo. Carabobo. El programa consiste en
una aplicacin de software bajo Windows, donde es posible visualizar los datos de
los dispositivos 1-Wire en el computador mediante el intercambio dinmico de
datos DDE. El proyecto proporcion informacin para establecer la comunicacin
con los dispositivos 1-Wire y el envo de datos al computador para desarrollar los
controles ActiveX especficamente durante el proceso de creacin del control de
buscador de dispositivos 1-Wire tomando en cuenta los pasos para la sesin de
comunicacin con los integrados.
2.2. BASES TERICAS
El marco terico se enfocar primero en el estudio de la instrumentacin virtual.
Luego se explicar el protocolo 1-Wire necesario para la comunicacin.

15

La instrumentacin virtual desarrollada en este trabajo, se presentar mediante el


uso de controles ActiveX; por esta razn, se profundizar en ellos y las funciones
TMEX para la comunicacin con los integrados 1-Wire. Posteriormente se
explicar la programacin orientada a objetos para luego finalizar con el entorno de
programacin Visual Basic.
2.2.1. Instrumentacin Virtual [Fuente: 2, 6, 10, 15, 18, 20, 22]

2.2.1.1. Definicin
Muchas veces la obtencin de una medida requiere la utilizacin de varios
instrumentos, unos generan estmulos sobre el dispositivo que se pretende medir y
otros recogen la respuesta a estos estmulos. Este conjunto de instrumentos, que hace
posible la realizacin de la medida, recibe el nombre de sistema de instrumentacin.
Todo sistema de instrumentacin consta de unos instrumentos, un sistema de
interconexin de stos y un controlador inteligente que gestiona el funcionamiento de
todo el sistema y da las rdenes para que una medida se obtenga correctamente.
El concepto de instrumentacin virtual nace a partir del uso de la computadora
personal, como forma de reemplazar instrumentos de medicin (figura 2) por
software, permite a los usuarios interactuar con la computadora como si estuviesen
utilizando un instrumento real. El usuario manipula un instrumento que no es fsico,
se ejecuta en una computadora, tiene sus caractersticas definidas por software pero
realiza las mismas funciones que un equipo real.

16

El objetivo es sustituir y ampliar elementos "hardware" por otros "software", para


ello se emplea un procesador que ejecute un programa especfico; este programa se
comunica con los dispositivos para configurarlos y leer sus valores actuales. En
muchas ocasiones el usuario final del sistema de instrumentacin slo ve la
representacin grfica de los indicadores y botones de control virtuales en la pantalla
del ordenador, si es que los hay, para modificar o configurar el instrumento.
El concepto de instrumentacin virtual implica adquisicin de seales, el
procesamiento, anlisis, almacenamiento, distribucin y despliegue de los datos e
informacin relacionados con la medicin de una o varias seales, interfaz hombremquina, visualizacin, monitoreo y supervisin remota del proceso, la comunicacin
con otros equipos, enmarcados en funciones de control.
En un instrumento tradicional, la funcionalidad est definida por el fabricante
mientras que la versatilidad de la Instrumentacin Virtual (figura 1) radica en que su
funcionalidad es definida por el usuario final.
Desde el punto de vista pedaggico, Schr y Krueger (2000) definen el aprendizaje
asistido por computadora como, "diferentes formas de mtodos de enseanza por
computadora en los cuales el estudiante tiene a la computadora como un profesor
virtual". Aunque la instrumentacin virtual, por su mismo concepto, se aplica al
diseo de laboratorios soportados en computadoras, desde el punto de vista de
aplicaciones de software se desarrollan programas para simular procesos o

17

experimentos, en los cuales el estudiante se encuentra en contacto slo con una


computadora en un proceso de aprendizaje.

FIGURA 1. INSTRUMENTO VIRTUAL. Fuente: http://www.hispasonic.com/ficha188.html

FIGURA 2. INSTRUMENTO TRADICIONAL. Fuente: www.lucas-nuelle.de

La simulacin interactiva puede demostrar las situaciones que ocurren en el


mundo real; es una herramienta flexible, y desde el punto de vista pedaggico,
apoya la concepcin del aprendizaje constructivista por cuanto est centrada en
el alumno como sujeto de su propio aprendizaje, y por lo tanto protagonista de su
propia construccin. Este mtodo coloca la iniciativa y el control en las manos de
los estudiantes. Schr y Krueger (2000).

A continuacin se muestran los componentes ActiveX desarrollados por Iocomp:

18

FIGURA 3. COMPONENTES ACTIVEX PARA LA INSTRUMENTACIN VIRTUAL


DISTRIBUIDOS POR IOCOMP. Fuente: Rodrguez, Jos.

2.2.1.2. Resea histrica de la instrumentacin virtual


Cuando comienza el estudio de las ciencias elctricas, lo ms avanzado
tecnolgicamente era la relojera. Entonces los instrumentos toman de sta los
elementos para su diseo y es as que las partes componentes de los mismos son
agujas, resortes antagnicos, cojinetes de rub, etc. Posteriormente con la aparicin de
los receptores de radio, los instrumentos toman de stos, elementos tales como
potencimetros, condensadores variables, diodos semiconductores, etc.
El aporte ms importante lo da el triodo que como elemento amplificador, permite
la amplificacin de dbiles seales para luego poder medidas. Aparecen tambin los
primeros osciladores o generadores de onda que hacen uso de la realimentacin
positiva. Aos ms tarde, con el advenimiento de la televisin, los instrumentos
adoptan para su funcionamiento el tubo de Rayos Catdicos y la exhibicin en vdeo

19

para indicar las mediciones y entonces irrumpen los primeros osciloscopios,


analizadores de espectros, analizadores de vdeo, etc.
Contemporneamente, con el ingreso de la computadora personal, los instrumentos
adquieren el mximo potencial de las mismas. As se abren camino dos nuevos
conceptos muy importantes: la Instrumentacin Virtual y los Sistemas de Adquisicin
o Toma de Datos, DAQ.
La instrumentacin virtual es un concepto introducido por la compaa National
Instruments en el ao 2001. En el ao de 1983, Truchard y Kodosky, de National
Instruments, decidieron enfrentar el problema de crear un software que permitiera
utilizar el computador personal (PC) como un instrumento para realizar mediciones.
Tres aos fueron necesarios para crear la primera versin del software que permiti,
de una manera grfica y sencilla, disear un instrumento en la PC. De esta manera
surge el concepto de instrumento virtual (IV), definido como, "un instrumento que no
es real, se ejecuta en una computadora y tiene sus funciones definidas por software."
(National Instruments, 2001). A este software le dio el nombre de Laboratory Virtual
Instrument Engineering Workbench, ms comnmente conocido por las siglas
LabVIEW.

2.2.1.3. Ventajas de la instrumentacin virtual


Respecto al contraste experimental tradicional, la simulacin ofrece las siguientes
ventajas:

20

Posibilidad de repetir, en condiciones idnticas y a partir de su modelacin,


procesos y fenmenos, algo difcil de lograr en condiciones reales, y por tanto,
estudiar sistemticamente sus comportamientos hasta lograr los objetivos
deseados. Se optimiza as el proceso de aprendizaje.

Elimina los riesgos que siempre se presentan en la interaccin con la realidad,


tanto para dispositivos, instrumentos, etc., como para los estudiantes; con lo
que se crea confianza en ellos para implicarse en el estudio de esa realidad.

Permite la realimentacin inmediata, pues los efectos que se logran en el


funcionamiento del sistema, fenmeno o proceso que se simula, como
resultado de introducir modificaciones en determinados parmetros, resultan
inmediatos; lo que permite corregir la actuacin del estudiante en cada
momento.

Cuando se utiliza la simulacin con el objetivo de sistematizar la realizacin


de acciones que caracterizan la actuacin del sujeto en cierto contexto, ayuda
a optimizar dicha actuacin.

La simulacin, por tanto, se constituye en procedimiento, tanto para la formacin


de conceptos y construccin en general de conocimientos, como para la aplicacin de
stos a nuevos contextos a los que, por diversas razones, el estudiante no puede
acceder desde el contexto metodolgico donde se desarrolla su aprendizaje.
Evidentemente, el instrumento virtual aporta la flexibilidad de la que un instrumento
tradicional carece, a continuacin se presentan las ventajas ms importantes:

21

a) Fcil de escalar: teniendo entradas disponibles en la tarjeta de adquisicin de datos,


se amplia la cantidad de entradas al instrumento virtual; simplemente con una
modificacin en el programa. Otra opcin es la de colocar un multiplexor o aadir
otra tarjeta DAQ.
b) Fcil de reciclar: si se dispone de un Instrumento Virtual funcionando como
Osciloscopio y se desea pasar a un analizador lgico o un datalogger, se puede
hacer uso de la misma tarjeta. Simplemente hay que cambiar o modificar el programa,
ya que, la funcionalidad del instrumento reside en el programa.
c) Fcil de conectar al mundo exterior: el PC en el que se basa cualquier Instrumento
Virtual es fcil de conectar a una Red LAN, a una Intranet o a Internet, con lo cual,
los datos adquiridos pueden estar disponibles fcilmente en cualquier parte, incluso
en tiempo real.
d) Fcil de configurar: se pueden guardar los ajustes y/o configuraciones de ese
instrumento en el mismo disco duro de la PC, incluso con el nombre de cada
medicin que se est realizando. Esto permite repetir cualquier medicin colocando a
punto los controles del instrumento con slo rescatar el archivo de los ajustes.
e) Bajo costo por canal de adquisicin: ya que los fabricantes de PC compiten, en el
mbito mundial tenazmente entre ellos, la instrumentacin virtual aprovecha estas
ventajas de la competencia comercial: costos cada vez ms bajos, PCs cada vez ms
rpidos, con mayor capacidad de memoria RAM y con discos duros con mayor
almacenamiento. Esto permite que las empresas de adquisicin de datos puedan

22

disear equipos o programas cada vez ms econmicos, lo cual, garantiza un costo


menor por canal adquirido.
2.2.2. La red 1-Wire de Dallas Semiconductor [Fuente: 13, 14, 21]
La red 1-Wire (tambin llamada Micro Lan) es una red desarrollada por Dallas
Semiconductor para conectar dispositivos de Dallas. Entre los dispositivos que
pueden comunicar por la red 1-Wire existen contadores, memorias RAM,
EEPROM, conversores A/D, sensores de temperatura, termostatos, etc.
En s, se tratara de una red ms de comunicacin de dispositivos, como I2C,
CANBUS, o RS485, pero lo que le proporciona el punto de originalidad es que
fsicamente se compone de slo un conductor ms su retorno o tierra al que se
encuentran conectados todos los dispositivos permitiendo distancias de hasta 600 m.
El lmite de dispositivos depende su tipo, longitud del cableado, tipo de maestro, etc.,
y se garantiza funcionalidad hasta 100 dispositivos.
La base del funcionamiento es que cuando el bus est en reposo aparece una
tensin de 5V en el mismo que es aprovechada por los integrados para cargar unos
condensadores internos que asegure la alimentacin cuando el bus se est
comunicando. Esta red consiste en 3 elementos bsicos: a) El bus master con un
software de control, b) conectores de cableado y c) dispositivos 1-Wire.
La comunicacin bsicamente es maestro-esclavo, ningn esclavo transmite a no
ser que el maestro interrogue, es decir, la red 1-Wire est conformada por un

23

maestro y uno o ms esclavos, cuya comunicacin es serial asincrnica, y poseen un


nico pin de datos de tipo open drain, al que se conecta una resistencia de pullup anclada a +5V (nominal).
Ninguna comunicacin entre esclavos es permitida a menos que sea efectuada a
travs del maestro. Los datos son transferidos por time slots o por tiempos en cada
dispositivo generados por el maestro. Por ejemplo, para colocar en 1 a un esclavo, el
master baja la lnea por 15s o menos. Para colocar un 0 lgico, el maestro baja la
lnea del bus al menos 60s para proveer un tiempo en caso de que existan malas
condiciones.
No se necesita un reloj ya que cada dispositivo 1-Wire posee un oscilador
interno sincronizado con el pico de bajada del maestro. La alimentacin del chip se
deriva del bus durante el reposo en la comunicacin cuando la lnea de datos est en
5V incluyendo un rectificador de media onda en cada esclavo.
En cualquier momento en que la lnea de datos se coloca en 1, el diodo del
rectificador de media onda, conduce y carga un capacitor integrado en el chip.
Cuando el voltaje en la red cae por debajo del voltaje del capacitor, el diodo no
conduce, lo que asla la carga. La carga resultante alimenta al esclavo durante el
intervalo cuando la lnea est baja. La carga que se disip durante este perodo, es
recuperada cuando la lnea de datos vuelve a estar en alto. Este concepto de robar la
energa de la red usando un rectificador de media onda se llama Energa Parsita.
Durante la comunicacin (figura 4), el maestro reinicia la red manteniendo la

24

lnea baja por lo menos 480s, luego la libera, y espera un pulso de presencia como
respuesta del esclavo conectado a la lnea. Si el pulso de presencia es detectado, el
maestro accede al mismo llamando a su direccin o registro, controlando la
transferencia de informacin a travs de la generacin de los time slots y
examinando la respuesta del esclavo. Una vez que esta retroalimentacin es exitosa,
el maestro emite comandos especficos necesarios del dispositivo y ejecuta cualquier
transferencia de datos necesaria.

La lnea espera respuesta del


esclavo
Lnea de datos red 1-Wire

15-60s

+5V
Inactivo

Pulso
de Reset

Pulso de
Presencia

0V
480s

60-240s

FIGURA 4. PULSOS DE RESET Y PRESENCIA PARA EL INICIO DE SESIN ENTRE EL


MAESTRO Y ESCLAVO.

Una de las caractersticas de esta tecnologa 1-Wire, es que cada dispositivo


esclavo tiene una nica e irrepetible identificacin grabada en su memoria ROM. El
maestro puede seleccionar un solo esclavo de los muchos que puede haber en la red
pues cada dispositivo posee una direccin o registro nico.

25

2.2.2.1 Caractersticas de la red 1-Wire

Utiliza niveles de alimentacin CMOS/TTL con un rango de operacin que


abarca desde 2.8V hasta 6V.

Tanto el maestro como los esclavos transmiten informacin de forma bidireccional, pero, slo en una direccin a la vez. De esta manera la
comunicacin es half duplex.

Toda la informacin es leda o escrita comenzando por el bit menos


significativo (LSB).

No se requiere del uso de un reloj, ya que, cada componente 1-Wire posee


un oscilador interno que se sincroniza con el del maestro cada vez que en la
lnea de datos aparezca un flanco de bajada.

La alimentacin de los esclavos se puede hacer utilizando el voltaje propio del


BUS. Para ello, cada circuito esclavo posee un rectificador de media onda y
un capacitor. Durante los perodos en los cuales no se efecta ninguna
comunicacin, la lnea de datos se encuentra en estado alto debido a la
resistencia de pull up; en esa condicin, el diodo entra en conduccin y
carga al capacitor. Cuando el voltaje de la red cae por debajo de la tensin del
capacitor, el diodo se polariza en inverso evitando que el capacitor se
descargue. La carga que queda almacenada en el capacitor alimentar al
circuito esclavo.

Todas las tensiones mayores que 2,2 Voltios son consideradas un (1) lgico
mientras que un (0) lgico ser cualquier voltaje menor de 0,8 V.

26

La transferencia de informacin es a 16.3 Kbps en modo Standard y hasta


142 Kbps en modo Overdrive.

2.2.2.2 Protocolo de Comunicaciones 1-Wire


El protocolo 1-Wire es una secuencia de transacciones de informacin, la cual,
se desarrolla segn los siguientes pasos: (1) La Inicializacin, (2) Comandos y
funciones de ROM, (3) Comandos y funciones de control y memoria y (4)
Transferencia de bytes o datos.

1. Inicializacin
Todas las comunicaciones en el bus 1-Wire comienzan con una secuencia de un
pulso de Reset y Presencia. El pulso de reset provee una forma limpia de iniciar las
comunicaciones, ya que, con l se sincronizan todos los dispositivos esclavos
presentes en el bus. Un reset es un pulso que genera el maestro al colocar la lnea de
datos en estado lgico bajo por unos 480 s. El Pulso de presencia lo genera(n)
el(los) esclavo(s) para indicarle al maestro que est(n) disponible(s) para cualquier
operacin y consiste en colocar la lnea de datos en estado lgico bajo durante un
perodo de tiempo entre 60 y 240 s.

2. Comandos y Funciones de ROM


Una vez que el maestro recibe el pulso de presencia de los dispositivos esclavos,
se puede enviar un comando de ROM. Los comandos de ROM son comunes a todos

27

los dispositivos 1-Wire y se relacionan con la bsqueda, lectura y utilizacin de la


direccin de 64 bits que identifica a los esclavos.
TABLA A.
COMANDOS DE ROM COMNMENTE UTILIZADOS EN CHIPS 1-WIRE

Comando

Valor

Read ROM

$33

Match ROM

$55

Skip ROM

$CC

Search ROM

$F0

Accin
Lee la identificacin de 64 bits del dispositivo. Puede
usarse si existe un slo dispositivo esclavo.
Este comando, seguido de una identificacin de 64 bits,
permite seleccionar a un dispositivo esclavo en
particular.
Direcciona a un dispositivo sin necesidad de conocer su
identificacin. Puede ser utilizado solamente cuando
existe un slo esclavo.
Lee los 64 bits de identificacin de los dispositivos
esclavos conectados en el bus. Se utiliza un proceso de
eliminacin para distinguir a cada dispositivo conectado.

3. Comandos y Funciones de Control y Memoria


Son funciones propias del dispositivo 1-Wire. Incluyen comandos para
leer/escribir en localidades de memoria, leer memorias de scratchpad, controlar el
inicio de la conversin de un ADC, iniciar la medicin de una temperatura o
manipular el estado de un bit de salida, entre otros. Cada dispositivo define sus
propios comandos.

4. Transferencia de Datos
La lectura y escritura de datos en el bus 1-Wire se hace por medio de Slots, la
generacin de stos es responsabilidad del maestro, como un microcontrolador
ATOM o un computador.

28

Cuando el maestro lee informacin del bus, debe forzar la lnea de datos a estado
bajo durante al menos 1s y esperar unos 15s para entonces leer el estado de la
misma. El estado lgico de la lnea en ese momento, estar determinado por el
dispositivo esclavo.
Al momento de efectuar la escritura de un bit en el bus ocurre algo similar, el
maestro produce un pulso de entre 1s y 15s de duracin, para luego colocar en el
bus al bit que se desea transmitir. Este bit deber permanecer en el bus al menos 60
s.

2.2.2.3. Deteccin de errores en la red 1-Wire


Cuando se transmite informacin en forma serial, es necesario verificar la posible
existencia de errores que pudieran ocurrir durante la comunicacin. Existen varios
mtodos para efectuar este chequeo. Uno de los ms simples consiste en aadir un bit
extra a cada byte transmitido de modo que el nmero de unos (1s) contenidos en el
paquete de 9 bits siempre sea par o impar. Este procedimiento se le conoce como
verificacin de paridad y permite encontrar errores que ocurran en un bit, pero no es
confiable cuando cambia ms de un bit dentro del byte.
Uno de los mecanismos de deteccin de errores ms eficientes es el Control de
Redundancia Cclica (del ingls Cyclic Redundancy Check) conocido por sus
iniciales CRC. El CRC de un conjunto de datos, es un nmero de cierta cantidad de
bits que contiene el resultado de la aplicacin de una expresin matemtica al
mencionado conjunto de datos. As, si el CRC es de 4 bits se denominar CRC-4, si

29

es de 8 bits se llamar CRC-8, si es de 16 bits ser CRC-16, etc. El algoritmo


utilizado para el clculo de CRC de Dallas Semiconductor (DOW CRC), cuyo
resultado se incluye en la identificacin de los dispositivos 1-Wire, es de 8 bits y se
calcula introduciendo los primeros 56 bits, correspondientes al serial del dispositivo y
el cdigo de la familia a la que pertenece el dispositivo.
Los errores detectables por el CRC-8 implementado por Dallas Semiconductors
son:

Cualquier nmero impar de errores sobre los 64 bits transmitidos.

Todos los errores de dos bits que se presenten en el serial de 64 bits.

Cualquier grupo de errores de hasta 8 bits incorrectos.

La gran mayora de los errores de ms de 8 bits incorrectos.

Cuando se implementa por software, una forma simple de hacerlo, es por medio de
una tabla de 256 bytes, la cual, es llamada repetidas veces a medida que se introducen
los bytes hasta obtener el valor definitivo del CRC. Este mtodo es muy sencillo, pero
presenta el inconveniente de requerir el uso de 256 bytes de la memoria de un
microcontrolador.
2.2.3. ActiveX [Fuente: 1, 7, 12, 16, 17, 24, 25, 27, 29]
Antes de entrar en definicin de ActiveX, se debe entender lo que es un objeto
OLE.

30

2.2.3.1. Objetos OLE


Un objeto OLE (Object Linking and Embedding) significa el estndar de
vinculacin e incrustacin de objetos. OLE es un entorno unificado de servicios
basados en objetos con la capacidad de personalizar esos servicios y de ampliar
arbitrariamente la arquitectura a travs de servicios personalizados, con la finalidad
global de permitir una integracin entre los componentes.
OLE proporciona un estndar consistente que permite a los objetos, aplicaciones y
componentes ActiveX, comunicarse entre s con la finalidad de usar el cdigo de los
dems. Los objetos no necesitan conocer por anticipado en qu objetos se van a
comunicar, ni su cdigo necesita estar escrito en el mismo lenguaje.
Las aplicaciones ActiveX estn conceptualmente divididas en servidores, objetos
que hacen que sus mtodos y propiedades estn disponibles para los dems, y
clientes, aplicaciones que usan objetos de servidor expuestos, mtodos y propiedades.
Algunos tipos de servidores, por ejemplo controles ActiveX, pueden disparar eventos
que pueden ser despus respondidos por el cdigo de un cliente.

2.2.3.2. Definicin de ActiveX


Un objeto ActiveX se define como el que se adhiere al Modelo de Objeto
Componente (Component Object Model COM), quien representa una arquitectura de
programacin que permite construir aplicaciones a partir de componentes de
software, definido por Microsoft. Es usado en ambientes Windows por lenguajes

31

de programacin como Visual Basic, C++, Delphi entre otros, como tambin en la
Web mediante el uso de Active Server Pages (ASP) y el lenguaje VBScript. La
tecnologa COM provee muchos beneficios, incluyendo integracin ms fcil,
escalabilidad y reusabilidad. Tambin ofrece la ventaja de independencia del lenguaje
y compatibilidad entre distintas plataformas.

2.2.3.3. Caractersticas del objeto ActiveX


Un objeto que cumpla con este modelo tiene las siguientes caractersticas:

Un objeto ActiveX est aplicado como cdigo binario, por consiguiente,


puede estar escrito en cualquier lenguaje fuente.

El objeto est encapsulado en un archivo ejecutable o en una biblioteca de


vnculo dinmico.

El objeto contiene datos de dos tipos: datos de presentacin, que se requieren


para presentar la pantalla o para imprimir, y datos internos. Puede considerar
los dos tipos de datos como propiedades que son privadas para el objeto.

El objeto contiene tambin funciones para manipular sus datos.

El objeto proporciona una interfaz estndar para que otros objetos se


comuniquen con l.

El objeto participa en la disposicin en formacin, proceso de pasar


argumentos de funciones y valores de retorno entre procesos y mquinas.

32

2.2.3.4. Ventajas de un control ActiveX

Reutilizacin de cdigo

La idea de reutilizar cdigo (figura 5) es comn a casi todos los lenguajes de


programacin, mediante esta tcnica se consiguen importantes ahorros de tiempo en
programacin.

Los controles ActiveX no pueden entenderse antes de su compilacin

Control
ActiveX
Programa
compatible
Con ActiveX
Despus de compilar, los controles ActiveX pueden ser objeto de interfaz con otros programas
FIGURA 5. REUTILIZACIN DEL CDIGO EN ACTIVEX.

Con los ActiveX no se necesita ningn cdigo fuente. Como el cdigo original se
ha convertido en un control ActiveX, es posible utilizarlo sin el apoyo de un
programa compatible con ActiveX. Los controles ActiveX ofrecen un marco de
reutilizacin de cdigo, ya que son independientes del lenguaje. Los controles
permiten conectar cdigo C++ con Java, el cdigo Java con Visual Basic, Visual
Basic con C++ y as sucesivamente.
Los controles ActiveX pueden conseguir esta independencia del lenguaje, ya que

33

su cdigo se encripta en forma binaria, no como cdigo fuente. Sea cual sea la
herramienta de desarrollo utilizada, el resultado ser un control ActiveX
comprensible como binario por cualquier programa compatible con ActiveX.
La independencia del lenguaje no es la nica ventaja que se extrae del empleo de
cdigo reutilizable en forma binaria. Por ejemplo, despus de convertir un algoritmo
en un control ActiveX, podr suministrarse a otros programadores sin necesidad de
desvelar el resto del cdigo fuente. Adems los algoritmos dejarn de estar limitados
a las herramientas de desarrollo. Toda aplicacin que contemple en sus controles al
estndar ActiveX, podr hacer uso de este cdigo.

Uso de un simple objeto para reemplazar muchas lneas de cdigo de


funciones comunes

Esto permite a los programadores crear componentes de programa re-usables que


pueden ser intercambiados sin necesidad de re-escribir la aplicacin completa. Esta
intercambiabilidad reduce el costo de desarrollo y extiende la vida til de una
aplicacin.

2.2.3.5. Creacin de un control ActiveX


Contenedores ActiveX
Los programas que usan controles ActiveX se llaman contenedores. El contenedor
de un control es una aplicacin capacitada para el manejo de ActiveX que acta como

34

soporte de interfaz de usuario para dicho control. Se puede por ejemplo, presentar un
botn que, una vez pulsado, enve un mensaje al control.
Tambin puede responder a diversos sucesos, o mensajes especiales que se envan
desde el control al contenedor. Estos sucesos pueden reclamar un "clic" de ratn, la
terminacin de una tarea o cualquier otro evento.
Para obtener un mximo aprovechamiento de la arquitectura ActiveX son
necesarios tanto los controles como los contenedores. Los primeros permiten
empaquetar el cdigo fuente en un objeto nico y reutilizable.
Inicialmente, debe realizarse un esquema del algoritmo que por lo general, viene
dado en diagramas de flujo. En el caso de los chips 1-Wire, la hoja de datos
(datasheet) indica el diagrama de flujo con todas las funciones, comandos y acciones
que se necesitan para programar, acceder y manipular al mismo. Queda entonces, a
objeto del usuario, llevar estos eventos a cdigo fuente. En la figura 6 se muestran los
pasos para la creacin del control ActiveX.
Una vez elaborado el cdigo fuente, debe compilarse como OCX (en ingls OLE
Control Extension) o Extensin de Control OLE quien representa un Control
ActiveX. En este momento, ya se ha creado el Control ActiveX. Por ltimo, debe
asegurarse que el programa de desarrollo tenga la capacidad de manejar controles
ActiveX para poder insertarlo, ajustar propiedades, etc.

35

Paso 1. Se crea un bosquejo del algoritmo


(Diagramas de flujo)

Cdigo
Fuente

Paso 2. El algoritmo se lleva a cdigo fuente

Cdigo
Fuente

Paso 3. El cdigo fuente se compila como control ActiveX (OCX).

Paso 4. Se inserta el OCX en el programa de desarrollo

Control
ActiveX

Control
ActiveX

Programa
compatible
con ActiveX

FIGURA 6. PROCESO BSICO DE CREACIN DE UN CONTROL ACTIVEX.

2.2.4. Interfaz de Programa de Aplicacin TMEX [Fuente: 13, 14]

2.2.4.1. API de programacin 1-Wire


Para la comunicacin con dispositivos 1-Wire las diferentes interfaces de
programa de aplicacin (Application Program Interface, API por sus siglas en ingls)
tienen caractersticas comunes que reflejan los patrones fundamentales de la
comunicacin que emerge del protocolo. API es la plataforma que proporciona el
fabricante para acceder a los dispositivos y la red 1-Wire desde un computador.
Bsicamente se definen como un conjunto de subprogramas o funciones de bajo nivel
programadas en un entorno que depende tanto del lenguaje de programacin como
del sistema operativo utilizado.

36

Debido a que la mayora de los dispositivos 1-Wire poseen memoria, las


funciones de memoria entrada/salida (I/O) son tratadas como un grupo de funciones
API aunque las mismas no se apliquen a todos los dispositivos.
TABLA B. GRUPO DE FUNCIONES API.
Fuente: Nota de Aplicacin AN155 (2002). Maxim-Dallas Semiconductor.
SESIN
Incluye todas las funciones que hacen uso exclusivo del bus 1-Wire a travs de cualquier interfaz de
comunicacin al PC. Esto es particularmente importante cuando utilizamos el sistema operativo
Windows 32 bits, ya que, en forma simultnea diferentes programas podran acceder a la red 1Wire y entorpecer el normal funcionamiento de la misma. Todas las funciones incluidas en ste API,
hacen uso exclusivo del puerto de comunicaciones del PC mientras dure la comunicacin con el
dispositivo 1-Wire.
ENLACE
Incluye todas las funciones bsicas de comunicacin de la red 1-Wire. Funciones bsicas o
primitivas son aquellas que realizan un reset en la red 1-Wire antes de establecer alguna
comunicacin con un dispositivo esclavo, para luego leer o escribir bits de informacin. Agrupa
tambin ciertas funciones especiales que determinan las caractersticas elctricas de funcionamiento de
la red, como es el caso, de generacin de pulsos de programacin para escribir informacin en las
memorias EPROM.
RED
Agrupa las funciones que permiten identificar y seleccionar dispositivos en la red 1-Wire. El nmero
de serial nico en cada dispositivo 1-Wire se usa como su direccin de red. Incluyen la totalidad de
las funciones que trabajan con la memoria ROM de los dispositivos.
TRANSPORTE
Bloque de comunicacin y funciones para la lectura y escritura en cualquier memoria diferente a la
ROM. Estas funciones estn construidas en base a las funciones encontradas en las API de Enlace y de
RED.
ARCHIVO
Funciones relacionadas a las estructuras de los archivos y organizacin de la memoria dentro de los
dispositivos. Son construidas en base a las funciones encontradas en las API de Red y de Transporte y
son tiles en aquellos dispositivos con ms de una pgina de memoria.
DISPOSITIVO
Funciones especficas para cada dispositivo, son denominadas de alto nivel, ya que, dependen en todo
momento de un dispositivo en especfico. Estas funciones son construidas en base a las encontradas en
las API de RED, Transporte, Enlace y realizan operaciones tales como la lectura de la temperatura de
un dispositivo en particular o establecer el estado de un switche.

La secuencia tpica para usar estas funciones se muestra en la figura 7.

37

SESIN
Adquiere el uso exclusivo de la red 1-Wire

RED
Identificacin y/o seleccin del dispositivo 1-Wire

TRANSPORTE/ARCHIVO/DISPOSITIVO
Ejecuta una operacin especfica en el dispositivo
o de memoria (opcional)

Ejecutar
otra
Operacin
?

Si

No
SESIN
Liberar la red 1-Wire. Cancelar uso exclusivo

EXTRA
Ejecuta otras tareas en la aplicacin

FIGURA 7. SECUENCIA PARA USO DE LAS FUNCIONES API.

Existen 5 tipos de API que se presentan en la tabla C y la tabla D muestra las APIs
disponibles para los sistemas operativos (SO) y lenguajes que soportan.

38

TABLA C. TIPOS DE API DE PROGRAMACIN 1-WIRE.


Fuente: Nota de Aplicacin AN155 (2002). Maxim-Dallas Semiconductor.
API
1-Wire
Public
Domain

ABREVIATURA
PD

1-Wire
API for
Java

OWAPI

1-Wire
API for
.NET

OW.NET

1-Wire
COM

OWCOM

TMEX
API

TMEX

DESCRIPCIN
Conjunto completo de cdigos y funciones abiertas en lenguaje C,
los cuales, soportan la conexin con un PC a travs de un adaptador
tipo serial denominado DS9097U y DS9490 USB
Conjunto completo de cdigos y funciones abiertas en lenguaje Java,
los cuales, soportan casi todos los dispositivos 1-Wire y la
conexin con un PC a travs de un adaptador tipo serial denominado
DS9097U equivalente y DS9490 USB.
Es el OWAPI compilado con J# para el entorno de Microsoft .NET.
La capa de enlace de 1-Wire de bajo nivel ha sido llevada a C# y
est disponible para descargas.
Modelo de componentes objetos (COM) que implementa un interfaz
en base a cdigos y funciones escritas y utilizadas por el API de
JAVA (OWAPI), el cual, es accesible a travs de lenguajes de
programacin como el Java y el Visual Basic Script.
Conjunto completo de funciones independientes del lenguaje
(DLLs). Proveen soporte a todos los dispositivos y adaptadores
1-Wire que trabajen bajo la plataforma Windows de 32 Bits.
Son al mismo tiempo, las funciones que se utilizarn para acceder a
los diferentes dispositivos en la red 1-Wire. El API TMEX, est
diseado para trabajar en aplicaciones multi-procesos y multi-tareas.

TABLA D. LENGUAJES Y SISTEMAS OPERATIVOS QUE ADMITEN FUNCIONES API.


Fuente: Nota de Aplicacin AN155 (2002). Maxim-Dallas Semiconductor.
LENGUAJE
SO
Windows XP
Windows 2000
Windows ME
Windows 98
Windows 95
Win 3.1.
DOS
Palm
VISOR
Pocket PC/CE
Linux y otros SOs basados en UNIX
TINI (plataforma embebida con un SO
basado en Java hecho por Dallas)

TMEX/OWCOM/
OW.NET
TMEX/OWCOM/OW.NET
TMEX/OWCOM/OW.NET
TMEX/OWCOM/OW.NET
TMEX/OWCOM/OW.NET
TMEX

OW.NET (an no
completada)

JAVA

PD
PD
PD
PD
PD
PD
PD
PD
PD

OWAPI
OWAPI
OWAPI
OWAPI
OWAPI

PD
PD
PD sin
SO TINI

OWAPI
OWAPI

39

La red 1-Wire debe estar conectada al computador a travs de un adaptador


1-Wire. En la nota de aplicacin AN155 de Maxim-Dallas Semiconductor puede
encontrarse una lista de los adaptadores disponibles y las funciones TMEX completas
(pgina web: www.maxim-ic.com). Cada API puede soportar hasta 16 diferentes
tipos de adaptadores con 16 puertos distintos. Soporta todos los adaptadores 1-Wire
creados por Dallas Semiconductor.

2.2.4.2. TMEX API


Al observar la tabla D, el TMEX API es el que permite trabajar en Windows 32bits (incluyendo Windows Vista que para la fecha de la publicacin de la nota de
aplicacin, no haba sido lanzado este sistema operativo) y permite acceder a los
dispositivos 1-Wire. El Kit de Desarrollo de Software 1-Wire para Windows
(en ingles 1-Wire SDK (Software Development Kit) for Windows) se compone de
dos APIs: OWCOM y TMEX, donde esta ltima es la requerida. Para usar estas
funciones se necesita el Paquete de Controladores 1-Wire (en ingls 1-Wire Drivers
Package) que se descarga a travs de http://www.ibutton.com/software/tmex. Este
paquete instalar los controladores (drivers) TMEX incluyendo las libreras DLL y el
iButton Viewer quien es una aplicacin para explorar dispositivos 1-Wire o iButtons
desde el computador; este encuentra los mismos y muestra su nmero de serial con
una descripcin de las caractersticas importantes y opciones.
El SDK 1-Wire para Windows soporta todos los sistemas de operacin
Microsoft Windows de 32-bits.

40

2.2.4.3. Capas y funciones TMEX


El diseo bsico de TMEX est basado en las normas ISO referenciado al modelo
estndar de interconexin abierta (OSI). Las funciones TMEX API estn divididas en
5 capas, las cuales poseen funciones y tambin cdigos de error. Estas capas son:
1. Capa de Sesin: Se encarga de iniciar o proveer acceso a la red 1-Wire. Las
funciones relacionadas a la capa de sesin (de existir) son:

TMEndSession, finaliza la sesin de comunicaciones con la red 1-Wire.


TMExtendedStartSession, comienza una nueva sesin de comunicaciones con el
puerto seleccionado. Si retorna 0 no es vlida la conexin y no puede llamarse otra
API.
TMValidSession, verifica si la seccin actual es vlida.

2. Capa de Presentacin: Define la estructura y la organizacin de la memoria de


los dispositivos. Esta capa soporta una gran cantidad de funciones de programacin
parecidas a los archivos del sistema operativo MsDOS de Microsoft, entre las
funciones de programacin de esta capa de presentacin se encuentran:

TMAttribute, cambia los atributos de los archivos o directorios.


TMChangeDirectory, lee o cambia el directorio de trabajo actual.
TMCloseFile, cierra un archivo abierto en memoria.
TMCreateFile, crea un archivo para su escritura.

41

TMCreateProgramJob, crea un buffer de programacin que ser utilizado para


escribir en la memoria EPROM de un dispositivo.
TMDeleteFile, borra un archivo.
TMDirectoryMR, crea o borra un sub-directorio.
TMDoProgramJob, escribe el buffer de programacin en la memoria del dispositivo.
TMFirstFile, encuentra el primer archivo en el directorio seleccionado.
TMFormat, realiza un formato del medio.
TMNextFile, encuentra el prximo archivo en el directorio.
TMOpenFile, abre un archivo para lectura.
TMReadFile, lee un archivo abierto.
TMReNameFile, cambia el nombre de un archivo o directorio.
TMWriteFile, escribe en un archivo ya creado.

3. Capa de Transporte: Es la responsable de la transferencia de informacin


bits o bytes que no pertenezcan o estn relacionados con la memoria ROM, como
es la transferencia de informacin desde la memoria RAM de los dispositivos, incluso
en algunos dispositivos con memoria intermedia denominada scratchpad. No todos
los dispositivos 1-Wire utilizan la capa de transporte, slo aquellos que tienen
memoria adicional a la memoria ROM podrn utilizar esta capa. Las funciones
relacionadas a la capa de transporte son:

TMBlockIO, enva y recibe un bloque de datos desde la red 1-Wire precedida con
un reset.

42

TMBlockStream, enva y recibe un bloque de datos desde la red 1-Wire.


TMExtendedReadPage, lee una pgina completa de memoria del dispositivo
incluyendo el CRC.
TMProgramByte, programa un byte en la memoria EPROM del dispositivo
seleccionado en la red 1-Wire.
TMReadPacket, lee un paquete de informacin desde una pgina de memoria en
formato universal.
TMWritePacket, escribe un paquete de informacin desde una pgina de memoria en
formato universal.
4. Capa de Red: Determina la identificacin de cada dispositivo en particular y su
capacidad de comunicacin dentro de la red. Cada dispositivo 1-Wire posee un
nico e irrepetible serial de identificacin, el cual, se grab en fbrica en la memoria
ROM de cada dispositivo, a travs de un proceso de criptografa lser, debido a que
ste serial es parte de la memoria ROM, todos los comandos relacionados a la capa de
red estarn referidos a los comandos de ROM o comandos de utilizacin de la
memoria ROM. Las funciones para acceder a los dispositivos esclavos en la red
1-Wire en forma individual, a travs, de la capa de red son:
TMAccess, selecciona un dispositivo y lo prepara para recibir un comando especfico
desde la red.
TMAutoOverDrive, ajusta automticamente la velocidad de transmisin de datos de la
red 1-Wire.
TMFamilySearchSetup, selecciona el tipo de bsqueda para encontrar el primer

43

dispositivo de la familia especificada.


TMFirst, encuentra el primer dispositivo 1-Wire en la red.
TMFirstAlarm, encuentra el primer dispositivo 1-Wire con alarma activada en la
red.
TMNext, encuentra el prximo dispositivo 1-Wire en la red.
TMNextAlarm, encuentra el prximo dispositivo 1-Wire con alarma activada en la
red.
TMOverAccess, selecciona el dispositivo actual y lo ajusta para trabajar a sobrevelocidad.
TMRom, lee o selecciona el nmero de serial del dispositivo seleccionado en la red.
TMSkipFamily, ignora a todos los dispositivos de la familia especificada en la red.
TMStrongAccess, selecciona y verifica que el dispositivo actual est presente en la
red 1-Wire.
TMStrongAlarmAccess, selecciona y verifica que el dispositivo actual (alarma
presente) est en la red 1-Wire.
5. Capa de Enlace: Describe las funciones bsicas de comunicacin de los
dispositivos 1-Wire tales como: Reset, Presencia y la transferencia de bits.
Despus de realizarse una funcin bsica en esta capa, el control de la comunicacin
es tomado enteramente por la capa de red. Las funciones de programacin
pertenecientes a la capa de enlace son:
TMClose, abandona los recursos del puerto de comunicacin abierto.

44

TMOneWireCom, selecciona la velocidad del canal 1-Wire: normal o sobrevelocidad


TMOneWireLevel, selecciona el tipo de nivel: normal, Strong pull-up y 12V
programacin.
TMProgramPulse, enva un pulso de programacin a travs de la red 1-Wire.
TMSetup, verifica si el adaptador de puertos est operativo.
TMTouchBit, enva y recibe un bit de informacin a travs de la red 1-Wire.
TMTouchByte, enva y recibe un byte de informacin a travs de la red 1-Wire.
TMTouchReset, realiza un reset de todos los dispositivos en la red 1-Wire.
A continuacin, se muestra una representacin grfica general del API de
programacin 1-Wire incluyendo las TMEX API.

Aplicaciones

Java

Librera

OWCOM

TMEX

.NET

OWAPI.DLL
1-Wire COM
Librera

Librera

OWAPI
IBTMJAVA.DLL
(JNI Enlace original)

Controladores
o Drivers TMEX API

Libreras para
el uso de
convertidores

OneWireAPI.NET.DLL
(1-Wire API for J#)

IBFS32.DLL
Librera de las
funciones TMEX

Libreras para
el uso de
convertidores

Libreras para
el uso de
convertidores

No todas las libreras


trabajan bajo el mismo
Sistema Operativo

FIGURA 8. REPRESENTACIN GRFICA DE TMEX COMO API.


Fuente: Nota de Aplicacin AN155 (2002). Maxim-Dallas Semiconductor.

45

2.2.5. Programacin Orientada a Objetos (POO) [Fuente: 1, 4, 7, 17, 29]


Un lenguaje se dice que est basado en objetos si soporta objetos como una
caracterstica fundamental del mismo. El elemento fundamental de la POO es, como
su nombre lo indica, el objeto y se define como un conjunto complejo de datos y
programas que poseen estructura y forman parte de una organizacin.
La programacin orientada a objetos tiene como conceptos elementales los
conceptos de objeto y clase.

2.2.5.1. Clase y Objeto

Una clase es un ente abstracto que permite declarar las propiedades y los
mtodos de objetos similares. Las clases presentan el estado de los objetos a los que
representan mediante variables denominadas atributos. Cuando se crea un objeto el
compilador crea en la memoria dinmica un espacio para tantas variables como
atributos tenga la clase a la que pertenece el objeto.
Un lenguaje de programacin orientado a objetos debe permitir al programador
realizar definiciones de clases, y construir objetos a partir de esas clases.
Un objeto tambin se define como una entidad que posee sus caractersticas
propias (propiedades) y un conjunto de acciones que es capaz de realizar (mtodos)
que pueden ser invocadas externamente. Un objeto adems de un estado interno,
presenta una interfaz para poder interactuar con el exterior.

46

Entonces, en la programacin orientada a objetos, un programa no es ms que una


coleccin de objetos interactuando entre s. Esa interaccin se produce a travs de
mensajes. Un mensaje es un pedido al objeto de que ejecute uno de sus mtodos y
consta del nombre del objeto y el nombre del mtodo a ejecutar.

2.2.5.2. Estructura de un Objeto


Un objeto se compone de: Relaciones, Propiedades y Mtodos.
Las relaciones permiten que el objeto se inserte en la organizacin y estn
formadas esencialmente por punteros a otros objetos.
Las propiedades son elementos expuestos por el componente a fin de que el
programador pueda personalizarlo, modificando sus atributos con el fin de adaptarlo a
sus necesidades, por ejemplo, estableciendo colores, dimensiones, ttulos, enlaces a
bases de datos, conexiones con servidores, etc. Las propiedades de un objeto pueden
ser heredadas a otros objetos que dependan de l dentro del cdigo.
Los mtodos son las operaciones que pueden realizarse sobre el objeto, que
normalmente estarn incorporados en forma de programas (cdigo) que el objeto es
capaz de ejecutar y que tambin puede heredarse de una clase a otra.

2.2.5.3. Eventos

Un evento de un objeto es una seal generada por el objeto, ante un suceso


concreto, y que la aplicacin puede aprovechar para ejecutar alguna accin.

47

Dicho suceso puede ser externo, como la pulsacin de una tecla, o bien interno
como la recepcin de una seal por parte del Sistema Operativo.

2.2.5.4. Beneficios que se obtienen del desarrollo con POO


Entre las preocupaciones que han existido desde el comienzo en el desarrollo de
software se encuentran la falta de portabilidad del cdigo y reusabilidad, cdigo que
es difcil de modificar, ciclos de desarrollo largos y mantenimiento del software.
Todos estos problemas an no han sido solucionados en forma completa. Pero
como los objetos son portables (tericamente) y la herencia permite la reusabilidad
del cdigo orientado a objetos, es ms sencillo modificar un cdigo existente porque
los objetos no interaccionan excepto a travs de mensajes; en consecuencia un
cambio en la codificacin de un objeto no afectar la operacin con otro objeto
siempre que los mtodos respectivos permanezcan intactos.
La introduccin de tecnologa de objetos como una herramienta conceptual para
analizar, disear e implementar aplicaciones, permite obtener aplicaciones ms
modificables, fcilmente extendibles y a partir de componentes reusables. Esta
reusabilidad del cdigo disminuye el tiempo que se utiliza en el desarrollo y hace que
el desarrollo del software sea mas intuitivo porque la gente piensa naturalmente en
trminos de objetos ms que en trminos de algoritmos de software.

48

2.2.6. Entorno de Programacin de Visual Basic [Fuente: 4, 17, 24]


Visual Basic es la versin del lenguaje de programacin BASIC, orientado al
sistema operativo Windows con todas sus caractersticas (manejo de ventanas y de
controles, iconos, grficos, funciones de la API).
El lenguaje de programacin BASIC es uno de los ms sencillos de aprender.
Visual Basic es una forma de programacin basada en objetos u orientada al evento.
Con Visual Basic se pueden crear aplicaciones (*.exe), libreras dinmicas (*.dll),
controles ActiveX (*.ocx) entre otras cosas. Contiene algunos complementos para
utilizar dentro del entorno de trabajo para gestionar bases de datos, crear archivos de
recursos (*.res), utilizar la API de Windows, crear clases, etc.
Las propiedades, mtodos, funciones o eventos definidos como Private slo sern
visibles dentro de la clase; los definidos como Public son visibles desde fuera de la
clase, es decir, son los que se acceden con el nombre del objeto seguido del punto.

2.2.6.1. Propiedades
A las propiedades se accede con el nombre del objeto seguido de un punto (.) y el
nombre de la propiedad. Supongamos un perro de nombre Fido, en el caso de que se
quisiera acceder a la propiedad Edad de Fido, la sentencia ser: Fido.Edad. Las
propiedades pueden ser de lectura, escritura o ambas. Las propiedades de lectura son
aquellas que slo puede conocerse su valor pero no cambiarlo. Las de escritura son
aquellas que solamente puede cambiarse su valor pero no consultarlo.

49

2.2.6.2. Funciones
Las funciones son similares a los mtodos, con la diferencia de que las funciones
tienen un valor de retorno y los mtodos no. Este valor de retorno puede ser un
nmero, una cadena de texto, un valor de tipo Verdadero/Falso, e inclusive otro
objeto. Una funcin puede llevar o no argumentos y se accede de la misma forma que
a los mtodos.

2.2.6.3. Entorno Integrado de Desarrollo IDE


Cuando se inicia Visual Basic, se crea un proyecto nuevo con un formulario. El
IDE de Visual Basic consta de los siguientes elementos:

Barras de Men y Barra


de Herramientas

Cuadro de
Herramientas

Diseo de
Formularios

Explorador de
Proyectos

Ventana
de Cdigo

Ventana
de Propiedades

FIGURA 9. ENTORNO INTEGRADO DE DESARROLLO DE VISUAL BASIC.

50

El entorno de Microsoft Visual Basic 6.0 presenta dos modos de trabajo segn si
se est diseando una ventana o se est escribiendo el cdigo con sus eventos,
propiedades, mtodos y funciones.
En el caso de las aplicaciones, estas se desarrollan sobre ventanas que tienen
controles como cuadros de texto, cuadros de lista, botones de opcin, etc. con los que
el usuario interacta. Las ventanas con su aspecto se crean en una interfaz grfica
llamada Formulario (Form). El formulario ser la ventana de la aplicacin cuando
sta se compile.
El cuadro de la parte izquierda de la ventana es el Cuadro de Herramientas, con
los controles disponibles a colocar sobre el formulario. El cuadro de la derecha es la
ventana Propiedades, las que muestra las propiedades del formulario o control
seleccionado en el formulario, para cambiarlas. Es en esta vista donde se disea en
forma visual toda la parte grfica de la ventana; este modo de trabajo se denomina
modo Diseo.
Luego est el otro modo de trabajo, denominado modo Ejecucin que es la ventana
donde se escribe el cdigo o Ventana de Cdigo. El cdigo es exclusivamente texto,
en el cual se observa texto con formato de color. Esto se debe a que las palabras clave
aparecen en un color distinto: errores de sintaxis, los comentarios y el texto.
Todas las aplicaciones, libreras u otros trabajos que se cree en Visual Basic se
hacen en un Proyecto. Un proyecto (depende del tipo) contendr Formularios,

51

Mdulos estndar, Mdulos de clase, Controles de usuario, etc. Puede ver los que
estn presentes en el proyecto desde el Explorador de Proyectos.
Cuando desarrolla una aplicacin, Visual Basic crea un archivo especial llamado
Archivo de Proyecto para administrar todos los dems archivos de la aplicacin.
El Archivo de Proyecto es simplemente una lista de todos los archivos y objetos
asociados con el proyecto, as como informacin sobre las opciones del entorno. Un
proyecto est compuesto por los siguientes archivos:
TABLA E. TIPOS DE ARCHIVO DE UN PROYECTO EN VISUAL BASIC.
Fuente: Matta, Danny. http://www.lawebdelostutoriales.com/
Tipos de archivo
Proyecto

Extensin
.vbp

Formulario

.frm .frx

Mdulo estndar

.bas

Controles
Personalizados

.ocx

Mdulo de clase

.cls

Recursos

.res

Descripcin
Realiza el seguimiento de todos los componentes de la aplicacin.
Incluye el formulario, los objetos sobre el formulario y el cdigo
que se ejecuta cuando ocurre un evento en el formulario.
Contiene procedimientos Sub y Function que pueden ser
invocados por cualquier formulario u objeto sobre el formulario.
(opcional).
Controles adicionales a los controles estndar proporcionados por
Microsoft u otras empresas. (opcional) como ActiveX.
Contiene la definicin de clase, mtodos y propiedades de un
nuevo tipo de objeto (opcional).
Contiene informacin binaria usada por la aplicacin. Son usados
generalmente cuando se crean programas para mltiples lenguajes.

2.2.6.4. Pasos para crear una aplicacin


El proceso de creacin de una aplicacin Visual Basic puede descomponer en una
serie de seis pasos:
1. Crear la interfaz de usuario

52

Se crea una interfaz dibujando controles y objetos sobre un formulario. Se debe


asignar nombres a los objetos para hacer ms sencillo el cdigo.
2. Establecer las propiedades de los objetos de la interfaz
Luego de aadir objetos al formulario, se establecen las propiedades de los
objetos. Pueden establecerse valores iniciales ya sea usando la ventana de
propiedades en tiempo de diseo o escribiendo cdigo para modificar las propiedades
en tiempo de ejecucin.
3. Escribir cdigo para los procedimientos, eventos o funciones
Luego de establecer las propiedades iniciales para el formulario y cada objeto, se
aade el cdigo que se ejecutar en respuesta a los eventos y/o funciones. El cdigo
debe incluir las libreras DLL requeridas por los controles ActiveX.
4. Guardar el proyecto
Al guardar un proyecto se guardan cada formulario y mdulo de cdigo en el
proyecto.
5. Probar y depurar la aplicacin
Conforme se aade el cdigo al proyecto, se puede usar el comando Iniciar en la
Barra de Herramientas para ejecutar su aplicacin y ver su comportamiento.

53

Pueden usarse las herramientas de depuracin para verificar errores y modificar el


cdigo.
6. Crear un archivo ejecutable o control personalizado
Al completar el proyecto, se puede tanto crear un archivo ejecutable usando el
comando Generar.exe o un control como Generar.ocx.
2.3. BASES LEGALES
Las normas para la elaboracin y estructura del trabajo especial de grado estn
definidas en el Manual de Normas y Procedimientos para la realizacin del Trabajo
Especial de Grado de Pregrado, de la Universidad Nacional Experimental
Politcnica de la Fuerza Armada Nacional (26 de mayo de 2000).
Al mismo tiempo la Constitucin de la Repblica Bolivariana de Venezuela de
1.999 en su captulo VI sobre los Derechos Culturales y Educativos establece
reconocimiento y proteccin por parte del Estado, de la propiedad intelectual sobre
invenciones e innovaciones tecnolgicas. La Ley sobre el Derecho de Autor con
fecha 14 de agosto de 1.993 tambin establece proteccin para este tipo de trabajo
referente a la reproduccin no autorizada y distribucin total o parcial con acciones
penales para quienes infrinjan los artculos correspondientes. De igual manera los
derechos de autor estn amparados segn lo dispuesto en el Ttulo II de la Ley
Orgnica de Ciencia, Tecnologa e Informacin vigente a partir del 3 de agosto de
2005.

54

El diseo del circuito impreso para la tarjeta electrnica se rige bajo normas IPC2221 A Generic Standard on Printed Board Design, IPC-6012B Qualification and
Performance Specification, IEEE 200-1975 IEEE Standard Reference Designations
for Electrical and Electronics Parts and Equipments e IEEE 1100-1999 IEEE
Recommended Practice for Powering and Grounding Electronic Equipment.

55

CAPTULO III

MARCO METODOLGICO

En el presente captulo se detallan los mtodos, tcnicas y procedimientos


empleados para determinar requerimientos, la lgica de la programacin para el
desarrollo de los programas, implementacin y validaciones.
3.1. Tcnica para fijar requerimientos: Entrevista no estructurada (no
formalizada)
Esta tcnica se utiliz para fijar los requerimientos segn la empresa Roso Electric
Supply a travs de la asesora con el Ing. Jos Rodrguez, quien posee fuertes
conocimientos de electrnica en las reas digitales y de programacin as como de
instrumentacin virtual, 1-Wire y ActiveX.
3.2. Mtodos y Tcnicas para establecer la lgica de la programacin

3.2.1. Tcnica de Diagrama de Bloque

56

El Diccionario de La Real Academia Espaola (2005) seala que un diagrama


es un dibujo en el que se muestran las relaciones entre las diferentes partes de un
conjunto o sistema.
Para hacer un bosquejo del sistema se elabor un diagrama utilizando bloques
que permitiesen la fcil comprensin de los elementos del mismo.

3.2.2. Algoritmo

De acuerdo con G. Brassard y P. Bratley (1997), un algoritmo es un mtodo para


resolver un problema a travs de una secuencia de pasos lgicos que llevar a cumplir
un objetivo o solucin teniendo en cuenta que debe ser definido, finito y eficiente.
Para solucionar computacionalmente un problema se debe:

Seleccionar un modelo adecuado para el problema (representacin del


modelo).

Concebir con respecto a dicho modelo un algoritmo que d solucin al


problema (diseo del algoritmo).

Programar el algoritmo en algn lenguaje de programacin y ejecutar el


programa en una computadora (programacin del algoritmo).

Estructura Bsica: inicio, constantes (datos inalterables), variables (datos


alterables), ingresar datos (datos ingresados por el usuario que se guardarn en las
variables), proceso de operaciones (ejecucin de algoritmo sobre las variables y
constantes), mostrar resultados (resultados de la operacin algortmica) y fin.

57

Este mtodo represent la base fundamental sobre la cual se elaborara el cdigo


fuente posteriormente en concordancia con los diagramas de flujo.

3.2.3. Diagramas de flujo como Tcnica de Diseo de Algoritmo

El diagrama de flujo es una representacin grfica para la definicin, el anlisis, o


la solucin de un problema. CEO (2006). El diagrama de flujo constituy la tcnica
para disear el algoritmo ya que permiti recrear el cdigo fuente en completa
analoga con los pasos que se indican en la hoja de datos de los integrados, al
momento de programarlos, para un total de 17 (funciones de memoria y ROM).

Estos diagramas estn sometidos a una estandarizacin de sus smbolos segn la


Norma ISO 5807, donde los smbolos ms comunes son:

Flecha. Indica el sentido y trayectoria del proceso de informacin o tarea.

Rectngulo. Se usa para representar un proceso determinado.

Rombo. Se utiliza para representar una condicin, por lo que a su salida, el proceso
tendr dos caminos posibles.

Crculo. Representa un punto de conexin entre procesos. Se utiliza cuando es


necesario dividir un diagrama de flujo en varias partes, por ejemplo por razones de
espacio o simplicidad. Una referencia debe de darse dentro para distinguirlo de otros.

58

Existen adems una variedad de formas especiales para denotar las entradas, las
salidas, los almacenamientos, etc. En los diagramas de flujo se presuponen los
siguientes aspectos:

Existe siempre un camino que permite llegar a una solucin

Existe un nico inicio del proceso

Existe un nico punto de fin para el proceso de flujo, salvo del rombo que
indica una comparacin con dos caminos posibles.

3.3. Procedimiento y Tcnicas para implementar la propuesta (elaboracin)

3.3.1. Programacin modular

Tal como seal Niklaus Wirth (1976), un programa est formado por algoritmos
y estructura de datos. Ahora bien, una vez que se obtuvo el algoritmo y el diagrama
de flujo, el cual indica cmo deben ejecutarse las funciones en el lenguaje de
programacin, se procedi a elaborar los controles ActiveX. La tcnica de
programacin modular permiti subdividir en partes menores (mdulos) los
programas en Visual Basic, de modo que la complejidad algortmica de cada una de
las partes fuese menor que la de los programas completos, lo cual ayud al desarrollo
de los mismos.

59

3.3.2. Procedimiento de Lectura y Escritura de Dispositivos 1-Wire

Este procedimiento est establecido por la empresa fabricante de los dispositivos


1-Wire: Dallas-Maxim y puede referirse al mismo en el captulo II, punto 2.2.2.2:
Protocolo de Comunicaciones 1-Wire. Se utiliz para programar a los integrados.

3.3.3. Entrevista no estructurada (no formalizada)

Se recurri a esta tcnica para recibir asesora del tutor en orden de solventar
cualquier interrogante en cuanto a programacin en Visual Basic, 1-Wire y
controles ActiveX.

3.4. Herramientas para realizar las validaciones y la aplicacin final

3.4.1

Express PCB versin 6 como herramienta informtica para el diseo de


las pistas y distribucin de componentes, de la tarjeta electrnica

Este software se utiliz para realizar el trazado de las pistas y disposicin de los
DS18B20 y DS2450 as como enviar este archivo a la empresa fabricante de esta
herramienta en Estados Unidos para su construccin en baquelita.

3.4.2

Comparacin de valores obtenidos y referenciales

Es un procedimiento establecido por la empresa basado en suministrar voltaje o


corriente de entrada conocido(a) y compararlo con el que proporcion el control

60

ActiveX para as validar el desempeo de los mismos. Esta tcnica se emple al


momento de validar los ActiveX permitiendo obtener un registro y anlisis de los
resultados que se iban obteniendo.

3.4.3. Programacin Orientada a Objetos (POO)

La POO tiene su origen en Simula 67, un lenguaje diseado para hacer


simulaciones, creado por Ole-Johan Dahl y Kristen Nygaard y permiti que una vez
obtenidos los controles ActiveX, se validaran los mismos a travs de la insercin de
los ActiveX como objetos en Visual Basic y se elaborase la aplicacin final en
Excel.

61

CAPITULO IV

DISEO DE CONTROLES ACTIVEX Y BUSCADOR DE DISPOSITIVOS

En este captulo se presenta el diseo bsico del sistema hardware-software, la


evaluacin tcnica y econmica y se describen detalladamente los procedimientos,
lineamientos y tcnicas para la implementacin de los controles ActiveX de los
dispositivos 1-Wire buscando satisfacer los requerimientos establecidos por la
empresa en cuanto a los mismos adems de los de la instrumentacin virtual y
comunicacin 1-Wire. Por ltimo, se describe el diseo del buscador de integrados.
4.1

REQUERIMIENTOS

DE

LOS

CONTROLES

ACTIVEX,

INSTRUMENTACIN VIRTUAL Y COMUNICACIN 1-WIRE.


4.1.1 Requerimientos de los Controles ActiveX
La empresa ROSO Electric Supply C.A. es el nico distribuidor de soluciones
autorizado por la empresa Dallas-Maxim en el pas y ha estado trabajando con la
tecnologa 1-Wire por ms de 6 aos, y su deseo por avanzar ms en cuanto a
desarrollo de aplicaciones con el uso de esta tecnologa, le permite establecer los
siguientes requerimientos para el diseo de los controles ActiveX:

62

Se deben crear los controles para la operacin del termmetro, convertidor


analgico-digital, switche y potencimetro digital con tecnologa 1-Wire por
medio del computador para implementar instrumentacin virtual.

Se deben implementar en los controles la mayor cantidad de funciones o


comandos de memoria que posea el dispositivo 1-Wire para el cual se est
diseando el control.

El uso de los controles debe resultar de fcil manejo por parte del usuario final
de manera de configurar parmetros propios de los integrados.

Los controles deben poseer capacidad de buscar tanto manual como


automticamente el puerto de comunicacin donde est conectada la red
1-Wire.

Los controles deben tener la capacidad de trabajar hasta con tres dispositivos
1-Wire de la misma familia conectados en el puerto de comunicacin.

El usuario del control podr escribir el serial del dispositivo 1-Wire


directamente en el control ActiveX de manera de realizar la comunicacin, si
no es as, deber realizarse fuera del control, un procedimiento para la
bsqueda y almacenamiento de los seriales de los dispositivos que estn
conectados.

El usuario deber tener la opcin de modificar en tiempo de ejecucin las


propiedades del control ActiveX que influyan directamente en la operacin
del dispositivo 1-Wire que est operando con el control.

Los controles ActiveX deben ser compatibles con los controles adquiridos por

63

la empresa creados por el fabricante Iocomp Software Inc. para la realizacin


de las pruebas y programa final (simulacin).

Debe elaborarse una tarjeta electrnica, cuyos requerimientos estn


establecidos en el captulo V.

Debe implementarse para todos los controles ActiveX el control de


redundancia cclica (CRC) para el chequeo y deteccin de fallas en la
transferencia de datos.

Todos los controles ActiveX deben poseer 2 variables de errores; una


identificar los errores propios del dispositivo 1-Wire (como por ejemplo
resolucin fuera de rango, error de CRC, valor de resolucin incorrecto, etc.),
la otra variable identificar los errores propios de la red o la comunicacin
1-Wire (como por ejemplo puerto no disponible, nmero de puerto de
comunicacin incorrecto, no hubo presencia de algn dispositivo en la red,
etc.).

A cada control ActiveX se le debe establecer validaciones que permitan el


correcto funcionamiento y operacin a fin de que el control no procese
variables ilgicas o incorrectas introducidas por el usuario.
4.1.2 Requerimientos para la Instrumentacin Virtual

En cuanto a los requerimientos de la instrumentacin virtual, en este caso basada


en los controles ActiveX, deber brindarle al usuario la propiedad fundamental de
sta que es la flexibilidad en orden de configurar y/o accionar sobre los integrados

64

mediante software. Por lo tanto, los controles ActiveX debern ofrecerle al usuario la
posibilidad de poder insertarlos en el entorno de programacin (especificados en
captulo VI) y manipular y configurar las propiedades de cada integrado 1-Wire a
travs de los mismos.
Para complementar la utilizacin de los controles ActiveX, la empresa ROSO
Electric Supply C.A. cuenta con la licencia de los controles ActiveX creados por el
fabricante Iocomp mediante los cuales se pueden visualizar los valores adquiridos por
los controles ActiveX de los dispositivos 1-Wire en representaciones de
instrumentos tales como termmetro de bulbo, displays de 7 segmentos, diodos led,
grfica bidimensional, interruptores, entre otros. Es por esto que los ActiveX creados
para los dispositivos 1-Wire debern ser compatibles con los ActiveX de Iocomp.
4.1.3 Requerimientos de la comunicacin 1-Wire
Para la comunicacin 1-Wire, los requerimientos establecidos por la empresa
son los siguientes:

La comunicacin ser realizada entre un maestro (computador) y los esclavos


(dispositivos 1-Wire conectados a la red).

Generar errores en caso de falla en la transferencia de datos entre el control


ActiveX y el computador.

Deber existir alguna rutina, procedimiento o funcin para identificar el


nmero de dispositivos conectados en la red, la agrupacin por familia de

65

cada uno de ellos y el almacenamiento de los seriales de al menos 3


dispositivos por cada familia.
4.2 EVALUACIN TECNOLGICA
4.2.1 Evaluacin Tcnica
La empresa Roso Electric Supply, desea ofrecer a sus clientes, productos con la
ms avanzada tecnologa, a un bajo costo, y con la mayor flexibilidad y potencial
posible. Evidentemente, el mercado electrnico, se encuentra hoy en da, circundado
de nuevas tecnologas capaces de competir entre s para satisfacer las necesidades del
usuario.

4.2.1.1 Evaluacin de los dispositivos 1-Wire establecidos

Hoy en da, existen ms de 30 dispositivos 1-Wire incluyendo los iButtons


(vase el apndice A). Navegar entre las Interfaces de Programas de Aplicacin
disponibles o API por sus siglas en ingls u otros recursos para comunicarse con los
dispositivos o encontrar la herramienta correcta para un solo tipo de dispositivo puede
requerir de un tiempo considerable.

De antemano se conoce que los dispositivos 1-Wire establecidos son: DS18B20


Termmetro digital con resolucin programable, DS2406 Switche dual direccionable,
DS2450 Convertidor A/D de cuatro canales y DS2890 Potencimetro digital de 256

66

posiciones.
Sin embargo, a continuacin se presentan tablas comparativas entre los
dispositivos 1-Wire de la misma familia, con el objeto de informar y dar a conocer
las diferentes caractersticas que pueden derivarse de cada uno.
Termmetro Digital
Los dispositivos son: DS1920, DS1820, DS18S20, DS1822, DS2438, DS18B20 y
DS2760. Se despliegan sus caractersticas en la tabla F.
Switche Digital
Los dispositivos son: DS2405, DS2406, DS2407, DS28E04-100, DS2408 y
DS2413.
Sus caractersticas se presentan en la tabla G.

67

TABLA F.
COMPARACIN DE TERMMETROS DIGITALES 1-WIRE

Dispositivo

Rango de
Temperatura C

Tiempo de
conversin
ms

Resolucin/Precisin
bits/C

DS1920

-55 a 100

200

9/0.5

DS1820

-55 a 125

750

9/ 0.5

DS18S20

Equivalente al
DS1820

Equivalente al
DS1820

Equivalente al
DS1820

DS1822

-55 a 125

750 para 12 bits

DS2438

-40 a 85

10

DS18B20

-55 a 125

750 para 12 bits

Programable de 9 a 12
bits/ 0.5

10

8/3

DS2760

127C

9 a 12/ 2

13/ 2

Caractersticas
iButton; 64 bits para
reconocimiento;
Comunicacin con bus a
16.3kbit; 2 bytes de
EEPROM.
Tipo TO-92 y SOIC 8 pines;
64 bits para reconocimiento;
puede alimentarse de la lnea
de datos; 1 pin para datos;
alarma de temperatura.
Equivalente al DS1820
Tipo TO-92 y SO 8 pines; 64
bits para reconocimiento;
puede alimentarse de la lnea
de datos; 1 pin para datos;
alarma de temperatura.
8 pin tipo SOIC; 64 bits para
reconocimiento; 1 pin para
datos; 40 bytes de EEPROM;
puede alimentarse de la lnea
de datos.
Tipo TO-92; 64 bits para
reconocimiento; puede
alimentarse de la lnea de
datos; 1 pin para datos;
alarma de temperatura.
TSSOP; Monitor de batera;
64 bits para reconocimiento;
circuito de proteccin de Li+,
medicin de corriente,
voltaje y temperatura.

Costo $ en
www.maximic.com
6.76

2.57
2.57
Muestra gratis
1.97
Muestra gratis

2.90
Muestra gratis

2.57
Muestra gratis

3.17
Muestra gratis

68

TABLA G.
COMPARACIN DE SWITCHES DIGITALES 1-WIRE
Dispositivo

Rango de
voltaje de
operacin
V

Tiempo de
lectura en
slot
s

Rango de
Temperatura
C

Costo $ en
www.maximic.com

DS2405

2.8 a 6

120

-40 a 85

1.53
Muestra gratis

DS2406

2.8 a 6

120

-40 a 85

4.27
Muestra gratis

DS2407

Obsoleto

Obsoleto

Obsoleto

Obsoleto

DS28E04100

2.8 a 5.25

65
(estndar)

-40 a 85

3.82
Muestra gratis

DS2413

2.8 a 5.25

65
(estndar)

0 a 70

1.92
Muestra gratis

Caractersticas
Tipo TO-92, SOT-223
y TSOC 6 pines; 64
bits para
reconocimiento;
velocidad 16.3kbits/s;
nivel lgico de
colector abierto
determinable.
Tipo TO-92 y TSOC 6
pines; 2 canales;
estado de memoria
programable; 1kbit de
memoria; 64 bits para
reconocimiento;
velocidad 16.3kbits/s;
alimentacin del bus.
Obsoleto
Tipo SO 16 pines;
EEPROM con pin de
colector abierto; 64
bits para
reconocimiento;
velocidad 15kbits/s.
Tipo TSOC 6 pines;
64 bits para
reconocimiento; pines
I/O programables;
histresis y filtrado.

Convertidor A/D

Los dispositivos son: DS2450, DS2438 y DS2760 y se muestran en la tabla H.

69

TABLA H.
COMPARACIN DE CONVERTIDORES A/D DIGITALES 1-WIRE
Dispositivo

Tiempo de
conversin
ms

Resolucin/Error
bits/LSB

DS2450

1 a 16/ 1/2

DS2438

10/ 2

DS2760

88

12/ 1

Caractersticas
8 pines tipo SOIC; rango de voltaje
programable 2.56V a 5.12V; 4
canales; 64 bits de reconocimiento;
2 banderas de alarma para cada
canal indican si el voltaje es muy
alto o muy bajo sin necesidad del
bus.
8 pin tipo SOIC; 64 bits para
reconocimiento; 1 pin para datos;
40 bytes de EEPROM; puede
alimentarse de la lnea de datos.
Tipo TSSOP 16 pines Flip-Chip;
Monitor de batera; 64 bits para
reconocimiento; circuito de
proteccin de Li+, medicin de
corriente, voltaje y temperatura; 32
bytes de EEPROM.

Costo $ en
www.maximic.com

5.98
Muestra gratis

2.90
Muestra gratis

3.17
Muestra gratis

Potencimetro Digital
El nico disponible es el DS2890 y sus propiedades se indican en la tabla I.
TABLA I.
CARACTERSTICAS DEL POTENCIMETRO DIGITAL 1-WIRE DS2890

Dispositivo

DS2890

Resistencia

100k

Mximo
voltaje
en
terminal
V

11

Rango de
Temperatura
C

Caractersticas

Costo $
www.maximic.com

-40 a 85

Tipo TSOC 6 pines y TO92; 256 posiciones; error


absoluto 0.6LSB; voltaje
de operacin 2.8V a 6V;
Terminal de voltaje
independiente del de
alimentacin.

3.18
Muestra
gratis

70

4.2.1.2 Evaluacin de la Herramienta de Desarrollo

Entre los entornos de programacin ms conocidos para el desarrollo de controles


ActiveX estn Visual Basic, Delphi, C# y CBuilder y el establecido por la empresa es
Visual Basic. Adems de ello, el entorno de Visual Basic cumple con los
requerimientos para desarrollar los controles ActiveX y es orientado a objetos lo que
facilita el fin didctico inmediato de la instrumentacin virtual en el proyecto.

Asimismo, Visual Basic posee un asistente de creacin de Controles ActiveX y se


dispone de suficiente documentacin para apoyar la programacin. Debido a que,
como las aplicaciones de Microsoft Office son aplicaciones ActiveX conformadas
una serie de objetos, estos son accesibles desde otras aplicaciones para poder ser
utilizados. Desde Microsoft Excel se puede hacer referencia a Visual Basic (o
cualquier otro componente de Office con editor de VB) y utilizar sus objetos e
inclusive crear ficheros, funciones, grficos, etc.
4.2.2 Estudio Econmico
De la seccin 4.2.1.2, se deriva que los dispositivos 1-Wire no representan
ningn costo econmico pues se obtienen como muestra gratis. De la misma manera,
el Paquete de Controladores 1-Wire TMEX API es totalmente gratis. Se cuenta con
licencia original de Windows Vista. Para informacin de la administracin de
recursos final segn las fases vase la siguiente tabla:

71

TABLA J. ADMINISTRACIN DE RECURSOS FINAL SEGN LAS FASES

FASES
Humanos
1

Integrantes

Integrantes/Asesora

Integrantes

Integrantes

Integrantes/Asesora

Integrantes/Asesora

Integrantes

Integrantes

Integrantes

RECURSOS
Materiales
Libros, Computador con
acceso a Internet, fuentes
de informacin.
Informacin obtenida en
fase 1.
Informacin obtenida en
fase 1 y fase 2.
Hoja de datos de los
dispositivos, informacin
obtenida en fase 1, 2 y 3.
Computador con Sistema
Operativo Windows 32
bits, Dispositivos 1-Wire
y su hoja de datos, Visual
Basic 6.0, Paquete de
controladores 1-Wire
Establecidos en el captulo
V
Dispositivos 1-Wire,
tarjeta DM-AIO4 y DMIO2-06, Visual Basic 6.0,
convertidor serial a 1Wire, congelador
electrnico instantneo,
encendedor, adaptador
110AC-12V.
Dispositivos 1-Wire,
tarjeta DM-AIO4, entorno
de programacin,
convertidor serial a 1Wire, adaptador 110AC12V, elementos de prueba:
ventilador 110 AC, Buzzer
5V y bombillo 60W.
Informacin recopilada en
todas las fases

Seguidamente se presenta el estudio econmico:

Herramientas
-

Establecidas en el captulo
V
Tablero de prueba,
Multmetro, cautn, estao,
extractor de soldadura,
pasta para soldar,
Calibrador,
destornilladores, cables,
pinzas (materiales ya
disponibles)
Tablero de prueba,
Multmetro,
destornilladores, cables,
pinzas (materiales ya
disponibles)
-

72

TABLA J-1. ESTUDIO ECONMICO

tem

Cantidad

Precio ($) 1

Licencia Iocomp Plot Pack Version 2.0 2


Licencia Iocomp Professional Pack
Version 2.0 2
Licencia Visual Basic 2
Convertidor USB a 1-Wire
Horas de trabajo 3
Cartuchos de impresin HP 21 y 22
Resma de papel Base 20 500 hojas
Miscelneos (cables, transporte, comida,
Internet, otros gastos)

595

Precio
(Bs.)
1.279.250

895

1.924.250

1
1
700
4 (3 y 1)
3

23,98
-

400.000
51.548
2.241.422
205.000
36.000

280.000

Total

6.417.470

No son necesarias las licencias Iocomp para el desarrollo de los controles ActiveX
pero s lo son para la realizacin de pruebas y validaciones, acorde con lo
especificado en los requerimientos, por lo que un programador que desee elaborarlos,
puede disponer de otros medios de validaciones a su juicio.
En este orden de ideas, el costo de las horas de trabajo tambin depende del
programador(es). La evaluacin de costos a terceros quedara como la presentada en
la tabla J-2:

Precio Dlar oficial Bs.2150 publicado en gaceta oficial 38138 vigente a partir del 03/03/2005.
Adquirido por la empresa.
3
Sueldo mnimo Bs. 512.325 publicado en gaceta oficial 38371 vigente a partir del 01/09/2006. Horas
de trabajo semanales oficial: 40 publicado en gaceta oficial 38377 vigente a partir del 01/02/2006.
2

73

TABLA J-2. EVALUACIN DE COSTOS PARA TERCEROS


Precio
(Bs.)

tem

Cantidad

Precio ($)

Licencia Visual Basic

Cartuchos de impresin
Resma de papel Base 20, 500
hojas
Miscelneos (cables, transporte,
comida, otros gastos)

Nueva: 799 (si es una


actualizacin: 549$)
-

36.000

200.000

Total

2.158.850

1.717.850
205.000

Nota: Si se desea comprar las licencias Iocomp, el fabricante hace un descuento del 75% de su
costo de cualquier paquete de controles ActiveX si los fines son exclusivamente educativos y no
comerciales.

4.3 DISEO BSICO DEL SISTEMA HARDWARE-SOFTWARE


Segn se seal en la fase tres, se mantuvieron asesoras con la empresa para
establecer los requerimientos del trabajo y obtener informacin terica. Una vez
listados estos requerimientos, se unieron los elementos de hardware y software en un
diagrama (figura 10) siguiendo la metodologa descrita en dicho captulo.
Los ActiveX permitirn realizar la comunicacin con los dispositivos 1-Wire a
travs del uso de las funciones TMEX que se encuentran definidas en las bibliotecas
de Vnculo Dinmico (DLLs) creadas por Dallas Semiconductor para el manejo de
los iButtons o cualquier dispositivo 1-Wire.
Con las funciones TMEX ser posible la comunicacin con los dispositivos
mediante la inclusin de ellas en el cdigo del control ActiveX elaborado en Visual

74

Basic. Estas bibliotecas de vnculo dinmico (DLLs) estn disponibles en la pgina


oficial de Dallas Semiconductor.
Los controles ActiveX sern desarrollados en Visual Basic y el resultado ser un
instrumento virtual como objeto el cual tendr propiedades, eventos y funciones. Los
ActiveX podrn ser usados mediante un computador, en aplicaciones realizadas por el
usuario en Visual Basic o Microsoft Excel por ejemplo, y la comunicacin entre el
computador y la red de dispositivos 1-Wire se llevar a cabo mediante el uso del
convertidor USB a 1-Wire. Debido a la ausencia de puertos seriales en las nuevas
computadoras personales, es necesario agregar un convertidor USB a serial.
Las validaciones individuales de cada control ActiveX se realizarn en Visual
Basic y se elaborar la tarjeta DM-AIO4 para las validaciones del DS18B20 y
DS2450. Para la validacin del DS2406 se emplear la tarjeta DM-IO2-06 de la
empresa. El programa de aplicacin final ser realizado en Microsoft Excel
insertando los cuatro controles ActiveX desarrollados.
En la red 1-Wire podrn conectarse 1 ms dispositivos para lograr la
comunicacin con stos, en este caso se debe realizar un control ActiveX para cada
uno de los cuatro dispositivos. El usuario dispondr de varias opciones para manejar
la comunicacin, como por ejemplo, la bsqueda automtica del puerto serial, la
bsqueda automtica del serial cuando existe un solo dispositivo conectado, entre
otras.

75

Propiedades, Eventos y Funciones. Uso de Iocomp


Windows Vista
CONVERTIDOR USB A 1-WIRE

Visual Basic

Convertidor
USB a Serial

ActiveX

Convertidor
Serial 1-Wire

TMEX
Pruebas con DM-AIO4
DS18B20

Instrumento
Virtual

FIGURA 10. MODELO BSICO DEL SISTEMA.

DS2450

Pruebas con
DM-IO2-06

1-WIRE

DS2406

DS2890

Usuario
Aplicaciones

76

4.4 GENERALIDADES SOBRE EL DISEO DE LOS CONTROLES


ACTIVEX
Los controles ActiveX de los dispositivos 1-Wire fueron creados bajo
Windows Vista mediante el tipo de proyecto Control ActiveX que se incluye en
Visual Basic 6, seleccionado de la ventana Nuevo Proyecto que aparece al inicio de
este software de programacin, tal como se muestra en la siguiente figura:

FIGURA 10-1. SELECCIN DEL TIPO DE PROYECTO EN LA VENTANA INICIAL DE VB.

Una vez seleccionado el tipo de proyecto, se visualiza el entorno de programacin


de Visual Basic. Este entorno de trabajo consta de un formulario sin bordes y sin
botones de maximizar, minimizar o cerrar. En este formulario se agregarn los
objetos que constituirn el control ActiveX a ser creado. Tambin sern los objetos

77

que el usuario visualizar cuando el control sea colocado en el formulario de diseo


del proyecto que est creando.
Para todos los controles ActiveX en este formulario se agreg un cuadro de
imagen que identifica al tipo de dispositivo 1-Wire al que corresponde el ActiveX
(DS18B20, DS2406, DS2450 o DS2890). La ventana de propiedades ubicada del lado
derecho en el entorno de trabajo, permite asignarle propiedades al objeto o al control
que se encuentre seleccionado. Si se selecciona el formulario, se estar seleccionando
el control ActiveX. Se pueden asignar propiedades como: Nombre, Estilo de Fondo,
Estilo de Borde, Fuente, entre otras. Existe una propiedad llamada InvisibleAtRuntime
que permite hacer invisible al control en tiempo de ejecucin. As es como
normalmente se comportan los controles ActiveX incluidos dentro de Visual Basic
como el Microsoft Comm Control, VB 6 MSChart, etc., o controles adquiridos
comercialmente destinados a realizar alguna operacin especifica como por ejemplo
el SLIK-DA creado por Northern Dynamics.
Para todos los controles, el cdigo est estructurado en las siguientes partes:

Declaracin de las funciones TMEX

Declaracin de las variables globales

Declaracin de las constantes y valores iniciales de las variables

Declaracin de las variables y especificacin del tipo de variable

Escritura de las funciones y procedimientos especficos para cada


dispositivo

78

Al inicio del cdigo fuente del control ActiveX creado se declararon las funciones
TMEX. Las funciones utilizadas para la creacin de los ActiveX fueron las
siguientes:

De la Capa de Sesin:
- TMExtendedStartSession
- TMStartSession
- TMValidSession
- TMEndSession

De la Capa de Red:
- TMFirst
- TMNext
- TMAccess
- TMRom
- TMSearch

De la Capa de Enlace:
- TMSetup
- TMTouchByte
- TMTouchReset
- TMOneWireLevel

Para la creacin de las propiedades y de los tipos de variables que manejan dichas
propiedades, se hizo uso del Asistente para la Interfaz de controles ActiveX de VB 6
incluido dentro de los complementos del software, como se muestra en la siguiente
figura:

79

FIGURA 11. ADMINISTRADOR DE COMPONENTES DE VISUAL BASIC.

Una vez cargado este complemento se pueden crear las propiedades y asignarles el
tipo de variable que manejarn (Boolean, Byte, Integer, String, Variant, etc) y el valor
inicial de dicha propiedad, como se muestra en la siguiente figura:

FIGURA 12. ESTABLECIMIENTO DE ATRIBUTOS.

80

Al finalizar este asistente para la creacin de las propiedades del control ActiveX,
se genera el cdigo fuente correspondiente a los valores iniciales de las propiedades,
el tipo de variable de la propiedad, y segmentos de cdigo donde se generan las
propiedades Get y Let de las variables creadas. El segmento de cdigo Let se ejecuta
cuando el usuario trata de fijar el valor de la propiedad determinada y el segmento
Get se ejecuta cuando alguien trata de recuperar el valor de la propiedad.
4.5 GENERALIDADES SOBRE LOS PROCEDIMIENTOS Y FUNCIONES
DE LOS ACTIVEX DE CADA DISPOSITIVO 1-WIRE
La programacin de las funciones y procedimientos de los ActiveX para cada uno
de los dispositivos 1-Wire seleccionados se realiz segn lo establecido en la hoja
de datos de los mismos, reflejado igualmente en los diagramas de flujo. Esto es
debido a que, por ejemplo, para leer la temperatura del DS18B20 es necesario seguir
ciertos pasos para llevar a cabo de manera satisfactoria este procedimiento y obtener
finalmente el valor de temperatura. Igual sucede con los dems dispositivos como
abrir o cerrar los canales del DS2406, leer el voltaje de los canales de entrada del
DS2450 o mover el cursor del potencimetro DS2890.
La transmisin y recepcin de los bytes de datos se llevan a cabo mediante las
funciones de interfaz de programacin de aplicacin TMEX. Estas funciones fueron
desarrolladas por Dallas-Maxim para lograr la comunicacin de los iButtons y otros
dispositivos 1-Wire conectados en una red 1-Wire. Esta red debe estar conectada
a una computadora mediante un adaptador compatible.

81

Todas las sesiones de comunicacin entre el maestro y el esclavo comienzan con


una secuencia de inicializacin como la que se muestra a continuacin:

FIGURA 13. SECUENCIA DE INICIALIZACIN DE LA COMUNICACIN 1-WIRE.

El maestro transmite un pulso de reset con la funcin TMEX TMTouchReset y


debe recibir el pulso de presencia enviado por el dispositivo 1-Wire conectado a la
red, si lo hubiese. Posteriormente el maestro transmite un comando de ROM. Este
comando de ROM tiene que ver con la identificacin del dispositivo o serial, el cual
es un nmero de 64 bits nico para cada uno de ellos. Este comando de ROM
establece con cul de los dispositivos conectados en la red se desea iniciar una sesin
de comunicacin. Para este proyecto, el comando de ROM implementado en los
ActiveX es el de Coincidir ROM en el cual el maestro enva el byte 55h seguido del
serial del dispositivo con el que se desea comunicar. A continuacin se muestra el
diagrama de flujo correspondiente a este comando de ROM:

82

FIGURA 14. DIAGRAMA DE FLUJO PARA EL COMANDO COINCIDIR ROM.

Una vez realizado esto, el dispositivo cuyo serial sea el enviado por el maestro,
estar atento a cualquier comando de memoria recibido, mientras que los dems

83

dispositivos conectados en la red no harn caso al mismo ya que no se realiz la


comunicacin con ninguno de ellos.
4.6 DISEO DEL CONTROL ACTIVEX PARA EL DS18B20
Una vez seleccionado el tipo de proyecto, se agreg una imagen en el formulario
de control de usuario de dimensiones (Ancho x Alto) de 39 x 38 pxeles la cual
identifica al DS18B20. Esta imagen es la mostrada a continuacin:

Imagen Ampliada

Tamao Real

Dentro del cdigo fuente del ActiveX se escribi un segmento de cdigo que
impide que el usuario pueda modificar el tamao de la imagen anteriormente
mostrada, esto con el fin de seguir las mismas condiciones de la mayora de los
controles ActiveX conocidos los cuales se comportan de esa manera una vez
insertados en el formulario de diseo.
El DS18B20 se presenta en dos tipos de encapsulado: TO-92 o SOIC y es un
termmetro digital provisto de resolucin programable desde 9 hasta 12 bits. La
descripcin de los pines de este dispositivo se muestra en la Figura 15.

84

FIGURA 15. PINES DEL DS18B20. Fuente: Hoja de Datos DS18B20

4.6.1 Memoria del DS18B20


La memoria del DS18B20 est organizada como se muestra en la Figura 16.
Consiste en una memoria de apuntes (del ingls Scratchpad) SRAM con
almacenamiento no voltil en una memoria EEPROM para los registros de Alarma
Alta (TH), Alarma Baja (TL) y el Registro de Configuracin. Si los registros de
alarma alta y baja no se usan, stos pueden servir como memoria de propsito
general.

FIGURA 16. ORGANIZACIN DE LA MEMORIA DEL DS18B20.


Fuente: Hoja de Datos del DS18B20.

85

Los bytes 0 y 1 de la scratchpad contienen la parte baja y alta respectivamente del


registro de temperatura. Estos bytes son de slo lectura. Los bytes 2 y 3 corresponden
a los registros de alarmas alta y baja. El byte 4 contiene los datos del registro de
configuracin. Los bytes 5, 6 y 7 estn reservados para uso interno por el dispositivo
y no puede ser sobre escritos; estos bytes retornarn 1s si son ledos. El byte 8 de la
scratchpad es de slo lectura y contiene el control de redundancia cclica (CRC) para
los bytes 0 hasta el 7 de la scratchpad. Los datos son escritos en los bytes 2, 3 y 4
usando el comando de memoria Escribir Scratchpad (4Eh).
4.6.2 Registro de Configuracin del DS18B20
El byte 4 de la scratchpad es el Registro de Configuracin, el cual est organizado
como se ilustra en la Tabla K. El usuario puede fijar el valor de la resolucin del
DS18B20 usando los bits R1 y R0 de este registro como se muestra en la Tabla L.
TABLA K. BYTE DEL REGISTRO DE CONFIGURACIN DEL DS18B20.
Fuente: Hoja de Datos del DS18B20.
BIT 7
0

BIT 6
R1

BIT 5
R0

BIT 4
1

BIT 3
1

BIT 2
1

BIT 1
1

BIT 0
1

TABLA L. CONFIGURACIN DE LA RESOLUCIN DEL DS18B20.


Fuente: Hoja de Datos del DS18B20.
R1
0
0
1
1

R0
0
1
0
1

RESOLUCIN
9 bits
10 bits
11 bits
12 bits

MX. TIEMPO DE CONV.


93.75 ms
(Tconv/8)
187.5 ms
(Tconv/4)
375 ms
(Tconv/2)
750 ms
(Tconv)

Los valores por defecto al energizar el dispositivo son R1=1 y R0=1 (resolucin de
12 bits). El bit 7 y los bits b0-b4 del registro de configuracin estn reservados para
uso interno del dispositivo.

86

Para la escritura de las funciones y procedimientos propios del DS18B20 se


siguieron los pasos que establece el fabricante para llevar a cabo satisfactoriamente
las operaciones. Estos pasos se ilustran en el diagrama de flujo de las operaciones de
memoria del DS18B20.
El diagrama de flujo de la figura 17 expresa en forma resumida el cdigo
generado para las operaciones de memoria del DS18B20, traducido al espaol por los
autores directamente de la hoja de datos.
Como se explic a principios del presente captulo, para iniciar la comunicacin
con un dispositivo 1-Wire, el maestro enva un pulso de reset, recibe el pulso de
presencia, y una vez transmitido el comando de ROM y haber hecho conexin con el
dispositivo, luego se debe enviar un comando de memoria. Los comandos con que
cuenta el DS18B20 son los mostrados en el diagrama: 44h (Convertir Temperatura),
48h (Copiar en memoria Scratchpad), B4h (Leer o Sensar Alimentacin), B8h (Recall
E 2 ), BEh (Leer memoria Scratchpad) y 4Eh (Escribir en memoria Scratchpad)

87

FIGURA 17. DIAGRAMA DE FLUJO DE LAS FUNCIONES DE MEMORIA DEL DS18B20.


Fuente: Hoja de Datos del DS18B20.

Convertir Temperatura (44h): Este comando inicia una conversin de


temperatura simple. Luego de la conversin, el resultado digital es

88

almacenado en el registro de temperatura de 2 bytes en la memoria scratchpad


y posteriormente el dispositivo regresa a su estado de baja potencia. Si el
dispositivo est siendo usado con alimentacin parsita dentro de los
prximos 10 s (mx.) despus de que este comando se ejecute el maestro
debe habilitar el Strong Pull-up en la lnea de datos para la duracin de la
conversin, tal como se describe en la seccin de Alimentacin del DS18B20
de la hoja de datos del fabricante. Si el dispositivo est siendo alimentado de
una fuente externa el maestro debe generar ventanas de tiempo luego de
ejecutar este comando para permitir que el DS18B20 transmita 0 mientras se
realiza la conversin de temperatura, 1 cuando la conversin ya haya sido
realizada. En modo parsito esta tcnica de notificacin no puede ser utilizada
debido a que la lnea de datos es llevada a 5V debido al Strong Pull-up
durante la conversin.

Copiar Scratchpad (48h): Este comando copia el contenido de los registros


TH, TL, y Configuracin de la memoria scratchpad (bytes 2, 3 y 4
respectivamente) en la memoria EEPROM. Si el dispositivo se usa en modo
parsito dentro de los prximos 10 s (mx.) despus de que este comando se
ejecute el maestro debe habilitar el Strong Pull-up en la lnea de datos por al
menos 10 ms para permitir que el dispositivo tenga la energa necesaria para
realizar la grabacin de los datos en la memoria EEPROM. Al igual que el
comando Convertir Temperatura el maestro recibir 0 si la copia est en
progreso 1 cuando ya haya sido realizada.

89

Leer Alimentacin (B4h): El maestro ejecuta este comando seguido de una


ventana de tiempo de lectura para determinar si el DS18B20 est siendo usado
en modo parsito. Durante la ventana de tiempo de lectura, el DS18B20 bajar
la lnea de datos a 0V si se encuentra en modo parsito (el maestro recibir 0s)
mientras que el DS18B20 alimentado con una fuente externa mantendr la
lnea en alto (el maestro recibir 1s).

Recall E 2 , Recordar EEPROM (B8h): Este comando recuerda los valores de


los registros de alarma (TH y TL) y configuracin desde la EEPROM y los
ubica en los bytes 2, 3 y 4 respectivamente de la memoria scratchpad. El
maestro ejecuta este comando y luego genera una ventana de lectura para que
el DS18B20 le indique el estado del recordatorio transmitiendo 0s mientras la
operacin est en progreso y 1s cuando se haya realizado. Una vez que el
comando se haya ejecutado satisfactoriamente, los datos estarn disponibles
en la memoria scratchpad.

Leer Memoria Scratchpad (BEh): Este comando le permite al maestro leer el


contenido de la memoria scratchpad. La transferencia de datos se inicia con el
bit menos significativo del byte 0 y contina hasta que el byte 8 de la memoria
scratchpad (byte de CRC) es ledo (ver mapa de la memoria scratchpad). El
maestro puede realizar un reset para finalizar la lectura en cualquier momento
si solamente necesita leer una parte de la memoria scratchpad.

Escribir Memoria Scratchpad (4Eh): Este comando le permite al maestro


escribir 3 bytes de datos en la memoria scratchpad. El primer byte de datos es

90

escrito dentro del registro TH (byte 2 de la scratchpad), el segundo byte es


escrito dentro del registro TL (byte 3 de la scratchpad), y el tercer byte es
escrito dentro del registro de configuracin (byte 4). Los datos deben ser
transmitidos empezando por el bit menos significativo. Los 3 bytes deben ser
escritos antes que el maestro realice un Reset o los datos pueden ser
corrompidos.
Luego de haber realizado cualquiera de estas operaciones, se debe regresar a la
secuencia de inicializacin para esperar otro comando de memoria.
Para este dispositivo 1-Wire fue implementado el control de redundancia cclica
o CRC por sus siglas en ingls, el cual permite verificar los bytes enviados y los bytes
recibidos para determinar si hubo error en la transferencia de datos. El dispositivo
cuenta con 1 byte de CRC que es almacenado en la memoria y es de slo lectura. Este
valor se modifica con cada conversin de temperatura y es ledo por el maestro para
determinar si hubo error o no. Si existe error, no se contina ejecutando la operacin
y el maestro genera un error de CRC; en caso contrario, se contina realizando la
operacin.
4.6.3 Diseo del cuadro de dilogo Acerca De
Luego de haber codificado las rutinas de operacin de memoria del DS18B20 se
agreg un cuadro de dilogo Acerca De para mostrar la informacin relacionada con
el ActiveX (descripcin, autores y valores iniciales de auto bsqueda de puerto,
resolucin y descripcin del ActiveX DS18B20). Esto se logr agregando una pgina

91

de propiedades al control ActiveX y colocando esta informacin en una pestaa


llamada AcercaDe. Para agregar una pgina de propiedades, es necesario cargar el
Asistente para pgina de propiedades de VB 6 haciendo clic en Complementos en la
barra de men del entorno de programacin, como se ilustra en la siguiente figura:

FIGURA 18. UBICACIN DEL ADMINISTRADOR DE COMPLEMENTOS EN LA BARRA


DE MEN DE VISUAL BASIC.

Al hacer clic se abrir otra ventana donde se debe seleccionar dicho asistente y
cargarlo

dentro

de

los

complementos

haciendo

clic

en

la

opcin

Cargado/Descargado, como se muestra en la figura:

FIGURA 19. CARGA DEL ASISTENTE PARA PGINAS DE PROPIEDADES DE VB 6.

Luego es necesario agregar la pgina abriendo el asistente desde Complementos

92

en la barra de men donde aparecer el nombre de dicho asistente cargado en este


men, tal como se muestra en la siguiente figura:

FIGURA 20. UBICACIN DEL ASISTENTE PARA PGINAS DE PROPIEDADES EN EL


MEN COMPLEMENTOS DE VISUAL BASIC.

Se mostrar la ventana del asistente para que se agregue la pgina de propiedades.


En este caso este men de propiedades del control ActiveX slo mostrar la
informacin Acerca De. El asistente permite agregar a la pgina propiedades ya
definidas en el cdigo o propias de Visual Basic, sin embargo no fue agregada
ninguna propiedad debido a que no se puede modificar ninguna propiedad del control
ActiveX en modo de diseo excepto por la propiedad PortNum relacionada con el
nmero del puerto de comunicaciones y Serial la cual almacena el serial del
dispositivo, esto es debido a que en el cdigo de funciones y memorias del ActiveX
fue implementado un segmento de cdigo que permite ejecutar un procedimiento
apenas se modifique el valor de una de esas variables. Esto se logra llamando a estas
funciones desde el segmento de cdigo correspondiente a las propiedades Get y Let
mencionadas en las Generalidades sobre el diseo de los Controles ActiveX en el
presente captulo.
Para ilustrar esto a continuacin se muestra un ejemplo de los segmentos de
cdigo LET y GET para la propiedad Resolucion del DS18B20 encargada de

93

almacenar el valor de la resolucin:

Public Property Get Resolucion() As String


Resolucion = m_Resolucion
End Property
Public

Property

Let

Resolucion(ByVal

New_Resolucion

As

String)
m_Resolucion = New_Resolucion
Call CambiarResolucion(m_Resolucion)
PropertyChanged "Resolucion"
End Property
El segmento de cdigo LET puede tratarse como si fuese una subrutina que acepta
el nuevo valor de Resolucion el cual es New_Resolucion y ejecuta el procedimiento
CambiarResolucion con el valor de resolucin introducida por el usuario. Para la
subrutina correspondiente a GET, se enva informacin de regreso al usuario, se
ejecuta cuando se quiere leer el valor de la propiedad. La lnea de cdigo
PropertyChanged le informa al programa que est utilizando el control ActiveX, que
una de las propiedades ha sido alterada (la propiedad que se encuentra entre comillas)
y que debe asegurarse que las propiedades se actualicen con el nuevo valor.
En modo de diseo, estas subrutinas que se invocan desde los segmentos de
cdigo LET y GET, no pueden ejecutarse ya que Visual Basic genera un error. El
diseo del cuadro de dilogo Acerca De correspondiente al DS18B20 es el siguiente:

94

FIGURA 21. DISEO DEL CUADRO DE DILOGO ACERCA DE PARA EL ACTIVEX


DS18B20.

El botn agregado en este formulario permitir mostrar la informacin del sistema


donde se est utilizando el control ActiveX, como por ejemplo: sistema operativo,
versin del sistema operativo, tipo de procesador, memoria fsica total, memoria
fsica disponible, entre otras.
4.7 DISEO DEL CONTROL ACTIVEX PARA EL DS2406
De igual manera como se dise el ActiveX del DS18B20, se agreg una imagen
de dimensiones (Ancho x Alto) de 39 x 38 pxeles que identifica a este dispositivo en
el formulario de diseo. La imagen es la mostrada a continuacin:

Imagen Ampliada

Tamao Real

95

Dentro del cdigo fuente del ActiveX se escribi un segmento de cdigo que
impide que el usuario pueda modificar el tamao de la imagen anteriormente
mostrada, como se hizo igualmente con el ActiveX del DS18B20.
El DS2406 es un switche doble direccionable con memoria que ofrece una forma
de controlar remotamente un par de transistores de drenaje abierto y monitorear el
nivel lgico de la salida de cada transistor a travs de la lnea 1-Wire. La
descripcin de los pines del DS2406 se muestra en la Figura 22 a continuacin:

FIGURA 22. DESCRIPCIN DE LOS PINES DEL DS2406. Fuente: Hoja de datos del DS2406.

Para la codificacin de las rutinas de memoria del switche DS2406 se consult la


hoja de datos para seguir los pasos necesarios para la buena operacin del DS2406.
En los diagramas de flujo de las operaciones de memoria propias del DS2406
(figura 23, 24 y 25), se ilustran las acciones que ejecuta el maestro y las que ejecuta el
dispositivo.
Al igual que para todos los dispositivos 1-Wire y como caracterstica propia de
este protocolo de comunicacin, el maestro inicia la comunicacin con un pulso de
reset y recibe un pulso de presencia de los dispositivos. Luego transmite un comando

96

de ROM para comunicarse con alguno de los dispositivos cuyo serial sea enviado con
este comando. Despus de esto, el maestro puede enviar algn comando o funcin de
memoria al dispositivo. Para el caso del DS2406, los comandos de memoria estn
separados en 3 diagramas de flujo y sern descritos a continuacin.
Los diagramas de flujo de las funciones de memoria (Figura 23) describen el
protocolo necesario para acceder a los diferentes campos de datos y a los canales
dentro del DS2406.
Se enva un byte de comando para determinar el tipo de operacin y 2 bytes de
direccin para determinar la localizacin especfica del byte dentro del campo de
datos o para suministrar e intercambiar datos de configuracin y estado cuando se
accede a los canales del DS2406. Todos los bits transmitidos al DS2406 y recibidos
por el maestro son enviados con el bit menos significativo primero.
Los comandos relacionados con la escritura y lectura de la memoria EPROM de
1024 bits, no fueron agregados al ActiveX debido a que el adaptador para la
comunicacin usado no soporta la generacin del pulso de 12V para la programacin
de la memoria. El adaptador que permite est generacin del pulso es el DS9097E
mientras que el usado para el desarrollo de este proyecto fue el DS9097U.

97

FIGURA 23. DIAGRAMA DE FLUJO DE LAS OPERACIONES DE MEMORIA DEL DS2406


PARTE 1. Fuente: Hoja de Datos del DS2406.

Leer Memoria (F0h): Este comando es usado para leer datos desde el campo
de datos de la memoria EPROM de 1024-bit. El maestro enva luego del byte

98

de comando dos bytes de direcciones (TA1= (T7:T0), TA2= (T15:T8)) que


indican la ubicacin del byte de inicio dentro del campo de datos. Debido a
que la memoria de datos contiene 128 bytes T15:T8 y T7 debern ser cero.
Con cada ranura o intervalo de tiempo seguida de la lectura de los datos, el
maestro recibe datos del DS2406 que comienzan en una direccin inicial y
que contina hasta que el final del campo de datos de 1024-bit haya sido
alcanzado o hasta que el maestro enve un pulso de Reset. Si la lectura ocurre
hasta el fin de la memoria, el maestro deber esperar 16 intervalos de tiempo
adicionales y el DS2406 responder con el envo del CRC de 16 bits
correspondientes a los bytes de comando, direccin y datos ledos desde el
byte de inicio hasta el ltimo byte de memoria. Este CRC es el resultado de
despejar el generador de CRC y luego correr los bytes de comando seguido de
los dos bytes de direccin y los bytes de datos que comienzan en la primera
posicin de la memoria y que contina hasta el ltimo byte de la memoria de
datos EPROM. Luego de que el CRC es recibido por el maestro, cualquier
lectura siguiente ser leda por el maestro como un 1 lgico hasta que un
pulso de Reset sea realizado. Cualquier lectura finalizada con la ejecucin de
un pulso de reset antes de alcanzar el ltimo byte de memoria no tendr
disponible los 16 bits del CRC. Este comando puede ser finalizado con un
pulso de reset en cualquier momento.

Lectura Extendida de Memoria (A5h): Este comando permite redireccionar


las pginas cuando se leen datos de la memoria EPROM de 1024-bit. Una
diferencia importante entre este comando y el comando de lectura bsico

99

(F0h) es que el maestro recibe primero el byte de redireccin (ver descripcin


de la memoria de estado en la hoja de datos del dispositivo) antes de invertir
tiempo en la lectura de datos desde la posicin de memoria indicada. Esto
permite que el maestro decida rpidamente si continuar y tener acceso a los
datos en la pgina de inicio seleccionada o terminar y reiniciar el proceso de
lectura en la direccin de la pgina redireccionada. Despus de haber enviado
el byte de comando, el maestro enva dos bytes de direcciones (TA1=
(T7:T0), TA2=(T15:T8)) que indican la ubicacin del byte de inicio dentro
del campo de datos. Esperando 8 intervalos de tiempo el maestro recibe el
byte de redireccin asociado con la pgina enviada para la direccin de inicio.
En los prximos 16 intervalos de tiempo, el maestro recibe un CRC de 16 bits
del byte de comando, bytes de direccin y byte de redireccin. Este CRC es
calculado por el DS2406 y ledo por el maestro para verificar si el byte de
comando, direccin de inicio y byte de redireccin fueron recibidos
correctamente.
Si el CRC ledo por el maestro es incorrecto, un pulso de reset debe ser
enviado y la secuencia completa debe ser repetida. Si el CRC recibido por el
maestro es correcto, el maestro deber leer los datos del DS2406 comenzando
en la direccin inicial y continuando hasta que el final de la pgina de 32
bytes sea alcanzado. Luego el maestro debe esperar 16 intervalos de tiempo
para recibir los 16 bits correspondientes al CRC. En los prximos 24
intervalos de tiempo, el maestro recibir el byte de redireccin de la siguiente

100

pgina seguido de el CRC de 16 bit correspondiente al byte de redireccin.


Luego de esto, los datos son ledos de la EPROM de 1024 bits nuevamente
comenzando por el inicio de la nueva pgina. Esta secuencia continuar hasta
el final de la pgina y es acompaada por el CRC que es ledo por el maestro.

FIGURA 24. DIAGRAMA DE FLUJO DE LAS OPERACIONES DE MEMORIA DEL DS2406


PARTE 2. Fuente: Hoja de Datos del DS2406.

101

Escribir Memoria (0Fh): Este comando se ejecuta para programar la EPROM


de 1024 bits.

Escribir Estado (55h): Es usado para programar la memoria de estado. El


rango de la memoria de estado es desde 0000h hasta 0007h. El algoritmo
general de programacin es vlido para la seccin EPROM de la memoria de
estado (ver tabla M) o las direcciones 0 a 4 solamente. Las ubicaciones 5 y 6
estn preprogramadas a 00h y no pueden ser alteradas. La ubicacin nmero 7
de la memoria de estado consiste en una memoria RAM esttica, que puede
ser programada sin limitaciones y no requiere de un pulso de 12V para su
programacin. La indicacin de alimentacin (bit 7) es de slo lectura, los
intentos por alterar este bit son ignorados. El diagrama para la escritura del
byte 7 de la memoria de estado es bsicamente el mismo que para la escritura
de los dems bytes EPROM, pero en vez de un pulso de programacin el
maestro debe enviar el byte FFh (equivalentes a un perodo de tiempo de 8
intervalos de lectura de 1s lgicos) para transferir el nuevo valor desde la
memoria scratchpad a la memoria de estado.

TABLA M. MAPA DE LA MEMORIA DE ESTADO DEL DS2406. Fuente: Hoja de Datos del
dispositivo
BIT
BIT
BIT
BIT
DIRECCIN
BIT 7
BIT 6
BIT 5
BIT 0
4
3
2
1
0 (EPROM)
BM3
BM2
BM
BM0 WP3 WP2 WP1
WP0
Redir
1 (EPROM)
1
1
1
1
1
1
Redir 0
0
Redir
2 (EPROM)
1
1
1
1
1
1
Redir 1
1
Redir
3 (EPROM)
1
1
1
1
1
1
Redir 2
2
Redir
4 (EPROM)
1
1
1
1
1
1
Redir 3
3

102

5 (EPROM)
6 (EPROM)
7 (SRAM)

Indicador
de Alim.
(slo
lectura)

Byte de Pruebas de fbrica de EPROM


Sin importancia, siempre se lee como 00
CSS4 CSS3 CSS2 CSS1
PIO-B
PIO-A
Selec Selec Selec Selec
Flip-Flop Flip-Flop
de
de
de
de
de Canal de canal
canal canal canal canal

CSS0
Polaridad

Si el maestro enva una direccin de inicio mayor a 0007h, los nueve bits ms
significativos de la direccin son fijados a 0 por la circuitera interna del chip.

103

FIGURA 25. DIAGRAMA DE FLUJO DE LAS OPERACIONES DE MEMORIA DEL DS2406


PARTE 3. Fuente: Hoja de Datos del DS2406.

Leer Estado (AAh): Este comando es usado para los datos desde la memoria
de estado. El diagrama de flujo es idntico al diagrama para el comando Leer
Memoria. Debido a que la memoria de estado es de solamente 8 bytes, el
DS2406 enviar un CRC de 16 bits despus de que el ltimo byte de
informacin del estado sea transmitido.

Acceso a Canal (F5h): Este comando es usado para acceder a los canales y
detectar el estado lgico del nodo de salida, la salida del transistor y cambiar
el estado de la salida del transistor. El maestro enviar luego del byte de
comando dos bytes de control de canal y recibir inmediatamente el byte de
Informacin de Canal. Los bytes de control de canal le permiten al maestro
seleccionar el canal con que se quiere comunicar, especificar los parmetros
de comunicacin y reajustar los latches de actividad. En la tabla N se muestra
en detalle el byte 1 del control de canal. La asignacin de los bits del byte 2 de
control de canal el fabricante se los reserva para futuros desarrollos. El
maestro debe enviar siempre el byte FFh para el segundo byte del control de
canal.

TABLA N. ASIGNACIN DE LOS BITS DEL BYTE 1 DE CONTROL DE CANAL. Fuente:


Hoja de Datos del DS2406.
BIT 7
ALR

BIT 6
IM

BIT 5
TOG

BIT 4
IC

BIT 3
CHS1

BIT 2
CHS0

BIT 1
CRC1

BIT 0
CRC0

Los bits CHS0 y CHS1 seleccionan la comunicacin con los canales. Se

104

puede seleccionar uno de dos canales o dos al mismo tiempo. El cdigo de


seleccin se muestra a continuacin:
TABLA O. CDIGO DE SELECCIN DE LOS BITS CHS0 Y CHS1 DEL BYTE 7 DEL
REGISTRO DE ESTADO DEL DS2406. Fuente: Hoja de datos del dispositivo.

CHSO
0
0
1
1

CHS1
0
1
0
1

DESCRIPCIN
No permitido
Canal A solamente
Canal B solamente
Ambos canales

Cuando se lee solamente un canal, el nivel lgico en el canal seleccionado


es muestreado al comienzo de cada ventana de lectura y es sealado
inmediatamente a travs de la lnea 1-Wire. Debido a que los niveles lgicos
de los canales son detectados al comienzo de la ventana de tiempo, el maestro
no ve ninguna transicin que ocurra en los canales durante este intervalo de
tiempo. Cuando se escribe solamente un canal, el canal seleccionado mostrar
el nuevo estado despus (pero no inmediatamente despus necesariamente)
que la lnea 1-Wire haya regresado a su nivel de reposo de 5V tpico. Si el
maestro transmite un 1 (ranura de tiempo de escritura de 1), el transistor de
salida del canal seleccionado cambiar su estado despus del tiempo td1 (ver
Figura 26), el cual es entre 15 s y 60 s despus del comienzo de la ventana
de tiempo.
Si el maestro transmite un 0 (ranura de tiempo de escritura de 0), el
transistor de salida cambiar su estado con un retraso de tiempo td0 despus
de que la lnea 1-Wire haya retornado a su nivel de reposo. El valor de td0

105

podra variar entre 200 y 300 ns (Ver Figura 26).

FIGURA 26. CICLO DE TIEMPO DE LA ESCRITURA DE LOS CANALES.

Cuando la comunicacin es entre ambos canales, el bit 4 del byte 7 de la


memoria de estado (bit IC) controla cundo los datos son muestreados y
cundo los datos llegan a los pines de los canales PIO. Existe un modo
asincrnico (IC =0) y un modo sincrnico (IC=1). Para el modo asincrnico,
ambos canales son accedidos en forma alternada. Para el modo sincrnico,
ambos canales son accedidos simultneamente. Para la operacin con un solo
canal el bit IC debe ser ajustado a 0.
Cuando se realiza la lectura en modo asincrnico cada canal es
muestreado alternadamente al comienzo de cada intervalo de tiempo de
lectura, comenzando con el canal A. El nivel lgico detectado en el canal es
inmediatamente transmitido al maestro durante el mismo intervalo de tiempo.
Cuando se realiza la lectura en modo sincrnico, ambos canales sern
muestreados al mismo tiempo. El bit de dato del canal A ser enviado al
maestro inmediatamente durante el mismo intervalo de tiempo mientras que el
bit de dato del canal B se enva seguido del bit del canal A con el prximo
intervalo de tiempo. Ambos canales sern muestreados despus en el intervalo
de tiempo que sigue a la transmisin del bit de datos del canal B (Ver Figura

106

27).

FIGURA 27. CICLO DE TIEMPO DE LA LECTURA DE AMBOS CANALES.


Fuente: Hoja de datos del dispositivo.

Cuando se escribe en modo asincrnico, cada canal cambiar su estado


independientemente del otro. El cambio de estado ocurre en las mismas
relaciones de tiempo como una comunicacin con un solo canal. El primer
intervalo de tiempo es dirigido al canal A, el segundo al canal B, el siguiente
al canal A y as sucesivamente. Como consecuencia, en modo asincrnico,
nunca pueden cambiar su estado al mismo tiempo. Cuando se escribe en modo
sincrnico, ambos canales operan juntos. Despus de que los nuevos valores
para ambos canales hayan llegado al DS2406 el cambio de estado para ambos
canales ocurren con las mismas relaciones de tiempo como si fuera la
comunicacin con un solo canal. As como el modo asincrnico, cada vez que
ocurre un segundo intervalo de tiempo de escritura, contendr datos para el
mismo canal. El primer intervalo de tiempo es para el canal A, el segundo
para el canal B y as sucesivamente. Dependiendo del valor de los datos, en el

107

modo sincrnico ambos canales pueden cambiar su estado al mismo tiempo


(Ver Figura 28). En cualquiera de estos casos, la informacin del canal A y el
canal B aparecern alternadamente en la lnea 1-Wire, siempre comenzando
con el canal A.

FIGURA 28. CICLO DE TIEMPO DE LA ESCRITURA DE AMBOS CANALES.


Fuente: Hoja de datos del dispositivo.

El bit TOG del byte de control de canal 1 especifica si siempre se est


leyendo o escribiendo (TOG=0) o si se va a cambiar su estado de lectura o
escritura o viceversa despus que cada byte de datos haya sido enviado hacia
o recibido del DS2406 (TOG=1). Cuando se accede a un canal, un byte es
equivalente a ocho lecturas desde o escrituras hacia el pin del canal
seleccionado. Cuando se acceden a dos canales, un byte es equivalente a
cuatro lecturas o escrituras desde o hacia cada canal.
El modo inicial (lectura o escritura) para acceder a los canales es
especificado en el bit IM. Para lectura, IM debe ser ajustado a 1, para escritura

108

IM debe ser 0. Si el bit TOG es puesto en 0, el dispositivo siempre leer o


escribir dependiendo de cmo lo especifique el bit IM. Si TOG es 1, el
dispositivo usar el ajuste de IM para el primer byte a ser transmitido y
alternar entre lectura o escritura despus de cada byte. La tabla P ilustra el
efecto de los bits TOG e IM tanto para la operacin con un canal como para la
operacin con dos.
TABLA P. EFECTO DE LOS BITS IM Y TOG. Fuente: Hoja de datos del dispositivo.
TOG
0
0

IM
0
1

CANALES
Un canal
Un canal

Un canal

Un canal

0
0

0
1

Dos canales
Dos canales

Dos canales

Dos canales

EFECTO
Escribe todos los bits del canal seleccionado
Lee todos los bits del canal seleccionado
Escribe 8 bits, Lee 8 bits, escribe, lee, etc
hacia/desde el canal seleccionado
Lee 8 bits, Escribe 8 bits, lee, escribe, etc.
desde/hacia el canal seleccionado
Repite: 4 veces (Escribe A, Escribe B)
Repite: 4 veces (Lee A, Lee B)
4 veces: (Escribe A, Escribe B), 4 veces: (Lee A,
Lee B), escribe, lee, etc.
4 veces: (Lee A, Lee B), 4 veces: (Escribe A,
Escribe B), lee, escribe, etc.

El bit ALR del byte de control de canal 1 controla si el latch de actividad


de cada canal se reajusta. Ambos latches de actividad son reiniciados
simultneamente si el bit ALR es 1. Ellos no cambian si el bit ALR es 0. Un
latch de actividad es ajustado con un flanco positivo o negativo que ocurre en
su canal asociado.
El byte de control de canal 1 tambin controla el generador interno de
CRC para salvaguardar la transmisin de datos entre el maestro y el DS2406
para el acceso a los canales. Los bits de control de CRC (bits 0 y 1) pueden

109

ser ajustados para crear y proteger los paquetes de datos que tienen el tamao
de 8 bytes o 32 bytes. El cdigo para el control de CRC se muestra en la
siguiente tabla:
TABLA Q. CDIGO DEL CONTROL DE CRC. Fuente: Hoja de Datos del dispositivo
CRC1
0
0
1
1

CRC0
0
1
0
1

DESCRIPCIN
CRC deshabilitado
CRC despus de cada byte
CRC despus de 8 bytes
CRC despus de 32 bytes

Despus de que el byte de control de canal es transmitido el maestro


recibe el byte de informacin de canal (Ver tabla R).
TABLA R. BYTE DE INFORMACIN DE CANAL. Fuente: Hoja de Datos del DS2406.
BIT 7
Indic. de
Alim.
0=No
Alim.

BIT 6
Num. de
Canales
0=Canal A
solamente

BIT 5

BIT 4

BIT 3

BIT 2

PIO-B

PIO-A

PIO B

PIO A

Latch de
Actividad

Latch de
Actividad

Nivel
Lgico

Nivel
Lgico

BIT 1
PIO-B

BIT 0
PIO-A

FlipFlop

FlipFlop

de canal

de canal

Este byte indica el estado de los flip flops de los canales, los pines PIO,
los latches de actividad as como tambin la disponibilidad del canal B y el
suministro de alimentacin externa. Para poder leer un canal, la salida del
transistor necesita estar en no-conduccin, lo cual es equivalente a 1 para el
flip flop del canal. Leer 0 tanto para el flip-flop del canal y el nivel lgico
detectado indica que la salida del transistor del canal est siendo conectada a
nivel bajo. Sin una fuente de alimentacin externa, el bit 7 es 0.
4.7.1 Diseo del Cuadro de Dilogo Acerca De

110

As como se dise la ventana Acerca De para el DS18B20, se hizo el mismo


procedimiento para crear el del DS2406, utilizando el asistente para la creacin de la
pgina de propiedades y agregando la informacin correspondiente a la descripcin
del ActiveX DS2406, los valores iniciales del control (Auto Bsqueda del Puerto,
Valores de las salidas y Descripcin de los canales) y el botn para mostrar la
informacin del sistema.
El diseo de cuadro de dilogo Acerca De para este control es el siguiente:

FIGURA 29. DISEO DEL CUADRO DE DILOGO ACERCA DE PARA EL ACTIVEX


DS2406.

4.8 DISEO DEL CONTROL ACTIVEX PARA EL DS2450


De igual manera como se disearon los ActiveX anteriores, se agreg una imagen

111

de dimensiones (Ancho x Alto) de 39 x 38 pxeles que identifica a este dispositivo en


el formulario de diseo. La imagen es la mostrada a continuacin:

Imagen Ampliada

Tamao Real

Dentro del cdigo fuente del ActiveX se escribi un segmento de cdigo que
impide que el usuario pueda modificar el tamao de la imagen anteriormente
mostrada, como se hizo igualmente con los controles anteriores.
El DS2450 es un convertidor Analgico/Digital de 4 canales basado en la
conversin por aproximaciones sucesivas con un multiplexor de 4 a 1. Cada canal de
entrada tiene su propio conjunto de registros para almacenar el rango del voltaje de
entrada, la resolucin y los umbrales de alarmas. La descripcin de los pines se
muestra en la Figura 30:

FIGURA 30. DESCRIPCIN DE LOS PINES DEL DS2450. Fuente: Hoja de Datos del DS2450

Para la codificacin de las rutinas de memoria del convertidor analgico-digital

112

de 4 canales DS2450, se consult la hoja de datos del dispositivo para seguir los
pasos necesarios para un buen desempeo del control ActiveX.
Al igual que para los dems dispositivos 1-Wire la comunicacin con el
DS2450 inicia con la transmisin de un comando de ROM por parte del maestro, el
cual enviar el serial correspondiente al DS2450 que est conectado a la red y con el
cual se desea realizar la comunicacin. Seguido de este comando de ROM el maestro
enva cualquier comando de memoria disponible para el DS2450.
4.8.1 Registros del DS2450
Todos los registros del DS2450 estn mapeados dentro de un rango de memoria
de 24 bytes adyacentes organizados en 3 pginas de 8 bytes cada una. La primera
pgina, llamada Conversion Read-Out, contiene el rea de memoria donde la lgica
interna del chip ubica los resultados de una conversin para que el maestro la lea.
Comenzando por el canal A en la direccin ms baja, cada canal tiene un rea de 16
bits asignada para el resultado de la conversin, as como se muestra en la tabla S.
Cuando el dispositivo se energiza el valor por defecto de los bits del registro de
conversin es 0. Sin importar la resolucin solicitada, el bit ms significativo de la
conversin est siempre en la misma posicin. Si una resolucin menor a 16 bits es
solicitada, el bit menos significativo del resultado de la conversin ser rellenado con
0 de manera de generar siempre un resultado de 16 bits.

113

DIREC.
00
01
02
03
04
05
06
07

TABLA S. MAPA DE MEMORIA DE LA PGINA 0 DEL DS2450.


Fuente: Hoja de Datos del dispositivo.
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
A
A
A
A
A
A
A
MSBIT A
A
A
A
A
A
A
B
B
B
B
B
B
B
MSBIT B
B
B
B
B
B
B
C
C
C
C
C
C
C
MSBIT C
C
C
C
C
C
C
D
D
D
D
D
D
D
MSBIT D
D
D
D
D
D
D

BIT 0
LSBIT A
A
LSBIT B
B
LSBIT C
C
LSBIT D
D

La informacin del control y estado para todos los canales est localizada en la
pgina de memoria nmero 1 (Ver tabla T). As como la pgina 0 (ver tabla S), cada
canal tiene asignado 16 bits. Los cuatro bits menos significativos, llamados RC3 a
RC0, son un nmero binario sin signo que representan el nmero de bits a ser
convertidos. Un cdigo de 1111 (15 decimal) generarn un resultado de 15 bits. Para
una conversin completa de 16 bits el cdigo debe ser 0000. Los prximos 2 bits ms
all de RC3 se leern siempre como ceros. No tienen ninguna funcin y no pueden
ser cambiados a 1s. Los prximos bits, OC (control de salida) y OE (habilitacin de la
salida) controlan el uso alternado de un canal como salida digital. Para operacin
normal como entrada analgica el bit OE de un canal debe ser 0, y el valor del bit OC
no tiene importancia en este caso. Con OE fijado en 1, un 0 en el bit OC har
conducir la salida del transistor del canal, un 1 en el bit OC interrumpir la
conduccin del transistor. Con una resistencia de pull up conectada a un voltaje
positivo, por ejemplo, el bit OC traducir directamente su estado lgico en un voltaje
equivalente. Habilitando la salida digital no deshabilitar la entrada analgica. La
conversin ser posible pero el resultado ser cercano a 0 si el transistor est
conduciendo.

114

El bit IR del segundo byte de la memoria de control y estado de un canal,


selecciona el rango del voltaje de entrada. Con IR=0 el ms alto resultado posible de
la conversin se logra a 2.55V. Fijando este bit a 1 requiere un voltaje de entrada de
5.10V para el mismo resultado. El prximo bit ms all de IR no tiene ninguna
funcin. Siempre se leer como cero y no puede ser cambiado a 1.
Los prximos 2 bits, AEL (Alarm Enable Low) y AEH (Alarm Enable High)
controlan si el dispositivo responder a un comando de bsqueda condicional si la
conversin resulta en un valor mayor (AEH) o menor (AEL) que el voltaje umbral de
alarma especificado en los ajustes de alarmas. Las banderas de alarma AFL (baja) y
AFH (alta) le indican al maestro si el voltaje de entrada del canal fue mayor al umbral
bajo o alto en la ltima conversin. Estas banderas son despejadas automticamente si
una nueva conversin revela un valor no alarmante.
El prximo bit siempre se lee como 0 y no puede ser cambiado a 1. El bit POR
(Power on Reset) es automticamente fijado a 1 cuando el dispositivo realiza un ciclo
de reset
TABLA T. MAPA DE MEMORIA DE LA PGINA 1 DEL DS2450.
Fuente: Hoja de Datos del dispositivo.
DIREC.
08
09
0A
0B
0C
0D
0E
0F

BIT 7
OE-A
POR
OE-B
POR
OE-C
POR
OE-D
POR

BIT 6
OC-A
0
OC-B
0
OC-C
0
OC-D
0

BIT 5
0
AFH-A
0
AFH-B
0
AFH-C
0
AFH-D

BIT 4
0
AFL-A
0
AFL-B
0
AFL-C
0
AFL-D

BIT 3
RC3-A
AEH-A
RC3-B
AEH-B
RC3-C
AEH-C
RC3-D
AEH-D

BIT 2
RC2-A
AEL-A
RC2-B
AEL-B
RC2-C
AEL-C
RC2-D
AEL-D

BIT 1
RC1-A
0
RC1-B
0
RC1-C
0
RC1-D
0

BIT 0
RC0- A
IR-A
RC0- B
IR-B
RC0- C
IR-C
RC0- D
IR-D

115

Los registros de los voltajes umbrales de alarma para cada canal estn localizados
en la pgina 2 con el valor del umbral bajo en la direccin ms baja (Ver tabla U).
Los valores por defectos de estos registros al energizar el DS2450 son 00h para las
alarmas bajas y FFh para las altas.
TABLA U. MAPA DE MEMORIA DE LA PGINA 2 DEL DS2450. Fuente: Hoja de Datos del
dispositivo.
DIREC.
10
11
12
13
14
15
16
17

BIT 7
MSBL-A
MSBH-A
MSBL-B
MSBH-B
MSBL-C
MSBH-C
MSBL-D
MSBH-D

BIT 6
A
A
B
B
C
C
D
D

BIT 5
A
A
B
B
C
C
D
D

BIT 4
A
A
B
B
C
C
D
D

BIT 3
A
A
B
B
C
C
D
D

BIT 2
A
A
B
B
C
C
D
D

BIT 1
A
A
B
B
C
C
D
D

BIT 0
LSBL-A
LSBH-A
LSBL-B
LSBH-B
LSBL-C
LSBH-C
LSBL-D
LSBH-D

Existe una cuarta pgina de memoria cuyo rango de direcciones es desde la 18h
hasta 1Fh usada durante la calibracin en fbrica. Esta pgina de memoria es
accesible al usuario a travs de los comandos Leer Memoria y Escribir Memoria.
Cambiar arbitrariamente los datos de esta pgina descalibrar al convertidor A/D o
har al dispositivo no funcional hasta que se realice un reset desenergizndolo y
energizndolo nuevamente.
Los diagramas de flujo de las funciones de memoria (Figura 31 y 32) describen el
protocolo necesario para acceder a los registros del DS2450. Debido a que el mapa de
memoria del DS2450 es pequeo comparado con las capacidades de direccin de 16
bits, los 11 bits ms significativos de la direccin son forzados a 0 antes de que se
incorporen al generador de CRC. La comunicacin entre el maestro y el DS2450
ocurre a velocidad regular (por defecto OD=0) o a la velocidad de sobre marcha

116

(OD=1). Si no est fijada explcitamente el modo de velocidad de sobre marcha, el


dispositivo asume la velocidad regular.

FIGURA 31. DIAGRAMA DE FLUJO DE LAS OPERACIONES DE MEMORIA DEL DS2450


PARTE 1. Fuente: Hoja de Datos del Dispositivo.

117

Leer Memoria (AAh): Este comando es usado para leer el resultado de la


conversin, los datos de control y estado y la configuracin de alarma. El
maestro enva luego del byte de comando dos bytes de direcciones
(TA1=(T7:T0), TA2=(T15:T8)) que indica la ubicacin del byte de inicio
dentro del mapa de memoria. Con cada intervalo de tiempo para la lectura el
maestro recibe datos del DS2450 comenzando por la direccin suministrada y
continuando hasta que el fin de la pgina de 8 bytes sea alcanzado. En este
punto, el maestro recibir un CRC de 16 bits del byte de comando, bytes de
direccin y bytes de datos. Este CRC es calculado por el DS2450 y ledo por
el maestro para chequear si el byte de comando, la direccin de inicio y los
datos fueron transmitidos correctamente. Si el CRC ledo por el maestro es
incorrecto, un pulso de reset debe realizarse y la secuencia completa debe
repetirse.

Escribir Memoria (55h): Este comando es usado para escribir las pginas de
memoria 1 y 2 los datos de control y umbrales de alarma de cada canal. El
maestro enviar luego del byte de comando dos bytes de las direcciones de
inicio (TA1=(T7:T0), TA2=(T15:T8)) y un byte de dato (D7:D0). Un CRC de
16 bits del byte de comando, bytes de direccin y byte de datos es calculado
por el DS2450 y ledo por el maestro para confirmar que el comando de
memoria, direccin inicial y byte de datos fueron recibidos correctamente.
Luego, el DS2450 copia el byte de datos en la ubicacin especfica de la
memoria. En los prximos ocho intervalos de tiempo el maestro recibe una

118

copia del mismo byte pero ledo de la memoria del DS2450, esto para efectos
de verificacin. Si la verificacin falla, un pulso de reset debe ser enviado por
el maestro y el byte actual de direccin debe enviarse nuevamente.
Si el maestro no enva el pulso de reset y el final de la memoria no ha sido
alcanzado, el DS2450 automticamente incrementar su contador de direccin
a la ubicacin de la direccin de memoria siguiente. Los prximos dos bytes
de direccin tambin sern cargados en el generador de CRC de 16 bits como
un valor de inicio.
El maestro enviar el prximo byte usando ocho intervalos de tiempo de
escritura. Mientras el DS2450 recibe este byte, lo corre dentro del generador
de CRC y el resultado es un CRC de 16 bits del nuevo byte de datos y la
nueva direccin. Con los prximos 16 intervalos de tiempo, el maestro leer
este CRC de 16 bits del DS2450 para verificar que la direccin se increment
correctamente y que el byte de datos tambin se recibi en forma correcta. Si
el CRC es incorrecto, un pulso de reset debe ser enviado de manera de repetir
la secuencia del comando de escritura de la memoria.

119

FIGURA 32. DIAGRAMA DE FLUJO DE LAS OPERACIONES DE MEMORIA DEL DS2450


PARTE 2. Fuente: Hoja de datos del dispositivo.

120

Convertir (3Ch): Este comando es usado para iniciar la conversin analgica


a digital para uno o ms canales con la resolucin especificada en la pgina 1
de memoria, datos de control y estado. La conversin toma entre 60 y 80 s
por bit ms un tiempo de corrimiento de mximo 160 s cada vez que el
comando Convertir sea ejecutado.
Para los cuatro canales con una resolucin de 12 bits cada uno, por
ejemplo, el comando Convertir no tomar ms de 4*12*80 s ms 160 s de
corrimiento, un total de 4 ms. Si el DS2450 toma su energa del pin Vcc, el
maestro podra comunicarse con otros dispositivos en la lnea 1-Wire
mientras el DS2450 est ocupado con la conversin A/D. Si el dispositivo se
alimenta completamente de la lnea 1-Wire el maestro entonces debe
proporcionar un pull-up de 5V para la duracin estimada de conversin de
manera de proporcionar suficiente energa.
La conversin es controlada por la Mscara de Seleccin de Entrada (Ver
tabla V) y el byte de control Read-Out (Ver tabla W). En la mscara de
seleccin de la entrada, el maestro especifica cuales canales participarn en la
conversin. Un canal es seleccionado si el bit asociado al canal es puesto en 1.
Si ms de un canal es seleccionado, la conversin se realiza en un canal y
despus en otro en la secuencia A, B, C, D, saltando aquellos canales que no
estn seleccionados. El maestro puede leer el resultado de la conversin de un
canal antes que se complete la conversin de los canales restantes. A manera

121

de distinguir entre el resultado anterior y el nuevo valor, el maestro usa el byte


de control Read-Out. Este byte permite prefijar todos a 1s todos a 0s los
registros Read-Out de conversin para cada canal. Para un canal no
seleccionado en la mscara de seleccin de entrada, la configuracin del
control read-out de los canales no tiene efecto.
TABLA V. MSCARA DE SELECCIN DE ENTRADA (COMANDO DE CONVERSIN).
Fuente: Hoja de datos del dispositivo.
BIT 7

BIT 6 BIT 5 BIT 4


Sin Importancia

BIT 3
D

BIT 2
C

BIT 1
B

BIT 0
A

TABLA W. BYTE DE CONTROL READ-OUT. Fuente: Hoja de datos del dispositivo.


BIT 7
Set D

BIT 6
Clear D

BIT 5
Set C

BIT 4
Clear C

BIT 3
Set B

BIT 2
Clear B

BIT 1
Set A

BIT 0
Clear A

Seguido del byte de comando de conversin, el maestro transmite el byte


correspondiente a la mscara de seleccin y el byte de control Read-Out.
Luego, el maestro lee el CRC de 16 bits del byte de comando, mscara de
seleccin y byte de control. La conversin se iniciar mnimo 10 s despus
de que el bit ms significativo del CRC sea recibido por el maestro.
Con una alimentacin parsita, el maestro debe activar el pull-up dentro
de ese intervalo de tiempo de 10 s para la duracin de la conversin.
Despus de esto, la lnea de datos regresa a su estado lgico alto y la
comunicacin en el bus se puede reasumir. El maestro normalmente debe
enviar un pulso de reset para salir del comando de conversin.

122

Con una alimentacin por el pin Vcc el maestro podra tanto enviar un
pulso de reset para salir del comando de conversin o generar continuamente
intervalos de tiempo de lectura. Si el DS2450 est ocupado con la conversin,
el maestro leer ceros (0s). Luego de que la conversin se haya completado, el
maestro recibir unos (1s). As como el modo parsito, el maestro finalmente
se saldr del comando de conversin, enviando un pulso de reset.
4.8.2 Diseo del Cuadro de Dilogo Acerca De
As como se dise la ventana Acerca De para los controles anteriores, se hizo el
mismo procedimiento para crear el del DS2450, utilizando el asistente para la
creacin de la pgina de propiedades y agregando la informacin correspondiente a la
descripcin del ActiveX DS2450, los valores iniciales del control (Auto Bsqueda del
Puerto, Configuracin del modo Analgico de los 4 canales, Estado de las Salidas de
los 4 canales, Resolucin para cada canal, Rango de cada canal, Multiplicadores,
Valores del Corrimiento para cada canal y Descripcin de los canales) y el botn para
mostrar la informacin del sistema.
El diseo de cuadro de dilogo Acerca De para este control es el siguiente:

123

FIGURA 33. DISEO DEL CUADRO DE DILOGO ACERCA DE PARA EL ACTIVEX


DS2450.

4.9 DISEO DEL CONTROL ACTIVEX PARA EL DS2890


De igual manera como se disearon los ActiveX anteriores, se agreg una imagen
de dimensiones (Ancho x Alto) de 39 x 38 pxeles que identifica a este dispositivo en
el formulario de diseo. La imagen es la mostrada a continuacin:

Imagen Ampliada

Tamao Real

Dentro del cdigo fuente del ActiveX se escribi un segmento de cdigo que
impide que el usuario pueda modificar el tamao de la imagen anteriormente
mostrada, como se hizo igualmente con los controles anteriores.

124

El DS2890 es un potencimetro digital lineal controlado con 256 posiciones. La


operacin del dispositivo, incluyendo la posicin del cursor, es controlada a travs de
la lnea del bus 1-Wire. Posee un rango de voltaje de trabajo de 0 a 11V entre sus
terminales. La descripcin de sus pines se muestra en la siguiente figura:

FIGURA 34. DISTRIBUCIN DE LOS PINES DEL DS2890. Fuente: Hoja de Datos del DS2890

Para la codificacin de las rutinas de memoria del potencimetro 1-Wire


DS2890, se consult la hoja de datos del dispositivo para seguir los pasos necesarios
para un buen desempeo del control ActiveX.
Al igual que para los dems dispositivos 1-Wire la comunicacin con el
DS2890 inicia con la transmisin de un comando de ROM por parte del maestro, el
cual enviar el serial correspondiente al DS2890 que est conectado a la red y con el
cual se desea realizar la comunicacin. Seguido de este comando de ROM el maestro
enva cualquier comando de memoria disponible para el DS2890.
4.9.1 Registro de la Caracterstica del Potencimetro
Aunque las caractersticas de configuracin del DS2890 son fijas, un mecanismo
para identificar las principales caractersticas de futuros potencimetros 1-Wire ha
sido desarrollado e implementado en el DS2890. Segn lo mostrado en la tabla Y, el

125

registro de la caracterstica es un byte codificado de slo lectura que describe las


caractersticas del DS2890 y de los futuros potencimetros 1-Wire. Los valores
caractersticos del DS2890 estn en negritas (tabla Z). Este registro es ledo con el
comando Leer Registro de Control que se explica ms adelante.
TABLA Y. CODIFICACIN DE LOS BITS DEL REGISTRO DE LA CARACTERSTICA
DEL DS2890. Fuente: Hoja de datos del dispositivo.
B7 B6
PR

B5 B4
NWP

B4 B2
NP

B1
WSV

B0
PC

TABLA Z. DEFINICIONES DE LOS BITS DEL REGISTRO DE LAS CARACTERSTICAS


DEL DS2890. Fuente: Hoja de Datos del Dispositivo.
Descripcin de la
Caracterstica
PC: Potenciometer
Characteristic
WSV: Wiper Setting
Volatility

Bit(s)
b0
b1

NP: Number of
Potenciometers

b3..b2

NWP: Number of Wiper


Positions

b5..b4

PR: Potenciometer
Resistante

b7..b6

Definicin
Si es 0: Potencimetro logartmico
Si es 1: Potencimetro Lineal
Si es 0: Config. del Pot. no voltil
Si es 1: Config. del Pot. voltil
2 bits binarios representan el Nro de Pot:
Si es 00b: 1 Potencimetro
Si es 01b: 2 Potencimetros
Si es 10b: 3 Potencimetros
Si es 11b: 4 Potencimetros
2 Bits binarios representan el Nro. de posiciones para
cada potencimetro:
Si es 00b: 32 Posiciones
Si es 01b: 64 Posiciones
Si es 10b: 128 Posiciones
Si es 11b: 256 Posiciones
2 Bits binarios representan el valor de la resistencia del
potencimetro:
Si es 00b: 5 k
Si es 01b: 10 k
Si es 10b: 50 k
Si es 11b: 100 k

El DS2890 responder con el valor hexadecimal F3h cuando el comando Leer


Registro de Control sea ejecutado.

126

4.9.2 Registro de Control del DS2890


El registro de control es usado para encender o apagar la caracterstica charge
pump del potencimetro, la cual se explicar detalladamente ms adelante, y tiene la
capacidad de control para futuros potencimetros 1-Wire que podran contener
mltiples elementos de resistencia. El formato del registro de control se muestra a
continuacin en la tabla A1. Los valores caractersticos de este registro para el
DS2890 estn en negritas (tabla A2).
TABLA A1. CODIFICACIN DEL REGISTRO DE CONTROL DEL DS2890. Fuente: Hoja de
Datos del dispositivo.
b7
X

b6
CPC

b5
X

b4
X

b3

b2

WN

b1 b0
WN

TABLA A2. DEFINICIONES DE BITS DEL REGISTRO DE CONTROL DEL DS2890. Fuente:
Hoja de Datos del DS2890.
Descripcin

Bit(s)

WN: Wiper Number to


Control

b1..b0

WN : Wiper Number

b3..b2

to Control invertido
CPC: Charhe Pump
Control

b6

X: Sin importancia

b4,b5,b7

Definicin
2 bits binarios representan el cursor a controlar:
Si es 00b: 1 Cursor
Si es 01b: 2 Cursores
Si es 10b: 3 Cursores
Si es 11b: 4 Cursores
Complemento a 1 de WN:
Si es 11b: 1 Cursor
Si es 10b: 2 Cursores
Si es 01b: 3 Cursores
Si es 00b: 4 Cursores
Si es 0: Charge Pump OFF
Si es 1: Charge Pump ON
Estos bits estn reservados para futuros usos de Dallas
Semiconductor. Estos bits deben ser escritos con 0.

Los valores por defecto de este registro al energizar el DS2890 son CPC=0,
WN=00b, WN =11b.

127

4.9.3 Consideraciones de Energa y Configuracin


Los dispositivos 1-Wire pueden tomar la energa para su funcionamiento a
travs de la lnea de datos 1-Wire almacenando energa en un capacitor interno
durante perodos de tiempo cuando la lnea se encuentra en estado lgico alto.
Durante los perodos de tiempo en que la lnea cae a estado bajo, el dispositivo
contina operando con la energa almacenada en el capacitor interno; el capacitor
luego es recargado cuando la lnea regresa a estado alto.
Esta tcnica de operar completamente desde el bus 1-Wire a travs de la energa
almacenada en el capacitor interno durante el estado lgico bajo se conoce como
Alimentacin Parsita. Consideraciones especiales se deben tomar en cuenta para el
DS2890 debido a que posee dos configuraciones de alimentacin y dos modos de
resistencia digital: Configuracin de potencimetro y Configuracin de Resistencia
Variable.
La configuracin de potencimetro requiere de la presencia de una fuente Vdd
externa para suministrar la energa que necesita la bomba de carga (charge pump) la
cual debe estar encendida para soportar el rango de salida del cursor de Terminal a
Terminal. La configuracin de resistor variable puede funcionar con o sin fuente Vdd
externa o habilitar la bomba de carga aunque el rango de la resistencia est
influenciado por el estado de esta bomba.

128

4.9.4 Configuracin de Potencimetro

FIGURA 35. ESQUEMA DE CONEXIN DEL DS2890 PARA EL MODO DE


POTENCIMETRO. Fuente: Hoja de Datos del dispositivo.

Para configurar y operar el DS2890 en modo de potencimetro como se muestra


en la Figura 35, se requiere una fuente de alimentacin Vdd, que el encapsulado del
dispositivo sea TSOC, y la bomba de carga (charge pump) est encendida (bit CPC=1
del registro de control). La bomba de carga debe estar habilitada para soportar las
oscilaciones de voltaje de los Terminal RL a RH en el cursor de salida y como se
describi previamente, una fuente Vdd debe ser proporcionada para soportar los
requerimientos de energa de la bomba de carga (charge pump).
4.9.5 Configuracin de Resistencia Variable
La configuracin de resistencia variable es el mostrado en la Figura 36 y 36-1 y
puede ser aplicado para todos los tipos de encapsulado con o sin fuente de
alimentacin externa. Como se describi anteriormente, sin fuente de alimentacin
Vdd, la bomba de carga (charge pump) debe estar deshabilitada.

129

FIGURA 36. CONFIGURACIN DE RESISTENCIA VARIABLE PARA EL DS2890,


ENCAPSULADO TO-92. Fuente: Hoja de Datos del dispositivo

FIGURA 36-1. CONFIGURACIN DE RESISTENCIA VARIABLE PARA EL DS2890,


ENCAPSULADO TSOC. Fuente: Hoja de Datos del dispositivo

4.9.6 Consideraciones de la resistencia del cursor


Un diagrama simplificado del arreglo de resistencia del DS2890 para la
configuracin de potencimetro, se muestra en la Figura 37. El valor de la resistencia
Rwiper vara con la configuracin del dispositivo, estado de operacin, y voltaje del
terminal del cursor.
La resistencia del cursor es reducida significativamente cuando una fuente Vdd

130

externa es usada y la bomba de carga del dispositivo est habilitada. La grfica de la


resistencia del cursor con la bomba de carga habilitada se muestra en la Figura 38. La
resistencia del cursor con la bomba de carga (charge pump) deshabilitada se muestra
en la Figura 39.

FIGURA 37. MODELO DE LA RESISTENCIA DEL POTENCIMETRO. Fuente: Hoja de


Datos del dispositivo.

FIGURA 38. RESISTENCIA TPICA DEL CURSOR VS VOLTAJE DEL CURSOR A 25 C.


Fuente: Hoja de Datos del dispositivo.

131

FIGURA 39. RESISTENCIA DEL CURSOR VS VOLTAJE DEL CURSOR A 25 C. Fuente:


Hoja de datos del Dispositivo.

Los diagramas de flujo de los comandos de funciones del DS2890 necesarios para
la codificacin del control ActiveX, se muestran en las figuras 40 y 41. Estos
diagramas describen el protocolo necesario para el ajuste y lectura del cursor del
potencimetro o para controlar el estado de operacin del DS2890.
Todas las funciones del potencimetro consisten en un byte de comando seguido
por uno o ms bytes de datos o control para la escritura o lectura realizada por el
maestro. Todos los datos transferidos entre el DS2890 y el maestro se realizan
enviando primero el bit menos significativo.

132

FIGURA 40. DIAGRAMA DE FLUJO DE LAS FUNCIONES DE MEMORIA DEL DS2890


PARTE 1. Fuente: Hoja de Datos del dispositivo.

133

Leer Posicin (F0h): Este comando es usado para obtener la posicin actual
del cursor del potencimetro. Adems de esta posicin, el byte de registro de
control tambin ser ledo con este comando. Esto le permite al maestro
confirmar o determinar fcilmente la posicin actual del cursor. Luego de
enviar el byte de comando, el maestro lee 16 bits para obtener primero el
registro de control y despus el byte de posicin del cursor. El DS2890
responder con ceros (0s) para lecturas adicionales realizadas por el maestro
despus del octavo bit del byte de posicin. Este comando finaliza con un
pulso de reset.

Escribir Posicin: Este comando es usado para fijar la posicin del cursor del
potencimetro. El maestro enva luego del byte de comando, el valor de 8 bits
de la posicin del cursor. Despus del octavo bit del byte de posicin del
cursor, el maestro lee el byte de posicin del DS2890 para confirmar que el
valor fue recibido correctamente por el dispositivo. Si un valor incorrecto es
ledo, el maestro debe enviar un pulso de reset y repetir la secuencia. En caso
contrario, el maestro enva el byte del cdigo de liberacin el cual es 96h. Si
el DS2890 recibe correctamente el cdigo de liberacin, la posicin del cursor
se actualiza y el dispositivo responder con ceros (0s) a cualquier lectura
realizada por el maestro. En caso contrario, ningn cambio se realiza en la
posicin del cursor y el dispositivo responder con unos (1s) a cualquier
lectura realizada por el maestro. El comando finaliza con un pulso de reset.

Incrementar Posicin (3Ch): Este comando es usado para incrementar paso a

134

paso la posicin actual del cursor del potencimetro. Luego de enviar el byte
de comando, el maestro enva un byte para leer la nueva posicin del cursor
enviada por el DS2890. Ningn cambio en la posicin se realiza si el cursor
del DS2890 se encuentra en la mxima posicin (FFh) y se recibe el comando
Incrementar Posicin.

Decrementar Posicin (99h): Este comando es usado para disminuir paso a


paso la posicin actual del cursor del potencimetro. Luego de enviar el byte
de comando, el maestro enva un byte para leer la nueva posicin del cursor
enviada por el DS2890. Ningn cambio en la posicin se realiza si el cursor
del DS2890 se encuentra en la mnima posicin (00h) y se recibe el comando
Decrementar Posicin.

135

FIGURA 41. DIAGRAMA DE FLUJO DE LAS FUNCIONES DE MEMORIA DEL DS2890


PARTE 2. Fuente: Hoja de Datos del dispositivo.

Escribir Registro de Control (55h): Este comando es usado para manipular


los bits de estado ubicados en el registro de control. Se usa para fijar la

136

direccin del cursor del potencimetro y el estado de la bomba de carga.


Seguidamente del byte de comando el maestro enva el valor del registro de 8
bits. Luego de que el octavo bit del registro de control se enva por el maestro,
ste lee de regreso el valor de control de 8 bits del DS2890 para confirmar que
el dispositivo recibi el valor correcto (si el dispositivo recibe un valor de
registro invlido, el maestro leer 1s durante la secuencia de lectura). Si un
valor diferente a FFh es ledo, el maestro determina si el DS2890 recibi el
valor correcto. Si se lee un valor incorrecto, el maestro debe enviar un pulso
de reset y repetir la secuencia. Si se lee un valor correcto, el maestro enva
entonces un Cdigo de Liberacin el cual es 96h. Si el DS2890 recibe el
cdigo de liberacin correcto, el registro de control se actualiza y el
dispositivo responder con ceros (0s) para lecturas adicionales realizadas por
el maestro. Si un cdigo de liberacin incorrecto es recibido por el DS2890,
ningn cambio se realiza en el registro de control y el dispositivo responder
con unos (1s) para lecturas adicionales realizadas por el maestro. El comando
Escribir Registro de Control es finalizado con un pulso de reset.

Leer Registro de Control (AAh): Este comando es usado para obtener tanto el
registro de control como el registro de la caracterstica del potencimetro.
Seguidamente del byte de comando Leer Posicin, el maestro lee 16 bits para
obtener primero el byte del registro de la caracterstica del potencimetro y
luego el byte del registro de control. El DS2890 responder con ceros (0s)
para lecturas adicionales luego del octavo bit del byte del registro de control.
Este comando finalizado con un pulso de reset.

137

4.9.7 Diseo del Cuadro de Dilogo Acerca De


As como se dise la ventana Acerca De para los dems controles, se hizo el
mismo procedimiento para crear el del DS2890, utilizando el asistente para la
creacin de la pgina de propiedades y agregando la informacin correspondiente a la
descripcin del ActiveX DS2890, los valores iniciales del control (Auto Bsqueda del
Puerto, Descripcin, Posicin del Cursor y Valor del Charge Pump) y el botn para
mostrar la informacin del sistema.
El diseo de cuadro de dilogo Acerca De para este control es el siguiente:

FIGURA 42. DISEO DEL CUADRO DE DILOGO ACERCA DE PARA EL ACTIVEX


DS2890.

138

4.10 COMPILACIN DEL CDIGO FUENTE Y GENERACIN DEL


OCX
Una vez creadas las propiedades del control ActiveX y creado el cdigo fuente
que ejecutarn las funciones de memoria del mismo, se procedi a compilar dicho
cdigo para generar el archivo con extensin OCX. Este archivo ser el que se deber
cargar entre los componentes situados en la parte izquierda del ambiente de trabajo de
Visual Basic que constituirn el control ActiveX. A continuacin se muestra la
ubicacin dentro del men de archivo de la opcin para generar el OCX:

FIGURA 43. GENERACIN DEL ARCHIVO DE EXTENSIN OCX.

Una vez hecho clic en esta opcin, apareci otra ventana donde se especific el
directorio donde se guard el archivo con extensin .OCX (Figura 44).

139

FIGURA 44. ALMACENAMIENTO DEL PROYECTO.

Se le dio un nombre al control ActiveX y luego se le dio clic al botn Aceptar.


Tambin existe un botn de Opciones donde se le pueden agregar al control ActiveX
creado, comentarios, derechos de autor y otros datos, tal como se muestra en la figura
a continuacin:

FIGURA 45. PROPIEDADES DEL PROYECTO.

140

4.11 DISEO DEL BUSCADOR DE DISPOSITIVOS


Siguiendo los requerimiento de la comunicacin 1-Wire, se dise una rutina
para la configuracin automtica del puerto de comunicacin y la bsqueda de los
dispositivos 1-Wire para los controles creados. Esta rutina se encarga de almacenar
cada uno de los seriales y agruparlos en vectores por familias de dispositivos, es
decir, el almacenamiento de los seriales en un vector para el DS18B20, otro para el
DS2450, para el DS2406 y otro vector de seriales para el DS2890.
Los vectores almacenarn los seriales de hasta 3 dispositivos por cada familia,
luego la rutina se encarga de separar el vector en grupos de 8 bytes y almacenar los
seriales en la propiedad Serial de cada control ActiveX. Esto ser fundamental para la
comunicacin entre el computador y los diferentes dispositivos, ya que si el control
ActiveX no tiene almacenado el serial del dispositivo con el que va a ser utilizado,
ste no funcionar obteniendo resultados incorrectos o no esperados.
En las figuras 46 y 47 se muestran los diagramas de flujo correspondientes a la
rutina de bsqueda de dispositivos, agrupamiento por familias y almacenamiento de
seriales.
El cdigo fuente generado de estos diagramas de flujo puede encontrarse en el
apndice H.

141

INICIO

Nro. De Puerto
establecido por
el usuario

NO

Auto
Bsqueda
De Puerto?
SI
COM=1

N
Existe
Red?

SI
Auto
Bsq?

Increm
No COM

NO

SI

NO
COM>9
?
SI

Se inicializan
contadores

NO EXISTE RED EN EL
PUERTO
SELECCIONADO

FIN DE
SESIN

FIGURA 46. DIAGRAMA DE FLUJO BUSCADOR DE SERIALES (PARTE 1)

Al inicio de la rutina, se verifica la bsqueda automtica del puerto de


comunicacin. Si est desactivada, el puerto ser el introducido por el usuario y se
verificar si existe la red en dicho puerto. En caso contrario, se inicia con el COM 1 y
se pregunta si la red existe en ese puerto. Si no es as, se incrementa el nmero de
COM hasta que se encuentre la red. Una vez encontrada la red el programa realiza el
ciclo iniciando en A (Ver Figura 47).
Al iniciar en A el dispositivo se prepara la recibir el comando de ROM
Coincidir Serial (55h). El serial enviado por el dispositivo es almacenado en una
variable y se verifica el ltimo byte que indica la familia del dispositivo.

142

A
Acceso a Dispositivo
mediante
funcin TMROM y
almacenamiento de Serial

NO

Familia
=28H?
SI

NO

Familia
=12H?

NO

Familia
=20H?

SI

Familia
=2CH?

SI

SI

Se incrementa
contador DS18B20

Se incrementa
contador DS2406

Se incrementa
contador DS2450

Se incrementa
contador DS2890

Almacenamiento de
Serial en Vector
Ser18B20

Almacenamiento de
Serial en Vector
Ser2406

Almacenamiento de
Serial en Vector
Ser2450

Almacenamiento de
Serial en Vector
Ser2890

SI

Hay otro
Dispositivo
Conectado?

A
NO

FIN DE
SESIN

FIGURA 47. DIAGRAMA DE FLUJO BUSCADOR DE SERIALES (PARTE 2)

Dependiendo del nmero de la familia se incrementa el contador del dispositivo


correspondiente y se almacena el serial en el vector correspondiente. Este ciclo se
realiza mientras se encuentren dispositivos conectados. Si ya se han almacenado
todos los seriales se finaliza la sesin de comunicacin.

143

CAPTULO V

PRUEBAS, VALIDACIONES Y APLICACIN FINAL

Se divide en tres partes principales: Fabricacin, Pruebas y Validaciones y


Aplicacin Final. La primera contempla la fabricacin de la tarjeta electrnica para
las pruebas y validaciones de los ActiveX del DS2450 y DS18B20. La segunda parte
consta de la realizacin de pruebas individuales de los ActiveX mediante programas
realizados en Visual Basic y por ltimo la aplicacin final creada en Excel.
5.1 FABRICACIN DE LA TARJETA DM-AIO4
Con el propsito de cumplir con el objetivo de la realizacin de las pruebas y
verificacin de los controles ActiveX desarrollados, la empresa decidi elaborar una
tarjeta electrnica capaz de manejar a la vez tanto seales de entrada analgica
(0-10VDC, 0-20mA) como seales de salida digital. Esta tarjeta ser el medio de
verificacin para los controles ActiveX del DS2450 y del DS18B20. No slo es til
para validar estos controles sino para realizar cualquier aplicacin con estos
dispositivos. Actualmente no se conoce o no est documentada la existencia de una
tarjeta con mdulos analgicos y digitales conectados dentro de la misma.

144

Esta tarjeta representa una recurso adicional para los laboratorios de


instrumentacin virtual de ingeniera electrnica y/o carreras afines. Los costos de
implementacin de esta tarjeta se encuentran en el Apndice F.
5.1.1

Requerimientos de diseo de la Tarjeta

Para el diseo de la tarjeta se realiz una asesora con la empresa ROSO Electric
Supply C.A, a travs del Ing. Jos Rodrguez. La empresa estableci los
requerimientos para el diseo de la tarjeta, los cuales fueron:

Debe poder alimentarse con una seal de entrada entre 6VDC y 12VDC.

Incluir DS18B20 y DS2450.

Para el DS2450, se deben poder configurar los 4 canales como entradas


analgicas (0-10VDC, 0-20mA) o salidas digitales.

Debe poseer borneras de conexin para las seales de control (Vin, Data y
Gnd), para las entradas analgicas y para las salidas digitales

Se deben utilizar los rels Grayhill 70G-IAC5 y 70G-OAC5A para manejar


las salidas digitales. La empresa dispone de ellos.

Se le debe brindar proteccin de sobre corriente a los canales del DS2450

Los canales del DS2450 deben tener proteccin contra voltajes mayores al
voltaje de entrada mximo permitido
5.1.2

Diseo bsico de la tarjeta

El diseo de la tarjeta comprende 4 etapas bsicas: la fuente de alimentacin,

145

conexin de los dispositivos 1-Wire, el circuito para la medicin de las entradas


analgicas y el circuito para las salidas digitales.
La fuente de alimentacin debe suministrar 5VDC a toda la circuitera de la tarjeta
con un rango de voltaje de entrada entre 6-12VDC. Debe poseer proteccin en caso
de inversin de polaridad en los terminales de conexin de la entrada.
La conexin de los dispositivos 1-Wire se debe hacer tal y como lo establece el
fabricante mediante la conexin de los pines Vin, Data y GND. Los canales del
DS2450 deben conectarse a unos terminales para permitir la conexin de los rels de
entrada y salida o cualquier seal analgica de 0-10VDC o 0-20mA. Para el caso del
DS18B20 se conectarn los terminales Vin, Data y GND. Esta etapa debe poseer
proteccin contra altas conmutaciones en los estados lgicos bajo y alto.
Referente al circuito para la medicin de entradas analgicas, esta etapa debe
permitir la conexin de seales de voltaje entre 0-10VDC y seales de corriente entre
0-20mA con la debida proteccin para cada caso y una forma de seleccionar una de
estas dos seales.
Para la ltima etapa, debe poseer un mdulo de conexin para los rels Grayhill,
los cuales se conectarn a los canales de DS2450 para abrir/cerrar los circuitos de
potencia de stos mediante la activacin/desactivacin de las salidas digitales del
convertidor A/D. Seguidamente, se muestra en la figura 48, el modelo en bloques:

146

6-12VDC
Vin

Data

GND
Fuente de
Alimentacin

DS18B20

DS2450

Salida
Digital

Rels
Grayhill

Entrada
Analgica

Seal
Analgica
0-10VDC
0-20mA

FIGURA 48. MODELO BSICO DE LA TARJETA DM-AIO4

5.1.3

Listado de Componentes

A continuacin se presentan los componentes elegidos para la fabricacin de la


tarjeta electrnica:

Rels
La empresa establece el uso de los rels Marca Grayhill modelos 70G-IAC5 y
70G-OAC5A cuyas dimensiones en milmetros son iguales para ambos y se muestran
en la figura correspondiente. El 70G-IAC5 es un rel cuyo voltaje de entrada puede
estar entre 90VAC y 140VAC y la salida est compuesta por un diodo led infrarrojo y
un fototransistor que proporciona salida de 5VDC@50mA. El 70G-OAC5 es un rel
cuyo voltaje de entrada es de 5VDC y la salida es igual anterior entre 90 y
140VAC@3.5A.

147

FIGURA 49. DIMENSIONES DE LOS RELS DE LA TARJETA ELECTRNICA: 70G-IAC5


(AMARILLO) Y 70G-OAC5A (NEGRO). Fuente: Catlogo de Digikey (2007).

Reguladores
Para la fuente de poder se eligi el regulador de voltaje LM7805, encapsulado
TO-220 1A, para suministrar la energa necesaria a los componentes de la tarjeta,
incluyendo los dispositivos 1-Wire.

FIGURA 49-1. REGULADOR LM7805 SELECCIONADO PARA LA FUENTE DE


ALIMENTACIN. Fuente: Hoja de Datos del LM7805 (2007)

Resistencias, Condensadores y Diodos de Montaje Superficial


La mayora de los componentes elegidos entre resistencias, condensadores y
diodos se seleccionaron de tipo montaje superficial para ahorrar espacio en la tarjeta
electrnica.

FIGURA 50. RESISTENCIA, CAPACITOR Y DIODO DE MONTAJE SUPERFICIAL. Fuente:


Catlogo De Digikey y Mouser (2007)

148

Condensadores Electrolticos
Se eligieron condensadores electrolticos para la configuracin del regulador
LM7805 correspondiente a la fuente de alimentacin.

FIGURA 51. CONDENSADORES ELECTROLTICOS. Fuente: Catlogo De Digikey (2007)

Terminales de Conexin
Se eligieron los terminales para la conexin de las seales de entrada y salida de
la tarjeta de 6 y 8 posiciones, color verde cuyas dimensiones (LxWxH) en milmetros
son 21 x 7,6 x 9,2 y 28 x 7,6 x 9,2 respectivamente, tal como se muestra en la figura.

FIGURA 52. TERMINAL DE CONEXIN. Fuente: Catlogo De Mouser (2007)

Bloque de 4 Dip Switches


Se eligi un bloque de 4 Dip switches cuyas dimensiones (LxAnchoxAlto) en
milmetros son 12,19 x 9,65 x 7,49 y se utiliz para la seleccin de medicin de
voltaje o corriente en la tarjeta electrnica.

149

FIGURA 53. DIP SWITCH DE 4 POSICIONES. Fuente: Catlogo de Mouser (2007)

Fusible
Se eligi el fusible reseteable de 50mA, 30V de montaje superficial cuyas
dimensiones (LxAnchoxAlto) en milmetros son 3 x 2,35 x 0,5 para satisfacer el
requerimiento de proteccin de sobre corriente para los canales del DS2450.

FIGURA 54. FUSIBLE DE MONTAJE SUPERFICIAL PARA LA PROTECCIN DE LOS


CANALES DEL DS2450. Fuente: Hoja De Datos Del Componente (2007)

Diodo Rectificador
Se eligi el diodo 1N4007 de 1A encapsulado DO-41 para la proteccin de la
fuente de alimentacin en caso de invertir las conexiones correspondientes a Vin y
GND en los terminales de alimentacin de la tarjeta. Sus dimensiones se muestran a
continuacin:

FIGURA 55. DIODO RECTIFICADOR 1N4007. Fuente: Hoja De Datos Del Dispositivo (2007)

150

Diodo Led
Se eligi un diodo Led de color rojo para la indicar que la tarjeta est energizada.

FIGURA 56. DIODO LED. Fuente: Hoja De Datos Del Componente (2007)

Diodo Schottky de Montaje Superficial


Se eligi un diodo Schottky de montaje superficial de 40V @ 1A

FIGURA 57. DIODO SCHOTTKY DE MONTAJE SUPERFICIAL. Fuente: Catlogo De Digikey


(2007)

Jumpers
Se eligieron 4 jumpers para la utilizacin de los canales del DS2450 como
entradas analgicas o como salidas digitales. Las dimensiones se muestran es la
figura:

FIGURA 58. JUMPER. Fuente: Catlogo De Digikey (2007)

151

5.1.4

Diseo y Construccin de la Tarjeta Electrnica

Teniendo el diseo bsico de la tarjeta y una vez elegidos los componentes, se


realiz el diseo en detalle de la tarjeta para las cuatro etapas, las cuales se describen
a continuacin:

Fuente de Alimentacin
La fuente de alimentacin se dise de manera de poder entregar un voltaje de
5VDC@500mA (establecido en hoja de datos del regulador de voltaje) a toda la
tarjeta electrnica con una entrada de voltaje cuyo rango puede oscilar entre 6 y
12VDC. La configuracin y eleccin de los valores de los condensadores se realiz
como lo estipula el fabricante del LM7805 en su hoja de datos para una fuente
regulada de tensin.

FIGURA 59. FUENTE DE ALIMENTACIN DE LA TARJETA ELECTRNICA.

La seal de alimentacin puede provenir tanto del terminal Vin de J2 como de la


salida de un transformador conectado en J1. El diodo D1 protege al circuito al invertir

152

por equivocacin las entradas Vin y GND de los terminales de conexin J2. El Led
PON es un indicador de alimentacin de la tarjeta.

Conexin de los Dispositivos DS2450 y DS18B20


La tarjeta electrnica est diseada para trabajar con el convertidor
analgico-digital de 4 canales DS2450 y el termmetro DS18B20. El diagrama
esquemtico de la conexin de ambos dispositivos en la tarjeta se muestra a
continuacin:

Data

FIGURA 60. DIAGRAMA DE CONEXIN DEL DS2450 Y DS18B20 EN LA TARJETA


ELECTRNICA.

El diodo D2 es un diodo Schottky cuya inclusin dentro del diseo de la tarjeta,


fue sugerida por parte de la empresa. Cuando la distancia entre el computador y la
tarjeta sea muy larga, pueden existir variaciones de tensin en la lnea de datos debido
a las conmutaciones entre los estados lgicos 0 y 1. Esto puede ocasionar que existan
confusiones entre estos estados y el voltaje llegue a caer por debajo de 0V por ser un
circuito inductivo. Con el diodo Schottky se estabilizan estos voltajes y ste absorbe

153

los voltajes negativos permitiendo que las seales de control datos fluyan
correctamente hacia y desde los dispositivos 1-Wire.

Circuito para la medicin de Entradas Analgicas


Se dise un circuito para la medicin tanto de entradas analgicas de voltaje
entre 0 y 10VDC como entradas de corriente entre 0 y 20mA. El diagrama de la
figura 61 muestra el circuito de conexin para el canal y mdulo A, sin embargo para
los otros 3 canales restantes la conexin es exactamente la misma slo que se
reemplaza la letra A por la respectiva.
A la entrada del circuito en el terminal J3 se conectan las seales que se desean
medir (corriente o voltaje en el rango establecido). Para la utilizacin del canal del
DS2450 como entrada analgica, el jumper SH debe estar abierto.

FIGURA 61. DIAGRAMA ESQUEMTICO DEL CIRCUITO ENCARGADO DE LA


MEDICIN DE ENTRADAS ANALGICAS.

Luego, si se desea medir voltaje, el switche SW debe estar abierto. La seal entra

154

a un divisor de voltaje con RA1=RA2. Este voltaje es llevado al pin 4 es llevada al


canal respectivo del DS2450. Ser necesario establecer los valores del multiplicador y
nivel de corrimiento (offset) en el control ActiveX para la medicin correcta de la
seal. El diodo Zener de 12V no permitir que el voltaje se exceda a los 12VDC
mximo de entrada, para as proteger el canal del DS2450 para voltajes mayores a
6VDC el cual es el valor mximo establecido por el fabricante.
Si se desea medir corriente, el switche SW debe estar cerrado, permitiendo que la
corriente sea medida a travs del voltaje de la resistencia RI de 240. Este voltaje es
transmitido al canal del convertidor y ser necesario establecer el multiplicador
respectivo para la correcta obtencin del valor de corriente. Un fusible protege el
circuito de sobre corriente, con un valor mximo de hasta 50mA segn lo establecido
en la hoja de datos del DS2450.

Circuito para la activacin de las Salidas Digitales


El diagrama esquemtico es el mismo mostrado para las entradas analgicas slo
que se obvia el circuito A. El jumper SH debe estar cerrado. El mdulo puede ser
tanto el rel 70G-OAC5A como el 70G-IAC5. En el caso de ser el primero de ellos,
un 0 lgico en el canal del DS2450 activar la salida del rel (1 y 2) cerrando el
circuito conectado a los 120VAC. Un 1 lgico desactivar la salida del rel, abriendo
el circuito conectado entre los terminales 1 y 2. Si el rel es de entrada AC, si se
cierra el circuito conectado entre 1 y 2, el terminal 3 estar en estado bajo lo que
originar que el canal del convertidor detecte un 0 lgico; en caso contrario, detectar

155

un 1 lgico.
Mediante el software Express PCB versin 6.0 se realiz el diseo de la tarjeta
cuyo resultado se muestra en las figuras 62, 63 y 64. Las dimensiones de la tarjeta
(Largo-Ancho-Alto) en cm son: 11,1125-0,2-7,2.

FIGURA 62. TRAZADO DE COMPONENTES DE LA TARJETA ELECTRNICA.

FIGURA 63. CARA SUPERIOR DE LA TARJETA ELECTRNICA.

156

FIGURA 64. CARA INFERIOR DE LA TARJETA ELECTRNICA.

Las tarjetas fueron diseadas siguiendo varios estndares de diseo y fabricacin


de circuitos impresos entre los cuales se pueden mencionar: Generic Standard on
Printed board Design (IPC-2221A), Qualification and Performance Specification
(IPC-6012B), IEEE Standard Reference Designations for Electrical and Electronics
Parts and Equipments (IEEE 200-1975), IEEE Recommended Practice for
Powering and Grounding Electronic Equipment (IEEE 1100-1999). En resumen de
todos estos estndares tomados en cuenta, algunos aspectos considerados fueron los
siguientes:

Minimizar las reas y longitudes de los lazos que contengan corrientes de


conmutacin de alta frecuencia

Colocar los condensadores del filtro de modo que sus terminales entren
fsicamente dentro del trazado de la tarjeta de circuito impreso que conducen
la corriente principal que ser filtrada

Cuando se disee el circuito impreso, tratar de usar rutas simtricas para

157

dispositivos alimentados paralelamente

Escoger el ancho de los trazos del circuito impreso dependiendo del rango de
corriente e incremento aceptable de temperatura

En la figura 62 se observa el trazado de los componentes de la tarjeta. El recuadro


de color rojo corresponde a la fuente de alimentacin y los terminales de conexin de
las seales de control; el de color azul, la zona de configuracin de entradas
analgicas (Voltaje o Corriente) y los terminales de conexin de stas hacia los
canales del DS2450; el recuadro de color verde, corresponde a la ubicacin de los
mdulos de salida digital (rels Grayhill); y finalmente el recuadro amarillo, seala la
ubicacin de los terminales de conexin de la salida de los rels (Vase Apndice C
para ms detalle).
El plano de tierra se distribuye a lo largo de los espacios alrededor de las pistas, lo
que ofrece un mayor aislamiento elctrico y mayor estabilidad ya que se eliminan las
capacitancias parsitas que se forman entre las pistas. El ancho de las pistas
correspondientes a los mdulos es de 0.25cm para soportar la mxima corriente que
puede manejar el rel Grayhill la cual es 3.5A.

Tarjeta del Adaptador para la Comunicacin


Para realizar la comunicacin entre el computador y la red 1-Wire se requiere
de un convertidor USB a 1-Wire el cual fue suministrado por la empresa. ste
consta de un convertidor USB a RS-232 (FT232RL) y de un convertidor RS232 a

158

1-Wire (DS2480B). El diagrama esquemtico de esta tarjeta y el trazado de las


pistas y componentes se pueden visualizar en el Apndice D.

Tarjeta para Pruebas del DS2406


La empresa suministr una tarjeta electrnica (DM-IO2-06) para realizar las
pruebas del ActiveX DS2406 la cual consta de la fuente de alimentacin, el terminal
de conexin de las seales de control, la conexin del DS2406 y dos (2) mdulos para
la conexin de los rels Grayhill 70G-OAC5A y 70G-IAC5. El diagrama
esquemtico de esta tarjeta y el trazado de las pistas se encuentra en el Apndice E. Si
se cierra el canal donde se encuentra conectado el rel 70G-OAC5A, se alimentar a
la carga conectada entre los terminales de salida. El rel 70G-IAC5 se utiliz para
detectar el nivel lgico del canal B del DS2406, conectando en sus terminales de
entrada la carga de 120VAC, generando en su salida un voltaje entre 0 y 5VDC.
5.1.5

Ensamblaje de la Tarjeta

A continuacin se muestra el acabado final de la tarjeta construida.

FIGURA 65. CARA SUPERIOR DE LA TARJETA DM-AI04.

159

FIGURA 66. CARA INFERIOR DE LA TARJETA DM-AI04.

FIGURA 67. TARJETA DM-AI04 Y RELS GRAYHILL.

160

5.2 PRUEBAS Y VALIDACIONES


Esta etapa comprendi la revisin del funcionamiento de los controles ActiveX y
la comunicacin con el computador, y se realizaron los ajustes necesarios para el
buen funcionamiento del sistema.
Se realiz la prueba de conexin de varios dispositivos en la red y ejecutando la
rutina de bsqueda de dispositivos y almacenamiento de seriales. Se corrigieron los
errores relacionados a la operacin con los vectores de seriales y la separacin de la
cadena en grupos de 8 bytes ya que al principio se detectaron fallas debido a que no
se almacenaba correctamente el serial en los controles ActiveX. Posterior a la
correccin de este detalle, la determinacin del nmero de dispositivos por cada
familia result correcta luego de varias pruebas. Una muestra del resultado obtenido
se observa en la figura 68 donde se visualiza la cantidad de dispositivos que estaban
conectados en la red al momento de realizar las pruebas.
Las figuras 68-1 y 68-2 muestran el momento cuando se realiz una de las
pruebas y la visualizacin en el computador, respectivamente.

FIGURA 68. VISUALIZACIN DE LA CANTIDAD DE DISPOSITIVOS CONECTADOS.

161

FIGURA 68-1. REALIZACIN DE LAS PRUEBAS PARA LOS CONTROLES ACTIVEX.

FIGURA 68-2. VISUALIZACIN EN EL COMPUTADOR DE LAS PANTALLAS DE


PRUEBAS.

Tal como se mencion, las pruebas para el DS18B20 y DS2450 se realizaron con
la tarjeta DM-AIO4. Las pruebas para el DS2406 se realizaron con la tarjeta
DM-IO2-06. Para realizar las validaciones del DS2890 se realiz un programa
sencillo donde se insert el control ActiveX de este dispositivo en el formulario de
diseo de Visual Basic el cual se explicar ms adelante. Tambin se realiz la
calibracin del DS2450 para los valores de Multiplicador y Offset de cada canal, y se

162

traz una curva de error para la medicin de las entradas analgicas gracias al
suministro de voltaje de un calibrador porttil.
5.2.1

Para el control ActiveX DS18B20

En vista que este control es de temperatura, para realizar las pruebas y


validaciones se necesita aumentar y disminuir significativamente la temperatura que
lee el DS18B20. Para aumentar la temperatura se utiliz un encendedor y para
disminuir la temperatura se utiliz un congelador electrnico instantneo Instant
Freeze fabricado por SPRAY QUIMICA C.A. cuyo mximo alcance es de -52 C.
Se conectaron las salidas del Adaptador de Comunicacin a las entradas de control
de la tarjeta DM-AIO4 donde se encuentra un DS18B20. El programa elaborado en
Visual Basic const de una rutina para la medicin de la temperatura y visualizacin
de la misma a travs de un grfico en funcin del tiempo. Estos objetos son controles
Iocomp, cuyo uso para las pruebas y verificaciones fue un requerimiento de la
empresa tal como se seal en el captulo IV. El valor de la temperatura es
almacenado en la propiedad TEMPE del control ActiveX y se enva este valor a los
controles Iocomp. En la figura 69 el control Iocomp utilizado (iPlotX) corresponde a
la grfica de la temperatura en funcin del tiempo. En la figura 70 y 71 corresponde a
un display 7 segmentos (iSevenSegmentAnalogX) que muestra mediciones de
temperatura mayores y menores que cero, respectivamente.

163

FIGURA 69. GRFICA DE LA TEMPERATURA VS TIEMPO PARA EL DS18B20.

FIGURA 70. MEDICIN DE LA TEMPERATURA AMBIENTE.

FIGURA 71. TEMPERATURA MEDIDA UTILIZANDO EL CONGELADOR INSTANTNEO

164

Es importante sealar que el fabricante del DS18B20 asegura una precisin en la


medicin de 0,5 C y que este dispositivo viene calibrado de fbrica por lo que el no
pueden realizar calibraciones por software o hardware. Sin embargo, a travs de
iButtonLink LLC, desarrollador de soluciones autorizado por Dallas Semiconductor,
ofrece un servicio de certificacin de termmetros DS18B20 mediante su asociacin
con Precision Metrology (Ver Apndice G), una compaa ubicada en Estados
Unidos que ofrece servicios de calibracin acreditados con ISO 9001:2000 y ISO/IEC
17025/A2LA. Este servicio tiene un costo de 20$US por cada sensor. La hoja de
datos del fabricante tambin incluye una curva del error en funcin de la temperatura
que se puede tomar como referencia para tener mayor exactitud en la medicin. Sin
embargo, al ser el DS18B20 un termmetro con precisin de 0,5 C, el error se
encontrar entre 0 y |0,5 C| lo cual, para efectos didcticos, no representa una
diferencia significativa a juicio de la empresa.
Otros aspectos que abarcaron las pruebas del DS18B20 fueron el cambio de los
bits de resolucin, la descripcin y la desconexin repentina del dispositivo en la red.
Para el primer aspecto, se realizaron los cambios aceptados por el control ActiveX (9,
10 11 12 bits) y no se presentaron errores. Se establecieron valores incorrectos de
resolucin (valores no numricos o fuera de rango) respondiendo el control ActiveX
con el nmero del error correspondiente. Para el segundo aspecto, se estableci una
descripcin mayor a 30 caracteres originando el nmero de error correcto. Para el
ltimo aspecto, se desconect el dispositivo de la red 1-Wire an cuando estaba
realizando la medicin de la temperatura, respondiendo el control ActiveX de forma

165

correcta, es decir, colocando su estado en Falso, y originando el error


correspondiente.
5.2.2

Para el control ActiveX DS2450

Haciendo uso de la tarjeta DM-AIO4 se realizaron las pruebas para el ActiveX


DS2450. Estas pruebas consistieron en la conexin a los terminales de entrada
analgica J3 (Vr Apndice C) de una seal de voltaje o corriente para ser medida por
el convertidor A/D. Tambin se hicieron las pruebas correspondientes a la activacin
de modo de salida digital de los canales del DS2450 realizando la conexin de una
carga de 60W de un bombillo a la salida del rel Grayhill 70G-OAC5A y a la
deteccin del nivel lgico de los canales mediante el rel Grayhill 70G-IAC5. Se hizo
uso del calibrador porttil marca Yokogawa modelo 2422 para realizar la calibracin
de los valores Multiplicador y Offset de los canales del DS2450 (Ver tabla A3) y para
el trazado de las curvas Voltaje de Referencia vs Voltaje Medido y Corriente de
Referencia vs Corriente Medida. Dichas curvas se trazaron para cada canal las cuales
representan el nivel de error que presenta el convertidor 1-Wire en la medicin de
variables analgicas.
Se realiz un programa en Visual Basic para el manejo de todas las propiedades
del ActiveX DS2450, estableciendo valores apropiados e incorrectos para stas,
observando el desempeo del control y las respuestas generadas en sus propiedades.
Todos los cambios realizados en las variables, generaron las respuestas esperadas en
el ActiveX, generando nmeros de error correspondientes a valores incorrectos o

166

fuera de rango para la resolucin, el voltaje de referencia, el corrimiento, la


descripcin y unidades.
A continuacin se muestran las ventanas del resultado del programa elaborado en
Visual Basic:

FIGURA 72. VENTANA DE VISUALIZACIN DE LAS PROPIEDADES DEL ACTIVEX


DS2450 PARA LA MEDICIN DE VOLTAJE

FIGURA 73. VENTANA DE VISUALIZACIN DE LAS PROPIEDADES DEL ACTIVEX


DS2450 PARA LA MEDICIN DE VOLTAJE

La tabla mostrada a continuacin muestra los valores del Multiplicador y Offset

167

seleccionados para obtener una medicin ms exacta para las entradas analgicas de
los canales del DS2450. El valor de Offset es el valor que se debe sumar o restar para
que cuando en el canal existan 0VDC 0mA, el resultado de la conversin del
DS2450 sea 0VDC 0mA segn sea el caso. El multiplicador se seleccion de
manera tal que cuando existan 10VDC 20mA en el canal, el resultado de la
conversin del convertidor A/D 1-Wire sea lo ms cercano posible a 10VDC
20mA.
El trazado de las grficas se realiz con una resolucin para cada canal de 8 bits
ya que el fabricante garantiza un error de LSB para este valor. Para bits de
resolucin mayores a 8, la exactitud es menor que la resolucin por lo que el
resultado de la conversin puede verse afectado por ruido aleatorio.
TABLA A3. VALORES DE MULTIPLICADOR Y OFFSET PARA LA MEDICIN DE
ENTRADAS ANALGICAS DE LA TARJETA DM-AIO4
CANAL

PARMETROS

CANAL
A
CANAL
B
CANAL
C
CANAL
D

MULT
OFFSET
MULT
OFFSET
MULT
OFFSET
MULT
OFFSET

MEDICIN DE
VOLTAJE
2,13
-0,17
2,13
-0,12
2,13
-0,12
2,13
-0,12

MEDICIN DE
CORRIENTE
9
-0,7
8,9
-0,5
9
-0,54
9
-0,54

Trazado de la Curva Voltaje de Referencia vs Voltaje Medido y Trazado de la


Curva Corriente de Referencia vs. Corriente Medida.
El calibrador porttil modelo 2422 de Yokogawa mostrado en la figura 74, genera
voltajes DC, corriente DC y f.e.m para la configuracin de termocuplas. Para la

168

generacin de voltajes en el rango de 10VDC posee una exactitud de (0,05% de la


lectura + 0,02% del rango) con una resolucin de 1mV.

FIGURA 74. CALIBRADOR PORTTIL YOKOGAWA MODELO 2422. Fuente:


www.yokogawa.com (2007)

A continuacin se presentan las grficas del voltaje de referencia generado por


el calibrador versus el voltaje medido por el ActiveX DS2450 realizadas en fecha
03/05/2007 a partir de las 03:30 a.m. hasta 05:40 a.m.:

E. Abs
(VDC)
0
-0.07
-0.06
-0.09
-0.07
-0.06
-0.05
-0.04
-0.02
-0.05
-0.04
0.02
-0.01
0
0.01
-0.01
0
0.01
0.03
0.04
0.01

Vref vs. Error Absoluto (Canal A)


0.06
0.04

Error Absoluto (V)

Vref
(VDC)
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
5.5
6
6.5
7
7.5
8
8.5
9
9.5
10

0.02
0
0

-0.02
-0.04
-0.06
-0.08
-0.1

Vref (VDC)

FIGURA 75. VOLTAJE DE REFERENCIA VS. ERROR ABSOLUTO DEL CANAL A

10

169

E. Abs
(mA)
0
-0.27
-0.37
-0.29
-0.2
-0.3
-0.21
-0.13
-0.23
-0.14
-0.24
-0.15
-0.07
0.01
-0.08
0
-0.1
-0.01
0.07
-0.02
0.06

Iref vs. Error Absoluto (Canal A)


0.1
0.05

Error Absoluto (mA)

Iref
(mA)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

0
-0.05 0

10

15

20

-0.1
-0.15
-0.2
-0.25
-0.3
-0.35
-0.4

Iref (mA)

FIGURA 76. CORRIENTE DE REFERENCIA VS. ERROR ABSOLUTO DEL CANAL A

0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
5.5
6
6.5
7
7.5
8
8.5
9
9.5
10

E. Abs
(VDC)
0
-0.06
-0.05
-0.04
-0.02
-0.05
-0.04
-0.03
-0.06
-0.04
-0.03
0.03
0
0.01
0.02
-0.01
0.01
0.02
0.03
0.04
0.02

Vref vs. Error Absoluto (Canal B)


0.06
0.04

Error Absoluto (VDC)

Vref
(VDC)

0.02
0
0

10

-0.02
-0.04
-0.06
-0.08

Vref (VDC)

FIGURA 77. VOLTAJE DE REFERENCIA VS. ERROR ABSOLUTO DEL CANAL B

170

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

E. Abs
(mA)
0
-0.25
-0.18
-0.1
-0.21
-0.14
-0.07
-0.17
-0.1
-0.21
-0.14
-0.24
0.01
-0.1
-0.03
0.05
-0.06
0.01
0.09
-0.02
0.05

Iref vs. Error Absoluto (Canal B)


0.15
0.1

Error Absoluto (mA)

Iref (mA)

0.05
0
-0.05 0

10

15

20

-0.1
-0.15
-0.2
-0.25
-0.3

Iref (mA)

FIGURA 78. CORRIENTE DE REFERENCIA VS. ERROR ABSOLUTO DEL CANAL B

0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
5.5
6
6.5
7
7.5
8
8.5
9
9.5
10

E. Abs
(VDC)
0
-0.06
-0.05
-0.04
-0.07
-0.05
-0.04
-0.03
-0.06
-0.04
-0.03
0.03
0
0.01
0.02
-0.01
0.01
0.02
0.03
0.04
0.02

Vref vs. Error Absoluto (Canal C)


0,06

Error Absoluto (VDC)

Vref
(VDC)

0,04
0,02
0
0

-0,02
-0,04
-0,06
-0,08

Vref (VDC)

FIGURA 79. VOLTAJE DE REFERENCIA VS. ERROR ABSOLUTO DEL CANAL C

10

171

Iref vs. Error Absoluto (Canal C)


0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

E. Abs
(mA)
0
-0.28
-0.19
-0.11
-0.2
-0.12
-0.04
-0.13
-0.05
-0.14
-0.06
-0.16
0.11
0.01
0.1
0
0.09
0.17
0.07
0.16
0.06

0.2

Error Absoluto (mA)

Iref (mA)

0.1
0
-0.1

10

15

20

-0.2
-0.3
-0.4

Iref (mA)

FIGURA 80. CORRIENTE DE REFERENCIA VS. ERROR ABSOLUTO DEL CANAL C

0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
5.5
6
6.5
7
7.5
8
8.5
9
9.5
10

Vref vs. Error Absoluto (Canal D)

E. Abs
(mA)
0
-0.06
-0.05
-0.04
-0.07
-0.05
-0.04
-0.03
-0.06
-0.04
-0.03
0.03
0
0.01
0.02
-0.01
0.01
0.02
0.03
0.04
0.02

0.06
0.04

Error Absoluto (VDC)

Vref
(VDC)

0.02
0
-0.02

10

-0.04
-0.06
-0.08

Vref (VDC)

FIGURA 81. VOLTAJE DE REFERENCIA VS. ERROR ABSOLUTO DEL CANAL D

172

Iref vs. Error Absoluto (Canal D)

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

E. Abs
(mA)
0
-0.28
-0.19
-0.29
-0.2
-0.12
-0.04
-0.13
-0.05
-0.14
-0.06
-0.16
0.11
0.01
0.1
0
0.09
0.17
0.07
0.16
0.06

0.2
0.1

Error Absoluto (mA)

Iref
(mA)

0
0

10

15

20

-0.1
-0.2
-0.3
-0.4

Iref (mA)

FIGURA 82. CORRIENTE DE REFERENCIA VS. ERROR ABSOLUTO DEL CANAL D

En las grficas obtenidas se observa que el error se acerca a cero a medida que el
voltaje o la corriente se incrementan y esto se puede comprobar en la curva
caracterstica de transferencia que ofrece el fabricante. Para incrementos del voltaje
de entrada, ocurren menos cambios en los bits del resultado digital de la conversin,
lo que se traduce en mayor exactitud. El punto de cruce por 0 se traduce en el valor de
voltaje o corriente a partir del cual el dispositivo ofrece mayor exactitud en la
medicin y en las grficas se observa que en la mayora de los casos este punto es
5.1VDC para entradas de voltaje (la mitad del rango de voltaje permitido) y 11,5mA
para entradas de corriente.

173

5.2.3

Para el control ActiveX DS2406

Se realiz la misma conexin con el adaptador de comunicacin pero esta vez con
la tarjeta DM-IO2-06. Igualmente se evaluaron todas las propiedades del ActiveX
estableciendo valores correctos e incorrectos para cada una de ellas. Para todos los
valores establecidos el control ActiveX respondi de la manera esperada.
El programa realizado cont con el uso del control Iocomp iSwitchRockerX con el
que se abrieron o cerraron los canales del DS2406. Al cerrar el canal, se activ el rel
de salida digital Grayhill 70G-OAC5A a quien se le conect en su salida un bombillo
de 60W y 110VAC de alimentacin. Tambin se encarg de validar los caracteres
ingresados para la descripcin. No se gener ningn tipo de errores en el
funcionamiento del control ActiveX DS2406. Las figuras a continuacin muestran el
resultado de la utilizacin del control ActiveX.

FIGURA 83. PRUEBAS CON EL CONTROL ACTIVEX DS2406.

174

FIGURA 84. CIERRE DEL CANAL A DEL DS2406 HACIENDO USO DEL CONTROL
ACTIVEX.

5.2.4

Para el control ActiveX DS2890

El DS2890 es un potencimetro digital de 100k cuyo valor se puede modificar


mediante el cambio de posicin del cursor a travs de la propiedad Posicion del
ActiveX DS2890. El valor de la posicin puede estar entre 0 (0) hasta 255 (100k).
Se conectaron los extremos de la resistencia a 0 y 5VDC y el cursor se conect a un
Led de manera de visualizar la variacin de la intensidad de luz debido a las
variaciones de posicin del cursor.
Se elabor un programa en Visual Basic para realizar las pruebas del control. Este
programa const de un formulario (Ver figura 85) donde se visualizan las principales
funciones del DS2890 como lo son: Posicin del Cursor, Incrementar o Disminuir
una unidad la Posicin del cursor, Bomba de Carga (Charge Pump), Error, Serial y
Descripcin. El botn Fijar Pos permite establecer la posicin del cursor segn el
nmero escrito en el cuadro de texto a la izquierda del objeto. Los botones

175

Incrementar/Decrementar como su nombre lo indica, le suman o le restan una


unidad a la posicin actual del cursor.
Se realizaron todas las modificaciones posibles a las propiedades del control
ActiveX y no se generaron errores de comunicacin ni en el desempeo del mismo.
Se generaron los cdigos de errores correspondientes a los valores incorrectos de las
propiedades como por ejemplo: Rango de Posicin incorrecta (menor a 0 mayor a
255), Posicin no numrica y Descripcin mayor a 30 caracteres lo que se traduce en
un buen funcionamiento del control ActiveX para el DS2890.

FIGURA 85. FORMULARIO DE PRUEBAS PARA EL ACTIVEX DS2890.

Tiempos de Acceso y Actualizacin


El tiempo de acceso es el tiempo que transcurre desde que el maestro solicita la
sesin de comunicacin con el esclavo hasta que se transmite el comando de ROM
(Coincidir Serial o Match ROM en ingls) estableciendo el enlace maestro-esclavo y

176

quedando el dispositivo 1-Wire a la espera de algn comando de funcin o


memoria.
No se establecieron requerimientos de diseo por parte de la empresa en cuanto a
los tiempos de actualizacin de las variables o propiedades manejadas por los
controles ActiveX. Sin embargo, se realizaron las mediciones de los mismos para
comprobar la velocidad de respuesta de los controles ActiveX. Cabe destacar que los
tiempos de actualizacin se sumarn en caso de que existan varios dispositivos
conectados en la red 1-Wire y el usuario est solicitando y/o modificando las
propiedades de los controles, por lo que disminuir la velocidad de respuesta del
control en comparacin al cambio en tiempo real de la propiedad dentro del
dispositivo. Adems, el uso de los controles ser con fines didcticos por lo que la
rapidez de los cambios realizados en la red, no son un factor clave en el desempeo
de los controles a juicio de la empresa. Este desempeo lo establecer el usuario final
al momento de desarrollar la aplicacin que desea.
A continuacin se muestra una tabla con los tiempos de acceso para cada
dispositivo:
TABLA A4. TIEMPOS DE ACCESO DE CADA DISPOSITIVO
DISPOSITIVO
DS18B20
DS2406
DS2450
DS2890

TIEMPO DE ACCESO (ms)


53
20
73
62

Los valores mostrados en las tablas a continuacin fueron tomados mediante la


elaboracin de un programa en Visual Basic encargado de medir la diferencia de

177

tiempo a partir de la ejecucin de la instruccin hasta la finalizacin de la misma por


medio de un temporizador. Esta instruccin puede ser un procedimiento del control
ActiveX o la lectura o modificacin de una propiedad de los mismos. Se tomaron diez
(10) lecturas del tiempo transcurrido y posteriormente se obtuvo el promedio de las
mismas.
A continuacin se muestran los resultados de las mediciones de los tiempos de
actualizacin de las principales propiedades de cada control ActiveX:

Para el ActiveX DS18B20


TABLA A5. TIEMPOS DE ACTUALIZACIN PARA EL DS18B20
PROCEDIM. O PROP.

BuscarUnicoSerial

LeerEdoInicial

Leer Temperatura
(Alimentacin Parsita)

VALORES DE MUESTRAS
(SEG)
0,8417
0,8457
0,8339
0,8496
0,8476
0,8408
0,8378
0,8369
0,8437
0,8437
3,9666
3,8721
3,983
3,8868
3,8711
3,9678
3,9827
3,8696
3,8711
3,8723
1,9606
2,06
1,9696
1,975
1,9653

PROMEDIO
(SEG)

0,8421

3,9143

178

Leer Temperatura
(Alimentacin Externa)

1,9634
1,9612
1,9747
1,9648
2,0684
1,1939
1,2072
1,1958
1,2023
1,2014
1,2001
1,2065
1,2058
1,3013
1,2987

1,9863

1,2213

Para el ActiveX DS2406


TABLA A6. TIEMPOS DE ACTUALIZACIN PARA EL DS2406
PROCEDIM. O PROP.

LeerEdoInicial

Cerrar Canal A

VALORES DE MUESTRAS
(SEG)
4,2873
4,3828
4,3830
4,3827
4,4789
4,2708
4,2872
4,3831
4,3839
4,3817
0,5714
0,6881
0,6837
0,6875
0,7880
0,6813
0,6958
0,6839
0,6811
0,6940
0,6893
0,6863
0,6816
0,6953

PROMEDIO
(SEG)

4,3621

0,68548

179

Abrir Canal A

Cerrar Canal B

Abrir Canal B

Leer Entrada
Canal A

Leer Entrada
Canal B

0,6829
0,6879
0,6853
0,6820
0,6867
0,7885
0,5812
0,6822
0,6961
0,6862
0,6829
0,6802
0,6954
0,6844
0,6813
0,8675
0,6829
0,6891
0,6950
0,7880
0,6820
0,6946
0,6848
0,6819
0,6962
0,6953
0,4480
0,4494
0,5475
0,4413
0,4547
0,4416
0,4451
0,5465
0,4408
0,4557
0,4545
0,4541
0,5469
0,4476
0,4465
0,4559
0,5479
0,4504
0,4477
0,4453

0,6965

0,6757

0,6989

0,4670

0,4696

180

Para el ActiveX DS2450


TABLA A7. TIEMPOS DE ACTUALIZACIN PARA EL DS2450
PROCEDIM. O PROP.

Activar Modo de
Entradas Analgica

Desactivar Modo de
Entrada Analgica

Lectura de Nivel Lgico en


Canal (DInputX)

Lectura de Entrada
Analgica

VALOR DE MUESTRAS
(SEG)
0,6435
0,7963
0,8436
0,7442
0,7599
0,8520
0,7468
0,7512
0,7580
0,7534
0,7527
0,7496
0,8513
0,7606
0,7580
0,7470
0,7443
0,7591
0,8520
0,7449
1,7953
1,8975
1,8988
1,9125
1,7982
1,9000
1,8910
1,9066
1,7854
1,8957
1,7925
1,8979
1,7913
1,7970
1,9000
1,7865
1,7941
1,7912
1,9036
1,9009
0,7148
0,7208
0,7179

PROMEDIO
(SEG)

0,7611

0,7719

1,8681

1,8355

181

Activar
Salida Digital

Desactivar
Salida Digital

Cambiar Voltaje de
Referencia a 5.1VDC

Cambiar Voltaje de
Referencia a 2.56VDC

Cambiar bits
de Resolucin

0,7145
0,7205
0,7173
0,7156
0,7123
0,7266
0,7156
0,7136
0,7275
0,7167
0,7226
0,7179
0,7172
0,7147
0,7181
0,7167
0,7158
0,7184
0,7137
0,7288
0,7188
0,8206
0,7223
0,7197
0,8204
0,7213
0,7200
0,8194
0,7121
0,7282
0,7165
0,7135
0,7200
0,7171
0,8192
0,7205
0,7183
0,7128
0,7190
0,8218
0,7167
0,7230
0,7216
0,7203
0,7193
0,7188
0,8207

0,7176

0,7181

0,7404

0,7385

0,7394

182

Para el ActiveX DS2890


TABLA A8. TIEMPOS DE ACTUALIZACIN PARA EL DS2890
PROCEDIM. O PROP.

LeerEdoInicial

Incrementar Posicin

Disminuir Posicin

Activar
Charge Pump

VALORES DE MUESTRAS
(SEG)
2,3147
2,4161
2,3201
2,3202
2,3200
2,4153
2,3198
2,3177
2,3185
2,3197
1,7659
1,9830
1,9722
1,9680
1,9740
1,9779
1,8791
2,0830
1,8653
1,8705
2,0827
1,8685
1,9617
1,9822
1,9786
1,9918
1,9810
1,9780
1,8793
2,0831
0,5076
0,5116
0,5086
0,5139
0,5187
0,5087
0,5072
0,5133
0,6125
0,5141
0,5130
0,5102
0,6119

PROMEDIO
(SEG)

2,3386

1,9339

1,9787

0,5216

183

Desactivar
Charge Pump

Mover Posicin
del Cursor

Leer Nueva
Posicin del Cursor

0,5125
0,5098
0,5091
0,5144
0,5105
0,5068
0,5048
0,3640
0,4744
0,4817
0,4804
0,4780
0,5809
0,4752
0,4758
0,4729
0,4875
0,4806
0,4804
0,4795
0,4790
0,4787
0,4799
0,4802
0,4804
0,4793
0,4795

0,5203

0,4771

0,4796

El tiempo transcurrido en los procedimientos LeerEdoInicial es mayor al resto de


los tiempos debido a que ste ejecuta una serie de instrucciones de lectura de registros
y verificacin y fijacin de propiedades, es decir, lee el estado de todas las
propiedades que posea el control. Por ejemplo, si se ejecuta este procedimiento para
el DS2406, ste verificar el registro encargado de la apertura y cierre de los canales;
si en el registro est almacenado que el canal A est abierto y el B est cerrado, el
control abrir el canal A y cerrar el canal B. Igualmente leer el estado lgico de las
entradas de estos canales y almacenar en las propiedades InA e InB (Vase Captulo
6 punto 6.3.4 Propiedades del control ActiveX para el DS2406) el valor respectivo.
Este procedimiento se debe ejecutar principalmente cuando la alimentacin del

184

dispositivo haya sido desconectada y conectada de nuevo para as recordar o


reestablecer las propiedades que tena antes de la desconexin.
5.3 APLICACIN DE PRUEBA FINAL
Para finalizar el perodo de pruebas y validaciones de los controles ActiveX, se
realiz una aplicacin de prueba final, utilizando las tarjetas electrnicas DM-AIO4,
DM-IO2-06 y un tablero de pruebas para la conexin del DS2890 y del adaptador de
comunicacin USB a 1-Wire.
La finalidad de esta aplicacin es mostrar un ejemplo de los posibles usos que se
les pueden dar a los controles ActiveX, mediante el desarrollo de instrumentacin
virtual en un programa elaborado en Microsoft Excel, ya que el mismo es una
aplicacin cliente de Visual Basic, esto indica que Excel posee un editor de Visual
Basic y adicionalmente se pretendi mostrar que los controles ActiveX pueden ser
utilizados en otros entornos que posean editor de Visual Basic. Este programa consta
de diferentes objetos (etiquetas, cajas de texto, botones, etc) y de los ActiveX creados
para los dispositivos 1-Wire.
La simulacin es un proceso de control de temperatura mediante el ajuste de los
valores mximos alto y bajo de la misma. La temperatura le ser controlada a un
bombillo de 60W con un DS18B20 conectado al mismo. La figura 86 muestra la
conexin del bombillo al mdulo digital de la tarjeta DM-AIO4 y la figura 87
muestra la interfaz grfica elaborada.

185

FIGURA 86. CONEXIN DE LOS MDULOS C Y D PARA LA APLICACIN DE PRUEBA

FIGURA 87. INTERFAZ GRFICA DEL EJEMPLO DE APLICACIN

186

Se deben insertar los controles ActiveX mediante el botn Ms Controles ubicado


en la barra de Controles y Herramientas de Visual Basic, tal como se muestra en la
siguiente figura:

FIGURA 88. CONTROLES ACTIVEX

El proceso debe iniciarse con la configuracin del puerto de comunicacin


mediante el botn CONFIG. PUERTO. Al hacer clic sobre este botn se despliega
una ventana como la mostrada en la figura 89 para el establecimiento del nmero de
puerto o la habilitacin de la bsqueda automtica del mismo.

FIGURA 89. VENTANA PARA LA CONFIGURACIN DEL PUERTO DE COMUNICACIN

187

Si el puerto seleccionado manualmente no es correcto, es decir, en l no se


encuentra conectada la red 1-Wire se mostrar un mensaje de error como el
mostrado en la figura 90, indicando al usuario que debe seleccionar otro nmero de
puerto.

FIGURA 90. MENSAJE DE ERROR DE PUERTO DE COMUNICACIN

Una vez configurado el puerto, se visualiza en la parte derecha de la interfaz, la


cantidad de dispositivos de cada tipo, que se encuentran conectados a la red. Al hacer
clic en el botn VER SERIALES se muestra una pantalla como la mostrada en la
figura 91, para mostrar el serial de los diferentes dispositivos conectados.

FIGURA 91. VENTANA DE VISUALIZACIN DE SERIALES

Se selecciona el dispositivo en el men desplegable y se hace clic en VER


SERIAL para mostrar el cdigo de identificacin del mismo.

188

Luego, se deben fijar los valores mximo y mnimo de temperatura entre los cuales
se desea que la temperatura del bombillo se encuentre. Estos valores son modificados
a travs de dos (2) potencimetros conectados en los canales A y B mediante las
entradas analgicas del DS2450 ubicado en la tarjeta DM-AIO4. La figura 92 muestra
el esquema de conexin de los potencimetros reales a la tarjeta.

FIGURA 92. CONEXIN DE LOS MDULOS A Y B PARA LA APLICACIN DE PRUEBA

El rango posible para el valor mximo de temperatura es entre 40 C y 80 C, y en


el caso del valor mnimo, el rango es entre -20 C y 20 C. Estos valores son
establecidos segn el voltaje de entrada a los canales A y B, y limitados para 0VDC y
2.56VDC, que son los valores de voltaje mnimo y mximo que pueden establecer los
potencimetros, respectivamente, en la conexin mostrada en la figura anterior.
Al iniciar el proceso, haciendo clic en el botn INICIAR, comenzar la lectura de
la temperatura del DS18B20 conectado al bombillo, si ste est encendido aumentar
el valor de la misma considerablemente ya que el bombillo calentar al DS18B20.
Esta temperatura ser mostrada en un display ubicado en la interfaz elaborada. Si el

189

valor de temperatura del bombillo supera el valor de temperatura mxima establecida


con el potencimetro conectado en el canal A del DS2450, entonces la salida digital
del canal C del DS2450 se har cero (0), desactivando el mdulo 70G-OAC5A.
Tambin se cerrar el canal A del DS2406 de la tarjeta DM-IO2-06 activando el rel
de salida Grayhill donde se encuentra conectado un ventilador de 110VAC. El
diagrama esquemtico para este circuito es el mismo que el del bombillo (figura 86).
En el canal D del DS2450 y el canal B del DS2406 estn conectados 2 rels de
entrada AC 70G-IAC5 que se encargan de leer el estado lgico del bombillo y el
ventilador, respectivamente. Igualmente al superar el valor mximo de temperatura, la
posicin del potencimetro DS2890 ser colocada en 0, lo cual ocasionar que el
circuito del LM555 sea conectado, accionando al buzzer de alarma de temperatura
alta. Este ltimo circuito es el mostrado a continuacin:

FIGURA 93. CONEXIN DEL POTENCIMETRO DS2890

FIGURA 94. CONEXIN DEL BUZZER DE ALARMA Y EL LM555

190

El circuito del LM555 fue diseado tal cual como la hoja de datos del dispositivo
lo establece, para un oscilador de 50% de ciclo til.
Retomando el proceso, el ventilador har disminuir la temperatura del bombillo. Si
esta temperatura se hace inferior a la temperatura mxima, la posicin del cursor del
DS2890 ser colocada al mximo (255) desconectando al oscilador y por lo tanto
desactivando el buzzer de alarma. Si la temperatura disminuye por debajo del lmite
bajo de seguridad, el ventilador se desconectar por medio de la apertura del canal A
del DS2406 (OutputA = 0), y se activar el bombillo de nuevo por medio de la salida
digital del canal C del DS2450 (Output = 1) para iniciar el proceso nuevamente.
Existen dos (2) interruptores en la interfaz grfica. Uno de ellos se encarga de
controlar el encendido y apagado manual del bombillo; el otro, del encendido y
apagado de un ventilador conectado a uno de los canales del DS2406 ubicado en la
tarjeta DM-IO2-06. Estos interruptores son tiles si el proceso del control se desea
realizar en forma manual, a juicio del usuario
El diagrama esquemtico completo de la aplicacin final se muestra en las figuras
94-1 y 94-2.

191

FIGURA 94-1. DIAGRAMA ESQUEMTICO DE LA APLICACIN FINAL PARTE I

192

JB

FIGURA 94-2. DIAGRAMA ESQUEMTICO DE LA APLICACIN FINAL PARTE II

193

CAPITULO VI

GUA DE USO DE LOS CONTROLES ACTIVEX

El presente captulo tiene como finalidad informarle al usuario que har uso de
los controles ActiveX todo lo relacionado con ellos en cuanto a instalacin,
propiedades, funciones, eventos, modo de uso, protocolo de comunicacin u otra
informacin de inters para que su utilizacin sea satisfactoria y sea mayor provecho
su implementacin.
6.1

INSTALACIN DEL SISTEMA

Para la instalacin de los controles ActiveX para los dispositivos 1-Wire se


debe contar con los requerimientos mnimos que a continuacin se mencionan:

Procesador Pentium 266Mhz o superior con Windows 9X , 2000, XP o


Vista.

Puerto COM de comunicaciones. Si el computador no posee puerto USB


disponible puede usarse un convertidor USB-Serial.

Microsoft Office 2003 o Visual Basic v6.

194

6.1.1 Instalacin de los controladores para el convertidor USB a 1-Wire


El uso del convertidor USB a 1-Wire requiere de la instalacin de algunos
controladores para el correcto funcionamiento del mismo. Para ello se deben seguir
los siguientes pasos:

Hacer doble clic en el archivo USB1Wsetup.exe

Hacer clic en Siguiente

Hacer clic en Instalar para comenzar el proceso de instalacin

Hacer clic en Finalizar para terminar el proceso de instalacin

Una vez instalados los controladores, algunos de los archivos se guardarn


automticamente en la carpeta System32 y otros en la carpeta drivers dentro del
directorio de Windows ubicado en el disco duro principal. Luego es necesario
conectar al puerto USB del computador, el convertidor USB a 1-Wire. Aparecer
una ventana informando que ha sido detectado un nuevo hardware. Se debe
seleccionar la opcin de buscar en una ubicacin especfica los controladores y
asignarle el archivo ftser2k.sys ubicado en la ruta C:\Windows\System32\drivers.
Una vez realizado esto el convertidor estar listo para su uso
6.1.2 Instalacin de los Controles ActiveX
Para la instalacin de los controles ActiveX de los dispositivos 1-Wire en el
computador se debe hacer doble clic en el archivo de instalacin llamado

195

AXSetup.exe. Se visualizar la ventana de bienvenida mostrada en la figura 95. Se


debe hacer clic en siguiente para continuar.

FIGURA 95. VENTANA DE BIENVENIDA AL PROCESO DE INSTALACIN.

Luego de esto, se mostrar una ventana como la mostrada en la figura 96 donde se


debe incluir la informacin de usuario que se solicita a fin de continuar con el proceso
de instalacin de los controles ActiveX. Una vez completados los datos se debe hacer
clic en el botn Siguiente.
Posteriormente se visualizar una ventana como la mostrada en la figura 97
indicando que el proceso de instalacin se llevar a cabo haciendo clic en el botn
Instalar.

196

FIGURA 96. VENTANA DE INFORMACIN DE USUARIO.

FIGURA 97. VENTANA DE INFORMACION DE LA INSTALACION.

Al hacer clic en el botn Instalar se instalarn en el computador los controles


ActiveX y las libreras TMEX necesarias para el funcionamiento de los controles.
Una vez hecho todo lo anteriormente mencionado, se pueden empezar a utilizar los
controles en los programas Visual Basic, Microsoft Word o Excel.

197

6.2 USO DE LOS CONTROLES EN VISUAL BASIC 6.0


Una vez iniciado el software Visual Basic y seleccionado el tipo de proyecto que
se realizar, se pueden agregar los controles ActiveX dentro del formulario de diseo.
Para agregar el control ActiveX a la lista de componentes de Visual Basic, se debe
hacer clic con el botn derecho en la barra de componentes. Luego hacer clic en la
opcin Componentes para visualizar la ventana que se muestra a continuacin:

FIGURA 98. VENTANA DE COMPONENTES DE VB6.

Luego se debe dar clic en Examinar para visualizar la ventana que permitir
ubicar el directorio donde se encuentren guardados los controles ActiveX como
archivos con extensin .OCX. Esta ventana es como la mostrada en la figura 99.
Una vez encontrados los controles ActiveX de comunicacin 1-Wire se agregan
a la ventana Componentes y se seleccionan aquellos que se deseen utilizar. Esto se
ilustra en la figura 100.

198

FIGURA 99. VENTANA DE BSQUEDA DE LOS CONTROLES ACTIVEX.

FIGURA 100. SELECCIN DE LOS CONTROLES ACTIVEX A SER AGREGADOS EN LA


BARRA DE COMPONENTES DE VB.

Una vez realizado este procedimiento, los controles ActiveX pueden ser
visualizados en la barra de componentes del entorno de programacin en Visual
Basic. Cada control ActiveX est identificado con una figura especfica. Si se

199

posiciona el cursor del ratn sobre los controles, el programa mostrar el nombre del
ActiveX que ser el nombre del dispositivo 1-Wire para el cual fue diseado el
control. Las figuras para cada control se muestran en la figura 101.

FIGURA 101. VISUALIZACIN DE LOS CONTROLES EN LA BARRA DE


COMPONENTES DE VB EN EL ENTORNO DE PROGRAMACIN.

Una vez completado todos estos pasos, se puede realizar la aplicacin que se desee
utilizando los controles ActiveX.
6.3 USO DE LOS CONTROLES ACTIVEX EN MICROSOFT EXCEL 2003
Para insertar los controles en el entorno de trabajo de Microsoft Excel, la barra del
Cuadro de Controles de Visual Basic debe estar activada. Para ello se debe hacer clic

200

en Ver - Barra de Herramientas Cuadro de Controles y activarla. Este


procedimiento se muestra en la figura 102.

FIGURA 102. ACTIVACIN DEL CUADRO DE CONTROLES EN MICROSOFT EXCEL.

Una vez activada esta barra los controles ActiveX pueden ser encontrados en el
botn Ms Controles ubicado en el Cuadro de Controles. La figura 103 muestra la
ubicacin de los mismos.
Los controles ActiveX pueden ser insertados en el entorno de trabajo para realizar
la aplicacin deseada, tal como se muestra en la figura 104.

FIGURA 103. UBICACIN DE LOS CONTROLES ACTIVEX EN EL CUADRO DE


CONTROLES DE MICROSOFT EXCEL.

201

FIGURA 104. CONTROLES ACTIVEX EN EL ENTORNO DE TRABAJO DE MICROSOFT


EXCEL.

6.4 USO DE LOS CONTROLES ACTIVEX EN MICROSOFT WORD 2003


Para insertar los controles en el entorno de trabajo de Microsoft Word, la barra del
Cuadro de Controles de Visual Basic debe estar activada. Para ello se debe hacer clic
en Ver - Barra de Herramientas Cuadro de Controles y activarla. Este
procedimiento se muestra en la figura 105.
Una vez activada esta barra los controles ActiveX pueden ser encontrados en el
botn Ms Controles ubicado en el Cuadro de Controles. La figura 106 muestra la
ubicacin de los mismos.
Los controles ActiveX pueden ser insertados en el entorno de trabajo para realizar
la aplicacin deseada, tal como se muestra en la figura 107.

202

FIGURA 105. ACTIVACIN DEL CUADRO DE CONTROLES EN MICROSOFT WORD.

FIGURA 106. UBICACIN DE LOS CONTROLES ACTIVEX EN EL CUADRO DE


CONTROLES DE MICROSOFT WORD.

FIGURA 107. CONTROLES ACTIVEX EN EL ENTORNO DE TRABAJO DE MICROSOFT


WORD.

203

6.5

GENERALIDADES

SOBRE

LOS

PROCEDIMIENTOS

PROPIEDADES DE LOS CONTROLES ACTIVEX


Cuando se inserta el control ActiveX al formulario de diseo, ste adquiere un
nombre como todos los objetos insertados en el mismo formulario. Los nombres por
defecto de los ActiveX diseados son los siguientes: DS18B20X, DS2406X,
DS2450X y DS2890X, donde X valdr desde 1 hasta el nmero mximo de ActiveX
del mismo tipo que estn en el formulario. Este nombre puede ser modificado por el
usuario a su conveniencia. Para efectos de la explicacin de cmo llamar a los
procedimientos y propiedades desde el cdigo del programa, se utilizar
NombreActivex como el nombre establecido por el usuario para el control ActiveX
insertado en el formulario, por lo tanto aplicar para todos los controles.
Cuando se programa el cdigo de la aplicacin diseada por el usuario en Visual
Basic, luego del nombre del objeto que se quiere programar, se escribe un punto (.) y
automticamente se despliegan los parmetros (propiedades, mtodos, clases,
procedimientos, etc) del objeto. En este caso, para los controles ActiveX diseados,
los procedimientos y las propiedades son mostrados del mismo modo, tal como se
ilustra en la figura 108 utilizando como ejemplo el ActiveX del DS18B20.

FIGURA 108. VISUALIZACIN DE LOS PROCEDIMIENTOS Y PROPIEDADES DEL


ACTIVEX.

204

Para ejecutar un procedimiento, el usuario debe hacer uso de la instruccin CALL


de Visual Basic seguido de NombreActiveX.NombreProcedimiento. Por ejemplo, para
ejecutar el procedimiento BuscarUnicoSerial del DS18B20, se escribe la siguiente
lnea de cdigo:
Call DS18B20.BuscarUnicoSerial
Para modificar las propiedades del ActiveX se debe escribir el nombre del
ActiveX seguido de un punto (.), luego se selecciona la propiedad y se iguala a un
valor. Por ejemplo para modificar la propiedad Resolucin del DS18B20, se debe
escribir lo siguiente:

DS18B20.Resolucion = 12
Algunas propiedades no son posibles escribirlas en tiempo de diseo
(especificadas en el punto 6.6) debido a que los controles ActiveX se disearon de
manera de que si se detecta que una propiedad cambia su estado, y sta requiere que
se realice un cambio dentro de la configuracin interna del dispositivo, entonces el
computador tratar de establecer comunicacin con el dispositivo mediante las
funciones TMEX, en tiempo de diseo, lo cual originar un error ya que Visual Basic
no soporta esta opcin.

205

6.6

PROPIEDADES Y PROCEDIMIENTOS DE LOS CONTROLES

ACTIVEX
Cada control ActiveX posee propiedades y procedimientos que estn relacionados
con la operacin del dispositivo 1-Wire para los que fueron diseados. Las
propiedades son variables almacenadas en el ActiveX que pueden ser de
lectura/escritura o slo lectura las cuales la mayora determinarn los parmetros
caractersticos de la configuracin y desempeo del dispositivo 1-Wire. Los
procedimientos son funciones que se ejecutan dentro del ActiveX para realizar alguna
operacin en particular con el dispositivo 1-Wire. A continuacin se explican
detalladamente las propiedades y procedimientos de cada control ActiveX.
6.6.1 Procedimientos del Control ActiveX para el DS18B20
El control ActiveX DS18B20 incluye entre sus parmetros (2) procedimientos:
BuscarUnicoSerial y LeerEdoInicial. El primero se encarga de iniciar la
comunicacin con el DS18B20 que se encuentre nicamente en la red y almacenar en
la propiedad Serial del control, el nmero de 64 bits propio de cada dispositivo. Este
procedimiento slo debe ejecutarse cuando no haya ms dispositivos conectados en la
red salvo un DS18B20 ya que la rutina que ejecuta este procedimiento consta de
buscar el primer dispositivo en la red y almacenar su serial en la propiedad Serial del
ActiveX. En caso de que existiera ms de un dispositivo conectado en la red y se
ejecuta este procedimiento, pueden ocurrir errores en la operacin del ActiveX ya que
quiz almacene en la propiedad Serial, el cdigo correspondiente a otro dispositivo

206

que no sea un termmetro DS18B20 por lo que no responder a los mismos


comandos de memoria del termmetro.
El procedimiento LeerEdoInicial realiza una lectura de la memoria scratchpad
para recordar el ltimo valor de la resolucin siempre y cuando el dispositivo no haya
sido desconectado o desenergizado ya que si ocurre esto, se fijarn el valor de
resolucin por defecto al alimentar al dispositivo.
6.6.2 Propiedades del Control ActiveX para el DS18B20
El control ActiveX DS18B20 incluye 16 propiedades: AutoBusqPuerto,
Descripcion, DS18B20Error, Enabled, Errores, Index, Name, Object, Parent,
PortNum, Power, Resolucion, Serial, Status, Tag y TEMPE. Algunas de estas
propiedades son agregadas por Visual Basic al compilar el cdigo fuente y generar el
OCX. A continuacin se describe cada una de ellas:

AutoBusqPuerto: Esta propiedad es de tipo booleana por lo que slo puede


tener dos valores, True (Verdadero) o False (Falso). Se usa cuando se desea
que el control busque en forma automtica el puerto de comunicacin donde
se encuentra conectada la red 1-Wire. No es posible modificar esta
propiedad en tiempo de diseo.

Descripcion: Esta propiedad es de lectura/escritura de tipo String o cadena de


caracteres cuya mxima longitud es de 30. Indica la descripcin del control
ActiveX. Si esta variable se modifica con una cadena de ms de 30 caracteres

207

la propiedad DS18B20Error mostrar un valor de error. Esta propiedad puede


ser establecida en tiempo de diseo.

DS18B20Error: Esta propiedad es de slo lectura e indica si existe un error


en alguna propiedad del DS18B20 ya sea por valores incorrectos, fuera de
rangos, etc. Para ms informacin consultar el diccionario de errores de los
controles ActiveX.

Enabled: Esta propiedad es propia de Visual Basic y se usa para habilitar o no


al control ActiveX.

Errores: Propiedad de slo lectura que indica el nmero de error (si existe)
para la comunicacin 1-Wire. Para ms informacin consultar el diccionario
de errores de la comunicacin 1-Wire.

Index: Esta propiedad es de slo lectura y devuelve o establece el nmero que


identifica a un control en una matriz o arreglo de controles.

Name: Es de slo lectura. Devuelve el nombre usado en el cdigo para


identificar un objeto.

Object: Propiedad de slo lectura que devuelve un objeto de un control.

Parent: Propiedad de slo lectura que devuelve el objeto en el que se


encuentra este objeto.

PortNum: Propiedad de lectura/escritura que establece el nmero de puerto


para la comunicacin entre el computador y los dispositivos 1-Wire. Si la
propiedad AutoBusqPuerto es verdadera, no es necesario fijar un valor en
PortNum ya que el ActiveX automticamente encontrar el nmero de puerto.

208

En caso contrario, el usuario debe seleccionar entre los puertos de


comunicacin del 1 al 9, si sabe en cul de ellos se encuentra la red. Es
posible establecer el nmero de puerto en tiempo de diseo.

Power: Es una propiedad tipo booleana de slo lectura que indica si el


dispositivo est alimentado o no en forma parsita. Si se encuentra alimentado
con una fuente externa, el valor de Power ser Verdadero, en caso contrario
ser Falso.

Resolucion: Es de lectura/escritura e indica el nmero de bits de resolucin


para la conversin de temperatura del DS18B20. Sus posibles valores son 9,
10, 11 12. Valores diferentes a estos originarn un error indicado por la
propiedad DS18B20Error. Esta propiedad no puede ser modificada en tiempo
de diseo.

Serial: Es una propiedad de lectura/escritura que almacena el serial del


DS18B20 con el que se quiere establecer o se estableci la comunicacin. Se
puede ingresar manualmente el serial en tiempo de diseo o se hace
automticamente con el mtodo o procedimiento BuscarUnicoSerial.

Status: Esta propiedad es de tipo booleana de slo lectura e indica si el


dispositivo se encuentra conectado al bus 1-Wire o no. Si se encuentra
conectado, el valor de esta propiedad ser True (Verdadero). Si el dispositivo
es desconectado intencionalmente o no del bus 1-Wire, esta propiedad ser
False (Falso) indicando que no existe comunicacin con el dispositivo.

Tag: Esta propiedad es aadida por Visual Basic. Se usa para guardar datos

209

adicionales necesarios para el programa.

TEMPE: Es una propiedad de slo lectura que almacena el valor de la


temperatura producto de la conversin realizada por el DS18B20.
6.6.3 Procedimientos del Control ActiveX para el DS2406

El ActiveX DS2406 cuenta con dos (2) procedimientos: BuscarUnicoSerial y


LeerEdoInicial. El primero es exactamente igual que el del DS18B20. El segundo se
usa para leer el estado lgico de los canales y activar o desactivar las salidas
dependiendo de la ltima configuracin que se hizo para el dispositivo.
6.6.4 Propiedades del Control ActiveX para el DS2406
El control ActiveX DS2406 incluye 18 propiedades: AutoBusqPuerto, DescA,
DescB, DS2406Error, Enabled, Errores, InA, InB, Index, Name, Object, OutputA,
OutputB, Parent, PortNum, Serial, Status y Tag. A continuacin se describen cada
una de estas propiedades:

AutoBusqPuerto: Esta propiedad es de tipo booleana por lo que slo puede


tener dos valores, True (Verdadero) o False (Falso). Se usa cuando se desea
que el control busque en forma automtica el puerto de comunicacin donde
se encuentra conectada la red 1-Wire. No es posible modificar esta
propiedad en tiempo de diseo.

DescA: Esta propiedad es de lectura/escritura de tipo String o cadena de


caracteres cuya mxima longitud es de 30. Indica la descripcin del canal A

210

del DS2406. Si esta variable se modifica con una cadena de ms de 30


caracteres la propiedad DS2406Error mostrar un valor de error. Esta
propiedad puede ser establecida en tiempo de diseo.

DescB: Esta propiedad es de lectura/escritura de tipo String o cadena de


caracteres cuya mxima longitud es de 30. Indica la descripcin del canal B
del DS2406. Si esta variable se modifica con una cadena de ms de 30
caracteres la propiedad DS2406Error mostrar un valor de error. Esta
propiedad puede ser establecida en tiempo de diseo.

DS2406Error: Esta propiedad es de slo lectura e indica si existe un error en


alguna propiedad del DS2406 ya sea por valores incorrectos, fuera de rangos,
etc. Para ms informacin consultar la descripcin de los cdigos de errores
de los controles ActiveX.

Enabled: Esta propiedad es propia de Visual Basic y se usa para habilitar o no


al control ActiveX.

Errores: Propiedad de slo lectura que indica el nmero de error (si existe)
para la comunicacin 1-Wire. Para ms informacin consultar el diccionario
de errores de la comunicacin 1-Wire.

InA: Esta propiedad es de slo lectura e indica el estado lgico del canal A.
Los valores posibles de esta propiedad son HIGH o LOW.

InB: Esta propiedad es de slo lectura e indica el estado lgico del canal B.
Los valores posibles de esta propiedad son HIGH o LOW.

Index: Esta propiedad es de slo lectura y devuelve o establece el nmero que

211

identifica a un control en una matriz o arreglo de controles.

Name: Es de slo lectura. Devuelve el nombre usado en el cdigo para


identificar un objeto.

Object: Propiedad de slo lectura que devuelve un objeto de un control.

OutputA: Esta propiedad permite abrir (OutputA=0) o cerrar (OutputA=1


OutputA= -1) el switche del canal A. No puede ser modificada en tiempo de
diseo.

OutputB: Esta propiedad permite abrir (OutputB=0) o cerrar (OutputB=1


OutputA= -1) el switche del canal B. No puede ser modificada en tiempo de
diseo.

Parent: Propiedad de slo lectura que devuelve el objeto en el que se


encuentra este objeto.

PortNum: Propiedad de lectura/escritura que establece el nmero de puerto


para la comunicacin entre el computador y los dispositivos 1-Wire. Si la
propiedad AutoBusqPuerto es verdadera, no es necesario fijar un valor en
PortNum ya que el ActiveX automticamente encontrar el nmero de puerto.
En caso contrario, el usuario debe seleccionar entre los puertos de
comunicacin del 1 al 9, si sabe en cul de ellos se encuentra la red. Es
posible establecer el nmero de puerto en tiempo de diseo.

Serial: Es una propiedad de lectura/escritura que almacena el serial del


DS2406 con el que se quiere establecer o se estableci la comunicacin. Se
puede ingresar manualmente el serial en tiempo de diseo o se hace

212

automticamente con el mtodo o procedimiento BuscarUnicoSerial.

Status: Esta propiedad es de tipo booleana de slo lectura e indica si el


dispositivo se encuentra conectado al bus 1-Wire o no. Si se encuentra
conectado, el valor de esta propiedad ser True (Verdadero). Si el dispositivo
es desconectado intencionalmente o no del bus 1-Wire, esta propiedad ser
False (Falso) indicando que no existe comunicacin con el dispositivo.

Tag: Esta propiedad es aadida por Visual Basic. Se usa para guardar datos
adicionales necesarios para el programa.
6.6.5 Procedimientos del Control ActiveX para el DS2450

El ActiveX DS2450 cuenta con un mtodo o procedimiento el cual es


BuscarUnicoSerial. Funciona de la misma manera que para los dems controles.
6.6.6 Propiedades del Control ActiveX para el DS2450
En el control ActiveX DS2450 se incluyen 52 propiedades las cuales se describen
a continuacin:

AnalogA: Esta propiedad es de lectura/escritura y se utiliza para habilitar


(AnalogA=1 o AnalogA= -1) o deshabilitar (AnalogA=0) el modo de entrada
analgica del canal A. Esta propiedad modifica el bit 7 del registro de control
y estado correspondiente al canal A. Si esta propiedad es modificada con
valores diferentes de los aceptados (1, -1 0), ningn cambio se realiza en el
registro y se genera un nmero de error en la propiedad DS2450Error. No se

213

permite la modificacin en tiempo de diseo.

AnalogB: Esta propiedad es de lectura/escritura y se utiliza para habilitar


(AnalogB=1 o AnalogB= -1) o deshabilitar (AnalogB=0) el modo de entrada
analgica del canal B. Esta propiedad modifica el bit 7 del registro de control
y estado correspondiente al canal B. Si esta propiedad es modificada con
valores diferentes de los aceptados (1, -1 0), ningn cambio se realiza en el
registro y se genera un nmero de error en la propiedad DS2450Error. No se
permite la modificacin en tiempo de diseo.

AnalogC: Esta propiedad es de lectura/escritura y se utiliza para habilitar


(AnalogC=1 o AnalogC= -1) o deshabilitar (AnalogC=0) el modo de entrada
analgica del canal C. Esta propiedad modifica el bit 7 del registro de control
y estado correspondiente al canal C. Si esta propiedad es modificada con
valores diferentes de los aceptados (1, -1 0), ningn cambio se realiza en el
registro y se genera un nmero de error en la propiedad DS2450Error. No se
permite la modificacin en tiempo de diseo.

AnalogD: Esta propiedad es de lectura/escritura y se utiliza para habilitar


(AnalogD=1 o AnalogD= -1) o deshabilitar (AnalogD=0) el modo de entrada
analgica del canal D. Esta propiedad modifica el bit 7 del registro de control
y estado correspondiente al canal D. Si esta propiedad es modificada con
valores diferentes de los aceptados (1, -1 0), ningn cambio se realiza en el
registro y se genera un nmero de error en la propiedad DS2450Error. No se
permite la modificacin en tiempo de diseo.

214

AutoBusqPuerto: Esta propiedad es de tipo booleana por lo que slo puede


tener dos valores, True (Verdadero) o False (Falso). Se usa cuando se desea
que el control busque en forma automtica el puerto de comunicacin donde
se encuentra conectada la red 1-Wire. No es posible modificar esta
propiedad en tiempo de diseo.

DescA: Esta propiedad es de lectura/escritura de tipo String o cadena de


caracteres cuya mxima longitud es de 30. Indica la descripcin del canal A
del DS2450. Si esta variable se modifica con una cadena de ms de 30
caracteres la propiedad DS2450Error mostrar un valor de error. Esta
propiedad puede ser establecida en tiempo de diseo.

DescB: Esta propiedad es de lectura/escritura de tipo String o cadena de


caracteres cuya mxima longitud es de 30. Indica la descripcin del canal B
del DS2450. Si esta variable se modifica con una cadena de ms de 30
caracteres la propiedad DS2450Error mostrar un valor de error. Esta
propiedad puede ser establecida en tiempo de diseo.

DescC: Esta propiedad es de lectura/escritura de tipo String o cadena de


caracteres cuya mxima longitud es de 30. Indica la descripcin del canal C
del DS2450. Si esta variable se modifica con una cadena de ms de 30
caracteres la propiedad DS2450Error mostrar un valor de error. Esta
propiedad puede ser establecida en tiempo de diseo.

DescD: Esta propiedad es de lectura/escritura de tipo String o cadena de


caracteres cuya mxima longitud es de 30. Indica la descripcin del canal D

215

del DS2450. Si esta variable se modifica con una cadena de ms de 30


caracteres la propiedad DS2450Error mostrar un valor de error. Esta
propiedad puede ser establecida en tiempo de diseo.

DInputA: Es una propiedad de slo lectura que indica el nivel lgico en que
se encuentra la entrada del canal A. Si el voltaje de entrada se encuentra entre
0V y 0.8V, entonces DinputA valdr 0; si el voltaje de entrada se encuentra es
mayor a 0.8V y menor a 2.2V entonces DinputA valdr -1 (zona de
incertidumbre); y si el voltaje de entrada es mayor o igual a 2.2V entonces
DinputA valdr 1.

DInputB: Es una propiedad de slo lectura que indica el nivel lgico en que
se encuentra la entrada del canal B. Si el voltaje de entrada se encuentra entre
0V y 0.8V, entonces DinputB valdr 0; si el voltaje de entrada se encuentra es
mayor a 0.8V y menor a 2.2V entonces DinputB valdr -1 (zona de
incertidumbre); y si el voltaje de entrada es mayor o igual a 2.2V entonces
DinputB valdr 1.

DInputC: Es una propiedad de slo lectura que indica el nivel lgico en que
se encuentra la entrada del canal C. Si el voltaje de entrada se encuentra entre
0V y 0.8V, entonces DinputC valdr 0; si el voltaje de entrada se encuentra es
mayor a 0.8V y menor a 2.2V entonces DinputC valdr -1 (zona de
incertidumbre); y si el voltaje de entrada es mayor o igual a 2.2V entonces
DinputC valdr 1.

DInputD: Es una propiedad de slo lectura que indica el nivel lgico en que

216

se encuentra la entrada del canal D. Si el voltaje de entrada se encuentra entre


0V y 0.8V, entonces DinputD valdr 0; si el voltaje de entrada se encuentra es
mayor a 0.8V y menor a 2.2V entonces DinputD valdr -1 (zona de
incertidumbre); y si el voltaje de entrada es mayor o igual a 2.2V entonces
DinputD valdr 1.

DS2450Error: Esta propiedad es de slo lectura e indica si existe un error en


alguna propiedad del DS2450 ya sea por valores incorrectos, fuera de rangos,
etc. Para ms informacin consultar el diccionario de errores de los controles
ActiveX.

Enabled: Esta propiedad es propia de Visual Basic y se usa para habilitar o no


al control ActiveX.

Errores: Propiedad de slo lectura que indica el nmero de error (si existe)
para la comunicacin 1-Wire. Para ms informacin consultar el diccionario
de errores de la comunicacin 1-Wire.

InA: Esta propiedad es de slo lectura e indica el voltaje presente en el canal


A producto de la conversin realizada al ejecutar el mtodo o procedimiento
Convierte2450. Dependiendo del valor de la resolucin, esta propiedad tendr
ms o menor caracteres decimales.

InB: Esta propiedad es de slo lectura e indica el voltaje presente en el canal


B producto de la conversin realizada al ejecutar el mtodo o procedimiento
Convierte2450. Dependiendo del valor de la resolucin, esta propiedad tendr
ms o menor caracteres decimales.

217

InC: Esta propiedad es de slo lectura e indica el voltaje presente en el canal


C producto de la conversin realizada al ejecutar el mtodo o procedimiento
Convierte2450. Dependiendo del valor de la resolucin, esta propiedad tendr
ms o menor caracteres decimales.

InD: Esta propiedad es de slo lectura e indica el voltaje presente en el canal


D producto de la conversin realizada al ejecutar el mtodo o procedimiento
Convierte2450. Dependiendo del valor de la resolucin, esta propiedad tendr
ms o menor caracteres decimales.

Index: Esta propiedad es de slo lectura y devuelve o establece el nmero que


identifica a un control en una matriz o arreglo de controles.

MultA: Esta propiedad es de lectura/escritura y almacena el valor del


multiplicador del resultado de la conversin del canal A. Su valor puede estar
entre 0 y 10000. Esta propiedad puede ser establecida en tiempo de diseo.

MultB: Esta propiedad es de lectura/escritura y almacena el valor del


multiplicador del resultado de la conversin del canal B. Su valor puede estar
entre 0 y 10000. Esta propiedad puede ser establecida en tiempo de diseo.

MultC: Esta propiedad es de lectura/escritura y almacena el valor del


multiplicador del resultado de la conversin del canal C. Su valor puede estar
entre 0 y 10000. Esta propiedad puede ser establecida en tiempo de diseo.

MultD: Esta propiedad es de lectura/escritura y almacena el valor del


multiplicador del resultado de la conversin del canal D. Su valor puede estar
entre 0 y 10000. Esta propiedad puede ser establecida en tiempo de diseo.

218

Name: Es de slo lectura. Devuelve el nombre usado en el cdigo para


identificar un objeto.

Object: Propiedad de slo lectura que devuelve un objeto de un control.

OffsetA: Esta propiedad es de lectura/escritura y almacena el valor del


corrimiento del resultado de la conversin del canal A. Su valor puede estar
entre -10 y 10 con un mximo de 6 caracteres. Esta propiedad puede ser
establecida en tiempo de diseo.

OffsetB: Esta propiedad es de lectura/escritura y almacena el valor del


corrimiento del resultado de la conversin del canal B. Su valor puede estar
entre -10 y 10 con un mximo de 6 caracteres. Esta propiedad puede ser
establecida en tiempo de diseo.

OffsetC: Esta propiedad es de lectura/escritura y almacena el valor del


corrimiento del resultado de la conversin del canal C. Su valor puede estar
entre -10 y 10 con un mximo de 6 caracteres. Esta propiedad puede ser
establecida en tiempo de diseo.

OffsetD: Esta propiedad es de lectura/escritura y almacena el valor del


corrimiento del resultado de la conversin del canal D. Su valor puede estar
entre -10 y 10 con un mximo de 6 caracteres. Esta propiedad puede ser
establecida en tiempo de diseo.

OutputA: Esta propiedad permite activar (OutputA=1 OutputA=-1) o


desactivar (OutputA=0) la salida digital del canal A siempre y cuando el modo
analgico (AnalogA) no est activado. No puede ser modificada en tiempo de

219

diseo.

OutputB: Esta propiedad permite activar (OutputB=1 OutputB=-1) o


desactivar (OutputB=0) la salida digital del canal B siempre y cuando el modo
analgico (AnalogB) no est activado. No puede ser modificada en tiempo de
diseo.

OutputC: Esta propiedad permite activar (OutputC=1 OutputC=-1) o


desactivar (OutputC=0) la salida digital del canal C siempre y cuando el modo
analgico (AnalogC) no est activado. No puede ser modificada en tiempo de
diseo.

OutputD: Esta propiedad permite activar (OutputD=1 OutputD=-1) o


desactivar (OutputD=0) la salida digital del canal D siempre y cuando el
modo analgico (AnalogD) no est activado. No puede ser modificada en
tiempo de diseo.

Parent: Propiedad de slo lectura que devuelve el objeto en el que se


encuentra este objeto.

PortNum: Propiedad de lectura/escritura que establece el nmero de puerto


para la comunicacin entre el computador y los dispositivos 1-Wire. Si la
propiedad AutoBusqPuerto es verdadera, no es necesario fijar un valor en
PortNum ya que el ActiveX automticamente encontrar el nmero de puerto.
En caso contrario, el usuario debe seleccionar entre los puertos de
comunicacin del 1 al 9, si sabe en cul de ellos se encuentra la red. Es
posible establecer el nmero de puerto en tiempo de diseo.

220

RanA: Es una propiedad de lectura/escritura que indica el rango de voltaje de


entrada del canal A. Con RanA=0, el resultado ms alto posible de la
conversin se logra a 2.55V. Si RanA=1 RanA=-1, el valor ms alto de la
conversin se logra a 5.10V. Lo que hace esta propiedad es modificar el bit 0
de la parte alta del registro correspondiente al canal A en la pgina de
memoria de control y estado. No se permite modificar esta propiedad en
tiempo de diseo.

RanB: Es una propiedad de lectura/escritura que indica el rango de voltaje de


entrada del canal B. Con RanB=0, el resultado ms alto posible de la
conversin se logra a 2.55V. Si RanB=1 RanB=-1, el valor ms alto de la
conversin se logra a 5.10V. Lo que hace esta propiedad es modificar el bit 0
de la parte alta del registro correspondiente al canal B en la pgina de
memoria de control y estado. No se permite modificar esta propiedad en
tiempo de diseo.

RanC: Es una propiedad de lectura/escritura que indica el rango de voltaje de


entrada del canal C. Con RanC=0, el resultado ms alto posible de la
conversin se logra a 2.55V. Si RanC=1 RanC=-1, el valor ms alto de la
conversin se logra a 5.10V. Lo que hace esta propiedad es modificar el bit 0
de la parte alta del registro correspondiente al canal C en la pgina de
memoria de control y estado. No se permite modificar esta propiedad en
tiempo de diseo.

RanD: Es una propiedad de lectura/escritura que indica el rango de voltaje de

221

entrada del canal A. Con RanD=0, el resultado ms alto posible de la


conversin se logra a 2.55V. Si RanD=1 RanD=-1, el valor ms alto de la
conversin se logra a 5.10V. Lo que hace esta propiedad es modificar el bit 0
de la parte alta del registro correspondiente al canal D en la pgina de
memoria de control y estado. No se permite modificar esta propiedad en
tiempo de diseo.

ResA: Esta propiedad es de lectura/escritura y almacena el valor de los bits de


resolucin del canal A. Los valores posibles son desde 1 hasta 16. Cualquier
valor diferente a estos no causarn ningn cambio en la resolucin y
generarn un nmero de error en la propiedad DS2450Error. No es posible
modificar esta propiedad en tiempo de diseo.

ResB: Esta propiedad es de lectura/escritura y almacena el valor de los bits de


resolucin del canal B. Los valores posibles son desde 1 hasta 16. Cualquier
valor diferente a estos no causarn ningn cambio en la resolucin y
generarn un nmero de error en la propiedad DS2450Error. No es posible
modificar esta propiedad en tiempo de diseo.

ResC: Esta propiedad es de lectura/escritura y almacena el valor de los bits de


resolucin del canal C. Los valores posibles son desde 1 hasta 16. Cualquier
valor diferente a estos no causarn ningn cambio en la resolucin y
generarn un nmero de error en la propiedad DS2450Error. No es posible
modificar esta propiedad en tiempo de diseo.

ResD: Esta propiedad es de lectura/escritura y almacena el valor de los bits de

222

resolucin del canal D. Los valores posibles son desde 1 hasta 16. Cualquier
valor diferente a estos no causarn ningn cambio en la resolucin y
generarn un nmero de error en la propiedad DS2450Error. No es posible
modificar esta propiedad en tiempo de diseo.

Serial: Es una propiedad de lectura/escritura que almacena el serial del


DS2450 con el que se quiere establecer o se estableci la comunicacin. Se
puede ingresar manualmente el serial en tiempo de diseo o se hace
automticamente con el mtodo o procedimiento BuscarUnicoSerial.

Status: Esta propiedad es de tipo boolean de slo lectura e indica si el


dispositivo se encuentra conectado al bus 1-Wire o no. Si se encuentra
conectado, el valor de esta propiedad ser True (Verdadero). Si el dispositivo
es desconectado intencionalmente o no del bus 1-Wire, esta propiedad ser
False (Falso) indicando que no existe comunicacin con el dispositivo.

Tag: Esta propiedad es aadida por Visual Basic. Se usa para guardar datos
adicionales necesarios para el programa.

UnitA: Es una propiedad de lectura/escritura de tipo String con un mximo de


5 caracteres. Almacena las unidades de medicin del canal A (Volts, mA, bar,
etc) y puede ser modificada a gusto del usuario. Se puede establecer en tiempo
de diseo.

UnitB: Es una propiedad de lectura/escritura de tipo String con un mximo de


5 caracteres. Almacena las unidades de medicin del canal B (Volts, mA, bar,
etc) y puede ser modificada a gusto del usuario. Se puede establecer en tiempo

223

de diseo.

UnitC: Es una propiedad de lectura/escritura de tipo String con un mximo de


5 caracteres. Almacena las unidades de medicin del canal C (Volts, mA, bar,
etc) y puede ser modificada a gusto del usuario. Se puede establecer en tiempo
de diseo.

UnitD: Es una propiedad de lectura/escritura de tipo String con un mximo de


5 caracteres. Almacena las unidades de medicin del canal D (Volts, mA, bar,
etc) y puede ser modificada a gusto del usuario. Se puede establecer en tiempo
de diseo.
6.6.7 Procedimientos del Control ActiveX para el DS2890

El

control

ActiveX

DS2890

incluye

procedimientos

mtodos:

BuscarUnicoSerial, Inc_Dec_Pos y LeerEdoInicial. El primero de ellos es


exactamente igual que para los dems controles. El segundo se usa para incrementar o
disminuir una unidad, la posicin del cursor del potencimetro. Se debe escribir entre
parntesis luego del comando el nmero de control que indicar si incrementa (1 -1)
o disminuye (0) la posicin. El ltimo de los mtodos o procedimientos se usa para
recordar el valor de la posicin y el estado de la bomba de carga (propiedad
ChargePump) del DS2890.
6.6.8 Propiedades del Control ActiveX para el DS2890
El

Control

ActiveX

DS2890

posee

16

propiedades:

AutoBusqPuerto,

224

ChargePump,

Descripcion,

DS2890Error,

Enabled,

Errores,

Index,

Name,

NuevaPosicion, Object, Parent, PortNum, Posicin, Serial, Status y Tag. A


continuacin se describen cada una de ellas:

AutoBusqPuerto: Esta propiedad es de tipo booleana por lo que slo puede


tener dos valores, True (Verdadero) o False (Falso). Se usa cuando se desea
que el control busque en forma automtica el puerto de comunicacin donde
se encuentra conectada la red 1-Wire. No es posible modificar esta
propiedad en tiempo de diseo.

ChargePump: Esta propiedad es de lectura/escritura y se usa para activar


(ChargePump=1 ChargePump=-1) o desactivar (ChargePump=0) el
parmetro Bomba de Carga del DS2890. Al modificar esta propiedad se
modifica el bit 6 del registro de control del potencimetro. Si se establecen
valores diferentes a los mencionados, no se originar ningn cambio en el
dispositivo, y la variable DS2890Error indicar un nmero de error. Esta
propiedad no puede ser modificada en tiempo de diseo.

Descripcion: Esta propiedad es de lectura/escritura de tipo String o cadena de


caracteres cuya mxima longitud es de 30. Indica la descripcin del control
ActiveX. Si esta variable se modifica con una cadena de ms de 30 caracteres
la propiedad DS2890Error mostrar un valor de error. Esta propiedad puede
ser establecida en tiempo de diseo.

DS2890Error: Esta propiedad es de slo lectura e indica si existe un error en


alguna propiedad del DS2890 ya sea por valores incorrectos, fuera de rangos,

225

etc. Para ms informacin consultar la descripcin de los cdigos de errores


de los controles ActiveX.

Enabled: Esta propiedad es propia de Visual Basic y se usa para habilitar o no


al control ActiveX.

Errores: Propiedad de slo lectura que indica el nmero de error (si existe)
para la comunicacin 1-Wire. Para ms informacin consultar el diccionario
de errores de la comunicacin 1-Wire.

Index: Esta propiedad es de slo lectura y devuelve o establece el nmero que


identifica a un control en una matriz o arreglo de controles.

Name: Es de slo lectura. Devuelve el nombre usado en el cdigo para


identificar un objeto.

NuevaPosicion: Esta propiedad es de slo lectura e indica el valor de la


posicin actual del cursor (entre 0 y 255).

Object: Propiedad de slo lectura que devuelve un objeto de un control.

Parent: Propiedad de slo lectura que devuelve el objeto en el que se


encuentra este objeto.

PortNum: Propiedad de lectura/escritura que establece el nmero de puerto


para la comunicacin entre el computador y los dispositivos 1-Wire. Si la
propiedad AutoBusqPuerto es verdadera, no es necesario fijar un valor en
PortNum ya que el ActiveX automticamente encontrar el nmero de puerto.
En caso contrario, el usuario debe seleccionar entre los puertos de
comunicacin del 1 al 9, si sabe en cul de ellos se encuentra la red. Es

226

posible establecer el nmero de puerto en tiempo de diseo.

Posicion: Esta propiedad es de lectura/escritura y se usa para fijar la posicin


del cursor del potencimetro. Su valor puede estar entre 0 y 255. En caso de
que se fije un valor distinto, la posicin del cursor no ser modificada y se
originar un error indicado por la propiedad DS2890Error. Esta propiedad no
puede ser establecida en tiempo de diseo.

Serial: Es una propiedad de lectura/escritura que almacena el serial del


DS2406 con el que se quiere establecer o se estableci la comunicacin. Se
puede ingresar manualmente el serial en tiempo de diseo o se hace
automticamente con el mtodo o procedimiento BuscarUnicoSerial.

Status: Esta propiedad es de tipo boolean de slo lectura e indica si el


dispositivo se encuentra conectado al bus 1-Wire o no. Si se encuentra
conectado, el valor de esta propiedad ser True (Verdadero). Si el dispositivo
es desconectado intencionalmente o no del bus 1-Wire, esta propiedad ser
False (Falso) indicando que no existe comunicacin con el dispositivo.

Tag: Esta propiedad es aadida por Visual Basic. Se usa para guardar datos
adicionales necesarios para el programa.

6.7

CDIGOS DE ERRORES

Cada control ActiveX posee 2 variables asociadas a los errores. Una de ellas
almacena el nmero de error correspondiente a la operacin del ActiveX con el
dispositivo 1-Wire. El otro almacena los errores relacionados a la comunicacin

227

1-Wire.
A continuacin se describen los cdigos de los errores de cada control ActiveX y
los errores de comunicacin 1-Wire.
6.7.1 Cdigo de Errores de los Controles ActiveX
TABLA A9. CDIGOS DE ERRORES PARA LOS CONTROLES ACTIVEX
DISPOSITIVO

DS18B20

NRO. DE
ERROR
0
190
230
240
250
0
10

DS2406

11

DS2450

12
13
250
0
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
29
30
31
32
33

DESCRIPCIN
No existe ningn error
Valor de Resolucin No Numrico
Nro. de caracteres de la descripcin mayor a 30
Valor de Resolucin fuera de Rango
Error de CRC
No existe ningn error
Nro. de caracteres de la descripcin del canal A mayor
a 30
Nro. de caracteres de la descripcin del canal B mayor a
30
Valor de OutputA incorrecto. Valores correctos: 1, -1, 0
Valor de OutputB incorrecto. Valores correctos: 1, -1, 0
Error de CRC
No existe ningn error
Valor de OffsetA fuera de Rango
Valor de OffsetA no numrico
Valor de OffsetB fuera de Rango
Valor de OffsetB no numrico
Valor de OffsetC fuera de Rango
Valor de OffsetC no numrico
Valor de OffsetD fuera de Rango
Valor de OffsetD no numrico
Valor de MultA fuera de Rango
Valor de MultB fuera de Rango
Valor de MultC fuera de Rango
Valor de MultD fuera de Rango
Nro. de caracteres de OffsetA mayor a 6
Nro. de caracteres de OffsetB mayor a 6
Nro. de caracteres de OffsetC mayor a 6
Nro. de caracteres de OffsetD mayor a 6
Nro. de caracteres de UnitA mayor a 5
Nro. de caracteres de UnitB mayor a 5
Nro. de caracteres de UnitC mayor a 5
Nro. de caracteres de UnitD mayor a 5
Valor de MultA no numrico

228

34
35
36
190
240
250
0
10
11
12
14
15
16
17
18

DS2890

19
20
21
22

Valor de MultB no numrico


Valor de MultC no numrico
Valor de MultD no numrico
Valor de Resolucin No numrico
Valor de Resolucin fuera de Rango
Error de CRC
No existe ningn error
Nro. de caracteres de la descripcin mayor a 30
Valor de Posicin No Numrico
Posicin fuera de Rango. Debe estar entre 0 y 255
Cdigo de Liberacin Incorrecto
Nro. de intentos de conexin mayor a 3
Error en transmisin de datos.
Error de fijacin de parmetros
Error de fijacin de parmetro en el procedimiento
Inc_Dec_Pos
Nro. de control incorrecto. Valores correctos: 1,-1 0
Valor de Charge Pump incorrecto. Valores correctos:
1,-1 0
Valor de Charge Pump no numrico
Nro. de control no numrico en procedimiento
Inc_Dec_Pos

6.7.2 Cdigo de Errores de la Comunicacin 1-Wire


TABLA B1. CDIGOS DE ERRORES PARA LA COMUNICACIN 1-WIRE
NMERO DE ERROR
1
30, 36, 62
32
33
34
35
36
60
69

DESCRIPCIN
No hay Error en la Red. La comunicacin se
realiza correctamente
Fallo en la configuracin de la red
Configuracin Ok pero la lnea est
cortocircuitada
No existe Red en el puerto de comunicacin
especificado
Configuracin No Compatible
Sesin No Vlida
Fallo
No hubo Pulso de Presencia en la red
Dispositivo desconectado

Cuando la variable de error del ActiveX o de la comunicacin 1-Wire almacena

229

alguno de estos valores, el dispositivo no realiza ningn cambio internamente debido


a que ya valid la propiedad que el usuario desea modificar (valor incorrecto, fuera de
rango, no numrico, etc). Si el usuario detecta que el dispositivo no realiz el cambio,
es posible que haya ocurrido un error de los mencionados anteriormente, y es cuando
ste debe revisar el nmero que est mostrando las propiedades del control o de la
comunicacin para verificar en qu propiedad estableci un valor incorrecto.

230

CONCLUSIONES Y RECOMENDACIONES

En el presente captulo se incluyen las conclusiones y recomendaciones de este


trabajo especial de grado.
CONCLUSIONES
Todos los objetivos planteados fueron satisfactoriamente cubiertos durante el
desarrollo de este proyecto. En base a ello a continuacin se exponen las siguientes
conclusiones:
Se cumplieron con todos los requerimientos establecidos por la empresa ROSO
Electric Supply S.A. en cuanto a la Instrumentacin Virtual, los controles ActiveX y
la comunicacin 1-Wire lo que permiti el buen funcionamiento del sistema
hardware-software desarrollado.
Con la elaboracin de este trabajo especial de grado se logr la creacin de cuatro
(4) controles ActiveX como instrumentos virtuales representando una herramienta
didctica para el manejo de los dispositivos 1-Wire DS18B20, DS2406, DS2450 y
DS2890. De igual forma se cre un control encargado de la bsqueda y
almacenamiento de seriales de los dispositivos 1-Wire con la posibilidad de indicar

231

el nmero de los distintos circuitos integrados que se encuentran conectados a la red y


la separacin por familias. Este control tambin permite configurar la comunicacin
con la red mediante la bsqueda automtica del puerto COM o el establecimiento del
mismo por parte del usuario.
Se lograron realizar las pruebas para validar los controles ActiveX mediante
simulaciones elaboradas en Visual Basic y el uso de las tarjetas electrnicas
DM-AIO4 y DM-IO2-06 para los dispositivos DS2450, DS18B20 y DS2406,
respectivamente. En el caso del DS2890, las pruebas se realizaron en un tablero de
pruebas. Estas pruebas permitieron verificar las validaciones que se incluyeron en los
controles ActiveX en cuanto a lectura y escritura de propiedades por parte del
usuario, adems del chequeo, comparacin y verificacin de los datos enviados y
recibidos desde y hacia el computador, es decir, se incluy un algoritmo para la
comprobacin de errores en la transmisin y recepcin de datos. En funcin de las
pruebas

realizadas

se

concluye

que

los

controles

ActiveX

responden

satisfactoriamente a los procedimientos y modificacin de sus propiedades ya que los


resultados obtenidos fueron los esperados. En cuanto al tiempo de actualizacin de
los cambios y mediciones realizadas en los controles, se puede decir que stos son
considerados aceptables para la realizacin de modelos didcticos de procesos de
control que pueden ser utilizados en laboratorios de ingeniera electrnica o carreras
afines, ya que el propsito final es didctico por lo que el tiempo de actualizacin no
limita la utilidad de los controles. Estos tiempos fueron medidos para un solo
dispositivo conectado al puerto de comunicacin. En relacin a los errores en la

232

conversin del DS2450, stos se consideran aceptables ya que las diferencias entre el
valor real y medido no es significativa considerando el uso didctico que se le dar al
control.
La aplicacin final elaborada en Microsoft Excel, represent un ejemplo de
prueba para verificar el desempeo y el uso didctico de los controles ActiveX
mediante la simulacin de un proceso de control de temperatura. As como este
ejemplo, se pueden realizar diversas aplicaciones de pruebas por parte de alumnos de
las asignaturas de instrumentacin virtual o afines, permitiendo as que los mismos
despierten el lado creativo y diseen estrategias de control de su propia autora.
Se realiz toda la documentacin del sistema hardware-software desarrollado
durante el transcurso del proyecto. Igualmente se elabor una gua de uso para los
controles ActiveX desarrollados, que contiene los pasos para la instalacin de los
mismos en el computador, las caractersticas de cada propiedad y procedimiento,
iniciando al usuario al manejo y operacin de los dispositivos 1-Wire. Tambin se
incluy en esta gua los cdigos de errores de cada control ActiveX as como de la
comunicacin 1-Wire.
Cabe destacar que los controles ActiveX desarrollados permitirn a sus usuarios
(entre los cuales se pueden incluir estudiantes de ingeniera electrnica y/o carreras
afines, profesores o personas interesadas en la comunicacin 1-Wire) el desarrollo
de cualquier aplicacin con los dispositivos 1-Wire DS18B20, DS2450, DS2406 y
DS2890 a travs de la creacin de aplicaciones que le permitan manipular con

233

instrucciones cortas y sencillas dichos dispositivos.


RECOMENDACIONES
Dar continuidad al proyecto ampliando las funciones, propiedades y eventos de
los controles ActiveX, pudiendo establecer nuevos requerimientos con el propsito de
obtener una mayor diversidad al momento de crear nuevas aplicaciones.
Desarrollar ms controles ActiveX para el resto de los dispositivos 1-Wire a fin
de tener ms opciones para escoger entre los diferentes tipos de circuitos integrados
con este protocolo de comunicacin.
Implementar el sistema desarrollado en la planta piloto de la UNEFA Maracay
realizando pruebas, correcciones y mejoras a fin de utilizar los equipos de control de
procesos existentes en el laboratorio de automatizacin y control ampliando de esta
manera la aplicabilidad de los controles ActiveX como instrumentacin virtual.
Desarrollar programas de aplicacin en los laboratorios de instrumentacin virtual
o materias afines orientados al control de procesos mediante el uso de los controles
ActiveX y los dispositivos 1-Wire en el resto de los programas de aplicacin
mencionados en este trabajo especial de grado de manera de aportar conocimientos a
los estudiantes de Ingeniera Electrnica, carreras afines y a las universidades en
general

234

APNDICES

235

APNDICE A
DISPOSITIVOS 1-WIRE Y SU CDIGO DE FAMILIA.
Fuente: Nota de Aplicacin 155 Maxim-Dallas Semiconductor.

236

APNDICE B
DATASHEET DS2407: PRIMERA PGINA.
Fuente: Maxim-Dallas Semiconductor.

237

APNDICE C
DIAGRAMA ESQUEMTICO DE LA TARJETA DM-AIO4

238

APNDICE D
ADAPTADOR USB A 1-WIRE

239

Trazado de Componentes del adaptador de comunicacin

Cara Superior de la Tarjeta del Adaptador de Comunicacin

Cara Inferior de la Tarjeta del Adaptador de Comunicacin

240

APNDICE E
DIAGRAMA ESQUEMTICO DE LA TARJETA DE PRUEBAS DEL ACTIVEX DS2406

241

Trazado de Componentes de la Tarjeta DM-IO2-06

Cara Superior de la Tarjeta DM-I02-06

Cara Inferior de la Tarjeta DM-I02-06

242

APNDICE F.
MATERIALES Y COSTO DE LA TARJETA DM-AIO4

PART.
ITEM Qty.
No.
DESCRIPTION
1
20
BT
Base Terminal .130x.086" relay Socket
2
1
C1
Capacitor 47uF @ 25VDC
3
1
C2
Capacitor 220uF @ 10VDC
Capacitor tantalo 1 uf @ 35 Volt SMD
4
3
C3..C5
5
1
D1
Diodo Rectifier 1 Amp. 1000 Volt
6
1
D2
Diodo Schoky SOD106 40V @ 1A
7
4
FA..FD
Resseteable Fuse Hold 50ma Trip 150ma 30V
JACK Transf. 2.1 mm
8
1
J1
9
1
J2
3.5mm (PT1.5/6-3.5H) ECO Connector
10
1
J3
3.5mm (PT1.5/8-3.5H) ECO Connector
5.08mm ECO Connector
11
4
JA..JD
Red SHORT Led Clear T 1 3/4 5 mm 80 mcd
12
1
PON
13
1
R0
Resistencia SMD 1206 1.0 Kohm
14
5
R1..R5
Resistencia SMD 1206 5% 4.7 Kohm
15
4
RIA..RID Resistencia SMD 1206 1% 240 Ohm
16
8
RA1..RD2 Resistencia SMD 0805 0.5% 120KOhm
17
4
SHA..SHD Shunt, Economical .1" BLACK 15 AU
18
1
SWA..SWD Dip Switch 4P Dip 0.3"
19
4
TPOST
Treaded Standoffs .250" O.D. 8-32
20
1
U1
Dallas 1Wire Quad A/D Converter
Regulador LM7805
21
1
U2
22
1
U3
Dallas 1Wire Thermometer
23
4
ZA..ZD
Diodo Zener SMD 12V @ 1W
24
1
BOARD
Tarjeta Impresa PCB cant. = 40

Dlar

2150,00

Aduana

DISTRIBUIDOR
Digikey
Digikey
Digikey
Mouser
Benavides
Digikey
Digikey
Mouser
Mouser
Mouser
Ditel
Digikey
Digikey
Digikey
Digikey
Digikey
Digikey
Digikey
Digikey
Digikey
Digikey
Digikey
Digikey
Digikey

CODE
ED5028-ND
P834-ND
P832-ND
80-T491A104K035
1N4007
RB160L-40TE25CT-ND
MICROSMD005CT-ND
806-KLDX-0202-A
651-1984659
651-1984675
ETB 1302
67-1089-ND
P1.0KECT-ND
P4.7KECT-ND
RHM240FCT-ND
RR12P120KDCT-ND
A26230-ND
GH7170-ND
3495K-ND
DS2450S+
NJM#7805FA-ND
DS18B20+
SMAJ4742A-TPCT-ND
PCB

Costo $
0,448
0,072
0,120
0,160
0,040
0,420
0,630
0,370
0,870
1,160
0,372
0,135
0,094
0,094
0,047
0,140
0,127
0,940
0,289
8,720
0,500
5,040
0,275
10,000
Total $
Costo Sub_Total

1,35

Total $
8,96
0,07
0,12
0,48
0,04
0,42
2,52
0,37
0,87
1,16
1,49
0,14
0,09
0,47
0,19
1,12
0,51
0,94
1,16
8,72
0,50
5,04
1,10
10,00
29,84
86598,99 Bs

243

ITEM Qty. SUPPLIER DESCRIPTION


RELES GRAYHILL
1
1
DIGIKEY
INPUT RELAY 90-140 VAC 70G-IAC5
2
1
DIGIKEY
OUTPUT 24-120 VAC 3.5 A 70G-OAC5

Digikey
Digikey

CODE

Costo $

GH3042-ND
GH3037-ND

9,620
10,580
Total $

9,62
10,58
20,20

Costo Sub_Total 2

58630,50 Bs

TOTAL

Total $

145229,49 Bs

244

APNDICE G
CERTIFICADO DE CALIBRACIN DS18B20

245

APNDICE H
CDIGO FUENTE BUSCADOR DE DISPOSITIVOS
'RUTINA PARA LA BUSQUEDA DE DISPOSITIVOS, ALMACENAMIENTO DE
'SERIALES DE LOS DISPOSITIVOS EN UN VECTOR, DEPENDIENDO DE LA
'FAMILIA A LA QUE PERTENEZCA (DS18B20, DS2406, DS2450, DS2890)
Option Explicit
'// DECLARACIN DE VARIABLES GLOBALES UTILIZADAS EN EL PROGRAMA
Dim state_buffer(15360) As Byte
Dim SHandle
As Long 'Manejador de Comunicaciones
Dim ROM(8)
As Integer 'Arreglo para almacenar el serial del dispositivo
Public Ser18B20(23)
As String 'VECTOR Q ALMACENA LOS SERIALES DEL DS18B20
Public Ser2406(23)
As String 'VECTOR Q ALMACENA LOS SERIALES DEL DS2406
Public Ser2450(23)
As String 'VECTOR Q ALMACENA LOS SERIALES DEL DS2450
Public Ser2890(23)
As String 'VECTOR Q ALMACENA LOS SERIALES DEL DS2890
'Default Property Values:
Const m_def_Enabled = 0
Const m_def_Serial = "0"
Const m_def_Status = 0
Const PortType = 5
'Property Variables:
Dim m_Enabled As Boolean
Dim m_Serial As String
Dim m_Status As Boolean
Dim m_Errores As String
Dim m_PortNum As Integer
Dim m_AutoBusqPuerto As Boolean
Dim m_NumDS18B20 As Integer
'CUENTA EL NUMERO DE DISP 18B20 PRESENTES
Dim m_NumDS2406 As Integer
'CUENTA EL NUMERO DE DISP 2406 PRESENTES
Dim m_NumDS2450 As Integer
'CUENTA EL NUMERO DE DISP 2450 PRESENTES
Dim m_NumDS2890 As Integer
'CUENTA EL NUMERO DE DISP 2890 PRESENTES
Public Property Get Enabled() As Boolean
Enabled = m_Enabled
End Property
Public Property Let Enabled(ByVal New_Enabled As Boolean)
m_Enabled = New_Enabled
End Property
Public Property Get Serial() As String
Serial = m_Serial
End Property
Public Property Let Serial(ByVal New_Serial As String)
m_Serial = New_Serial
End Property

246

Public Property Get Status() As Boolean


Status = m_Status
End Property
Public Property Let Status(ByVal New_Status As Boolean)
m_Status = New_Status
End Property
Public Property Get Errores() As String
Errores = m_Errores
End Property
Public Property Let Errores(ByVal New_Errores As String)
m_Errores = New_Errores
End Property
Public Property Get PortNum() As Integer
PortNum = m_PortNum
End Property
Public Property Let PortNum(ByVal New_PortNum As Integer)
m_PortNum = New_PortNum
End Property
Public Property Get AutoBusqPuerto() As Boolean
AutoBusqPuerto = m_AutoBusqPuerto
End Property
Public Property Let AutoBusqPuerto(ByVal New_AutoBusqPuerto As Boolean)
m_AutoBusqPuerto = New_AutoBusqPuerto
End Property
Public Property Get NumDS18B20() As Integer
NumDS18B20 = m_NumDS18B20
End Property
Public Property Let NumDS18B20(ByVal New_NumDS18B20 As Integer)
m_NumDS18B20 = New_NumDS18B20
End Property
Public Property Get NumDS2406() As Integer
NumDS2406 = m_NumDS2406
End Property
Public Property Let NumDS2406(ByVal New_NumDS2406 As Integer)
m_NumDS2406 = New_NumDS2406
End Property
Public Property Get NumDS2450() As Integer
NumDS2450 = m_NumDS2450
End Property
Public Property Let NumDS2450(ByVal New_NumDS2450 As Integer)

247

m_NumDS2450 = New_NumDS2450
End Property
Public Property Get NumDS2890() As Integer
NumDS2890 = m_NumDS2890
End Property
Public Property Let NumDS2890(ByVal New_NumDS2890 As Integer)
m_NumDS2890 = New_NumDS2890
End Property
'Inicializar propiedades para control de usuario
Private Sub UserControl_InitProperties()
m_Enabled = m_def_Enabled
m_Serial = m_def_Serial
m_Status = m_def_Status
m_Errores = m_def_Errores
m_PortNum = m_def_PortNum
m_AutoBusqPuerto = m_def_AutoBusqPuerto
m_NumDS18B20 = m_def_NumDS18B20
m_NumDS2406 = m_def_NumDS2406
m_NumDS2450 = m_def_NumDS2450
m_NumDS2890 = m_def_NumDS2890
End Sub
'Cargar valores de propiedad desde el almacn
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
m_Enabled = PropBag.ReadProperty("Enabled", m_def_Enabled)
m_Serial = PropBag.ReadProperty("Serial", m_def_Serial)
m_Status = PropBag.ReadProperty("Status", m_def_Status)
m_Errores = PropBag.ReadProperty("Errores", m_def_Errores)
m_PortNum = PropBag.ReadProperty("PortNum", m_def_PortNum)
m_AutoBusqPuerto = PropBag.ReadProperty("AutoBusqPuerto", m_def_AutoBusqPuerto)
m_NumDS18B20 = PropBag.ReadProperty("NumDS18B20", m_def_NumDS18B20)
m_NumDS2406 = PropBag.ReadProperty("NumDS2406", m_def_NumDS2406)
m_NumDS2450 = PropBag.ReadProperty("NumDS2450", m_def_NumDS2450)
m_NumDS2890 = PropBag.ReadProperty("NumDS2890", m_def_NumDS2890)
End Sub
'Escribir valores de propiedad en el almacn
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
Call PropBag.WriteProperty("Enabled", m_Enabled, m_def_Enabled)
Call PropBag.WriteProperty("Serial", m_Serial, m_def_Serial)
Call PropBag.WriteProperty("Status", m_Status, m_def_Status)
Call PropBag.WriteProperty("Errores", m_Errores, m_def_Errores)
Call PropBag.WriteProperty("PortNum", m_PortNum, m_def_PortNum)
Call PropBag.WriteProperty("AutoBusqPuerto", m_AutoBusqPuerto, m_def_AutoBusqPuerto)
Call PropBag.WriteProperty("NumDS18B20", m_NumDS18B20, m_def_NumDS18B20)
Call PropBag.WriteProperty("NumDS2406", m_NumDS2406, m_def_NumDS2406)
Call PropBag.WriteProperty("NumDS2450", m_NumDS2450, m_def_NumDS2450)
Call PropBag.WriteProperty("NumDS2890", m_NumDS2890, m_def_NumDS2890)
End Sub

248

'==================================================================
' CODIGO AGREGADO QUE REUNE LAS PRINCIPALES FUNCIONES DEL BUSCADOR DE
SERIALES
'=========================================================================
Public Sub IniciarBusqueda()
Dim FLAG As Integer ' Variable que almacena el valor retorno funcin
Dim Romstr As String ' String que almacena el serial del dispositivo
Dim I
As Integer ' Variable de uso general
Dim J
As Integer 'Contador de 18B20
Dim K
As Integer 'Contador de 2406
Dim L
As Integer 'Contador de 2450
Dim M
As Integer 'Contador de 2890
If AutoBusqPuerto = True Then
Call Auto_Busqueda_Commport
End If
'// INICIA UNA SESIN DE COMUNICACIN CON EL PUERTO
SHandle = -1
While (SHandle <= 0)
SHandle = TMExtendedStartSession(PortNum, PortType, vbNullString)
Wend
Errores = TMSetup(SHandle)

'CONFIGURACION DEL PUERTO

'//////---------- INICIALIZACIN DE VARIABLES-------//////////


NumDS18B20 = 0
NumDS2406 = 0
NumDS2450 = 0
NumDS2890 = 0
For I = 0 To 23 Step 1
Ser18B20(I) = ""
Next I
For I = 0 To 23 Step 1
Ser2406(I) = ""
Next I
For I = 0 To 23 Step 1
Ser2450(I) = ""
Next I
For I = 0 To 23 Step 1
Ser2890(I) = ""
Next I
J=0
K=0
L=0
M=0
If (Errores = 1) Then
'SE REPITE LA SIGUIENTE RUTINA MIENTRAS EN EL PUERTO SE ENCUENTREN CHIPS
'1-WIRE. SE CUENTAN EL NUMERO DE CHIPS Y SE AGRUPAN LOS SERIALES SEGUN

249

'LA FAMILIA DEL DISPOSITIVO (28 = DS18B20 ; 12 = DS2406 ; 20 = DS2450 Y


'2C = DS2890. CUANDO NO SE DETECTEN MS DISPOSITIVOS SE DEJA DE EJECUTAR
'LA FUNCIN
Do
FLAG = TMNext(SHandle, state_buffer(0))
If FLAG = 1 Then 'SI SE ENCUENTRA UN DISPOSITIVO ENTONCES...
ROM(0) = 0
FLAG = TMRom(SHandle, state_buffer(0), ROM(0))
Romstr = ""
'ALMACENAMIENTO DEL SERIAL
For I = 7 To 0 Step -1
If (ROM(I) <= &HF) Then Romstr = Romstr + "0"
Romstr = Romstr + Hex$(ROM(I))
Next I
Serial = Romstr
'----AGRUPACION DE SERIALES EN LOS VECTORES RESPECTIVOS----' PARA EL DS18B20
' ================
If ROM(0) = &H28 Then
NumDS18B20 = NumDS18B20 + 1
For I = 0 To 7
If ROM(I) <= &HF Then Ser18B20(J) = Ser18B20(J) + "0"
Ser18B20(J) = Ser18B20(J) + Hex$(ROM(I))
J=J+1
Next I
End If
'PARA EL DS2406
'==============
If ROM(0) = &H12 Then
NumDS2406 = NumDS2406 + 1
For I = 0 To 7
If ROM(I) <= &HF Then Ser2406(K) = Ser2406(K) + "0"
Ser2406(K) = Ser2406(K) + Hex$(ROM(I))
K=K+1
Next I
End If
'PARA EL DS2450
'==============
If ROM(0) = &H20 Then
NumDS2450 = NumDS2450 + 1
For I = 0 To 7
If ROM(I) <= &HF Then Ser2450(L) = Ser2450(L) + "0"
Ser2450(L) = Ser2450(L) + Hex$(ROM(I))
L=L+1
Next I
End If

250

'PARA EL DS2890
'==============
If ROM(0) = &H2C Then
NumDS2890 = NumDS2890 + 1
For I = 0 To 7
If ROM(I) <= &HF Then Ser2890(M) = Ser2890(M) + "0"
Ser2890(M) = Ser2890(M) + Hex$(ROM(I))
M=M+1
Next I
End If
End If
Loop Until FLAG <> 1
'SI NO SE PUDO REALIZAR LA CONFIGURACIN DEL PUERTO ARROJA ERRORES TMEX
Else
Serial = "Ningun Disp"
Select Case Errores
Case 0
Errores = 30
' FALLO DEL SETUP
Case 2
Errores = 32
' SETUP OK PERO HAY CORTOCIRCUITO
Case 3
Errores = 33
' NO EXISTE RED
Case 4
Errores = 34
' SETUP NO SOPORTADO
Case -200
Errores = 35
' SESION INVALIDA
Case Is < 0
Errores = 36
' ERROR
End Select
End If
TMEndSession (SHandle)
End Sub
'----------------------------------------------BUSQ AUTOM. DEL PUERTO-------------------------------------Private Sub Auto_Busqueda_Commport()
' PERMITE ENCONTRAR EL NUMERO DEL
PUERTO
'DECLARACION DE VARIABLES:
Dim X As Byte
Dim Dato As Byte
Dim Resultado As Boolean
Resultado = False
' COMIENZO DE LA BUSQUEDA DEL PUERTO
For X = 1 To 15
SHandle = TMExtendedStartSession(X, 5, vbNullString)
If SHandle > 0 Then
Dato = TMSetup(SHandle)
If Dato = 1 Then
TMTouchReset (SHandle)
PortNum = X

251

Resultado = True
Exit For
End If
End If
Next
' SI SE ENCONTRO EL PUERTO SE ASIGNA EL NRO A PORTNUM
If Resultado Then
PortNum = X
' EN CASO CONTRARIO GENERA UN MENSAJE DE ERROR
Else
PortNum = " "
' Si Resultado = False, entonces
Errores = 36
' ERRORES DE SETUP
End If
TMEndSession (SHandle)
End Sub

252

APNDICE I
CRONOGRAMA DE ACTIVIDADES

Sem.

Sem.

Sem.

Sem.

Sem.

Sem.

Sem.

Sem.

Sem.

Sem.

Sem.

Sem.

Sem.

Sem.

Sem.

Sem.

MAYO
2007
Sem.

ENERO 2007
FASES

Recopilacin
Terica
Requerimientos
Diseo sistema
Sntesis de
Algoritmos
Codificacin
Tarjeta
Pruebas y
Validaciones
Integracin y
Programa Final
Documentacin

FEBRERO 2007

MARZO 2007

ABRIL 2007

253

BIBLIOGRAFA
1. lvarez, Miguel ngel (2004). Qu es ActiveX. (Documento en lnea).
Disponible:

http://www.desarrolloweb.com/articulos/993.php.

(Consulta:

2007, Enero 20).


2. Babn Abijana, Leonardo (2002). Instrumentos Virtuales al servicio de la
enseanza. (Documento en lnea). Universidad de Oriente, Cuba. Disponible:
http://www.monografias.com/trabajos27/instrumentos-virtuales/instrumentosvirtuales.shtml#intro. (Consulta: 2007, Enero 20).
3. Berzal, Fernando (2004). Algoritmos y Programas: Introduccin a la
Programacin.

Disponible:

http://elvex.ugr.es/decsai/c/apuntes/intro.pdf.

(Consulta: 2007, Marzo 21).


4. Castillo, Elas (2005). Manual de Visual Basic 6.0. (Manual en lnea).
Disponible:
http://www.lawebdelprogramador.com/cursos/mostrar.php?id=93&texto=Vis
ual+Basic. (Consulta: 2007, Marzo 21).
5. CEO Consulting Group (2006). Glosario Empresarial (Publicacin en lnea).
Mxico. Disponible:
http://www.ceoconsulting.com.mx/html/glosario_empresarial.html. (Consulta:
2007, Enero 20).
6. Chacn, Rafael (2002). La instrumentacin virtual en la enseanza de la
Ingeniera Electrnica. (Revista en lnea). Revista Accin Pedaggica. Vol 11.
N1

pp.

74-84.

Universidad

del

Tchira,

Venezuela.

Disponible:

http://www.saber.ula.ve/db/ssaber/Edocs/pubelectronicas/accionpedagogica/v
ol11num1/art8_v11n1.pdf. (Consulta: 2007, Enero 20).

254

7. Crow (2002). Creando un control ActiveX (OCX). (Documento en lnea).


Argentina. Disponible:
http://www.elguruprogramador.com.ar/zonas/ver.asp?id=93. (Consulta: 2007,
Marzo 21).
8. G. Brassard and P. Bratley (1997). Fundamentos de Algoritmia. Madrid,
Espaa; Prentice Hall. Captulo 6 y 7.
9. Galtung, Johan (1966). Teora y Mtodo de la Investigacin Social. Buenos
Aires, Argentina; Eudeba, Tomo I.
10. Gonzlez, I.; Peliz, Aime; Santana, Ariel; Pentn, Arbelio; Caldern,
Francisco (2005). La instrumentacin virtual y la simulacin complementaria
en apoyo del proceso de Enseanza-aprendizaje en los laboratorios docentes
de fsica de la Universidad de La Habana. (Documento en lnea). Disponible:
(Consulta:

http://colos.fcu.um.es/TICEC05/TICEC05/29_565.pdf.

2007,

Marzo 21)
11. International Organization for Standarization (2007). Norma ISO 5807:
Procesamiento de Informacin. Disponible: www.iso.org. (Consulta: 2007,
Marzo 21).
12. Martn, Pedro Rufo (2001). Tutorial ASP. (Documento en lnea). Disponible:
http://www.asptutor.com/asp/vart.asp?id=40. (Consulta: 2007, Marzo 21).
13. Matta, Danny
14. Maxim-Dallas Semiconductor (2002). Overview of 1-Wire Technology and
Its Use: Nota de Aplicacin 1796. Disponible: www.maxim-ic.com/an1796.
(Consulta: 2007, Enero 20).
15. Maxim-Dallas Semiconductor (2005). 1-Wire Software Resource Guide
Device Description: Nota de Aplicacin 155. Disponible: www.maximic.com/an155. (Consulta: 2007, Marzo 21).
16. Mendiburu
(Documento

Daz,

Henry
en

(1997).
lnea).

Instrumentacin

Virtual

Monografas.

Industrial.
Disponible:

http://www.monografias.com/trabajos38/instrumentacion-virtual-industrial/

255

17. Merelo Guervs, Juan Julin. Principios de ActiveX. (Documento en lnea).


Universidad de Granada, Espaa. Disponible:
http://geneura.ugr.es/~jmerelo/DegaX/activex.html. (Consulta: 2007, Enero
20).
18. Microsoft Corporation (2006). Cmo utilizar componente ActiveX en Visual
Basic .NET o Visual Basic 2005. (Documento en lnea). Disponible:
http://support.microsoft.com/kb/315847/es. (Consulta: 2007, Marzo 21).
19. National Instruments (2004). Our History. History and Awards (Documento
en lnea). Disponible: http://www.ni.com/company/history.htm. (Consulta:
2007, Enero 20).
20. Nio Adriana y Castillo Juan (2006). Desarrollo de una Plataforma
Tecnolgica con fines didcticos para la enseanza de la Instrumentacin
Virtual. Trabajo de Grado para optar al ttulo de Ingeniero Electrnico.
Universidad Nacional Experimental de la Fuerza Armada (UNEFA).
Maracay, Venezuela.
21. Rodrguez, Jos (2006). Introduccin a la Instrumentacin Virtual
(Publicacin en lnea). Disponible: http://www.roso-control.com. (Consulta:
2007, Enero 20).
22. Rodrguez, Jos (2006). Protocolo 1-Wire (Publicacin en lnea).
Disponible: http://www.roso-control.com. (Consulta: 2007, Enero 20).
23. Rodrguez, Pablo; Palma, Hugo; Pincheira, Walter; Seguel, Alex.
Procesamiento Digital de Seales con aplicaciones en Instrumentacin y
Control. (Documento en lnea). Unidad Acadmica Confluencia, Argentina.
Disponible: http://www.uacf.utn.edu.ar/procdigital.htm. (Consulta: 2007,
Marzo 21)
24. Schr, Sissel Guttormsen y Krueger, Helmut (2000). Using New Learning
Technologies with Multimedia (Revista en lnea). Revista IEEE Multimedia.
Edicin

Electrnica.

Vol.

7,

3,

pp.

40-51.

Disponible:

256

http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=879767.

(Consulta:

2007, Enero 20).


25. Som, Guillermo (1997). Controles ActiveX Visual Basic 5, VB5cce y VB6.
(Documento en lnea). La Web de la Programacin. Disponible:
http://www.elguille.info/VB/VB_CCE.HTM#cce_01. (Consulta: 2007, Marzo
21).
26. Som, Guillermo (2006). Creacin de un Control ActiveX (OCX)
Paso a Paso. (Documento en lnea). La Web de la Programacin. Disponible:
http://www.elguille.info/VB/proyectos/activex/textspin.htm. (Consulta: 2007,
Marzo 21).
27. Tabares Juan (2006). Sistema de Control de Humedad, Temperatura y Riego
para Invernaderos Industriales. Trabajo de Grado para optar al ttulo de
Ingeniero Electrnico. Universidad Nacional Experimental de la Fuerza
Armada (UNEFA). Maracay, Venezuela.
28. Universidad de Concepcin. Qu es ActiveX. (Documento en lnea). Chile.
Disponible:

http://www2.udec.cl/~sscheel/pagina%20virus/activex.htm.

(Consulta: 2007, Enero 20).


29. Universidad de la Laguna (2003). Algoritmos y Programas: Fundamentos de
Informtica.

Tenerife,

Espaa.

(Documento

en

lnea).

Disponible:

http://asignaturas.pcg.ull.es/esici/fi/traspas/AlgoritmosProgramas-2.pdf.
(Consulta: 2007, Marzo 21).
30. Wikipedia (2007). ActiveX Data Object. (Documento en lnea). Disponible:
http://es.wikipedia.org/wiki/ActiveX_Data_Objects. (Consulta: 2007, Marzo
21).
31. Wirth, Nikalus (1976). Algorithms + Data Structures = Programs. Prentice
Hall. Reimpreso en espaol en 1987 bajo el nombre Algoritmos y Estructuras
de datos. Mxico; Prentice Hall Hispanoamericana.

257

LISTADO DE SMBOLOS Y ABREVIATURAS


1-Wire

Comunicacin serial asncrona mediante un solo conductor

AC

Corriente Alterna

API

Interfaz de Programa de Aplicacin

C.A.

Compaa Annima

CRC

Cyclic Redundancy Checks (Control por Redundancia Cclica)

EPROM

Erasable Programmable Read-Only Memory (Memoria ROM


borrable programable)

EEPROM Electrically-Erasable Programmable Read-Only Memory (Memoria ROM


elctricamente borrable y programable)
GND

Referencia de Tierra

Kilo Ohmio. Unidad de medicin de Resistencia Elctrica

mA, A

Mili Amperios, Amperios. Unidad de medicin de Corriente


Elctrica

mV, V

Mili Voltios, Voltio. Unidad de medicin de Voltaje

258

OCX

OLE Control Extension (Extensin de Control OLE)

PIO

Programmed Input/Output (Entrada/Salida Programada)

ROM

Read Only Memory (Memoria de Slo Lectura)

SDK

Software Development Kit (Kit de Desarrollo de Software)

SOIC

Small Outline Integrated Circuit (Circuito Integrado de Pequeo


Contorno)

SRAM

Static Random Access Memory (Memoria Esttica de Acceso Aleatorio)

USB

Universal Serial Bus (Bus Serial Universal)

VB6

Visual Basic versin 6

VAC

Voltaje en Corriente Alterna

VDC, VCC

Voltaje en Corriente Continua

Vin

Voltaje de Entrada

Vref

Voltaje de Referencia

259

GLOSARIO

Active Server Pages (ASP): es una tecnologa del lado servidor de Microsoft para
pginas web generadas dinmicamente. Este entorno permite crear y ejecutar
aplicaciones dinmicas e interactivas en la web. Se puede combinar pginas HTML,
secuencias de comandos y componentes ActiveX para crear pginas y aplicaciones
Web interactivas.
C
Compilador: Un compilador es un programa que traduce un programa escrito en
un lenguaje de programacin a otro lenguaje de programacin, generando un
programa equivalente. Usualmente el segundo lenguaje es cdigo mquina, pero
tambin puede ser simplemente texto. Este proceso de traduccin se conoce como
compilacin.
Comunicacin 1-Wire: Comunicacin serial asincrnica half duplex que se
compone de un conductor ms tierra para la comunicacin y cuyos dispositivos
conectados se alimentan de la misma.

260

Control ActiveX: Definicin de Microsoft usada para denotar componentes de


software reusable basados en la tecnologa Modelo de Objeto Componente COM. Los
controles ActiveX estn proveen funcionalidad reusable encapsulada a los programas
y tpicamente, pero no siempre, se muestran en su forma original.
E
Escalable: Capacidad de ampliar la cantidad de entradas al instrumento virtual.
I
Instrumento Virtual: Mdulo de software que a travs del uso de un
computador, permite simular instrumentos reales cuyas caractersticas estn definidas
por software pero realiza las mismas funciones que un equipo real.

Modelo de Objeto Componente o Component Object Model (COM): es una


plataforma de Microsoft para componentes de software introducida por dicha
empresa en 1993. Esta plataforma es utilizada para permitir la comunicacin entre
procesos y la creacin dinmica de objetos, en cualquier lenguaje de programacin
que soporte dicha tecnologa. El trmino COM es a menudo usado en el mundo del
desarrollo de software como un trmino que abarca las tecnologas OLE, OLE
Automation, ActiveX, COM+ y DCOM.

260

261

Monotonicidad: Para un convertidor D/A es la caracterstica de la funcin de


transferencia en la que un incremento de los cdigos de entrada ocasiona un
incremento continuo de la salida analgica. Puede ocurrir una no monotonicidad si
el error diferencial de la linealidad del convertidor excede de +/-1 LSB.
O
OCX: Abreviatura de Extensin de Control OLE (OLE Control Extension en
ingls). Es un mdulo de programa independiente que puede ser accedido por otros
programas en un ambiente Windows. Los controles OCX finalizan con la extensin
.ocx. Los controles OCX representan la segunda generacin de la arquitectura de
controles de Microsoft, la primera fueron los controles VBX escritos en Visual Basic.

261

You might also like