Actualización Monitoring 15/12/2023

Nuevas gráficas informe frío
Se han añadido para las gráficas normales el límite a 50º/-50º
Se han añadido unas nuevas gráficas abajo del todo las cuales recogen todas las gráficas anteriores en una solo. Esta gráfica se ha decidido que las líneas del grid sean punteadas para visualizar los datos mejor, a demás todas las líneas estarán ocultas para que no se haga un lío con el primer vistazo que le demos.

Flecha dirección del barco en mapa
Se ha añadido la funcionalidad de que si el barco cuenta con las telemetrías y equipos adecuados podamos determinar hacia donde esta viendo en ese momento. Plasmamos así en el mapa una flecha con dirección a donde el barco apunta.

Solución a coordenadas erróneas mostradas en mapa
Se ha creado una función a la cual enviamos el array de coordenadas que compone la línea de la ruta que ha seguido el barco y elimina coordenadas erróneas. Esta función examina las coordenadas en busca de coordenadas que no sigan la línea de forma lógica y se queda con las coordenadas que componen una línea correcta. Esta función se irá mejorando cuando tenga acceso a mas datos incorrectos u otro tipo de errores que se puedan corregir
Ejemplos de como era antes:

Como está ahora:

Mejoras recolector
Se han añadido numerosos controles de errores y también almacena los gaps en en local en la tabla app_log, para que en un futuro pueda la aplicación usar estos logs para traer de vuelta la información que falte de los csv.
También se ha añadido la posibilidad de quitar el límite de registros para la tabla telemetrías en disco, pudiendo asi guardar en memoria muchos datos sin que estos sean borrados. Se ha actualizado la versión del recolector y del cfg.ini situado en monitoring para que todos los barcos puedan ser actualizados. A demás se han realizado numerosas pruebas para determinar como es el error de descuadre de telemetrías y sus posibles causas.

Nuevo bloque B5 para barcos que quieran el formato MGO y acumulados FUEL
Se ha añadido un nuevo bloque tal como los del FCM pero para los que no tengan FCM y queramos mostrar esos datos

Errores varios corregidos
-Errores de código.
-Error por el cual no se mostraba ruta o puerto en el bloque de Días/Horas de… en el informe del centro
-Error en bunkering a causa de un error de código
-Error en traducciones en varias partes del programa
-Error por el cual se generaban muchas entradas en app_trad en la pantalla infcentro

Actualización Monitoring 21/11/23

Cambios y correcciones al recolector
Se han corregido algunos errores a la hora de pasar telemetrías de ram a disco. Cuando no había nada en ram, se componía mal la cadena de texto SQL entonces arrojaba un error, ahora se analiza que haya registros que insertar, ya no entra en el script que compone en insert.
Se han cambiado los logs para la función encargada de obtener las variables, equipos y variables hf. Arrojaba un error causa de que se componía mal el json. Ahora si no hay datos ya no devuelve nada y en ese caso es el propio recolector el que genera el mensaje de que faltan datos de forma mas específica.

Cambios informe centro
Se ha adecuado la pantalla del centro (infcentro) para cuando tenemos un barco con FCM.
El bloque superior en este caso muestra el total fuel por un lado y por otro el diesel. Estos datos se recogen del equipo fcm del motor principal mas los acumulados de los auxiliares, etc…
Para poder usar este tipo de bloque debemos definir el bloque B como B3.

En el bloque de auxiliares se ha añadido un nuevo bloque con el totalizador de este consumo y potencia. Por defecto este bloque suma todos los consumos y potencias de los auxiliares, pero cuando contamos con un totalizador de consumos de todos los auxiliares y no tenemos los de cada uno, el programa se adapta y ya busca el equipo que contiene ese total y lo pone en este nuevo bloque. Aquí dejo dos imágenes con ambos ejemplos

Cambios informe consumo
Se han realizado cambios en el informe de consumo a la hora de trabajar con barcos que tengan FCM. La pestaña de motor principal esta desactivada y en su lugar hay una nueva de FCM. Las cajas y todos los totalizadores tienen en cuenta si es barco es FCM y si tiene totalizador de consumos para los auxiliares.

Se ha activado también la gráfica para la caldera.

Cambio al calculo de cargas en rutas y puertos
Se ha modificado el precálculo de carga en eventos de ruta para que el valor que cojamos sea el mas actual dentro de la fecha inicio y final que determina la ruta(azul).
A su vez se han puesto en 0 las cargas siempre que se trate de un puerto(verde)

Rework de la función que calcula la ruta GPS
A veces sucedía que la ruta era muy larga y al usar la tabla de medias podía haber algunos desajustes, ahora se usan las tablas en máxima resolución. A su vez se ha cambiado el sistema en el cual se emparejaban las coordenadas latitud y longitud, antes se estaba haciendo por orden de índice en el array devuelto por el SQL lo cual produjo algunos problemas cuando el array latitud no es el mismo de longitud y se descuadraba el resultado y teníamos un calculo de la ruta a veces con errores y aparecían rutas cortadas o con fallos raros. Ahora este emparejamiento se realiza por fecha, primero compongo un array con las fechas y luego el segundo busco según la fecha del primero para asegurarme de que siempre son los datos emparejados los que se muestran. Aqui dejo una imagen de la pantalla de detalle de evento en general, y luego otra del un dia en concreto

Informe de frío
Se ha añadido un nuevo informe al menú(Frio) que detalla las temperaturas de los múltiples tunes de frio que tenga la instalación. Este informe tiene dos formas de mostrar datos. La primera es para periodos menores a 30 días, lo cual funciona como cualquier otro informe, obtengo los datos en máxima y los muestro en las gráficas. Si la cantidad de datos excede el límite que puede mostrar el gráfico para por una función que recude su tamaño conservando la estructura. Aquí un ejemplo de este caso:

El segundo caso es cuando consultamos rangos de fechas mayores a 30 días, entonces usamos la tabla de media resolución, la cual nos da una telemetría real cada 6 horas y así podemos mostrar periodos de tiempo muy largos sin a penas tiempos de carga. Esto también se explica en un aviso azul que aparece en la pantalla, lo cual nos indica que estamos consultando datos en media resolución(6 horas). Este sería un ejemplo de este informe con un periodo de dos meses.

Se ha actualizado este informe para que ahora se muestren los túneles de frio en una pestaña y las bodegas en otra, las cuales antes no se mostraban.

Detección gaps recolector

Se ha añadido la funcionalidad de que el recolector detecte periodos de tiempo en los que no ha recibido telemetrias ya sea por fallo de recolector o por fallo del automata.

Para ello se ha creado la opcion de configuración DATAGAP_LAST la cual nos da cual fue la última insercción correcta en la tabla telemetrias.

Para el control de gaps tenemos un valor en el cfg.ini que nos indica cada cuantos minutos reconocemos que hay gap de datos, este valor se indicaria en la linea: frecuencia_gaps = 60, donde 60 son los minutos que tienen que pasar para que sea reconocido como gap

Cuando la insercción de datos es correcta vemos el DATAGAP_LAST, la cantidad de minutos que han pasado desde esa última insercción y el valor de frecuencia_gaps. Si hay gap, introducimos un mensaje en el log y añadimos una telemetria tal como esta:
 idvariable:5, idequipo:0, momento:DATAGAP_LAST, valor:minutos de gap

Esta telemetria se trasmitirá a la nube para poder analizar los gaps y recuperar esos datos en el futuro.

Actualizacion Rutas cortas – Monitoring

Se ha implementado un sistema por el cual el sistema ahora puede detectar pequeños movimientos entre puertos muy cercanos cuando antes solo se trataba esto como PUERTO.
Este sistema esta funcional para los barcos que usen las rutas cortas.
La función encargada de detectar estas mini rutas, es llamada despues de generar las rutas principales, luego todos los puertos se analizan en busca de estas subrutas. Si encontramos alguna, el sistema partirá ese evento de forma que acabará creando 3 eventos de 1, ya que ahora pasaremos de un PUERTO a PUERTO>RUTA>PUERTO.
Para esta detección sigo usando la variable en la que establecemos cual es el tiempo minimo que tiene que estar el barco moviendose para determinar si esta en ruta o no, este valor es una variable de configuración que tiene cada barco.

También se han añadido los eventos SIN DATOS, los cuales indican periodos en los cual el barco no ha enviado telemetrias y no se puede determinar si el barco se encuentra en ruta o no.

También estamos haciendo correcciones sobre los calculos en los puertos de origen y destino en caso de error. Hay dos tipos de corrección:

  • Se detecta bien la ruta y puerto pero el nombre del puerto origen y destino es diferente. En este caso lo solucionamos modificando el puerto destino con el anteriormente detectado. El puerto corregido lo marcamos con *
  • En caso de falta de datos, o error de coordenadas en los mismos para determinar un puerto, marcamos ese puerto de origen o destino como ERROR, y luego lo sustituimos por el puerto al que debería apuntar mediante lógica. El puerto corregido mediante este sistema se marca como **

Monitoring: Actualización 21/09/2023

Cambios finales a los informes Propulsión, Consumo, Generación para los barcos eléctricos.
Se ha adaptado el informe de propulsión para los motores eléctricos.
Se ha adaptado el informe de consumo para los motores eléctricos.
Se ha adaptado el informe de generación para los motores eléctricos con los siguientes puntos:

  • Variables para las gráficas y tablas para las pestañas de auxiliares, cola y motores puerto.
  • Uso de los equipos PMS>AG# Y PMS>EMG#
  • Gráficas personalizadas cuando sean eléctricos en las diferentes pestañas
  • En la pestaña gestión eléctrica se han añadido gráficas para el % de carga de los equipos y los KW y sus respectivas cajas arriba.

Nuevas cajas en la pantalla de centro para mostrar variables de barcos eléctricos.

Se han corregido errores en el informe de bunkering y a demás se ha añadido un sistema aun sin probar que detecta bunkering en curso. El sistema los presenta como si fuese un evento, pero sin meterlo en ninguna tabla. Los datos se meten en una cookie de sesion los cuales se recuperan para construir la gráfica mediante JS.

Ajustes en varias funciones como getSQLval, lstBunkering y demás para soluciones de errores varios.

Gestión Equipos-Variables en pantalla del centro

Se ha añadido una nueva pestaña llamada Equipos/Variables en la cual hay una tabla que muestra la información del centro en cuanto a equipos y variables relacionadas se refiere. Los equipos son nombrados teniendo en cuenta todos sus equipos padres. Los campos de la tabla son los siguientes:

  • Centro: Nombre del centro que estamos consultando
  • Equipo: (idequipo)Nombre del equipos + equipos padre en este formato padre>hijo>subhijo
  • Variable: (idvariable) unidad | nombre variable
  • Nombre específico: Este nombre se puede editar en el boton de la ultima columna
  • Variable específica: Indica si esta variable es específica, se puede editar en el boton de la ultima columna
  • Alta frecuencia: Determina si esta variable la queremos recoger en el recolector a alta frecuencia en caso de alarma, se puede editar en el boton de la ultima columna
  • Botón editar

El botón editar nos permite cambiar el nombre específico de la variable-equipo que hemos seleccionado, si se trata de variable específica y si queremos recolectarla a alta frequencia

Al guardar, la tabla se recargará automáticamente sin necesidad de recargar la página para una mayor fluidez de trabajo

Menú personalizable

Se ha añadido la posibilidad de ocultar partes del menú para distintos usuarios y centros. Por defecto se mostrarán todas las pantallas en el menú.

En la pantalla panUsu se ha añadido un combobox multiple para seleccionar las pantallas inactivas para ese usuario

En la pantalla panCen ha añadido en la pestaña aplicación, un combobox multiple para seleccionar las pantallas inactivas para ese centro

La desaparición de estas opciones de menú será una suma de las que tenga el usuario + centro consultado

Gráfica actualizable a tiempo real en informe Bunkering

Actualización del informe de bunkering al cual se le ha añadido una gráfica que presenta las siguientes variables:

Densidad -> IDVAR 419 + TIPO EQUIPO BUNKERING
Temperatura -> IDVAR 405 + TIPO EQUIPO CAUDALIMETRO MODBUS
Volumen (m3) -> IDVAR 421 + TIPO EQUIPO BUNKERING
Masa (T)-> IDVAR 403 + TIPO EQUIPO BUNKERING

La gráfica se dispone debajo de los bloques principales. Tanto los bloques como la gráfica hablan del mismo evento de bunkering.

Abajo tenemos la tabla que teníamos anteriormente pero con la diferencia de que al hacer click en el rango de fechas, la pantalla se actualizará sin recarga, modificando las cajas y la gráfica en función al evento que hemos clickado mediante su rango de fechas. Una vez cargan los datos la pantalla vuelve arriba de forma automática.

Cambios informe propulsion – motores principales

Se han añadido pestañas con la información que generalmente llevaban los motores secundarios para todos los motores principales que tenga ese barco.

En la siguiente foto mostramos tantas pestañas como motores principales tengamos. Ahora también mostramos el nombre de cada motor.

El contenido de la pestaña navegación contiene los datos de todos los motores y datos que afectan a la navegación. Mientras que en las siguientes pestañas hay un estudio de cada motor por separado.

También se ha cambiado el nombre de los motores principales en la pantalla del centro para que sea mas preciso saber de que equipo estamos hablando

Actualización barcos eléctricos y otros

Pantalla del centro:
Se han añadido bloques para definir barcos eléctricos en esta pantalla, la guía de como configurarlos esta aquí: https://devlog.doc.argos-coterena.com/2023/07/04/configuracion-pantalla-centro/

Informe de propulsión:
Se ha actualizado el informe para que cambie teniendo en cuenta los barcos eléctricos. Se han modificado partes del informe para dichos barcos.

Informe de consumo:
Se ha actualizado el informe para que cambie teniendo en cuenta los barcos eléctricos. Se han eliminado los motores principales y adaptado la pantalla. Se han quitado las gráficas en la caldera.

Informe de generación:
Se ha actualizado el informe para que cambie teniendo en cuenta los barcos eléctricos. Se han añadido los motores principales al cálculo de energía de planta.

Mejora en las tablas de medias:
Se han arreglado y mejorado las tablas para las columnas de % que contienen el valor 100 o 100+

Cambios al recolector:
Se han añadido dos medidas mas de seguridad al leer datos de modbus para asegurarse de que los datos son correctos.
Se tiene en cuenta y no se continua con la inserción en BBDD si la lectura de bloques ha sido interrumpida por la mitad.
Se tiene en cuenta y no se continua con la inserción en BBDD si el bloque de datos obtenido por modbus difiere en tamaño con el bloque definido en el fichero cfg.ini

Otros cambios:
Se han arreglado fallos en la función encargada de generar los datos de las tablas de medias.
Se han arreglado fallos en la funcion controller encargada de componer la cadena de texto que da formato a las tablas de medias.
Se han arreglado errores en la pantalla de informe bunkering.
Se ha eliminado la opción de ordenar en las tablas de medias.
El estado de GPS será siempre Offline si el barco se encuentra Offline.