34
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

5. INTERFAZ Y OPERACIÓN DE LA HERRAMIENTAbibing.us.es/proyectos/abreproy/60145/fichero/Jiménez+Rodríguez... · de aeronave. A continuación se muestra una captura de dicho menú:

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.