Kpi_cfg Lenguaje del ‘path’ o ruta para obtener los equipos/variables
El sistema se basa en los tipos de equipo que queramos obtener.
Lo primero que debemos seleccionar es un tipo de equipo principal que queramos analizar, para ello usamos la letra ‘t’seguido del numero de tipo de equipo que queramos obtener. Por ejemplo un motor principal sería t1.
Si tenemos mas de un equipo asociado a ese tipo podemos seleccionarlo mediante su índice añadiendo la letra i y el numero de índice. Recordar que los índices empiezan en 0. Así pues si queremos obtener el motor auxiliar 3 sería t2i2.
Una vez obtenemos el equipo principal puede que queramos ir hacia uno o mas subequipos, para ello añadimos el separador para indicar que acabamos con el equipo padre y añadimos ‘-‘ seguido de esto de la misma forma que antes le indicamos
el subequipo esta vez con la letra ‘s’ en vez de la ‘t’, por ejemplo queremos acceder al caudalímetro del motor auxiliar 4 sería ‘t2i3-s14’ (equipo de tipo 2 índice 3 subequipo de tipo 14). Podemos seguir añadiendo subequipos de forma ilimitada uno tras
otro mediante la misma formula. Tenemos un sistema para detectar dentro de los subequipos uno muy en concreto cuando tenemos varios del mismo tipo dentro del equipo padre, y sería luego del número de tipo de subequipo añadir entre » en mayúsculas
un fragmento del nombre del equipo al que queremos acceder, por ejemplo, queremos el enfriador del motor principal 1 ER -> ‘t1i0-s13-s13’DESPUES DE’-s13’ESTRIBOR’ y si queremos el enfriador del motor principal 1 BR -> t1i0-s13-s13’DESPUES DE’-s13’BABOR’
Para obtener la variable, una vez acabamos con el equipo, añadimos el separador ‘|’ para indicar que empezamos con la variable y simplemente añadimos el id de la variable que queramos de ese equipo. Así pues pdemos obtener los m3 del caudalímetro del motor auxiliar 4 -> ‘t2i3-s14|421’,
otros ejemplos con los anteriores equipos: presión enfriador del motor principal 1 BR t1i0-s13-s13’DESPUES DE’-s13’BABOR’|402
En cuanto a las CACHE de los kpi funcionan de la siguiente manera:
-Hay dos tipo de CACHE en este sistema, uno mediante COOKIES de sesion y otro mediante BBDD.
Se pueden dar estos tres casos una vez llamamos a un kpi:
1- El kpi para ese barco no se habia llamado nunca antes. Entonces el sistema detecta cual es el equipo/variable asociado a ese kpi y lo almacena en la tabla de cache de kpi en BBDD (kpi_cfg_cache) Una vez esto se inserta tambien se añade este kpi a una COOKIE de sesión para no tener que recalcularla ni buscarla en todo el rato que estemos logeados.
2- El kpi se habia llamado antes pero acabamos de iniciar sesión: Aquí ya tenemos el equipo/variable en la tabla BBDD que almacena esos datos para ese centro, pero no tenemos la COOKIE de sesión, pero lo que el sistema irá a la BBDD a la tabla de cache (kpi_cfg_cache) y recupera los valores del kpi. Una vez los obtenemos los metemos en la COOKIE de sesión para el resto de nuestras consultas.
3- El kpi se habia llamado antes y ya lo habiamos consultado en la sesión actual: En este caso el kpi está almacenado en una COOKIE de sesión y ya no gasta tiempo en consultarlo a la BBDD ni mucho menos recalcular nada.
Dicho esto, si el path de un kpi es incorrecto ó añadimos un kpi específico para un barco cuando anteriormente ya habia consultado el por defecto, esos datos ya estan cacheados en la BBDD, por lo tanto para que los cambios en el path o los nuevos kpi especificos surjan efecto hay que borrar de la BBDD (kpi_cfg_cache) esos kpi asociados al centro en cuestión. Una vez lo hagamos ya se regenerarán con los nuevos valores.
También es recomendable reiniciar sesión, porque sinó la COOKIE de sesión nos devolverá el valor antes de recalcular nada.
El orden sería así:
Si existe COOKIE de sesión ya no va a la BBDD a obtener nada, si la COOKIE no existe irá a buscar los valores a la tabla de cache (kpi_cfg_cache). Si no existen datos en la tabla de cache, el sistema usará una función apra obtener los valores e insertarlos tanto en BBDD como en COOKIE.
Las COOKIES se renuevan una vez reiniciamos la sesión pero la cache de BBDD es permanente por lo que si se hacen cambios la forma de renovar esto es borrar el registro asociado a la tabla (kpi_cfg_cache)
