Upload
truongduong
View
219
Download
0
Embed Size (px)
Citation preview
32
5. INTERFAZ Y OPERACIÓN DE LA HERRAMIENTA
En este apartado se pretende describir la operación de la herramienta desde el punto de
vista del usuario justificando las decisiones de diseño. En el apartado 4 el término
operación hacía referencia al conjunto de datos traducidos y campos adicionales
provenientes de un único vuelo de aceptación. Cuando en este apartado se habla de
operación se está refiriendo a un uso específico del software: análisis gráfico,
programación y detección de eventos etc.
5.1. ACCESO A FUNCIONES
En la Figura 5-1 bajo este texto se muestra un diagrama de navegación en la
herramienta IADV. Los elementos en un cuadrado gris tienen interfaz propia. Las líneas
azules sin flecha indican que el usuario puede alternar su interacción entre los elementos
conectados durante la operación.
Figura 5-1: Diagrama de navegación de IADV
33
MENÚ DE SELECCIÓN DE AERONAVE 5.1.1.
Para utilizar la herramienta, el usuario debe en primer lugar arrancar MATLAB y
establecer su entorno de trabajo en la carpeta raíz de IADV. Una vez la línea de órdenes
parpadee ya se puede iniciar el programa con el comando:
>> inicio
El primer menú al que se accede es el de selección de modelo de aeronave. A partir de
este menú en adelante el modelo ya es fijo, y no se requiere que se vuelva a elegir en
ninguna de las interfaces. La ventaja es muy grande desde el punto de vista de trabajo de
programación (el menú de selección solo ha de programarse una vez, en lugar de una vez
por cada interfaz), y además descarga de opciones el Front-end, lo cual permite un uso más
efectivo del área de interfaz para las tareas de análisis. Por otro lado, tiene la desventaja de
que si un usuario quiere cambiar su sesión de análisis a otro modelo de aeronave, debe
retornar hasta este punto. A continuación se muestra la interfaz en cuestión:
Figura 5-2: Menú de selección de aeronave
Haciendo clic en cualquiera de los tres modelos accedemos a la interfaz principal. El
acceso para el A400M está creado en el menú pues formaba parte de los requisitos al
comienzo del proyecto pero no está enlazado a la interfaz principal (no se realiza ninguna
acción al hacer clic sobre él).
34
MENÚ PRINCIPAL 5.1.2.
El menú principal es el nudo desde donde se accede a todos los módulos con interfaz.
Desde el punto de vista del usuario es el nodo donde puede decidir qué operación desea
realizar. Desde este menú puede:
- Acceder al cargador CSV si desea realizar una traducción
- Comenzar una nueva sesión de análisis (acceso a la interfaz principal)
- Cargar una sesión de análisis guardada (acceso a la interfaz principal)
- Ver los campos adicionales de una operación
- Crear un nuevo perfil de análisis
- Aplicar un perfil de análisis (acceso a la interfaz principal)
Para las tres acciones que acceden a la interfaz principal, se puede elegir el número de
gráficas discretas deseado en un menú pop-up entre 0, 2 y 4 (sobre el número y tipo de
gráficas en la Interfaz Principal se hablará en el apartado 5.4.1).
Si hacemos clic sobre el icono del modelo de aeronave volvemos al menú de selección
de aeronave.
A continuación se muestra una captura de dicho menú:
Figura 5-3: Menú principal
35
5.2. TRADUCCIÓN Y GESTIÓN DE DATOS
Las interfaces implicadas en la traducción y gestión de datos son el Cargador CSV, el
cargador múltiple, y la interfaz de Ver operación.
Por cada archivo (o archivos fraccionados) de datos de vuelo hay que realizar una vez la
operación de traducción para que pueda ser analizado con IADV. Los datos de operación
generados se guardarán en la correspondiente carpeta (Carpeta raíz\Modelo de
avión\Operaciones).
Tras iniciar el programa lo primero es seleccionar el modelo de aeronave correcto. En
base a esta selección el cargador CSV importará un diccionario u otro. En el caso de
acceder con el modelo erróneo la mayoría de las variables no serán reconocidas (y por cada
una de ellas se mostrará un mensaje de advertencia en la línea de órdenes).
Tanto si se desea hacer una traducción de un archivo individual, como de uno múltiple,
es necesario acceder al cargador CSV desde el menú principal. A continuación se muestra
la interfaz del mismo:
Figura 5-4: Interfaz del Cargador CSV
36
Aquí el usuario debe introducir la dirección del archivo CSV a ser traducido, los
instantes de comienzo y final de la traducción, y los campos adicionales del vuelo.
Para introducir la dirección del archivo es posible hacerlo a mano, o con un browser
(Botón “Buscar”). El usuario debe tener en cuenta que la dirección ha de ser completa. Por
ejemplo:
C:\MATLAB\Datos C295\Prueba1.csv
Adicionalmente existe un botón con la etiqueta “Múltiple” que sustituye al botón
“Buscar” y permite la carga de archivos CSV fraccionados. A esta función se volverá en el
apartado 5.2.1.
Los campos “Comenzar” y “Terminar” son útiles en el caso de que no se desee traducir
el total de los datos, sino solo un intervalo de extremos conocidos. Puede darse el caso de
que un avión haya realizado más de un vuelo sin descargar los datos de la FDR, y
posteriormente se haga la descarga de todos los datos en un solo archivo CSV. Si las
duraciones aproximadas de cada uno de los vuelos son conocidas, se pueden obtener varias
operaciones a partir del archivo CSV (una por vuelo).
Los campos adicionales son todos opcionales, la traducción se puede llevar a cabo
estando uno o varios de ellos vacíos. Para todos ellos que no se rellenen, aparecerá la
cadena “Desconocido” en los datos de operación. Sin embargo, desde el punto de vista de
la gestión de archivos, es recomendable al menos seleccionar un nombre de operación,
MSN y fecha, para evitar la confusión entre vuelos.
Como ayuda al usuario, al seleccionar un archivo de datos (antes de comenzar la
traducción) se muestra la duración y cantidad de parámetros de los datos. Con el botón
cargar comienza la traducción.
CARGA MÚLTIPLE 5.2.1.
El principio de funcionamiento de la carga múltiple se describió en el apartado 4.1.2.3.
El usuario no sólo debe seleccionar el conjunto de los archivos fraccionados CSV, sino que
debe indicar al software qué lugar ocupan en el conjunto global; estos es, ordenar las
submatrices en la matriz general.
37
Para ellos se provee al usuario de un diagrama con códigos de posiciones para las
submatrices, y campos de búsqueda de archivo (como en la carga CSV individual)
asociados a dichos códigos. Esto se puede apreciar en la siguiente figura:
Figura 5-5: Interfaz del Cargador múltiple
Como ejemplo, tómese el caso de un vuelo de aceptación del C-295 con 300 parámetros
y una duración de 20000 segundos. Si en la descarga por parte de ADRAS/ROSE se decide
hacer grupos de un máximo de 201 parámetros (lo cual es fiel a la realidad debido a una
limitación del software de descarga), y archivos de un máximo de 12000 segundos de
duración, tendremos de izquierda a derecha y arriba a abajo en los datos:
- 1 archivo de 201 parámetros y 12000 segundos de duración
- 1 archivo de 99 parámetros y 12000 segundos de duración
- 1 archivo de 201 parámetros y 8000 segundos de duración
- 1 archivo de 99 parámetros y 8000 segundos de duración
El primero deberá asignarse a la casilla A1, el segundo a la casilla A2, el tercero a la
casilla B1, y el cuarto a la casilla B2.
38
Después de cada uno de los cambios en la selección de archivos (introducción de
direcciones) se efectúa un control de coherencia. Las reglas de coherencia se definieron en
el apartado 4.1.2.3. Si la coherencia no se cumple, la interfaz da un mensaje de aviso y la
carga no es posible. Para cada uno de los archivos seleccionados se muestra su duración y
su número de parámetros.
VER OPERACIÓN 5.2.2.
De cara a la gestión de archivos, el software realiza por defecto ya una clasificación,
según el modelo de aeronave. Accediendo a las correspondientes carpetas de operaciones
se pueden abrir los archivos txt con los campos adicionales para tener la información
completa sobre el vuelo de aceptación (suponiendo que se hayan introducido dichos
campos en la traducción). Pero IADV ofrece otro método para acceder a esta información.
Es la opción Ver operación accesible desde el menú principal. No muestra ninguna
información adicional a parte de la ya mencionada:
Figura 5-6: Ventana Ver operación
5.3. CREACIÓN Y EDICIÓN DE DICCIONARIOS
Los diccionarios de IADV son archivos CSV creados con Microsoft EXCEL. No hay
limitación en cuanto al nombre del archivo, ni respecto a la extensión, siempre y cuando el
formato sea el correcto.
39
El diccionario tiene que constar de 8 columnas, y tantas filas como parámetros se
deseen definir. No se admiten filas de cabecera vacías ni títulos, al igual que no se
permiten columnas vacías a la izquierda. La columna 1 se puede rellenar automáticamente
con una sucesión de números enteros empezando en 1. En la columna 2 se pueden recoger
todos los nombres de variables que se hayan detectado en los datos. La cadena de
caracteres aquí escrita se comparará con las cadenas encontradas en el archivo CSV y se
considerarán como no coincidentes si se diferencias en espacios al principio o al final. No
obstante, la comparación no es sensible a mayúsculas.
Para rellenar las columnas 3 a 6 (cuyo contenido está descrito en el apartado 4.1.1) es
necesario conocer la naturaleza de las variables en cuestión. La columna 7 se puede
rellenar con los valores numéricos máximos y mínimos contenidos en los datos conocidos
sobre la aeronave para las variables analógicas, y los estados posibles para las variables
discretas (separados por barras “/” y sin espacios).
La columna 8 puede ser en principio una copia de la columna 2, y luego ser editada
poco a poco a medida que avancen las tareas de armonización de nombres de variable entre
las diferentes aeronaves.
Una vez que se ha creado un diccionario, para que sea el utilizado con un determinado
avión, es necesario editar el archivo importdic.m:
Figura 5-7: Código de importdic.m
function [currentdic,dicc]=importdic(modelo) switch modelo case 'C-295' dicc= 'DiccionarioC295v1.csv' ; case 'C-235' dicc= 'DiccionarioC235v1.csv' ; case 'C-235DW' dicc= 'DiccionarioC235DWv1.csv' ; otherwise error( 'Aún no hay diccionario para este modelo.' ) end fid = fopen(dicc); currentdic = textscan(fid, '%d%s%s%d%s%s%s%s',30000, 'Delimiter' , ';' ); fclose(fid);
40
Y sustituir el nombre de archivo correspondiente de entre los marcados en gris.
También es condición indispensable que el diccionario creado se encuentre en la carpeta
raíz de IADV, como se indicó en el apartado 4.2.2.
5.4. ANÁLISIS GRÁFICO
El procedimiento normal del usuario cuando desea realizar el análisis de unos datos que
ya han sido previamente traducidos es a grandes rasgos el siguiente:
1) Arranque del programa y selección de modelo de aeronave
2) Nuevo análisis, selección de la operación a analizar
3) Acceso al GV y selección de variables de interés según el ámbito del problema a
analizar. ¿Existe ya un set de variables creado para este propósito? Vuelta a la
Interfaz Principal
4) Acceso al GE y detección de eventos del tipo despegue, aterrizaje, etc para delimitar
fases de vuelo, o incluso diferentes vuelos.
5) ¿Hay eventos específicos ya creados para el problema a estudiar? Detección de
eventos con previa programación si aplica. Vuelta al Interfaz Principal.
6) Análisis de las gráficas con la ayuda de los eventos detectados (línea de eventos)
actuando sobre:
a. Intervalo de tiempo (slider y zoom)
b. Selección de variables representadas (tabla de selección de variables)
c. Escalado de variables (zona de ajustes de gráfica analógica)
d. Data Cursor para conocer valores exactos
7) Compilación de resultados
a. Capturas de pantalla
b. Guardado de análisis
La interfaz consta básicamente del área de gráficas, la tabla de selección de variables
para la representación, la zona de ajustes de gráfica analógica, los menús de archivo y
opciones, y accesos al GV y GE.
41
Figura 5-8: Interfaz Principal
ÁREA DE GRÁFICAS 5.4.1.
La estructuración del área de gráficas se ha hecho de forma que las tareas de análisis
sean lo más efectivas, rápidas y cómodas posible, a la vez que cumplan los requisitos.
La primera decisión de diseño es la de concentrar la representación en una sola ventana.
El salto entre ventanas para comparar valores de diferentes variables entorpece
enormemente la efectividad del análisis. El espacio del que se dispone está por tanto
limitado por el tamaño y resolución de la pantalla. El diseño de la interfaz se ha optimizado
para una resolución de 1280x768 píxeles.
El requisito R2.4 exige la representación simultánea de varios gráficos. La segunda
decisión en el diseño del área de gráficas es la de que todas las gráficas representadas
compartan el eje x (tiempo). De esta forma, en cada momento se estará analizando un
intervalo concreto de tiempo, centrado en torno a un solo punto y con el mismo nivel de
zoom X en todas las gráficas. Esta coherencia ayuda a crear para el usuario una visión de
lo que sucede en diferentes sistemas en un instante o periodo, y facilita la conexión mental
42
entre fenómenos que se observen. Se ha juzgado que la posibilidad de analizar varios
intervalos a la vez podría dar lugar a confusión.
Además, las gráficas se han dispuesto de forma que no sólo representen el mismo
intervalo en x, sino que además se distribuyan una encima de otra con sus ejes x (siempre
en la dirección horizontal) paralelos y con sus orígenes sobre una línea vertical.
El control del eje tiempo se hará entonces para todas las gráficas conjuntamente. Esto se
consigue a través de tres instrumentos:
- Un slider que controla el centro del intervalo de tiempo representado, y que además
representa simbólicamente el nivel de zoom a través del tamaño del deslizador.
- Un campo Ir a que hace saltar el centro del intervalo al segundo introducido.
Realiza la misma función que el slider pero con mayor precisión, para los casos en
que se conoce de antemano la zona en concreto que se quiere estudiar.
- Una pareja de botones + y -, que aumentan y reducen el nivel de zoom (amplitud del
intervalo de tiempo representado).
A continuación se muestra una captura de la interfaz real:
Figura 5-9: Área de gráficos
43
Donde podemos ver que sobre una línea vertical se representan los valores de varias
variables en el mismo instante de los datos.
En la grafica analógica (mitad superior) se representan cuatro variables en diferentes
colores (negro, rojo, azul y verde) con sus cuatro respectivos ejes y para permitir el
escalado en y de forma independiente, como exige el requisito R2.5. Los cuatro ejes y se
distribuyen en dos a la izquierda y dos a la derecha. Se ha limitado a cuatro el número de
variables que se pueden representar porque una tercera fila de ejes verticales estaría
demasiado lejos del área de representación como para poder estimar los valores de las
variables.
Las gráficas discretas no se superponen, sino que se apilan. Esta solución es más
práctica pues, al tener las variables discretas un número muy reducido de posibles valores,
pueden permitirse ser muy cortas en la dirección vertical y evitar la mezcla de
representaciones sobre la misma área.
El requisito R2.12 exige una Interfaz personalizable en cuanto al número y posición de
gráficas con ciertas configuraciones predefinidas. Se han creado tres modelos de interfaz,
seleccionables desde el menú principal (véase el apartado 5.1.2). Los tres modelos tienen
una gráfica analógica con cuatro variables en la parte superior, y un número variable de
gráficas discretas (0,2 y 4) en la parte inferior. Las gráficas discretas tienen un tamaño fijo,
y la superior se adapta para ocupar todo el espacio restante.
44
INTERFAZ DEL GV 5.4.2.
El módulo Gestor de Variables en sí se abre a través de un botón en la Interfaz
principal. En la siguiente figura se puede ver la interfaz del GV:
Figura 5-10: Interfaz del GV
El principio es muy sencillo. Hay dos listas de variables: la de variables disponibles y la
de variables seleccionadas. Las variables disponibles son todas aquellas que se encuentren
en los datos. Las variables seleccionadas son un grupo de entre las disponibles, que han
sido escogidas mediante la función añadir.
Las variables seleccionadas son aquellas que se exportan a la tabla de selección en la
Interfaz Principal. Por tanto, el objetivo del módulo es la cómoda y rápida de dicha lista.
Los tres modelos de avión tienen un número de varios cientos de variables en el
diccionario, que están potencialmente contenidas en los datos. La búsqueda en esta lista
resulta en general poco práctica. Para facilitar la tarea de crear la lista de variables, se han
implementado una serie de filtros.
La sección de filtros afecta a la lista de variables disponibles. Se distinguen dos tipos:
filtro de capítulo ATA y filtro de cadena de caracteres. El primero permite seleccionar un
45
capítulo, y de la lista de variables disponibles aparecen solo las variables que pertenecen a
ese capítulo. El segundo muestra solo las variables que contienen en un determinado
campo del diccionario la cadena de caracteres introducida. El campo puede ser
seleccionado entre nombre abreviado, nombre completo, posibilidades, o una combinación
de ellos.
El botón Quitar permite eliminar variables de la lista de las variables seleccionadas,
aunque por supuesto permanecen en la lista de las disponibles.
El menú de archivo permite guardar y cargar sets de variables creados. Es posible que
se cree un set de variables con unos datos de vuelo, donde aparecen una serie de variables
del diccionario que no estarán en los datos en otras sesiones de análisis. Si en uno de estos
casos se intenta cargar el set de variables guardado, el usuario recibirá un mensaje de
advertencia indicándolo. Además, en la línea de órdenes se listan las variables que
pertenecen al set y no están en los datos.
Si presionamos el botón Aceptar, la lista de variables seleccionadas se envía a la
Interfaz Principal (se reflejará en la tabla de selección de variables), y el GV se cierra. Si
presionamos el símbolo X en la esquina superior derecha de la pantalla el GV se cierra sin
realizar cambios en las variables de trabajo.
46
TABLA DE SELECCIÓN 5.4.3.
La interacción de la Interfaz Principal con el GV se realiza a través de la llamada tabla
de selección:
Figura 5-11: Tabla de selección
En esta tabla se listan las variables que quieren ser estudiadas una vez han sido
seleccionadas en el módulo GV. Se separan automáticamente entre analógicas (arriba) y
discretas (abajo). La primera columna mostrada es el nombre abreviado (armonizado,
columna 8 del diccionario). Las columnas 2 a 5 contienen casillas para activar la
representación de variables en cada uno de los 4 colores (N: negro, R: rojo, A: azul, V:
verde). A partir de la columna 6 en adelante se da información adicional sobre la variable:
nombre completo, capítulo ATA, posición en los datos, posición en el diccionario, tipo,
unidades, y Máximo/mínimo o estados posibles.
En el caso de que se haya seleccionado la plantilla sin ninguna gráfica discreta, o con
solo 2, las columnas de la tabla correspondientes a las gráficas no existentes desaparecen.
47
USO DEL GE EN EL ANÁLISIS GRÁFICO 5.4.4.
Los requisitos R3.x hacen referencia a la programación de una función de detección de
eventos y algunas propiedades adicionales, pero no exigen que se incluyan en la interfaz de
análisis.
El módulo Gestor de eventos puede funcionar independientemente para cumplir su
función de detección (solo necesita los datos de vuelo y acceso a la lectura del diccionario).
Sin embargo, se ha estimado como provechoso integrar una representación de los
resultados en la Interfaz Principal. Aprovechando la composición del área de gráficas,
donde la alineación vertical permite percibir muy fácilmente la simultaneidad de
fenómenos, se ha añadido la llamada línea de eventos. Esto no es más que una zona por
encima de las gráficas analógicas donde se representan los resultados del GE mediante
símbolos sobre una línea temporal, también alineada en x. A continuación se muestra un
ejemplo:
Figura 5-12: Ejemplo de Línea de eventos
Los diferentes símbolos, que pueden variar en forma y color (véase apartado 4.1.5)
representan diferentes eventos detectados. Por ejemplo, en este caso el círculo amarillo es
un evento de despegue, los puntos rojos se corresponden con entradas en pérdida, y los
triángulos verdes con fallos simulados de motor.
48
La interacción con la Interfaz Principal es parecida al caso del GV. Al pulsar el botón de
acceso al GE la única entrada que se proporciona son los datos de vuelo. Una vez el GE ha
terminado su labor, devuelve sus resultados y son representados en la línea de eventos.
Estas representaciones son, como se ha visto, puntuales (el evento sucede en un instante).
No obstante es preciso puntualizar que los eventos se calculan como intervalos de tiempo
en los que se cumplen unas condiciones. La información completa sobre el principio y fin
de dichos intervalos está al alcance del usuario en el interfaz propio del GE. Sin embargo,
solo los instantes en los que los eventos comienzan se exportan como salida a la Interfaz
Principal. En resumen: el GE calcula cuándo empiezan y cuándo terminan los eventos,
pero en la interfaz de análisis solo se representan los instantes en los que comienzan
mediante símbolos sobre puntos de la línea temporal. Si el usuario desea ver la
información completa de los resultados de detección siempre puede volver a abrir el Gestor
de eventos.
ZONA DE AJUSTES DE GRÁFICA ANALÓGICA 5.4.5.
Esta zona contiene por un lado los controles para cumplir las funciones de escalado en
eje y de las gráficas analógicas, y por otro los asociados a la función Data Cursor (cursor
de datos).
En la siguiente figura se muestra un ejemplo:
Figura 5-13: Zona de ajustes de gráfica analógica
Para cada una de las cuatro gráficas analógicas hay tres modos de definir los límites
(escalado) del eje y:
49
- Modo manual: cuando introducimos un número en el campo Mín. o Máx. de la
interfaz se cambia el límite del eje de la gráfica correspondiente.
- Modo automático: para la gráfica correspondiente, y para el intervalo de tiempo que
es visible en la gráfica en el momento de pulsar, se reescala la representación de
forma que se ocupe todo el diagrama.
- Modo por defecto: carga los valores mínimo y máximo especificados en la columna
7 del diccionario para la variable en cuestión y los asigna a los límites del eje y. Es
la opción que se toma por defecto cuando se carga una nueva variable.
5.4.5.1. Función Data Cursor
La función Data Cursor permite crear etiquetas sobre la gráfica con el valor de puntos
de las curvas representadas. No responde a ningún requisito directamente, pero es la única
manera de conocer exactamente el valor de una variable en un segundo concreto, dado que
los requisitos de representación y sincronización de tabla no han sido satisfechos. Por
desgracia, debido a una limitación de MATLAB, no es posible usarlo en cualquier
momento dado para cualquiera de las gráficas, sino que hay que elegir una cada vez. El
problema se ha solucionado parcialmente implementando un menú “pop-up” que
selecciona una gráfica como activa, de forma que sobre ella actúe la herramienta Data
Cursor. A continuación se muestra un extracto de la interfaz, donde podemos observar una
pareja de datos representada:
Figura 5-14: Ejemplo Data Cursor
50
La función se activa con un checkbox, y la gráfica a la que afecta (negra, roja, azul o
verde) se selecciona de un menú pop-up. Como se ha mencionado antes, la forma de
construir la gráfica analógica no permite una función de Data Cursor que funcione
simultáneamente para todas las cuatro variables. Es decir, si el usuario desea añadir una
etiqueta a un punto de la variable roja, ha de activar la función y seleccionar R en el menú
pop-up (ver Figura 5-14: Ejemplo Data Cursor). Por otro lado, esto puede ser una ventaja
cuando las gráficas de varias variables coinciden en una zona de la gráfica, y es difícil
controlar sobre cuál se está haciendo clic.
Si se hace clic sobre otro punto de la curva, se crea una nueva etiqueta que sustituye a la
primera. En el caso concreto de que se deseen representar varias etiquetas el usuario debe
hacer clics sucesivos manteniendo pulsada la tecla ALT. De esta forma no se elimina
ninguna de las etiquetas creadas. A continuación se muestra un ejemplo:
Figura 5-15
Existen además dos funciones que solo pueden usarse para las etiquetas sobre la gráfica
con Data Cursor activa. La primera es el deslizamiento del cursor: si hacemos clic y
arrastramos el punto negro (cursor) la etiqueta se desliza sobre la gráfica mostrando los
valores correspondientes al punto marcado en cada momento. La segunda es el
posicionamiento de la etiqueta: si se hace clic y se arrastra sobre la propia etiqueta
podemos cambiar la posición de la misma entre cuatro posibilidades (arriba-derecha, arriba
51
izquierda, abajo-derecha, abajo-izquierda). En la figura anterior se pueden ver las cuatro
posiciones posibles.
MENÚ DE ARCHIVO 5.4.6.
El menú de archivo ofrece las opciones Guardar, Cargar y Salir. La función de salir es
idéntica a si se pulsa la X en la esquina superior derecha de la ventana. La función de
Cargar es idéntica a la ofrecida en el menú principal, solo se ha implementado por
duplicado porque tradicionalmente se suele encontrar en el menú de archivo, y el usuario
puede buscarla en este lugar intuitivamente.
En el guardado se almacenan todas las variables de la interfaz, tal como está en ese
momento:
- Variables seleccionadas por el GV
- Eventos detectados
- Variables representadas
- Rango de x representado (zoom y centro)
- Escalas en y
- Estado de las opciones del Menú de opciones
Es decir, el espacio de trabajo completo queda guardado permitiendo recuperar un
estado virtualmente idéntico, con una salvedad: la única característica de la interfaz que no
se guarda es la plantilla de análisis. De esta forma, si durante un análisis sin gráficas
discretas se decide que son necesarias, se puede guardar y seleccionar otra plantilla al
cargar.
La función de guardar y cargar sesiones de análisis no forma parte de ningún requisito.
Sin embargo, se ha creído necesario poder interrumpir el trabajo, cerrar el programa, y
reanudarlo en otro momento. En general existen tres motivos en la operación de análisis
gráfica por los que el usuario puede desear utilizar las funciones de Guardar/Cargar
análisis:
- Si ha de interrumpirse una sesión de análisis que se desea reanudar en otro
momento. Recordemos que se recupera un estado de la interfaz virtualmente
idéntico al guardado.
52
- Si durante el proceso de una sesión de análisis se desea cambiar de plantilla (con un
número diferente de gráficas discretas), se puede guardar la sesión y cargar
(utilizando el acceso de la interfaz principal) con la plantilla deseada.
- A modo de documentación a falta de la función de generación de informes. Si el
usuario encuentra un fenómeno en los datos de vuelo que implica varias variables y
eventos en un intervalo de tiempo, puede representarlo de la forma lo más clara
posible y guardar el análisis con un nombre descriptivo del fenómeno de forma que
sea posible encontrarlo fácilmente a posteriori.
MENÚ DE OPCIONES 5.4.7.
En el menú de opciones se han implementado funciones menores no asociadas a
requisitos, pero que han surgido del diálogo con el Departamento de Sistemas de la FAL a
lo largo del desarrollo del software. Estas son:
- Mostrar ocultar la leyenda. La leyenda es un recuadro en la esquina inferior
izquierda de la gráfica donde se muestran las variables representadas y su color
(véase Figura 5-12). Esto permite al usuario reconocer las variables sin tener que
repasar la tabla de selección. Además, en caso de hacer capturas de pantalla para
documentar el análisis, facilita enormemente la compresión de la gráfica.
- Activar/desactivar notación científica: en caso de estar activada, los números en los
ejes se representan automáticamente en notación científica cuando se supera un
cierto valor. La principal función de esta característica es evitar que algunos
números con muchas cifras se superpongan sobre otros elementos de la interfaz.
- Activar/desactivar rejilla en Y: se pueden mostrar rejillas en y para las gráficas
analógicas roja y negra. Estos son los dos ejes que están pegados al área de gráficas.
De haber función de rejillas para azul y verde, éstas cruzarían los valores del eje de
negro y rojo. Además, por claridad, no es provechoso representar más de dos rejillas
sobre la misma figura.
- Activar/desactivar rejilla en X: muestra una rejilla en x común a todas las gráficas,
analógicas y discretas. Esta función acentúa aún más la percepción del usuario de
que todo lo que ocurre sobre una vertical en el área de gráficas es simultáneo en el
tiempo.
53
5.5. PROGRAMACIÓN Y DETECCIÓN DE
EVENTOS
Estas funciones se han separado del análisis gráfico en la estructura del documento
porque pueden considerarse como una operación independiente. Es el caso por ejemplo,
cuando el usuario no tiene necesidad de un análisis gráfico, pero desea obtener del
software una lista de resultados positivos de algún evento.
PROGRAMACIÓN DE EVENTOS 5.5.1.
La programación de eventos se puede realizar independientemente de las operaciones de
análisis, e incluso de los datos de vuelo.
En el apartado 4.1.5 se describió con profusión el funcionamiento de la detección, y las
reglas sintácticas de las condiciones. En la mayoría de los eventos de interés no es
suficiente con poner condiciones directas sobre los valores de las variables, sino que se
necesita tener en cuenta el crecimiento o decrecimiento de las variables, o incluso la tasa
del mismo con respecto al tiempo.
Dado su gran interés práctico, en este apartado se tratará la elaboración de condiciones
sobre el crecimiento y decrecimiento de variables. Puesto que la única información que
tenemos sobre la tendencia de las variables son sus valores una vez por segundo, no
tenemos más remedio que asociar el crecimiento (o decrecimiento) al salto positivo (o
negativo) que da la variable entre un segundo concreto analizado, y uno o varios segundos
antes o después.
Por ejemplo, si como parte de un evento queremos que una condición sea que el ángulo
de ataque aumente, podemos comparar con un segundo anterior:
AOA1(-1)<AOA1()
O bien con un segundo posterior:
AOA()<AOA(+1)
54
Utilizando saltos de un segundo capturamos la dinámica rápida (tan rápida como los
propios datos nos permiten captar, todas las frecuencias por debajo de un segundo están
fuera del alcance del análisis).
Si la dinámica rápida no nos interesa, y queremos conocer la tendencia en tiempos del
orden de varios segundos, podemos escribir por ejemplo:
AOA1(-4)<AOA1()
Que nos dará un resultado satisfactorio cuando la variable en la realidad tenga una
tendencia clara a crecer o decrecer. Sin embargo, si la variable es estable y oscila
ligeramente en torno a un valor determinado, recibiremos resultados confusos (alternando
entre crecimiento y decrecimiento). Una posible solución es hacer uso del parámetro
duración mínima:
AOA1(-4)<AOA1() con dmin = 4
O comparar con varios valores en el pasado, si queremos un resultado positivo
únicamente en el caso de que se de una continuidad de la tendencia:
(AOA1(-4)<AOA1())&(AOA1(-3)<AOA1())&(AOA1(-2)<AOA1())
Por último, si estuviéramos interesados en la derivada segunda de una variable,
podríamos escribir algo como:
(VAR()-VAR(-2))< (VAR(2)-VAR())
Donde capturamos una concavidad local (en una zona de 2 segundos alrededor del
analizado). Jugando con los puntos de muestreo podemos conseguir capturar diferentes
fenómenos, como se explicó en el caso de crecimiento/decrecimiento.
Pero la utilización de valores en el futuro o pasado tiene una limitación importante. Si
tenemos una condición que analiza el valor de una variable en 20 segundos en el futuro, la
evaluación de la condición no tiene sentido en los 20 últimos segundos de los datos de
vuelo. Análogamente, si utilizamos en una condición el valor de una variable 3 segundos
en el pasado, los 3 primeros segundos de los datos de vuelo no permiten evaluar dicha
condición. El programa dará en estos casos un error de sintaxis (porque no es capaz de
evaluar la condición). La solución es no analizar los datos de vuelo completos, sino
recortar varios segundos al principio y al final (mediante los campos comienzo y final);
55
tantos como el valor máximo entre paréntesis en la condición con signo negativo y positivo
respectivamente.
INTERFAZ DEL GE 5.5.2.
A continuación se describirá cada una de las zonas en las que se divide la interfaz del
GE:
Figura 5-16: Interfaz del GE
5.5.2.1. Zona A: Variables
Figura 5-17: Zona A de la Interfaz del GE
56
La zona A consta de la tabla de variables y de los filtros. En la tabla se listan por
defecto todas las variables del diccionario del avión con el que se está trabajando. Esta
tabla no cumple ninguna función directa en la programación, sino que sirve como
referencia. Normalmente el usuario no conoce de memoria los nombres de las variables y
sus estados posibles en caso de que sean discretas. Como se ha visto en el apartado 4.1.5.4,
en la programación de eventos las variables se representan por su nombre abreviado
(armonizado). Por tanto, es de mucha ayuda para el usuario poder ver qué variables tiene a
disposición para la detección de un evento, y a la vez ver información sobre la variable.
La tabla consta de cuatro columnas:
La primera columna indica si la variable está incluida en los datos con los que se
trabaja. Las variables con una # están en los datos, el resto no. Para realizar una búsqueda
es necesario que todas las variables mencionadas en las condiciones estén en los datos,
pero se puede programar y guardar un evento utilizando variables cualesquiera del
diccionario.
La segunda columna es la lista de abreviaturas de nombre de variable (pnemonic).
La tercera columna es la lista de nombres completos de variable.
La cuarta columna es diferente según la variable sea discreta o analógica. Para el caso
analógico nos da los valores máximos y mínimos que se pueden esperar de la variable
(columna 7 del diccionario para variables analógicas). Por ejemplo, la variable AOA1
(Angle of attack 1) tiene un valor mínimo esperado de -45 grados y máximo de 45 grados.
Para el caso discreto esta columna nos da una lista de las posibilidades numeradas que
puede tomar el parámetro. El número asociado a una posibilidad en concreto es muy
importante en la programación de eventos pues nos permite imponer condiciones sobre los
estados de las variables discretas.
Existen dos filtros de variables en el GE, que se activan junto a la esquina superior
izquierda de la tabla de variables. El primero es el filtro de cadena, que muestra solo las
variables cuyo nombre incluye la cadena de caracteres introducida en el cuadro de texto.
En concreto, la cadena se compara con el nombre de variable abreviado y el completo. Esta
es la forma que tiene el usuario de encontrar una variable en concreto que necesita para una
programación, cuando no está seguro de su nombre abreviado.
57
El segundo filtro oculta las variables del diccionario que no están cargadas en los datos.
Al activar el checkbox solo se muestran en la tabla las variables que pueden ser utilizadas
para una búsqueda con los datos disponibles. Es importante cuando el usuario desea
realizar una búsqueda concreta con los datos actuales.
5.5.2.2. Zona B: Programación de eventos
En la zona B encontramos las herramientas para la programación de eventos:
Figura 5-18: Zona B de la Interfaz del GE
Los botones Cargar y Guardar permiten cargar y guardar los parámetros que definen
un evento (ver apartado 4.1.5.2) mediante un archivo de evento. Esta función responde
directamente al requisito R3.1 (Guardado, cargado y edición de eventos programados), y
es una de las bases de la estandarización de análisis.
El botón Limpiar permite borrar toda la información introducida en la zona B de la
interfaz en la sesión actual. Es decir, nos permite reprogramar un evento desde cero, como
si acabáramos de abrir la interfaz.
58
El Nombre del evento es el que se muestra en los resultados en la zona C, así como el
nombre con el que se guarda por defecto el archivo de evento.
Los campos Comienzo y Final en segundos se corresponden con los parámetros
Comienzo y Final del evento. En principio la razón para especificar un intervalo de análisis
es el ahorro de tiempo de detección, y la eliminación de resultados positivos sin interés
para el análisis. Estos campos aceptan varias posibilidades para ser rellenados, según
satisfaga mejor las necesidades del usuario:
- Si se introducen valores numéricos entre 1 y la duración total del vuelo se tomarán
como los segundos en los que la búsqueda empieza y termina.
- Si se dejan en blanco o se introduce el valor 0 se tomarán el Comienzo y Final por
defecto, es decir, desde el segundo 1 hasta el final del vuelo.
- Si se introduce la letra D (mayúscula o minúscula) se tomará la duración total del
vuelo (mostrada en la esquina superior derecha de la caja). Se aceptan también
operaciones aritméticas. Esto es muy útil, por ejemplo, si se quiere que la búsqueda
dure hasta 30 minutos antes del final de los datos. Se deberá escribir en el campo
Final: “D-1800”. Si se desea analizar solo la segunda mitad de los datos se puede
escribir en el campo Comienzo la cadena: “D/2”.
- Si se introduce en alguno de los dos campos la cadena de caracteres “auto” (no
sensible a mayúsculas) se tomará el momento del despegue para el Comienzo y
aterrizaje para el Final. Esto es útil si solo se desea detectar eventos en vuelo. La
determinación de estos momentos se basa en el valor de la variable PA1 (altímetro).
Si dicha variable no se encuentra en los datos obtendremos un mensaje de aviso, y
no podremos utilizar la función.
Por supuesto, el usuario puede introducir numéricamente el intervalo de detección
deseado, utilizando la primera opción. Pero el resto de las opciones están pensadas para
facilitar la automatización en la búsqueda de eventos.
En concreto las alternativas de introducción de los tiempos pueden resultar muy útiles,
para el caso ya comentado de condiciones del tipo crecimiento/decrecimiento (descritas en
el apartado 5.5.1) que utilizan comparaciones con valores futuros VAR(+z). En general, si
se tiene un evento guardado y utilizado a menudo con una condición VAR(+z), tendremos
59
que mirar la duración total en cada sesión de detección, y escribir en el campo final dicha
duración con el valor z substraído. Cabe recordar que si no lo hacemos, al llegar al final de
los datos de vuelo la detección dará un error porque la condición no se puede evaluar. Sin
embargo, si para un valor concreto de z en VAR(+z), por ejemplo 10, escribimos en el
campo final D-10, el análisis siempre será posible sea cual sea la duración D de los datos.
La función (con botón en la zona B) Detectar tiempo de vuelo detecta el despegue y
aterrizaje según el mismo principio que la función auto, solo funciona por tanto cuando la
variable PA1 se encuentra en los datos. Al pulsar el botón se rellenan los campos
Comienzo y Final con los valores numéricos resultantes de la detección. Esta función
puede resultar muy interesante para casos en los que el evento solo tiene sentido en vuelo.
Por ejemplo, si queremos como resultado los fallos de motor, y programamos condiciones
en base a las revoluciones o torque, es muy posible que tengamos positivo durante el
proceso de arranque o parada (las variables oscilan entre valor máximo y mínimo muy
rápidamente). Con la función auto o Detectar tiempo de vuelo limitamos la detección al
intervalo de tiempo en que el avión está en el aire.
Los campos Dmin, C1, C2,… C8, y Combinación permiten introducir dichos
parámetros de evento. En caso de las condiciones, para facilitar la introducción de los
nombres abreviados de variables y evitar pérdida de tiempo por errores tipográficos, se ha
programado una función de escritura automática. Si en la tabla de variables se selecciona
una celda cualquiera asociada a una determinada variable, y a continuación se selecciona
un campo de condición y se presiona la tecla F9, el nombre abreviado (armonizado) de la
variable se copiará al campo de condición.
60
5.5.2.3. Zona C: Lista de resultados
Figura 5-19: Zona C de la Interfaz del GE
La zona C está dedicada a los resultados de las búsquedas ya realizadas y a su
representación en la interfaz principal.
En la parte superior hay una lista desplegable con los resultados de los eventos
analizados en la sesión actual. Por ejemplo, si el usuario realiza una búsqueda del evento
despegue y luego una de parada de motor, obtendrá estas dos posibilidades en el menú. Al
seleccionar un evento la tabla se rellena con los resultados del mismo en la forma:
Momento – Duración. Momento hace referencia al segundo en que comienza el resultado
positivo, y duración a cuántos segundos transcurren hasta que deja de ser positivo. Cómo
se explicó al principio del apartado 4.1.5, esta es la forma completa de presentación de
resultados al usuario. El usuario tiene la información de cuando empiezan y terminan los
intervalos positivos. Por el contrario, los resultados de evento representados en la interfaz
principal solo muestran el instante inicial.
61
En la parte inferior de la zona C se puede elegir cómo representar el evento
seleccionado en el menú desplegable. La representación se hace en la interfaz principal,
pero el tipo y el color del símbolo se seleccionan aquí. También se puede desactivar la
representación.
Con el botón Aceptar y salir volvemos a la interfaz principal habiendo tomado como
salida la lista de resultados y sus respectivas opciones de representación. Si por el contrario
cerramos la ventana los cambios no se tendrán en cuenta.
EVENTOS PREDEFINIDOS 5.5.3.
Se incluyen 4 eventos predefinidos para el C-295 con las condiciones especificadas a
continuación.
5.5.3.1. Despegue
Las condiciones son las siguientes:
- C1: Que los flaps 80 segundos antes del instante analizado tengan una deflexión
mayor de 5 grados.
- C2: Que la media de la medida de los 2 altímetros sea inferior a 2000 pies.
- C3: Que el sangrado del motor 1 esté apagado 30 segundos antes.
- C4: Que el sangrado del motor 2 esté apagado 30 segundos antes.
- C5: Que el tren esté bajado 50 segundos antes del instante analizado.
- C6: Que la variable Air/Ground pase de Ground a Air.
Se han de cumplir todas las condiciones para que el evento dé positivo.
5.5.3.2. Aterrizaje
- C1: Que Air/Ground pase de Air a Ground
- C2: Que la media de la medida de los 2 altímetros sea inferior a 2000 pies.
- C3: Que el tren esté bajado.
- C4: Que los flaps 50 segundos antes tenga una deflexión mayor de 10 grados.
- C5: Que el sangrado del motor 1 esté apagado.
- C6: Que el sangrado del motor 2 esté apagado.
Se han de cumplir todas las condiciones.
62
5.5.3.3. Fallo de motor
- C1: Que la variable Engine Fail esté en Fail.
- C2: Que Air/Ground esté en Air.
- C3: Que el valor de NP de la hélice 1 varíe mucho entre un instante y el anterior.
- C4: Que el valor del torque 1 varíe mucho entre un instante y el anterior.
- C5: Que el valor de NP de la hélice 2 varíe mucho entre un instante y el anterior.
- C6: Que el valor del torque 2 varíe mucho entre un instante y el anterior.
- C7: Que el sangrado del motor 1 esté apagado.
- C8: Que el sangrado del motor 2 esté apagado.
Se ha de cumplir C1 o C2 y C3 y C4 y C7 o C2 y C5 y C6 y C8
5.5.3.4. Pérdida
- C1: Que el ángulo de ataque 1 sea mayor que 10, 2 segundos antes del instante
analizado.
- C2: Que el ángulo de ataque 2 sea mayor que 10, 2 segundos antes del instante
analizado.
- C3: Que la aceleración vertical sea menor que cero.
- C4: Que la altura baje con respecto a 2 segundos anteriores.
Se ha de cumplir C1 o C2 y C3 y C4
5.6. AUTOMATIZACIÓN DE ANÁLISIS
El requerimiento R2.13 exige la implementación de patrones de análisis editables que
automaticen en cierta medida los pasos previos al análisis insustituible del usuario. En la
lista de acciones presentada en la introducción al apartado 5.4 estos pasos previos se
corresponden con los puntos 1 a 5.
Existen algunos análisis que se repiten para multitud de datos de vuelo, en el sentido de
que comparten el conjunto de variables de interés, y los eventos puntuales o fases de vuelo
de interés.
63
Utilizando los elementos ya existentes en el software, sin realizar adiciones a la
arquitectura del programa, se ha implementado una automatización de las siguientes
acciones:
- Carga de un set de variables existente
- Carga de una serie de eventos existentes
- Detección de cada uno de los eventos cargados
- Asociación de símbolos a los resultados de la detección para su representación en la
línea de eventos
Todo ello asociado a un de Perfil de análisis (llamado patrón de análisis en los
requerimientos): set de variables + serie de eventos con símbolos asociados.
Los perfiles de análisis son específicos del modelo de avión, ya que tanto el set de
variables como los eventos lo son.
Desde el punto de vista de la operación de la aplicación, esto da lugar a dos
procedimientos: la creación de nuevos perfiles y la aplicación de perfiles existentes.
64
CREACIÓN DE PERFIL DE ANÁLISIS 5.6.1.
Como se ha descrito en el apartado 5.1.2, el menú principal contiene un acceso a la
interfaz de creación de perfiles. Ésta se muestra en la siguiente figura:
Figura 5-20: Interfaz de creación de Perfil de análisis
La interfaz permite al usuario en primer lugar dar al perfil un nombre, bajo el cual se
guardará por defecto el perfil.
Solo es posible asignar un set de variables. En caso de querer incluir las variables de
varios sets existentes deberá crearse manualmente un set que las englobe a todas. La razón
es principalmente por evitar la complicación del programa, y la limitación de espacio en la
interfaz de creación.
Es posible la asignación de hasta cinco eventos para la detección automática. Para el
número de ellos que se desee utilizar habrá que introducir la ruta de los archivos de evento,
si se desea que se representen en la línea de eventos, y en caso positivo con qué símbolo.
Se ha implementado una función de Cargar para permitir la edición de un perfil
existente y guardado con otro nombre. Además es una forma de examinar el contenido de
un perfil de análisis (la otra forma posible es abrir el archivo de perfil con un editor de
65
texto). La función de guardado funciona análogamente a como lo hace la de guardado de
análisis y set. La utilización del símbolo X en la esquina de la interfaz retorna al menú
principal sin realizar más cambios que lo que se haya guardado.
APLICACIÓN DE PERFIL DE ANÁLISIS 5.6.2.
Presupuesta la existencia de un perfil de análisis para el modelo de aeronave cuyos
datos se quieren analizar, las acciones para completar la operación son:
- En el menú principal, selección del número de gráficas discretas deseadas
- Ejecución de la función Aplicar perfil de análisis
- Selección de datos de vuelo
En general será necesario entonces un tiempo de carga del orden de minutos para la
detección de todos los eventos. Tras completar la carga se abrirá la Interfaz Principal con
los eventos representados en la línea de eventos y las variables deseadas en la tabla de
selección. Si se abre el GE se pueden examinar los resultados detallados y editar las
opciones de representación como si de un análisis manual se tratara.