Sie sind auf Seite 1von 200

Versin de software 1.1.

x
Versin de firmware 1.1.x

C. Antoni Isern, 4, Baixos, 43205 Reus (Tarragona), Spain

Tel +34 977 300 377 I Fax +34 977 300 393 I info@quercus.biz
www.quercus.biz

Quercus Technologies
Manual de usuario de BirdWatch VL (v 1.1.0)
Junio de 2010

2010 Quercus Technologies. Derechos reservados.

Este manual, as como el sistema descrito en l, se proporcionan bajo licencia y pueden ser usados nicamente de acuerdo con los
trminos descritos por dicha licencia. El contenido de este manual es proporcionado exclusivamente para uso informativo y puede ser
cambiado sin previo aviso. Ninguna parte de esta publicacin debe ser reproducida, ubicada en un sistema de distribucin, o divulgada
de ninguna manera sin el previo consentimiento de Quercus Technologies.

Quercus Technologies
ndice

Conceptos bsicos...............................................................................................................13
1. Introduccin.................................................................................................................14
1.1. Qu es BirdWatch..............................................................................................14
1.1.1. Prestaciones.................................................................................................14
1.1.2. Estructura lgica...........................................................................................15
1.1.3. Modelos disponibles......................................................................................15
1.1.4. Capacidad.....................................................................................................16
1.2. Modos de funcionamiento....................................................................................16
1.3. Integracin............................................................................................................16
1.3.1. Alternativas de desarrollo.............................................................................16
1.3.2. Alternativas de comunicacin.......................................................................18
1.4. Poltica de actualizaciones y compatibilidad........................................................18
1.4.1. Nmeros de versin......................................................................................18
1.4.2. Compatibilidad entre versiones.....................................................................18
2. Tipos de detector.........................................................................................................20
2.1. Detector de presencia..........................................................................................20
2.1.1. Descripcin....................................................................................................20
2.1.2. Disposicin....................................................................................................20
2.1.3. Funcionamiento.............................................................................................20
2.1.4. Eventos en tiempo real.................................................................................21
2.1.5. Sumarios.......................................................................................................21
2.1.6. Incidencias....................................................................................................21
2.2. Detector de cola...................................................................................................21
2.2.1. Descripcin....................................................................................................21
2.2.2. Disposicin....................................................................................................22
2.2.3. Funcionamiento.............................................................................................22
2.2.4. Eventos en tiempo real.................................................................................22
2.2.5. Sumarios.......................................................................................................22
2.2.6. Incidencias....................................................................................................22
2.3. Detector de velocidad...........................................................................................23
2.3.1. Descripcin....................................................................................................23
2.3.2. Disposicin....................................................................................................23

Quercus Technologies
2.3.3. Funcionamiento.............................................................................................23
2.3.4. Eventos en tiempo real.................................................................................25
2.3.5. Sumarios.......................................................................................................25
2.3.6. Incidencias....................................................................................................25
3. Pasos previos a la instalacin....................................................................................27
3.1. Ubicacin..............................................................................................................27
3.1.1. Tipos de instalacin......................................................................................27
3.1.2. Ubicacin ideal..............................................................................................27
3.1.3. Requisitos mnimos.......................................................................................29
3.1.4. Funcionamiento de noche.............................................................................30
3.2. Instalacin elctrica..............................................................................................30
3.3. Cableado..............................................................................................................30
4. Material suministrado...................................................................................................31
Software...............................................................................................................................32
5. Instalacin del software cliente....................................................................................33
5.1. Contenido del CD-ROM.......................................................................................33
5.2. Instalacin en Windows........................................................................................33
5.3. Instalacin en GNU/Linux.....................................................................................33
5.3.1. Dependencias...............................................................................................33
5.4. Ficheros instalados..............................................................................................34
6. Configuracin del sistema central...............................................................................36
6.1. Seccin [Global]...................................................................................................36
6.2. Seccin [Network].................................................................................................36
6.3. Seccin [Units]......................................................................................................37
6.4. Seccin [UnitX].....................................................................................................37
7. Herramienta de diagnstico.........................................................................................39
7.1. Barra de botones..................................................................................................40
7.1.1. Botones principales.......................................................................................40
7.1.2. Botones de control........................................................................................40
7.1.3. Botones de accin.........................................................................................40
7.1.4. Botones de desplazamiento..........................................................................40
7.1.5. Botones de funcin.......................................................................................41
7.1.6. Botones de ayuda.........................................................................................42
7.2. Zona Principal.......................................................................................................42
7.2.1. Pestaa Estado..........................................................................................42

Quercus Technologies
7.2.2. Pestaa Eventos.........................................................................................43
7.2.3. Pestaa Incidencias....................................................................................45
7.2.4. Pestaa Sumarios......................................................................................46
7.2.5. Pestaa Cmara en vivo............................................................................48
7.2.6. Pestaa Configuracin...............................................................................50
7.2.7. Pestaa FTP...............................................................................................50
7.3. Barra de estado....................................................................................................52
8. Simulador (BWSimu)...................................................................................................53
8.1. Configuracin de la unidad...................................................................................53
8.1.1. Fichero de configuracin general..................................................................53
8.1.2. Fichero de detectores...................................................................................54
8.1.2.1. Seccin Globals............................................................................................................. 55
8.1.2.2. Seccin DetectorX......................................................................................................... 55
8.1.2.3. Seccin OutputActuatorX_Y.......................................................................................... 56
8.1.3. Comunicacin serie.......................................................................................56
8.2. Configuracin de la simulacin............................................................................57
8.2.1. Evento de vehculo........................................................................................59
8.2.1.1. Estructura de la instruccin........................................................................................... 59
8.2.1.2. Ejemplo.......................................................................................................................... 60
8.2.2. Evento de entrada digital..............................................................................60
8.2.2.1. Estructura de la instruccin........................................................................................... 60
8.2.2.2. Ejemplo.......................................................................................................................... 60
8.2.3. Evento de estado de las comunicaciones....................................................61
8.2.3.1. Estructura de la instruccin........................................................................................... 61
8.2.3.2. Ejemplo.......................................................................................................................... 61
8.3. Ejecucin..............................................................................................................61
8.3.1. Simulador......................................................................................................61
8.3.1.1. Interfaz grfica............................................................................................................... 62
8.3.2. Adaptador serie.............................................................................................63
8.4. Ejemplo de simulacin.........................................................................................64
9. Herramienta de previsualizacin (BWPreviewer)........................................................65
9.1. Ejecucin..............................................................................................................65
9.2. Conceptos bsicos...............................................................................................65
9.2.1. La escena......................................................................................................65
9.2.2. Modos............................................................................................................66
9.3. Distribucin...........................................................................................................68
9.3.1. Barra de botones...........................................................................................68

Quercus Technologies
9.3.1.1. Botones principales....................................................................................................... 68
9.3.1.2. Botones de gestin de resultados de la escena............................................................69
9.3.1.3. Botones de control de la escena....................................................................................69
9.3.1.4. Botones de ayuda.......................................................................................................... 69
9.3.2. Control de la cmara BirdWatch ...............................................................70
9.3.3. Visualizacin de la escena............................................................................70
9.3.4. Edicin/Simulacin de la escena..................................................................71
9.3.4.1. Edicin de la escena...................................................................................................... 71
9.3.4.2. Simulacin de la escena................................................................................................ 72
9.3.5. Barra de estado.............................................................................................72
9.4. Ejemplos de escenas ideales...............................................................................72
Hardware..............................................................................................................................74
10. Descripcin fsica del equipo.....................................................................................75
10.1. Componentes.....................................................................................................75
10.2. Pinouts................................................................................................................75
10.2.1. Alimentacin elctrica.................................................................................75
10.2.2. Red ethernet...............................................................................................75
10.2.3. Conexiones serie........................................................................................76
10.2.4. E/S...............................................................................................................76
10.3. Caractersticas de las comunicaciones serie.....................................................76
10.4. Caractersticas del sistema de E/S....................................................................76
10.4.1. Entradas......................................................................................................76
10.4.2. Salidas.........................................................................................................77
11. Firmware....................................................................................................................78
11.1. Configuracin principal del sistema...................................................................80
11.1.1. Variables.....................................................................................................80
11.1.1.1. Communications.......................................................................................................... 80
11.1.1.2. Engine......................................................................................................................... 81
11.1.1.3. Global.......................................................................................................................... 82
11.1.1.4. IO................................................................................................................................. 82
11.1.1.5. OSD............................................................................................................................. 83
11.1.1.6. Serial........................................................................................................................... 83
11.2. Configuracin de los detectores.........................................................................84
11.2.1. Pantalla inicial.............................................................................................84
11.2.2. Pantalla edicin...........................................................................................85
11.2.2.1. Conceptos previos....................................................................................................... 85
11.2.2.2. Edicin......................................................................................................................... 85

Quercus Technologies
11.3. Importar configuracin de FTP...........................................................................87
11.4. Exportar configuracin a FTP.............................................................................88
11.5. Cambiar contrasea de configuracin...............................................................88
11.6. Aplicar cambios y reiniciar..................................................................................88
11.7. Descartar cambios.............................................................................................88
11.8. Informacin del sistema.....................................................................................88
11.9. Registro del BirdWatch VL / BirdWatch VL Plus................................................88
11.10. Registro del adaptador serie............................................................................89
11.11. Registro del disco de datos..............................................................................89
11.12. Ver incidencias en disco...................................................................................89
11.13. Ver sumarios en disco......................................................................................90
11.14. Exportar informe de estado a FTP...................................................................90
11.15. Informacin de contacto...................................................................................90
11.16. Ajustar fecha y hora.........................................................................................90
11.17. Sincronizar hora con el servidor.......................................................................90
11.18. Actualizar firmware...........................................................................................90
11.18.1. Pasos previos a la actualizacin...............................................................91
11.18.2. Actualizacin.............................................................................................91
11.19. Restablecer firmware original...........................................................................92
11.20. Formatear el disco de datos.............................................................................93
11.21. Restauracin de emergencia...........................................................................94
12. Instalacin paso a paso.............................................................................................95
12.1. Instalacin fsica de la unidad............................................................................95
12.1.1. Instalacin en mstil horizontal...................................................................95
12.1.2. Instalacin en mstil vertical.......................................................................96
12.1.3. Instalacin en pared....................................................................................96
12.1.4. Instalacin personalizada: en mstil vertical con prolongacin..................97
12.1.5. Procedimientos comunes............................................................................98
12.2. Ajuste de la ptica............................................................................................100
12.3. Configuracin bsica del firmware...................................................................101
12.4. Configuracin de los detectores.......................................................................102
12.5. Cierre de la unidad...........................................................................................102
Programacin.....................................................................................................................103
13. Programacin bsica...............................................................................................104
13.1. C++...................................................................................................................104

Quercus Technologies
13.1.1. Gestin de memoria..................................................................................106
13.1.2. Creacin del ejecutable............................................................................107
13.2. C.......................................................................................................................107
13.2.1. Gestin de memoria..................................................................................110
13.2.2. Creacin del ejecutable............................................................................110
13.3. Otros ejemplos.................................................................................................111
14. Referencia de clases...............................................................................................112
14.1. Compatibilidad entre productos BirdWatch...................................................112
14.2. Jerarqua..........................................................................................................113
14.3. Clases...............................................................................................................114
14.4. Clase System...................................................................................................114
14.4.1. Propiedades..............................................................................................115
14.4.2. Mtodos.....................................................................................................115
14.4.3. Eventos.....................................................................................................116
14.5. Clase Units.......................................................................................................118
14.5.1. Propiedades..............................................................................................118
14.6. Clase Unit.........................................................................................................119
14.6.1. Propiedades..............................................................................................119
14.6.2. Mtodos.....................................................................................................120
14.7. Clase UnitStatus...............................................................................................124
14.7.1. Propiedades..............................................................................................124
14.8. Clase VersionInfo.............................................................................................124
14.8.1. Propiedades..............................................................................................125
14.9. Clase Detectors................................................................................................125
14.9.1. Propiedades..............................................................................................125
14.10. Clase Detector................................................................................................126
14.10.1. Propiedades............................................................................................126
14.10.2. Mtodos..................................................................................................128
14.11. Clase PresenceDetector................................................................................129
14.12. Clase QueueDetector.....................................................................................129
14.13. Clase SpeedDetector.....................................................................................130
14.13.1. Propiedades............................................................................................130
14.14. Clase RedLightDetector.................................................................................131
14.14.1. Propiedades............................................................................................131
14.15. Clase TrafficLights..........................................................................................132

Quercus Technologies
14.15.1. Propiedades............................................................................................133
14.16. Clase TrafficLight...........................................................................................133
14.16.1. Propiedades............................................................................................133
14.16.2. Mtodos..................................................................................................134
14.17. Clase HistoricIncidences................................................................................134
14.17.1. Propiedades............................................................................................135
14.17.2. Mtodos..................................................................................................135
14.18. Clase HistoricSummaries...............................................................................136
14.18.1. Propiedades............................................................................................136
14.18.2. Mtodos..................................................................................................137
14.19. Clase RealTimeInfo........................................................................................138
14.19.1. Propiedades............................................................................................138
14.19.2. Mtodos..................................................................................................140
14.20. Clase Regions................................................................................................140
14.20.1. Propiedades............................................................................................140
14.21. Clase Region..................................................................................................141
14.21.1. Propiedades............................................................................................141
14.21.2. Mtodos..................................................................................................142
14.22. Clase OutputActuators...................................................................................143
14.22.1. Propiedades............................................................................................143
14.23. Clase OutputActuator.....................................................................................143
14.23.1. Propiedades............................................................................................143
14.23.2. Mtodos..................................................................................................144
14.24. Clase Lights....................................................................................................144
14.24.1. Propiedades............................................................................................144
14.25. Clase Light......................................................................................................145
14.25.1. Propiedades............................................................................................145
14.26. Clase Incidence..............................................................................................146
14.26.1. Propiedades............................................................................................146
14.26.2. Mtodos..................................................................................................148
14.27. Clase Images..................................................................................................148
14.27.1. Propiedades............................................................................................148
14.28. Clase Image...................................................................................................149
14.28.1. Propiedades............................................................................................149
14.28.2. Mtodos..................................................................................................149

Quercus Technologies
14.29. Clase Summary..............................................................................................150
14.29.1. Propiedades............................................................................................150
14.30. Clase SpeedsDistribution...............................................................................154
14.30.1. Propiedades............................................................................................155
14.31. Clase LengthsDistribution..............................................................................155
14.31.1. Propiedades............................................................................................155
14.32. Clase OccupationsDistribution.......................................................................156
14.32.1. Propiedades............................................................................................156
14.33. Clase SpeedsUpperLimit................................................................................156
14.33.1. Propiedades............................................................................................156
14.34. Clase LengthsUpperLimit...............................................................................157
14.34.1. Propiedades............................................................................................157
14.35. Clase OccupationsUpperLimit........................................................................157
14.35.1. Propiedades............................................................................................157
14.36. Clase Timestamp...........................................................................................158
14.36.1. Propiedades............................................................................................158
14.37. Clase Notification...........................................................................................158
14.37.1. Propiedades............................................................................................158
14.38. Tipo BWDetectorType....................................................................................159
14.39. Tipo BWNotificationCode...............................................................................159
14.40. Tipo BWIncidenceType..................................................................................159
14.41. Tipo BWLightType..........................................................................................160
14.42. Tipo BWFieldType..........................................................................................160
14.43. Tipo BWOperatorType...................................................................................160
15. Protocolo de comunicaciones..................................................................................161
15.1. Formato de los mensajes.................................................................................162
15.2. Versiones de los mensajes..............................................................................163
15.3. Compatibilidad entre productos BirdWatch...................................................165
15.4. Conceptos previos............................................................................................166
15.4.1. Unidades...................................................................................................166
15.4.2. Booleanos.................................................................................................166
15.5. Estructuras comunes........................................................................................166
15.5.1. Region.......................................................................................................166
15.5.2. OutputActuator..........................................................................................166
15.5.3. DetectorHeader.........................................................................................167

Quercus Technologies
15.5.4. SpeedDetector..........................................................................................168
15.5.5. QueueDetector..........................................................................................168
15.5.6. PresenceDetector.....................................................................................169
15.5.7. Light...........................................................................................................169
15.5.8. TrafficLight................................................................................................169
15.5.9. RedLightDetector......................................................................................170
15.5.10. Timestamp..............................................................................................170
15.6. Mensajes de eventos.......................................................................................171
15.6.1. InputChanged............................................................................................171
15.6.2. Notification................................................................................................171
15.6.3. SummaryInfo.............................................................................................171
15.6.4. IncidenceInfo.............................................................................................173
15.6.5. RealTimeInfo.............................................................................................173
15.7. Mensajes de peticin........................................................................................174
15.7.1. VersionQuery............................................................................................174
15.7.2. RealTimeQuery.........................................................................................175
15.7.3. StatusQuery..............................................................................................175
15.7.4. IOQuery.....................................................................................................176
15.7.5. ImageQuery..............................................................................................177
15.7.6. SnapshotQuery.........................................................................................177
15.7.7. UnitTasksQuery........................................................................................179
15.7.8. DetectorTasksQuery.................................................................................180
15.7.9. DetectorsCountQuery...............................................................................180
15.7.10. DetectorInfoQuery...................................................................................181
15.7.11. TrafficLightsCountQuery.........................................................................182
15.7.12. TrafficLightInfoQuery..............................................................................183
15.7.13. SetUnitTasksQuery.................................................................................183
15.7.14. SetDetectorTasksQuery..........................................................................184
15.7.15. OutputQuery............................................................................................184
15.7.16. RebootQuery...........................................................................................185
15.8. Mensajes de confirmacin................................................................................185
15.8.1. ACK...........................................................................................................185
15.8.2. NAK...........................................................................................................186
16. Funciones adicionales.............................................................................................187
16.1. Informacin por FTP.........................................................................................187

Quercus Technologies
16.1.1. Ficheros XML............................................................................................187
16.1.1.1. Sumario de presencia................................................................................................ 187
16.1.1.2. Sumario de cola......................................................................................................... 188
16.1.1.3. Sumario de velocidad................................................................................................ 189
16.1.1.4. Incidencia de sentido contrario..................................................................................191
16.1.2. Fichero JPEG............................................................................................192
16.2. Encriptacin de protocolo.................................................................................192
16.2.1. Formato de encriptacin...........................................................................193
Apndices..........................................................................................................................195
17. Apndice A: especificaciones tcnicas...................................................................195
18. Apndice B: en caso de avera................................................................................196
19. Apndice C: soporte................................................................................................197
20. Apndice D: valores de [Global] TimeZone.............................................................198

Quercus Technologies
Manual de referencia de BirdWatch VL Conceptos bsicos

Conceptos bsicos

En esta seccin se realiza un resumen bsico de las caractersticas de un sistema BirdWatch . En ella
pueden verse aspectos como el funcionamiento bsico del sistema, los modelos disponibles, las diversas
alternativas de desarrollo y comunicaciones de las que dispone, as como los pasos previos a la instalacin
de la unidad.

Quercus Technologies 13
Manual de referencia de BirdWatch VL Conceptos bsicos

1. Introduccin
1.1. Qu es BirdWatch
BirdWatch es una familia de productos de supervisin de trfico basados en el uso y combinacin de
sensores de presencia de vehculos llamados lazos virtuales. Estos sensores reciben dicho nombre por
analoga con los lazos inductivos, los cuales se instalan fsicamente bajo el asfalto siendo necesaria una
modificacin en la va. Los lazos virtuales, sin embargo, se basan en el procesamiento de imgenes
capturadas por una cmara y evitan cualquier tipo de instalacin fsica en el suelo.

Cada producto de la familia BirdWatch est formado por una nica unidad hardware que debe instalarse en
cada conjunto de carriles a supervisar.
Esta unidad integra todos los elementos necesarios para la E/S de seales, las comunicaciones, la captura
de las imgenes y el procesamiento de las mismas.

1.1.1. Prestaciones
Los equipos BirdWatch descritos en este manual procesan informacin acerca de:
Presencia: presencia de vehculos en determinadas zonas de la calzada.
Cola: existencia de colas de vehculos.
Velocidad: velocidad de circulacin aproximada de los vehculos que cruzan determinadas zonas
de la calzada.

La informacin procesada es recibida por el usuario mediante:


Eventos: acontecimientos instantneos recibidos en tiempo real. Por ejemplo: el paso de un
vehculo (informando de la velocidad y longitud aproximadas) o la ocupacin de una determinada
zona de la calzada.
Estadsticas: informacin representativa del trfico detectado en el ltimo perodo de tiempo. Por
ejemplo, volumen de vehculos o velocidad media de circulacin.
Incidencias: infracciones o anomalas del trfico. Contiene fotografas del carril en alta resolucin.
Por ejemplo, el paso de un vehculo circulando en sentido contrario.

Quercus Technologies 14
Manual de referencia de BirdWatch VL Conceptos bsicos

El sistema trabaja con dos formatos de imagen:


0.36 megapxeles en blanco y negro: imagen ligera que utiliza el usuario para configurar la unidad
y seguir el funcionamiento de esta con el modo cmara en vivo.
5 megapxeles en color: imagen de alta calidad utilizada para la fotografas tomadas en una
incidencia.

1.1.2. Estructura lgica


Para procesar los diferentes tipos de informacin, el sistema BirdWatch utiliza los detectores.
Un detector es un dispositivo virtual complejo, formado por uno o varios lazos, destinado a la deteccin de
un tipo concreto de informacin.

La tecnologa BirdWatch ofrece los siguientes detectores:


Detector Lazos Incidencias detectables Eventos detectables Estadsticas
Presencia 1 Llegada de vehculo Volumen de trfico
Salida de vehculo Periodo medio
Periodicidad
Cola 5 Cambio en el nivel de Ocupacin de la cola
ocupacin de la cola
Velocidad 2 Sentido contrario Paso de un vehculo Volumen de trfico
(sentido, velocidad y Periodo medio
longitud) Periodicidad
Densidad
Velocidad media
Longitud media
Distribucin de longitudes
Distribucin de velocidades

Cada unidad BirdWatch es capaz de procesar un total de 15 lazos simultneamente.

1.1.3. Modelos disponibles


La familia BirdWatch est formada por dos tipos de productos: BirdWatch VL y BirdWatch VL Plus,
diferencindose en el tipo de informacin que pueden tratar:
BirdWatch VL BirdWatch VL Plus
Presencia
Detector Cola
Velocidad
Eventos
Informacin Estadsticas
Incidencias

Para cada uno de los modelos existen dos versiones disponibles, que se diferenciaran en el tipo de lente
instalada:

Quercus Technologies 15
Manual de referencia de BirdWatch VL Conceptos bsicos

Lente de 4 milmetros: lente gran angular de gran amplitud. Se usar en distancias cortas y en los
casos en el que el espacio a controlar sea grande.
Lente de 12 milmetros: lente normal de 12mm. Se usar para las largas distancias o para enfocar
a zonas relativamente pequeas.

Ntese que para cada tipo de lente es necesario un embellecedor diferente ( mdulo fijado delante del cristal
de la unidad BirdWatch), por lo que cada versin diferir tambin en el tipo de embellecedor instalado.

Para instalaciones que requieran otro tipo de lentes contacte con el departamento de Soporte de Quercus
Technologies.

1.1.4. Capacidad
Las unidades BirdWatch tienen una capacidad de almacenamiento de ms de 6000 fotografas de alta
calidad (5 mega pxeles). Adems, una unidad trabajando a pleno rendimiento conservar los sumarios
durante ms de un ao.

1.2. Modos de funcionamiento


Los productos BirdWatch permiten funcionar de dos maneras distintas en cuanto a sus comunicaciones,
siendo posible funcionar de ambas formas a la vez:
Online: las unidades BirdWatch envan a la aplicacin cliente la informacin sobre el trfico a
medida que sta se va produciendo en tiempo real. Un ejemplo tpico del modo de funcionamiento
online es el control continuo de la ocupacin de determinadas colas.
Offline: las unidades BirdWatch almacenan la informacin generada hasta que sta pueda ser
transferida para su interpretacin. Una aplicacin tpica de este modo de funcionamiento es la
deteccin de infracciones por circulacin en sentido contrario.

1.3. Integracin
BirdWatch se comunica con la aplicacin cliente mediante el protocolo descrito en el captulo Protocolo de
comunicaciones. El mismo protocolo se usa para la comunicacin serie (RS-232 o RS-485) y
UDP/Ethernet.

1.3.1. Alternativas de desarrollo


Para la comunicacin UDP/Ethernet, el protocolo se encuentra recubierto por libreras C y C++ compatibles
con Microsoft Windows y GNU/Linux.

A continuacin se exponen las ventajas e inconvenientes de cada mtodo de integracin:


Librera de clases en C++: librera de enlace dinmico para Windows y GNU/Linux que
proporciona una visin orientada a objetos del sistema. Junto con la librera de enlace dinmico se

Quercus Technologies 16
Manual de referencia de BirdWatch VL Conceptos bsicos

proporciona el cdigo fuente de un proxy en cdigo C++ totalmente portable para que la librera
pueda usarse desde cualquier compilador de C++. Gestiona la comunicacin simultnea con varios
equipos de forma transparente. Implementa una interfaz de alto nivel que proporciona una gran
sencillez de programacin desde C++. Disponible para sistemas Windows y GNU/Linux.
Librera de funciones en C: librera de enlace dinmico para Windows y GNU/Linux que
proporciona una visin orientada a funciones del sistema.
Del mismo modo que la librera en C++, junto con la librera se proporciona el cdigo fuente de un
proxy en cdigo C totalmente portable para que la librera pueda usarse desde cualquier
compilador de C. Gestiona la comunicacin simultnea con varios equipos de forma transparente.
Permite programar en C manteniendo la visin de alto nivel que proporciona la librera en C++.
Puede usarse tanto desde C como desde C++. Disponible para sistemas Windows y GNU/Linux.
Mediante protocolo UDP o serie propio de BirdWatch: se proporcionan las definiciones del
protocolo usado para la comunicacin en un fichero de cabecera (BW.h), as como ejemplos de su
uso programados en lenguaje ANSI C. Adems, se proporcionan rutinas bsicas para las
comunicaciones UDP en los ficheros (UDPTools.c y UDPTools.h). Con ellas puede programarse
una aplicacin cliente que interacte con BirdWatch prcticamente desde cualquier dispositivo que
disponga de capacidad de transmisin por red o serie.

La relacin existente entre las diversas capas puede verse en el siguiente esquema (en l se supone que la
aplicacin cliente est programada en C++).

Mquina cliente

Aplicacin cliente

Proxy C++

Proxy C

Librera de
enlace dinmico

Prococolo UDP

Unidad Unidad
BirdWatch BirdWatch

Como puede comprobarse, los dos mtodos de programacin de alto nivel (C/C++) no son ms que
recubrimientos sucesivos en torno a una librera de enlace dinmico, que es la que contiene toda la
funcionalidad del sistema.

Quercus Technologies 17
Manual de referencia de BirdWatch VL Conceptos bsicos

Debe notarse que, pese a las diversas capas que componen el sistema, estas no aaden ninguna
sobrecarga apreciable al funcionamiento del mismo (incluso en mquinas de escaso rendimiento). As pues,
es igual de eficiente programar sobre la librera en C o C++.

1.3.2. Alternativas de comunicacin


Las unidades BirdWatch pueden comunicarse con la aplicacin cliente (que en la nomenclatura de
BirdWatch se denomina sistema central) de dos formas distintas:
Mediante protocolo UDP: haciendo uso de una red ethernet estndar de 10/100Mb.
Mediante comunicacin serie RS-232 o RS-485: mediante el sistema de configuracin de
BirdWatch se puede elegir la velocidad de la comunicacin serie (para ms informacin consulte el
captulo 11. Firmware).

1.4. Poltica de actualizaciones y compatibilidad


El software que se distribuye con la unidad es compartido por todos los productos de supervisin de trfico
de la familia BirdWatch.

Los equipos de supervisin de trfico de la familia BirdWatch poseen un firmware (software que se ejecuta
en el interior de la unidad) actualizable.

1.4.1. Nmeros de versin


Cada versin del software/firmware est compuesto por tres cifras (por ejemplo 2.4.5):

La primera cifra (denominada mayor) muestra la versin principal de software/firmware. Esta cifra indica
cuantas veces se han producido grandes cambios internos y/o externos.
La segunda cifra (denominada menor) indica cuantas veces se han aadido nuevas
2.4.5 funcionalidades a la versin mayor indicada.
La tercera cifra (denominada revisin) indica cuantas veces se han corregido
errores de la versin mayor.menor indicada.

La versin inicial de cualquier producto BirdWatch es la 1.1.0.

1.4.2. Compatibilidad entre versiones


El software cliente siempre es compatible hacia atrs, es decir, con la ltima versin del software se pueden
controlar todas las versiones de las unidades BirdWatch.

Quercus Technologies 18
Manual de referencia de BirdWatch VL Conceptos bsicos

Para saber si una actualizacin de firmware es compatible con su unidad, debe comprobar la versin que
est en funcionamiento en su unidad y compararla con la versin de la actualizacin:
Versin Compatible Requiere actualizacin de software
Primera cifra diferente No --
Primera cifra idntica S S
Segunda cifra diferente
Primera y segunda cifra idntica Si No
Tercera cifra diferente

Quercus Technologies 19
Manual de referencia de BirdWatch VL Conceptos bsicos

2. Tipos de detector
En este apartado se informa de las caractersticas y prestaciones de todos los tipos de detectores de la
familia BirdWatch.
Las dimensiones indicadas en los detectores son meramente informativas. Para un ptimo funcionamiento,
dichas dimensiones debern adecuarse a las caractersticas de la va y del trfico a controlar.

En el software BirdWatch se encuentran ejemplos ideales de cada uno de los tipos de detector. Dichos
ejemplos pueden visualizarse mediante la herramienta BWPreviewer. Vase 9. Herramienta de
previsualizacin (BWPreviewer).

2.1. Detector de presencia


2.1.1. Descripcin
El detector de presencia est orientado a indicar la presencia de un vehculo en una determinada zona de la
calzada.
Informacin: presencia.
Nmero de lazos: 1.
Longitud aproximada.: 4 metros.
Ancho aproximado: entre 3 y 4 metros.
Incidencias: ninguna.
Sumarios: volumen, periodo medio y periodicidad.

2.1.2. Disposicin
El detector estar formado por un nico lazo que ocupar todo el
ancho del carril y tendr una longitud aproximada de 4 metros, para
que quepa en su interior un vehculo tpico.

2.1.3. Funcionamiento
El detector genera un evento de activacin cuando es ocupado por un vehculo y otro de desactivacin
cuando es desocupado.

Quercus Technologies 20
Manual de referencia de BirdWatch VL Conceptos bsicos

El vehculo ocupa el detector; ste El vehculo abandona el detector;


detecta presencia. ste detecta que est desocupado.

2.1.4. Eventos en tiempo real


Cada cambio de estado del detector genera un evento en tiempo real que informa de:
Momento: momento de la generacin del evento (con una resolucin de microsegundos).
Presencia: indica si hay presencia en el detector.

2.1.5. Sumarios
El detector de presencia genera peridicamente estadsticas del trfico. Estas estadsticas informan de:
Volumen: total de vehculos detectados.
Periodo medio: separacin media entre vehculos; en segundos.
Periodicidad: flujo medio de circulacin; en vehculos por hora. Este valor se obtiene de:
Volumensegundos en una hora
duracin del sumario en segundos

El valor de periodicidad no es calculado directamente por la unidad, ya que se obtiene a partir de otros
valores proporcionados. Para obtenerlo es necesario aplicar la frmula descrita.

2.1.6. Incidencias
Este tipo de detector no genera incidencias.

2.2. Detector de cola


2.2.1. Descripcin
El detector de cola est orientado a indicar el porcentaje de ocupacin de una determinada cola.
Informacin: ocupacin (porcentaje).
Nmero de lazos: 5.
Longitud aproximada.: 20 metros.
Ancho aproximado: entre 3 y 4 metros.
Incidencias: ninguna.

Quercus Technologies 21
Manual de referencia de BirdWatch VL Conceptos bsicos

Sumarios: distribucin de ocupacin.

2.2.2. Disposicin
El detector ocupar el ancho del carril y tendr una longitud
aproximada de 20 metros. Estar dividido en cinco lazos en lnea que
tendrn una longitud aproximada de 4 metros, para que quepa en su
interior un vehculo tpico.
Para su configuracin solamente tendr que definirse el detector y el
sistema se encargar de dividirlo correctamente en cinco lazos.

2.2.3. Funcionamiento
El detector informa del porcentaje de ocupacin de la cola, siendo los posibles valores 0%, 20%, 40%, 60%,
80% y 100%, relativos a cada uno de los 5 lazos.
El porcentaje de ocupacin disminuye cuando un lazo es desocupado y aumenta cuando un lazo es
ocupado y no hay movimiento en l.

Cola con un 40% de ocupacin. Cola con un 80% de ocupacin.

2.2.4. Eventos en tiempo real


Cada cambio en el porcentaje de ocupacin del detector genera un evento en tiempo real que informa de:
Momento: momento de la generacin del evento (con una resolucin de microsegundos).
Porcentaje de ocupacin: porcentaje actual de ocupacin de la cola.

2.2.5. Sumarios
El detector de cola genera peridicamente estadsticas del trfico. Estas estadsticas informan de:
Distribucin de ocupacin: distribucin de los porcentajes de ocupacin durante el periodo.

2.2.6. Incidencias
Este tipo de detector no genera incidencias.

Quercus Technologies 22
Manual de referencia de BirdWatch VL Conceptos bsicos

2.3. Detector de velocidad


2.3.1. Descripcin
El detector de velocidad est orientado a indicar la velocidad y longitud aproximadas de cada uno de los
vehculos que circulan, as como detectar a los vehculos que circulan en el sentido contrario al permitido.
Informacin: velocidades y longitudes.
Nmero de lazos: 2.
Longitud aproximada.: 7 metros.
Ancho aproximado: entre 3 y 4 metros.
Incidencias: sentido contrario.
Sumarios: volumen, periodo medio medio, periodicidad, densidad, velocidad media, longitud media,
distribucin de velocidades y distribucin de longitudes.

2.3.2. Disposicin
El detector ocupar el ancho del carril y tendr una longitud aproximada de 7 metros. Estar dividido en dos
lazos de una longitud aproximada de 4 metros, solapados entre s un 20% de su longitud.
Para su configuracin solamente ser necesario definir el detector y el
sistema se encargar de dividirlo correctamente en dos lazos. Para el
correcto clculo de las velocidades y longitudes es imprescindible
especificar, de la forma ms precisa posible, la longitud del detector,
la distancia de ste hasta la unidad BirdWatch y la altura a la que
est instalada la unidad.

A diferencia de los otros tipos de detector, un detector de velocidad


nunca podr ocupar la zona de la calzada anterior a la unidad.

2.3.3. Funcionamiento
El detector indica la velocidad y longitud aproximadas de cada uno de los vehculos que circulan y detecta
los que circulan en sentido contrario.

El vehculo se aproxima al detector. El vehculo ocupa el primer lazo.

Quercus Technologies 23
Manual de referencia de BirdWatch VL Conceptos bsicos

El vehculo ocupa tanto el primero El vehculo tan slo ocupa el segundo


como el segundo lazo. lazo.

El vehculo se aleja del detector.

Para el correcto funcionamiento del detector debe tenerse en cuenta que:


Cada uno de los lazos no deben ser ocupados por ms de un vehculo a la vez.
Los vehculos deben activar los dos lazos.

Para el correcto clculo de las velocidades debe tenerse en cuenta que:


La ocupacin del detector por ms de un vehculo a la vez dificulta el clculo.

Para el correcto clculo de las longitudes debe tenerse en cuenta que:


Debido a la altura de los vehculos el error de los valores obtenidos tiende a aumentar con el ngulo
de la cmara respecto a la va. Es preferible una instalacin lo ms vertical posible para reducir este
error.
El clculo no elimina en su totalidad la longitud de la sombra del propio vehculo (si la hay). Esto
puede ocasionar que en situaciones de sombras largas las longitudes de los vehculos sean
ligeramente ms largas.
Es necesario un trfico fluido. Durante situaciones de retencin (vehculos parados en el detector)
no es posible el clculo.
La ocupacin del detector por ms de un vehculo a la vez dificulta el clculo.
En situaciones de iluminacin baja (noche) no es posible el clculo.

Quercus Technologies 24
Manual de referencia de BirdWatch VL Conceptos bsicos

2.3.4. Eventos en tiempo real


Cada vehculo detectado genera un evento en tiempo real que informa de:
Momento: momento de la generacin del evento (con una resolucin de microsegundos).
Sentido: sentido de la circulacin del vehculo.
Velocidad: velocidad aproximada del vehculo; en kilmetros por hora.
Longitud: longitud aproximada del vehculo; en milmetros.

2.3.5. Sumarios
El detector de velocidad genera peridicamente estadsticas del trfico. Estas estadsticas informan de:
Volumen: total de vehculos detectados.
Periodo medio: separacin media entre vehculos; en segundos.
Periodicidad: flujo medio de circulacin; en vehculos por hora. Este valor se obtiene de:
Volumensegundos en una hora
duracin del sumario en segundos
Densidad: densidad de vehculos en la va: en vehculos por kilmetro.
Periodicidad
Velocidad media
Velocidad media: velocidad media; en kilmetros por hora.
Longitud media: longitud media de los vehculos; en milmetros.
Distribucin de velocidades: distribucin de las velocidades.
Distribucin de longitudes: distribucin de las longitudes.

Los valores de periodicidad y densidad no son calculados directamente por la unidad, ya que se obtienen a
partir de otros valores proporcionados. Para obtenerlos es necesario aplicar las frmulas descritas.

2.3.6. Incidencias
Este detector genera un tipo de incidencia:
Sentido contrario: vehculo que circula en el sentido contrario al de la va.
Momento: instante en el que se ha generado la incidencia (con una resolucin de
microsegundos).

Las incidencias se acompaan de dos fotografas de 5 megapxeles en color del vehculo; dependiendo de
su posicin se toman en momentos diferentes.
Frontal (los vehculos se aproximan a la unidad): ntese que, en una instalacin frontal, los
vehculos que generen una incidencia de sentido contrario se alejarn de la unidad, de tal forma que
activarn primero el segundo lazo, para posteriormente activar el primero.
Primera fotografa: desactivacin del segundo lazo.
Segunda fotografa: desactivacin del primer lazo.

Quercus Technologies 25
Manual de referencia de BirdWatch VL Conceptos bsicos

Primera captura de la incidencia. Segunda captura de la incidencia.

Trasera (los vehculos se alejan de la unidad): ntese que, en una instalacin trasera, los vehculos
que generen una incidencia de sentido contrario se aproximarn a la unidad, de tal forma que
activarn primero el segundo lazo, para posteriormente activar el primero.
Primera fotografa: activacin del segundo lazo.
Segunda fotografa: activacin del primer lazo.

Primera captura de la incidencia. Segunda captura de la incidencia.

Quercus Technologies 26
Manual de referencia de BirdWatch VL Conceptos bsicos

3. Pasos previos a la instalacin


3.1. Ubicacin
3.1.1. Tipos de instalacin
Los equipos BirdWatch soportan todas las posiciones posibles de instalacin:
Frontal: instalacin encima de la calzada, de tal forma que los vehculos se aproximen a la unidad.
Trasera: instalacin encima de la calzada, de tal forma que los vehculos se alejen de la unidad.
Oblicua: instalacin a un lado de la calzada.

Tngase en cuenta, tambin, que es posible posicionar una unidad de tal forma que englobe varios tipos
de instalacin a la vez. Por ejemplo, una unidad que controlase un carril por cada sentido de la circulacin,
de tal forma que la instalacin sera frontal y trasera a la vez.

Instalacin frontal Instalacin trasera

Instalacin oblicua Instalacin frontal y trasera

3.1.2. Ubicacin ideal


Para conseguir el ptimo funcionamiento de una unidad BirdWatch es clave ubicarlo en una correcta
posicin y utilizar la lente que mejor se ajuste a las necesidades de la instalacin. Para planificar la
ubicacin del equipo se aconseja utilizar la herramienta BWPreviewer; vase el apartado 9. Herramienta de
previsualizacin (BWPreviewer) para un conocer la aplicacin. BWPreviewer le permite recrear el entorno
de una instalacin BirdWatch y posteriormente visualizar la escena desde el punto de vista de la unidad.

Quercus Technologies 27
Manual de referencia de BirdWatch VL Conceptos bsicos

Modificando la posicin de la unidad en la escena y cambiando de lente podr encontrar su posicin ptima,
teniendo en cuenta los siguientes puntos:
Ocultacin: debido a su altura algunos vehculos pueden ocupar, en la imagen, zonas de la calzada
que fsicamente no ocupan. Este fenmeno se denomina ocultacin y debe evitarse, ya que puede
indicar presencia en un detector cuando en realidad no la hay.

Vista desde la unidad BirdWatch: Vista de pjaro:


el camin ocupa el segundo detector el camin realmente no ocupa el
y lo activa. segundo detector.

Vista desde la unidad BirdWatch: Vista de pjaro:


la furgoneta ocupa el detector del la furgoneta realmente no ocupa el
carril de la izquierda y lo activa. carril de la izquierda.

Horizonte: en la imagen capturada por BirdWatch no debe aparecer el horizonte. Si los rayos
solares penetran directamente en la unidad disminuir notablemente la calidad de la imagen y,
consecuentemente, el rendimiento de la unidad.
Carril nico: en situaciones en las que la unidad BirdWatch solamente deba controlar un carril, es
preferible no posicionarla en el centro de la calzada, sino ligeramente a uno de los lados. El paso de
un camin, en segn qu instalaciones, puede provocar una ocultacin total en la imagen y dificultar
el procesamiento de informacin.

Quercus Technologies 28
Manual de referencia de BirdWatch VL Conceptos bsicos

Detector en una instalacin de carril Al paso de un camin, su techo


nico. Unidad BirdWatch
ocupa gran parte de la imagen.
posicionada en el centro del carril.

Detector en una instalacin de carril Al paso de un camin, su techo


nico. Unidad BirdWatch
ocupa menos parte de la imagen.
posicionada ligeramente a un lado
del carril.

Varios carriles: en situaciones en las que la unidad BirdWatch deba controlar ms de un carril,
esta nunca debe ser posicionada en el carril de trfico lento. Los vehculos pesados (ms altos)
circulan con mayor frecuencia en l y provocan ms ocultaciones en los carriles adyacentes.

3.1.3. Requisitos mnimos


La instalacin debe cumplir unos requisitos mnimos:
Iluminacin: el sistema BirdWatch no requiere una iluminacin mnima para funcionar
correctamente.
Resolucin del detector: cada detector debe tener una resolucin mnima de 20 pxeles/metro de
ancho en la imagen de configuracin (en blanco y negro de 0.3Mp).
Resolucin de la matrcula: una matrcula, para poder ser leda correctamente por el ojo humano,
debe tener una resolucin mnima de 160 pxeles/metro de ancho en las fotografas de incidencias
(en color de 5Mp) o, lo que es lo mismo, 40 pxeles/metro de ancho en la imagen de configuracin
(en blanco y negro de 0.3Mp).

El correcto funcionamiento de una instalacin de lazos virtuales depende de muchos factores externos al

Quercus Technologies 29
Manual de referencia de BirdWatch VL Conceptos bsicos

propio sistema. La mayor parte de estos factores pueden optimizarse si son contemplados durante el diseo
de la ubicacin de las cmaras. Quercus Technologies slo puede garantizar un ptimo
funcionamiento del sistema BirdWatch VL si la ubicacin de los distintos elementos del sistema se
lleva a cabo bajo las directrices descritas en este documento. En caso de existir limitaciones fsicas
insalvables que impidan el seguimiento de dichas directrices, es muy importante que la ubicacin de
elementos se lleve a cabo con la colaboracin del departamento de Soporte de Quercus Technologies

3.1.4. Funcionamiento de noche


El sistema BirdWatch tambin funciona en situaciones de iluminacin baja (noche), pero de forma diferente
a como lo hace de da. Cuando el ndice de iluminacin de una escena es muy bajo, obviamente, los
vehculos no pueden diferenciarse de la calzada, por lo que el sistema BirdWatch usa las luces de estos
para detectar su presencia.
Por eso es bsico que las luces de los vehculos estn dentro del detector cuando estos circulan sobre l;
de otra forma no se garantiza el correcto funcionamiento de los detectores durante la noche.

3.2. Instalacin elctrica


Voltaje Consumo
Corriente continua Entre 9Vdc y 36Vdc 2.5W

3.3. Cableado
A cada equipo BirdWatch deben llegar los siguientes cables:
Cable de alimentacin: 2x1.5mm2 de seccin.
Cable de red: cable UTP categora 5.

Alternativamente al cable de red, la comunicacin se puede efectuar por los siguientes canales serie:
RS-232: cable serie estndar de 3 vas.
RS-485: cable serie estndar de 3 vas.

Para aquellas instalaciones en las que se utilicen las entradas y/o salidas digitales, ser necesario tambin
el siguiente cable:
Cable de seales: cable apantallado de 10 vas (si se requieren las 4 entradas y las 4 salidas) de
0.22mm2 de seccin.

Quercus Technologies 30
Manual de referencia de BirdWatch VL Conceptos bsicos

4. Material suministrado

1
2

4
3

1. Unidad BirdWatch.
2. CD-ROM con manual, programas y libreras de desarrollo.
3. Dos llaves allen del nmero 3 y del nmero 5.
4. Dos bridas metlicas.

Quercus Technologies 31
Manual de referencia de BirdWatch VL Software

Software

En esta seccin se describe el software cliente (herramientas, simulador, libreras de desarrollo, etc.)
disponible en el CD-ROM, as como los procesos de instalacin y configuracin del mismo.

No es necesario disponer fsicamente de ningn equipo BirdWatch para seguir los pasos indicados en esta
seccin, ya que solamente se instala el software cliente, es decir, el software que permite comunicar e
interactuar con uno o ms equipos.

El software de BirdWatch es compartido por todos los productos de la familia BirdWatch (algunos
de ellos no descritos en el presente manual). Por ello, se encontrarn archivos o funciones que no
son aplicables a los productos BirdWatch VL y BirdWatch VL Plus; por ejemplo, las relativas a
otros tipos de detector.

Quercus Technologies 32
Manual de referencia de BirdWatch VL Software

5. Instalacin del software cliente


Utilice siempre la versin del software que se le ha suministrado con la unidad o una posterior, ya que dicho
software siempre es compatible hacia atrs, es decir, la versin ms reciente del software siempre puede
usarse con todas las unidas existentes salvo que se indique explcitamente lo contrario.

5.1. Contenido del CD-ROM


En el CD-ROM podr encontrar tres carpetas:
Windows: el programa de instalacin de las herramientas de desarrollo y programas para el
sistema operativo Windows.
Linux: el programa de instalacin de las herramientas de desarrollo y programas para el sistema
operativo Linux.
OpenSource: proyectos de cdigo abierto usados en BirdWatch .

5.2. Instalacin en Windows


Ejecute el programa de instalacin <CD-ROM>\Windows\setup.exe y siga los pasos indicados.
Si en el sistema ya hubiese una versin del software cliente instalado y la versin de la nueva instalacin
solamente difiere en el nmero de revisin (por ejemplo, si hay una versin 1.1.0 instalada y se va a instalar
la versin 1.1.1), se instalar en la misma carpeta sobrescribiendo solamente los ficheros necesarios y
dejando solamente una entrada en el men de desinstalacin del sistema.

5.3. Instalacin en GNU/Linux


Monte su unidad de CD-ROM. Ejecute el programa de instalacin <CD-ROM>/Linux/BirdWatch-1.1.0.run
con el comando:

# sh <CD-ROM>/Linux/ BirdWatch-1.1.0.run

Siga los pasos indicados.

5.3.1. Dependencias
Los ejecutables para GNU/Linux estn enlazados dinmicamente, por lo tanto deber tener los siguientes
componentes instalados. Todos estos componentes se encuentran instalados (o disponibles para la
instalacin) en cualquier distribucin Linux moderna.

Para desarrollar y ejecutar programas sin interfaz grfica:


glibc v2.3.2: http://www.gnu.org/software/libc/libc.html

Para ejecutar programas con interfaz grfica adems necesitar:

Quercus Technologies 33
Manual de referencia de BirdWatch VL Software

XFree86-libs v4.3.0: http://ftp.xfree86.org/pub/XFree86/

5.4. Ficheros instalados


En la carpeta de instalacin podr encontrar las siguientes subcarpetas:
Bin: ejecutables y libreras. En ella podr encontrar los siguientes ficheros:
BW.dll (Windows) o libBW.so (Linux): librera de enlace dinmico necesaria para programar
aplicaciones clientes en C/C++.
BWDiag(.exe): herramienta de diagnstico. Permite comprobar, desde el sistema central, el
funcionamiento de las unidades.
BWPreviewer(.exe): aplicacin para la previsualizacin del entorno de una instalacin
BirdWatch.
BWComBridge(.exe): adaptador serie, transforma tramas UDP en tramas serie. Se usar
cuando se desee simular una unidad con comunicacin serie.
BWComBridgeGui(.exe): adaptador serie en modo grfico, transforma tramas UDP en tramas
serie. Se usar cuando se desee simular una unidad con comunicacin serie.
BWSimu(.exe): simulador en modo texto de unidad BirdWatch. Permite desarrollar
aplicaciones cliente para BirdWatch sin necesidad de disponer fsicamente de la unidad.
BWSimuGui(.exe): simulador en modo grfico de unidad BirdWatch . Permite desarrollar
aplicaciones cliente para BirdWatch sin necesidad de disponer fsicamente de la unidad.
ShowFileInfo (solamente en GNU/Linux): herramienta para obtener informacin de la versin
de libreras de enlace dinmico creadas por Quercus Technologies.
Lib*.so (solamente en GNU/Linux): todas las dependencias de libBW.so (excepto glibc y
Xfree86).
/libs: todas las dependencias de los ejecutables (excepto glibc y Xfree86 en GNU/Linux).
Data: datos y ficheros de configuracin que necesitan la herramienta de diagnstico, simulador y la
herramienta de previsualizacin para funcionar correctamente.
Doc: contiene los manuales de los productos BirdWatch VL y BirdWatch RL.
Include: contiene los ficheros de cabecera C/C++ necesarios para desarrollar usando las libreras
de dichos lenguajes, as como la definicin de las tramas del protocolo en forma de estructuras en
C.
Log: carpeta donde irn a parar los registros de los diversos programas as como el histrico de
incidencias y sumarios enviados por cada unidad.
Samples:
BWPreviewer: ejemplos para cada tipo de detector de una instalacin BirdWatch ; listos para
ser cargados con la aplicacin de previsualizacin.
Otros: ejemplos de programacin con las diversas alternativas existentes: C, C++ y protocolo.
Consulte el fichero Readme.txt de dicha carpeta para ms informacin.
Simulations: simulaciones de funcionamiento de cada uno de los tipos de detectores existentes en
las unidades de la familia BirdWatch. Cada simulacin contiene un fichero .bat o un script para

Quercus Technologies 34
Manual de referencia de BirdWatch VL Software

ejecutarlo correctamente. Consulte el fichero Readme.txt de dicha carpeta para ms informacin.


Src: ficheros en cdigo fuente C/C++ necesarios para usar la librera en C++ as como un conjunto
de funciones de ayuda en la gestin de comunicaciones UDP.

Quercus Technologies 35
Manual de referencia de BirdWatch VL Software

6. Configuracin del sistema central


El sistema central se configurar mediante un fichero de texto. La aplicacin cliente deber usar este fichero
de configuracin para inicializar la librera de desarrollo de BirdWatch (ya sea la librera en C o C++).

El fichero de configuracin puede tener cualquier nombre y encontrarse en cualquier lugar de la mquina
cliente. Pero si va a usarlo desde la herramienta de diagnstico BWDiag (vase el apartado 7. Herramienta
de diagnstico para ms informacin) deber encontrarse en la carpeta Data del directorio de instalacin y
llamarse Central.ini, ya que BWDiag espera encontrarlo en esa posicin con dicho nombre.

El fichero est dividido en secciones, donde cada seccin contiene una serie de variables del tipo
Variable=Valor. Pueden dejarse espacios antes y despus del smbolo igual, ya que estos sern
ignorados.

6.1. Seccin [Global]


En ella se encuentran los parmetros generales del sistema.
LogLevel: nivel de informacin que se mostrar en el registro. Posibles valores:
1: Message; se mostrarn todos los mensajes.
2: Warning; slo se mostrarn mensajes de aviso o error.
3: Error; slo se mostrarn mensajes de error.
HistoricSummarySize: nmero de sumarios que se almacenarn por unidad. Los sumarios se
almacenan en <carpeta de instalacin>/Log/UnitX/Summaries, donde X representa el ndice de la
unidad. Por cada sumario se almacena un fichero con los datos de las estadsticas recogidas
durante un periodo de tiempo; por lo tanto, deber tener en cuenta las limitaciones en cuanto a
nmero de ficheros que puede contener una sola carpeta de su sistema de ficheros al establecer
este valor.
HistoricIncidenceSize: nmero de incidencias que se almacenarn por unidad. Las incidencias se
almacenan en <carpeta de instalacin>/Log/UnitX/Incidences, donde X representa el ndice de
cada unidad. Cada incidencia implica el almacenaje de varios ficheros con los datos de la
incidencia (momento, tipo, etc.) y las correspondientes imgenes jpeg, con la fotografa tomada del
vehculo en diferentes tramos para poder verificar la infraccin. Por lo tanto, se deber tener en
cuenta las limitaciones en cuanto a nmero de ficheros que puede contener una sola carpeta de su
sistema de ficheros al establecer este valor.

6.2. Seccin [Network]


Contiene los parmetros generales de red.
ListeningPort: puerto UDP por el que se esperarn los mensajes de las unidades. Las unidades
estn configuradas por defecto para enviar los mensajes al puerto 8050; por lo tanto se recomienda
usar este valor.

Quercus Technologies 36
Manual de referencia de BirdWatch VL Software

Timeout: tiempo en milisegundos que se esperar desde que se le enva un mensaje a una unidad
hasta que se determine que el mensaje no ha llegado, procediendo al reenvo (o a la cancelacin en
el caso que se hayan agotado los reintentos). El valor recomendado est entre 300 y 1000 (si la red
en la que se encuentran los equipos tiene un alto volumen de trfico podra aumentarse ligeramente
este valor).
Retries: nmero de reintentos de enviar un mensaje que se harn antes de considerarse que no ha
podido ser enviado. Los valores aconsejables estn entre 2 y 3 reintentos.
Password: contrasea de encriptacin de protocolo. Vase el apartado 11.1. Configuracin
principal del sistema para ms informacin.

6.3. Seccin [Units]


Contiene la informacin aplicable a todas las unidades.
MonitoringPeriod: segundos que pasarn entre las comprobaciones del estado de las unidades. El
valor recomendado est entre 10 y 30 segundos.
NumberOfUnits: nmero de unidades en las que est dividido el sistema. Deber haber tantas
secciones UnitX como se indique aqu e irn numerados de 1 a X. En ese mismo orden aparecern
en las libreras de desarrollo y en la herramienta de diagnstico.

6.4. Seccin [UnitX]


Contiene los parmetros de la unidad X.
Host: direccin IP de la unidad. Pueden usarse nombres en lugar de direcciones IP, en cuyo caso la
unidad debe tener configurado el acceso a un servidor de DNS para poder convertir el nombre en
una direccin IP.
Port: puerto UDP en el que la unidad esperar los mensajes del sistema central. La configuracin
por defecto de las unidades es 8051, as que este es el valor recomendado.

Ejemplo de fichero de configuracin:

[Global]
LogLevel=2
HistoricSummarySize=300
HistoricIncidenceSize=100

[Network]
ListeningPort=8050
Timeout=500
Retries=2
Passowrd=

[Units]
MonitoringPeriod=10
NumberOfUnits=4

[Unit1]
Host=192.168.1.201
Port=8051

[Unit2]

Quercus Technologies 37
Manual de referencia de BirdWatch VL Software

Host=192.168.1.202
Port=8051

[Unit3]
Host=192.168.1.203
Port=8051

[Unit4]
Host=192.168.1.204
Port=8051

Quercus Technologies 38
Manual de referencia de BirdWatch VL Software

7. Herramienta de diagnstico
La herramienta de diagnstico BWDiag permite al operario comprobar, desde el sistema central, el
funcionamiento de las diversas unidades.

Para usar la herramienta de diagnstico deber parar la aplicacin cliente (si est en marcha), ya que
ambas utilizan el mismo puerto UDP para recibir los mensajes de las unidades, y no pueden estar las dos
en funcionamiento al mismo tiempo.

El programa puede ejecutarse con o sin argumentos. Si se ejecuta sin argumentos buscar el fichero de
configuracin en <carpeta de BWDiag>/../Data/Central.ini y dejar el fichero de log en <carpeta de
BWDiag>/../Log/Central.log. Si por el contrario se ejecuta con argumentos, el primer argumento debe ser el
camino del fichero de configuracin y el segundo el del fichero de log. Ejemplo: BWDiag Central.ini
Central.log.

La interfcie se presentar en el idioma que se haya configurado en la configuracin regional del sistema
operativo (en Windows) o en las variables de entorno LC... (en Linux).

La aplicacin est dividida en tres zonas:


Barra de botones.
Zona principal
Barra de estado.

Quercus Technologies 39
Manual de referencia de BirdWatch VL Software

7.1. Barra de botones


La barra de botones ocupa la parte superior de la aplicacin. Los botones estn agrupados segn su
funcionalidad. Algunos botones son aplicables solamente en determinadas circunstancias y con cierta
pestaa seleccionada; en cambio otros son independientes de la pestaa activa. Los grupos de botones
disponibles son:

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

7.1.1. Botones principales


Realizan las acciones ms bsicas de la aplicacin:
1. Salir: salir de la aplicacin.
2. Seleccin de la unidad: se muestran todas las unidades configuradas en el fichero Central.ini. Si
se selecciona Todo las acciones repercutirn en todos los detectores de todas las unidades; si
selecciona una unidad en concreto las acciones slo repercutirn en dicha unidad.
3. Seleccin de tipo de detector: se muestran los tipos de detectores existentes en la unidad
seleccionada. Si selecciona Todo las acciones repercutirn en todos los tipos detectores de la
unidad; si selecciona un tipo en concreto las acciones repercutirn en los detectores de la unidad
del tipo seleccionado.
4. Seleccin del detector: se muestran los detectores de la unidad seleccionada y del tipo
seleccionado. Si se selecciona Todos las acciones repercutirn en todos los detectores de dicha
unidad y tipo; si se selecciona un detector las acciones solamente repercutirn sobre l.

7.1.2. Botones de control


5. Tiempo de exposicin: (ver el apartado Zona principal/Pestaa de cmara en vivo).

7.1.3. Botones de accin


Permiten realizar acciones sobre la pestaa seleccionada. Algunos de los botones solamente estarn
disponibles para ciertas combinaciones de unidad/detector y/o para determinadas pestaas:
6. Inicio: (ver el apartado Zona principal).
7. Stop: (ver el apartado Zona principal).
8. Limpiar/Restaurar: (ver el apartado Zona principal).

7.1.4. Botones de desplazamiento


Permiten desplazarse en el histrico de la pestaa seleccionada. Solamente estarn disponibles para
ciertas combinaciones de unidad/detector y/o para determinadas pestaas:
9. Primero: (ver el apartado Zona principal).
10. Anterior: (ver el apartado Zona principal).

Quercus Technologies 40
Manual de referencia de BirdWatch VL Software

11. Siguiente: (ver el apartado Zona principal).


12. ltimo: (ver el apartado Zona principal).

7.1.5. Botones de funcin


Funciones independientes de la pestaa seleccionada.
13. Reiniciar unidad seleccionada: permite reiniciar la unidad seleccionada (o todas las seleccionadas
si se han seleccionado todas). La aplicacin solicitar confirmacin antes de proceder a enviar la
orden a la(s) unidad(es).
14. Activar bit de E/S: est disponible siempre que haya una unidad seleccionada. Sirve para activar o
desactivar un bit de salida de la tarjeta de E/S de la unidad. Una vez pulsado aparecer el siguiente
dilogo:

15. En ella debe elegirse el bit que quiere activarse y la duracin (o marcar Mantener activo) y pulsar
el botn Activar para enviar la orden a la unidad. Para desactivar un bit previamente
activoseleccione un tiempo cero para dicho bit y pulse Activar; para activar un bit indefinidamente
seleccione un tiempo de -1.
16. Activar tareas: est disponible siempre que se haya seleccionado una unidad. Sirve para indicar a
la unidad qu tareas debe realizar. Dependiendo del tipo de seleccin aparecer un dilogo
diferente:
Detector seleccionado: permite activar/desactivar de forma temporal las tareas del detector; una
vez se reinicie la unidad los valores volvern a ser los asignados en la configuracin del
detector (ver apartado 11. Firmware).

Detector no seleccionado (Todos): permite activar/desactivar de forma temporal las tareas de


la unidad; una vez se reinicie la unidad los valores volvern a ser los asignados en la
configuracin de esa (ver apartado 11. Firmware).

Quercus Technologies 41
Manual de referencia de BirdWatch VL Software

7.1.6. Botones de ayuda


17. Manual de BirdWatch VL: muestra el manual de BirdWatch Virtual Loop en PDF. Es necesario
disponer de un visor de ficheros PDF asociado a dicho tipo de ficheros.
18. Manual de BirdWatch RL: muestra el manual de BirdWatch Red Light (otro producto de la
familia BirdWatch) en PDF. Es necesario disponer de un visor de ficheros PDF asociado a dicho
tipo de ficheros.
19. Acerca de: muestra informacin acerca de Quercus Technologies.

7.2. Zona Principal


La zona principal est dividida en pestaas. La combinacin de unidad / detector seleccionada en la barra
de botones cambia el comportamiento de las pestaas.

7.2.1. Pestaa Estado


Sirve para conocer el estado y las notificaciones de la unidad seleccionada en la barra de botones. Est
dividida en tres partes: Estado, Elementos y Notificaciones.

En Estado se mostrar:
Con una unidad seleccionada:

Quercus Technologies 42
Manual de referencia de BirdWatch VL Software

Informacin de la unidad:
Unidad: identificador nico de la unidad.
Estado de las comunicaciones: estado de las comunicaciones con la unidad. Si este
campo muestra error, el resto de campos no mostrarn ningn valor.
Estado: indica si el motor de BirdWatch est funcionando correctamente en la unidad.
En caso negativo verifique el fichero de log de la unidad.
Enviar cambios E/S: muestra si la unidad debe informar al sistema central de los
cambios en las E/S.
Firmware: muestra el nombre del firmware que est ejecutando la unidad.
Versin del firmware: muestra la versin de firmware que est ejecutando la unidad.

En Elementos se mostrar una tabla con todos los detectores pertenecientes al elemento seleccionado y su
configuracin (vase el apartado 11. Firmware).

En Notificaciones se mostrar una lista de las ltimas notificaciones de la/s unidad/es seleccionada/s con
la siguiente informacin:
Momento: fecha y hora en la que se ha producido la notificacin en formato ao-mes-da
hora:minuto:segundo.
Unidad: unidad de la cual procede la notificacin.
Descripcin: descripcin de la notificacin producida.

Botones activos
Borrar/Reiniciar: vaca la lista de notificaciones.

7.2.2. Pestaa Eventos


Muestra los eventos que se van produciendo en la unidad seleccionada mientras se ve la imagen en vivo de
la cmara. Los eventos mostrados pueden ser desde cambios en las entradas de la tarjeta de E/S a
cambios de estado de los detectores, con su correspondiente informacin dependiendo de su tipo. Las
acciones principales que se realizan sobre el elemento seleccionado tambin quedan reflejadas en esta
pestaa.

Quercus Technologies 43
Manual de referencia de BirdWatch VL Software

Esta pestaa solamente mostrar datos si el elemento activo en la barra de botones es una unidad; la
ventana aparecer vaca en caso de que el elemento activo sea todo el sistema. Para facilitar la tarea se
podr escoger visualizar slo los eventos para un tipo de detector o un detector en concreto.
Sobre la imagen se pintan los lazos que forman los detectores de la unidad seleccionada, para poder
observar que se activan cuando un vehculo pasa por encima. El color verde indica presencia y el rojo
ausencia, y su intensidad ser mayor cuando represente al elemento seleccionado.

La ventana est dividida en 4 partes:


Imagen: imagen en vivo.
Elemento seleccionado:
Id. Unidad: identificador de la unidad.
Id. Detector: identificador del detector.
Tipo: tipo de detector.
Entradas y salidas digitales:
Salidas: estado de las salidas de la tarjeta de E/S de la unidad.
Entradas: estado de las entradas de la tarjeta de E/S de la unidad.
Lista de eventos: lista de eventos producidos. Se muestra la fecha y hora, el identificador de la
unidad y del detector (si es aplicable) y una pequea descripcin del evento producido.

Quercus Technologies 44
Manual de referencia de BirdWatch VL Software

Botones activos
Inicio: empieza a mostrar imagen en vivo y a mostrar sobre dicha imagen los detectores con su
estado (verde: presencia de vehculo; rojo: ausencia de vehculo).
Stop: deja de mostrar imagen en vivo y de mostrar el estado de los detectores.
Limpiar/Restaurar: vaca la lista de eventos.

7.2.3. Pestaa Incidencias


Muestra las incidencias almacenadas en el histrico del disco.
Esta pestaa mostrar datos si hay una unidad, un detector o un tipo de detector seleccionado; la ventana
aparecer vaca en caso que el elemento activo sea todo el sistema.

La ventana est dividida en 3 partes:


Imagen/es: imagen/es almacenada/s por la incidencia. Ocupa la parte superior de la ventana.
Si se pulsa dos veces una imagen se procede a visualizarla a escala 1:1; este modo permite
apreciar mejor pequeos detalles en la imagen.
Brillo: permite uniformizar el brillo de las imgenes en pantalla. Se encuentra en la parte inferior

Quercus Technologies 45
Manual de referencia de BirdWatch VL Software

izquierda de la ventana.
Si se marca la casilla Encendido la aplicacin intentar disminuir o aumentar automticamente el
brillo de la imagen de forma que todas aparezcan con un brillo similar. Para ajustar el brillo
manualmente debe desmarcarse la casilla Auto y ajustarlo con el control destinado a tal efecto.
Una vez el brillo se ha ajustado manualmente, permanecer en el valor establecido incluso para las
nuevas imgenes que se visualicen.
Ntese que la aplicacin solamente aplica el nuevo brillo cuando se visualiza la imagen a escala
1:1.
Atencin: este control solamente modifica la forma en que la aplicacin muestra las imgenes, no
modifica el brillo de las imgenes que se almacenan en el histrico del disco.
Informacin de la incidencia: datos sobre la unidad que ha generado la incidencia, el momento y la
causa de la misma. Los datos mostrados son:
Id.: identificador de la incidencia.
Tipo: tipo de incidencia.
Unidad: identificador de la unidad.
Detector: identificador del detector que ha detectado la incidencia.
Imagen: lista de los identificadores de las imgenes relacionadas con la incidencia.
Momento: fecha y hora de la incidencia; en formato ao-mes-da
hora:minuto:segundo.microsegundo.
Informacin especfica: informacin especfica segn el tipo de incidencia.

Botones activos
Primero: muestra los datos de la primera incidencia del histrico.
Anterior: muestra los datos de la incidencia anterior a la que se est mostrando.
Siguiente: muestra los datos de la incidencia posterior a la que se est mostrando.
ltimo: muestra los datos de la ltima incidencia del histrico.

7.2.4. Pestaa Sumarios


Muestra los sumarios almacenados en el histrico del disco. Estos estn agrupados por pginas, cuyo
nmero depender del tamao de la ventana de la aplicacin.
Esta pestaa mostrar datos si el elemento activo en la barra de botones es una unidad, un detector, o un
tipo de detector; la ventana aparecer vaca en caso que el elemento activo sea todo el sistema.

Quercus Technologies 46
Manual de referencia de BirdWatch VL Software

Cada lnea equivale a un periodo de recogida de datos y muestra la siguiente informacin:


Unidad: identificador de la unidad.
Detector: identificador del detector.
Periodo: periodo de recogida de las estadsticas, con la fecha y hora de inicio y final.

Las otras columnas estarn llenas dependiendo del tipo de detector de que se trate. Los datos mostrados
son:
Volumen: nmero total de vehculos.
Periodo medio: tiempo medio entre vehculos; en segundos.
Periodicidad: flujo medio de circulacin; en vehculos por hora.
Densidad: densidad de vehculos en la va: en vehculos por kilmetro.
Velocidad media: velocidad media; en kilmetros por hora.
Longitud media: longitud media de los vehculos; en milmetros.
Velocidades: distribucin de las velocidades.
Longitudes: distribucin de las longitudes.
Ocupacin: distribucin del porcentaje de ocupacin.

Los campos que indican distribucin estn compuestos por los lmites de cada uno de los rangos
(expresados entre corchetes) y su valor entre ellos.

Quercus Technologies 47
Manual de referencia de BirdWatch VL Software

Botones activos
Primero: muestra la primera pgina de estadsticas del histrico.
Anterior: muestra la pgina de estadsticas anterior a la que se est mostrando actualmente.
Siguiente: muestra la pgina de estadsticas posterior a la que se est mostrando actualmente.
ltimo: muestra la ltima pgina de estadsticas del histrico.

7.2.5. Pestaa Cmara en vivo


Permite ver las imgenes que est captando actualmente la cmara. Su principal funcin es poder realizar
un correcto ajuste del objetivo de la cmara. Esta pestaa solamente mostrar datos si se ha seleccionado
una unidad en la barra de botones.

Atencin: el sistema BirdWatch controla constantemente el tiempo de exposicin para una mejor
adaptacin a cada situacin. Mientras est activada la cmara en vivo se inhibe ese control para
poder aplicar el tiempo de exposicin indicado. Al desactivarla el sistema requerir de un tiempo
para reconfigurarse, durante el cual su comportamiento puede no ser el correcto.

Quercus Technologies 48
Manual de referencia de BirdWatch VL Software

La ventana est dividida en 4 partes:


Imagen: imagen que se recibe de la cmara. Ocupa la parte superior de la ventana. Pulsando sobre
dos puntos en la imagen se marcar una zona rectangular, necesaria para el zoom, enfoque
numrico y enfoque grfico.
Zoom: si est activo y se ha seleccionado un rectngulo en la imagen, muestra la una zona de la
imagen aumentada. Esta zona ser siempre del mismo tamao y su posicin vendr determinada
por el centro del rectngulo seleccionado. Es til para enfocar una zona en concreto de la imagen
con ms precisin.
Enfoque numrico: permite ajustar la cmara sin tener que confiar en la capacidad del ojo humano
de distinguir pequeas variaciones de nitidez de la imagen.
Actual: enfoque numrico actual.
Mximo: mximo enfoque numrico conseguido.
Enfoque grfico: proporciona los mismos datos que el enfoque numrico pero con una
representacin ms visual de la informacin. El eje X representa el tiempo y el eje Y representa el
valor del enfoque. Cuanto ms alto aparece el valor para un momento de tiempo dado mejor
enfoque. La lnea vertical marca el punto actual de la grfica y la lnea horizontal marca el valor
actual del enfoque. Cuando las dos lneas aparecen en rojo significa que el valor actual del enfoque
es igual al mximo; cuando el valor actual es menor que el mximo, las lneas aparecen en gris.

Para hacer uso del enfoque numrico debern seguirse los siguientes pasos:
1. Iniciar la visualizacin en vivo de la imagen.
2. Situar el rectngulo rojo que aparece sobreimpreso en la zona de enfoque para la que se quiera
conseguir una imagen ntida (por defecto estar marcada toda la imagen). Para ello marque con un
clic del ratn una esquina del rectngulo que quiera delimitarse, aparecer una pequea cruz roja
en el punto marcado. Marque con otro clic del ratn la esquina opuesta a la anterior, con ello
aparecer el nuevo rectngulo delimitado en rojo.
3. Pulsar el botn Limpiar/Restaurar para reiniciar los datos del enfoque.
4. Hacer un barrido muy lento con el anillo de enfoque del objetivo de la cmara desde la posicin
inicial hasta la posicin final. Con ello en el campo Mx. aparecer el valor de mximo enfoque
conseguido.
5. Ajustar el anillo de enfoque del objetivo hasta que el valor Enfoque sea el mismo que el valor
Mx..

Botones activos
Tiempo de exposicin: tiempo de exposicin que debe usar la unidad; en microsegundos.
Inicio: iniciar la peticin de imgenes en vivo.
Stop: detener la peticin de imgenes en vivo.
Limpiar/Restaurar: reiniciar los datos del enfoque numrico y grfico.
Anterior: decrementa el tiempo de exposicin.
Siguiente: aumenta el tiempo de exposicin.

Quercus Technologies 49
Manual de referencia de BirdWatch VL Software

7.2.6. Pestaa Configuracin


Permite acceder al sistema de configuracin de la unidad. Esta pestaa solamente mostrar datos si se ha
seleccionado una unidad en la barra de botones.
Para poder configurar es imprescindible identificarse mediante el nombre de usuario y la contrasea (por
defecto admin y quercus2). Una vez verificada su identidad se puede acceder a las diferentes funciones
(vase el apartado 11. Firmware).

Botones activos
Inicio: reconecta con el sistema de configuracin de la unidad. til, por ejemplo, en caso de que se
haya forzado un reinicio de la unidad.
Borrar/Reiniciar: refresca la pgina actual de la configuracin.

7.2.7. Pestaa FTP


Permite acceder al servidor FTP de la unidad mediante un cliente FTP incrustado. Este permite tanto enviar
archivos a la unidad como descargarlos. Esta pestaa solamente mostrar datos si se ha seleccionado una
unidad en la barra de botones.

Quercus Technologies 50
Manual de referencia de BirdWatch VL Software

La ventana est dividida en tres partes:


Ficheros locales: en la parte izquierda de la ventana, muestra la lista de unidades, carpetas y
archivos de los discos locales.
Ficheros remotos: en la parte derecha de la ventana, muestra la lista de carpetas y archivos de la
unidad seleccionada.
Barra de progreso: muestra el porcentaje de los archivos que se han transmitido (cuando haya una
transmisin en curso).

Funcionamiento
El funcionamiento es simtrico en ambos lados. Con un doble clic sobre una carpeta o unidad se establece
como carpeta activa y se muestra su contenido; un doble clic sobre la flecha establece como carpeta activa
la carpeta anterior.

Para iniciar una transferencia arrastrar el fichero de una ventana a la otra.


Para seleccionar ms de un fichero o carpeta a transferir pueden usarse las teclas [control] para aadir
individualmente archivos o carpetas o [maysculas] para aadir todos los archivos y carpetas desde la
ltima seleccionada.

Quercus Technologies 51
Manual de referencia de BirdWatch VL Software

Botones activos
Borrar/Reiniciar: reconecta con el servidor FTP de la unidad y refresca el contenido de las dos listas
de ficheros. Es til, por ejemplo, en caso de que se haya reiniciado la unidad, ya que el contenido
del servidor FTP de la unidad se pierde en cada reinicio.

7.3. Barra de estado


Se encuentra en la parte inferior de la aplicacin. Muestra informacin adicional, dependiendo de la pestaa
activa en la zona principal.

Quercus Technologies 52
Manual de referencia de BirdWatch VL Software

8. Simulador (BWSimu)
BWSimu es un simulador de una unidad BirdWatch , que simula el conjunto completo de eventos y
mensajes que genera un sistema BirdWatch . Pueden simularse tantas unidades como se quiera
ejecutando tantas instancias del programa como sea necesario.

Con su uso puede comprobarse el correcto funcionamiento de cualquier programa pensado para interactuar
con un sistema BirdWatch.

8.1. Configuracin de la unidad


Para configurar la unidad deben crearse dos ficheros de configuracin:
Fichero de configuracin general.
Fichero de detectores.
Si, adems, se desea utilizar comunicaciones serie en lugar de UDP en la simulacin, hay un paso ms que
debe realizarse: configurar el adaptador serie (ComBridge).

8.1.1. Fichero de configuracin general


En este fichero se indica la configuracin de la unidad. El fichero equivale al apartado de Configuracin
principal del sistema de la web de configuracin de una unidad real, de tal forma que las variables
descritas en el fichero hacen referencia a cada una de las de dicho men. Si se entiende el significado de
alguna de de las variables all listadas se puede revisar el apartado 11.1. Configuracin principal del sistema
del manual.

La estructura del fichero es siempre la misma pero las variables en l descritas puede variar dependiendo
del tipo de producto que se simule (BirdWatch VL o BirdWatch VL Plus).
El fichero se divide en secciones, definidas entre corchetes, con sus variables descritas (una por lnea).

[Communications]
variable1=valor1
variable2=valor2
.
.
.

[Global]
variable1=valor1
.
.
.

[Engine]
variable1=valor1
.
.
.

[IO]
variable1=valor1

Quercus Technologies 53
Manual de referencia de BirdWatch VL Software

.
.
.

[OSD]
variable1=valor1
.
.
.
[Serial]
variable1=valor1
.
.
.

Hay disponible un fichero de ejemplo en el directorio de instalacin del software BirdWatch :


Simulation/Tipo de simulacin/Data/Globals.ini

8.1.2. Fichero de detectores


En este fichero se detallan los detectores instalados en la unidad virtual. El fichero equivale al apartado de
Configuracin de los detectores de la web de configuracin de una unidad real, de tal forma que los
parmetros descritos en el fichero hacen referencia a cada una de las opciones disponibles en dicho men.
Si no se entiende el significado de alguno de ellos se puede revisar el apartado 11.2. Configuracin de los
detectores del manual.

La estructura del fichero es siempre la misma pero las variables en l descritas puede variar dependiendo
del tipo de detector que se simule.
El fichero se divide en secciones, definidas entre corchetes, con sus variables descritas (una por lnea).

[Global]
NumDetectors=
NumTrafficLights=

[Detector1]
variable1=valor1
.
.

[OutputActuator1_1]
variable1=valor1
.
.

[OutputActuator1_2]
variable1=valor1
.
.

[Detector2]
variable1=valor1
.
.

[OutputActuator2_1]
variable1=valor1
.
.

Quercus Technologies 54
Manual de referencia de BirdWatch VL Software

La primera seccin (Globals) indica el nmero de detectores que se describirn en el fichero. El resto define
cada uno de los detectores (Detector) y, en caso de tenerlos, sus correspondientes actuadores de salida
(OutputActuator).

Hay disponible un fichero de ejemplo en el directorio de instalacin del software BirdWatch :


Simulation/Tipo de simulacin/Data/Detectors.ini

8.1.2.1. Seccin Globals


NumDetectors: indica cuantos detectores se definirn en el fichero.
NumTrafficLights: indica cuantos semforos se definirn en el fichero.

Ntese que NumTrafficLights no es aplicable para los productos BirdWatch VL y BirdWatch VL Plus, por
lo que se le asignar un valor cero.

8.1.2.2. Seccin DetectorX


Descripcin del detector; el valor X indica el nmero de detector que se define (de 1 a el total de detectores
definidos). La estructura es comn, en casi su totalidad, para todos tipos de detector, aadiendo solamente
unas variables extra para los detectores de velocidad.

Parmetros comunes.
Id: Identificador del detector (nico entre los identificadores de todos los detectores instalados).
Type: tipo de detector.
PRESENCE: detector de presencia.
QUEUE: detector de cola.
SPEED: detector de velocidad
AreSummariesEnabled: indica si se deben generar los sumarios. 0, desactivado; 1, activado.
AreIncidencesEnabled: indica si se deben generar incidencias. 0, desactivado; 1, activado.
SendSummaries: indica si se deben enviar los sumarios generados al sistema central. 0,
desactivado; 1, activado.
SendIncidences: indica si se deben enviar las incidencias generadas al sistema central. 0,
desactivado; 1, activado.
SendRealTimeInfo: indica si se deben notificar los eventos generados al sistema central. 0,
desactivado; 1, activado.
NumOutputActuators: nmero de actuadores de salida digital definidos. Estos deben ser definidos
en la siguiente seccin.
Coordinates: definicin de los cuatros vrtices que definen la posicin del detector, siguiendo el
formato: P1_x, P1_y, P2_x, P2_y, P3_x, P3_y, P4_x, P4_y. Los valores deben respetar los lmites,
tanto del eje X (0..639) como del Y (0.439).

Quercus Technologies 55
Manual de referencia de BirdWatch VL Software

Parmetros extra en un detector de velocidad:


CalculateMetrics: indica si se debe calcular la mtrica. 0, desactivado; 1, activado.
Distance: indica la distancia entre la horizontal de la unidad y el detector; en milmetros.
Length: indica la longitud del detector; en milmetros.

8.1.2.3. Seccin OutputActuatorX_Y


Descripcin de un actuador de salida digital perteneciente al ltimo detector definido. El valor X indica el
nmero de detector al cual pertenece; el valor Y indica el nmero de actuador de salida que se define (de 1
a el total de actuadores de salida definidos para este detector). La estructura es comn en todos tipos de
detector:
Field: campo con el que trabaja el actuador en la comparacin:
SPEED: velocidad de circulacin calculada.
LENGTH: longitud del vehculo calculada.
WRONG_WAY: el sentido de circulacin del vehculo es el contrario.
OCCUPATION: porcentaje de ocupacin del detector.
IS_OCCUPIED: el estado del detector es ocupado.
Operator: operador que se usa en la comparacin:
EQUAL: igual a.
DIFF: diferente a.
GREATER: mayor que.
LESSER: menor que.
Value: valor que se usa en la comparacin (nmero entero).
OutputId: identificador de la salida digital a activar. Posibles valores de 0 a 3.
Time: tiempo que debe permanecer activa la salida digital indicada; en milisegundos.

8.1.3. Comunicacin serie


Si se desea utilizar comunicaciones serie en lugar de UDP en la simulacin, hay un paso ms que debe
realizarse y es configurar el adaptador serie (ComBridge).
ComBridge es un programa que se encarga de recibir las tramas que llegan por un puerto UDP y enviarlas
por el puerto serie y leer las tramas que llegan por el puerto serie y enviarlas por un puerto UDP. Para
configurarlo debe crearse un fichero de configuracin que posteriormente se le pasar como parmetro al
adaptador. Las variables que contiene la seccin [Serial] de este fichero son las mismas y tienen el mismo
significado que las que se pueden encontrar en la configuracin del adaptador serie de la unidad con la
excepcin de las siguientes:
Port: indica qu puerto usar para las comunicaciones (a partir de 1). Por ejemplo: 1 indicar COM1 en
mquinas Windows y /dev/ttyS0 en mquinas Linux.

El resto de las secciones y variables tienen el siguiente significado:


[Global]: parmetros globales de funcionamiento.

Quercus Technologies 56
Manual de referencia de BirdWatch VL Software

SystemId: identificador de la unidad. Todas las tramas que se reciban por el puerto serie
que no correspondan a este identificador sern despreciadas.
[Network]: parmetros de red.
Host: direccin IP o nombre de la mquina a la que se enviarn las tramas mediante UDP.
SendToPort: puerto al que se enviarn las tramas UDP.
ReceiveFromPort: puerto por el que se recibirn las tramas UDP.
Password: contrasea de la encriptacin de protocolo. Vase el apartado 16.2. Encriptacin
de protocolo para ms informacin.

Ejemplo de fichero de configuracin:

[Global]
SystemId=1

[Network]
Host=127.0.0.1
SendToPort=8051
ReceiveFromPort=8050
Password=

[Serial]
Port=1
Baudrate=9600

A continuacin se muestra de forma grfica la interaccin entre las tres aplicaciones (BWSimu, ComBridge y
la aplicacin cliente). Debe tenerse en cuenta que la flexibilidad de la configuracin hace que las tres
puedan estar ejecutndose en mquinas diferentes.

Simulador

[Network] [Network]
CentralSystemPort ListeningPort

Comunicacin UDP

[Network] [Network]
ReceiveFromPort SendToPort
Comunicacin
[Serial] Serie
Port Aplicacin cliente
ComBridge

8.2. Configuracin de la simulacin


Para simular una unidad correctamente es imprescindible que est enfocando una va por la que circulen
vehculos. Para ello el simulador ha creado el concepto de carril virtual. Este no es ms que la
representacin de un carril en el cual el se pueden definir todos los eventos que suceden en l (movimientos
de vehculos, cambios en las entradas digitales, cambios de estado en el semforo y cambios en el estado

Quercus Technologies 57
Manual de referencia de BirdWatch VL Software

de las comunicaciones). De esta forma el simulador tiene en el carril virtual un mundo tambin simulado al
que poder observar.

4.5 metros

640 pxeles
25 metros

480 pxeles
La unidad est enfocando cuatro carriles en posicin cenital. La imagen resultante, de 640 pxeles de ancho
y 480 de largo (como la de una unidad BirdWatch real), es la de cuatro carriles idnticos de 25 metros de
largo y 4.5 de ancho cada uno.
Los vehculos solo circulan por el carril derecho, siempre por el centro y el sentido de la marcha es
configurable.

Ntese que:
cuando se indican posiciones en el carril (en metros) la posicin 0,0 hace referencia al extremo
inferior de la imagen.
cuando se indican posiciones en la imagen (en pxeles) la posicin 0,0 hace referencia al extremo
superior de la imagen.

Para configurar la simulacin debe prepararse un fichero de simulacin. Hay disponible un fichero de
ejemplo en el directorio de instalacin del software BirdWatch : Simulation/Tipo de
simulacin/Data/Simulation.ini

El fichero de simulacin contendr una serie de lneas que pueden ser bsicamente de dos tipos:
Comentarios: todas las lneas que comiencen con el carcter # sern consideradas comentarios y
sern ignoradas por el simulador.
Eventos de la unidad: todas las lneas que representan eventos (o cambios de estado) tendrn un
formato comn:
Momento, Tipo de evento, Parmetros del evento

Quercus Technologies 58
Manual de referencia de BirdWatch VL Software

Momento: momento en el tiempo en el que ocurrir el evento; en milisegundos. El tiempo se


calcula de forma relativa; cada evento indica cuanto tiempo despus del anterior suceder
(el primero mide su tiempo a partir del inicio de ejecucin del simulador). Cuando se
sobrepase el ltimo evento de la simulacin, se volver al estado inicial.
Hay que tener en cuenta que el estado inicial de la simulacin (antes del primer evento)
representa una unidad donde el carril est vaco, el estado de los componentes de la unidad
es correcto y no hay ningn bit de entrada activado. Si se quiere partir de un estado
diferente basta con establecer en el momento 0 los eventos necesarios para conseguir el
estado de partida deseado.
Tipo de evento: existen tres tipos de evento:
Circulacin de vehculos.
Cambio de estado de una de las entradas digitales.
Cambio de estado de las comunicaciones.
Parmetros del evento: dependern de cada tipo de evento (vase los siguientes puntos).

8.2.1. Evento de vehculo


El simulador permite simular la circulacin de varios vehculos. Estos son manejados por un identificador
nico (valor entero). Hay tres tipos de vehculos disponibles, cada uno de ellos en dos modelos diferentes:
Turismo.
Furgoneta.
Camin.

Cada instruccin hace referencia a una posicin de un vehculo en un momento determinado; utilizando dos
posiciones consecutivas de un mismo vehculo el simulador interpreta el movimiento. Por ejemplo, si se
indica que el vehculo 'v1' est en la posicin 0 y que al cabo de 3000 milisegundos est en la posicin
2000, el simulador entiende que durante estas dos instrucciones (3000 milisegundos) el vehculo se ha
estado moviendo a velocidad constante desde la posicin 0 a la posicin 2000.

8.2.1.1. Estructura de la instruccin


Milisegundos que debe esperar el simulador desde la anterior instruccin hasta la ejecucin de sta.
Tipo de vehculo.
Car1: turismo, modelo 1.
Car2: turismo, modelo 2.
Van1: furgoneta, modelo 1.
Van2: furgoneta, modelo 2.
Truck1: camin, modelo 1.
Truck2: camin, modelo 2.
Identificador del vehculo (nmero entero).
Posicin que debe ocupar el vehculo en dicho instante; en milmetros. Hace referencia al eje

Quercus Technologies 59
Manual de referencia de BirdWatch VL Software

vertical de la imagen, ignorando la posicin en el eje horizontal. Esto es debido a que los vehculos
siempre circulan por el centro del carril derecha de la imagen.

8.2.1.2. Ejemplo
Ejemplo de circulacin de dos vehculos. El primero parte desde la parte inferior del carril con destino a la
parte superior. A mitad del trayecto aumenta su velocidad. Posteriormente el segundo inicia la circulacin
desde la parte superior de la imagen con destino a la parte inferior.

#1000ms despus del inicio se crea el vehculo 1 (modelo Car2) en la posicin 0.


1000,Car2,1,0
#4000ms despus el vehculo 1 debe estar en la posicin 12500.
4000,Car2,1,12500
#1000ms despus el vehculo 1 debe estar en la posicin 35000 (fuera de imagen).
1000,Car2,1,35000
#0ms despus se crea el vehculo 2 ( modelo Van1) en la posicin 35000 (fuera de imagen).
0,Van1,2,35000
#2000ms despus el vehculo 2 debe estar en la posicin -10000 (fuera de imagen).
2000,Van1,2,-10000

8.2.2. Evento de entrada digital


El simulador permite controlar el estado de las cuatro entradas digitales de una unidad BirdWatch . Estas
entradas tienen el mismo identificador que las de una unidad BirdWatch real (0,1,2,3) y los mismos estados
(0 inactiva, 1 activa).

El estado de cada una de las entradas ser siempre el definido en la ltima instruccin ejecutada; por
defecto es inactivo.

8.2.2.1. Estructura de la instruccin


Milisegundos que debe esperar el simulador desde la anterior instruccin hasta la ejecucin de sta.
Tipo de evento.
Input: entrada digital.
Identificador de la entrada digital. Posibles valores: 0,1,2 y 3.
Estado de la entrada digital.
0: entrada inactiva.
1: entrada activa.

8.2.2.2. Ejemplo
Ejemplo de activacin/desactivacin de las entradas digitales de una unidad. En el inicio se activan a la vez
las entradas 1 y 2. La primera permanece activa durante 5 segundos y la segunda slo 3. Pasados 5
segundos (cuando la entrada 1 se desactive) se activa durante 1 segundo la entrada 0.

#0ms despus del inicio se define la entrada 1 como activa.


0,Input,1,1

Quercus Technologies 60
Manual de referencia de BirdWatch VL Software

#0ms despus del inicio se define la entrada 2 como activa.


0,Input,2,1
#3000ms despus del inicio la entrada 2 se desactiva.
3000,Input,2,0
#2000ms despus la entrada 1 se desactiva.
2000,Input,1,0
#0ms despus la entrada 0 se activa.
0,Input,0,1
#1000ms despus la entrada 0 se desactiva.
1000,Input,0,0

8.2.3. Evento de estado de las comunicaciones


El simulador permite controlar el estado de las comunicaciones entre la unidad BirdWatch y el sistema
central (0 estado incorrecto, 1 estado correcto); por defecto es correcto.

8.2.3.1. Estructura de la instruccin


Milisegundos que debe esperar el simulador desde la anterior instruccin hasta la ejecucin de sta.
Tipo de evento.
Status: estado de las comunicaciones.
Estado de las comunicaciones.
0: estado incorrecto.
1: estado correcto.

8.2.3.2. Ejemplo
Ejemplo de activacin/desactivacin del estado de las comunicaciones. En el inicio dicho estado es correcto;
permanece as 2 segundos y luego pasa a incorrecto durante 3 segundos. Posteriormente vuelve a correcto
durante 4 segundos.

#0ms despus del inicio se define el estado de las comunicaciones como correcto.
0,Status,1
#2000ms despus pasa a ser incorrecto.
2000,Status,0
#Permanece incorrecto durante 3000ms. Luego vuelve a ser correcto.
3000,Status,1
#Se mantiene correcto durante 4000ms.
4000,Status,1

8.3. Ejecucin
La puesta en marcha de una simulacin implica uno o dos pasos dependiendo de la configuracin elegida.
Si se desea simular una unidad con comunicacin UDP bastar con poner en marcha BWSimu; si se
desea simular una unidad con comunicacin serie, primero deber ponerse en marcha el adaptador serie
ComBridge.

8.3.1. Simulador
Existen dos versiones del simulador, una con interfaz grfica (BWSimuGui) y otra en lnea de comandos

Quercus Technologies 61
Manual de referencia de BirdWatch VL Software

(BWSimu). Ambas ofrecen la misma funcionalidad.

El simulador se ejecutar abriendo una consola (tanto en Windows como en Linux) y colocndose en la
carpeta /Bin del directorio de instalacin. Desde all se invocar el simulador con el siguiente comando:
BWSimu <tipoP> <FGlobales> <FDetectores> <FLog> <DPersistente> <FSimulacin>
BWSimuGui <tipoP> <FGlobales> <FDetectores> <FLog> <DPersistente> <FSimulacin>

Donde:
BWSimu: ejecutable del simulador.
BWSimuGui: ejecutable del simulador con interfaz grfica.
TipoP: tipo de producto que representa la unidad simulada (BirdWatchVL o BirdWatchVLPlus).
FGlobales: camino (absoluto o relativo) hacia el fichero que contiene la configuracin de la unidad a
simular.
FDetectores: camino (absoluto o relativo) hacia el fichero de configuracin de los detectores y
semforos.
FLog: camino (absoluto o relativo) hacia el fichero donde se dejar la informacin que genere
BWSimu.
DPersistente: directorio dnde el simulador almacenar las incidencias y sumarios generadas
(simula el directorio Log/ de la FTP de la unidad). Si no existen, el simulador crear al iniciarse los
directorios:
Incidences: almacenaje de incidencias.
Summaries: almacenaje de sumarios.
FSimulation: fichero con el guin de la simulacin.

8.3.1.1. Interfaz grfica


El simulador con interfaz grfica tiene todas las funcionalidades del simulador en modo texto, pero permite
conocer el estado de la simulacin de una forma mucho ms visual. Adems, tiene alguna funcionalidad
adicional, como por ejemplo poder modificar la velocidad de la simulacin en tiempo real, o pausar
totalmente la simulacin. Consta de una sola ventana en la que pueden ver los siguientes campos:
Cmara en vivo: representacin grfica del carril virtual. En l pueden verse en vivo todos los
movimientos que ocurren en el carril.
Detectores: lista de todos los detectores instalados y tareas activadas en cada uno de ellos.
Unidad:
Comunicaciones: estado de las comunicaciones (parmetro configurado a Simulation.ini). Verde
indica correcto, rojo incorrecto.
Eventos de E/S: indica si la unidad tiene activada la opcin de enviar eventos cuando haya
cambios en las entradas o salidas digitales. Esta opcin se configura mediante el fichero
Globals.ini, la librera BW o la herramienta de diagnstico. Verde indica activada, rojo
desactivada.
Tarjeta E/S:

Quercus Technologies 62
Manual de referencia de BirdWatch VL Software

Salidas: muestra el estado de las salidas digitales. Verde indica activada, rojo desactivada.
Entradas: muestra el estado de las entradas digitales. Verde indica activada, rojo desactivada.
Velocidad de simulacin: permite controlar la velocidad de la simulacin, as como pausar y
reanudar la simulacin. Ntese que, aunque se vare la velocidad, ello no afecta a les velocidades
calculadas por la unidad, que continan siendo las mismas.
Eventos: lista de los ltimos eventos capturados por la unidad.

8.3.2. Adaptador serie


El adaptador serie se ejecutar abriendo una consola (tanto en Windows como en Linux) y colocndose en
la carpeta /Bin del directorio de instalacin. Desde all se invocar con el siguiente comando:

ComBridge <FicheroIni> <FicheroLog> o


ComBridgeGui <FicheroIni> <FicheroLog>

Donde:
ComBridge: ejecutable del adaptador. Desde Linux, dependiendo de su configuracin, deber
ejecutarse como ./ComBridge.
ComBridgeGui: ejecutable del adaptador con interfaz grfica. Desde Linux, dependiendo de su
configuracin, deber ejecutarse como ./ComBridgeGui.
FicheroIni: camino (absoluto o relativo) hacia el fichero que contiene la configuracin del adaptador.
FicheroLog: camino (absoluto o relativo) hacia el fichero donde se dejar la informacin que genere
ComBridge.

Quercus Technologies 63
Manual de referencia de BirdWatch VL Software

8.4. Ejemplo de simulacin


Ejemplo de simulacin completa. En ella circulan dos vehculos (un camin y posteriormente un turismo),
mientras se suceden cambios en las entradas digitales y estado de las comunicaciones.

0ms 1000ms 2000ms 3000ms 4000ms 5000ms 6000ms 7000ms


Camin1 circulando
Turismo2 circulando
Entrada0 activa
Entrada1 activa
E.Com. correcto correcto

#inicio, camin1 circulando desde la parte inferior de la imagen.


0,Truck1,1,-10000
#tras 1000ms, entrada digital 0 activa.
1000,Input,0,1
#tras 1000ms, entrada digital 1 activa.
1000,Input,1,1
#tras 1000ms, turismo2 circulando desde la parte inferior de la imagen.
1000,Car1,2,-10000
#al mismo tiempo, estado de las comunicaciones incorrecto.
0,Status,0
#tras 1000ms, fin de circulacin del camin1 en la parte superior de la imagen.
1000,Truck1,1,45000
#al mismo tiempo, entrada digital 0 desactiva.
0,Input,0,0
#tras 2000ms, entrada digital 1 desactiva.
2000,Input,1,0
#al mismo tiempo, estado de las comunicaciones correcto
0,Status,1
#tras 2000ms, fin de circulacin del turismo2 en la parte superior de la imagen.
2000,Car1,2,35000

Quercus Technologies 64
Manual de referencia de BirdWatch VL Software

9. Herramienta de previsualizacin (BWPreviewer)


La herramienta de previsualizacin BWPreviewer permite al operario recrear de un modo tridimensional el
entorno de instalacin formada por un equipo BirdWatch y un conjunto de carriles.
Mediante el uso de esta herramienta se podr determinar la posicin ptima del equipo BirdWatch en la
que, controlando toda la zona deseada, se den la menores ocultaciones posibles entre vehculos.

9.1. Ejecucin
La herramienta es una aplicacin grfica que debe ejecutarse sin argumentos.

9.2. Conceptos bsicos


9.2.1. La escena
Una escena es una recreacin virtual del entorno de una instalacin BirdWatch .

Reglas mtricas

Calzada

Profundidad cero
Unidad BirdWatch

Una escena vaca est compuesta por:


Calzada: compuesta por uno o varios carriles, de una anchura determinada.
Reglas mtricas: dos reglas mtricas a ambos lados de la calzada, con marcas cortas cada metro y
largas cada cinco.
Unidad BirdWatch: situada en una posicin por defecto, que podr ser modificada posteriormente.
Regla amarilla (coordenada 0): una lnea amarilla que discurre a lo ancho en la calzada, que marca
la coordenada cero horizontal.
Regla azul: lnea horizontal a lo ancho de la calzada, que marca la coordenada longitudinal en la
que se encuentra la unidad.

Se pueden agregar elementos en la escena, tales como:

Quercus Technologies 65
Manual de referencia de BirdWatch VL Software

Detectores.
Reglas horizontales de orientacin.
Vehculos (turismos, furgonetas y/o camiones).

Ntese que la aplicacin tambin permite agregar semforos debido a la existencia de otros productos de la
familia BirdWatch que lo requieren. Para los productos BirdWatch VL y BirdWatch VL Plus no son
necesarios.

9.2.2. Modos
El objetivo de la aplicacin es recrear una calle o carretera real de forma que pueda decidirse la posicin
(altura, orientacin, etc.) y configuracin de la unidad (tipo de lente) sin necesidad de hacer pruebas en la
ubicacin real, con el consiguiente ahorro en tiempo y sin necesidad de cortes en la carretera o calle, etc.

Para ello se dispone dos modos de visualizacin:


Vista plano: dos dimensiones; vista en planta de la escena. til para disear, facilita la
manipulacin de los objetos insertados.

Vista unidad: tres dimensiones; visualizacin de la escena des del punto de vista de la unidad
BirdWatch. Recreando la visualizacin desde la unidad, se puede verificar que su posicin
satisface las necesidades del proyecto.

Quercus Technologies 66
Manual de referencia de BirdWatch VL Software

Para verificar que la visin de la unidad es correcta debe tenerse en cuenta que:
Se visualizan completamente las zonas deseadas de los carriles.
No existen ocultaciones que impidan el correcto funcionamiento de cada uno de los detectores.

Las ocultaciones son causadas por la proyeccin de los vehculos en la imagen (vase el apartado 3. Pasos
previos a la instalacin). Por lo tanto, es necesario disponer de vehculos en la escena para verificar que
esto no ocurre. Para ello se disponen de dos modos de trabajo:
Edicin: la escena carece de vehculos. Ideal para disear, una escena limpia facilita la
manipulacin de los objetos insertados.

Simulacin: aparecen vehculos en cada uno de los carriles de la escena. Estos vehculos pueden
ser: turismos, furgonetas y/o camiones. Mediante un panel puede modificarse el tipo de vehculos a
mostrar, la separacin entre ellos, su sentido de circulacin y la posicin en cada uno de los carriles
La distribucin de los vehculos ha sido diseada para que puedan reproducirse todas las posibles
combinaciones en cada carril (turismo delante de turismo, turismo delante de camin, etc.).

Quercus Technologies 67
Manual de referencia de BirdWatch VL Software

9.3. Distribucin
La aplicacin est dividida en cinco zonas:
Barra de botones.
Control de la cmara BirdWatch.
Visualizacin de la escena.
Edicin/simulacin de la escena .
Barra de estado.

Barra de botones

Control de la cmara
BirdWatch

Visualizacin
de la escena

Edicin/Simulacin
de la escena

Barra de estado

9.3.1. Barra de botones


La barra de botones ocupa la parte superior de la aplicacin. Los botones estn agrupados segn su
funcionalidad. Algunos botones son aplicables solamente en determinadas circunstancias. Los grupos de
botones disponibles son:

1 2 3 4 5 6 7 8 9 10 11 12

9.3.1.1. Botones principales


Realizan las acciones ms bsicas de la aplicacin:
1. Salir: salir de la aplicacin.
2. Crear escena: crea una nueva escena. Si existiera otra escena abierta sera cerrada, previa
confirmacin. Para crear una escena es imprescindible que se informe, mediante el panel que

Quercus Technologies 68
Manual de referencia de BirdWatch VL Software

aparece en pantalla, del nmero de carriles que esta contendr y la anchura de todos ellos.

3. Cargar escena: carga una escena que ha sido guardada previamente en un fichero QDT. Estos
ficheros son creados por la propia aplicacin mediante la funcin Guardar escena (vase el
siguiente botn). Si existiera otra escena abierta sera cerrada, previa confirmacin.
Esta opcin sirve para cargar escenas previamente creadas, as como los ejemplos que se
proporcionan con el software BirdWatch. Vase el subapartado 9.4. Ejemplos de escenas ideales
del presente apartado.
4. Guardar escena: guarda la escena actual en un fichero QDT, de tal forma que pueda ser
recuperada en otra ocasin mediante la funcin Cargar escena.

9.3.1.2. Botones de gestin de resultados de la escena


Realizan las acciones de gestin de resultados de la escena con la que se est trabajando.
5. Redactar informe: guarda un informe de la escena en un fichero de texto (TXT). Este informe
contiene la posicin de cada uno de los elementos que componen la escena, as como de la
cmara. Con este informe el operario dispone de una descripcin detallada de la escena que se ha
recreado en la aplicacin, facilitando as la posterior instalacin.
6. Guardar instantnea: guarda una captura de la escena en formato JPEG o BMP.

9.3.1.3. Botones de control de la escena


Realizan acciones de control sobre la escena con la que se est trabajando.
7. Vista plano/unidad: cambia el modo de visualizacin de la escena, de forma alterna.
8. Modo edicin/simulacin: cambia el modo de trabajo de la escena, de forma alterna.
9. Reubicar cmara BirdWatch: mueve la unidad BirdWatch a su posicin inicial (posicin por
defecto).

9.3.1.4. Botones de ayuda


10. Acerca de: muestra informacin acerca de Quercus Technologies.
11. Manual Virtual Loop: muestra el manual perteneciente al producto BirdWatch Virtual Loop.
12. Manual Red Light: muestra el manual perteneciente al producto BirdWatch Red Light.

Quercus Technologies 69
Manual de referencia de BirdWatch VL Software

9.3.2. Control de la cmara BirdWatch

Este panel controla la unidad BirdWatch.


Tipo de lente: nicamente disponible con el modo Vista unidad, define la lente que usada por la
unidad. Para modificar o aadir nuevas lentes se edtese el fichero lenses.dat de la carpeta
<directorio de instalacin>/Data/BWPreviewer.
Zoom: nicamente disponible con el modo Vista plano, se compone de una barra de
desplazamiento que define la porcin de escena que se visualizar. Puede ser desplazada para
visualizar una menor (izquierda) o mayor (derecha) longitud de la escena.
Ntese que el tramo de escena visualizada en el modo Vista plano se compondr siempre del rea
situada delante de la unidad BirdWatch , por lo que la unidad estar siempre en la parte inferior de
la imagen.
Posicin: posicin de la unidad en la escena; en metros. Se compone de 3 coordenadas: horizontal
(distancia desde el lateral izquierdo de la calzada), vertical (altura respecto el suelo) y profundidad
(longitudinal en la calzada).
Centro de la imagen: posicin en la calzada a la que enfoca la unidad; en metros. Cuando se active
el modo de Visualizacin unidad, el centro de la imagen resultante coincidir con esta posicin. Se
compone 2 coordenadas: horizontal (distancia desde el lateral izquierdo de la calzada) y
profundidad (longitudinal en la calzada).
Cuando se visualice la escena se representar su posicin con un cuadrado rojo encima de la
calzada.

9.3.3. Visualizacin de la escena


Este panel muestra la escena configurada.

Quercus Technologies 70
Manual de referencia de BirdWatch VL Software

9.3.4. Edicin/Simulacin de la escena


Este panel permite definir y controlar todos los elementos que componen la escena. El panel cambiar
dependiendo del modo de trabajo. Utilice el botn Modo edicin/simulacin de la barra de herramientas
para cambiar de un modo a otro.

9.3.4.1. Edicin de la escena

Permite insertar, editar y eliminar reglas, detectores y semforos en la escena.


Regla: una regla es una lnea roja que discurre por todo el ancho del carril. Son tiles para marcar
puntos de referencia en la escena (paso de peatones, lnea de detencin, etc.).
Lista de reglas: lista de las reglas existentes. Cada regla es identificada por su posicin.
Nuevo: crea una nueva regla.
Eliminar: elimina la regla seleccionada.
Posicin: posicin longitudinal en la calzada de la regla; en metros.
Detector: detector pintado en un carril de la escena. Definibles en su posicin y longitud, son tiles
para verificar, posteriormente, que son vistos en su totalidad por la unidad BirdWatch y que no se
dan ocultaciones indeseadas en su rea.
Lista de detectores: lista de los detectores existentes. Cada detector es identificado por un
nmero nico, definido automticamente al crearlo.
Nuevo: crea un nuevo detector.
Eliminar: elimina el detector seleccionado.
Carril: carril en el que est instalado el detector.
Posicin: posicin longitudinal en la calzada del inicio del detector; en metros.
Longitud: longitud del detector; en metros.
Semforo: semforo (sin mstil) en la escena. Definibles en su posicin (anchura, altura y
profundidad), son tiles para verificar, posteriormente, que son vistos en su totalidad por la unidad
BirdWatch.
Lista de semforos: lista de los semforos existentes. Cada semforo es identificado por un
nmero nico, definido automticamente al crearlo.
Nuevo: crea un nuevo semforo.
Eliminar: elimina el semforo seleccionado.
Carril: carril en el que est instalado el semforo.
Anchura: posicin del semforo en lo ancho de la calzado; en metros.
Altura: altura en la que est ubicado el semforo; en metros.
Profundidad: posicin del semforo en la profundidad de la calzada; en metros.

Quercus Technologies 71
Manual de referencia de BirdWatch VL Software

9.3.4.2. Simulacin de la escena

Permite configurar los tipos de vehculos que hay en cada carril, la separacin entre ellos, as como
controlar su posicin y el sentido de circulacin:
Configuracin:
Distancia: espacio entre vehculos; en metros.
Turismos: activa/desactiva la presencia de turismos en las colas.
Furgonetas: activa/desactiva la presencia de furgonetas en las colas.
Camiones: activa/desactiva la presencia de camiones en las colas.
Movimiento:
Adelante doble: mueve los vehculos 5 metros adelante.
Adelante: mueve los vehculos medio metro adelante.
Atrs: mueve los vehculos medio metro atrs.
Atrs doble: mueve los vehculos 5 metros atrs.
Invertir sentido: invierte el sentido de circulacin de todos los vehculos del carril.

9.3.5. Barra de estado

La barra de estado informa en todo momento de:


Numero de carriles configurados y ancho de estos.
Modo de visualizacin.
Modo de trabajo.

9.4. Ejemplos de escenas ideales


El software que se proporciona con cada equipo BirdWatch dispone de ejemplos de instalacin por cada
uno de los detectores:
PresenceScene.qdt: escena con un detector de presencia.
QueueScene.qdt: escena con un detector de cola.
SpeedScene.qdt: escena con un detector de velocidad.

Estos ejemplos estn ubicados en el directorio de instalacin del software BirdWatch :

Quercus Technologies 72
Manual de referencia de BirdWatch VL Software

Samples/BWPreviewer. Para visualizar cada una de ellos utilice la funcin Cargar mediante el
correspondiente botn en la barra de herramientas de la aplicacin.

Quercus Technologies 73
Manual de referencia de BirdWatch VL Hardware

Hardware

En esta seccin se describen los pasos necesarios para la instalacin de una unidad BirdWatch desde su
desembalaje hasta su pleno funcionamiento, lo cual comprende desde la instalacin fsica de la unidad
hasta la correcta configuracin de la misma (incluido el enfoque de la cmara).

No se describen en esta seccin los procesos ajenos a la propia unidad como pueden ser la instalacin o
configuracin del software cliente de la unidad (para ello vase la seccin Software).

Quercus Technologies 74
Manual de referencia de BirdWatch VL Hardware

10. Descripcin fsica del equipo


El equipo est formado por una carcasa, en el interior del cual se aloja el sistema de captura y proceso de
las imgenes. Los elementos que componen la unidad son los siguientes.

10.1. Componentes
Externamente
1. Carcasa removible.
2
2. Tornillos de la carcasa.
5
3. Embellecedor/Visera.
1
4. Ventana de visualizacin. 6
3
5. Base de la unidad. 7
6. Rtula de orientacin. 4
7. Soporte multiuso.

Internamente
1. Objetivo de la cmara.
2. Junta de sellado.
3. Agujeros de entrada de cables con pasacables. 4 3
4. Cmara inteligente.

1 2

10.2. Pinouts
10.2.1. Alimentacin elctrica
Conector J3
Pin Significado
+12V Alimentacin de la cmara
GND Masa de la alimentacin

10.2.2. Red ethernet


Conector J10
Pin Significado
RX- RX- (pin 6 RJ-45)
RX+ RX+ (pin 3 RJ-45)
TX- TX- (pin 2 RJ-45)
TX+ TX+ (pin 1 RJ-45)

Quercus Technologies 75
Manual de referencia de BirdWatch VL Hardware

10.2.3. Conexiones serie


Conector J9

Pin Significado
RS232_RX RX de RS-232
RS232_TX TX de RS-232
GND Masa de RS-232
RS485_TXA TXA de RS-485
RS485_TXB TXB de RS-485
RS485_RXB RXB de RS-485
RS485_RXA RXA de RS-485
GND_OPTO Masa optoacoplada de RS-485

10.2.4. E/S
Conectores J8 y J7

Pin Significado
IN1 (J8) Entrada 1
IN2 (J8) Entrada 2
IN3 (J8) Entrada 3
IN4 (J8) Entrada 4
GND (J8) Masa de las entradas
OUT1 (J7) Salida 1
OUT2 (J7) Salida 2
OUT3 (J7) Salida 3
OUT4 (J7) Salida 4
+5VDC (J7) Alimentacin para las salidas
+5VDC (J7) Alimentacin para las salidas

10.3. Caractersticas de las comunicaciones serie.


Las comunicaciones serie tienen las siguientes caractersticas:
1 bit de Stop.
Sin paridad.
Sin control de flujo.

10.4. Caractersticas del sistema de E/S


10.4.1. Entradas
Las (conector J8) entradas son de contacto seco, y tienen dos estados posibles: circuito abierto, y
cortocircuito a tierra. En el siguiente esquema se muestra un ejemplo de cmo conectar una entrada

Quercus Technologies 76
Manual de referencia de BirdWatch VL Hardware

haciendo uso de un rel estndar.


Las entradas que no vayan a ser usadas pueden dejarse sin conectar.

Entradas Rel

Tierra NA

NC

Entrada n
Comn

Seal
Externo

10.4.2. Salidas
Las salidas (conector J7) proporcionan un circuito abierto o bien un cortocircuito a tierra.
Cada una de las salidas puede proporcionar una corriente de hasta 200mA. Para gobernar cargas de
potencia mediante estas salidas es necesario introducir un rel externo, conectado como se muestra:

Salidas Rel

+12VDC NA
+12VDC NC

Comn
Salida n

En ningn caso debe alimentarse el lado de seal de los rels desde otra tensin que no sea la que se
proporciona en la regleta de salida, ya que podran provocarse daos en el circuito.

Quercus Technologies 77
Manual de referencia de BirdWatch VL Hardware

11. Firmware
Llamamos firmware al software que se ejecuta internamente en la propia unidad.

Por defecto cada unidad est configurada con su direccin IP igual a 192.168.1.2xy, donde xy representan
las dos ltimas cifras del nmero de serie de la unidad. Por ejemplo, una unidad con nmero de serie
08120100518001 tendr como direccin IP 192.168.1.201.
El nmero de serie de la unidad podr encontrarlo en una etiqueta en el interior de la misma.

BirdWatch Virtual Loop Plus


Ref. Number: 07000102
Input voltage: 9-36Vdc
Power: 2.5W

Serial number:
08120100518001

Para acceder al sistema de configuracin bastar con escoger el carril correspondiente en la


herramienta de diagnstico y seleccionar la pestaa Configuracin (puede accederse, tambin,
conectando un navegador web a la pgina http://<ip de la unidad>).
Una vez conectado a la unidad le aparecer una ventana en la que se solicitar una contrasea. La
contrasea por defecto es quercus2, ms adelante podr cambiarse si es necesario desde las opciones de
la configuracin.

Una vez pulsado el botn Validacin acceder al sistema de configuracin del equipo cuya ventana est
dividida en dos partes: a la izquierda, el men en el que podrn elegirse las diversas opciones de la
configuracin; a la derecha, la pantalla especfica de la opcin que se haya elegido.
Las opciones estn divididas en las siguiente secciones:
Configuracin principal del sistema: permite configurar, mediante variables, parmetros del motor

Quercus Technologies 78
Manual de referencia de BirdWatch VL Hardware

BirdWatch (tiempos de exposicin, entradas y salidas, caractersticas de la va, etc.) o generales


del sistema (direccin IP, franja horaria, etc.). Est dividido en secciones, cada una de las cuales
contiene un tipo variables concreto.
Configuracin de los detectores: permite aadir, eliminar o modificar los detectores con los que
trabajar la unidad.
Importar configuracin de FTP: permite importar la configuracin de un fichero generado
externamente.
Exportar configuracin a FTP: permite exportar la configuracin a un fichero externo.
Cambiar contrasea de configuracin: permite establecer una nueva contrasea para poder acceder
al sistema de configuracin.
Aplicar cambios y reiniciar: aplicar los cambios hechos en la seccin Configuracin principal del
sistema (o despus de importar la configuracin) y en la seccin Configuracin de los detectores
y reiniciar la unidad.
Descartar cambios: descarta los cambios hechos en las secciones Configuracin principal del
sistema y Configuracin de los detectores.
Informacin del sistema: muestra informacin del sistema (nmero de serie, versin del firmware,
etc.)
Registro BirdWatch VL / BirdWatch VL Plus: muestra el informe que genera la unidad durante su
ejecucin.
Registro del adaptador serie: muestra el informe que genera el sistema interno de comunicacin
serie. Solamente existir el fichero si se han establecido comunicaciones serie para la unidad.
Registro del disco de datos: muestra el informe que se genera tras el chequeo del disco de datos,
donde se almacenan los sumarios e incidencias. Dicho chequeo se realiza en el arranque del
equipo.
Ver incidencias en disco: muestra un informe de las incidencias almacenadas en la unidad.
Ver sumarios en disco: muestra un informe de los sumarios almacenados en la unidad.
Exportar informe de estado a FTP: genera un informe del estado de la unidad que servir al
departamento de Soporte de Quercus Technologies para detectar posibles errores en la unidad.
Informacin de contacto: muestra la informacin necesaria para poder contactar con el
departamento de Soporte de Quercus Technologies.
Ajustar fecha y hora: permite establecer la fecha y hora actuales.
Sincronizar hora con el servidor: sincroniza la hora de la unidad con la de un servidor previamente
configurado.
Actualizar firmware: permite actualizar el firmware de la unidad.
Restablecer firmware original: permite retornar el firmware de la unidad a la versin con la que sali
de fbrica.
Formatear el disco de datos: permite formatear el disco de datos, donde se almacenan las
incidencias y sumarios.

Quercus Technologies 79
Manual de referencia de BirdWatch VL Hardware

11.1. Configuracin principal del sistema

La configuracin general del sistema se realiza editando una serie de variables que establecen su
comportamiento.
Si desea recuperar el valor por defecto de la variable deje su casilla vaca. Los cambios no se aplicarn
hasta que no se elija la opcin Aplicar cambios y reiniciar.
Para obtener una descripcin del significado de una variable deje el cursor del ratn durante unos instantes
sobre el nombre de esta y aparecer una pequea ventana emergente con la informacin de la variable.
Cuando termine de editar una seccin de variables no olvide pulsar el botn Guardar cambios.

Ntese que, debido a que existen algunas funciones no habilitadas en el producto BirdWatch VL,
no todas las variables seguidamente descritas estn presentes en el men configuracin de dicha
unidad; por ejemplo el espacio en disco destinado al almacenamiento de incidencias.

11.1.1. Variables
11.1.1.1. Communications
CentralSystemHost: direccin IP del sistema central.
CentralSystemPort: puerto por el que el sistema central recibe los mensajes de las unidades.
DateProtocol: protocolo a usar en la sincronizacin de la fecha y hora. Sus posibles valores son
TIME y NTP. Si se indica TIME se usar el protocolo especificado en el documento ARPA
Internet RFC 868; si se indica NTP se usar el protocolo Network Time Protocol.
DateServer: servidor de fecha y hora con el cual se sincronizar la unidad.
Gateway: puerta de enlace para la salida a Internet. Deber usarse en el caso que el sistema
central est fuera de la red local donde se encuentra la unidad; en caso contrario puede dejarse
apuntando a 127.0.0.1.

Quercus Technologies 80
Manual de referencia de BirdWatch VL Hardware

HostName: nombre de la unidad, por si se le quiere dar un nombre diferente a cada unidad.
ListeningPort: puerto por el que la unidad esperar mensajes.
IP: direccin IP de la unidad. Este valor deber cambiarse siempre que haya ms de una unidad
con la misma IP en red, ya que de lo contrario colisionaran.
MaxPacketSize: tamao mximo permitido de los paquetes de datos usados por el protocolo en las
transmisiones UDP.
NameServer1(2,3,4): servidores de DNS. Se usarn en el caso en que las direcciones se
especifiquen como nombres en lugar de IPs (por ejemplo example1.quercus.biz). Si no desea usar
nombres en la configuracin de la unidad puede dejar estos campos apuntando a 127.0.0.1.
NetMask: mscara de red de la unidad.
Password: contrasea de la encriptacin de protocolo. Vase el apartado 16.2. Encriptacin de
protocolo para ms informacin.
Protocol: protocolo de comunicacin a usar. Posibles valores: UDP y Serial.
Retries: nmero mximo de intentos que la unidad realizar en el envo de cada mensaje.
Timeout: tiempo en milisegundos durante los que se esperar la respuesta a un mensaje antes de
considerarlo no respondido.

11.1.1.2. Engine
CameraHeight: altura a la que est instalada la unidad respecto a la va; en milmetros. Ntese que
tan solo se utiliza para el clculo de velocidades y longitudes en los detectores de velocidad, por lo
que, si no se configura ninguno, no es necesario modificar este campo.
DistributionLengths: rangos de medidas de vehculos. Se usa en los sumarios para mostrar
estadsticas agrupando vehculos por su longitud. Debe ser una lista ordenada de valores
expresados en milmetros. Ejemplo: 4000,8000 crea tres categoras de vehculos: 1 (menos de
4000 mm), 2 (entre 4000 y 8000 mm) y 3 (ms de 8000 mm).
DistributionSpeeds: rangos de velocidades. Se usa en los sumarios para mostrar estadsticas
agrupando vehculos por su velocidad. Debe ser una lista ordenada de valores expresados en
kilmetros/hora. Ejemplo: 40,80 crea tres categoras de velocidad: 1 (menos de 40 km/h), 2 (entre
40 y 80 km/h) y 3 (ms de 80 km/h).
LoopSensitivity: permite definir la sensibilidad de los lazos. Posibles valores (High, Medium, Low).
Una sensibilidad alta (High) facilita la activacin del lazo pero aumenta las probabilidades de que
esta sea errnea (sombras, ruido, etc.); por el contrario, una sensibilidad baja (Low) dificulta la
activacin pero disminuye las probabilidades de que sea errnea.
MaximumCameraExposure: exposicin mxima con la que trabajar la unidad; en microsegundos.
OptimumCameraExposure: exposicin con la que la unidad intentar trabajar siempre que le sea
posible; en microsegundos. til para ajustar la exposicin ptima en las capturas de las incidencias.
Este valor deber ser siempre menor o igual que MaximumCameraExposure.
Reserved 1,2,3,4: valores reservados. No deben ser modificados, salvo indicacin expresa del
departamento de Soporte de Quercus Technologies.
WayType: tipo de va. Posibles valores Slow o Fast. Una va rpida (fast) registra un trnsito fluido

Quercus Technologies 81
Manual de referencia de BirdWatch VL Hardware

durante la mayor parte del tiempo (ejemplo: autova); por el contrario, una va lenta (slow) registra
una trnsito lento o con retenciones con asiduidad (ejemplo: avenida con semforo).

11.1.1.3. Global
CompressionQuality: compresin que se usar para enviar las imgenes en formato JPEG (de 1 a
99). Como mayor sea el nmero, mejor calidad tendr la imagen a expensas de un tamao mayor.
DefaultLanguage: nmero que indica el idioma del sistema de configuracin. Los idiomas
soportados son 1 para ingls, 2 para espaol.
Description: descripcin de la unidad. Posibles valores: cualquier cadena de texto. til, tan solo, si
se activa el campo Description del OSD.
DiskIncidenceSize: espacio en MB reservado para almacenar las incidencias en la unidad.
DiskSummarySize: espacio en MB reservado para almacenar los sumarios en la unidad.
Ntese que la suma de DiskSummarySize y DiskIncidenceSize no debe ser superior a la
capacidad de almacenamiento de la unidad.
LogFilter: cadena de texto que se establecer como filtro de los mensajes que quieren verse en el
fichero de registro. Este filtro permite usar * como patrn para indicar cualquier cadena de texto.
Por ejemplo, si se establece el filtro *Historic*, solamente aparecern los mensajes en los que
aparezca la cadena Historic. Por defecto el filtro est a *, es decir, se muestran todos los
mensajes.
LogLevel: nivel de informacin que se mostrar en el registro. Posibles valores:
1: Mensajes: se mostrarn todos los mensajes.
2: Warning: slo se mostrarn mensajes de aviso o error.
3: Error: slo se mostrarn mensajes de error.
Reserved 1,2,3: valores reservados. No deben ser modificados, salvo indicacin expresa del
departamento de Soporte de Quercus Technologies.
SystemId: identificador de la unidad. Cada unidad de un sistema BirdWatch debe tener un
identificador nico.
TimeZone: zona horaria en la que se encuentra la unidad. Se usa para que la sincronizacin de
fecha y hora tenga en cuenta los desplazamientos horarios. Los posibles valores pueden verse en el
apartado Apndice D: valores de [Global] TimeZone.
WatchDog: activacin del watchdog hardware. Si est activo, reiniciar la unidad si ocurre algn
error inesperado. Los posibles valores son 0 (inactivo), 1 (activo).

11.1.1.4. IO
InputFilterTime: tiempo en milisegundos de filtro de rebotes en la tarjeta E/S.
UsedInputs: lista separada por comas de las entradas que deben notificar su cambio de estado al
sistema central. Los valores pueden ser 0, 1, 2 y 3.

Quercus Technologies 82
Manual de referencia de BirdWatch VL Hardware

11.1.1.5. OSD
Son parmetros que permiten configurar qu informacin debe sobreimpresionarse como texto dentro de las
propias imgenes de las incidencias.
Active: indica si el sistema de sobreimpresin debe estar activo o no: 0 lo desactiva, 1 lo activa.
Position: posicin de la imagen donde debe mostrarse el texto. Los posibles valores son:
LeftTop: el texto se muestra en la parte superior izquierda, justificado a la izquierda.
RightTop: el texto se muestra en la parte
superior derecha, justificado a la derecha.
LeftBottom: el texto se muestra en la parte LeftTop RightTo
inferior izquierda, justificado a la izquierda. p

RightBottom: el texto se muestra en la parte


inferior derecha, justificado a la derecha.
Imagen
LeftBottom RightBottom
Cada campo que puede sobreimpresionarse en la imagen
est definido por dos variables:
LabelXXX: indica el texto que se debe mostrar antes
del valor de la variable XXX. Por ejemplo, si en LabelUnitId configuramos el texto Unidad y el
identificador de la unidad (SystemId) es 3, se imprimir en la imagen Unidad 3.
OrderXXX: indica el orden en el que se mostrar el campo XXX respecto a los dems; el orden es
descendente y si el valor es -1 no se mostrar. Por ejemplo, si OrderUnitId es 3, OrderTimeStamp
es 2 y OrderNumImage es 1 se mostrar primero el campo NumImage, despus TimeStamp y por
ltimo UnitId.
Los campos disponibles son los siguientes:
Description: descripcin de la unidad.
DetectorId: identificador del detector.
IncidenceId: identificador de la incidencia.
IncidenceType: tipo de incidencia.
NumImage: ndice de imagen dentro de la incidencia.
Speed: velocidad registrada en la incidencia; en kilmetros por hora.
Timestamp: fecha y hora de generacin de la incidencia; en formato ao-mes-da
hora:minuto:segundo.microsegundo.
UnitId: identificador de la unidad de la cual proviene la imagen.

11.1.1.6. Serial
Baudrate: velocidad de transmisin del puerto serie (solamente es necesario configurarlo si se han
elegido comunicaciones serie). Posibles valores: 57600, 19200, 9600, 4800, 2400, 1200, 600 y 300.
PortType: tipo de puerto serie que se usar para las comunicaciones. Posibles valores: RS-232 y
RS-485. Ntese que tan solo ser til si se ha indicado Serial en el campo
Communications/Protocol.

Quercus Technologies 83
Manual de referencia de BirdWatch VL Hardware

11.2. Configuracin de los detectores


La configuracin de los detectores permite aadir, eliminar o modificar los detectores con los que trabajar
la unidad.

11.2.1. Pantalla inicial


En la parte superior del men se muestran los detectores definidos hasta el momento, sobre la ltima
imagen capturada por el usuario. Estos estn coloreados segn el tipo de detector y dentro de cada uno de
ellos se especifica su identificador y sentido.
Si se desea actualizar la imagen capturada, indicar, en la casilla Tiempo de exposicin, a la derecha de la
imagen, el tiempo de exposicin deseado (en microsegundos) y pulsar Obtener imagen.

En la parte inferior se muestra una lista de los tipos de detectores disponibles para configurar, adems de
una tabla con los detectores ya configurados, informando de su identificador y tipo.

Para configurar un detector:


Crear detector: pulse sobre uno de los tipos de detectores disponibles para entrar en el men de
edicin de un nuevo detector.
Eliminar detector: en la tabla de detectores, pulse Eliminar sobre el detector que se desee eliminar.
Editar detector: en la tabla de detectores, pulse Editar sobre el detector que se desee editar para
entrar en el men de edicin del detector.

Quercus Technologies 84
Manual de referencia de BirdWatch VL Hardware

11.2.2. Pantalla edicin


11.2.2.1. Conceptos previos
Antes de configurar un detector es imprescindible entender la definicin grfica de detector y las
convenciones que sobre estos se han establecido:
Un detector debe ser siempre un polgono cuadriltero (cuatro lados) convexo (cualquiera de sus
ngulos interiores son inferiores a 180).
Los vrtices deben estar ordenados en el sentido de las agujas del reloj.
La recta formada por los dos primeros vrtices (P1 y P2) marca la lnea por donde los vehculos
abandonan el detector; el sistema utiliza esta informacin para establecer el sentido del detector.
El tamao mximo de un detector en la imagen tan slo est limitado por los lmites de sta.

11.2.2.2. Edicin
En este subapartado se detallan todas las opciones disponibles de un men de edicin de un detector.
Dependiendo del tipo de detector algunas opciones pueden no encontrarse en l. Por ejemplo, en el men
de edicin de un detector de presencia no aparecer la opcin Generar Incidencias, porque este tipo de
detector no soporta esta opcin.
Para una informacin detallada de las prestaciones de cada tipo de detector vase el apartado 2. Tipos de
detector.

Quercus Technologies 85
Manual de referencia de BirdWatch VL Hardware

El men de edicin de un detector se divide en dos partes:


Imagen: se muestra la ltima imagen capturada por la unidad y, si ya se ha definido la posicin del
detector, ste aparecer sobre la imagen.
Nuevo detector: si an no se ha definido la posicin del detector, pulsar sobre la imagen para
indicar, uno a uno, los cuatro vrtices.
Editar detector: si ya se ha definido la posicin del detector, ste aparecer sobre la imagen.
Arrastrar cualquiera de los cuatro vrtices para modificar su posicin.
Si se desea actualizar la imagen capturada, indicar, en la casilla Tiempo de exposicin, a la
derecha de la imagen, el tiempo de exposicin deseado (en microsegundos) y pulsar Obtener
imagen.
Datos:
Id: identificador del detector; este valor deber ser nico para cada detector.
Eventos en tiempo real:
Enviar: indica los eventos en tiempo real generados deben ser enviados al equipo central.
Sumarios:
Generar: indica si los sumarios deben ser generados.
Enviar: indica si los sumarios generados deben ser enviados al equipo central.
Periodo: periodo de tiempo que compondr cada uno de los sumarios; en minutos.
Incidencias:
Generar: indica si las incidencias deben ser generadas.
Enviar: indica si las incidencias generadas deben ser enviadas al equipo central.
Mtrica:
Generar: indica si se debe aplicar la mtrica a cada uno de los vehculos detectados. Se
entiende como mtrica el clculo de velocidades y longitudes.
Si se activa es imprescindible indicar, con la mxima precisin posible, la distancia y
longitud del detector (siguientes dos variables) y la altura a la que est instalada la
unidad (vase la variable CameraHeight, del apartado 11.1. Configuracin principal
del sistema).
Distancia: distancia desde la horizontal de la unidad hasta el detector; en milmetros.

Unidad
BirdWatch

Quercus Technologies 86
Manual de referencia de BirdWatch VL Hardware

Longitud detector: longitud del detector; en milmetros.


Coordenadas:
P1,2,3,4: coordenadas de cada uno de los cuatros vrtices del detector. El formato seguido x,y,
siendo 'x' el eje horizontal (0..639) y 'y' el eje vertical (0..479).
Eliminar: elimina los cuatros vrtices del detector, para que puedan ser definidos de nuevo.
Salidas: indica bajo qu condiciones se activarn las salidas digitales. El formato seguido es:
si condicin luego activacin
Condicin: si casilla1 casilla2 casilla3
Casilla1: posibles valores: Estado, Ocupacin, Velocidad, Longitud, Sentido correcto.
Casilla2: posibles valores: '=', igual a; '>', ms grande que; '<', ms pequeo que; 'Dif',
diferente a.
Casilla3:
Estado: 0, desocupado; 1, ocupado.
Ocupacin: cualquier valor positivo; en porcentaje de ocupacin.
Velocidad: cualquier valor numrico; en kilmetros por hora.
Longitud: cualquier valor numrico; en milmetros.
Sentido correcto: 0, sentido contrario; 1, sentido correcto;
Activacin: activar salida casilla4 durante casilla5 milisegundos
Casilla4: identificador de la salida a activar. Posibles valores: 0, 1, 2 y 3.
Casilla5: tiempo en milisegundos que se mantendr activa la salida. Un valor de -1 activar
la salida indefinidamente.
Guardar cambios: guarda los cambios realizados en el detector. Si los cambios no son
almacenados correctamente las modificaciones se perdern.

Ejemplos de configuracin de salidas digitales:


Para que la salida 0 se active 800ms cuando se detecte un vehculo que circula a una velocidad menor de
40km/h se usar la siguiente configuracin:
si Velocidad < 40 luego 0 800

Para que la salida 2 se active 1000ms cuando se detecte un vehculo circulando en sentido contrario se
usar la siguiente configuracin:
si Sentido correcto = 0 luego 2 1000

Para que la salida 2 se active 500ms cuando se detecte una ocupacin mayor del 60% se usar la siguiente
configuracin:
si Ocupacin > 60 luego 2 500

11.3. Importar configuracin de FTP


Sirve para cargar en la unidad una configuracin guardada previamente (mediante la opcin Exportar

Quercus Technologies 87
Manual de referencia de BirdWatch VL Hardware

configuracin a FTP). Para ello deber cargar en la unidad (mediante FTP) el fichero Config.dat a
restaurar para, posteriormente, elegir esta opcin. Tenga en cuenta que cualquier cambio que haya hecho
en la configuracin de la unidad se perder. Los cambios no se aplicarn hasta que no se elija la opcin
Aplicar cambios y reiniciar.

11.4. Exportar configuracin a FTP


Su utilidad es realizar una copia de seguridad de la configuracin actual de la unidad o proporcionarla al
departamento de Soporte de Quercus Technologies, para que este pueda asistirle en la configuracin de la
unidad. Si se selecciona esta opcin se generar, en el servidor FTP, un fichero con nombre Config.dat
que contendr la configuracin actual de la unidad. No tendr ms que copiar el fichero del servidor de FTP
de la unidad o mediante el enlace proporcionado por el propio sistema de configuracin.

11.5. Cambiar contrasea de configuracin


Permite introducir una nueva contrasea para acceder al sistema de configuracin. Deber introducir la
contrasea actual y la nueva contrasea por duplicado (para evitar errores de tecleo que puedan hacer que
se introduzca una contrasea equivocada). La nueva contrasea ser vigente desde el momento en que
esta se introduzca.

11.6. Aplicar cambios y reiniciar


Esta opcin hace permanentes los cambios realizados en Configuracin principal del sistema y/o
Configuracin de los detectores y reinicia usando la nueva configuracin. Tambin debe utilizarse para
aplicar los cambios despus de haber importado la configuracin mediante FTP.

11.7. Descartar cambios


Esta opcin descarta todos los cambios hechos en Configuracin principal del sistema y/o Configuracin
de los detectores.

11.8. Informacin del sistema


Esta opcin permite conocer el nmero de serie, la fecha de produccin de la unidad, la versin del producto
y otros datos que el departamento de Soporte de Quercus Technologies puede necesitar para poder
ofrecerle ayuda en caso de dudas en la configuracin, actualizaciones, etc.

11.9. Registro del BirdWatch VL / BirdWatch VL Plus


Muestra el informe que genera el sistema BirdWatch durante su ejecucin. Cada lnea del informe est
dividida en tres partes separadas por el smbolo |.
La primera parte muestra la fecha y hora en que se ha producido; en formato Ao-Mes-Da

Quercus Technologies 88
Manual de referencia de BirdWatch VL Hardware

Hora:Minuto:Segundo.
La segunda parte muestra el nivel de gravedad del mensaje, que puede ser:
Message: mensajes informativos.
Warning: avisos que no tienen porque significar ningn tipo de error pero deben tenerse en
cuenta por si implican un error de configuracin.
Error: errores; pueden significar errores en la configuracin o errores en el hardware de la
unidad.
La tercera parte es el identificador del thread que ha generado la lnea el mensaje.
La cuarta parte es el mensaje propiamente dicho.

En caso de funcionamiento incorrecto de la unidad consulte este registro ya que muy probablemente
le informar del error producido.

El registro entero puede descargarse mediante el enlace de la parte superior de la ventana.

11.10. Registro del adaptador serie


Muestra el informe que genera el sistema interno de comunicacin serie. Solamente existir el fichero si se
han establecido comunicaciones serie para la unidad. Tiene el mismo formato que el registro BirdWatch VL /
BirdWatch VL Plus.

11.11. Registro del disco de datos


Muestra el informe que se genera tras el chequeo del disco de datos, donde se almacenan los sumarios e
incidencias. Dicho chequeo se realiza en el arranque del equipo e informa del estado del disco. Si se
encuentran fallos se describen en el informe las medidas oportunas para intentar solventarlos.

11.12. Ver incidencias en disco


Muestra un informe de las incidencias almacenadas en la unidad, mediante una tabla. Cada fila corresponde
a las incidencias generadas por un detector en el total de un da.

Para ver un informe detallado de las incidencias generadas por un detector en el total de un da
determinado, pulsar sobre el enlace Ver de la fila correspondiente. Se mostrar, mediante una tabla, la
informacin acerca de las incidencias generadas: identificador, tipo y momento en que se ha generado (en
formato horas:minutos:segundos). Cada fila corresponder a una incidencia.

Para ver un informe detallado de una incidencia en concreto, pulsar sobre el enlace Ver de la incidencia
correspondiente. Ntese que el sistema puede requerir de unos segundos para generar dicho informe.
La informacin que se mostrar ser:
Informacin de la incidencia: identificador de la incidencia, identificador de la unidad, identificador

Quercus Technologies 89
Manual de referencia de BirdWatch VL Hardware

del detector y tipo de incidencia.


Fichero XML: enlace para descargar el fichero XML que detalla la incidencia (vase 16.1.1. Ficheros
XML).
Imgenes: miniaturas de las imgenes relacionadas con la incidencia detallando, debajo cada una
de ellas, el momento de su captura (en formato ao-mes-da
horas:minutos:segundos.microsegundos). Para visualizar una imagen a escala real (1:1), pulsar
sobre su miniatura.

11.13. Ver sumarios en disco


Muestra un informe de los sumarios almacenados en la unidad. En l se detallan el nmero de sumarios de
cada detector y el perodo durante el cual se han realizado.

11.14. Exportar informe de estado a FTP


Su utilidad es proporcionar un informe detallado del estado del equipo al departamento de Soporte de
Quercus Technologies para que este pueda asistirle en casos de funcionamiento errneo de la unidad. Si se
selecciona esta opcin se generar en el servidor FTP un fichero con nombre SystemStatus.dat que
contendr el informe. No tendr ms que copiar el fichero del servidor de FTP de la unidad o mediante el
enlace proporcionado por el propio sistema de configuracin.

11.15. Informacin de contacto


Proporciona la informacin necesaria para poder contactar con el departamento de Soporte de Quercus
Technologies (e-mail, tlefono, etc.).

11.16. Ajustar fecha y hora


Permite establecer manualmente la fecha y hora interna de la unidad. La nueva fecha y hora ser efectiva
desde el momento en que se establezca (sin tener que reiniciar la unidad).

11.17. Sincronizar hora con el servidor


Sirve para sincronizar la hora con el servidor de hora previamente configurado en la variable
Communications -> DateServer. La hora se sincroniza automticamente una vez al da, pero se puede
forzar en cualquier momento mediante esta opcin.

11.18. Actualizar firmware


La actualizacin del firmware sirve para incorporar a la unidad versiones ms nuevas del sistema
BirdWatch de Quercus Technologies, ya sea para reparar errores detectados o para incorporar nuevas
funcionalidades.

Quercus Technologies 90
Manual de referencia de BirdWatch VL Hardware

11.18.1. Pasos previos a la actualizacin


Antes de proceder a la instalacin de una actualizacin hay que hacer que dicha actualizacin est
disponible en la unidad a actualizar. Para ello hay que seguir los siguientes pasos:
1. Obtener de Quercus Technologies un fichero de actualizacin de firmware (ficheros con extensin
.upd). ATENCIN: NUNCA intente instalar una actualizacin que no provenga directamente del
departamento de Soporte de Quercus Technologies ya que podra daar irremediablemente el
firmware de la unidad. La garanta del producto quedar inmediatamente cancelada en el caso que
se detecte una manipulacin fraudulenta del firmware instalado.
2. Utilice la herramienta de diagnstico para transferir el fichero a la unidad mediante FTP o abra una
conexin FTP a la unidad (direccin ftp://<ip_de_la_unidad>). La identificacin y contrasea son las
mismas que las usadas para acceder a la configuracin (usuario admin, contrasea quercus2). Si
accede directamente desde Microsoft Internet Explorer use como direccin
ftp://admin@<ip_de_la_unidad>, de este modo podr introducir la contrasea.
3. Cargue el fichero de actualizacin en el servidor FTP.
4. Cierre la conexin FTP.

Tenga en cuenta que los datos cargados en el servidor de FTP no se guardan de forma permanente (se
pierden cada vez que se reinicia la unidad) de modo que no cargue el fichero hasta el momento en el que
vaya a realizar realmente la actualizacin.

11.18.2. Actualizacin
Una vez cargado el fichero en el servidor de FTP ya puede proceder a la actualizacin del sistema. Para ello
deber elegir la opcin Actualizar firmware del men.
Si en el servidor existen ficheros de actualizacin, se le preguntar por el nombre del fichero a usar;
seleccione el fichero adecuado (normalmente solamente habr uno disponible). Aparecer una descripcin
en la que se describirn las acciones que se llevarn a cabo:
Si esta de acuerdo, pulse el botn Actualizar. Una vez finalizada la actualizacin se mostrar una pantalla
con el resultado de la actualizacin y la unidad reiniciar funcionando ya con el nuevo firmware.

La actualizacin del firmware de la unidad es una operacin delicada. Si an no tiene claros los pasos a
seguir no dude en ponerse en contacto con el departamento de soporte de Quercus Technologies, nuestro
personal le guiar para que pueda realizar la actualizacin con seguridad. Adems, tenga en cuenta los
siguientes aspectos:
La actualizacin del firmware no hace perder la configuracin actual de la unidad. No
obstante, puede que el nuevo firmware requiera de configuracin de parmetros adicionales
(que se encontrarn inicialmente con su valor por defecto). Consulte la documentacin que
se le habr adjuntado con la actualizacin para saber qu pasos hay que seguir despus de
dicho proceso.

Quercus Technologies 91
Manual de referencia de BirdWatch VL Hardware

No intente efectuar la actualizacin en momentos en los que haya altas probabilidades de sufrir
algn corte intermitente de corriente. Aunque se ha intentado que el proceso de actualizacin sea lo
ms fiable posible, cabe la posibilidad (remota) de que se dae de forma irreversible el firmware de
la unidad.
Este proceso implica el paro del sistema BirdWatch mientras dura la operacin. No lo haga en
momentos en que se necesita que la unidad se mantenga operativa.
Compruebe que la actualizacin se haya realizado con xito. Para ello, consulte la versin
que le retorna la unidad antes y despus del proceso, por ejemplo, mediante la la funcin
Informacin del sistema del men principal o la herramienta de diagnstico.

11.19. Restablecer firmware original


Esta opcin permite recuperar el firmware de la unidad (y la configuracin) con el que sali de fbrica. Si
selecciona esta opcin aparecer una descripcin en la que se describirn las acciones que se llevarn a
cabo:

Si esta de acuerdo, pulse el botn Restablecer. Una vez finalizada la restauracin se mostrar una
pantalla con el resultado y la unidad reiniciar funcionando ya con el firmware original.

La restauracin del firmware de la unidad tambin es una operacin delicada. Tenga en cuenta los
siguientes aspectos:
La restauracin del firmware comporta la perdida total de la configuracin actual y el
restablecimiento de la configuracin original de fbrica. El equipo volver a tener la misma
direccin IP que tena originalmente.
No intente efectuar la restauracin en momentos en los que haya altas probabilidades de sufrir
algn corte intermitente de corriente. Aunque se ha intentado que el proceso de restauracin sea lo
ms fiable posible cabe la posibilidad (remota) de que se dae de forma irreversible el firmware de
la unidad.
Este proceso implica el paro del sistema BirdWatch mientras dura la operacin. No lo haga en
momentos en que se necesita que la unidad se mantenga operativa.

Quercus Technologies 92
Manual de referencia de BirdWatch VL Hardware

Compruebe que la restauracin se haya realizado con xito. Para ello consulte la versin que le
retorna la unidad antes y despus del proceso, por ejemplo, mediante la la funcin Informacin del
sistema del men principal o la herramienta de diagnstico.

Si algo falla en la restauracin, consulte el apartado 11.21. Restauracin de emergencia. En l se explica un


mtodo alternativo de recuperacin del firmware original.

11.20. Formatear el disco de datos


Esta opcin permite formatear el disco de datos de la unidad, donde se almacenan los sumarios y las
incidencias. Esta opcin resulta til si quiere borrar todos los sumarios e incidencias almacenadas en la
unidad o si el Registro del disco de datos le indica que lo debe formatear. Si selecciona esta opcin
aparecer una descripcin en la que se describirn las acciones que se llevarn a cabo:

Si esta de acuerdo, pulse el botn Formatear. Una vez finalizada la restauracin se mostrar una pantalla
con el resultado; es imprescindible que lea el informe completo y comprenda si ha habido algn error
durante el proceso de formateo. Si dicho proceso ha finalizado de forma satisfactoria deber reiniciar la
unidad para que pueda funcionar con el disco de datos formateado; en caso contrario informe al
departamento de Soporte de Quercus Technologies

El formateo del disco de datos tambin es una operacin delicada. Tenga en cuenta los siguientes aspectos:
El formateo comporta la perdida total de las incidencias y sumarios almacenados en la
unidad, as como cualquier otro archivo subido a la Ftp por el usuario.
No intente efectuar el formateo en momentos en los que haya altas probabilidades de sufrir algn
corte intermitente de corriente. Aunque se ha intentado que el proceso de formateo sea lo ms
fiable posible cabe la posibilidad (remota) de que se dae de forma irreversible el firmware de la
unidad.

Quercus Technologies 93
Manual de referencia de BirdWatch VL Hardware

Este proceso implica el paro del sistema BirdWatch y el servicio de FTP mientras dura la
operacin. No lo haga en momentos en que se necesita que la unidad se mantenga operativa.
Compruebe que el formateo se haya realizado con xito. Para ello lea detenidamente el informe que
se muestra al final del proceso.
Tenga en cuenta que el proceso de formateo puede durar unos minutos durante los cuales no
debe parar o reiniciar la unidad.

11.21. Restauracin de emergencia


El sistema de restauracin de emergencia permite restablecer el firmware original de la unidad de manera
independiente al sistema de configuracin (mediante el pulsador).

Atencin: el sistema de restauracin de emergencia solamente debe usarse en el caso que no puede
restaurarse el firmware mediante el mtodo software habitual (sistema de configuracin). Puede usarse, por
ejemplo, si se ha producido un corte de corriente mientras se actualizaba el firmware de la unidad y este ha
quedado en mal estado.

Para restaurar el firmware mediante este mtodo deber seguir los siguientes pasos:
1. Presione el pulsador y mantngalo presionado.
2. Oir una serie de pitidos cortos seguido de un pitido ms largo.
3. La unidad se reiniciar. Si solamente deseaba reiniciarla, ya puede liberar el pulsador.
4. Si mantiene presionado el pulsador, oir, al cabo de unos 50 segundos una serie de pitidos en
duracin descendente seguidos de un pitido ms largo.
5. Libere el pulsador.
6. La unidad restaurar el firmware (y configuracin) de fbrica y reiniciar haciendo uso de dicho
firmware.
7. Una vez oiga el pitido normal de arranque de la unidad, esta ya est funcionando con su
configuracin de fbrica.

Los pitidos de Restauracin de emergencia y Reset podrn ser diferenciados por que estos ltimos son
constantes y los primeros aumentan su frecuencia.

Quercus Technologies 94
Manual de referencia de BirdWatch VL Hardware

12. Instalacin paso a paso


12.1. Instalacin fsica de la unidad
Las unidades BirdWatch estn diseadas para poder ser instaladas, con los correspondientes
componentes opcionales, en las siguientes configuraciones:
En pared.
En mstil cilndrico horizontal.
En mstil cilndrico vertical.

Instalacin personalizada: en mstil cilndrico vertical con prolongacin.

A continuacin se detalla la instalacin en cada una de la configuraciones.

12.1.1. Instalacin en mstil horizontal

Coloque la unidad en el mstil horizontal


Presente el soporte multiusos en el mstil horizontal de tal forma
que el resto de la unidad quede por encima del soporte.

Ntese que los bordes del soporte multiusos estn diseados para
adaptarse a la forma cilndrica del mstil.

Fije la unidad
Pase las bridas metlicas proporcionadas alrededor del mstil
horizontal y entre las ranuras verticales rectangulares del soporte
multiusos.

Fije firmemente el soporte multiusos al mstil apretando las dos


bridas metlicas.

Quercus Technologies 95
Manual de referencia de BirdWatch VL Hardware

12.1.2. Instalacin en mstil vertical

Coloque la unidad en el mstil vertical


Presente el soporte multiusos en el mstil vertical de tal forma que
el resto de la unidad quede por encima del soporte.

Ntese que los bordes del soporte multiusos estn diseados para
adaptarse a la forma cilndrica del mstil.

Fije la unidad
Pase las bridas metlicas proporcionadas alrededor del mstil
vertical y entre las ranuras horizontales rectangulares del soporte
multiusos.

Fije firmemente el soporte multiusos al mstil apretando las dos


bridas metlicas.

12.1.3. Instalacin en pared

Seleccione los tornillos y los tacos


Seleccione cuatro tornillos de una longitud mnima aproximada de
40 mm., adecuados para los orificios del adaptador multiusos (3.5
mm .).

Elija los tacos adecuados al tipo de pared a la que va ser instalada


la unidad.

Quercus Technologies 96
Manual de referencia de BirdWatch VL Hardware

Realice los agujeros


Presente el soporte multiusos en la pared de tal forma que el resto
de la unidad quede encima de ste.

Retire la unidad y realice los agujeros con la ayuda de un taladro.


Coloque los tacos en la pared.

Fije la unidad
Recoloque la unidad en la pared.

Fije firmemente la unidad por el soporte multiusos mediante los


tornillos.

12.1.4. Instalacin personalizada: en mstil vertical con prolongacin

Seleccione el prolongador (no incluido) y los tornillos


Seleccione una barra con rosca interna de mtrica 6 y sus dos
tornillos correspondientes.

Conecte el prolongador
Separe el soporte multiusos de la rtula de orientacin
destornillando los tornillos de sujecin.

Conecte un extremo del prolongador en el agujero libre de la rtula


de orientacin y fjelo fuertemente mediante uno de los tornillos.

Conecte el otro extremo del prolongador en el agujero libre del


soporte multiuso y fjelo fuertemente mediante uno de los tornillos.

Quercus Technologies 97
Manual de referencia de BirdWatch VL Hardware

Coloque la unidad en el mstil vertical


Presente el soporte multiusos en el mstil vertical de tal forma que
el resto de la unidad quede por encima del soporte.

Ntese que los bordes del soporte multiusos estn diseados para
adaptarse a la forma cilndrica del mstil.

Fije la unidad
Pase las bridas metlicas proporcionadas alrededor del mstil y
entre los orificios rectangulares horizontales del soporte multiusos.

Fije firmemente el soporte multiusos al mstil apretando las dos


bridas metlica.

12.1.5. Procedimientos comunes


En este apartado se describen los procesos comunes a todos los mtodos de instalacin (pared, mstil
horizontal, mstil vertical y mstil vertical con prolongador).

Quercus Technologies 98
Manual de referencia de BirdWatch VL Hardware

Abra la unidad
Retire los tornillos de los cierres de la unidad.
Extraiga la carcasa de la base de la unidad.

Pase los cables al interior de la unidad


Use los dos pasacables de la base de la unidad para hacer
llegar el cableado (alimentacin, red/serie y E/S) al interior de
la unidad.

En el caso que se desee pasar mas de un cable por el mismo


pasables, estos deben ser agrupados en una manguera para
conservar la hermeticidad de la unidad.

Conecte el cable de red


Utilice a regleta desconectable J10. El conexionado est
descrito en el subapartado Pinouts del apartado 10.
Descripcin fsica del equipo.

Conecte el cable serie RS-232/RS-485


Solamente es necesario si el protocolo que va a usar la
unidad es RS-232 o RS-485. Utilice la regleta desconectable
J9. El conexionado est descrito en el subapartado Pinouts
del apartado 10. Descripcin fsica del equipo.

Quercus Technologies 99
Manual de referencia de BirdWatch VL Hardware

Conecte las entradas y salidas digitales


Solamente es necesario si van a usarse las entradas o salidas
digitales de la unidad. Utilice las regletas desconectables J8 y
J7.
El conexionado y el sistema de entrada/salida estn descritos
en el subapartado Pinouts del apartado 10. Descripcin fsica
del equipo.

Conecte el cable de alimentacin


Conecte el cable de alimentacin en el conector flotante J3 de
la parte posterior de la unidad.
El conexionado est descrito en el subapartado Pinouts del
apartado 10. Descripcin fsica del equipo.

12.2. Ajuste de la ptica


Para realizar los ajustes con comodidad, es necesario disponer de un ordenador porttil con la herramienta
de diagnstico BWDiag instalada y un cable de red cruzado entre el ordenador porttil y el terminal de red
de la unidad.

Todas las unidades estn configuradas para encontrar al sistema central en la direccin 192.168.1.199, por
lo que ser necesario adjudicarle dicha direccin IP al ordenador porttil desde el que se vayan a realizar
los ajustes.
Para ajustar la cmara deber seguir los siguientes pasos:
1. Conecte el cable de red cruzado entre la unidad y el ordenador porttil. Consulte el subapartado
Pinouts del apartado 10. Descripcin fsica del equipo para ubicar el conector de red.
2. Ponga en marcha el porttil y la herramienta de diagnstico.
3. Mantenga flojo el tornillo que fija la rtula de orientacin con el soporte multiuso.
4. Mantenga flojo el tornillo que fija la rtula de orientacin con la base de la unidad.
5. Alimente la unidad para que esta arranque.
6. Seleccione, en la barra de botones de la herramienta de diagnstico la unidad que corresponda. Por
defecto cada unidad est configurada con un identificador (SystemId) igual a las dos ltimas cifras
del nmero de serie de la unidad.
7. Pulse sobre la pestaa Cmara en vivo.
8. Seleccione, en la barra de botones, un tiempo de exposicin con el que puedan verse las imgenes
con claridad. Valores entre 120 y 3000 suelen ser los normales: 120 para ambientes con mucha luz
(das soleados) y 3000 para ambientes ms oscuros (das nublados, por ejemplo).
9. Pulsando el botn Iniciar podr ver las imgenes de la cmara. Si es necesario modificar el tiempo
de exposicin, pulse el botn Detener, modifique el tiempo y vuelva a pulsar el botn Iniciar, o
utilice las flechas Anterior/Siguiente para decrementos/incrementos de un 20% en el tiempo de

Quercus Technologies 100


Manual de referencia de BirdWatch VL Hardware

exposicin..
10. Ajuste la posicin de la unidad para que visualice la zona deseada.
Se le recomienda seguir los pasos descritos en el subapartado Ubicacin del apartado 3. Pasos
previos a la instalacin para determinar la posicin ptima de la unidad utilizando la herramienta
BWPreviewer.
11. Afloje la rosca ubicada en la lente; rote la lente para enfocar la imagen.
Puede valerse del enfoque digital de la herramienta de diagnstico para un enfoque ms preciso.
Marque el recuadro en la imagen de cmara en vivo la zona que desea enfocar y rote la lente hasta
que el valor del enfoque digital sea el ms alto posible.
Si la unidad est destinada a generar incidencias es especialmente importante que la zona a
enfocar sea la zona dnde aparecern las matrculas en las fotografas. Procure hacer un enfoque
lo ms preciso posible, para que en las fotografas se pueda leer correctamente la matrcula.
12. Una vez compruebe que la imagen es correcta, puede volver a apretar los tornillos de sujecin de la
unidad para que esta quede fija. Apriete tambin la rosca de la lente para que no vare el enfoque
de la misma.

12.3. Configuracin bsica del firmware


Para la configuracin del firmware es imprescindible conectar un cable de red a la unidad.

Si la unidad, una vez configurada, va a usarse con comunicaciones serie y no se desea dejar el cable de red
conectado a la unidad (an sabiendo que es til dejarlo), toda la configuracin se deber realizar con la
unidad abierta. Una vez realizada la configuracin de la unidad (y de las comunicaciones serie) se podr
desconectar el cable de red y cerrar la unidad. En ese caso consulte el apartado 11. Firmware para conocer
todos los parmetros de configuracin de la unidad.

Si en cambio el cable de red va a permanecer conectado a la unidad una vez configurada, sta se podr
cerrar despus de que el cable se haya conectado. La configuracin se podr realizar des de cualquier
mquina conectada a la red, asumiendo que la IP de la unidad es la correcta.

Siga los siguientes pasos:


1. Desde el porttil, con la herramienta de diagnstico o con un navegador web acceda al sistema de
configuracin de la unidad.
2. Introduzca la contrasea (quercus2) y aparecer el men principal.
3. Haga clic en la opcin Configuracin general del sistema .
4. En la variable Communications/CentralSystemHost introduzca la direccin IP de la unidad con la
que deber comunicar la unidad (la que ejecute el software cliente). Este paso no es necesario si va
a usar comunicaciones serie.
5. En la variable Communications/IP introduzca la direccin IP que tendr la unidad en la red. Si la
unidad y el sistema central estn en redes diferentes deber modificar tambin las variables

Quercus Technologies 101


Manual de referencia de BirdWatch VL Hardware

Communications/Gateway y Communications/Netmask.
6. En la variable Global/SystemId introduzca un identificador numrico nico en todo el sistema
BirdWatch. Por ejemplo, si su sistema BirdWatch dispone de tres unidades identifquelas con 1, 2
y 3 respectivamente.
7. En la variable Engine/WayType indique el tipo de va que se va a analizar. Posibles valores: Slow
o Fast. Una va rpida (fast) registra un trnsito fluido durante la mayor parte del tiempo (ejemplo:
autova); por el contrario, una va lenta (slow) registra una trnsito lento o con retenciones con
asiduidad (ejemplo: avenida con semforo).
8. Pulse el botn Guardar cambios.

12.4. Configuracin de los detectores


9. Aade los detectores necesarios segn el procedimiento relatado en el punto 11.2 Configuracin de
los detectores.
10. En el men principal seleccione la opcin Aplicar cambios y reiniciar. Se le pedir confirmacin
para reiniciar. Pulse el botn Aplicar para aceptar y la unidad reiniciar con la nueva configuracin.

Tngase en cuenta que la unidad debe realizar un proceso de calibracin despus de cada reinicio.
Por lo tanto, los primeros vehculos pueden no ser detectados correctamente.

12.5. Cierre de la unidad


Una vez realizada la configuracin bsica, siga los siguientes pasos:
1. Retire el cable de red cruzado de la unidad.
2. Conecte el cable de red definitivo.
3. Coloque la carcasa de la unidad y vuelva a colocar los tornillos de la misma fijndola firmemente.

Quercus Technologies 102


Manual de referencia de BirdWatch VL Programacin

Programacin

En esta seccin se describen todas las alternativas de programacin existentes para BirdWatch . Se
proporciona un conjunto de ejemplos introductorios a la programacin con las diversas libreras, as como
una referencia detallada de las mismas. Tambin se describe el protocolo de comunicaciones de
BirdWatch para las integraciones de ms bajo nivel. Por ltimo se describe el formato de los archivos
resultantes de la generacin de incidencias o sumarios.

El material que engloba esta seccin (librera, protocolo y ejemplos) es compartida por todas la
unidades de la familia BirdWatch (algunas de ellas no descritas en el presente manual). Para evitar
confusiones, el lector encontrar al inicio de cada apartado informacin acerca de qu partes son
aplicables al producto BirdWatch VL o al producto BirdWatch VL Plus.

Quercus Technologies 103


Manual de referencia de BirdWatch VL Programacin

13. Programacin bsica


A continuacin se describen los pasos necesarios para desarrollar un programa mnimo capaz de recibir la
informacin generada en una unidad BirdWatch.

En este captulo se presuponen unos conocimientos bsicos de programacin (C y C++). Si usted trabaja
habitualmente con alguna de estas tecnologas no tendr ningn problema en seguir los ejemplos.

El cdigo fuente de los ejemplos se encuentra en <carpeta instalacin>/Samples.

13.1. C++
El mtodo usado en la librera C++ para generar eventos, de forma que la implementacin quede a cargo de
la aplicacin cliente, es obligando a esta a implementar una clase que cumpla una determinada interfaz.
Cuando se produzca un evento en un detector del sistema BirdWatch (por ejemplo la generacin de una
evento en tiempo real) la librera invocar el mtodo correspondiente (OnRealTimeInfo en este caso). Debe
tener en cuenta que dichos mtodos se invocarn desde hilos (threads) de ejecucin diferentes del hilo
principal, por lo que no podr usarse en su implementacin cdigo que no sea seguro respecto a hilos, o
que no pueda ejecutarse fuera del hilo principal.

A continuacin se muestra un programa bsico en C++ que es capaz de capturar los eventos del sistema
BirdWatch. Corresponde al ejemplo bsico de C++, ubicado en la carpeta Samples del directorio de
instalacin.

/*------------------------------------------,
| Copyright (C) 2010 Quercus Technologies |
| All rights reserved. |
`------------------------------------------*/

#include <stdio.h>
#include "BWWrapperCpp"

using namespace BirdWatch;

class CEventHandler: public ISystemEH


{
public:
virtual void OnRealTimeInfo(RealTimeInfo info)
{
printf("OnRealTimeInfo (%d,%d)",info.get_UnitId(),info.get_DetectorId());
switch(info.get_DetectorType())
{
case DT_SPEED: printf("DT_SPEED\n"); break;
case DT_QUEUE: printf("DT_QUEUE\n"); break;
case DT_PRESENCE: printf("DT_PRESENCE\n"); break;
case DT_RED_LIGHT: printf("DT_RED_LIGHT\n"); break;
}
}

virtual void OnIncidence(Incidence inc)


{
printf("OnIncidence(%d,%d),%d, ",
inc.get_UnitId(),inc.get_DetectorId(),inc.get_Id());

Quercus Technologies 104


Manual de referencia de BirdWatch VL Programacin

switch(inc.get_Type())
{
case IT_WRONG_WAY: printf("IT_WRONG_WAY\n"); break;
case IT_RED_LIGHT_VIOLATION: printf("IT_RED_LIGHT_VIOLATION\n"); break;
}
}

virtual void OnSummary(Summary sum)


{
printf("OnSummary (%d ,%d) ",sum.get_UnitId(),sum.get_DetectorId());
switch(sum.get_DetectorType())
{
case DT_SPEED: printf("DT_SPEED\n"); break;
case DT_QUEUE: printf("DT_QUEUE\n"); break;
case DT_PRESENCE: printf("DT_PRESENCE\n"); break;
case DT_RED_LIGHT: printf("DT_RED_LIGHT\n"); break;
}
}
};

CEventHandler EventHandler;

int main(int argc, char *argv[])


{
if(BirdWatchLoad()==-1) return -1;

if(!System::Initialize("Central.ini","Central.log",&EventHandler))
{
printf("Can't initialize system.\n");
return -1;
}

printf("Press [RETURN] to exit\n");


getchar();

System::Terminate();
BirdWatchUnload();

return 0;
}

Partes que componen el cdigo del ejemplo:

#include BWWrapperCpp

Es el nico fichero de cabecera necesario para interactuar con BirdWatch desde C++.

using namespace BirdWatch;


Usar el espacio de nombres BirdWatch. Todas las clases estn definidas dentro del espacio de nombres
BirdWatch para evitar colisiones de nombres con otras clases.

class CEventHandler: public ISystemEH


Clase que implementar el cdigo cliente que se ejecutar con los eventos. Al hacerla derivar de ISystemEH
se consigue que est obligada a implementar los mtodos abstractos de sta (On...). Si no est interesado
en alguno de los eventos bastar con dejar la implementacin del mtodo correspondiente vaca.

Quercus Technologies 105


Manual de referencia de BirdWatch VL Programacin

CEventHandler EventHandler;
Objeto que capturar los eventos.

if(BirdWatchLoad()==-1) return -1;


Carga de la librera BirdWatch

if(!System::Initialize("Central.ini","Central.log",&EventHandler)) return -1;


Inicializacin de la librera de clases BirdWatch . Este debe ser el primer mtodo que se invoque. Es el
encargado de inicializar el sistema, inicializar el sistema de eventos y establecer comunicaciones con los
sistemas BirdWatch que se hayan configurado en el fichero de inicializacin Central.ini. En el fichero
Central.log se encontrar el registro del funcionamiento del sistema. Como puede comprobarse, el objeto
de tipo CEventHandler, anteriormente creado, se le pasa a la librera como parmetro para que esta pueda
invocar sus mtodos cuando sea necesario.

A partir de este punto, si se pone en marcha el simulador BWSimu o se ha configurado el sistema para
que comunique con sistemas BirdWatch reales, se empezarn a recibir los eventos que estos produzcan.

System::Terminate();
Finalizar la ejecucin de la librera de clases de BirdWatch .

BirdWatchUnload();
Descarga de la librera BirdWatch.

13.1.1. Gestin de memoria


Debe notarse que toda la gestin de memoria de la librera C++ est oculta (mediante el uso de punteros
inteligentes) de forma que el programador pueda despreocuparse de la creacin y destruccin de objetos.
Todos los objetos que componen la librera pueden crearse en la pila, pasarse como parmetros por valor
de funciones, retornarse, etc. sin que ello suponga una prdida de memoria ni de rendimiento. Por ejemplo
la siguiente construccin es perfectamente vlida:

Detector EjemploDeUsoDeObjetos(Unit unit)


{
Detector detectorA, detectorB;

detectorA=unit .get_Detectors().Item(0);
detectorB=detectorA;

return detectorB;
}

Aunque la funcin del ejemplo no contiene cdigo til s puede verse el uso que se hace de los objetos:

Detector EjemploDeUsoDeObjetos(Unit unit);

Quercus Technologies 106


Manual de referencia de BirdWatch VL Programacin

Pueden pasarse dichos objetos como parmetros de funciones sin usar punteros ni referencias y sin
afectar al rendimiento de la aplicacin.
En un sistema de objetos clsico en C++ esta invocacin supondra una penalizacin en el
rendimiento y una fuente potencial de errores ya que se invocara el constructor de copia del objeto
para pasar dicha copia como parmetro de la funcin. Al retornar la funcin se invocara el
destructor de la copia con el consiguiente peligro que esto supone si el objeto contiene,
internamente, punteros.
En BirdWatch todos estos problemas han sido superados, ya que el constructor de copia solamente
implica 4 bytes de memoria y en la destruccin de la copia el objeto real no se destruye mientras
quede alguna copia sin destruir.
detectorA=unit.get_Detectors().Item(0);
detectorB=detectorA;
return detectorB;
Todos los mtodos de BirdWatch devuelven objetos, nunca punteros ni referencias. El programador
puede manipular dicho objeto con total libertad (puede duplicarlo, retornarlo, etc. y seguir siendo
vlido).

13.1.2. Creacin del ejecutable


Visual Studio
Abra el entorno Samples.sln que se encuentra en la carpeta Samples.
Establezca como proyecto activo CppApi_Basic.
Realice el Build del ejecutable.

Linux
Abra una consola.
Sitese en la carpeta Samples/CppApi_Basic.
Ejecute el comando make.

13.2. C
El mtodo usado en la librera C para generar eventos, de forma que la implementacin quede a cargo de la
aplicacin cliente, es obligando a esta a implementar un serie de funciones que cumplan una determinada
interfaz. Cuando se produzca un evento en un detector del sistema BirdWatch (por ejemplo la generacin
de un evento en tiempo real) la librera invocar la funcin correspondiente ( OnRealTimeInfo en este caso).
Debe tener en cuenta que estas funciones se invocarn desde hilos (threads) de ejecucin diferentes del
hilo principal, por lo que no podr usarse en su implementacin cdigo que no sea seguro respecto a hilos o
que no pueda ejecutarse fuera del hilo principal.

A continuacin se muestra un programa bsico en C que es capaz de capturar los eventos del sistema
BirdWatch. Corresponde al ejemplo bsico de C, ubicado en la carpeta Samples del directorio de

Quercus Technologies 107


Manual de referencia de BirdWatch VL Programacin

instalacin.

/*------------------------------------------,
| Copyright (C) 2010 Quercus Technologies |
| All rights reserved. |
`------------------------------------------*/

#include <stdio.h>
#include "BWWrapperC.h"

typedef enum
{
DT_ALL=0,
DT_SPEED=1,
DT_QUEUE=2,
DT_PRESENCE=3,
DT_RED_LIGHT=4
} BWDetectorType;

void __stdcall OnRealTimeInfo(int info)


{
printf("OnRealTimeInfo (%d ,%d)
",RealTimeInfo_get_UnitId(info),RealTimeInfo_get_DetectorId(info));
switch(RealTimeInfo_get_DetectorType(info))
{
case 1: printf("DT_SPEED\n"); break;
case 2: printf("DT_QUEUE\n"); break;
case 3: printf("DT_PRESENCE\n"); break;
case 4: printf("DT_RED_LIGHT\n"); break;
}
}

void __stdcall OnIncidence(int inc)


{
printf("OnIncidence (%d ,%d), %d, ",Incidence_get_UnitId(inc),
Incidence_get_DetectorId(inc),Incidence_get_Id(inc));
switch(Incidence_get_Type(inc))
{
case 0: printf("IT_WRONG_WAY\n"); break;
case 1: printf("IT_RED_LIGHT_VIOLATION\n"); break;
}
}

void __stdcall OnSummary(int sum)


{
printf("OnSummary (%d ,%d) ",Summary_get_UnitId(sum),Summary_get_DetectorId(sum));
switch(Summary_get_DetectorType(info))
{
case 1: printf("DT_SPEED\n"); break;
case 2: printf("DT_QUEUE\n"); break;
case 3: printf("DT_PRESENCE\n"); break;
case 4: printf("DT_RED_LIGHT\n"); break;
}
}

int main(int argc, char *argv[])


{
if(BirdWatchLoad()!=0) return -1;

if(!System_Initialize("Central.ini","Central.log",
OnRealTimeInfo,
OnIncidence,
OnSummary,
NULL,
NULL)) return -1;

printf("Press [RETURN] to exit\n");


getchar();

System_Terminate();

Quercus Technologies 108


Manual de referencia de BirdWatch VL Programacin

BirdWatchUnload();

return 0;
}

Partes que componen el cdigo del ejemplo:

include BWWrapperC.h
include "BW.h"
Ficheros de cabecera necesarios para interactuar con BirdWatch desde C.

void __stdcall OnRealTimenfo(int info)


void __stdcall OnIncidence(int inc)
void __stdcall OnSummary(int sum)

Implementacin del cdigo cliente que se ejecutar con los eventos. Las funciones deben tener
exactamente el mismo formato que se ha definido en el fichero de cabecera BWWrapperC.h o de lo
contrario se producirn errores en tiempo de compilacin. Si no est interesado en alguno de los eventos,
no es necesario implementarlo.

if(SmartLPRLoad()==-1) return -1;


Carga de la librera BirdWatch.

if(!System_Initialize("Central.ini","Central.log", OnRealTimeInfo,
OnIncidence, OnSummary, NULL, NULL)) return -1;
Inicializacin del sistema. Es el encargado de inicializar el sistema, inicializar el sistema de eventos y
establecer comunicaciones con los sistemas BirdWatch que se hayan configurado en el fichero de
inicializacin Central .ini. En el fichero Central .log se encontrar el registro del funcionamiento del
sistema. Como puede comprobarse, las funciones previamente definidas se pasan como parmetros de
esta funcin, para que BirdWatch pueda invocarlas cuando se produzcan eventos.

A partir de este punto, si se pone en marcha el simulador BWSimu o se ha configurado el sistema para
que comunique con sistemas BirdWatch reales, se empezarn a recibir los eventos que estos produzcan.

System_Terminate();
Finalizar la ejecucin de la librera de clases de BirdWatch .

BirdWatchUnload();
Descarga de la librera BirdWatch.

Quercus Technologies 109


Manual de referencia de BirdWatch VL Programacin

13.2.1. Gestin de memoria

La gestin de memoria de la librera C debe manejarse mediante los mtodos AddRef ( ) y Release ( ) de las
clases Detector, TrafficLight, RealTimeInfo, Incidence, Summary e Image:

AddRef
C: void Clase_AddRef ( int h )

La funcin aade una referencia al objeto. Es necesario al hacer una copia del objeto. Cuando no se
necesite ms se deber llamar a la funcin Clase_Release (ver el mtodo Release).
El parmetro h es un manejador de la clase.

Release
C: void Clase_Release ( int h )

La funcin decrementa una referencia al objeto y libera la memoria asignada si el nmero de


referencias queda en cero. Se deber llamar cuando no se necesite ms el objeto al que se le haya
aadido una referencia (ver AddRef); o cuando no se necesite ms un objeto obtenido en la llamada
de una funcin que devuelva el manejador del mismo (internamente, como se explica en dichos
mtodos, el sistema llama al mtodo AddRef de la clase).
El parmetro h es un manejador de la clase.

Ejemplo:

detector = Unit_get_Detectors_Item(unit, 0);// Obtencin del detector

printf( , Detector_get_Id(detector)); // Trabajo con el detector


printf( , Detector_get_UnitId(detector)); // Trabajo con el detector

Detector_Release(detector); // Liberacin del detector

13.2.2. Creacin del ejecutable


Visual Studio
Abra el entorno Samples.sln que se encuentra en la carpeta Samples.
Establezca como proyecto activo CApi_Basic.
Realice el Build del ejecutable.

Linux
Abra una consola.
Sitese en la carpeta Samples/CApi_Basic.
Ejecute el comando make.

Quercus Technologies 110


Manual de referencia de BirdWatch VL Programacin

13.3. Otros ejemplos


En la carpeta <carpeta instalacin>/Samples podr encontrar ms ejemplos de programacin con
BirdWatch. En dicha carpeta podr encontrar un fichero Readme.txt con la descripcin de los ejemplos
que en ella se encuentran.

Quercus Technologies 111


Manual de referencia de BirdWatch VL Programacin

14. Referencia de clases


En la siguiente referencia podr encontrar la sintaxis de los dos mtodos de programacin (C y C++). Como
todos ellos aportan prcticamente la misma funcionalidad estn documentados conjuntamente sealndose
cuando sea necesario las posibles diferencias entre ellos.

14.1. Compatibilidad entre productos BirdWatch


La librera BirdWatch es compartida por todos los productos de la familia BirdWatch . Debido a ello, hay
partes (funciones, clases, eventos) que no son aplicables al producto BirdWatch VL o al producto
BirdWatch VL Plus en concreto. En esta tabla se describen las clases, eventos y tipos tiles para cada tipo
de unidad:

BirdWatch VL BirdWatch VL Plus


Eventos
OnRealTimeInfo
OnSummary
OnIncidence
OnNotification
OnInputChange
Clases
System
Units
Unit
UnitStatus
VersionInfo
Detectors
Detector
PresenceDetector
QueueDetector
SpeedDetector
RedLightDetector
TrafficLights
TrafficLight
HistoricIncidences
HistoricSummaries
RealTimeInfo
Regions
Region
OutputActuators

Quercus Technologies 112


Manual de referencia de BirdWatch VL Programacin

OutputActuator
Lights
Light
Incidence
Images
Image
Summary
SpeedsDistribution
LengthsDistribution
OccupationsDistribution
SpeedsUpperLimit
LengthsUpperLimit
OccupationsUpperLimit
Notification
Timestamp
Tipos
BWDetectorType
BWNotificationCode
BWIncidenceType
BWFieldType
BWOperatorType

14.2. Jerarqua
El sistema sigue la siguiente divisin jerrquica de objetos:

System

n Units

Unit

n n n n

Detectors TrafficLights Historic Historic


Summaries Incidences

Detector TrafficLight Summary Incidence

System: representa la raz del sistema BirdWatch . Proporciona, principalmente, una coleccin de
unidades.
Unit: es la representacin lgica de una unidad. Equivale directamente a una unidad BirdWatch .

Quercus Technologies 113


Manual de referencia de BirdWatch VL Programacin

Detector: es la representacin lgica de una detector. De ella derivan las clases PresenceDetector ,
QueueDetector , SpeedDetector y RedLightDetector.
TrafficLight: es la representacin lgica de una semforo.
Summary: es la representacin lgica de un sumario.
Incidence: es la representacin lgica de una incidencia.

Tngase en cuenta que, en cada modificacin de la configuracin de la unidad BirdWatch , la jerarqua de


objetos de tipo Detector y TrafficLight se regenera a partir de cero. Por lo tanto, cuando se desea hacer un
uso continuado de uno de estos objetos, deber guardarse una referencia al mismo para que este no sea
modificado o destruido.

Ejemplo de cdigo incorrecto (en C++)

printf( , Unit(0).Detector(0).Id); // Primer uso del detector


printf( , Unit(0).Detector(0).Type); // Segundo uso del detector (podra haber cambiado)

Ejemplo de cdigo correcto (en C++)

detector=Unit(0).Detector(0) // Obtencin del detector

printf( , detector.Id); // Primer uso del detector


printf( , detector.Type); // Segundo uso del detector (el detector sigue siendo el mismo)

Ejemplo de cdigo correcto (en C)

detector = Unit_get_Detectors_Item(unit, 0);// Obtencin del detector

printf( , Detector_get_Id(detector)); // Primer uso del detector


printf( , Detector_get_UnitId(detector)); // Segundo uso del detector (sigue siendo el mismo)

Detector_Release(detector); // Libera el detector

14.3. Clases
En C y C++ ser necesario llamar a la funcin BirdWatchLoad ( ) para cargar la librera (antes de cualquier
otra llamada), y BirdWatchUnload ( ) al terminar la ejecucin del programa (despus de la ltima llamada a
funciones de la librera) para descargar la librera.

Todos los valores booleanos que se documentan para la librera de C++ se traducen a la librera de C como:

C++ C
Verdadero Valor entero diferente de cero
Falso cero

14.4. Clase System


Representa la raz de la jerarqua de objetos que componen el sistema BirdWatch .

Quercus Technologies 114


Manual de referencia de BirdWatch VL Programacin

14.4.1. Propiedades
Status
C++: static bool get_Status ( )
C: int System_get_Status ( )

Devuelve el estado del sistema. Ser verdadero si todos los componentes del sistema trabajan
correctamente, o falso si hay error en alguno de ellos.

Units
C++: static Units get_Units( )
C: No existe

En C++ devuelve la coleccin de unidades BirdWatch que forman el sistema.


En C no existe una representacin de la coleccin Units sino mtodos para acceder directamente
a las propiedades de dicha coleccin:
int System_get_Units_Count ( ): nmero de unidades BirdWatch que hay en el sistema.
int System_get_Units_Item ( int item ): devuelve la unidad BirdWatch que hay en la
posicin indicada dentro de la coleccin de unidades BirdWatch del sistema (a partir de
cero).
En C, si no existe un Unit para la unidad indicada devuelve nulo.

14.4.2. Mtodos
Initialize
C++: static bool Initialize ( const char *iniFile, const char *logFile, ISystemEH *systemEH )
C: int System_Initialize)(const char * iniFile, const char* logFile,
ISYSTEMEH_ONREALTIMEINFO, ISYSTEMEH_ONINCIDENCE,ISYSTEMEH_ONSUMMARY,
ISYSTEMEH_ONNOTIFICATION, ISYSTEMEH_ONINPUTCHANGE)

Inicia el sistema con los ficheros de configuracin y de log indicados. Devuelve verdadero si se ha
inicializado correctamente y falso en caso contrario.
En C++ se espera la ruta y el nombre del fichero de configuracin y del fichero de log en los
parmetros iniFile y logFile respectivamente.
En C++ el parmetro systemEH es un puntero a un objeto de una clase derivada de ISystemEH,
necesario para lanzar los eventos.
En C se deben pasar los punteros a las funciones a llamar (callbacks) para poder lanzar los
eventos. La declaracin de estas funciones est indicada en el subapartado de Eventos de esta
clase. Si no necesita capturar alguno de los eventos, puede pasar NULL en lugar del puntero a la
funcin de callback.

Quercus Technologies 115


Manual de referencia de BirdWatch VL Programacin

Terminate
C++: static void Terminate ( )
C: void System_Terminate ( )

Cierra el sistema.

GetUnit
C++: static Unit GetUnit(int unitId)
C: int System_GetUnit (int unitId)

Devuelve la unidad con el identificador indicado.


En C++, si no existe la unidad indicada devuelve una no vlida (vase IsValid de la clase Unit).
En C, si no existe la unidad indicada devuelve nulo.

GetDetector
C++: static Detector GetDetector(int unitId, int detectorId)
C: int System_GetDetector(int unitId, int detectorId)

Devuelve el detector indicado de la unidad indicada.


En C++, si no existe el detector indicado devuelve uno no vlida (vase IsValid de la clase
Detector).
En C, si no existe el detector indicado devuelve nulo.
En C cuando no se necesite ms el elemento se deber llamar a la funcin Detector_Release (ver el
mtodo Release de la clase Detector).

GetTrafficLight
C++: static TrafficLight GetTrafficLight(int unitId,int trafficLightId)
C: int System_GetTrafficLight(int unitId, int trafficLightId)

Devuelve el semforo indicado de la unidad indicada.


En C++, si no existe el semforo indicado devuelve uno no vlido (vase IsValid de la clase
TrafficLight).
En C, si no existe el semforo indicado devuelve nulo.
En C cuando no se necesite ms el elemento se deber llamar a la funcin TrafficLight_Release
(ver el mtodo Release de la clase TrafficLight).

14.4.3. Eventos
En C++ se ha declarado una clase abstracta ISystemEH en la que figura la declaracin de los mtodos que
tratarn los eventos. Deber crearse una clase derivada de ISystemEH e implementar los mtodos

Quercus Technologies 116


Manual de referencia de BirdWatch VL Programacin

correspondientes a los eventos que se desee capturar.


En C debern implementarse las funciones que tratarn los eventos segn la definicin indicada en cada
uno.

OnRealTimeInfo
C++: void OnRealTimeInfo(RealTimeInfo info)
C: void OnRealTimeInfo(int hInfo)

Evento lanzado cuando se produce un evento en tiempo real. El parmetro info recibe los datos
del evento (consulte la clase RealTimeInfo).
En C el parmetro hInfo es un manejador de RealTimeInfo. En el caso de que sea necesario
quedarse con el elemento hInfo fuera del mbito de la funcin, se deber llamar a la funcin
RealTimeInfo_AddRef para aadir una referencia (ver mtodo AddRef de la clase RealTimeInfo), y a
la funcin RealTimeInfo_Release para eliminar la referencia y liberar la memoria cuando no se
necesite ms (ver mtodo Release de la clase RealTimeInfo).

OnIncidence
C++: void OnIncidence(Incidence incidence)
C: void OnIncidence(int hIncidence)

Evento lanzado cuando se recibe una incidencia de una unidad. El parmetro info recibe los datos
del evento (consulte la clase Incidence).
En C el parmetro hIncidence es un manejador de la incidencia. En el caso de que sea necesario
quedarse con el elemento hIncidence fuera del mbito de la funcin, se deber llamar a la funcin
Incidence_AddRef para aadir una referencia (ver mtodo AddRef de la clase Incidence), y a la
funcin Incidence_Release para eliminar la referencia y liberar la memoria cuando no se necesite
ms (ver mtodo Release de la clase Incidence).

OnSummary
C++: void OnSummary(Summary summary)
C: void OnSummary(int hSummary)

Evento lanzado cuando se produce un evento en tiempo real. El parmetro hSummary recibe los
datos del evento (consulte la clase Summary).
En C el parmetro hSummary es un manejador del sumario. En el caso de que sea necesario
quedarse con el elemento hSummary fuera del mbito de la funcin, se deber llamar a la funcin
Summary_AddRef para aadir una referencia (ver mtodo AddRef de la clase Summary), y a la
funcin Summary_Release para eliminar la referencia y liberar la memoria cuando no se necesite
ms (ver mtodo Release de la clase Summary).

Quercus Technologies 117


Manual de referencia de BirdWatch VL Programacin

OnNotification
C++: void OnNotification(Notification notification)
C: void OnNotification(int hNotification)

Evento lanzado cuando se produce un evento en tiempo real. El parmetro hNotification recibe los
datos del evento (consulte la clase Notification).
En C el parmetro hNotification es un manejador de la notificacin.

OnInputChange
C++: void OnInputChange(Unit unit, long bit, bool value)
C: void OnInputChange(int unit, long bit, bool value)

Evento lanzado cuando una entrada programada (entrada no usada como sensor, para la que se ha
establecido, mediante configuracin, que deben notificarse los cambios que en ella se produzcan)
de una tarjeta de E/S ha cambiado de valor.
El parmetro unit es la unidad donde ha ocurrido el evento. El parmetro bit es el nmero de bit
(a partir de cero) que ha cambiado y value es el nuevo valor (verdadero si activo, falso si inactivo).

14.5. Clase Units


Coleccin de unidades BirdWatch del sistema.

14.5.1. Propiedades
Count
C++: int Count ( )
C: No existe, consultar System_get_Units_Count ( ) de System.

Nmero de unidades BirdWatch que hay en el sistema.

Item
C++: Unit Item ( int item )
C: No existe, consultar System_get_Unit_Item ( ) de System.

Devuelve la unidad BirdWatch que hay en la posicin indicada dentro de la coleccin de unidades
del sistema. La posicin que ocupa cada unidad dentro del sistema corresponde con el ndice
definido en el fichero de inicializacin del sistema.
En C++, si no existe un Unit para la posicin indicada devuelve uno no vlido (vase IsValid de la
clase Unit).
En C++, en el parmetro item se debe indicar la posicin (la primera posicin es cero).

Quercus Technologies 118


Manual de referencia de BirdWatch VL Programacin

14.6. Clase Unit


Representa una unidad del sistema BirdWatch.

14.6.1. Propiedades
Id
C++: long get_Id ( )
C: int Unit_get_Id (int h)

Identificador nico de la unidad.


En C el parmetro h es un manejador de la unidad (Unit).

Status
C++: UnitStatus get_Status ( )
C: int Unit_get_Status (int h)

Devuelve el estado de la unidad.


En C el parmetro h es un manejador de la unidad (Unit).

Detectors
C++: Detectors get_Detectors()
C: No existe

En C++ devuelve la coleccin de detectores de la unidad.


En C no existe una representacin de la coleccin Detectors sino mtodos para acceder
directamente a las propiedades de dicha coleccin:
Int Unit_get_Detectors_Count(int h): devuelve el nmero de detectores que hay en el la
unidad h.
int Unit_get_Detectors_Item(int h, int item): devuelve el detector que hay en la posicin
indicada dentro de la coleccin de detectores de la unidad h (a partir de cero).
En C el parmetro h es un manejador de la unidad (Unit).
En C, si no existe un Detector para el detector indicado devuelve nulo.
En C cuando no se necesite ms el elemento se deber llamar a la funcin
Detector_Release (ver el mtodo Release de la clase Detector).

TrafficLights
C++: TrafficLights get_TrafficLights()
C: No existe

En C++ devuelve la coleccin de semforos de la unidad.

Quercus Technologies 119


Manual de referencia de BirdWatch VL Programacin

En C no existe una representacin de la coleccin TrafficLights sino mtodos para acceder


directamente a las propiedades de dicha coleccin:
int Unit_get_TrafficLights_Item(int h, int item): devuelve el nmero de semforos que hay en
la unidad h.
int Unit_get_TrafficLights_Count(int h): devuelve el semforos que hay en la posicin
indicada dentro de la coleccin de semforos de la unidad h (a partir de cero).
El parmetro h es un manejador de la unidad (Unit).
Cuando no se necesite ms el elemento se deber llamar a la funcin TrafficLight_Release
(ver el mtodo Release de la clase TrafficLight).

HistoricIncidences
C++: HistoricIncidences get_HistoricIncidences()
C: int Unit_get_HistoricIncidences(int h)

Devuelve el histrico de incidencias de la unidad.


En C el parmetro h es un manejador de la unidad (Unit).

HistoricSummaries
C++: HistoricSummaries get_HistoricSummaries()
C: int Unit_get_HistoricSummaries(int h)

Devuelve el histrico de sumarios de la unidad.


En C el parmetro h es un manejador de la unidad (Unit).

14.6.2. Mtodos
IsValid
C++: bool IsValid ( )
C: No existe

Devuelve verdadero si el objeto contiene informacin vlida sobre una unidad, y falso si la
informacin no es vlida. Algunas funciones pueden retornar, en algunos casos, unidades vacas.
En C esto se detecta porque su valor ser cero. En C++, en cambio, es necesario este mtodo ya
que el objeto, al no tratarse de un puntero, siempre ser correcto.

Reboot
C++: void Reboot ( )
C: void Unit_Reboot ( int h )

Reinicia la unidad.
En C, el parmetro h es un manejador de la unidad (Unit).

Quercus Technologies 120


Manual de referencia de BirdWatch VL Programacin

GetSnapshot
C++: bool GetSnapshot( int roiRight, int roiTop, int roiLeft, int roiBottom, int
exposureTime, bool zoom, int maxImageLen, unsigned char* pImageData, int *imageLen, int *focus,
int *numDetectors, int detectors[], int *numRedLights, int redLights[], int *inputValues, int
*outputValues);
C: int Unit_GetSnapshot(int h, int roiRight, int roiTop, int roiLeft, int roiBottom, int
exposureTime, int zoom, int maxImageLen, unsigned char* pImageData, int* imageLen, int *focus,
int *numDetectors, int detectors[],int *numRedLights,int redLights[],int *inputValues,int
*outputValues)

Realiza una radiografa general de la unidad. Devuelve una captura en blanco y negro de 0.3Mp
(640 pxeles de ancho y 480 de alto) en jpeg y un estado completo de los detectores, semforos y
entradas y salidas digitales.
Devuelve verdadero si se ha respondido con xito o falso si ha habido problemas.

El contenido de la imagen y el valor de focus (coeficiente de enfoque digital) variarn, dependiendo


del valor de los parmetros de entrada:
Zoom a falso, rectngulo incorrecto: la imagen obtenida corresponder al a totalidad de la
imagen capturada por la unidad. El valor de focus no se calcular (-1).
Zoom a falso, rectngulo correcto: la imagen obtenida corresponder a la totalidad de la
imagen capturada por la unidad. Se calcular focus a partir del rectngulo en la imagen.
Zoom a cierto, rectngulo incorrecto: combinacin incorrecta; se devolver falso.
Zoom a cierto, rectngulo correcto: la imagen obtenida corresponder a una zona de la
imagen capturada ampliada. La posicin central del rectngulo coincidir con la posicin central
de la zona ampliada. Se calcular focus a partir de la zona ampliada.

Parmetros de entrada:
int roiRight: valor X (eje horizontal) del lado derecho del rectngulo; para no definirlo, indicar -1.
int roiTop: valor Y (eje vertical) del lado superior del rectngulo; para no definirlo, indicar -1.
int roiLeft: valor X (eje horizontal) del lado derecho del rectngulo; para no definirlo, indicar -1.
int roiBottom: valor Y (eje vertical) del lado inferior del rectngulo; para no definirlo, indicar -1.
int exposureTime: tiempo de exposicin de la cmara para la captura.
bool zoom: indica si la imagen obtenida debe ser la capturada por la unidad (falso) o una ampliacin
de esta (cierto).
int maxImageLen: indica el tamao del buffer pImageData. Este es un parmetro de seguridad; si el
tamao del buffer es insuficiente, no se llenar y se devolver falso.

Parmetros de salida:
unsigned char* pImageData: puntero donde se almacenar la imagen capturada. Esta tendr un

Quercus Technologies 121


Manual de referencia de BirdWatch VL Programacin

tamao mximo de 524288 bytes.


int* imageLen: tamao de la imagen obtenida; en bytes.
int *focus: coeficiente de enfoque digital calculado; -1 si no se ha calculado.
int *numDetectors: nmero de detectores configurados.
int detectors[]: tabla con el estado de los lazos de cada uno de los detectores; aunque el tamao de
esta debe ser de 15, tan solo estarn escritas las primeras numDetectors posiciones. Los detectores
estarn dispuestos en el mismo orden en el que se hayan configurado y cada posicin detallar el
estado de los lazos de ste bit a bit. El bit de menos peso corresponder al primer lazo. Posibles
valores: 1 ocupado, 0 desocupado.
int *numRedLights: nmero de semforos configurados.
int redLights[]: tabla con el estado de cada uno de los semforos; aunque el tamao de esta debe
ser de 5, tan solo estarn escritas las primeras numRedLights posiciones. Los semforos estarn
dispuestos en el mismo orden en el que se hayan configurado. Posibles valores: 0 en rojo, otro
valor en otro estado.
int *outputs: estado de las 4 salidas digitales. Cada uno de los primeros 4 bits corresponder al
estado de una salida, siendo el bit de menos peso para la salida cero. Posibles valores: 1 activada,
0 desactivada.
int *inputs: estado de las 4 entradas digitales. Cada uno de los primeros 4 bits corresponder al
estado de una entrada, siendo el bit de menos peso para la entrada cero. Posibles valores: 1
activada, 0 desactivada.

En C, el parmetro h es un manejador de la unidad (Unit).

ActivateOutput
C++: bool ActivateOutput(int bit, int time)
C: int Unit_ActivateOutput(int h, int bit, int time)

Activa la salida digital bit el tiempo especificado en milisegundos.


En C, el parmetro h es un manejador de la unidad (Unit).

GetIOCardValues
C++: bool GetIOCardValues(int &inputValues,int &outputValues)
C: int Unit_GetIOCardValues(int h, int *inputValues, int *outputValues)

Informa del estado de las entradas y salidas digitales. Cada uno de los primeros 4 bits de
intputValues/outputValues corresponder al estado de una entrada/salida, siendo el bit de menos
peso para la entrada/salida cero. Posibles valores: 1 activada, 0 desactivada.
Devuelve verdadero si se ha respondido con xito o falso si ha habido problemas.
En C, el parmetro h es un manejador de la unidad (Unit).

GetVersion

Quercus Technologies 122


Manual de referencia de BirdWatch VL Programacin

C++: VersionInfo GetVersion()


C: int Unit_GetVersion(int h)

Devuelve la versin del firmware de la unidad.


En C, el parmetro h es un manejador de la unidad (Unit).

GetRealTimeInfo
C++: RealTimeInfo GetRealTimeInfo(int detectorId)
C: int Unit_GetRealTimeInfo(int h,int detectorId)

Devuelve el ltimo evento en tiempo real de la unidad especificada


En C++, si no existe un evento en tiempo real para la posicin indicada devuelve uno no vlido
(vase IsValid de la clase RealTimeInfo).
En C, el parmetro h es un manejador de la unidad (Unit).
En C, si no existe un evento en tiempo real para el detector indicado devuelve nulo.
En C, cuando no se necesite ms el elemento se deber llamar a la funcin RealTimeInfo_Release
(ver el mtodo Release de la clase RealTimeInfo).

SetUnitTasks
C++: bool SetUnitTasks(bool sendInputChanges)
C: int Unit_SetUnitTasks(int h, int sendInputChanges)

Configura el estado de las tareas de la unidad. La unidad notificar al sistema central de los
cambios en las entradas digitales si sendInputChanges es cierto; si es falso no lo har.
Devuelve verdadero si la peticin se ha realizado con xito o falso si ha habido problemas.
En C, el parmetro h es un manejador de la unidad (Unit).

SetDetectorTasks
C++: bool SetDetectorTasks(int id, bool enableSummaries, bool enableIncidences, bool
sendSummaries, bool sendIncidences, bool sendRealTimeInfo)
C: int Unit_SetDetectorTasks(int h, int id, bool enableSummaries, bool
enableIncidences, bool sendSummaries, bool sendIncidences, bool sendRealTimeInfo)

Configura el estado de las tareas del detector indicado (id).


Devuelve verdadero si la peticin se ha realizado con xito o falso si ha habido problemas.
En C, el parmetro h es un manejador de la unidad (Unit).

GetUnitTasks
C++: bool GetUnitTasks(bool *sendInputChanges)
C: int Unit_GetUnitTasks(int h, int *sendInputChanges)

Quercus Technologies 123


Manual de referencia de BirdWatch VL Programacin

Informa sobre el estado de las tareas de la unidad.


Devuelve verdadero si la peticin se ha realizado con xito o falso si ha habido problemas.
En C, el parmetro h es un manejador de la unidad (Unit).

GetDetectorTasks
C++: bool GetDetectorTasks(int id, int id, bool *enableSummaries, bool
*enableIncidences, bool *sendSummaries, bool *sendIncidences, bool *sendRealTimeInfo)
C: int Unit_GetDetectorTasks(int h, int id, int *enableSummaries, int *enableIncidences,
int *sendSummaries, int *sendIncidences, int *sendRealTimeInfo)

Informa sobre el estado de las tareas del detector indicado (id).


Devuelve verdadero si la peticin se ha realizado con xito o falso si ha habido problemas.
En C, el parmetro h es un manejador de la unidad (Unit).

14.7. Clase UnitStatus


Estado de la unidad.

14.7.1. Propiedades
Global
C++: bool get_Status()
C: int UnitStatus_get_Status(int h)

Estado global de la unidad. Retorna verdadero si el estado del sistema de la unidad es correcto,
falso en caso contrario.
En C el parmetro h es un manejador de UnitStatus.

Communication
C++: bool get_Communication( )
C: int UnitStatus_get_Communication(int h)

Estado de la comunicacin con la unidad. Verdadero si se ha podido establecer comunicacin, falso


en caso contrario.
En C el parmetro h es un manejador de UnitStatus.

14.8. Clase VersionInfo


Versin del firmware de una unidad.

Quercus Technologies 124


Manual de referencia de BirdWatch VL Programacin

14.8.1. Propiedades
Name
C++: void get_Name(char *buf, int bufLen)
C: void VersionInfo_get_Name(int h, char *buf, int bufLen)

Informa del nombre de la versin.


En C, el parmetro h es un manejador de VersionInfo.

Major
C++: long get_Major()
C: long VersionInfo_get_Major(int h)

Informa del valor Major de la versin.


En C, el parmetro h es un manejador de VersionInfo.

Minor
C++: long get_Minor()
C: long VersionInfo_get_Minor(int h)

Informa del valor Minor de la versin.


En C, el parmetro h es un manejador de VersionInfo.

Revision
C++: long get_Revision()
C: long VersionInfo_get_Revision(int h)

Informa del valor Revision de la versin.


En C, el parmetro h es un manejador de VersionInfo.

14.9. Clase Detectors


Coleccin de detectores que hay en el la unidad BirdWatch .

14.9.1. Propiedades
Count
C++: int Count ( )
C: No existe, consultar Unit_get_Detectors_Count(int h) de Unit.

Nmero de detectores que hay en el la unidad BirdWatch .

Quercus Technologies 125


Manual de referencia de BirdWatch VL Programacin

Item
C++: Detector Item ( int item )
C: No existe, consultar Unit_get_Detectors_Item(int h, int item) de Unit.

Devuelve el detector que hay en la posicin indicada dentro de la coleccin de detectores de la


unidad BirdWatch; estn en el mismo orden en que han sido configurados.
En C++, en el parmetro item se debe indicar la posicin (la primera posicin es cero).
En C++, si no existe un Detector para la posicin indicada devuelve uno no vlido (vase IsValid de
la clase Detector).

14.10. Clase Detector


Representacin lgica de un detector.

14.10.1. Propiedades
UnitId
C++: int get_UnitId()
C: int Detector_get_UnitId(int h)

Devuelve el identificador de la unidad a la cual pertenece el detector.


En C, el parmetro h es un manejador del detector (Detector).

Id
C++: int get_Id()
C: int Detector_get_Id(int h)

Devuelve el identificador del detector.


En C, el parmetro h es un manejador del detector (Detector).

Type
C++: BWDetectorType get_Type()
C: int Detector_get_Type(int h)

Devuelve el tipo de detector.


En C, el parmetro h es un manejador del detector (Detector).

AreIncidencesEnabled
C++: bool get_AreIncidencesEnabled()
C: int Detector_get_AreIncidencesEnabled(int h)

Quercus Technologies 126


Manual de referencia de BirdWatch VL Programacin

Devuelve verdadero si la generacin de incidencias est activada y falso si no lo est.


En C, el parmetro h es un manejador del detector (Detector).

AreSummariesEnabled
C++: bool get_AreSummariesEnabled()
C: int Detector_get_AreSummariesEnabled(int h)

Devuelve verdadero si la generacin de sumarios est activada y falso si no lo est.


En C, el parmetro h es un manejador del detector (Detector).

SendRealTimeInfo
C++: bool get_SendRealTimeInfo()
C: int Detector_get_SendRealTimeInfo(int h)

Devuelve verdadero si el envo de eventos en tiempo real est activado y falso si no lo est.
En C, el parmetro h es un manejador del detector (Detector).

SendIncidences
C++: bool get_SendIncidences()
C: int Detector_get_SendIncidences(int h)

Devuelve verdadero si el envo de incidencias est activado y falso si no lo est.


En C, el parmetro h es un manejador del detector (Detector).

SendSummaries
C++: bool get_SendSummaries()
C: int Detector_get_SendSummaries(int h)

Devuelve verdadero si el envo de sumarios est activado y falso si no lo est.


En C, el parmetro h es un manejador del detector (Detector).

SummariesPeriod
C++: int get_SummariesPeriod()
C: int Detector_get_SummariesPeriod(int h)

Devuelve el periodo de los sumarios configurado; en minutos.


En C, el parmetro h es un manejador del detector (Detector).

Coordinates
C++: Region get_Coordinates()

Quercus Technologies 127


Manual de referencia de BirdWatch VL Programacin

C: int Detector_get_Coordinates(int h)

Devuelve las coordenadas del detector.


En C, el parmetro h es un manejador del detector (Detector).

LoopsCoordinates
C++: Regions get_LoopsCoordinates()
C: No existe

En C++ devuelve la coleccin de coordenadas de los lazos que forman el detector.


En C no existe una representacin de la coleccin Regions sino mtodos para acceder
directamente a las propiedades de dicha coleccin:
int Detector_get_LoopsCoordinates_Count(int h): nmero de lazos configurados en el
detector.
int Detector_get_LoopsCoordinates_Item(int h, int item): devuelve las coordenadas de la
posicin indicada dentro de la coleccin de coordenadas de los lazos del detector (a partir
de cero). El parmetro de retorno es un manejador de dichas coordenadas (Region).
El parmetro h es un manejador del detector (Detector).

OutputActuators
C++: OutputActuators get_OutputActuators()
C: No existe

En C++ devuelve la coleccin de actuadores de salida que forman el detector.


En C no existe una representacin de la coleccin OutputActuators sino mtodos para acceder
directamente a las propiedades de dicha coleccin:
int Detector_get_OutputActuators_Count(int h): nmero de actuadores de salida que hay en
el detector.
int Detector_get_OutputActuators_Item(int h, int item): devuelve el actuador de salida que
hay en la posicin indicada dentro de la coleccin de actuadores de salida del detector (a
partir de cero).
En C, el parmetro h es un manejador del detector (Detector).

14.10.2. Mtodos
IsValid
C++: bool IsValid()
C: No existe

Devuelve verdadero si el objeto contiene informacin vlida sobre un Detector, y falso si la


informacin no es vlida. Algunos mtodos pueden retornar, en algunos casos, detectores vacos.

Quercus Technologies 128


Manual de referencia de BirdWatch VL Programacin

En C esto se detecta porque su valor ser cero. En C++, en cambio, es necesario este mtodo ya
que el objeto, al no tratarse de un puntero, siempre ser correcto.

AddRef
C++: No existe
C: void Detector_AddRef ( int h )

Ver 13.2.1. Gestin de memoria.

Release
C++: No existe
C: void Detector_Release ( int h )

Ver 13.2.1. Gestin de memoria.

14.11. Clase PresenceDetector


Representacin lgica de un detector de tipo presencia.
Esta clase deriva de la clase Detector, por lo que hereda todos sus mtodos y propiedades. Tiene
implementado el operador de asignacin para usar un detector genrico como detector de presencia.

Ejemplo en C++

if(detector.get_Type() == DT_PRESENCE)
{
PresenceDetector detectorDePresencia;

detectorDePresencia = detector; // Operador de asignacin

TratarDetectorDePresencia(detectorDePresencia);
}

Ejemplo en C

if(Detector_get_Type(hDetector) == PRESENCE)
{
TratarDetectorDePresencia(hDetector);
}

14.12. Clase QueueDetector


Representacin lgica de un detector de tipo cola.
Esta clase deriva de la clase Detector, por lo que hereda todos sus mtodos y propiedades. Tiene
implementado el operador de asignacin para usar un detector genrico como detector de cola.

Ejemplo en C++

Quercus Technologies 129


Manual de referencia de BirdWatch VL Programacin

if(detector.get_Type() == DT_QUEUE)
{
QueueDetector detectorDeCola;

detectorDeCola = detector; // Operador de asignacin

TratarDetectorDeCola(detectorDeCola);
}

Ejemplo en C

if(Detector_get_Type(hDetector) == DT_QUEUE)
{
TratarDetectorDeCola(hDetector);
}

14.13. Clase SpeedDetector


Representacin lgica de un detector de tipo velocidad.
Esta clase deriva de la clase Detector, por lo que hereda todos sus mtodos y propiedades. Tiene
implementado el operador de asignacin para usar un detector genrico como detector de velocidad.

Ejemplo en C++

if(detector.get_Type() == DT_SPEED)
{
SpeedDetector detectorDeVelocidad;

detectorDeVelocidad = detector; // Operador de asignacin

TratarDetectorDeVelocidad(detectorDeVelocidad);
}

Ejemplo en C

if(Detector_get_Type(hDetector) == DT_SPEED)
{
TratarDetectorDeVelocidad(hDetector);
}

14.13.1. Propiedades
CalculateMetrics
C++: bool get_CalculateMetrics()
C: int SpeedDetector_get_ CalculateMetrics (int h)

Devuelve cierto si el detector tiene habilitada la opcin de calcular la mtrica.


En C, el parmetro h es un manejador del detector (SpeedDetector).

Distance
C++: int get_Distance()
C: int SpeedDetector_get_Distance (int h)

Quercus Technologies 130


Manual de referencia de BirdWatch VL Programacin

Devuelve la distancia de la cmara hasta el detector; en milmetros.


En C, el parmetro h es un manejador del detector (SpeedDetector).

Length
C++: int get_Length()
C: int SpeedDetector_get_Length(int h)

Devuelve la longitud del detector; en milmetros.


En C, el parmetro h es un manejador del detector (SpeedDetector).

14.14. Clase RedLightDetector


Representacin lgica de un detector de tipo paso en rojo.
Esta clase deriva de la clase Detector, por lo que hereda todos sus mtodos y propiedades. Tiene
implementado el operador de asignacin para usar un detector genrico como detector de paso en rojo.

Ejemplo en C++

if(detector.get_Type() == DT_RED_LIGHT)
{
TrafficLightDetector detectorDePasoEnRojo;

detectorDePasoEnRojo = detector; // Operador de asignacin

TratarDetectorDePasoEnRojo(detectorDePasoEnRojo);
}

Ejemplo en C

if(Detector_get_Type(hDetector) == DT_RED_LIGHT)
{
TratarDetectorDePasoEnRojo(hDetector);
}

14.14.1. Propiedades
CalculateMetrics
C++: bool get_CalculateMetrics()
C: int RedLightDetector_get_ CalculateMetrics (int h)

Devuelve cierto si el detector tiene habilitada la opcin de calcular la mtrica.


En C, el parmetro h es un manejador del detector (RedLightDetector).

Distance
C++: int get_Distance()
C: int RedLightDetector_get_Distance (int h)

Quercus Technologies 131


Manual de referencia de BirdWatch VL Programacin

Devuelve la distancia de la cmara hasta el detector; en milmetros.


En C, el parmetro h es un manejador del detector (RedLightDetector).

Length
C++: int get_Length()
C: int RedLightDetector_get_Length(int h)

Devuelve la longitud del detector; en milmetros.


En C, el parmetro h es un manejador del detector (RedLightDetector).

DelayTime
C++: int get_DelayTime()
C: int RedLightDetector_get_DelayTime(int h)

Devuelve el tiempo mnimo que debe pasar, desde la activacin de la seal de prohibicin de paso
hasta la infraccin de la incidencia, para que esta se genere; en milisegundos.
En C, el parmetro h es un manejador del detector (RedLightDetector).

TrafficLightId
C++: int get_TrafficLightId()
C: int RedLightDetector_get_TrafficLightId(int h)

Devuelve el identificador del semforo utilizado para la seal de prohibicin de paso. Si no se ha


configurado un semforo, sino una entrada digital (ver Input de RedLightDetector), devolver -1.
En C, el parmetro h es un manejador del detector (RedLightDetector).

Input
C++: int get_Input()
C: int RedLightDetector_get_Input(int h)

Devuelve el identificador de la entrada digital utilizada para la seal de prohibicin de paso . Si no se


ha configurado una entrada digital, sino un semforo (ver TrafficLightId de RedLightDetector),
devolver -1.
En C, el parmetro h es un manejador del detector (RedLightDetector).

14.15. Clase TrafficLights


Coleccin de semforos configurados en la unidad BirdWatch .

Quercus Technologies 132


Manual de referencia de BirdWatch VL Programacin

14.15.1. Propiedades
Count
C++: int Count ( )
C: No existe, consultar Unit_get_TrafficLights_Count(int h) de Unit

Nmero de semforos que hay en el la unidad BirdWatch .

Item
C++: TrafficLight Item ( int item )
C: No existe, consultar Unit_get_TrafficLights_Item(int h, int item) de Unit

Devuelve el semforo que hay en la posicin indicada dentro de la coleccin de semforo de la


unidad BirdWatch. ; estn en el mismo orden en que han sido configurados.
El parmetro item se debe indicar la posicin (la primera posicin es cero). Si no existe un
semforo para la posicin indicada devuelve uno no vlido (vase IsValid de la clase TrafficLight).

14.16. Clase TrafficLight


Representacin lgica de un semforo.

14.16.1. Propiedades
UnitId
C++: int get_UnitId()
C: int TrafficLight_get_UnitId(int h)

Devuelve el identificador de la unidad a la cual pertenece el semforo.


En C, el parmetro h es un manejador del semforo (TrafficLight).

Id
C++: int get_Id()
C: int TrafficLight_get_Id(int h)

Devuelve el identificador del semforo.


En C, el parmetro h es un manejador del semforo (TrafficLight).

NumTLStates
C++: int get_NumLights()
C: int TrafficLight_get_NumLights(int h)

Devuelve el nmero de luces configuradas en el semforo.

Quercus Technologies 133


Manual de referencia de BirdWatch VL Programacin

En C, el parmetro h es un manejador del semforo (TrafficLight).

Lights
C++: TLStates get_Lights()
C: No existe

En C++ devuelve la coleccin de luces que forman el semforo.


En C no existe una representacin de la coleccin Lights sino mtodos para acceder directamente
a las propiedades de dicha coleccin:
int TrafficLight_get_Lights_Count(int h): nmero de luces que hay en el semforo.
int TrafficLight_get_Lights_Item(int h, int item): devuelve la luz que hay en la posicin
indicada dentro de la coleccin de luces del semforo (a partir de cero).
En C, el parmetro h es un manejador del semforo (TrafficLight).

14.16.2. Mtodos
IsValid
C++: bool IsValid()
C: No existe

Devuelve verdadero si el objeto contiene informacin vlida sobre un semforo, y falso si la


informacin no es vlida. Algunos mtodos pueden retornar, en algunos casos, semforos vacos.
En C esto se detecta porque su valor ser cero. En C++, en cambio, es necesario este mtodo ya
que el objeto, al no tratarse de un puntero, siempre ser correcto.

AddRef
C++: No existe
C: void TrafficLight_AddRef ( int h )

Ver 13.2.1. Gestin de memoria.

Release
C++: No existe
C: void TrafficLight_Release ( int h )

Ver 13.2.1. Gestin de memoria.

14.17. Clase HistoricIncidences


Histrico de incidencias de una unidad.

Quercus Technologies 134


Manual de referencia de BirdWatch VL Programacin

14.17.1. Propiedades
Current
C++: Incidence get_Current()
C: int HistoricIncidence_get_Current(int h)

Devuelve la incidencia seleccionada del histrico. Para cambiar de incidencia seleccionada existen
los mtodos MoveFirst, MoveNext, MovePrevious y MoveLast. La incidencia seleccionada siempre
cumplir el filtro aplicado (ver el mtodo SetFilter de la clase HistoricIncidences).
En C++, si no existe ninguna incidencia disponible devuelve una no vlida (vase IsValid de la clase
Incidence).
En C el parmetro h es un manejador del histrico de incidencias (HistoricIncidences). Devuelve
un manejador de la incidencia (Incidence).
En C cuando no se necesite ms el elemento se deber llamar a la funcin Incidence_Release (ver
el mtodo Release de la clase Incidence).
En C, si no existe una incidencia disponible devuelve nulo.

14.17.2. Mtodos
MoveFirst
C++: void MoveFirst()
C: void HistoricIncidences_MoveFirst(int h)

Asigna a la propiedad Current la informacin de la primera incidencia del histrico que cumpla el
filtro aplicado (ver el mtodo SetFilter de la clase HistoricIncidences).
En C el parmetro h es un manejador del histrico de incidencias (HistoricIncidences).

MoveNext
C++: bool MoveNext()
C: int HistoricIncidences_MoveNext(int h)

Asigna a la propiedad Current la informacin de la siguinte incidencia del histrico que cumpla el
filtro aplicado (ver el mtodo SetFilter de la clase HistoricIncidences).
En C el parmetro h es un manejador del histrico de incidencias (HistoricIncidences).

MovePrevious
C++: bool MovePrevious()
C: int HistoricIncidences_MovePrevious(int h)

Asigna a la propiedad Current la informacin de la anterior incidencia del histrico que cumpla el
filtro aplicado (ver el mtodo SetFilter de la clase HistoricIncidences).

Quercus Technologies 135


Manual de referencia de BirdWatch VL Programacin

En C el parmetro h es un manejador del histrico de incidencias (HistoricIncidences).

MoveLast
C++: void MoveLast()
C: void HistoricIncidences_MoveLast(int h)

Asigna a la propiedad Current la informacin de la ltima incidencia del histrico que cumpla el filtro
aplicado (ver el mtodo SetFilter de la clase HistoricIncidences).
En C el parmetro h es un manejador del histrico de incidencias (HistoricIncidences).

SetFilter
C++: void SetFilter(BWDetectorType detectorType,int detectorId)
C: void HistoricInc_SetFilter(int h,int detectorType,int detectorId)

Asigna un filtro al histrico de incidencias, de modo que tan solo las incidencias que cumplan los
requisitos indicados sern seleccionables. El filtro se define mediante las variables:
detectorType: tipo de detector.
DetectorId: identificador del detector.
En C el parmetro h es un manejador del histrico de incidencias (HistoricIncidences).

14.18. Clase HistoricSummaries


Histrico de sumarios de una unidad.

14.18.1. Propiedades
Current
C++: Summary get_Current()
C: int HistoricSummaries_get_Current(int h)

Devuelve el sumario seleccionado del histrico. Para cambiar de sumario seleccionado existen los
mtodos MoveFirst, MoveNext, MovePrevious y MoveLast. El sumario seleccionado siempre
cumplir el filtro aplicado (ver el mtodo SetFilter de la clase HistoricSummaries).
En C++, si no existe ningn sumario disponible devuelve uno no vlido (vase IsValid de la clase
Summary).
En C el parmetro h es un manejador del histrico de sumarios (HistoricSummaries). Devuelve un
manejador del sumario (Summary).
En C cuando no se necesite ms el elemento se deber llamar a la funcin Summary_Release (ver
el mtodo Release de la clase Summary).
En C, si no existe un sumario disponible devuelve nulo.

Quercus Technologies 136


Manual de referencia de BirdWatch VL Programacin

14.18.2. Mtodos
MoveFirst
C++: void MoveFirst()
C: void HistoricSummaries_MoveFirst(int h)

Asigna a la propiedad Current la informacin del ltimo sumario del histrico que cumpla el filtro
aplicado (ver el mtodo SetFilter de la clase HistoricSummaries).
En C el parmetro h es un manejador del histrico de sumarios (HistoricSummaries).

MoveNext
C++: bool MoveNext()
C: int HistoricSummaries_MoveNext(int h)

Asigna a la propiedad Current la informacin del siguiente sumario del histrico que cumpla el filtro
aplicado (ver el mtodo SetFilter de la clase HistoricSummaries).
En C el parmetro h es un manejador del histrico de sumarios (HistoricSummaries).

MovePrevious
C++: bool MovePrevious()
C: int HistoricSummaries_MovePrevious(int h)

Asigna a la propiedad Current la informacin del anterior sumario del histrico que cumpla el filtro
aplicado (ver el mtodo SetFilter de la clase HistoricSummaries).
En C el parmetro h es un manejador del histrico de sumarios (HistoricSummaries).

MoveLast
C++: void MoveLast()
C: void HistoricSummaries_MoveLast(int h)

Asigna a la propiedad Current la informacin del ltimo sumario del histrico que cumpla el filtro
aplicado (ver el mtodo SetFilter de la clase HistoricSummaries).
En C el parmetro h es un manejador del histrico de sumarios (HistoricSummaries).

SetFilter
C++: void SetFilter(BWDetectorType detectorType,int detectorId);void
C: void HistoricSummaries_SetFilter(int h,int detectorType,int detectorId)

Asigna un filtro al histrico de sumarios, de modo que tan solo los sumarios que cumplan los
requisitos indicados sern seleccionables.El filtro se define mediante las variables:
detectorType: tipo de detector.

Quercus Technologies 137


Manual de referencia de BirdWatch VL Programacin

DetectorId: identificador del detector.


En C el parmetro h es un manejador del histrico de sumarios (HistoricSummaries).

14.19. Clase RealTimeInfo


Informacin acerca de un evento en tiempo real generado por la unidad.
Dependiendo del tipo de evento generado se usan unos campos u otros. Los campos que no aportan
informacin en un evento tienen el valor -1.

14.19.1. Propiedades
UnitId
C++: int get_UnitId()
C: int RealTimeInfo_get_UnitId(int h)

Devuelve el identificador de la unidad en la cual se ha generado el evento.


En C, el parmetro h es un manejador de la informacin de tiempo real (RealTimeInfo).

DetectorId
C++: int get_DetectorId()
C: int RealTimeInfo_get_DetectorId(int h)

Devuelve el identificador del detector en el cual se ha generado el evento.


En C, el parmetro h es un manejador de la informacin de tiempo real (RealTimeInfo).

DetectorType
C++: BWDetectorType get_DetectorType()
C: int RealTimeInfo_get_DetectorType(int h)

Devuelve el tipo de detector en el cual se ha generado el evento.


En C, el parmetro h es un manejador de la informacin de tiempo real (RealTimeInfo).

Timestamp
C++: Timestamp get_Timestamp()
C: No existe

En C++ devuelve el momento en que la unidad BirdWatch gener la informacin de tiempo real.
En C no existe una representacin de la clase Timestamp sino mtodos para acceder
directamente a las propiedades de dicha clase:
int RealTimeInfo_get_Timestamp_Seconds(int h): fecha y hora en que se ha generado la
informacin de tiempo real, indicando los segundos transcurridos desde las 00:00 horas del

Quercus Technologies 138


Manual de referencia de BirdWatch VL Programacin

1 de enero de 1970. Es el mismo formato que devuelve la llamada a la funcin time_t time
( time_t *timer ) del estndar ANSI C.
int RealTimeInfo_get_Timestamp_USeconds(int h): microsegundo en que se ha generado la
informacin de tiempo real.
En C, el parmetro h es un manejador de la informacin de tiempo real (RealTimeInfo).

WrongWay
C++: bool get_WrongWay()
C: int RealTimeInfo_get_WrongWay(int h)

Devuelve verdadero si el sentido de circulacin del vehculo detectado es la incorrecta y falso si es


correcto.
En C, el parmetro h es un manejador de la informacin de tiempo real (RealTimeInfo).

Speed
C++: int get_Speed()
C: int RealTimeInfo_get_Speed(int h)

Devuelve la velocidad del vehculo detectado; en km/h.


En C, el parmetro h es un manejador de la informacin de tiempo real (RealTimeInfo).

Length
C++: int get_Length()
C: int RealTimeInfo_get_Length(int h)

Devuelve la longitud del vehculo detectado; en milmetros.


En C, el parmetro h es un manejador de la informacin de tiempo real (RealTimeInfo).

Occupation
C++: int get_Occupation()
C: int RealTimeInfo_get_Occupation(int h)

Devuelve la ocupacin de un detector del tipo cola; en porcentaje.


En C, el parmetro h es un manejador de la informacin de tiempo real (RealTimeInfo).

IsOccupied
C++: bool get_IsOccupied()
C: int RealTimeInfo_get_IsOccupied(int h)

Devuelve verdadero si el detector est ocupado y falso si est desocupado.

Quercus Technologies 139


Manual de referencia de BirdWatch VL Programacin

En C, el parmetro h es un manejador de la informacin de tiempo real (RealTimeInfo).

14.19.2. Mtodos
IsValid
C++: bool IsValid()
C: No existe

Devuelve verdadero si el objeto contiene informacin vlida sobre un evento en tiempo real, y falso
si la informacin no es vlida. Algunos mtodos pueden retornar, en algunos casos, eventos en
tiempo real vacos. En C esto se detecta porque su valor ser cero. En C++, en cambio, es
necesario este mtodo ya que el objeto, al no tratarse de un puntero, siempre ser correcto.

AddRef
C++: No existe
C: void RealTimeInfo_AddRef ( int h )

Ver 13.2.1. Gestin de memoria.

Release
C++: No existe
C: void RealTimeInfo_Release ( int h )

Ver 13.2.1. Gestin de memoria.

14.20. Clase Regions


Coleccin de coordenadas; estas definen cada uno de los lazos de un detector.

14.20.1. Propiedades
Count
C++: int Count ( )
C: No existe, consultar Detector_get_LoopCoordinates_Count(int h) de Unit.

Nmero de cordenadas existentes en la coleccin.

Item
C++: Region Item ( int item )
C: No existe, consultar Detector_get_LoopCoordinates_Item(int h, int item) de Unit.

Devuelve las coordenadas (Region) que hay en la posicin indicada dentro de la coleccin de

Quercus Technologies 140


Manual de referencia de BirdWatch VL Programacin

coordenadas. La posicin que ocupan las coordenadas de un lazo dentro de la coleccin


corresponde con el indentificador interno del lazo, asignado y utilizado nicamente por la librera.
En C++, en el parmetro item se debe indicar la posicin (la primera posicin es cero).
En C++, si no existe una Region para la posicin indicada devuelve una no vlida (vase IsValid de
la clase Region).

14.21. Clase Region


Define las coordenadas de cada uno de los vrtices de un cuadriltero.

14.21.1. Propiedades
X1
C++: int get_X1()
C: int Region_get_X1(int h)

Devuelve el valor X (eje horizontal) del vrtice 1.


En C, el parmetro h es un manejador de la regin (Region).

Y1
C++: int get_Y1()
C: int Region_get_Y1(int h)

Devuelve el valor Y (eje vertical) del vrtice 1.


En C, el parmetro h es un manejador de la regin (Region).

X2
C++: int get_X2()
C: int Region_get_X2(int h)

Devuelve el valor X (eje horizontal) del vrtice 2.


En C, el parmetro h es un manejador de la regin (Region).

Y2
C++: int get_Y2()
C: int Region_get_Y2(int h)

Devuelve el valor Y (eje vertical) del vrtice 2.


En C, el parmetro h es un manejador de la regin (Region).

X3

Quercus Technologies 141


Manual de referencia de BirdWatch VL Programacin

C++: int get_X3()


C: int Region_get_X3(int h)

Devuelve el valor X (eje horizontal) del vrtice 3.


En C, el parmetro h es un manejador de la regin (Region).

Y3
C++: int get_Y3()
C: int Region_get_Y3(int h)

Devuelve el valor Y (eje vertical) del vrtice 3.


En C, el parmetro h es un manejador de la regin (Region).

X4
C++: int get_X4()
C: int Region_get_X4(int h)

Devuelve el valor X (eje horizontal) del vrtice 4.


En C, el parmetro h es un manejador de la regin (Region).

Y4
C++: int get_Y4()
C: int Region_get_Y4(int h)

Devuelve el valor Y (eje vertical) del vrtice 4.


En C, el parmetro h es un manejador de la regin (Region).

14.21.2. Mtodos

IsValid
C++: bool IsValid()
C: No existe

Devuelve verdadero si el objeto contiene informacin vlida sobre unas coordenadas, y falso si la
informacin no es vlida. Algunos mtodos pueden retornar, en algunos casos, coordenadas vacas.
En C esto se detecta porque su valor ser cero. En C++, en cambio, es necesario este mtodo ya
que el objeto, al no tratarse de un puntero, siempre ser correcto.

Quercus Technologies 142


Manual de referencia de BirdWatch VL Programacin

14.22. Clase OutputActuators


Coleccin de actuadores de salida de un detector.

14.22.1. Propiedades
Count
C++: int Count ( )
C: No existe, consultar Detector_get_OutputActuators_Count(int h) de Detector.

Nmero de actuadores de salida que hay en el detector.

Item
C++: OutputActuator Item ( int item )
C: No existe, consultar Detector_get_OutputActuators_Item(int h, int item) de Detector.

Devuelve el actuador de salida que hay en la posicin indicada dentro de la coleccin de actuadores
de salida del detector. La posicin que ocupa cada actuador de salida dentro del detector
corresponde con el orden configurado.
En C++, en el parmetro item se debe indicar la posicin (la primera posicin es cero).
En C++, si no existe un OutputActuator para la posicin indicada devuelve uno no vlido (vase
IsValid de la clase OutputActuator).

14.23. Clase OutputActuator


Representacin lgica de un actuador de una salida digital. Indica las condiciones para que una salida se
active un determinado tiempo.

14.23.1. Propiedades
Field
C++: BWFieldType get_Field()
C: int OutputActuator_get_Field(int h)

Devuelve el tipo de campo (BWFieldType) con el que acta el actuador.


En C, el parmetro h es un manejador del actuador de salida (OutputActuator).

Operator
C++: BWOperatorType get_Operator()
C: int OutputActuator_get_Operator(int h)

Devuelve el tipo de operador (BWOperatorType) con el que acta el actuador.

Quercus Technologies 143


Manual de referencia de BirdWatch VL Programacin

En C, el parmetro h es un manejador del actuador de salida (OutputActuator).

Value
C++: int get_Value()
C: int OutputActuator_get_Value(int h)

Devuelve el valor con el que acta el actuador.


En C, el parmetro h es un manejador del actuador de salida (OutputActuator).

OutputId
C++: int get_OutputId()
C: int OutputActuator_get_OutputId(int h)

Devuelve el identificador de la salida digital con el que acta el actuador.


En C, el parmetro h es un manejador del actuador de salida (OutputActuator).

Time
C++: int get_Time()
C: int OutputActuator_get_Time(int h)

Devuelve el tiempo con el que acta el actuador; en milisegundos.


En C, el parmetro h es un manejador del actuador de salida (OutputActuator).

14.23.2. Mtodos

IsValid
C++: bool IsValid()
C: No existe

Devuelve verdadero si el objeto contiene informacin vlida sobre un actuador de salida, y falso si la
informacin no es vlida. Algunos mtodos pueden retornar, en algunos casos, actuadores de salida
vacos. En C esto se detecta porque su valor ser cero. En C++, en cambio, es necesario este
mtodo ya que el objeto, al no tratarse de un puntero, siempre ser correcto.

14.24. Clase Lights


Coleccin de luces de un semforo.

14.24.1. Propiedades
Count

Quercus Technologies 144


Manual de referencia de BirdWatch VL Programacin

C++: int Count ( )


C: No existe, consultar TrafficLight_get_Lights_Count(int h) de TrafficLight.

Nmero de luces que hay en el semforo.

Item
C++: TLState Item ( int item )
C: No existe, consultar TrafficLight_get_Lights_Item(int h, int item) de TrafficLight.

Devuelve la luz que hay en la posicin indicada dentro de la coleccin de luces de un semforo. La
posicin que ocupa cada luz dentro de la coleccin corresponde con el orden configurado.
En C++, en el parmetro item se debe indicar la posicin (la primera posicin es cero).

14.25. Clase Light


Representacin lgica de una luz de un semforo.

14.25.1. Propiedades
Type
C++: BWLightType get_Type()
C: int Light_get_Type(int h)

Devuelve el tipo de luz (BWLightType).


En C, el parmetro h es un manejador de la luz (Light).

XPos
C++: int get_XPos()
C: int Light_get_XPos(int h)

Devuelve la posicin X (eje horizontal) de la luz.


En C, el parmetro h es un manejador de la luz (Light).

YPos
C++: int get_YPos()
C: int Light_get_YPos(int h)

Devuelve la posicin Y (eje vertical) de la luz.


En C, el parmetro h es un manejador de la luz (Light).

Radius

Quercus Technologies 145


Manual de referencia de BirdWatch VL Programacin

C++: int get_Radius()


C: int Light_get_Radius(int h)

Devuelve el radio de la luz del semforo en la imagen; en pxeles.


En C, el parmetro h es un manejador de la luz (Light).

14.26. Clase Incidence


Representacin lgica de una incidencia.

14.26.1. Propiedades
UnitId
C++: int get_UnitId()
C: int Incidence_get_UnitId(int h)

Devuelve el identificador de la unidad que ha generado la incidencia.


En C, el parmetro h es un manejador de la incidencia (Incidence).

DetectorId
C++: int get_DetectorId()
C: int Incidence_get_DetectorId(int h)

Devuelve el identificador del detector que ha generado la incidencia.


En C, el parmetro h es un manejador de la incidencia (Incidence).

DetectorType
C++: BWDetectorType get_DetectorType()
C: int Incidence_get_DetectorType(int h)

Devuelve el tipo de detector que ha generado la incidencia.


En C, el parmetro h es un manejador de la incidencia (Incidence).

Id
C++: int get_Id()
C: int Incidence_get_Id(int h)

Devuelve el identificador de la incidencia.


En C, el parmetro h es un manejador de la incidencia (Incidence).

Type

Quercus Technologies 146


Manual de referencia de BirdWatch VL Programacin

C++: BWIncidenceType get_Type()


C: int Incidence_get_Type(int h)

Devuelve el tipo de incidencia.


En C, el parmetro h es un manejador de la incidencia (Incidence).

Speed
C++: int get_Speed()
C: int Incidence_get_Speed(int h)

Devuelve la velocidad registrada; en en km/h.


En C, el parmetro h es un manejador de la incidencia (Incidence).

DelayTime
C++: int get_DelayTime()
C: int Incidence_get_DelayTime(int h)

Devuelve el tiempo mnimo que debe pasar desde la activacin de la seal de prohibicin de paso
hasta la deteccin de la incidencia para que esta se considere vlida y se genere; en milisegundos.
En C, el parmetro h es un manejador de la incidencia (Incidence).

ElapsedTime
C++: int get_ElapsedTime()
C: int Incidence_get_ElapsedTime(int h)

Devuelve el tiempo transcurrido con la seal de prohibicin de paso activa; en milisegundos.


En C, el parmetro h es un manejador de la incidencia (Incidence).

Images
C++: Images get_Images()
C: No existe

En C++ devuelve la coleccin de imgenes que forman la incidencia.


En C no existe una representacin de la coleccin Images sino mtodos para acceder
directamente a las propiedades de dicha coleccin:
int Incidence_get_Images_Count(int h): nmero de imgenes que hay en la incidencia.
int Incidence_get_Images_Item(int h, int item): devuelve la imagen que hay en la posicin
indicada, dentro de la coleccin de imgenes de la incidencia (a partir de cero).
En C cuando no se necesite ms el elemento se deber llamar a la funcin Image_Release
(ver el mtodo Release de la clase Image).

Quercus Technologies 147


Manual de referencia de BirdWatch VL Programacin

En C, el parmetro h es un manejador de la incidencia (Incidence).

14.26.2. Mtodos
IsValid
C++: bool IsValid()
C: No existe

Devuelve verdadero si el objeto contiene informacin vlida sobre una incidencia, y falso si la
informacin no es vlida. Algunos mtodos pueden retornar, en algunos casos, incidencias vacas.
En C esto se detecta porque su valor ser cero. En C++, en cambio, es necesario este mtodo ya
que el objeto, al no tratarse de un puntero, siempre ser correcto.

AddRef
C++: No existe
C: void Incidence_AddRef ( int h )

Ver 13.2.1. Gestin de memoria.

Release
C++: No existe
C: void Incidence_Release ( int h )

Ver 13.2.1. Gestin de memoria.

14.27. Clase Images


Coleccin de imgenes de una incidencia.

14.27.1. Propiedades
Count
C++: int Count()
C: No existe, consultar Incidence_get_Images_Count(int h) de Incidence.

Nmero de imgenes que hay en la coleccin.

Item
C++: int Item(int item)
C: No existe, consultar Incidence_get_Images_Item(int h, int).

Devuelve la imagen que hay en la posicin indicada dentro de la coleccin de imgenes de una

Quercus Technologies 148


Manual de referencia de BirdWatch VL Programacin

incidencia.
En el parmetro item se debe indicar la posicin (la primera posicin es cero). Si no existe una
imagen para la posicin indicada devuelve una no vlido (vase IsValid de la clase Image).
Las imgenes estn ordenadas en la coleccin cronolgicamente.

14.28. Clase Image


Representacin lgica de una imagen que forma parte de una incidencia.

14.28.1. Propiedades
GetBuffer
C++: int GetBuffer(unsigned char* jpegData, int maxSize)
C: int Image_GetBuffer(unsigned char* jpegData, int maxSize)

Copia la imagen jpeg en el buffer jpegData y devuelve su tamao en bytes. El tamao mximo de la
imagen ser de 5242880 bytes.
El parmetro maxSize indica el tamao del buffer jpegData. Este es un parmetro de seguridad; si
el tamao del buffer es insuficiente, no se llenar y se devolver -1.
En C, el parmetro h es un manejador de la clase Image.

Timestamp
C++: Timestamp get_Timestamp()
C: No existe

En C++ devuelve el momento en que la unidad BirdWatch captur la fotografa.


En C no existe una representacin de la clase Timestamp sino mtodos para acceder
directamente a las propiedades de dicha clase:
int Image_get_Timestamp_Seconds(int h): fecha y hora en que se ha tomado la fotografa,
indicando los segundos transcurridos desde las 00:00 horas del 1 de enero de 1970. Es el
mismo formato que devuelve la llamada a la funcin time_t time ( time_t *timer ) del
estndar ANSI C.
int Incidence_get_Timestamp_USeconds(int h): microsegundo en que se ha tomado la
fotografa.

14.28.2. Mtodos
IsValid
C++: bool IsValid()
C: No existe

Devuelve verdadero si el objeto contiene informacin vlida sobre una imagen, y falso si la

Quercus Technologies 149


Manual de referencia de BirdWatch VL Programacin

informacin no es vlida. Algunos mtodos pueden retornar, en algunos casos, imgenes vacas.
En C esto se detecta porque su valor ser cero. En C++, en cambio, es necesario este mtodo ya
que el objeto, al no tratarse de un puntero, siempre ser correcto.

AddRef
C++: No existe
C: void Image_AddRef ( int h )

Ver 13.2.1. Gestin de memoria.

Release
C++: No existe
C: void Image_Release ( int h )

Ver 13.2.1. Gestin de memoria.

14.29. Clase Summary


Representacin lgica de un sumario.

14.29.1. Propiedades
UnitId
C++: int get_UnitId()
C: int Summary_get_UnitId(int h)

Devuelve el identificador de la unidad que ha generado el sumario.


En C, el parmetro h es un manejador del sumario (Summary).

DetectorId
C++: int get_DetectorId()
C: int Summary_get_DetectorId(int h)

Devuelve el identificador del detector que ha generado el sumario.


En C, el parmetro h es un manejador del sumario (Summary).

DetectorType
C++: BWDetectorType get_DetectorType()
C: int Summary_get_DetectorType(int h)

Devuelve el tipo de detector que ha generado el sumario.

Quercus Technologies 150


Manual de referencia de BirdWatch VL Programacin

En C, el parmetro h es un manejador del sumario (Summary).

Begin
C++: int get_Begin()
C: int Summary_get_Begin(int h)

Devuelve el momento en el que se ha iniciado la recogida de datos para el sumario; en segundos


desde el 1 de enero de 1970, a las 00.00 horas.
En C, el parmetro h es un manejador del sumario (Summary).

End
C++: int get_End()
C: int Summary_get_End(int h)

Devuelve el momento en el que se ha finalizado la recogida de datos para el sumario; en segundos


desde el 1 de enero de 1970, a las 00.00 horas.
En C, el parmetro h es un manejador del sumario (Summary).

Volume
C++: int get_Volume()
C: int Summary_get_Volume(int h)

Devuelve el volumen de vehculos del sumario.


En C, el parmetro h es un manejador del sumario (Summary).

AvgSpeed
C++: int get_AvgSpeed()
C: int Summary_get_AvgSpeed(int h)

Devuelve la velocidad media de los vehculos del sumario; en km/h.


En C, el parmetro h es un manejador del sumario (Summary).

AvgLength
C++: int get_AvgLength()
C: int Summary_get_AvgLength(int h)

Devuelve la longitud media de los vehculos del sumario; en milmetros.


En C, el parmetro h es un manejador del sumario (Summary).

AvgHeadway

Quercus Technologies 151


Manual de referencia de BirdWatch VL Programacin

C++: int get_AvgHeadway()


C: int Summary_get_AvgHeadway(int h)

Devuelve el periodo medio entre vehculos del sumario; en segundos.


En C, el parmetro h es un manejador del sumario (Summary).

SpeedsDistribution
C++: SpeedsDistribution get_SpeedsDistribution()
C: No existe

En C++ devuelve la coleccin de valores que forman los rangos de distribucin de velocidades del
sumario.

En C no existe una representacin de la coleccin SpeedsDistribution sino mtodos para acceder


directamente a las propiedades de dicha coleccin:
int Summary_get_SpeedsDistribution_Count(int h): nmero de valores que forman los
rangos de distribucin de velocidades del sumario.
int Summary_get_SpeedsDistribution_Item(int h, int item): devuelve el valor que hay en la
posicin indicada dentro de la coleccin de valores que forman los rangos de distribucin de
velocidades del sumario (a partir de cero).
El parmetro h es un manejador del sumario (Summary).

LengthsDistribution
C++: LengthsDistribution get_LengthsDistribution()
C: No existe

En C++ devuelve la coleccin de valores que forman los rangos de distribucin de longitudes del
sumario.
En C no existe una representacin de la coleccin LengthsDistribution sino mtodos para acceder
directamente a las propiedades de dicha coleccin:
int Summary_get_LengthsDistribution_Count(int h): nmero de valores que forman los
rangos de distribucin de longitudes del sumario.
int Summary_get_LengthsDistribution_Item(int h, int item): devuelve el valor que hay en la
posicin indicada dentro de la coleccin de valores que forman los rangos de distribucin de
longitudes del sumario (a partir de cero).
El parmetro h es un manejador del sumario (Summary).

OccupationsDistribution
C++: OccupationsDistribution get_OccupationsDistribution()
C: No existe

Quercus Technologies 152


Manual de referencia de BirdWatch VL Programacin

En C++ devuelve la coleccin de valores que forman los rangos de distribucin de ocupaciones del
sumario.
En C no existe una representacin de la coleccin OccupationsDistribution sino mtodos para
acceder directamente a las propiedades de dicha coleccin:
int Summary_get_OccupationsDistribution_Count(int h): nmero de valores que forman los
rangos de distribucin de ocupaciones del sumario.
unsigned long Summary_get_OccupationsDistribution_Item(int h, int item): devuelve el valor
que hay en la posicin indicada dentro de la coleccin de valores que forman los rangos de
distribucin de ocupaciones del sumario (a partir de cero).
El parmetro h es un manejador del sumario (Summary).

SpeedsUpperLimit
C++: SpeedsUpperLimit get_SpeedsUpperLimit()
C: No existe

En C++ devuelve la coleccin de valores que forman la distribucin de velocidades del sumario.
En C no existe una representacin de la coleccin SpeedsUpperLimit sino mtodos para acceder
directamente a las propiedades de dicha coleccin:
int Summary_get_SpeedsUpperLimit_Count(int h): nmero de valores que hay en la
distribucin de velocidades del sumario.
unsigned long Summary_get_SpeedsUpperLimit_Item(int h, int item): devuelve el valor que
hay en la posicin indicada dentro de la coleccin de valores de la distribucin de
velocidades del sumario (a partir de cero).
El parmetro h es un manejador del sumario (Summary).

LengthsUpperLimit
C++: LengthsUpperLimit get_LengthsUpperLimit()
C: No existe

En C++ devuelve la coleccin de valores que forman la distribucin de longitudes del sumario.
En C no existe una representacin de la coleccin LengthsUpperLimit sino mtodos para acceder
directamente a las propiedades de dicha coleccin:
int Summary_get_LengthsUpperLimit_Count(int h): nmero de valores que hay en la
distribucin de longitudes del sumario.
unsigned long Summary_get_LengthsUpperLimit_Item(int h, int item): devuelve el valor que
hay en la posicin indicada dentro de la coleccin de valores de la distribucin de longitudes
del sumario (a partir de cero).
El parmetro h es un manejador del sumario (Summary).

Quercus Technologies 153


Manual de referencia de BirdWatch VL Programacin

OccupationsUpperLimit
C++: OccupationsUpperLimit get_OccupationsUpperLimit()
C: No existe

En C++ devuelve la coleccin de valores que forman la distribucin de ocupaciones del sumario.
En C no existe una representacin de la coleccin OccupationsUpperLimit sino mtodos para
acceder directamente a las propiedades de dicha coleccin:
int Summary_get_OccupationsUpperLimit_Count(int h): nmero de valores que hay en la
distribucin de ocupaciones del sumario.
unsigned long Summary_get_OccupationsUpperLimit_Item(int h, int item): devuelve el valor
que hay en la posicin indicada dentro de la coleccin de valores de la distribucin de
ocupaciones del sumario (a partir de cero).
El parmetro h es un manejador del sumario (Summary).

IsValid
C++: bool IsValid()
C: No existe

Devuelve verdadero si el objeto contiene informacin vlida sobre un sumario, y falso si la


informacin no es vlida. Algunos mtodos pueden retornar, en algunos casos, sumarios vacos. En
C esto se detecta porque su valor ser cero. En C++, en cambio, es necesario este mtodo ya que
el objeto, al no tratarse de un puntero, siempre ser correcto.

AddRef
C++: No existe
C: void Summary_AddRef ( int h )

Ver 13.2.1. Gestin de memoria.

Release
C++: No existe
C: void Summary_Release ( int h )

Ver 13.2.1. Gestin de memoria.

14.30. Clase SpeedsDistribution


Coleccin de valores que componen los rangos de velocidad de un detector.

Quercus Technologies 154


Manual de referencia de BirdWatch VL Programacin

14.30.1. Propiedades
Count
C++: int Count ( )
C: No existe, consultar Summary_get_SpeedsDistribution_Count(int h) de Summary

Nmero de valores que hay en la coleccin.

Item
C++: int Item ( int item )
C: No existe, consultar Summary_get_SpeedsDistribution_Item(int h, int item) de
Summary

Devuelve el valor que hay en la posicin indicada dentro de la coleccin de valores que componen
los rangos de velocidad de un detector. Los valores estn ordenador de menor a mayor, situando el
valor ms pequeo de ellos en la primera posicin de la coleccin.
En C++, en el parmetro item se debe indicar la posicin (la primera posicin es cero).

14.31. Clase LengthsDistribution


Coleccin de valores que componen los rangos de longitud de un detector.

14.31.1. Propiedades
Count
C++: int Count ( )
C: No existe, consultar Summary_get_LengthsDistribution_Count(int h) de Summary

Nmero de valores que hay en la coleccin.

Item
C++: int Item ( int item )
C: No existe, consultar Summary_get_LengthsDistribution_Item(int h, int item) de
Summary

Devuelve el valor que hay en la posicin indicada dentro de la coleccin de valores que componen
los rangos de longitud de un detector. Los valores estn ordenador de menor a mayor, situando el
valor ms pequeo de ellos en la primera posicin de la coleccin.
En C++, en el parmetro item se debe indicar la posicin (la primera posicin es cero).

Quercus Technologies 155


Manual de referencia de BirdWatch VL Programacin

14.32. Clase OccupationsDistribution


Coleccin de valores que componen los rangos de porcentaje de ocupacin de un detector.

14.32.1. Propiedades
Count
C++: int Count ( )
C: No existe, consultar Summary_get_OccupationsDistribution_Count(int h) de
Summary

Nmero de valores que hay en la coleccin.

Item
C++: int Item ( int item )
C: No existe, consultar Summary_get_OccupationsDistribution_Item(int h, int item) de
Summary

Devuelve el valor que hay en la posicin indicada dentro de la coleccin de valores que componen
los rangos de porcentaje de ocupacin de un detector. Los valores estn ordenador de menor a
mayor, situando el valor ms pequeo de ellos en la primera posicin de la coleccin.
En C++, en el parmetro item se debe indicar la posicin (la primera posicin es cero).

14.33. Clase SpeedsUpperLimit


Coleccin de porcentajes de vehculos que han circulado por un detector para un determinado rango de
velocidad. Estos rangos se definen en la coleccin SpeedsDistribution.

14.33.1. Propiedades
Count
C++: int Count ( )
C: No existe, consultar Summary_get_SpeedsUpperLimit_Count(int h) de Summary

Nmero de contadores que hay en la coleccin.

Item
C++: int Item ( int item )
C: No existe, consultar Summary_get_SpeedsUpperLimit_Item(int h, int item) de
Summary

Devuelve el porcentaje que hay en la posicin indicada dentro de la coleccin de porcentajes de

Quercus Technologies 156


Manual de referencia de BirdWatch VL Programacin

vehculos que han circulado por un detector para un determinado rango de velocidad. La posicin
que ocupa cada contador dentro de la coleccin corresponde con el orden de los rangos en la
coleccin SpeedsDistribution del detector.
En C++, en el parmetro item se debe indicar la posicin (la primera posicin es cero).

14.34. Clase LengthsUpperLimit


Coleccin de porcentajes de vehculos que han circulado por un detector para un determinado rango de
longitud. Estos rangos se definen en la coleccin LengthsDistribution.

14.34.1. Propiedades
Count
C++: int Count ( )
C: No existe, consultar Summary_get_LengthsUpperLimit_Count(int h) de Summary

Nmero de contadores que hay en la coleccin.

Item
C++: int Item ( int item )
C: No existe, consultar Summary_get_LengthsUpperLimit_Item(int h, int item) de
Summary

Devuelve el porcentaje que hay en la posicin indicada dentro de la coleccin de porcentajes de


vehculos que han circulado por un detector para un determinado rango de longitud. La posicin que
ocupa cada valor dentro de la coleccin corresponde con el orden de los rangos en la coleccin
LengthsDistribution del detector.
En C++, en el parmetro item se debe indicar la posicin (la primera posicin es cero).

14.35. Clase OccupationsUpperLimit


Coleccin de porcentajes de tiempo que un detector ha estado ocupado para un determinado rango de
ocupacin. Estos rangos se definen en la coleccin OccupationsDistribution.

14.35.1. Propiedades
Count
C++: int Count ( )
C: No existe, consultar Summary_get_OccupationsUpperLimit_Count(int h) de
Summary

Nmero de porcentajes de tiempo que hay en la coleccin.

Quercus Technologies 157


Manual de referencia de BirdWatch VL Programacin

Item
C++: int Item ( int item )
C: No existe, consultar Summary_get_OccupationsUpperLimit_Item(int h, int item) de
Summary

Devuelve el porcentaje que hay en la posicin indicada dentro de la coleccin de porcentajes de


tiempo para un determinado rango de ocupacin. La posicin que ocupa cada porcentaje de tiempo
dentro de la coleccin corresponde con el orden de los rangos en la coleccin
OccupationsDistribution del detector.
En C++, en el parmetro item se debe indicar la posicin (la primera posicin es cero).

14.36. Clase Timestamp


Definicin de momento.

14.36.1. Propiedades
Seconds
C++: int get_Seconds()
C: No existe. Ver clase_get_Timestamp_Seconds(int h), dnde clase es la clase que
referencia Timestamp

Fecha y hora del momento, indicando los segundos transcurridos desde las 00:00 horas del 1 de
enero de 1970. Es el mismo formato que devuelve la llamada a la funcin time_t time ( time_t
*timer ) del estndar ANSI C.

USeconds
C++: int get_USeconds()
C: No existe. Ver clase_get_Timestamp_USeconds(int h), dnde clase es la clase que
referencia Timestamp

Microsegundo del momento.

14.37. Clase Notification


Representacin lgica de una notificacin de la unidad.

14.37.1. Propiedades
Code
C++: BWNotificationCode get_Code()

Quercus Technologies 158


Manual de referencia de BirdWatch VL Programacin

C: int Notification_get_Code(int h)

Devuelve el cdigo de notificacin.


En C, el parmetro h es un manejador de la notificacin (Notification).

Unit
C++: Unit get_Unit()
C: int Notification_get_Unit(int h)

Devuelve la unidad que ha generado la notificacin.


En C, el parmetro h es un manejador de la notificacin (Notification).

14.38. Tipo BWDetectorType


Especifica el tipo de detector.

DT_ALL=0 Detector de cualquier tipo.


DT_SPEED=1 Detector de velocidad.
DT_QUEUE=2 Detector de cola.
DT_PRESENCE=3 Detector de presencia.
DT_RED_LIGHT=4 Detector de paso en rojo.

14.39. Tipo BWNotificationCode


Especifica el tipo evento que ha generado la notificacin.

NTC_UNDEFINED=-1 Notificacin sobre un evento desconocido.


NTC_STATUS_CHANGED=0 Notificacin de cambio de estado.
NTC_STARTUP_OK=1 Notificacin de inicializacin de unidad correcta.
NTC_STARTUP_ERROR=2 Notificacin de inicializacin de unidad incorrecta.
NTC_SHUTDOWN_OK=3 Notificacin de apagado de unidad correcto.
NTC_SHUTDOWN_ERROR=4 Notificacin de apagado de unidad incorrecto.

14.40. Tipo BWIncidenceType


Especifica el tipo incidencia.

IT_WRONG_WAY=0 Incidencia del tipo vehculo circulando en sentido contrario.


IT_RED_LIGHT_VIOLATION=1 Incidencia del tipo vehculo que ha omitido la seal de
prohibicin de paso.

Quercus Technologies 159


Manual de referencia de BirdWatch VL Programacin

14.41. Tipo BWLightType


Especifica el color de una luz de un semforo.

LT_RED=0 Luz de color rojo.


LT_GREEN=1 Luz de color verde.
LT_AMBAR=2 Luz de color mbar.
LT_OTHER=3 Luz de color desconocido.

14.42. Tipo BWFieldType


Especifica el tipo de campo a tener en cuenta para los actuadores de salidas digitales de los detectores.

FT_SPEED=0 Velocidad de circulacin detectada.


FT_LENGTH=1 Longitud del vehculo detectada.
FT_WRONG_WAY=2 Sentido de circulacin detectado.
FT_OCCUPATION=3 Valor de la ocupacin.
FT_IS_OCCUPIED=4 Presencia en el detector.

14.43. Tipo BWOperatorType


Especifica el operador utilizado para los actuadores de salidas digitales de los detectores.

OT_EQUALS=0 Operador igual a.


OT_DIFF=1 Operador diferente a.
OT_GREATER=2 Operador mayor que.
OT_LESSER=3 Operador menor que.

Quercus Technologies 160


Manual de referencia de BirdWatch VL Programacin

15. Protocolo de comunicaciones


Cada unidad BirdWatch puede recibir y enviar informacin mediante un sencillo protocolo UDP binario. Los
mensajes se enviarn a la unidad mediante el puerto 8051 de esta (modificable mediante configuracin) y la
unidad enviar los mensajes al puerto 8050 de la direccin que tenga configurada como sistema central
(modificable mediante configuracin) en el que estar corriendo la aplicacin cliente. Opcionalmente puede
usarse comunicacin serie en lugar de UDP, en cuyo caso los tramas de los mensajes sern idnticas a las
usadas en UDP, simplemente se cambiar el medio de transporte de estas.
Existen dos grupos de mensajes que pueden darse entre unidad y sistema central:
Eventos.
Peticiones (y sus respuestas).

Un evento es un mensaje que la unidad enva al sistema central como mecanismo para notificar a este de
algn hecho (la llegada de una incidencia, la activacin de una salida digital, etc.). Un evento debe ser
respondido por el sistema central dentro de un tiempo lmite (modificable por configuracin) con un ACK
para que la unidad sepa que ha sido recibido con xito. En caso contrario reenviar el mensaje hasta que
reciba el ACK o se agote el nmero mximo de reintentos (modificables tambin por configuracin). Si se
responde con un NAK a un evento, este tambin ser reenviado (hasta el mismo nmero de reintentos).
Ejemplo de Eventos:

Unidad Sistema central


Even to 1

AC K

Even to 2

NAK
Even to 2

NAK

Even to 3
Timeout
Even to 3

Even to 4

Un mensaje de tipo Peticin es un mensaje que la aplicacin cliente enva a una unidad para obtener
informacin de ella o para que esta emprenda una accin (activar una salida, reiniciar la unidad, etc.). Todas
las peticiones sern respondidas inmediatamente por la unidad con un mensaje de tipo respuesta donde
estar la informacin solicitada, un ACK si el mensaje no esperaba una respuesta o un NAK si el mensaje

Quercus Technologies 161


Manual de referencia de BirdWatch VL Programacin

no ha podido ser recibido, interpretado o completado correctamente.


Hay que tener en cuenta que entre la llegada a la unidad de una peticin y su respuesta puede producirse
algn evento en el sistema de forma que el primer mensaje que llega despus de haber hecho una peticin
no tiene por que ser la respuesta a esa peticin.

Ejemplo de peticiones y sus respuestas:

Unidad Sistema central


Acci n
AC K (Acci n)

ci n
Ob te ne r informa
Inform acin

on ocido
Me nsaj e de sc
NAK

Acci n

Evento
Even to

AC K (E ve nto )
AC K (Acci n)

15.1. Formato de los mensajes


Los mensajes tendrn siempre el mismo formato; la ordenacin de bytes de todos los campos es little-
endian:

1 4 4 2 2 4 Variable 1 1
Stx UnitId Size Type Version Id Message data Bcc Etx

Stx (1 byte): byte que seala el inicio de la trama (carcter ASCII 2).
Unit Id (4 bytes): identificador de la unidad de captura que enva o recibe el mensaje.
Size (4 bytes): tamao total del mensaje en bytes.
Type (2 bytes): tipo de mensaje. Los tipos de mensaje se detallan ms adelante.
Version (2 bytes): versin del mensaje. En los mensajes que han evolucionado (aadiendo campos,
modificndolos, etc.) este campo indica la versin del mensaje empleada (ver ms abajo)
Id (4 bytes): identificador nico de la conversacin. El valor ser el mismo para el mensaje de ida
que para el de vuelta. De esta forma se puede conocer si una respuesta obtenida es la que se
esperaba o no. Este valor ser 1 para el primer mensaje enviado de las unidades al sistema central
y se incrementar de dos en dos en cada nuevo mensaje. En los mensajes del sistema central a las
unidades, el primer mensaje ser el 2 y se incrementar tambin de 2 en 2.

Quercus Technologies 162


Manual de referencia de BirdWatch VL Programacin

Message Data (variable): datos especficos para cada mensaje.


Bcc (1 byte): XOR de todos los bytes del mensaje desde Stx hasta el ltimo byte de Message data.
Etx (1 byte): seala el final del mensaje (carcter ASCII 3).

15.2. Versiones de los mensajes


Los mensajes contienen un campo version que indica la versin del mensaje usada para permitir la
ampliacin del protocolo de comunicaciones. Cada versin del mismo mensaje puede contener ms o
menos campos y puede variar la longitud de estos, por lo tanto, es imprescindible evaluar este campo antes
de proceder con los campos especficos del mensaje.

Las unidades disponen de un sistema de negociacin de versin que hace 100% compatibles cualquier
unidad con cualquier versin del protocolo que haya existido.
Cuando la unidad enva un mensaje de evento, siempre intenta enviar la versin ms alta que conoce de
dicho tipo de mensaje. Si el sistema central responde con un mensaje NAK de tipo 6 (Incorrect version), la
unidad enviar, en el siguiente intento, la versin inmediatamente anterior del mensaje. Este proceso se
repetir hasta que se agoten los intentos configurados, el sistema central responda con ACK o la versin del
mensaje llegue al mnimo que la unidad sabe gestionar (normalmente cero). En los subsiguientes mensajes
del mismo tipo que genere la unidad, ya se partir de la versin establecida en el anterior mensaje. Este
proceso se repite despus de cada arranque de la unidad.
Ejemplo:

Unidad Sistema central

1.e r Even to (v2 )

NAK(6)
1.e r Even to (v1 )

NAK(6)

Fin reintentos

2. Even to (v0 )

AC K

Cuando la unidad recibe un mensaje de peticin del sistema central, siempre intenta responder con la
misma versin del mensaje de respuesta o NAK de tipo 6 (Incorrect version) si no es capaz de entender esa
versin del mensaje.

Quercus Technologies 163


Manual de referencia de BirdWatch VL Programacin

Ejemplo:

Unidad Sistema central

Pe tici n(v1 )
NAK(6)

Pe tici n(v0 )

Re sp ue sta

Quercus Technologies 164


Manual de referencia de BirdWatch VL Programacin

15.3. Compatibilidad entre productos BirdWatch


El protocolo BirdWatch es compartido por todos los productos de la familia BirdWatch . Debido a ello hay
mensajes y estructuras comunes que no son aplicables al producto BirdWatch VL o al producto BirdWatch
VL Plus en concreto. En esta tabla se describen los mensajes y estructuras tiles para cada tipo de unidad:

BirdWatch VL BirdWatch VL Plus


Estructuras comunes
Region
OutputActuator
DetectorHeader
SpeedDetector
QueueDetector
PresenceDetector
Light
TrafficLight
RedLightDetector
Mensajes de eventos
InputChanged
Notification
SummaryInfo
RealTimeInfo
IncidenceInfo
Mensajes de peticin
VersionQuery
RealTimeQuery
StatusQuery
IOQuery
ImageQuery
SnapshotQuery
UnitTasksQuery
DetectorTasksQuery
DetectorsCountQuery
DetectorInfoQuery
TrafficLightsCountQuery
TrafficLightInfoQuery
SetUnitTasksQuery
SetDetectorTasksQuery
OutputQuery
RebootQuery

Quercus Technologies 165


Manual de referencia de BirdWatch VL Programacin

Mensajes de confirmacin
ACK
NAK

15.4. Conceptos previos


15.4.1. Unidades
El tamao descrito de cada uno de los campos del protocolo es expresado en bytes.

15.4.2. Booleanos
Todos los valores booleanos que se documentan en el siguiente protocolo se traducen como:

Estado Valor
Verdadero uno
Falso cero

15.5. Estructuras comunes


Estructuras de datos utilizadas en los mensajes de los posteriores apartados.

15.5.1. Region
Informa de las posiciones de los cuatro vrtices que definen un detector o un lazo.

2 2 2 2 2 2 2 2
X1 Y1 X2 Y2 X3 Y3 X4 Y4

X1: posicin del punto 1 en la imagen (eje horizontal).


Y1: posicin del punto 1 en la imagen (eje vertical).
X2: posicin del punto 2 en la imagen (eje horizontal).
Y2: posicin del punto 2 en la imagen (eje vertical).
X3: posicin del punto 3 en la imagen (eje horizontal).
Y3: posicin del punto 3 en la imagen (eje vertical).
X4: posicin del punto 4 en la imagen (eje horizontal).
Y4: posicin del punto 4 en la imagen (eje vertical).

15.5.2. OutputActuator
Describe un actuador de salida digital, perteneciente a un detector.

Quercus Technologies 166


Manual de referencia de BirdWatch VL Programacin

1 1 4 1 4
Field Op Value OId Time

Field: campo sobre el que acta el operador.


0: velocidad de circulacin del vehculo detectado.
1: longitud del vehculo detectado.
2: sentido de circulacin del vehculo detectado.
3: porcentaje de ocupacin del detector.
4: presencia en el detector.
Operator (Op): operador que utiliza el operador.
0: igual a.
1: diferente a.
2: mayor que.
3: menor que.
Value: valor con el que el acta el operador.
OutputId (OId): identificador de la salida digital relacionada con el actuador.
Time: tiempo que el actuador mantiene activa la salida digital; en milisegundos.

15.5.3. DetectorHeader
Describe las caractersticas comunes de un detector.

4 1 1 1 1 1 1 4 2 55 16
Id Type SmE InE SSm SIn SRT SumPeriod NOut OutAc Coord

Id: identificador nico del detector.


Type: tipo de detector.
1: detector de velocidad.
2: detector de cola.
3: detector de presencia.
4: detector de paso en rojo.
AreSummariesEnabled (SmE): verdadero si est activa la generacin de sumarios por parte
del detector y falso si no lo est.
AreIncidencesEnabled (InE): verdadero si est activa la generacin de incidencias por parte
del detector y falso si no lo est.
SendSummaries (SSm): verdadero si est activo el envo de los sumarios generados por el
detector al sistema central y falso si no lo est.
SendIncidences (SIn): verdadero si est activo el envo de las incidencias generadas por el
detector al sistema central y falso si no lo est.

Quercus Technologies 167


Manual de referencia de BirdWatch VL Programacin

SendRealTimeInfo (SRT): verdadero si est activo el envo de los eventos en tiempo real
generados por el detector al sistema central y falso si no lo est.
SummariesPeriod (SumPeriod): periodo de lo sumarios configurado; en minutos.
NumOutputActuators (NOut): nmero de actuadores de salida configurados.
OutputActuators (OutAc): descripcin de cada uno de los actuadores de salida
configurados. Se describen mediante 5 estructuras OutputActuator consecutivas (mximo
de actuadores configurables), siendo utilizadas tan slo las NumOutputActuators primeras.
Coordinates (Coord): descripcin de las coordenadas que definen la posicin del detector,
mediante una estrucutra Region.

15.5.4. SpeedDetector
Describe un detector de velocidad.

87 1 4 4 16 16
Head Calc Distance Length Loop1 Loop2

Header (Head): descripcin de las caractersticas indiferentes al tipo de detector, mediante


una estructura DetectorHeader.
CalculateMetrics (Calc): verdadero si se activa el clculo de la mtrica en el detector, falso
si se desactiva.
Distance: distancia entre la horizontal de la unidad y el detector; en milmetros.
Length: longitud del detector; en milmetros.
FirstLoop (Loop1): descripcin de las coordenadas del primer lazo del detector, mediante
una estructura Region.
SecondLoop (Loop2): descripcin de las coordenadas del segundo lazo del detector,
mediante una estructura Region.

15.5.5. QueueDetector
Describe un detector de cola.

87 80
Header Loop1..5

Header (Head): descripcin de las caractersticas indiferentes al tipo de detector, mediante


una estructura DetectorHeader.
Loops (Loop1..5): descripcin de las coordenadas de cada uno de los 5 lazos del detector,
mediante 5 estructuras Region consecutivas.

Quercus Technologies 168


Manual de referencia de BirdWatch VL Programacin

15.5.6. PresenceDetector
Describe un detector de presencia.

87 16
Header Loop1

Header (Head): descripcin de las caractersticas indiferentes al tipo de detector, mediante


una estructura DetectorHeader.
Loop (Loop1): descripcin de las coordenadas del nico lazo del detector, mediante una
estructura Region.

15.5.7. Light
Describe una luz de un semforo.

1 2 2 2
Type X Y Radius

Type: tipo de luz.


0: luz roja.
1: luz verde.
2: luz mbar.
3: luz de otro color.
X: posicin X (eje horizontal) del centro de la luz en la imagen.
Y: posicin Y (eje vertical) del centro de la luz en la imagen.
Radius: radio de la luz; en pxeles.

15.5.8. TrafficLight
Describe un semforo.

4 1 35
Id NLg Lights

Id: identificador nico del semforo.


NumLights (Nlg): nmero de luces en el semforo.
Lights: descripcin de cada una de las luces configuradas. Se describen mediante 5

Quercus Technologies 169


Manual de referencia de BirdWatch VL Programacin

estructuras Light consecutivas (mximo de luces configurables en un semforo), siendo


utilizadas tan slo las NumLights primeras.

15.5.9. RedLightDetector
Describe un detector de paso en rojo.

87 1 4 4 4
Header Calc Distance Length DelayTime

16 16 4 1
Loop1 Loop2 TrafficLightId Input

Header (Head): descripcin de las caractersticas indiferentes al tipo de detector, mediante


una estructura DetectorHeader.
CalculateMetrics (Calc): verdadero si se activa el clculo de la mtrica en el detector, falso
si se desactiva.
Distance: distancia entre la horizontal de la unidad y el detector; en milmetros.
Length: longitud del detector; en milmetros.
DelayTime: tiempo mnimo con la seal de prohibicin de paso activada para que una
incidencia de paso en rojo sea vlida; en milisegundos.
FirstLoop (Loop1): descripcin de las coordenadas del primer lazo del detector, mediante
una estructura Region.
SecondLoop (Loop2): descripcin de las coordenadas del segundo lazo del detector,
mediante una estructura Region.
TrafficLightId: identificador del semforo utilizado para la seal de prohibicin de paso. Se
no se ha configurado un semforo, sino una entrada digital, su valor ser -1.
Input: identificador de la entrada digital utilizada para la seal de prohibicin de paso. Se no
se ha configurado una entrada digital, sino un semforo, su valor ser -1.

15.5.10. Timestamp
Define un momento en el tiempo.

4 4
Seconds USeconds

Seconds: fecha y hora del momento, indicando los segundos transcurridos desde las 00:00
horas del 1 de enero de 1970. Es el mismo formato que devuelve la llamada a la funcin
time_t time ( time_t *timer ) del estndar ANSI C.
Useconds: microsegundo del momento.

Quercus Technologies 170


Manual de referencia de BirdWatch VL Programacin

15.6. Mensajes de eventos


15.6.1. InputChanged
Indica que uno de los bits de entrada de la unidad ha cambiado.
Type: 0
Message Data:

1 1
Bit Val

Bit: identificador de la entrada digital que ha cambiado de valor.


Value (Val): nuevo valor.

15.6.2. Notification
Indica que se ha recibido una notificacin del tipo Code.
Type: 1
Message Data:

1
Cod

Code (Cod): tipo de notificacin recibida.


0: el estado de la unidad ha cambiado.
1: el arranque de la unidad ha sido correcto.
2: el arranque de la unidad ha sido incorrecto.
3: el apagado de la unidad ha sido correcto.
4: el apagado de la unidad ha sido incorrecto.

15.6.3. SummaryInfo
Indica que se ha recibido un sumario.
Type: 2
Message Data:

Quercus Technologies 171


Manual de referencia de BirdWatch VL Programacin

4 4 4 1 4 4 4
Begin End DetectorId Type Volume AvgSpeed AvgLength

4 20 20 20 20
AvgHeadway SpdDst SpdUL LenDst LenUL

20 20
OccDst OccUL

Begin: momento en el que se ha iniciado la recogida de datos para el sumario; en segundos


desde el 1 de enero de 1970, a las 00.00 horas.
End: momento en el que se ha finalizado la recogida de datos para el sumario; en segundos
desde el 1 de enero de 1970, a las 00.00 horas.
DetectorId: identificador del detector que ha generado el sumario.
DetectorType (Type): tipo de detector que ha generado el evento en tiempo real.
1: detector de velocidad.
2: detector de cola.
3: detector de presencia.
4: detector de paso en rojo.
Volume: volumen de vehculos del sumario.
AvgSpeed: velocidad media de los vehculos del sumario; en km/h.
AvgLength: longitud media de los vehculos del sumario; en milmetros.
AvgHeadway: periodo medio entre vehculos del sumario; en segundos.
SpeedsDistribution (SpdDst): valores que forman los rangos de distribucin de velocidades
del sumario. Se describen mediante 5 enteros consecutivos, de los cuales los que no se
utilizan indican -1.
SpeedsUpperLimit (SpdUL): coleccin de valores que forman la distribucin de velocidades
del sumario. Se describen mediante 5 enteros consecutivos, de los cuales los que no se
utilizan indican -1.!
LengthsDistribution (LenDst): coleccin de valores que forman los rangos de distribucin de
longitudes del sumario. Se describen mediante 5 enteros consecutivos, de los cuales los
que no se utilizan indican -1.
LengthsUpperLimit (LenUL): coleccin de valores que forman la distribucin de longitudes
del sumario. Se describen mediante 5 enteros consecutivos, de los cuales los que no se
utilizan indican -1.
OccupationsDistribution (OccDst): coleccin de valores que forman los rangos de
distribucin de ocupaciones del sumario. Se describen mediante 5 enteros consecutivos, de
los cuales los que no se utilizan indican -1.
OccupationsUpperLimit (OccUL): coleccin de valores que forman la distribucin de
ocupaciones del sumario. Se describen mediante 5 enteros consecutivos, de los cuales los
que no se utilizan indican -1.

Quercus Technologies 172


Manual de referencia de BirdWatch VL Programacin

15.6.4. IncidenceInfo
Indica que se ha recibido una incidencia.
Type: 3
Message Data:

4 1 2 24 4 1 4
Id Type NImg ImgTime DetectorId DTyp Speed

4 4
Delay ElapsedTime

Id: identificador nico de la incidencia.


Type: tipo de incidencia:
0: incidencia de circulacin en sentido contrario.
2: incidencia de circulacin con la seal de prohibicin de paso activa.
NumImages (Nimg): nmero de imgenes relacionadas con la incidencia.
ImageTimestamps (ImgTime): descripcin de los momentos en los que se ha generado
cada una de las imgenes relacionadas con la incidencia. Se describen mediante 3
estructuras Timestamp consecutivas (mximo imgenes relacionadas con una incidencia),
siendo utilizadas tan slo las NumImages primeras.
DetectorId: identificador del detector que ha generado la incidencia.
DetectorType (DTyp): tipo de detector que ha generado la incidencia.
1: detector de velocidad.
2: detector de cola.
3: detector de presencia.
4: detector de paso en rojo.
DelayTime: tiempo mnimo que debe pasar desde la activacin de la seal de prohibicin
paso hasta la deteccin de la incidencia para que esta se genere; en milisegundos.
ElapsedTime: tiempo transcurrido con la seal de prohibicin de paso activa; en
milisegundos.

15.6.5. RealTimeInfo
Indica que se ha recibido un evento en tiempo real. Dependiendo del tipo de evento generado se usan unos
campos u otros. Los campos que no aportan informacin en un evento tienen un valor -1.
Type: 4
Message Data:

Quercus Technologies 173


Manual de referencia de BirdWatch VL Programacin

4 1 8 4 4 1 4 1
DetectorId Type Timestamp Speed Length WW Occupation IsOc

DetectorId: identificador del detector que ha generado el evento en tiempo real.


DetectorType (Type): tipo de detector que ha generado el evento en tiempo real.
1: detector de velocidad.
2: detector de cola.
3: detector de presencia.
4: detector de paso en rojo.
Timestamp: momento en el que se ha generado el evento en tiempo real, mediante una
estrucutra Timestamp.
Speed: velocidad aproximada del vehculo detectado; en km/h.
Length: longitud aproximada del vehculo detectado; en milmetros.
WrongWay (WW): verdadero si el vehculo detectado circula en sentido contrario, falso si el
sentido de circulacin es correcto.
Occupation: porcentaje de ocupacin de un detector.
IsOccupied (IsOc): verdadero si el detector est ocupado, falso si no lo est. Campo
operativo tan slo en un detector de presencia.

15.7. Mensajes de peticin


15.7.1. VersionQuery
Peticin de informacin sobre el software que est funcionando en una unidad BirdWatch .

Peticin
Type: 32
Message Data: no hay campo de datos.

Respuesta
Type: 64
Message Data:

64 1 1 1
Name Maj Min Rev

Name[64]: nombre del producto. Los caracteres no usados estarn a cero.


Major (Maj): nmero principal de versin.
Minor (Min): nmero secundario de versin.

Quercus Technologies 174


Manual de referencia de BirdWatch VL Programacin

Revision (Rev): nmero de revisin del producto.

15.7.2. RealTimeQuery
Peticin del ltimo evento en tiempo real generado en un detector determinado.

Peticin
Type: 33
Message Data:

4
DetectorId

DetectorId: detector al que se le solicita el evento.

Respuesta
Type: 65
Message Data:

4 1 8 4 4 1 4 1
DetectorId Type Timestamp Speed Length WW Occupation IsOc

DetectorId: identificador del detector que ha generado el evento en tiempo real.


DetectorType (Type): tipo de detector que ha generado el evento en tiempo real.
1: detector de velocidad.
2: detector de cola.
3: detector de presencia.
4: detector de paso en rojo.
Timestamp: momento en el que se ha generado el evento en tiempo real, mediante una
estrucutra Timestamp.
Speed: velocidad aproximada del vehculo detectado; en km/h.
Length: longitud aproximada del vehculo detectado; en milmetros.
WrongWay (WW): verdadero si el vehculo detectado circula en sentido contrario, falso si su
sentido de circulacin es el correcto.
Occupation: porcentaje de ocupacin de un detector.
IsOccupied (IsOc): verdadero si el detector est ocupado por un vehculo, falso si no lo est.

15.7.3. StatusQuery
Peticin de estado del sistema de la unidad.

Quercus Technologies 175


Manual de referencia de BirdWatch VL Programacin

Peticin
Type: 34
Message Data: no hay campo de datos.

Respuesta
Type: 66
Message Data:

4
StartupTime

StartupTime: momento en el que se ha iniciado de la unidad; en segundos desde el 1 de


enero de 1970, a las 00.00 horas. Se utiliza para verificar que la unidad no se ha reiniciado,
por circunstancias desconocidas, desde el ltimo inicio controlado.
Si el central recibe una respuesta con el StartupTime se interpreta que el estado del sistema
es correcto; sii no lo recibe es incorrecto.

15.7.4. IOQuery
Peticin del estado de las entradas y salidas digitales de la unidad.

Peticin
Type: 35
Message Data: no hay campo de datos.

Respuesta
Type: 67
Message Data:

4 4
InputCh OutputCh

InputChannels (InputCh): estado de las 4 entradas digitales de la unidad. Cada uno de los
primeros 4 bits corresponder al estado de una entrada, siendo el bit de menos peso para la
entrada cero. Posibles valores: 1 activada, 0 desactivada.
Los 28 bits restantes sern ignorados; disponibles para futuras revisiones.
OutputChannels (OutputCh): estado de las 4 salidas digitales de la unidad. Cada uno de los
primeros 4 bits corresponder al estado de una salida, siendo el bit de menos peso para la

Quercus Technologies 176


Manual de referencia de BirdWatch VL Programacin

salida cero. Posibles valores: 1 activada, 0 desactivada.


Los 28 bits restantes sern ignorados; disponibles para futuras revisiones.

15.7.5. ImageQuery
Peticin de transferencia de una imagen. La imagen se divide en paquetes con un tamao mximo de
64000 bytes para optimizar la transferencia.

Peticin
Type: 36
Message Data:

4 2 4 4
Id ImgId Offset Length

Id: identificador de la incidencia.


ImageIndex (ImgId): nmero de imagen dentro de la coleccin de imgenes de la
incidencia.
Offset: posicin de inicio (en el buffer de la imagen) del paquete a transferir; en bytes.
Length: tamao mximo del paquete a transferir.

Respuesta
Type: 68
Message Data:

4 4 64000
ImageSize Length Buffer

ImageSize: tamao de la imagen; en bytes.


Length: tamao del paquete transferido; en bytes.
Buffer: datos del paquete. Tan slo sern vlidos los primeros Length bytes.

15.7.6. SnapshotQuery
Peticin de radiografa de la unidad (estado general). Devuelve una captura en blanco y negro de 0.3Mp
(640 pxeles de ancho y 480 de alto) en jpeg y un estado completo de los detectores, semforos y
entradas y salidas digitales.

El contenido de la imagen y el valor de focus (coeficiente de enfoque digital) variarn, dependiendo


del valor de los parmetros de la peticin:

Quercus Technologies 177


Manual de referencia de BirdWatch VL Programacin

Zoom a falso, rectngulo incorrecto: la imagen obtenida corresponder al a totalidad de la imagen


capturada por la unidad. El valor de focus no se calcular (-1).
Zoom a falso, rectngulo correcto: la imagen obtenida corresponder a la totalidad de la imagen
capturada por la unidad. Se calcular focus a partir del rectngulo en la imagen.
Zoom a cierto, rectngulo incorrecto: combinacin incorrecta.
Zoom a cierto, rectngulo correcto: la imagen obtenida corresponder a una zona de la imagen
capturada ampliada. La posicin central del rectngulo coincidir con la posicin central de la zona
ampliada. Se calcular focus a partir de la zona ampliada.

Peticin
Type: 37
Message Data:

2 2 2 2 4 1 4 4
RoiTop RoiLeft RoiBttm RoiRight ExposureTime Zoom Offset Length

RoiRight: posicin X (eje horizontal) del lado derecho del rectngulo; indicar -1 para no
definirlo.
RoiTop: posicin Y (eje vertical) del lado superior del rectngulo; indicar -1 para no definirlo.
RoiLeft: posicin X (eje horizontal) del lado derecho del rectngulo; indicar -1 para no
definirlo.
RoiBottom (RoidBttm): posicin Y (eje vertical) del lado inferior del rectngulo; indicar -1
para no definirlo.
ExposureTime: tiempo de exposicin de la cmara para la captura; en microsegundos.
Zoom: indica si la imagen obtenida debe ser la capturada por la unidad (falso) o una
ampliacin de esta (cierto).
Offset: posicin de inicio (en el buffer de la imagen) del paquete a transferir; en bytes.
Length: tamao mximo del paquete a transferir.

Respuesta
Type: 69
Message Data:

4 4 60 4 3 4
Focus NumDetectors DStatus NumRedLights RedLights Inputs

4 4 4 64000
Outputs ImageSize Length Buffer

Quercus Technologies 178


Manual de referencia de BirdWatch VL Programacin

Focus: coeficiente de enfoque digital calculado; -1 si no se ha calculado.


NumDetectors: nmero de detectores configurados.
DetectorsStatus (Dstatus): estado de los lazos de cada uno de los detectores configurados.
Se describen mediante 15 valores enteros consecutivos, siendo utilizados tan slo los
NumDetectors primeros. Los detectores estarn dispuestos en el mismo orden en el que se
hayan configurado y cada posicin detallar el estado de los lazos de ste bit a bit. El bit de
menos peso corresponder al primer lazo. Posibles valores: 1 ocupado, 0 desocupado.
NumRedLights: nmero de semforos configurados.
RedLights: estado de cada uno de los semforos configurados: Se describen mediante 3
bytes, siendo utilizados tan slo los NumRedLights primeros. Estarn dispuestos en el
mismo orden en el que se hayan configurado. Posibles valores: 0 en rojo, otro valor en
otro estado.
Inputs: estado de las 4 entradas digitales. Cada uno de los primeros 4 bits corresponder al
estado de una entrada, siendo el bit de menos peso para la entrada cero. Posibles valores:
1 activada, 0 desactivada.
Outputs: estado de las 4 salidas digitales. Cada uno de los primeros 4 bits corresponder al
estado de una salida, siendo el bit de menos peso para la salida cero. Posibles valores: 1
activada, 0 desactivada.
ImageSize: tamao total de la imagen capturada; en bytes.
Length: tamao del paquete transferido perteneciente a la imagen capturada; en bytes.
Buffer: datos del paquete. Tan slo sern vlidos los primeros Length bytes.

15.7.7. UnitTasksQuery
Peticin del estado de las tareas que debe desarrollar la unidad.

Peticin
Type: 38
Message Data: no hay campo de datos.

Respuesta
Type: 70
Message Data:

1
SInp

SendInputChanges (SInp): verdadero, informar al sistema remoto de los cambios en las


entradas digitales de la unidad activado; falso, desactivado.

Quercus Technologies 179


Manual de referencia de BirdWatch VL Programacin

15.7.8. DetectorTasksQuery
Peticin del estado de las tareas que debe desarrollar un detector.

Peticin
Type: 39
Message Data:

4
DetectorId

Id: identificador del detector.

Respuesta
Type: 71
Message Data:

4 1 1 1 1 1
DetectorId SmE InE SSm SIn SRT

IDetectorId: identificador del detector.


AreSummariesEnabled (SmE): verdadero, generacin de sumarios en la unidad activada;
falso, desactivada.
AreIncidencesEnabled (InE): verdadero, generacin de incidencias en la unidad activada;
falso, desactivada.
SendSummaries (Ssm): verdadero, envo al sistema remoto de los sumarios generados por
la unidad activado; falso, desactivado.
SendIncidences (Sin): verdadero, envo al sistema remoto de las incidencias generadas por
la unidad activado; falso, desactivado.
SendRealTimeInfo (SRT): verdadero, envo al sistema remoto de los eventos en tiempo real
generados por la unidad activado; falso, desactivado.

15.7.9. DetectorsCountQuery
Peticin del nmero de detectores configurados en la unidad.

Peticin
Type: 40
Message Data: no hay campo de datos.

Quercus Technologies 180


Manual de referencia de BirdWatch VL Programacin

Respuesta
Type: 72
Message Data:

4
Count

Count: nmero de detectores configurados en la unidad.

15.7.10. DetectorInfoQuery
Peticin de la informacin acerca de un detector especfico de la unidad.
El formato de la respuesta variar, dependiendo del tipo de detector que se describe.

Peticin
Type: 41
Message Data:

4
Index

Index: identificador del detector a informar.

Respuesta (detector de paso en rojo)


Type: 73
Message Data:

137

RLDetect

RedLightDetector (RLDetect): descripcin del detector, mediante una estructura


RedLightDetector.

Respuesta (detector de velocidad)


Type: 74
Message Data:

Quercus Technologies 181


Manual de referencia de BirdWatch VL Programacin

128

SpdDetect

SpeedDetector (SpdDetect): descripcin del detector, mediante una estructura


SpeedDetector.

Respuesta (detector de presencia)


Type: 75
Message Data:

103

PresDetect

PresenceDetector (PresDetect): descripcin del detector, mediante una estructura


PresenceDetector.

Respuesta (detector cola)


Type: 76
Message Data:

167

QueDetect

QueueDetector (QueDetect): descripcin del detector, mediante una estructura


QueueDetector.

15.7.11. TrafficLightsCountQuery
Peticin del nmero de semforos configurados en una unidad.

Peticin
Type: 45
Message Data: no hay campo de datos.

Respuesta
Type: 77
Message Data:

Quercus Technologies 182


Manual de referencia de BirdWatch VL Programacin

4
Count

Count: nmero de semforos configurados en la unidad.

15.7.12. TrafficLightInfoQuery
Peticin de la informacin acerca de un semforo configurado en la unidad.

Peticin
Type: 46
Message Data:

4
Index

Index: identificador del semforo a informar.

Respuesta
Type: 78
Message Data:

40

TrafficLight

TrafficLight: informacin acerca del semforo, mediante una estructura TrafficLight.

15.7.13. SetUnitTasksQuery
Peticin de configuracin de las tareas que debe desarrollar una unidad.
Actualmente slo permite configurar una tarea, informar de cambios en las entradas digitales.

Peticin
Type: 47
Message Data:

1
SInp

Quercus Technologies 183


Manual de referencia de BirdWatch VL Programacin

SendInputChanges (SInp): verdadero, informar al sistema remoto de los cambios en las


entradas digitales de la unidad activado; falso, desactivado.

Respuesta
ACK/NAK

15.7.14. SetDetectorTasksQuery
Peticin de configuracin de las tareas que debe desarrollar un detector.

Peticin
Type: 48
Message Data:

4 1 1 1 1 1
DetectorId SmE InE SSm SIn SRT

DetectorId: identificador del detector a configurar.


AreSummariesEnabled (SmE): verdadero, generacin de sumarios en la unidad activada;
falso, desactivada.
AreIncidencesEnabled (InE): verdadero, generacin de incidencias en la unidad activada;
falso, desactivada.
SendSummaries (Ssm): verdadero, envo al sistema remoto de los sumarios generados por
la unidad activado; falso, desactivado.
SendIncidences (Sin): verdadero, envo al sistema remoto de las incidencias generadas por
la unidad activado; falso, desactivado.
SendRealTimeInfo (SRT): verdadero, envo al sistema remoto de los eventos en tiempo real
generados por la unidad activado; falso, desactivado.

Respuesta
ACK/NAK

15.7.15. OutputQuery
Peticin de activacin de salida digital.

Peticin
Type: 49
Message Data:

Quercus Technologies 184


Manual de referencia de BirdWatch VL Programacin

1 4
Bit Time

Bit: nmero de salida digital a activar.


Time: tiempo que se mantendr la salida activa; en milisegundos.

Respuesta
ACK/NAK

15.7.16. RebootQuery
Peticin de reiniciado de la unidad.

Peticin
Type: 50
Message Data:

4
Operation

Operation (Op): cdigo de la operacin a realizar.


0: reiniciado.
Actualmente slo hay disponible la opcin reiniciado, pero se requiere del cdigo de operacin,
de modo que queda el protocolo abierto a futuras ampliaciones.

Respuesta
ACK/NAK

15.8. Mensajes de confirmacin


15.8.1. ACK
Confirmacin de que el mensaje se ha recibido e interpretado correctamente.

Type: 192
Message Data: no hay campo de datos.

Quercus Technologies 185


Manual de referencia de BirdWatch VL Programacin

15.8.2. NAK
Informa de que un mensaje no ha podido ser correctamente recibido, interpretado o ejecutado.

Type: 193
Message Data:

1 1
EC ESC

ErrorCode (EC): identificador del tipo de error que se ha producido.


0 (Unknown message): el mensaje tiene un formato correcto pero no se conoce su
significado.
1 (Bad format): el mensaje no ha sido recibido correctamente (falla el bcc, faltan bytes,
etc.).
2 (Unknown error): la accin que deba desencadenar el mensaje no ha podido ser
completada por causas desconocidas. Por ejemplo, una tarjeta de E/S defectuosa
puede impedir que una peticin Activate output pueda ser completada con xito.
3 (Bad parameters): alguno de los parmetros del mensaje es incorrecto. El ndice del
parmetro incorrecto se especificar en el campo SubCode.
4 (Cant complete): la accin no ha podido ser completada, por ejemplo porque el
sistema est ocupado en el caso de solicitar una captura de imgenes cuando todava
no ha terminado la captura anterior.
5 (Incorrect Unit Id): el identificador de la unidad que se indica en el mensaje no
corresponde a la unidad a la que se ha enviado.
6 (Incompatible version): la unidad no puede interpretar esta versin del mensaje.
7 (Unsupported feature): accin no soportada, por ejemplo porque se quiere activar la
generacin de incidencias en un detector de cola.
8 (Bad authoritzation): no existe autorizacin para procesar dicha peticin. La librera
BW es compartida por todos los productos de la familia BirdWatch , por lo que hay
funciones no habilitadas para ciertos productos.
ErrorSubCode (ESC): informacin adicional sobre el error producido.

Quercus Technologies 186


Manual de referencia de BirdWatch VL Programacin

16. Funciones adicionales


Las unidades BirdWatch poseen algunas caractersticas auxiliares no mencionadas anteriormente:
Informacin por FTP: permite recuperar la informacin de los sumarios e incidencias
(datos+imgenes) directamente desde el servidor de FTP integrado en la unidad.
Encriptacin de protocolo: permite encriptar el protocolo de comunicaciones UDP o serie del equipo.

16.1. Informacin por FTP


La unidad almacena los sumarios e incidencias generados en el servidor de FTP integrado. Para acceder a
los datos:
ftp://<ip_de_la_unidad>/Log/Incidences
ftp://<ip_de_la_unidad>/Log/Summaries

Para cada sumario se almacena un fichero en formato xml con los datos; para cada incidencia se genera un
fichero en formato xml con los datos y dos ficheros jpg con las imgenes relacionadas (firmado digitalmente
para poder detectar posibles manipulaciones posteriores).

Se debe tener en cuenta que los datos almacenados forman dos histricos (sumarios e incidencias) de
longitud limitada, por lo que, una vez lleno el disco de datos, los ms antiguos se eliminarn
automticamente. Si se quiere modificar el espacio disponible para cada uno de los dos histricos vase
11.1. Configuracin principal del sistema.

16.1.1. Ficheros XML


16.1.1.1. Sumario de presencia
El nombre del fichero xml es <SummaryId>.xml donde SummaryId es el identificador del sumario,
formateado con ceros a la izquierda hasta formar ocho cifras. El contenido del fichero es el siguiente:
Summary: contiene todos los datos del sumario.
Unit: identificador de la unidad.
Detector: identificador del detector.
DetectorType: tipo de detector; PRESENCE para un detector de presencia.
Periodo: periodo durante el que se han recogido los datos.
From: inicio del periodo.
Seconds: expresado en segundos desde las 00:00h de 01-01-1970.
Date: fecha expresada en formato aaaa-mm-dd (ao-mes-dia).
Time: hora expresada en formato hh:mm:ss (horas:minutos:segundos).
To: fin del periodo.
Seconds: expresado en segundos desde las 00:00h de 01-01-1970.
Date: fecha expresada en formato aaaa-mm-dd (ao-mes-dia).
Time: hora expresada en formato hh:mm:ss (horas:minutos:segundos).

Quercus Technologies 187


Manual de referencia de BirdWatch VL Programacin

Volume: nmero de vehculos detectados.


AvgHeadway: periodo medio, separacin media entre vehculos; en segundos.

Ejemplo de fichero XML:

<?xml version="1.0" encoding="UTF-8"?>


<Summary>
<Unit>1</Unit>
<Detector>1</Detector>
<DetectorType>PRESENCE</DetectorType>
<Period>
<From>
<Seconds>1273152323</Seconds>
<Date>2010-05-06</Date>
<Time>15:25:23</Time>
</From>
<To>
<Seconds>1273152623</Seconds>
<Date>2010-05-06</Date>
<Time>15:30:23</Time>
</To>
</Period>
<Volume>33</Volume>
<AvgHeadway>8</AvgHeadway>
</Summary>

16.1.1.2. Sumario de cola


El nombre del fichero xml es <SummaryId>.xml donde SummaryId es el identificador del sumario,
formateado con ceros a la izquierda hasta formar ocho cifras. El contenido del fichero es el siguiente:
Summary: contiene todos los datos del sumario.
Unit: identificador de la unidad.
Detector: identificador del detector.
DetectorType: tipo de detector; QUEUE para un detector de cola.
Periodo: periodo durante el que se han recogido los datos.
From: inicio del periodo.
Seconds: expresado en segundos desde las 00:00h de 01-01-1970.
Date: fecha expresada en formato aaaa-mm-dd (ao-mes-dia).
Time: hora expresada en formato hh:mm:ss (horas:minutos:segundos).
To: fin del periodo.
Seconds: expresado en segundos desde las 00:00h de 01-01-1970.
Date: fecha expresada en formato aaaa-mm-dd (ao-mes-dia).
Time: hora expresada en formato hh:mm:ss (horas:minutos:segundos).
DistributionsOccupation: distribucin de la ocupacin de la cola.
Number: nmero de rangos que componen la distribucin.
RangeX: rango <X>, donde X es el identificador del rango a partir de 1.
InferiorLimit: limite inferior del rango.
SuperiorLimit: lmite superior del rango. En caso de ser infinito, su valor ser -1.
Percentage: porcentaje asociado al rango.

Quercus Technologies 188


Manual de referencia de BirdWatch VL Programacin

Ejemplo de fichero XML:

<?xml version="1.0" encoding="UTF-8"?>


<Summary>
<Unit>1</Unit>
<Detector>1</Detector>
<DetectorType>QUEUE</DetectorType>
<Period>
<From>
<Seconds>1273153006</Seconds>
<Date>2010-05-06</Date>
<Time>15:36:46</Time>
</From>
<To>
<Seconds>1273153366</Seconds>
<Date>2010-05-06</Date>
<Time>15:42:46</Time>
</To>
</Period>
<DistributionOccupation>
<Number>5</Number>
<Range0>
<InferiorLimit>0</InferiorLimit>
<SuperiorLimit>20</SuperiorLimit>
<Percentage>29</Percentage>
</Range0>
<Range1>
<InferiorLimit>20</InferiorLimit>
<SuperiorLimit>40</SuperiorLimit>
<Percentage>15</Percentage>
</Range1>
<Range2>
<InferiorLimit>40</InferiorLimit>
<SuperiorLimit>60</SuperiorLimit>
<Percentage>17</Percentage>
</Range2>
<Range3>
<InferiorLimit>60</InferiorLimit>
<SuperiorLimit>80</SuperiorLimit>
<Percentage>16</Percentage>
</Range3>
<Range4>
<InferiorLimit>80</InferiorLimit>
<SuperiorLimit>100</SuperiorLimit>
<Percentage>11</Percentage>
</Range4>
</DistributionOccupation>
</Summary>

16.1.1.3. Sumario de velocidad


El nombre del fichero xml es <SummaryId>.xml donde SummaryId es el identificador del sumario,
formateado con ceros a la izquierda hasta formar ocho cifras. El contenido del fichero es el siguiente:
Summary: contiene todos los datos del sumario.
Unit: identificador de la unidad.
Detector: identificador del detector.
DetectorType: tipo de detector; SPEED para un detector de velocidad.
Periodo: periodo durante el que se han recogido los datos.
From: inicio del periodo.
Seconds: expresado en segundos desde las 00:00h de 01-01-1970.
Date: fecha expresada en formato aaaa-mm-dd (ao-mes-dia).
Time: hora expresada en formato hh:mm:ss (horas:minutos:segundos).

Quercus Technologies 189


Manual de referencia de BirdWatch VL Programacin

To: fin del periodo.


Seconds: expresado en segundos desde las 00:00h de 01-01-1970.
Date: fecha expresada en formato aaaa-mm-dd (ao-mes-dia).
Time: hora expresada en formato hh:mm:ss (horas:minutos:segundos).
Volumen: nmero de vehculos detectados.
AvgHeadway: periodo medio, separacin media entre vehculos; en segundos.
AvgSpeed: velocidad media de circulacin: en kilmetros por hora.
AvgLength: longitud media de los vehculos: en milmetros.
DistributionsSpeed: distribucin de las velocidades de circulacin aproximadas de los
vehculos detectados.
Number: nmero de rangos que componen la distribucin.
UnknownPercentage: porcentaje de valores que no han podido ser analizados.
RangeX: rango <X>, donde X es el identificador del rango a partir de 1.
InferiorLimit: limite inferior del rango.
SuperiorLimit: lmite superior del rango. En caso de ser infinito, su valor ser -1.
Percentage: porcentaje asociado al rango.
DistributionsLength: distribucin de las longitudes aproximadas de los vehculos detectados.
Number: nmero de rangos que componen la distribucin.
UnknownPercentage: porcentaje de valores que no han podido ser analizados.
RangeX: rango <X>, donde X es el identificador del rango a partir de 1.
InferiorLimit: limite inferior del rango.
SuperiorLimit: lmite superior del rango. En caso de ser infinito, su valor ser -1.
Percentage: porcentaje asociado al rango.

<?xml version="1.0" encoding="UTF-8"?>


<Summary>
<Unit>1</Unit>
<Detector>1</Detector>
<DetectorType>SPEED</DetectorType>
<Period>
<From>
<Seconds>1273153434</Seconds>
<Date>2010-05-06</Date>
<Time>15:43:54</Time>
</From>
<To>
<Seconds>1273153794</Seconds>
<Date>2010-05-06</Date>
<Time>15:49:54</Time>
</To>
</Period>
<Volume>43</Volume>
<AvgHeadway>8</AvgHeadway>
<AvgSpeed>39</AvgSpeed>
<AvgLength>7069</AvgLength>
<DistributionSpeed>
<Number>5</Number>
<UnknownPercentage>0</UnknownPercentage>
<Range1>
<InferiorLimit>0</InferiorLimit>
<SuperiorLimit>40</SuperiorLimit>
<Percentage>20</Percentage>

Quercus Technologies 190


Manual de referencia de BirdWatch VL Programacin

</Range1>
<Range2>
<InferiorLimit>40</InferiorLimit>
<SuperiorLimit>100</SuperiorLimit>
<Percentage>27</Percentage>
</Range2>
<Range3>
<InferiorLimit>100</InferiorLimit>
<SuperiorLimit>140</SuperiorLimit>
<Percentage>27</Percentage>
</Range3>
<Range4>
<InferiorLimit>140</InferiorLimit>
<SuperiorLimit>200</SuperiorLimit>
<Percentage>26</Percentage>
</Range4>
</DistributionSpeed>
<DistributionLength>
<Number>3</Number>
<UnknownPercentage>0</UnknownPercentage>
<Range1>
<InferiorLimit>0</InferiorLimit>
<SuperiorLimit>6</SuperiorLimit>
<Percentage>67</Percentage>
</Range1>
<Range2>
<InferiorLimit>6</InferiorLimit>
<SuperiorLimit>10</SuperiorLimit>
<Percentage>0</Percentage>
</Range2>
</DistributionLength>
</Summary>

16.1.1.4. Incidencia de sentido contrario


El nombre del fichero xml es <IncienceId>.xml donde IncidenceId es el identificador de la incidencia,
formateado con ceros a la izquierda hasta formar ocho cifras. El contenido del fichero es el siguiente:
Incidence: contiene todos los datos de la incidencia.
Id: identificador de la incidencia.
Type: tipo de incidencia. WRONG_WAY para una incidencia de sentido contrario.
Unit: identificador de la unidad..
Detector: identificador del detector.
DetectorType: tipo de detector; SPEED para un detector de velocidad.
Images: informacin acerca de las imgenes capturadas:
Number: nmero de imgenes capturadas.
ImageX: imagen <X>, donde X es el identificador de la imagen.
FileName: nombre del fichero de la imagen.
TimeStamp: momento en el que se ha capturado la imagen.
Seconds: expresado en segundos desde las 00:00h de 01-01-1970.
USecons: microsegundos desde el segundo Seconds (anterior campo).
Para una mayor precisin del momento.
Date: fecha expresada en formato aaaa-mm-dd (ao-mes-dia).
Time: hora expresada en formato hh:mm:ss.us
(horas:minutos:segundos:microsegundos).

Quercus Technologies 191


Manual de referencia de BirdWatch VL Programacin

Speed: velocidad aproximada de circulacin del vehculo que ha generado la incidencia; en


kilmetros por hora.

<?xml version="1.0" encoding="UTF-8"?>


<Incidence>
<Id>1</Id>
<Type>WRONG_WAY</Type>
<Unit>1</Unit>
<Detector>1</Detector>
<DetectorType>SPEED</DetectorType>
<Images>
<Number>2</Number>
<Image1>
<FileName>00000001_1.jpg</FileName>
<TimeStamp>
<Seconds>1273153740</Seconds>
<USeconds>841000</USeconds>
<Date>2010-05-06</Date>
<Time>15:49:00.841000</Time>
</TimeStamp>
</Image1>
<Image2>
<FileName>00000001_2.jpg</FileName>
<TimeStamp>
<Seconds>1273153741</Seconds>
<USeconds>145000</USeconds>
<Date>2010-05-06</Date>
<Time>15:49:01.145000</Time>
</TimeStamp>
</Image2>
</Images>
<Speed>27</Speed>
</Incidence>

16.1.2. Fichero JPEG


El nombre del fichero jpeg de una incidencia es /Log/Incidence/<IncidenceId_ImageId>.jpg, donde
IncidenceId es el identificador de la incidencia, formateado con ceros a la izquierda hasta formar ocho
cifras, y ImageId es el identificador de la captura dentro de la incidencia. El fichero contiene, adems de la
imagen de la incidencia, los datos de la misma en forma de campos de comentario del fichero JPEG. Estos
datos tambin son empleados en el clculo de la firma digital de la imagen, de esta forma quedan ligados
los datos del vehculo con la imagen y el momento preciso en que fue realizada de una forma en la que se
puede demostrar que ninguno de ellos ha sido manipulado.

16.2. Encriptacin de protocolo


Para que la unidad solamente enve y reciba mensajes encriptados debe llenarse la variable
Communications/Password del sistema de configuracin de la misma. Para que la librera de desarrollo
tambin enve y reciba solamente mensajes encriptados debe llenarse la variable Network/Password de
su fichero de configuracin.

La librera de desarrollo no puede gestionar unidades con la encriptacin activada junto con unidades con la
encriptacin desactivada; tampoco unidades con diferentes contraseas de encriptacin. Lo anterior s
puede hacerse, sin embargo, utilizando directamente el protocolo de comunicacin.

Quercus Technologies 192


Manual de referencia de BirdWatch VL Programacin

16.2.1. Formato de encriptacin


El algoritmo de cifrado usado es AES en su variante AES-128, AES-192 o AES-256 dependiendo de la
longitud de la contrasea empleada. El modo de cifrado de bloques es CBC (Cipher-block chaining) con un
vector de inicializacin incluido en el propio mensaje.

Un mensaje encriptado tiene el siguiente formato:

Original message

AES

4 16 16*n
OriginalLen IV Encrypted message Padding

Donde:
Original message: mensaje original UDP o serie.
OriginalLen: tamao en bytes del mensaje original. Este campo es necesario porque la encriptacin
AES hace uso siempre de bloques de 16 bytes con los que el tamao del mensaje original queda
redondeado al siguiente entero mltiplo de 16.
IV: vector de incializacin usado en en la codificacin del mensaje.
Encrypted message + padding: mensaje original encriptado + bytes necesarios para hacerlo de
longitud mltiplo de 16.

El tipo de codificacin AES usada depender de la longitud de la contrasea; para contraseas de 16


caracteres o menos se usar AES-128, para contraseas entre 17 y 24 caracteres se usar AES-192 y para
contraseas entre 25 y 32 caracteres se usar AES-256. La clave AES se obtendr con la contrasea y
bytes a cero hasta rellenar la longitud total de la clave.

1-16
AES-128 Password Padding(000...)

key
17-24
AES-192 Password Padding(000...)

key
25-32
AES-256 Password Padding(000...)

key

Quercus Technologies 193


Manual de referencia de BirdWatch VL Programacin

En las carpetas Src e Include de la carpeta de instalacin encontrar los siguientes ficheros que
implementan dicha encriptacin:
aes.c y aes.h: implementacin de bajo nivel de la codificacin AES.
CryptoTools.c y CryptoTools.h: funciones para encriptar y desencriptar un array de bytes. Hace uso
de las funciones contenidas en aes.c y aes.h
UDPTools.c y UDPTools.h: funciones de comunicacin UDP. Hace uso de las funciones contenidas
en CryptoTools.c y CryptoTools.h para encriptar las comunicaciones.

Todos los ejemplos de programacin que utilizan la librera de desarrollo pueden usar la encriptacin de
protocolo automticamente simplemente estableciendo Communications/Password en sus ficheros de
configuracin.

Quercus Technologies 194


Manual de referencia de BirdWatch VL Apndices

Apndices

17. Apndice A: especificaciones tcnicas


Las especificaciones tcnicas de los modelos BirdWatch VL y BirdWatch VL Plus son idnticas.

Tipo Valor

Producto BirdWatch Virtual Loop



BirdWatch VL
Producto BirdWatch Virtual Loop Plus BirdWatch VL Plus
Referencia BirdWatch Virtual Loop 07000101
Referencia BirdWatch Virtual Loop Plus

07000102
Dimensiones
Altura 126mm
Anchura 126mm
Profundidad 161mm
Peso 880g
Alimentacin
Tensin de entrada 9 -36 Vdc
Consumo 2.5 W
Cableado 2x1.5mm2
Conectividad
Puertos de comunicacin Ehernet 100Mbps, RS-232, RS-485t
Entradas 4 de contacto seco
Salidas 4, de contacto seco, de potencia
Alimentacin salidas 5 V o 12 V seleccionable mediante jumper
Corriente mxima por salida 200 mA
Imgenes
En color 2590x1942 (5Mpx)
En blanco y negro 640X480
Temperatura
Temperatura de trabajo -15C - 60C
Carcasa
Grado de proteccin IP 67
Material Policarbonato
Material base y soportes Poliamida
Color RAL 9006
Color base y soportes RAL 9011

Quercus Technologies 195


Manual de referencia de BirdWatch VL Apndices

18. Apndice B: en caso de avera


Contacte con el departamento de Soporte de Quercus Technologies. Dicho departamento le ayudar a
verificar si efectivamente se trata de una avera o no (puede tratarse de un mal ajuste, configuracin
errnea, etc.). En caso que se confirme la avera el procedimiento es el siguiente:
1. Verifique, conjuntamente con el departamento de Soporte de Quercus Technologies, la avera del
equipo.
2. Substituya los componentes averiados por los de repuesto. Se recomienda disponer siempre de un
mnimo de una unidad de recambio de cada componente del equipo.
3. Contacte con el departamento comercial de Quercus Technologies para que se le
substituyan las piezas averiadas en caso de que se encuentren en garanta. Si el equipo no
se encuentra ya en garanta, el departamento comercial de Quercus Technologies le
preparar una oferta con los precios de los componentes a sustituir o reparar.

Quercus Technologies 196


Manual de referencia de BirdWatch VL Apndices

19. Apndice C: soporte


Si tiene cualquier duda en la configuracin o uso de BirdWatch no dude en contactar con nuestro
departamento de Soporte. Para contactar con el departamento de Soporte:
Telfono: +34 977 300 009
e-mail: support@quercus.biz
Direccin:
c/ Antoni Isern 4, bajos
43205 Reus (Spain)

Quercus Technologies 197


Manual de referencia de BirdWatch VL Apndices

20. Apndice D: valores de [Global] TimeZone


Africa/Bamako America/Guyana America/Dawson_Creek
Africa/Bangui America/Jujuy America/Managua
Africa/Banjul America/Inuvik America/Pangnirtung
Africa/Lome America/Thule America/Asuncion
Africa/Asmera America/Rankin_Inlet America/Menominee
Africa/Bissau America/Juneau America/St_Thomas
Africa/Algiers America/La_Paz America/Sao_Paulo
Africa/Johannesburg America/Maceio America/Mendoza
Africa/Douala America/Manaus America/Guadeloupe
Africa/Ndjamena America/Merida America/Monterrey
Africa/Harare America/Guayaquil America/North_Dakota/Center
Africa/Kinshasa America/Montreal America/Araguaina
Africa/Accra America/Nassau America/Port_of_Spain
Africa/Cairo America/Cambridge_Bay America/Shiprock
Africa/Ceuta America/Phoenix America/Anguilla
Africa/Dakar America/Panama America/Dominica
Africa/Lagos America/Puerto_Rico America/Edmonton
Africa/Tunis America/Caracas America/Rio_Branco
Africa/Lubumbashi America/Cayenne America/Tijuana
Africa/Kigali America/Jamaica America/Montevideo
Africa/Malabo America/Porto_Acre America/Santiago
Africa/Maputo America/Recife America/Tortola
Africa/Maseru America/Regina America/Los_Angeles
Africa/Porto-Novo America/Indiana/Knox America/Nipigon
Africa/Monrovia America/Indiana/Vevay America/Rainy_River
Africa/Luanda America/Indiana/Marengo America/El_Salvador
Africa/Lusaka America/Indiana/Indianapolis America/Halifax
Africa/Niamey America/Buenos_Aires America/Santo_Domingo
Africa/Freetown America/Danmarkshavn America/St_Vincent
Africa/Windhoek America/Mazatlan America/Indianapolis
Africa/Kampala America/Iqaluit America/Godthab
Africa/Gaborone America/Boa_Vista America/Montserrat
Africa/Conakry America/Virgin America/Chihuahua
Africa/Mogadishu America/Chicago America/Noronha
Africa/Brazzaville America/Ensenada America/Grenada
Africa/Timbuktu America/Catamarca Antarctica/Casey
Africa/Addis_Ababa America/Costa_Rica Antarctica/Davis
Africa/Bujumbura America/Fortaleza Antarctica/Syowa
Africa/Nouakchott America/St_Johns Antarctica/Mawson
Africa/Casablanca America/St_Kitts Antarctica/Palmer
Africa/Mbabane America/Miquelon Antarctica/Vostok
Africa/El_Aaiun America/St_Lucia Antarctica/Rothera
Africa/Libreville America/Port-au-Prince Antarctica/DumontDUrville
Africa/Dar_es_Salaam America/Vancouver Antarctica/McMurdo
Africa/Ouagadougou America/Porto_Velho Antarctica/South_Pole
Africa/Khartoum America/Winnipeg Arctic/Longyearbyen
Africa/Nairobi America/Martinique Asia/Almaty
Africa/Sao_Tome America/Cordoba Asia/Anadyr
Africa/Tripoli America/Whitehorse Asia/Aden
Africa/Abidjan America/New_York Asia/Baku
Africa/Djibouti America/Glace_Bay Asia/Dili
Africa/Blantyre America/Yakutat Asia/Beirut
America/Mexico_City America/Detroit Asia/Gaza
America/Adak America/Louisville Asia/Hovd
America/Atka America/Grand_Turk Asia/Omsk
America/Belize America/Fort_Wayne Asia/Oral
America/Lima America/Goose_Bay Asia/Aqtobe
America/Nome America/Yellowknife Asia/Brunei
America/Cancun America/Curacao Asia/Baghdad
America/Cayman America/Hermosillo Asia/Bahrain
America/Bogota America/Tegucigalpa Asia/Bangkok
America/Dawson America/Paramaribo Asia/Makassar
America/Denver America/Scoresbysund Asia/Vladivostok
America/Cuiaba America/Swift_Current Asia/Harbin
America/Antigua America/Kentucky/Louisville Asia/Amman
America/Havana America/Kentucky/Monticello Asia/Aqtau
America/Belem America/Knox_IN Asia/Dacca
America/Aruba America/Anchorage Asia/Dhaka
America/Boise America/Eirunepe Asia/Dubai
America/Thunder_Bay America/Rosario Asia/Yekaterinburg
America/Guatemala America/Barbados Asia/Kabul

Quercus Technologies 198


Manual de referencia de BirdWatch VL Apndices

Asia/Macao Australia/NSW Europe/Athens


Asia/Macau Australia/West Europe/Luxembourg
Asia/Calcutta Australia/Darwin Europe/Dublin
Asia/Qatar Australia/Hobart Europe/Andorra
Asia/Seoul Australia/North Europe/Vilnius
Asia/Tokyo Australia/Perth Europe/Belgrade
Asia/Kuwait Australia/South Europe/Belfast
Asia/Manila Australia/Canberra Europe/Chisinau
Asia/Bishkek Australia/Melbourne Europe/Malta
Asia/Muscat Australia/Sydney Europe/Minsk
Asia/Jakarta Australia/Adelaide Europe/Paris
Asia/Riyadh Australia/Tasmania Europe/Sofia
Asia/Saigon Australia/Broken_Hill Europe/Vaduz
Asia/Taipei Australia/Lord_Howe Europe/Brussels
Asia/Tehran Australia/Yancowinna Europe/Lisbon
Asia/Thimbu Australia/Victoria Europe/Madrid
Asia/Choibalsan Australia/Lindeman Europe/Bratislava
Asia/Urumqi Australia/Queensland Europe/London
Asia/Irkutsk Australia/Brisbane Europe/Kaliningrad
Asia/Karachi Brazil/Acre Europe/Monaco
Asia/Kashgar Brazil/East Europe/Moscow
Asia/Ulan_Bator Brazil/West Europe/Prague
Asia/Colombo Brazil/DeNoronha Europe/Stockholm
Asia/Rangoon Canada/Pacific Europe/Samara
Asia/Krasnoyarsk Canada/Yukon Europe/Skopje
Asia/Ashkhabad Canada/Mountain Europe/Tirane
Asia/Yakutsk Canada/Central Europe/Vienna
Asia/Istanbul Canada/Eastern Europe/Warsaw
Asia/Tashkent Canada/Newfoundland Europe/Budapest
Asia/Singapore Canada/East-Saskatchewan Europe/Simferopol
Asia/Yerevan Canada/Atlantic Europe/Zagreb
Asia/Jayapura Canada/Saskatchewan Europe/Zurich
Asia/Samarkand Chile/EasterIsland Europe/Bucharest
Asia/Ashgabat Chile/Continental Europe/Istanbul
Asia/Riyadh87 Etc/GMT Europe/Amsterdam
Asia/Riyadh88 Etc/UCT Europe/Copenhagen
Asia/Riyadh89 Etc/UTC Europe/Uzhgorod
Asia/Pontianak Etc/GMT0 Europe/Tiraspol
Asia/Kuching Etc/Zulu Europe/Tallinn
Asia/Magadan Etc/GMT+10 Europe/Helsinki
Asia/Shanghai Etc/GMT+11 Europe/Sarajevo
Asia/Pyongyang Etc/GMT+12 Europe/Zaporozhye
Asia/Jerusalem Etc/GMT-10 Europe/Nicosia
Asia/Kuala_Lumpur Etc/GMT-11 Europe/Gibraltar
Asia/Tbilisi Etc/GMT-12 Europe/Ljubljana
Asia/Hong_Kong Etc/GMT-13 Europe/Vatican
Asia/Dushanbe Etc/GMT-14 Indian/Mahe
Asia/Damascus Etc/Universal Indian/Chagos
Asia/Sakhalin Etc/GMT+0 Indian/Comoro
Asia/Thimphu Etc/GMT+1 Indian/Kerguelen
Asia/Chungking Etc/GMT+2 Indian/Maldives
Asia/Kamchatka Etc/GMT+3 Indian/Cocos
Asia/Nicosia Etc/GMT+4 Indian/Christmas
Asia/Ujung_Pandang Etc/GMT+5 Indian/Mauritius
Asia/Chongqing Etc/GMT+6 Indian/Reunion
Asia/Tel_Aviv Etc/GMT+7 Indian/Antananarivo
Asia/Novosibirsk Etc/GMT+8 Indian/Mayotte
Asia/Vientiane Etc/GMT+9 Mexico/BajaSur
Asia/Qyzylorda Etc/GMT-0 Mexico/BajaNorte
Asia/Phnom_Penh Etc/GMT-1 Mexico/General
Asia/Ulaanbaatar Etc/GMT-2 Mideast/Riyadh87
Asia/Katmandu Etc/GMT-3 Mideast/Riyadh88
Atlantic/Canary Etc/GMT-4 Mideast/Riyadh89
Atlantic/Azores Etc/GMT-5 Pacific/Yap
Atlantic/Faeroe Etc/GMT-6 Pacific/Apia
Atlantic/Bermuda Etc/GMT-7 Pacific/Fiji
Atlantic/Reykjavik Etc/GMT-8 Pacific/Guam
Atlantic/Jan_Mayen Etc/GMT-9 Pacific/Niue
Atlantic/Cape_Verde Etc/Greenwich Pacific/Truk
Atlantic/St_Helena Europe/San_Marino Pacific/Wake
Atlantic/Madeira Europe/Kiev Pacific/Easter
Atlantic/Stanley Europe/Berlin Pacific/Pago_Pago
Atlantic/South_Georgia Europe/Oslo Pacific/Efate
Australia/ACT Europe/Riga Pacific/Nauru
Australia/LHI Europe/Rome Pacific/Palau

Quercus Technologies 199


Manual de referencia de BirdWatch VL Apndices

Pacific/Samoa Pacific/Wallis US/Alaska


Pacific/Kosrae Pacific/Galapagos US/Pacific
Pacific/Majuro Pacific/Kwajalein US/Hawaii
Pacific/Midway Pacific/Tongatapu US/Samoa
Pacific/Honolulu Pacific/Fakaofo US/Michigan
Pacific/Guadalcanal Pacific/Auckland US/Arizona
Pacific/Noumea Pacific/Gambier US/Mountain
Pacific/Ponape Pacific/Rarotonga US/Central
Pacific/Saipan Pacific/Funafuti US/East-Indiana
Pacific/Pitcairn Pacific/Port_Moresby US/Aleutian
Pacific/Tahiti Pacific/Marquesas US/Eastern
Pacific/Tarawa Pacific/Enderbury US/Indiana-Starke
Pacific/Chatham Pacific/Kiritimati
Pacific/Johnston Pacific/Norfolk

Quercus Technologies 200

Das könnte Ihnen auch gefallen