Anexo I Software de fabricante para el sistema...

54
ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 85 Anexo I Software de fabricante para el sistema Hx11 Utilidades Software para el sistema Hx11 Usar la aplicación de configuración Hay dos modos de cambiar los parámetros del Hx11. Haciendo clic en “Find Devices”, el programa buscará todos los dispositivos conectados; esta operación puede requerir varios segundos. Una vez se ha asegurado que todos los dispositivos se han encontrado, se hace clic en “Stop”. Nótese que si todos los dispositivos están activos puede ser necesario hacer clic en Stop” antes de hacer clic en “Find Devices”. Una vez encontrados todos los dispositivos, se hace clic en “Read EEPROM”. Esta acción debe mostrar la configuración de todos los dispositivos en línea. Los parámetros pueden modificarse y retransmitirse al dispositivo (clic “Write EEPROM”). Los parámetros pueden también salvarse en un fichero (cambiando el nombre “Current” por el nombre del fichero propio). El otro modo de configurar los dispositivos es usando una configuración preestablecida, haciendo doble clic en el fichero correcto.

Transcript of Anexo I Software de fabricante para el sistema...

Page 1: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 85

Anexo I Software de fabricante para el

sistema Hx11

Utilidades Software para el sistema Hx11

Usar la aplicación de configuración

Hay dos modos de cambiar los parámetros del Hx11. Haciendo clic en “Find Devices”, el

programa buscará todos los dispositivos conectados; esta operación puede requerir varios

segundos. Una vez se ha asegurado que todos los dispositivos se han encontrado, se hace

clic en “Stop”.

Nótese que si todos los dispositivos están activos puede ser necesario hacer clic en

“Stop” antes de hacer clic en “Find Devices”. Una vez encontrados todos los dispositivos, se

hace clic en “Read EEPROM”. Esta acción debe mostrar la configuración de todos los

dispositivos en línea. Los parámetros pueden modificarse y retransmitirse al dispositivo (clic

“Write EEPROM”). Los parámetros pueden también salvarse en un fichero (cambiando el

nombre “Current” por el nombre del fichero propio).

El otro modo de configurar los dispositivos es usando una configuración preestablecida,

haciendo doble clic en el fichero correcto.

Page 2: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

86 SOFTWARE PARA EL SISTEMA HX11

Imagen I-1. Selección del fichero de configuración de la EEPROM.

El siguiente ejemplo muestra el fichero “Distance A to B”. Se hace clic en “Write

EEPROM” para descargar en línea los parámetros de los dispositivos.

Page 3: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 87

Imagen I-2. Resultado de la carga del fichero “Distance A to B. set”

El fichero “Distance A to B.set” tiene el aspecto mostrado en la figura X siguiente

aspecto y puede utilizarse un editor de texto simple para modificarlo.

Este es un ejemplo punto a punto donde ambos dispositivos están cableados al puerto

serie. Si se envía “$x”, donde x es un carácter cualquiera, el dispositivo 11362 transmitirá una

señal una vez transcurrido el tiempo txDelay 11. El dispositivo 11364 medirá el tiempo de

viaje y dará como salida la distancia al dispositivo 11362, una vez transcurrido el tiempo

txDelay 128.

Page 4: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

88 SOFTWARE PARA EL SISTEMA HX11

|

|

11362 1 11 1 33

11364 2 128 1 33

El símbolo “|” indica el final de los comentarios y el comienzo de la información. Si se

selecciona “Write EEPROM”, la información en la primera línea se escribe en la EEPROM del

dispositivo 11362 y la segunda línea se escribe en la EEPROM del dispositivo 11364.

Operación

El “Hx11 configure” puede utilizarse para configurar los dispositivos Hx11 bien uno por

uno, o bien por grupos conectados a una red. Puede utilizarse para configurar redes

conectadas o no a un controlador Hx11C. Hay por tanto, dos modos de configurar el

dispositivo, bien cargando un fichero desde el menú de ficheros, o bien encontrando los

dispositivos en la red, leyéndolos (usando “read EEPROM”), configurar los ajustes y recargar

haciendo clic en “Write EEPROM”.

Para editar la tabla de configuración una vez que se han cargado los valores, se

selecciona la columna o fila deseada, lo que lleva este valor a la ventana de texto donde

puede ser modificado. Se repite la operación con todos los valores que se quieran modificar.

A continuación se selecciona “Save” o “Save on a file”, o bien se hace clic en “Write

EEPROM”. El nombre del fichero también puede editarse cambiando el contenido en la

ventana de texto situada más a la izquierda.

Para modificar los dispositivos conectados, se pulsa el botón “Find Devices” y tras

esperar varios segundos, se listan las direcciones de todos los dispositivos conectados a la

red. Una vez que se han listado todos los dispositivos, se hace clic en “Stop”, lo que cargará

las direcciones primarias de los dispositivos en la tabla de configuración.

Una vez que las direcciones de los dispositivos están en la tabla de configuración, se

presiona “Read EEPROM” para cargar en la tabla de configuración los parámetros actuales

de los dispositivos. Estos parámetros pueden editarse, cambiarse y volver a ser cargados en

los dispositivos mediante la orden “Write EEPROM”.

Page 5: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 89

Para cargar un fichero en la tabla de configuración, se hace clic en el botón “File” y se

selecciona el fichero de configuración, los cuales tienen la extensión .SET. El fichero .SET es

ya un fichero de texto que puede editarse utilizando un editor de texto cualquiera.

TxDelay

La constante txDelay se expresa en términos de 4.096 milisegundos, por tanto, un

txDelay=128 equivale aproximadamente a 524 ms. Para poner todo esto en perspectiva,

supongamos que el txDelay del dispositivo 11362 se hubiese fijado a 1 y el del 11364 a 10.

Entonces, la señal sónica saldría del dispositivo 11362 4ms después de la señal de

sincronismo, dado que la señal debe viajar como máximo 4 metros, se obtiene que la señal,

que dura unos 15ms, tarda sobre 12 ms en recorrer dicha distancia. Se tardan otros 10 ms en

transmitir los resultados a través del cable serie; por tanto el valor 10x4 (40ms) no es muy

adecuado.

Si el valor del txDelay es menor del requerido, puede ser que la señal no esté

completamente almacenada en el dispositivo cuando se le pide a este que vacíe su

contenido.

Por tanto la próxima vez que se solicite su contenido habrá dos valores en el ring buffer

haciendo errático el muestreo.

XpDelay

El xpDelay es un retardo que se introduce entre el instante en el que el transpondedor

recibe una llamada y el instante en que éste responde a la misma. Puede resultar útil para

permitir que las señales residuales de transmisiones previas decaigan al menos

parcialmente.

El xpDelay está en términos de 4.096 milisegundos.

IdOverride

Los dispositivos responderán a una ID transmitida de valor inferior a 16. De manera que

si un dispositivo envía una señal con un código de identificación por debajo de 16, entonces

cualquier dispositivo que reciba el código responderá enviando una señal transcurrido el

tiempo xpDelay.

Page 6: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

90 SOFTWARE PARA EL SISTEMA HX11

El dispositivo que ha realizado la llamada producirá la etiqueta temporal de la señal (es

decir, el tiempo de vuelo)

Operación Background del receptor Hx11

Cuando el dispositivo recibe el carácter “$”, limpia sus temporizadores al llegar el flanco

de subida del bit de inicio perteneciente al carácter que siga al “$”. La latencia de esta

sincronización es 200ns, y los contadores desbordan cada 1.048576 segundos.

El dispositivo escucha señales ultrasónicas y almacena la identidad y el tiempo de

llegada de cada señal en un buffer de anillo. La información almacenada es referida como la

etiqueta temporal, donde el tiempo de llegada equivale al tiempo transcurrido desde la

sincronización hasta que se detecta un punto fijo de la señal ultrasónica detectada.

Si el dispositivo recibe su propia dirección ID de dispositivo (16bit) por la línea serie,

transmitirá todos los datos que tenga en el ring buffer en ese momento. El ring buffer se

desborda cada vez que se reciben 32 etiquetas temporales ultrasónicas, y la última etiqueta

se sobrescribe.

CtlByte = 1 (modo bit 0 fijado)

Una vez que el tiempo transcurrido desde la sincronización iguala al tiempo especificado

en el txDelay, el dispositivo transmite la ID ultrasónica. Este valor de ID está

especificado en el etiquetado del dispositivo.

Si se ha escrito un valor inferior a 16 en el buffer de invalidación (override buffer),

entonces este valor se convierte en la ID transmitida, y se conoce como la ID del caller.

CtlByte = 2 (modo bit 1 fijado)

Una vez que el tiempo transcurrido desde la sincronización iguala al tiempo especificado

por el txDelay, el dispositivo transmite el contenido de su propio ring-buffer a través de las

líneas serie.

CtlByte = 3 (modo bit 0 and 1 fijado)

Page 7: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 91

Una vez que el tiempo transcurrido desde la sincronización iguala al tiempo especificado

por txDelay, el dispositivo transmite una ID ultrasónica. Este valor de ID está especificado en

el etiquetado del Hx11.

Si se ha escrito un valor inferior a 16 en el buffer de invalidación (override buffer),

entonces este valor se convierte en la ID transmitida, y se conoce como la ID del caller.

El dispositivo limpiará sus propios temporizadores y transmitirá el contenido de su ring

buffer a través de las líneas serie.

Esta operación se repite con un intervalo igual al txDelay.

CtlByte: Modo bit 2 fijado.

Transpondedor deshabilitado. El dispositivo no transponderá a ningún caller.

Uso del programa “A to B”

El programa “A to B” se proporciona para ayudar a la comprensión del funcionamiento

de los dispositivos Hx11. Se ha diseñado para implementar la operación punto a punto

básica. Existen dos casos:

Caso 1

Tanto el dispositivo A como el B deben estar cableados (RS232) a un ordenador o un

microcontrolador. Se trata de una operación sincronizada donde el programa “A to B”

sincroniza los dispositivos periódicamente, con una tasa definida por el “SyncInterval”

(Intervalo de Sincronización).

Caso 2

Los dispositivos deben estar en modo transpondedor. En este caso uno de los

dispositivos no está conectado al dispositivo controlador (puede moverse libremente). En el

modo transpondedor no se requiere ni se usa sincronización.

Com, SyncInterval, K1 y K2 son todas variables definidas por el usuario.

Page 8: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

92 SOFTWARE PARA EL SISTEMA HX11

Imagen I-3. Ejecución de A to B.exe con variables introducidas por usuario.

Frecuencia de muestreo y SyncInterval (sólo para caso 1)

El SyncInterval (intervalo de sincronización) se introduce en términos de milisegundos.

Una vez que el valor correcto se ha seleccionado el usuario puede hacer clic en la ventana de

SyncInterval y la frecuencia de muestreo cambiará.

El carácter de sincronización para el Hx11 es “$” seguido de cualquier carácter no

reservado.

Para la operación sin cableado (transpondedor) el SyncInterval debe ser cero (sin

sincronismo).

Almacenamiento de información

Para almacenar el valor de la distancia en un fichero, se hace doble clic en la ventana

“Distance Value”.

Calibración

Tanto el txDelay como el xpDelay (ver el programa Config) están integrados en el tiempo

de vuelo de la señal, es decir, el tiempo (en hexadecimal o decimal) estará alterado por el

valor de estas dos constantes. Dado que son constantes, pueden calibrarse desde fuera del

sistema como sigue.

Calibración Simple

Dado que la frecuencia del reloj del Hx11 es 16000000 cuentas/segundo y el sonido viaja

a una velocidad 344000 milímetros/segundo, tenemos un valor igual 344/16000 ó 0.0215

milímetros/cuenta. Este valor varía levemente con la temperatura. La relación entre la

distancia y el tiempo es como sigue:

Page 9: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 93

Distancia = K1*tiempo-K2

Fijar K2= 0

Colocar los dispositivos A y B a una distancia conocida el uno del otro y anotar el valor

(K1*tiempo) en la ventana de distancia.

Por tanto:

K2= Ventana de distancia – Distancia Conocida

Calibración elaborada

Colocar A y B a una distancia aproximada de 3 metros.

Anotar el valor de la ventana temporal (DTWV) y la distancia conocida (KD)

KD=3000 y DTWV(1)= #1

Colocar A y B a una distancia aproximada de 6 metros

Anotar el valor de la ventana temporal (DTWV) y la distancia conocida (KD)

KD=6000 y DTWV(1)= # 2

Usando la relación Distancia = K1*tiempo – K2 se tiene suficiente información para

calcular K1 y K2.

Page 10: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

94 SOFTWARE PARA EL SISTEMA HX11

K1 = (6000 –3000) / (#2 – #1)

Conocido K1 puede calcularse K2

K2 = K1 * #1 – 3000

Introducir K1 y K2 en sus respectivas ventanas y el valor de distancia reflejará la

distancia real entre A y B.

Considérense los dos ficheros de configuración mostrados a continuación.

Dispositivo Id 11362 … Transmisor ID 231 … Transpondedor ID 31

Dispositivo Id 11364 … Transmisor ID 232 … Transpondedor ID 32

Distance A to B.set

Este es un ejemplo punto a punto donde ambos dispositivos están cableados al puerto

serie. Si se envía $x, donde x es un carácter cualquiera, el dispositivo 11362 transmitirá una

señal una vez transcurrido el tiempo txDelay 11. El dispositivo 11364 medirá el tiempo de

viaje y dará como salida la distancia al dispositivo 11362, una vez transcurrido el tiempo

txDelay 128.

|

11362 1 11 1 33

11364 2 128 1 33

Imagen I-4. Ejecución de A to B.exe con variables introducidas por usuario.

Page 11: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 95

Distance A to B wireless.set (ver notas de aplicación)

Este es un ejemplo punto a punto donde A y B no están cableados. El dispositivo 11362

transponde a la llamada del 11364.

|

11362 0 80 1 33

11364 3 255 1 15

Imagen I-5. Ejecución de A to B.exe con variables introducidas por usuario.

Aunque una configuración utiliza sincronismo y la otra no, la mayor diferencia entra

ambas es la ID hexadecimal resultante. Nótese que en la configuración utilizada para el

archivo “Distance A to B wireless.set” se le ha asignado al dispositivo 11364 la ID 15 (F en

hexadecimal). La etiqueta ID hexadecimal del dispositivo 11362 es 231 (hex) y su ID de

transpondedor es 31. En la configuración sin cables (wireless), el dispositivo 11364 reporta

que su llamada F, ha sido recuperada por el transpondedor 31. Esto permite al usuario

destacar la respuesta, incluso en el caso de que haya muchas otras señales detectadas por

otros transpondedores.

La utilidad de sondeo de dispositivo (DevicePollUtility)

El programa devicePoll es una utilidad para inspeccionar el buffer circular (ring buffer)

de un dispositivo. Se proporciona también la característica que permite almacenar el

contenido del ring buffer en un fichero. El nombre del fichero es decivePoll.txt y puede

inspeccionarse usando un editor de texto estándar.

Page 12: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

96 SOFTWARE PARA EL SISTEMA HX11

Imagen I-6. Programa DevicePoll

Uso del programa u_Track

El programa Hx11 u_Track es una utilidad para mostrar las etiquetas que transmite el

Hx11 en una imagen de fondo a escala, proporcionada por el usuario.

El escalado es muy importante para el correcto funcionamiento. Para ajustarlo,

simplemente se introducen las coordenadas de la esquina superior izquierda y de la esquina

inferior derecha del plano de planta en un fichero de texto con la extensión .hxt. El fichero

puede crearse con un nombre elegido por el usuario. Por ejemplo, si suponemos que el

usuario tiene una imagen en formato GIF de la primera planta de un edificio, podemos

llamar a la imagen floor1.gif. El usuario debe crear a continuación un fichero .hxt utilizando

el mismo nombre elegido para la imagen.

Page 13: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 97

El fichero le dice al programa Hx11 u_Track la escala de la imagen, es decir, las

coordenadas de las esquinas superior izquierda e inferior derecha.

Fichero: floor1.hxt 0 0 15000 16000

El programa Hx11 u_Track lee el fichero anterior como esquina superior izquierda en

(0,0) y esquina inferior derecha en (15000,16000). Estas son las coordenadas (x,y)

respectivamente. Dado que la habitación 1 se encuentra dentro de las fronteras de la planta

1, y asumiendo que el esquema o la foto (.gif) representa la habitación 1, el escalado para

floor1room1.gif puede ser como sigue:

Fichero: floor1room1.hxt 100 200 5000 4000

Puede crearse un fichero de escalado para cada habitación si se tiene una imagen .gif

dentro de las fronteras de la habitación.

Cuando se instala el programa y se ejecuta por primera vez, para facilitar la operación el

usuario debe hacer doble clic en un fichero con extensión *.hxt y asociar este tipo de fichero

con el programa Hx11 u_track.exe. De este modo, el usuario puede disponer de una

colección de plantas y habitaciones en forma de iconos en un fichero, de manera que

haciendo doble clic en el fichero *.hxt aparecerá la planta/habitación.

El usuario también puede asociar imágenes con los transmisores o las etiquetas, y tan

pronto como las etiquetas estén dentro de las fronteras de una imagen escalada, las

imágenes asociadas se podrán mover sobre la imagen de fondo.

La siguiente ilustración muestra el Hx11layout abierto haciendo doble clic en el fichero

floor1.hxt. Se ha seleccionado un fichero (Jun 13th 2004) que contiene las coordenadas XYZ,

obtenidas utilizando el programa XYZ.exe.

Page 14: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

98 SOFTWARE PARA EL SISTEMA HX11

ImagenI-7.Layout en fichero floor1.hxt

Cuando una etiqueta cruza las fronteras definidas por la esquina superior izquierda y la

esquina inferior derecha, el programa compara el valor de la etiqueta con el fichero en el

directorio de trabajo. El fichero Jun 13th contiene dos etiquetas (etiqueta 2 y etiqueta 3). Si

en el directorio de trabajo existe disponible un fichero con el nombre t 2 tagImage.gif,

entonces esta imagen (la esquina superior izquierda) se mueve con las coordenadas de la

etiqueta 2. De manera similar, el fichero t 3 tagImage.gif obtiene las coordenadas de la

etiqueta 3. El formato de la nomenclatura del fichero es t # tagImage.gif donde # representa

el valor de la etiqueta a la cual está asociada la imagen.

Una vez que se ha seleccionado el fichero, se muestra en una ventana el instante de su

creación. Si por ejemplo, se cambia el valor cero en la ventana que se muestra continuación

Page 15: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 99

por un valor 200, el programa Hx11layout pasará por los ficheros con extensión *.XYZ

(ficheros de coordenadas) a una velocidad de un punto cada 200 milisegundos.

El botón de un sólo paso (single step SS) puede usarse también para pasar por los

ficheros de coordenadas XYZ.

Sin embargo, se recomienda poner cero en la ventana del temporizador, lo que detiene

automáticamente el paso por el fichero.

Imagen I-8. Detalle del Timer en fichero floor1.hxt

Operación en tiempo real

Si se hace clic en el botón “live”, se fuerza al programa Hx11layout a extraer su

información a través de DDE.

Para ver la acción en tiempo real en la pantalla, el programa XYZ debe estar

ejecutándose en background.

Page 16: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

100 SOFTWARE PARA EL SISTEMA HX11

Configuración del programa u_Track

La utilidad de configuración proporcionada en el CD instalará el programa u_Track en el

directorio \programfiles\uTrack\. Este directorio debe contener todas imágenes de etiquetas

que pueden ser usadas por el programa. Si el programa no encuentra la imagen asociada a

una determinada etiqueta, éste utiliza la imagen por defecto. Nótese que el ejecutable

u_Track.exe puede almacenarse en cualquier directorio, pero las imágenes de etiquetas

deben estar en el mismo directorio.

Imagen I-9. Ubicación de las imágenes de etiquetas para uTrack.exe

El fichero que se muestra a continuación puede almacenarse en cualquier directorio,

incluido el escritorio. Este directorio puede contener las imágenes arquitectónicas, o los

planos de las plantas. Pero es importante que el fichero de escalado con extensión .hxt esté

en el mismo directorio que estas imágenes.

Page 17: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 101

Imagen I-10. Contenido de la carpeta U Track para el ejemplo.

Es de vital importancia que el escalado contenido en los ficheros .hxt se correspondan

perfectamente con las imágenes. En caso contrario, las localizaciones XYZ no se mostrarán

en las posiciones correctas.

El usuario ha de asociar los ficheros .hxt con el programa u_Track.exe, de manera que

cuando se haga doble clic sobre el fichero .hxt, aparezca el programa u_Track.exe. Esto se

consigue haciendo clic con el botón derecho del ratón sobre el fichero .hxt:

Page 18: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

102 SOFTWARE PARA EL SISTEMA HX11

Imagen I-11. Detalle de la asociación de un fichero .hxt con el programa u_Track.exe.

Lo siguiente es elegir la opción Default Program. Con el browser de directorios se debe

seleccionar el programa u_track.exe en el directorio \program files\uTrack. No olvidar

marcar la opción “Utilizar siempre este programa para abrir este tipo de archivos”. Cuando

se abre la ventana “Abrir con”, se necesitará el browser para encontrar la localización de

u_Track.exe y notepad.exe.

El programa notepad.exe puede usarse para editar ficheros hxt, mientras que el

programa u_Track.exe se utiliza para visualizar la información de coordenadas XYZ en una

imagen preparada.

Page 19: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 103

Programa Hx11unit.exe

Este programa lee la información de los dispositivos configurados como callers.

Funciona bien para conexión privada entre dispositivos Hx11 y como lector de dispositivos

Hx11. El código fuente está disponible en la página Web para ayudar a los integradores a

entender como calcular la distancia real entre dispositivos. El Hx11x sólo proporciona una

precisión de 9mm en modo totalmente asíncrono. Para obtener precisiones mayores se

puede hacer uso de un filtrado estadístico, y modos síncronos.

Imagen I-12. Programa Hx11unit.exe

El botón de Reset envía al dispositivo Hx11 los parámetros especificados en la ventana

de texto ID primaria. Una vez que los parámetros se ha almacenado en la memoria

permanente, el dispositivo se reinicia. Estos parámetros se cargan en el dispositivo cada vez

que se enciende. El botón de Stop detiene el flujo de información procedente del dispositivo

Hx11. Si se intenta enviar parámetros al Hx11 usando el botón de Reset mientras existe un

flujo de información procedente de éste, es posible que el dispositivo no reciba los

parámetros.

El dispositivo con dirección primaria 11364 se configuró con un retraso de 120 ms. Esto

significa que cada línea que se muestra a continuación requiere un tiempo de 120 ms.

Se le asignó la ID de caller 15 al dispositivo. Los dispositivos con direcciones de

transpondedor 51 y 53 respondieron a la llamada. La distancia al dispositivo 51 es

Page 20: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

104 SOFTWARE PARA EL SISTEMA HX11

aproximadamente 3134 milímetros, y la distancia al dispositivo 53 es aproximadamente

5942 milímetros.

La dirección primaria, la dirección de transpondedor y la dirección de etiqueta se

encuentran en la pegatina situada en la parte superior del dispositivo Hx11.

Cuando se configuran muchos callers en un sistema ajustado, se debe tener en cuenta

que los callers configurados con los mismos retrasos pueden acabar enviando señales con la

misma tasa. Si estas señales colisionan (en términos de tiempo, no de espacio) pueden verse

dañadas. La línea roja en el diagrama de eventos es 16ms. Para reducir la probabilidad de

colisiones repetidas, se recomienda configurar los retrasos de llamada con una diferencia de

al menos 16ms.

Programa datalog.exe (se requiere controlador de red)

Este programa lee el flujo de información directamente del controlador de red y

almacena la información en el fichero. Este fichero puede convertirse después en

información acerca de la posición, usando el programa XYZ en modo 1. Si el programa

datalog.exe está en ejecución, entonces el programa XYZ en modo 3 puede aprovechar el

flujo de información en tiempo real, mientras la información del controlador de red se está

almacenando en el fichero monData.hxm.

En la ventana de visualización adjunta, los primeros 4 dígitos en la cadena de

información son la representación hexadecimal de la ID del monitor. Cada etiqueta se

representa con un total de 10 dígitos hexadecimales. Los primeros 4 contienen el número ID

de la etiqueta, mientras que los 6 restantes representan los datos de tiempo asociados a la

posición. Si existe la misma etiqueta en ambos ciclos de adquisición (superior e inferior),

entonces la tasa de transmisión de la etiqueta es demasiado alta. Si se utiliza el programa

XYZ.exe para extraer la posición 3D del fichero monData.hxm, donde se viola esta regla, es

posible que falle. Algunas veces un monitor puede tomar la misma etiqueta más de una vez

en el mismo ciclo de adquisición, en este caso, el programa XYZ interpreta las etiquetas más

tardías como eco de las primeras y son ignoradas.

Page 21: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 105

REGLA DE OPERACIÓN CRÍTICA

Un monitor o monitores no deben tomar la misma etiqueta en dos ciclos de adquisición

consecutivos. Se aconseja empezar por la tasa de transmisión más baja, e ir aumentándola

gradualmente hasta encontrar el límite.

Ventana de visualización de datos

Aceptado Prohibido Aceptado

4E50 000218355B # 4E50 0002618BCC # 4E50 00031399AC 00021507DB #

4E52 0002186B6F # 4E52 000261C1E8 # 4E52 000313D987 0002153DE9 #

4E54 0002185317 # 4E54 000261A980 # 4E54 000313BD38 0002152578 #

4E56 0002184403 # 4E56 0002619A75 # 4E56 0003139A33 000215167B #

4E50 000348DBFA # 4E50 0002103663 # 4E50 #

4E52 0003491BC6 # 4E52 0002106C6C # 4E52 #

4E54 000348FF83 # 4E54 000210540E # 4E54 #

4E56 000348DCC6 # 4E56 0002104500 # 4E56 #

Tabla I-1. Ventana de visualización de datos.

Si el programa no puede evaluar el valor de una posición devuelve cero para esa

coordenada.

Si se fijan las coordenadas de referencia como un valor distinto de cero, y haciendo la

tríada (0,0,0) un valor imposible, se pueden ignorar los fallos de evaluación incluidos en una

trama.

Si aparece el carácter “?” tras el monitor en lugar de “#”, entonces el monitor en

cuestión no está respondiendo al sondeo del Controlador de Red. En este caso es necesario

verificar la conexión y comprobar si el monitor está encendido.

NOTA: El controlador sólo sondea los receptores especificados en el fichero layout.hxm.

Nótese que las reglas de operación especificadas también se aplican al programa

XYZ.exe en cualquiera de sus modos.

Page 22: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

106 SOFTWARE PARA EL SISTEMA HX11

El programa XYZ

Para el modo de operación en tiempo real, se necesita utilizar un controlador para los

programas datalog, XYZ y u_Track. El programa XYZ convierte la posición de múltiples

transmisores en coordenadas 3D reales (X,Y,Z). Éste programa lee las etiquetas temporales

de los transmisores, bien directamente del Hx11C (controlador de red), bien de un fichero

que contenga este tipo de información como el monData.hxm (creado por el programa

Datalog). El programa XYZ también puede recolectar la información de etiquetas temporales

a través de DDE y convertirlas a coordenadas. Esto se hace comparando etiquetas

temporales de varios monitores (receptores) y calculando las coordenadas X, Y, Z con la

diferencia de tiempos.

Esta id de etiqueta, (X,Y,Z), tiempo de llegada, se almacena en un fichero cuyo nombre

es el instante y fecha en que se creó. El usuario puede utilizar está información mientras está

siendo creado por el programa XYZ.exe, para una monitorización en tiempo real (se consigue

mediante Intercambio Dinámico de Datos (DDE: Dynamic Data Exchange).

Uso del programa XYZ

El programa XYZ requiere que se especifiquen las coordenadas (x,y,z) para cada receptor

de la red. Estas coordenadas pueden introducirse mediante un fichero de texto (layout.hxm).

El programa XYZ lee este fichero y posiciona a todos los usuarios con relación al origen

(0,0,0). Calcula la posición de los transmisores en un rango basado en estas coordenadas.

Todas las posiciones deben estar en el cuadrante de x e y positivos. Las coordenadas de la

etiqueta y el tiempo de encuentro se almacenan en el directorio [XYZ Data] en un fichero

cuyo nombre es el tiempo y la información. Otras aplicaciones tienen acceso al flujo de

información a través de DDE.

La imagen a continuación sugiere como varios monitores pueden configurarse para un

ejemplo en una habitación donde el plano 0 (xy) es el techo.

Page 23: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 107

Imagen I-13. Seguimiento ultrasónico en áreas 3D.

Cobertura de Área Extensa

La ilustración sugiere una forma de cubrir un área extensa usando monitores. Puede

utilizarse cualquier formación, pero una estructura de panal hexagonal proporciona uno de

los mejores costes por unidad de cobertura.

En lo siguiente, la distancia “D” entre monitores es siempre la misma. Los monitores

forman triángulos de 60 grados. Dependiendo de la densidad de la red, muchos monitores

pueden contribuir a la posición de una etiqueta dada. Cuanto mayor sea el número de

monitores que detectan la etiqueta, más precisa y estable será la información acerca de la

posición.

Page 24: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

108 SOFTWARE PARA EL SISTEMA HX11

Imagen I-14. . Red de receptores en forma de panal hexagonal.

Configuración para evaluación de coordenada Z

El Hx11 opera con el principio de equidistancia, el cual supone que existen líneas

equidistantes entre los monitores (receptores) que se cruzan en la localización de la etiqueta

o transmisor. Imagínese que los receptores forman un triángulo y que el transmisor está

colocado a la misma distancia de todos ellos. En este caso existe equidistancia en una línea

que pasa justó a través del triángulo.

Por tanto, se necesita que el cuarto receptor fije la posición de Z en un punto en lugar de

a lo largo de una línea. Si se necesita seguir la coordenada Z, no deben colocarse todos los

receptores en el mismo plano.

Evaluación de Datos y Errores

Si el programa XYZ es incapaz de calcular las coordenadas, es posible que alguna de las

coordenadas X, Y o Z tengan valor cero. Si se configura el receptor para que el cero se un

valor imposible (por ejemplo, que para el valor cero el transmisor esté fuera de rango) se

consigue que los programas ignoren estas coordenadas. El último número de la cadena de

Page 25: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 109

datos, es decir el resultado del escaneo de posición realizado por el programa XYZ, indica

cuántas líneas estaban disponibles para construir la coordenada. Si este número es inferior a

3, cualquiera que sea el resultado de la coordenada, no debe considerarse como un valor

válido.

Nótese que las etiquetas pueden colisionar, es decir, información de dos o más

etiquetas puede cruzarse y dar lugar a una lectura errónea. Si una etiqueta no es recogida

por más de dos monitores (número líneas disponibles <3), y sólo se recoge en un período de

adquisición sobre un período de determinada duración, ésta debería ignorarse.

Descripción de programa XYZ Version 2

El programa XYZ necesita cuatro ficheros para funcionar, los cuales deben estar

guardados en el mismo directorio en el cual está el ejecutable XYZ.exe.

Estos ficheros son:

MonData.hxm (sólo modo 1)

Layout.hxm (todos los modos)

Parameters.hxm (todos los modos)

Sspeed.hxm (todos los modos)

MonData.hxm es creado por un programa llamado data.exe. Todos los ficheros

con extensión .hxm son ficheros de texto y pueden leerse y modificarse usando

el programa Notepad.exe.

Layout.hxm La primera columna es la coordenada X del monitor, la segunda

columna es la Y, y la tercera la coordenada Z. La cuarta columna es la ID de la

etiqueta.

Sspeed.hxm

Page 26: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

110 SOFTWARE PARA EL SISTEMA HX11

En el momento de iniciarse, XYZ busca un parámetro para la velocidad del sonido en un

fichero llamado sspeed.hxm. En el fichero de muestra la velocidad del sonido tiene valor 340

(m/s). Si se cambia el valor de este parámetro, el resultado del cálculo de las coordenadas

(XYZ) puede verse afectado.

Ejemplo de fichero Layout.hxm:

2040 1440 0 20048

2950 1000 0 20050

2180 450 0 20052

1000 1000 0 20054

Las coordenadas se introducen siempre en milímetros. El contenido del fichero

layout.hxm mostrado anteriormente se traduce en:

Monitor 20048 localización: (x,y,z) (2040,1440,0)

Monitor 20050 localización: (x,y,z) (2950,1000,0)

Monitor 20052 localización: (x,y,z) (2180, 450,0)

Monitor 20054 localización: (x,y,z) (1000,1000,0)

Sugerencia

Para hacer una prueba use el fichero de parámetros a continuación, colocando los

monitores XY formando una cruz de separación aproximadamente 2 metros en el eje XY.

Fichero: Parameters.hxm

Los números de la siguiente configuración son arbitrarios, estas cifras se deben fijar para

adaptarse a la configuración.

Page 27: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 111

5 "línea 1: Número total de monitores en la red"

1 "línea 2: retraso entre actualizaciones"

1 "línea 3: Puertos de comunicaciones 1, 2, 3, 4, 5, 6 y etc"

1 "línea 4: 1 = alta y 0 = baja velocidad de comunicación"

1 "línea 5: Modo 0 hasta 2"

256 "línea 6: Paso de escaneo"

1000.5 "línea 7: Tolerancia de escaneo"

10000 "línea 8: Distancia máxima entre monitores"

-200 "línea 9: Comienzo del rango de escaneo para X en mm"

+200 "línea 10: Fin del rango de escaneo para X en mm"

-200 "línea 11: Comienzo del rango de escaneo para Y en mm"

+200 "línea 12: Fin del rango de escaneo para Y en mm"

2000 "línea 13: Comienzo del rango de escaneo para Z en mm"

4000 "línea 14: Fin del rango de escaneo para Z en mm"

3 "línea 15: visualización 1=on 0=off"

4000 "línea 16: Escala total de ventana de visualización de X"

4000 "línea 17: Escala total de ventana de visualización de Y"

6000 "línea 18: Escala total de ventana de visualización de Y"

0 "línea 19: Offset de ventana de visualización de X"

0 "línea 20: Offset de ventana de visualización de Y"

0 "línea 21: Offset de ventana de visualización de Z"

Descripción de parámetros

Línea 1: Número total de monitores en la red

Page 28: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

112 SOFTWARE PARA EL SISTEMA HX11

Este valor es crucial y debe actualizarse si se añade o se quita un monitor de la red. El

programa XYZ necesita este número.

Línea 2: Control de la velocidad de muestreo (toda la red)

Para sistemas estándar, el intervalo entre actualizaciones se calcula de la siguiente

forma:

Intervalo entre actualizaciones (Interval Between Updates)=0.131072s * (Valor de

control de la tasa de muestreo)

El valor de control de la tasa de muestreo debe ser un entero entre 1 y 255. Si se

necesitan tasas mayores o menores, contacten con Hexamite; el Hx11NC (controlador de

red) deberá modificarse o reemplazarse. Al expirar el contador asociado al intervalo, se

recupera la información de todos los monitores de la red.

Línea 3: Puerto de Comunicación

El valor de esta línea selecciona el puerto de comunicaciones serie utilizado, Com1,

Com2,.., ComN. Este parámetro es un valor entero que representa el valor de un puerto

serie libre (ComPort) en el ordenador.

Línea 4: 1 = alta y 0 = baja velocidad de comunicación

No aplica. El valor seleccionado no es relevante.

Línea 5: Modo de operación XYZ

El valor de esta línea puede ser 0, 1 ó 2. Con este valor se selecciona uno de los

siguientes modos.

Page 29: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 113

Modo 0: (Modo de tiempo real)

En este modo, el programa toma la información directamente del flujo de datos del

controlador de red Hx11NC. Estos datos se convierten en coordenadas de tiempo XYZ, de

manera que sean accesibles vía DDE.

Ver el ejemplo de programa en Visual Basic DDExample a continuación de la sección

Interfaz DDE. Tenga en cuenta que en tiempo real, los datos no se corresponden al tiempo

de etiquetado. Dado que se trabaja en tiempo real, el reloj interno del ordenador se puede

utilizar para almacenar el tiempo. En caso de existir un número elevado de monitores

trabajando con frecuencias de muestreo altas, el posible que el ordenador no pueda

almacenar la información correctamente. En este caso, el buffer de comunicación se llenará

y desbordará, lo que provocará el fallo del programa. Si se desea seguir trabajando en este

modo, será necesario reiniciar las operaciones, seleccionando una frecuencia de muestreo

menor y con un número menos de monitores y etiquetas. En caso de que se necesite

operaciones en tiempo real a alta velocidad, pueden dividirse las operaciones en varios

ordenadores. Estos ordenadores pueden ponerse en red para trabajar a alta velocidad.

Modo 1: (Modo de clasificación)

La información contenida en el fichero llamado MonData.hxm se convierte en etiquetas

de posición (x,y,z) en una línea de tiempo y se almacena en un subdirectorio [XYZ Data]. Si

este subdirectorio no existe, el programa XYZ lo crea. La información de posición procesada

se nombra con la hora y la fecha en que la se adquirieron los datos. Por ejemplo:

Jun 09 040609143505.xyz es realmente la fecha 9 de Junio de 2004 y la hora es

14:35:05.

Si se modifica el formato de este nombre, el programa layout no será capaz de mostrar

la etiqueta y su posición en la imagen de fondo.

Modo 2: (Modo de tiempo real)

En este modo el programa XYZ toma su información de otro programa llamado “data”.

Este programa debe estar ejecutándose antes de ejecutar el programa XYZ en este modo. De

Page 30: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

114 SOFTWARE PARA EL SISTEMA HX11

la misma manera que en el Modo 0 las coordenadas XYZ están disponibles a través de DDE

(usando el programa DDExample).

En este modo real, quedarse atrás no es un problema. El programa data aprovecha el

flujo de información del controlador Hx11NC y almacena los datos sin procesar en el fichero.

El programa XYZ puede monitorizar la información, convertirla en coordenadas XYZ y hacer

accesibles estas coordenadas vía DDE para aplicaciones en tiempo real.

Línea 6: Paso de escaneo

El ordenador tiene que escanear las posiciones x,y,z aproximadamente. Este número

representa el tamaño del paso de escaneo en milímetros. Si por ejemplo, la mayor distancia

entre dos monitores que detectan una etiqueta específica es 2000mm, entonces si

selecciona un paso de escaneo igual a 100mm, esto significa que la posición se determinará

a través de 20 escaneos. Sin embargo, en el caso de tener por ejemplo 3000mm en el eje X,

2000mm en el eje Y y 500mm en el eje Z, el número total de escaneos será 30x20x5= 3000

pasos en total.

Una vez que se ha encontrado la posición aproximada, el ordenador comienza a iterar (8

veces) para afinar la precisión del escaneo, reduciendo a la mitad el paso de escaneo cada

vez. A continuación se muestra un ejemplo donde inicialmente el paso de escaneo es 128.

Iteración 1. 128/2 o 64mm

Iteración 2. 64/2 o 32mm

Iteración 3. 32/2 o 16mm

Iteración 4. 16/2 o 8mm

Iteración 5. 8/2 o 4mm

Iteración 6. 4/2 o 2mm

Iteración 7. 2/2 o 1mm

Iteración 8. 1/2 o 1/2mm

Línea 7: Tolerancia de escaneo

Page 31: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 115

El ordenador lleva a cabo la evaluación de mínimo error cuadrado para la convergencia

de las coordenadas. El mínimo resultante es ErrorX2 +ErrorY2 +ErrorZ2. Si el mínimo es

mayor que la tolerancia de escaneo éste cálculo de coordenada se ignora.

Línea 8: Distancia Máxima Entre Monitores

Este valor le dice al programa la distancia máxima permisible entre los monitores que

detectan una etiqueta dada. Por ejemplo, si se tiene una configuración donde la etiqueta

500 es detectada por los monitores que la rodean y por error, un monitor situado a una

distancia de 20 metros también la detecta, el programa XYZ intentará incluir este error de

detección en el cálculo de la posición de la etiqueta 500. Esto puede retrasar el cálculo del

punto de manera significativa y proporcionar resultados erróneos. No es probable que se

detecte la etiqueta 500 por error, pero puede suceder.

Línea 9: Comienzo del rango de escaneo para X en mm

Si por ejemplo, dos monitores obtienen la etiqueta 100, cuando un monitor está situado

en el eje X a una distancia 20400 mm y el otro 22400 mm, dado que el comienzo del rango

toma el valor -300, ello implica que el escaneo para la posición X de la etiqueta 100

comienza en 20100.

Línea 10: Fin del rango de escaneo para X en mm

Este valor determina dónde termina el rango de escaneo para la coordenada X de la

etiqueta. Para el ejemplo, dado que este valor es (+200), el escaneo para la coordenada X de

la etiqueta 100 finaliza en 22600 (mm).

Línea 11: Comienzo del rango de escaneo para Y en mm

Si por ejemplo, dos monitores obtienen la etiqueta 100, cuando un monitor está situado

en el eje Y a una distancia 20400 mm y el otro 22400 mm, dado que el comienzo del rango

toma el valor -300, ello implica que el escaneo para la posición Y de la etiqueta 100

comienza en 20100.

Page 32: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

116 SOFTWARE PARA EL SISTEMA HX11

Línea 12: Fin del rango de escaneo para Y en mm

Este valor determina dónde termina el rango de escaneo para la coordenada Y de la

etiqueta. Para el ejemplo, dado que este valor es (+200), el escaneo para la coordenada Y de

la etiqueta 100 finaliza en 22600 (mm).

Línea 13: Comienzo del rango de escaneo para Z en mm

Si por ejemplo, dos monitores obtienen la etiqueta 100, cuando un monitor está situado

en el eje Z a una distancia 20400 mm y el otro 22400 mm, dado que el comienzo del rango

toma el valor -300, ello implica que el escaneo para la posición Z de la etiqueta 100 comienza

en 20100.

Línea 14: Fin del rango de escaneo para Z en mm

Este valor determina dónde termina el rango de escaneo para la coordenada Z de la

etiqueta. Para el ejemplo, dado que este valor es (+200), el escaneo para la coordenada Z de

la etiqueta 100 finaliza en 22600 (mm).

Todos los ejes se tratan por igual. La configuración en el archivo de parámetros se

orienta hacia un ambiente de oficina donde la posición Z de los monitores es igual a 0. La

posición Z para las etiquetas sólo puede tomar un valor entre 2 y 4 metros desde el techo, lo

que reduce el tiempo de procesamiento.

Línea 15: Visualización

Este valor habilita la visualización gráfica de la posición XYZ en cualquier modo. Por

favor, tenga en cuenta que esta característica ralentiza el procesamiento

considerablemente. El ordenador procesará menos etiquetas de posición por segundo si se

activa esta característica, por tanto, se corre el riesgo de que las operaciones en tiempo real

se queden atrás.

Page 33: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 117

Línea 16 y 18: Escalado de la ventana de visualización

Los valores de las líneas 4 y 5 son la escala completa de la ventana de visualización en

milímetros.

Líneas 19 y 21: Offset de la ventana de visualización

Con el valor de estas líneas se desplazará la ventana de visualización a

izquierda/derecha o arriba/abajo.

Interfaz DDE

A continuación se muestra un sencillo programa de enlace DDE escrito en visual Basic y

llamado DDExample. Este programa lee los resultados del programa XYZ que se esté

ejecutando en cualquiera de sus 3 modos.

Los resultados de este ejemplo se almacena en un fichero llamado “myFile.XYZ”. La

calidad del escaneo indica el número de líneas equidistantes extraídas del programa data. Si

el número es inferior a 3, las coordenadas no son válidas y probablemente tomen todas el

valor cero.

Private Sub Form_Load(

Text1.LinkTopic = "XYZ|Hx11"

Text1.LinkItem = "text3"

Text1.LinkMode = 1 'link mode must be set last

Open "myFile.XYZ" For Output As #1

End Sub

Page 34: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

118 SOFTWARE PARA EL SISTEMA HX11

Private Sub Form_Unload(Cancel As Integer)

Close #1

End

End Sub

Private Sub Text1_Change()

myTag = Val(Mid(Text1, 1, 4))

myX = Val(Mid(Text1, 6, 6))

myY = Val(Mid(Text1, 13, 6))

myZ = Val(Mid(Text1, 20, 6))

scanQuality = Val(Mid(Text1, 27, Len(Text1) - 1))

Print #1, myTag, myX, myY, myZ, scanQuality

End Sub

Programa Layout.exe

El programa Layout.exe requiere fichero Layout.gif para operar.

Ésta debe ser la imagen de fondo (o plano de la planta) donde se posicionan los

monitores y las etiquetas. El usuario debe proporcionar esta imagen (en formato .gif) y ésta

debe estar albergada en el mismo directorio que el programa Layout.exe.

El programa Layout.exe crea los siguientes ficheros:

Layout.scl:

Page 35: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 119

Este fichero almacena la información de escalado. Para que la posición de los monitores

y etiquetas se muestre correctamente, la imagen en la ha de estar escalada.

Layout.hxm:

Este fichero contiene la disposición de los monitores (layout) y es utilizado por el

programa XYZ para calcular la posición de las etiquetas.

Movimiento de la Imagen de Fondo

Para mover la imagen se hace doble clic sobre ella y se mantiene pulsado el botón

izquierdo del ratón mientras se arrastra a la posición deseada.

Escalado

Antes de salvar los parámetros de escalado, las cajas de texto “Origin” y “XY scale”

deben estar colocadas en la esquina superior izquierda e inferior derecha respectivamente.

La distancia XY desde el origen (Origin) hasta la escala XY (XY scale) puede introducirse

en unidades del Sistema Métrico o del Sistema Imperial (Reino Unido).

Los valores se introducen utilizando la tecla “Enter”.

Borrado de los monitores

Para borrar un monitor se hace sobre él doble clic y se presiona la tecla “Delete”.

Movimiento de Objetos libres

Para mover cualquier objeto libre se hace doble clic sobre él y se mantiene pulsado el

botón izquierdo del ratón mientras se arrastra a la posición deseada.

Tenga en cuenta que la esquina superior izquierda del objeto es el lugar geométrico del

objeto.

Page 36: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

120 SOFTWARE PARA EL SISTEMA HX11

El Objeto de referencia

Este objeto puede colocarse en cualquier parte de la imagen y las coordenadas relativas

de la línea de estado en la parte inferior indican la distancia desde la referencia al ratón.

Visualización en tiempo real sobre la imagen de fondo

El programa layout puede usarse para visualizar la posición de los monitores en tiempo

real. Las posiciones se adquieren vía DDE desde el programa XYZ. El programa XYZ debe

estar ejecutándose para poder utilizar esta característica.

Formación de monitores (Consejos de configuración)

El despliegue de los monitores se debe ajustar a la aplicación para la que se necesitan. Si

la aplicación requiere frecuencias de muestreo altas, la precisión y la exactitud tendrán que

reducirse. Cuanto mayor sea el número de monitores que recogen una etiqueta (o mayor

sea el número de líneas trazadas por el programa XYZ), más tiempo tardará el programa XYZ

en calcular la posición.

Para la mayoría de las aplicaciones 2D, sólo se necesitarán 3 monitores.

Para aplicaciones 2D de alta velocidad en tiempo real, la formación debería tender a

tener sólo 3 monitores en rango. Las aplicaciones 3D requerirán más monitores, y se

necesitará iterar los escaneos para evaluar la posición Z.

IMPORTANTE

Todos los archivos utilizados por el Hx11 han de estar en el mismo directorio, y se

tendrán que instalar 4 programas. El instalador install.bat le guiará a través de todo el

proceso de instalación. Todos los ficheros se instalan en el directorio:

\program files\Hx11

Precaución

Asegúrese que o el puerto serie 1 (com1) o el puerto serie 2 (com2) están disponibles

para el Hx11. Se debe encender simultáneamente tanto la red de monitores como el

controlador de red. Si se encienden los receptores y no existe ningún controlador que

Page 37: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 121

recupere información procedente de ellos, es posible que los buffers de los receptores

desborden. En el caso de que esto suceda (lo cual es poco probable), reinicie los receptores.

Consejo útil

El tiempo de procesado que requiere el programa es debido a la ejecución del código y

no al acceso de los periféricos. Si se aumenta la velocidad del microprocesador, se aumenta

la velocidad de procesado de las coordenadas XYZ.

Si se interrumpe momentáneamente la alimentación, todo el sistema se reiniciará y se

tratará de continuar el flujo de datos en el punto donde se quedó. Si esto ocurre puede ser

necesario comenzar de nuevo toda la operación.

Hx11 Comienzo rápido

A. Asegúrese de que todos los programas y ficheros se encuentran en el mismo

directorio (Hx11), y que el controlador de red está conectado al ordenador y los

receptores.

B. Coloque los receptores situados en las 4 aristas de un cuadrado de área 2m x 2m.

Asegúrese de que los elementos sensores de los receptores están a una distancia

aproximadamente de 2 metros.

C. Coloque una etiqueta en algún lugar del cuadrado a 2-4 metros de distancia desde el

plano del receptor (techo).

D. Tomar la frecuencia de transmisión como la segunda o tercera más lenta

E. Ejecute el programa data y recopile los datos de posición durante unos minutos.

F. Cierre el programa data y ejecute el programa XYZ. (durante DDE ambos programas

deben ejecutarse a la vez).

Los siguientes archivos deben estar en el directorio Hx11 donde deben estar todos los

programas.

Page 38: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

122 SOFTWARE PARA EL SISTEMA HX11

Use un editor de texto para abrir el fichero layout.hxm y asegúrese de que los números

de identificación de las etiquetas corresponden a sus receptores. Las coordenadas de un

receptor respecto al resto de receptores deben ser correctas.

Page 39: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 123

Software para el sistema Hx11

Programa data.exe

Este programa lee el flujo de datos directamente del controlador de red y almacena la

información en un fichero. Este fichero puede luego convertirse en datos de

posicionamiento, usando el programa XYZ en modo 1. Si el programa data.exe se está

ejecutando, entonces el programa XYZ.exe puede interceptar el flujo de información en

tiempo real, mientras la información del controlador de red se está almacenando en el

fichero monData.hxm.

A continuación se muestra la ventana de visualización de la información. Los primeros

cuatro dígitos de la cadena de datos son la representación hexadecimal de la ID de

monitor. Cada etiqueta se representa con un total de 10 dígitos hexadecimales. Los

primeros 4 contienen el número de ID de la etiqueta y los 6 restantes representan la

información temporal de la posición. Si se obtiene una misma etiqueta en ambos ciclos de

adquisición superior e inferior (ver la ventana del programa data.exe), entonces la tasa de

transmisión de etiquetas es demasiado alta. Si se utiliza el programa XYZ.exe para extraer

la posición 3D de un fichero monData.hxm creado violando esta regla, el XYZ.exe

probablemente fallará. A veces un monitor puede adquirir la misma etiqueta dos veces en

el mismo ciclo, en este caso, el programa XYZ.exe toma la segunda adquisición como un

eco del primero y se ignora.

REGLA DE OPERACIÓN CRÍTICA

Un monitor o monitores no deben obtener la misma etiqueta en dos ciclos

consecutivos de adquisición. Para encontrar el límite, empezar por la tasa de transmisión

más baja e ir incrementándola gradualmente.

Si el programa XYZ no puede calcular el valor de una posición, entonces devuelve cero

para la coordenada escaneada. Si se configuran las coordenadas de referencia a un valor

Page 40: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

124 SOFTWARE PARA EL SISTEMA HX11

distinto de cero y se hace el valor (0,0,0) una posición imposible, pueden ignorarse los

fallos de cálculo en un trazado.

Si el carácter “?” sigue al monitor en lugar de “#”, entonces el monitor específico no

está respondiendo al sondeo del Controlador de Red. En este caso debemos asegurarnos

de que existe conexión y que el monitor está encendido. NOTA: El controlador de red

sondea exclusivamente los receptores especificados en el archivo layout.hxm.

Nótese que las reglas de operación especificadas anteriormente se aplican también al

programa XYZ.exe en todos los modos de operación.

Evaluación de datos y Errores

Si el programa XYZ.exe es incapaz de calcular las coordenada, alguna de las

coordenadas X, Y, Z será cero. Configurando el layout de manera que el valor cero es una

coordenada imposible se ayudará al programa a discriminar escaneos que no hayan

tenido éxito. El último número en la cadena de información, es decir, el resultado de la

búsqueda de posición del programa XYZ.exe, muestra cuántas líneas estaban disponibles

para construir la posición. Si este número es menor de tres, el resultado de las

coordenadas, cualquiera que sea, no debe considerarse válido. Nótese que las etiquetas

temporales pueden colisionar, la información de dos o más etiquetas puede colisionar y

producir una lectura errónea. Si una etiqueta no es obtenida por más de dos monitores

(líneas disponibles <3) y se adquiere sólo en un ciclo de adquisición durante un

determinado período de tiempo, dicha etiqueta debe desecharse.

Page 41: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 125

Versión 2 programa XYZ.exe. Descripción del programa.

El programa XYZ.exe necesita 4 ficheros para funcionar, que deben estar localizados

en el mismo directorio en el que se encuentra el programa XYZ.exe. Estos ficheros son:

MonData.hxm es creado por un programa llamado data.exe. Todos los

ficheros con extensión .hxm son ficheros de texto y pueden leerse y

modificarse usando el programa Notepad.exe.

Layout.hxm La primera columna es la coordenada X del monitor, la segunda

columna es la Y, y la tercera la coordenada Z. La cuarta columna es la ID de la

etiqueta.

Sspeed.hxm En el momento de iniciarse, XYZ busca un parámetro para la

velocidad del sonido en un fichero llamado sspeed.hxm. En el fichero de

muestra la velocidad del sonido tiene valor 340 (m/s). Si se cambia el valor de

este parámetro, el resultado del cálculo de las coordenadas (XYZ) puede verse

afectado.

Ejemplo de fichero Layout.hxm:

2040 1440 0 20048

2950 1000 0 20050

2180 450 0 20052

1000 1000 0 20054

Las coordenadas se introducen siempre en milímetros. El contenido del fichero

layout.hxm mostrado anteriormente se traduce en:

Page 42: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

126 SOFTWARE PARA EL SISTEMA HX11

Monitor 20048 localización: (x,y,z) (2040,1440,0)

Monitor 20050 localización: (x,y,z) (2950,1000,0)

Monitor 20052 localización: (x,y,z) (2180, 450,0)

Monitor 20054 localización: (x,y,z) (1000,1000,0)

Sugerencia

Para hacer una prueba use el fichero de parámetros a continuación, colocando los

monitores XY formando una cruz de separación aproximadamente 2 metros en el eje XY.

Parameters.hxm

Los números de la siguiente configuración son arbitrarios, estas cifras se deben fijar

para adaptarse a la configuración.

5 "línea 1: Número total de monitores en la red"

1 "línea 2: retraso entre actualizaciones"

1 "línea 3: Puertos de comunicaciones 1, 2, 3, 4, 5, 6 y etc"

1 "línea 4: 1 = alta y 0 = baja velocidad de comunicación"

1 "línea 5: Modo 0 hasta 2"

256 "línea 6: Paso de escaneo"

1000.5 "línea 7: Tolerancia de escaneo"

10000 "línea 8: Distancia máxima entre monitores"

-200 "línea 9: Comienzo del rango de escaneo para X en mm"

Page 43: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 127

+200 "línea 10: Fin del rango de escaneo para X en mm"

-200 "línea 11: Comienzo del rango de escaneo para Y en mm"

+200 "línea 12: Fin del rango de escaneo para Y en mm"

2000 "línea 13: Comienzo del rango de escaneo para Z en mm"

4000 "línea 14: Fin del rango de escaneo para Z en mm"

3 "línea 15: visualización 1=on 0=off"

4000 "línea 16: Escala total de ventana de visualización de X"

4000 "línea 17: Escala total de ventana de visualización de Y"

6000 "línea 18: Escala total de ventana de visualización de Y"

0 "línea 19: Offset de ventana de visualización de X"

0 "línea 20: Offset de ventana de visualización de Y"

0 "línea 21: Offset de ventana de visualización de Z"

Descripción de parámetros

Línea 1: Número total de monitores en la red

Este valor es crucial y debe actualizarse si se añade o se quita un monitor de la red. El

programa XYZ necesita este número.

Línea 2: Control de la velocidad de muestreo (toda la red)

Para sistemas estándar, el intervalo entre actualizaciones se calcula de la siguiente

forma:

Page 44: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

128 SOFTWARE PARA EL SISTEMA HX11

Intervalo entre actualizaciones (Interval Between Updates)=0.131072s * (Valor de

control de la tasa de muestreo)

El valor de control de la tasa de muestreo debe ser un entero entre 1 y 255. Si se

necesitan tasas mayores o menores, contacten con Hexamite; el Hx11NC (controlador de

red) deberá modificarse o reemplazarse. Al expirar el contador asociado al intervalo, se

recupera la información de todos los monitores de la red.

Línea 3: Puerto de Comunicación

El valor de esta línea selecciona el puerto de comunicaciones serie utilizado, Com1,

Com2,.., ComN. Este parámetro es un valor entero que representa el valor de un puerto

serie libre (ComPort) en el ordenador.

Línea 4: 1 = alta y 0 = baja velocidad de comunicación

No aplica. El valor seleccionado no es relevante.

Línea 5: Modo de operación XYZ

El valor de esta línea puede ser 0, 1 ó 2. Con este valor se selecciona uno de los

siguientes modos.

I.1.1.1.1.1 Modo 0: (Modo de tiempo real)

En este modo, el programa toma la información directamente del flujo de datos del

controlador de red Hx11NC. Estos datos se convierten en coordenadas de tiempo XYZ, de

manera que sean accesibles vía DDE.

Page 45: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 129

Ver el ejemplo de programa en Visual Basic DDExample a continuación de la sección

Interfaz DDE. Tenga en cuenta que en tiempo real, los datos no se corresponden al tiempo

de etiquetado. Dado que se trabaja en tiempo real, el reloj interno del ordenador se

puede utilizar para almacenar el tiempo. En caso de existir un número elevado de

monitores trabajando con frecuencias de muestreo altas, el posible que el ordenador no

pueda almacenar la información correctamente. En este caso, el buffer de comunicación

se llenará y desbordará, lo que provocará el fallo del programa. Si se desea seguir

trabajando en este modo, será necesario reiniciar las operaciones, seleccionando una

frecuencia de muestreo menor y con un número menos de monitores y etiquetas. En caso

de que se necesite operaciones en tiempo real a alta velocidad, pueden dividirse las

operaciones en varios ordenadores. Estos ordenadores pueden ponerse en red para

trabajar a alta velocidad.

I.1.1.1.1.2 Modo 1: (Modo de clasificación)

La información contenida en el fichero llamado MonData.hxm se convierte en

etiquetas de posición (x,y,z) en una línea de tiempo y se almacena en un subdirectorio

[XYZ Data]. Si este subdirectorio no existe, el programa XYZ lo crea. La información de

posición procesada se nombra con la hora y la fecha en que la se adquirieron los datos.

Por ejemplo:

Jun 09 040609143505.XYZ es realmente la fecha 9 de Junio de 2004 y la hora es

14:35:05.

Si se modifica el formato de este nombre, el programa layout no será capaz de

mostrar la etiqueta y su posición en la imagen de fondo.

I.1.1.1.1.3 Modo 2: (Modo de tiempo real)

En este modo el programa XYZ toma su información de otro programa llamado

“data”. Este programa debe estar ejecutándose antes de ejecutar el programa XYZ en este

modo. De la misma manera que en el Modo 0 las coordenadas XYZ están disponibles a

través de DDE (usando el programa DDExample).

Page 46: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

130 SOFTWARE PARA EL SISTEMA HX11

En este modo real, quedarse atrás no es un problema. El programa data aprovecha el

flujo de información del controlador Hx11NC y almacena los datos sin procesar en el

fichero. El programa XYZ puede monitorizar la información, convertirla en coordenadas

XYZ y hacer accesibles estas coordenadas vía DDE para aplicaciones en tiempo real.

Línea 6: Paso de escaneo

El ordenador tiene que escanear las posiciones x,y,z aproximadamente. Este número

representa el tamaño del paso de escaneo en mm. Si por ejemplo, la mayor distancia

entre dos monitores que detectan una etiqueta específica es 2000mm, entonces si

selecciona un paso de escaneo igual a 100mm, esto significa que la posición se

determinará a través de 20 escaneos. Sin embargo, en el caso de tener por ejemplo

3000mm en el eje X, 2000mm en el eje Y y 500mm en el eje Z, el número total de

escaneos será 30x20x5= 3000 pasos en total.

Una vez que se ha encontrado la posición aproximada, el ordenador comienza a iterar

(8 veces) para afinar la precisión del escaneo, reduciendo a la mitad el paso de escaneo

cada vez. A continuación se muestra un ejemplo donde inicialmente el paso de escaneo es

128.

Iteración 1. 128/2 o 64mm

Iteración 2. 64/2 o 32mm

Iteración 3. 32/2 o 16mm

Iteración 4. 16/2 o 8mm

Iteración 5. 8/2 o 4mm

Iteración 6. 4/2 o 2mm

Iteración 7. 2/2 o 1mm

Iteración 8. 1/2 o 1/2mm

Page 47: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 131

Línea 7: Tolerancia de escaneo

El ordenador lleva a cabo la evaluación de mínimo error cuadrado para la

convergencia de las coordenadas. El mínimo resultante es ErrorX2 +ErrorY2 +ErrorZ2. Si el

mínimo es mayor que la tolerancia de escaneo éste cálculo de coordenada se ignora.

Línea 8: Distancia Máxima Entre Monitores

Este valor le dice al programa la distancia máxima permisible entre los monitores que

detectan una etiqueta dada. Por ejemplo, si se tiene una configuración donde la etiqueta

500 es detectada por los monitores que la rodean y por error, un monitor situado a una

distancia de 20 metros también la detecta, el programa XYZ intentará incluir este error de

detección en el cálculo de la posición de la etiqueta 500. Esto puede retrasar el cálculo del

punto de manera significativa y proporcionar resultados erróneos. No es probable que se

detecte la etiqueta 500 por error, pero puede suceder.

Línea 9: Comienzo del rango de escaneo para X en mm

Si por ejemplo, dos monitores obtienen la etiqueta 100, cuando un monitor está

situado en el eje X a una distancia 20400 mm y el otro 22400 mm, dado que el comienzo

del rango toma el valor -300, ello implica que el escaneo para la posición X de la etiqueta

100 comienza en 20100.

Línea 10: Fin del rango de escaneo para X en mm

Este valor determina dónde termina el rango de escaneo para la coordenada X de la

etiqueta. Para el ejemplo, dado que este valor es (+200), el escaneo para la coordenada X

de la etiqueta 100 finaliza en 22600 (mm).

Línea 11: Comienzo del rango de escaneo para Y en mm

Page 48: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

132 SOFTWARE PARA EL SISTEMA HX11

Si por ejemplo, dos monitores obtienen la etiqueta 100, cuando un monitor está

situado en el eje Y a una distancia 20400 mm y el otro 22400 mm, dado que el comienzo

del rango toma el valor -300, ello implica que el escaneo para la posición Y de la etiqueta

100 comienza en 20100.

Línea 12: Fin del rango de escaneo para Y en mm

Este valor determina dónde termina el rango de escaneo para la coordenada Y de la

etiqueta. Para el ejemplo, dado que este valor es (+200), el escaneo para la coordenada Y

de la etiqueta 100 finaliza en 22600 (mm).

Línea 13: Comienzo del rango de escaneo para Z en mm

Si por ejemplo, dos monitores obtienen la etiqueta 100, cuando un monitor está

situado en el eje Z a una distancia 20400 mm y el otro 22400 mm, dado que el comienzo

del rango toma el valor -300, ello implica que el escaneo para la posición Z de la etiqueta

100 comienza en 20100.

Línea 14: Fin del rango de escaneo para Z en mm

Este valor determina dónde termina el rango de escaneo para la coordenada Z de la

etiqueta. Para el ejemplo, dado que este valor es (+200), el escaneo para la coordenada Z

de la etiqueta 100 finaliza en 22600 (mm).

Todos los ejes se tratan por igual. La configuración en el archivo de parámetros se

orienta hacia un ambiente de oficina donde la posición Z de los monitores es igual a 0. La

posición Z para las etiquetas sólo puede tomar un valor entre 2 y 4 metros desde el techo,

lo que reduce el tiempo de procesamiento.

Page 49: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 133

Línea 15: Visualización

Este valor habilita la visualización gráfica de la posición XYZ en cualquier modo. Por

favor, tenga en cuenta que esta característica ralentiza el procesamiento

considerablemente. El ordenador procesará menos etiquetas de posición por segundo si

se activa esta característica, por tanto, se corre el riesgo de que las operaciones en tiempo

real se queden atrás.

Línea 16 y 18: Escalado de la ventana de visualización

Los valores de las líneas 4 y 5 son la escala completa de la ventana de visualización en

milímetros.

Líneas 19 y 21: Offset de la ventana de visualización

Con el valor de estas líneas se desplazará la ventana de visualización a

izquierda/derecha o arriba/abajo.

Interfaz DDE

A continuación se muestra un sencillo programa de enlace DDE escrito en visual Basic

y llamado DDExample. Este programa lee los resultados del programa XYZ que se esté

ejecutando en cualquiera de sus 3 modos.

Los resultados de este ejemplo se almacena en un fichero llamado “myFile.XYZ”. La

calidad del escaneo indica el número de líneas equidistantes extraídas del programa data.

Si el número es inferior a 3, las coordenadas no son válidas y probablemente tomen todas

el valor cero.

Page 50: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

134 SOFTWARE PARA EL SISTEMA HX11

Private Sub Form_Load(

Text1.LinkTopic = "XYZ|Hx11"

Text1.LinkItem = "text3"

Text1.LinkMode = 1 'link mode must be set last

Open "myFile.XYZ" For Output As #1

End Sub

Private Sub Form_Unload(Cancel As Integer)

Close #1

End

End Sub

Private Sub Text1_Change()

myTag = Val(Mid(Text1, 1, 4))

myX = Val(Mid(Text1, 6, 6))

myY = Val(Mid(Text1, 13, 6))

myZ = Val(Mid(Text1, 20, 6))

scanQuality = Val(Mid(Text1, 27, Len(Text1) - 1))

Print #1, myTag, myX, myY, myZ, scanQuality

End Sub

Page 51: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 135

Programa Layout.exe

El programa Layout.exe requiere fichero Layout.gif para operar.

Ésta debe ser la imagen de fondo (o plano de la planta) donde se posicionan los

monitores y las etiquetas. El usuario debe proporcionar esta imagen (en formato .gif) y

ésta debe estar albergada en el mismo directorio que el programa Layout.exe.

El programa Layout.exe crea los siguientes ficheros:

Layout.scl:

Este fichero almacena la información de escalado. Para que la posición de los

monitores y etiquetas se muestre correctamente, la imagen en la ha de estar escalada.

Layout.hxm:

Este fichero contiene la disposición de los monitores (layout) y es utilizado por el

programa XYZ para calcular la posición de las etiquetas.

Movimiento de la Imagen de Fondo

Para mover la imagen se hace doble clic sobre ella y se mantiene pulsado el botón

izquierdo del ratón mientras se arrastra a la posición deseada.

Escalado

Page 52: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

136 SOFTWARE PARA EL SISTEMA HX11

Antes de salvar los parámetros de escalado, las cajas de texto “Origin” y “XY scale”

deben estar colocadas en la esquina superior izquierda e inferior derecha

respectivamente.

La distancia XY desde el origen (Origin) hasta la escala XY (XY scale) puede

introducirse en unidades del Sistema Métrico o del Sistema Imperial (Reino Unido).

Los valores se introducen utilizando la tecla “Enter”.

Borrado de los monitores

Para borrar un monitor se hace sobre él doble clic y se presiona la tecla “Delete”.

Movimiento de Objetos libres

Para mover cualquier objeto libre se hace doble clic sobre él y se mantiene pulsado el

botón izquierdo del ratón mientras se arrastra a la posición deseada.

Tenga en cuenta que la esquina superior izquierda del objeto es el lugar geométrico

del objeto.

El Objeto de referencia

Este objeto puede colocarse en cualquier parte de la imagen y las coordenadas

relativas de la línea de estado en la parte inferior indican la distancia desde la referencia al

ratón.

Visualización en tiempo real sobre la imagen de fondo

El programa layout puede usarse para visualizar la posición de los monitores en

tiempo real. Las posiciones se adquieren via DDE desde el programa XYZ. El programa XYZ

debe estar ejecutándose para poder utilizar esta característica.

Page 53: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

ANEXO I. SOFTWARE DE FABRICANTE PARA EL SISTEMA HX11 137

Formación de monitores (Consejos de configuración)

El despliegue de los monitores se debe ajustar a la aplicación para la que se necesitan.

Si la aplicación requiere frecuencias de muestreo altas, la precisión y la exactitud tendrán

que reducirse. Cuanto mayor sea el número de monitores que recogen una etiqueta (o

mayor sea el número de líneas trazadas por el programa XYZ), más tiempo tardará el

programa XYZ en calcular la posición.

Para la mayoría de las aplicaciones 2D, sólo se necesitarán 3 monitores.

Para aplicaciones 2D de alta velocidad en tiempo real, la formación debería tender a

tener sólo 3 monitores en rango. Las aplicaciones 3D requerirán más monitores, y se

necesitará iterar los escaneos para evaluar la posición Z.

IMPORTANTE

Todos los archivos utilizados por el Hx11 han de estar en el mismo directorio, y se

tendrán que instalar 4 programas. El instalador install.bat le guiará a través de todo el

proceso de instalación. Todos los ficheros se instalan en el directorio:

\program files\Hx11

Precaución

Asegúrese que o el puerto serie 1 (com1) o el puerto serie 2 (com2) están disponibles

para el Hx11. Se debe encender simultáneamente tanto la red de monitores como el

controlador de red. Si se encienden los receptores y no existe ningún controlador que

recupere información procedente de ellos, es posible que los buffers de los receptores

desborden. En el caso de que esto suceda (lo cual es poco probable), reinicie los

receptores.

Consejo útil

Page 54: Anexo I Software de fabricante para el sistema Hx11bibing.us.es/proyectos/abreproy/12028/fichero/06... · Distancia = K1*tiempo-K2 Fijar K2= 0 Colocar los dispositivos A y B a una

138 SOFTWARE PARA EL SISTEMA HX11

El tiempo de procesado que requiere el programa es debido a la ejecución del código

y no al acceso de los periféricos. Si se aumenta la velocidad del microprocesador, se

aumenta la velocidad de procesado de las coordenadas XYZ.

Si se interrumpe momentáneamente la alimentación, todo el sistema se reiniciará y

se tratará de continuar el flujo de datos en el punto donde se quedó. Si esto ocurre puede

ser necesario comenzar de nuevo toda la operación.

Hx11 Comienzo rápido

G. Asegúrese de que todos los programas y ficheros se encuentran en el mismo

directorio (Hx11), y que el controlador de red está conectado al ordenador y los

receptores.

H. Coloque los receptores situados en las 4 aristas de un cuadrado de área 2m x 2m.

Asegúrese de que los elementos sensores de los receptores están a una distancia

aproximadamente de 2 metros.

I. Coloque una etiqueta en algún lugar del cuadrado a 2-4 metros de distancia desde

el plano del receptor (techo).

J. Tomar la frecuencia de transmisión como la segunda o tercera más lenta

K. Ejecute el programa data y recopile los datos de posición durante unos minutos.

L. Cierre el programa data y ejecute el programa XYZ. (durante DDE ambos

programas deben ejecutarse a la vez).

Los siguientes archivos deben estar en el directorio Hx11 donde deben estar todos los

programas.

Use un editor de texto para abrir el fichero layout.hxm y asegúrese de que los

números de identificación de las etiquetas corresponden a sus receptores. Las

coordenadas de un receptor respecto al resto de receptores deben ser correctas.