Beruflich Dokumente
Kultur Dokumente
x
Versin de firmware 1.1.x
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
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.
Quercus Technologies 14
Manual de referencia de BirdWatch VL Conceptos bsicos
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.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.
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++.
Los equipos de supervisin de trfico de la familia BirdWatch poseen un firmware (software que se ejecuta
en el interior de la unidad) actualizable.
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.
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.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
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.
Quercus Technologies 21
Manual de referencia de BirdWatch VL Conceptos bsicos
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.
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.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.
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.
Quercus Technologies 23
Manual de referencia de BirdWatch VL Conceptos bsicos
Quercus Technologies 24
Manual de referencia de BirdWatch VL Conceptos bsicos
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
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.
Quercus Technologies 26
Manual de referencia de BirdWatch VL Conceptos bsicos
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.
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.
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
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.
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.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
# sh <CD-ROM>/Linux/ BirdWatch-1.1.0.run
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.
Quercus Technologies 33
Manual de referencia de BirdWatch VL Software
Quercus Technologies 34
Manual de referencia de BirdWatch VL Software
Quercus Technologies 35
Manual de referencia de BirdWatch VL Software
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.
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.
[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).
Quercus Technologies 39
Manual de referencia de BirdWatch VL Software
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Quercus Technologies 40
Manual de referencia de BirdWatch VL Software
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).
Quercus Technologies 41
Manual de referencia de BirdWatch VL Software
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.
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.
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.
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.
Quercus Technologies 46
Manual de referencia de BirdWatch VL Software
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.
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
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
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.
Quercus Technologies 50
Manual de referencia de BirdWatch VL Software
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.
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.
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.
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
.
.
.
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).
Ntese que NumTrafficLights no es aplicable para los productos BirdWatch VL y BirdWatch VL Plus, por
lo que se le asignar un valor cero.
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
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.
[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
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
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.
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.
El estado de cada una de las entradas ser siempre el definido en la ltima instruccin ejecutada; por
defecto es inactivo.
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.
Quercus Technologies 60
Manual de referencia de BirdWatch VL Software
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
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.
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.
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
Quercus Technologies 64
Manual de referencia de BirdWatch VL Software
9.1. Ejecucin
La herramienta es una aplicacin grfica que debe ejecutarse sin argumentos.
Reglas mtricas
Calzada
Profundidad cero
Unidad BirdWatch
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.
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
1 2 3 4 5 6 7 8 9 10 11 12
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.
Quercus Technologies 69
Manual de referencia de BirdWatch VL Software
Quercus Technologies 70
Manual de referencia de BirdWatch VL Software
Quercus Technologies 71
Manual de referencia de BirdWatch VL Software
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.
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.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
Quercus Technologies 75
Manual de referencia de BirdWatch VL Hardware
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
Quercus Technologies 76
Manual de referencia de BirdWatch VL Hardware
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.
Serial number:
08120100518001
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
Quercus Technologies 79
Manual de referencia de BirdWatch VL Hardware
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
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
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.
Quercus Technologies 84
Manual de referencia de BirdWatch VL Hardware
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
Unidad
BirdWatch
Quercus Technologies 86
Manual de referencia de BirdWatch VL Hardware
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
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.
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.
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
Quercus Technologies 90
Manual de referencia de BirdWatch VL Hardware
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.
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 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.
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
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.
Quercus Technologies 95
Manual de referencia de BirdWatch VL Hardware
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.
Quercus Technologies 96
Manual de referencia de BirdWatch VL Hardware
Fije la unidad
Recoloque la unidad en la pared.
Conecte el prolongador
Separe el soporte multiusos de la rtula de orientacin
destornillando los tornillos de sujecin.
Quercus Technologies 97
Manual de referencia de BirdWatch VL Hardware
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.
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.
Quercus Technologies 99
Manual de referencia de BirdWatch VL Hardware
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
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.
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.
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.
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.
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.
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.
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"
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;
}
}
CEventHandler EventHandler;
if(!System::Initialize("Central.ini","Central.log",&EventHandler))
{
printf("Can't initialize system.\n");
return -1;
}
System::Terminate();
BirdWatchUnload();
return 0;
}
#include BWWrapperCpp
Es el nico fichero de cabecera necesario para interactuar con BirdWatch desde C++.
CEventHandler EventHandler;
Objeto que capturar los 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.
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:
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).
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
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;
if(!System_Initialize("Central.ini","Central.log",
OnRealTimeInfo,
OnIncidence,
OnSummary,
NULL,
NULL)) return -1;
System_Terminate();
BirdWatchUnload();
return 0;
}
include BWWrapperC.h
include "BW.h"
Ficheros de cabecera necesarios para interactuar con BirdWatch desde C.
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(!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.
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 )
Ejemplo:
Linux
Abra una consola.
Sitese en la carpeta Samples/CApi_Basic.
Ejecute el comando make.
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
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 .
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.
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.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
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.
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)
GetDetector
C++: static Detector GetDetector(int unitId, int detectorId)
C: int System_GetDetector(int unitId, int detectorId)
GetTrafficLight
C++: static TrafficLight GetTrafficLight(int unitId,int trafficLightId)
C: int System_GetTrafficLight(int unitId, int trafficLightId)
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
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).
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.1. Propiedades
Count
C++: int Count ( )
C: No existe, consultar System_get_Units_Count ( ) de System.
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).
14.6.1. Propiedades
Id
C++: long get_Id ( )
C: int Unit_get_Id (int h)
Status
C++: UnitStatus get_Status ( )
C: int Unit_get_Status (int h)
Detectors
C++: Detectors get_Detectors()
C: No existe
TrafficLights
C++: TrafficLights get_TrafficLights()
C: No existe
HistoricIncidences
C++: HistoricIncidences get_HistoricIncidences()
C: int Unit_get_HistoricIncidences(int h)
HistoricSummaries
C++: HistoricSummaries get_HistoricSummaries()
C: int Unit_get_HistoricSummaries(int h)
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).
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.
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
ActivateOutput
C++: bool ActivateOutput(int bit, int time)
C: int Unit_ActivateOutput(int h, int bit, int time)
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
GetRealTimeInfo
C++: RealTimeInfo GetRealTimeInfo(int detectorId)
C: int Unit_GetRealTimeInfo(int h,int detectorId)
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)
GetUnitTasks
C++: bool GetUnitTasks(bool *sendInputChanges)
C: int Unit_GetUnitTasks(int h, int *sendInputChanges)
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)
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)
14.8.1. Propiedades
Name
C++: void get_Name(char *buf, int bufLen)
C: void VersionInfo_get_Name(int h, char *buf, int bufLen)
Major
C++: long get_Major()
C: long VersionInfo_get_Major(int h)
Minor
C++: long get_Minor()
C: long VersionInfo_get_Minor(int h)
Revision
C++: long get_Revision()
C: long VersionInfo_get_Revision(int h)
14.9.1. Propiedades
Count
C++: int Count ( )
C: No existe, consultar Unit_get_Detectors_Count(int h) de Unit.
Item
C++: Detector Item ( int item )
C: No existe, consultar Unit_get_Detectors_Item(int h, int item) de Unit.
14.10.1. Propiedades
UnitId
C++: int get_UnitId()
C: int Detector_get_UnitId(int h)
Id
C++: int get_Id()
C: int Detector_get_Id(int h)
Type
C++: BWDetectorType get_Type()
C: int Detector_get_Type(int h)
AreIncidencesEnabled
C++: bool get_AreIncidencesEnabled()
C: int Detector_get_AreIncidencesEnabled(int h)
AreSummariesEnabled
C++: bool get_AreSummariesEnabled()
C: int Detector_get_AreSummariesEnabled(int h)
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)
SendSummaries
C++: bool get_SendSummaries()
C: int Detector_get_SendSummaries(int h)
SummariesPeriod
C++: int get_SummariesPeriod()
C: int Detector_get_SummariesPeriod(int h)
Coordinates
C++: Region get_Coordinates()
C: int Detector_get_Coordinates(int h)
LoopsCoordinates
C++: Regions get_LoopsCoordinates()
C: No existe
OutputActuators
C++: OutputActuators get_OutputActuators()
C: No existe
14.10.2. Mtodos
IsValid
C++: bool IsValid()
C: No existe
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 )
Release
C++: No existe
C: void Detector_Release ( int h )
Ejemplo en C++
if(detector.get_Type() == DT_PRESENCE)
{
PresenceDetector detectorDePresencia;
TratarDetectorDePresencia(detectorDePresencia);
}
Ejemplo en C
if(Detector_get_Type(hDetector) == PRESENCE)
{
TratarDetectorDePresencia(hDetector);
}
Ejemplo en C++
if(detector.get_Type() == DT_QUEUE)
{
QueueDetector detectorDeCola;
TratarDetectorDeCola(detectorDeCola);
}
Ejemplo en C
if(Detector_get_Type(hDetector) == DT_QUEUE)
{
TratarDetectorDeCola(hDetector);
}
Ejemplo en C++
if(detector.get_Type() == DT_SPEED)
{
SpeedDetector detectorDeVelocidad;
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)
Distance
C++: int get_Distance()
C: int SpeedDetector_get_Distance (int h)
Length
C++: int get_Length()
C: int SpeedDetector_get_Length(int h)
Ejemplo en C++
if(detector.get_Type() == DT_RED_LIGHT)
{
TrafficLightDetector detectorDePasoEnRojo;
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)
Distance
C++: int get_Distance()
C: int RedLightDetector_get_Distance (int h)
Length
C++: int get_Length()
C: int RedLightDetector_get_Length(int h)
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)
Input
C++: int get_Input()
C: int RedLightDetector_get_Input(int h)
14.15.1. Propiedades
Count
C++: int Count ( )
C: No existe, consultar Unit_get_TrafficLights_Count(int h) de Unit
Item
C++: TrafficLight Item ( int item )
C: No existe, consultar Unit_get_TrafficLights_Item(int h, int item) de Unit
14.16.1. Propiedades
UnitId
C++: int get_UnitId()
C: int TrafficLight_get_UnitId(int h)
Id
C++: int get_Id()
C: int TrafficLight_get_Id(int h)
NumTLStates
C++: int get_NumLights()
C: int TrafficLight_get_NumLights(int h)
Lights
C++: TLStates get_Lights()
C: No existe
14.16.2. Mtodos
IsValid
C++: bool IsValid()
C: No existe
AddRef
C++: No existe
C: void TrafficLight_AddRef ( int h )
Release
C++: No existe
C: void TrafficLight_Release ( int h )
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).
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.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.
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.
14.19.1. Propiedades
UnitId
C++: int get_UnitId()
C: int RealTimeInfo_get_UnitId(int h)
DetectorId
C++: int get_DetectorId()
C: int RealTimeInfo_get_DetectorId(int h)
DetectorType
C++: BWDetectorType get_DetectorType()
C: int RealTimeInfo_get_DetectorType(int h)
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
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)
Speed
C++: int get_Speed()
C: int RealTimeInfo_get_Speed(int h)
Length
C++: int get_Length()
C: int RealTimeInfo_get_Length(int h)
Occupation
C++: int get_Occupation()
C: int RealTimeInfo_get_Occupation(int h)
IsOccupied
C++: bool get_IsOccupied()
C: int RealTimeInfo_get_IsOccupied(int h)
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 )
Release
C++: No existe
C: void RealTimeInfo_Release ( int h )
14.20.1. Propiedades
Count
C++: int Count ( )
C: No existe, consultar Detector_get_LoopCoordinates_Count(int h) de Unit.
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
14.21.1. Propiedades
X1
C++: int get_X1()
C: int Region_get_X1(int h)
Y1
C++: int get_Y1()
C: int Region_get_Y1(int h)
X2
C++: int get_X2()
C: int Region_get_X2(int h)
Y2
C++: int get_Y2()
C: int Region_get_Y2(int h)
X3
Y3
C++: int get_Y3()
C: int Region_get_Y3(int h)
X4
C++: int get_X4()
C: int Region_get_X4(int h)
Y4
C++: int get_Y4()
C: int Region_get_Y4(int h)
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.
14.22.1. Propiedades
Count
C++: int Count ( )
C: No existe, consultar Detector_get_OutputActuators_Count(int h) de 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.1. Propiedades
Field
C++: BWFieldType get_Field()
C: int OutputActuator_get_Field(int h)
Operator
C++: BWOperatorType get_Operator()
C: int OutputActuator_get_Operator(int h)
Value
C++: int get_Value()
C: int OutputActuator_get_Value(int h)
OutputId
C++: int get_OutputId()
C: int OutputActuator_get_OutputId(int h)
Time
C++: int get_Time()
C: int OutputActuator_get_Time(int h)
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.1. Propiedades
Count
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.1. Propiedades
Type
C++: BWLightType get_Type()
C: int Light_get_Type(int h)
XPos
C++: int get_XPos()
C: int Light_get_XPos(int h)
YPos
C++: int get_YPos()
C: int Light_get_YPos(int h)
Radius
14.26.1. Propiedades
UnitId
C++: int get_UnitId()
C: int Incidence_get_UnitId(int h)
DetectorId
C++: int get_DetectorId()
C: int Incidence_get_DetectorId(int h)
DetectorType
C++: BWDetectorType get_DetectorType()
C: int Incidence_get_DetectorType(int h)
Id
C++: int get_Id()
C: int Incidence_get_Id(int h)
Type
Speed
C++: int get_Speed()
C: int Incidence_get_Speed(int h)
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)
Images
C++: Images get_Images()
C: No existe
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 )
Release
C++: No existe
C: void Incidence_Release ( int h )
14.27.1. Propiedades
Count
C++: int Count()
C: No existe, consultar Incidence_get_Images_Count(int h) de Incidence.
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
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.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
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
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 )
Release
C++: No existe
C: void Image_Release ( int h )
14.29.1. Propiedades
UnitId
C++: int get_UnitId()
C: int Summary_get_UnitId(int h)
DetectorId
C++: int get_DetectorId()
C: int Summary_get_DetectorId(int h)
DetectorType
C++: BWDetectorType get_DetectorType()
C: int Summary_get_DetectorType(int h)
Begin
C++: int get_Begin()
C: int Summary_get_Begin(int h)
End
C++: int get_End()
C: int Summary_get_End(int h)
Volume
C++: int get_Volume()
C: int Summary_get_Volume(int h)
AvgSpeed
C++: int get_AvgSpeed()
C: int Summary_get_AvgSpeed(int h)
AvgLength
C++: int get_AvgLength()
C: int Summary_get_AvgLength(int h)
AvgHeadway
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.
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
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).
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
AddRef
C++: No existe
C: void Summary_AddRef ( int h )
Release
C++: No existe
C: void Summary_Release ( int h )
14.30.1. Propiedades
Count
C++: int Count ( )
C: No existe, consultar Summary_get_SpeedsDistribution_Count(int h) de Summary
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.1. Propiedades
Count
C++: int Count ( )
C: No existe, consultar Summary_get_LengthsDistribution_Count(int h) de Summary
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).
14.32.1. Propiedades
Count
C++: int Count ( )
C: No existe, consultar Summary_get_OccupationsDistribution_Count(int h) de
Summary
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.1. Propiedades
Count
C++: int Count ( )
C: No existe, consultar Summary_get_SpeedsUpperLimit_Count(int h) de Summary
Item
C++: int Item ( int item )
C: No existe, consultar Summary_get_SpeedsUpperLimit_Item(int h, int item) de
Summary
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.1. Propiedades
Count
C++: int Count ( )
C: No existe, consultar Summary_get_LengthsUpperLimit_Count(int h) de Summary
Item
C++: int Item ( int item )
C: No existe, consultar Summary_get_LengthsUpperLimit_Item(int h, int item) de
Summary
14.35.1. Propiedades
Count
C++: int Count ( )
C: No existe, consultar Summary_get_OccupationsUpperLimit_Count(int h) de
Summary
Item
C++: int Item ( int item )
C: No existe, consultar Summary_get_OccupationsUpperLimit_Item(int h, int item) de
Summary
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
14.37.1. Propiedades
Code
C++: BWNotificationCode get_Code()
C: int Notification_get_Code(int h)
Unit
C++: Unit get_Unit()
C: int Notification_get_Unit(int h)
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:
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
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)
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.
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:
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.
Ejemplo:
Pe tici n(v1 )
NAK(6)
Pe tici n(v0 )
Re sp ue sta
Mensajes de confirmacin
ACK
NAK
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.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
15.5.2. OutputActuator
Describe un actuador de salida digital, perteneciente a un detector.
1 1 4 1 4
Field Op Value OId Time
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
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
15.5.5. QueueDetector
Describe un detector de cola.
87 80
Header Loop1..5
15.5.6. PresenceDetector
Describe un detector de presencia.
87 16
Header Loop1
15.5.7. Light
Describe una luz de un semforo.
1 2 2 2
Type X Y Radius
15.5.8. TrafficLight
Describe un semforo.
4 1 35
Id NLg Lights
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
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.
1 1
Bit Val
15.6.2. Notification
Indica que se ha recibido una notificacin del tipo Code.
Type: 1
Message Data:
1
Cod
15.6.3. SummaryInfo
Indica que se ha recibido un sumario.
Type: 2
Message Data:
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
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
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:
4 1 8 4 4 1 4 1
DetectorId Type Timestamp Speed Length WW Occupation IsOc
Peticin
Type: 32
Message Data: no hay campo de datos.
Respuesta
Type: 64
Message Data:
64 1 1 1
Name Maj Min Rev
15.7.2. RealTimeQuery
Peticin del ltimo evento en tiempo real generado en un detector determinado.
Peticin
Type: 33
Message Data:
4
DetectorId
Respuesta
Type: 65
Message Data:
4 1 8 4 4 1 4 1
DetectorId Type Timestamp Speed Length WW Occupation IsOc
15.7.3. StatusQuery
Peticin de estado del sistema de la unidad.
Peticin
Type: 34
Message Data: no hay campo de datos.
Respuesta
Type: 66
Message Data:
4
StartupTime
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
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
Respuesta
Type: 68
Message Data:
4 4 64000
ImageSize Length Buffer
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.
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
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
15.7.8. DetectorTasksQuery
Peticin del estado de las tareas que debe desarrollar un detector.
Peticin
Type: 39
Message Data:
4
DetectorId
Respuesta
Type: 71
Message Data:
4 1 1 1 1 1
DetectorId SmE InE SSm SIn SRT
15.7.9. DetectorsCountQuery
Peticin del nmero de detectores configurados en la unidad.
Peticin
Type: 40
Message Data: no hay campo de datos.
Respuesta
Type: 72
Message Data:
4
Count
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
137
RLDetect
128
SpdDetect
103
PresDetect
167
QueDetect
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:
4
Count
15.7.12. TrafficLightInfoQuery
Peticin de la informacin acerca de un semforo configurado en la unidad.
Peticin
Type: 46
Message Data:
4
Index
Respuesta
Type: 78
Message Data:
40
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
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
Respuesta
ACK/NAK
15.7.15. OutputQuery
Peticin de activacin de salida digital.
Peticin
Type: 49
Message Data:
1 4
Bit Time
Respuesta
ACK/NAK
15.7.16. RebootQuery
Peticin de reiniciado de la unidad.
Peticin
Type: 50
Message Data:
4
Operation
Respuesta
ACK/NAK
Type: 192
Message Data: no hay campo de datos.
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
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.
</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>
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.
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.
1-16
AES-128 Password Padding(000...)
key
17-24
AES-192 Password Padding(000...)
key
25-32
AES-256 Password Padding(000...)
key
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.
Apndices
Tipo Valor