Generalidades

Proficy GE Historian implementa diferentes técnicas de compresión para optimizar el tamaño de sus registros. Éstas, en combinación con los diferentes "retrieval modes" a la hora de consultar los datos almacenados, ofrecen a los usuarios una potente combinación que hace de Historian uno de los motores de historización más eficientes y versátiles del mercado.

Collector Compression

Se gestiona desde el área “Default Compression” en la configuración del tag en Historian:

Básicamente se trata de conseguir que el colector recoja “N” muestras, pero reporte a Historian “M” muestras (siendo M < N)

La compresión a nivel de colector se apoya en 2 criterios:

  • Deadband
    Descartamos cambios en la señal fuera de una “banda muerta”
    (definida por valor absoluto o porcentaje, referida al valor anterior recibido)

  • Timeout
    Descartamos cambios en la señal hasta llegar a un tiempo máximo, en el cual forzamos que la señal sea considerada a pesar de no rebasar la “banda muerta”


Luego, para evitar que la compresión tenga efectos secundarios de distorsión en la historia del tag (al consultar Historian, éste interpola para rellenar los huecos entre las muestras reales -o “raw”- almacenadas) tenemos lo que se denomina “Spike Logic Control”


  • Spike Logic Control
    La “Spike logic control” es algo que se aplica ya no a nivel de colector, sino de archivado. Tiene como objetivo evitar que las interpolaciones se desvíen de la realidad por culpa de datos anómalos (“spikes”) que se puedan colar en Historian de forma indeseada.

    Para conseguir esto, Historian monitorea los datos que llegan del colector.
    Si de repente llega un dato anómalo (una “spike”) entonces Historian entra una muestra justo antes del spike con el valor del último dato registrado (que igual se registró horas antes, y ya no hubo nuevos registros por la compresión de colector). Así se consigue amortiguar la distorsión de la “Spike” en las interpolaciones.

Para configurar esto, tenemos 2 parámetros:

  • Multiplier
    Indica cómo de anómalo debe de ser el valor para que se active la “spike logic” (cómo de grande ha de ser la “spike” respecto a la “deadband” que tengamos definida a nivel de colector)

  • Interval
    Indica cuántas muestras deben de haberse descargado por la compresión del colector, para que tengamos que preocuparnos de las “spikes”


Todo lo relativo a la “spike logic”
 está explicado al detalle aquí



Archive Compression

Se gestiona desde el área “Storage” de Historian (ya no tiene que ver con el colector)


Se trata de un segundo filtro. Algo que hacemos sobre la información que nos llega del colector (que puede haber sido ya filtrada por la “collector compression”) para reducir todavía más la información a introducir en los archivos iha de datos históricos.


Es algo que se define también a nivel de tag, y que solamente tiene sentido para tags analógicos (no afecta ni a strings ni a valores digitales)


El concepto consiste en distinguir de entre los datos entregados por el colector, si éstos describen algún tipo de tendencia que pueda permitir “resumirlos” sin perder información. Imaginemos que tras aplicar la “collector compression”, comenzamos a recibir datos que en esencia son una línea recta con una determinada pendiente. Realmente podríamos descartar parte de las muestras y quedarnos únicamente con el inicio y el final de la recta. Todos los datos intermedios los reconstruye Historian con las interpolaciones que se hacen al lanzar las consultas.


Para conseguir esto, cuando activamos la “archive compression”, Historian se encarga de aguantar en memoria los datos que le llegan del collector, antes de escribirlos en el archivo iha. De esta manera puede analizar el valor y decidir si es relevante como para meterlo en el iha, o si puede descargarlo por considerarlo “predecible” a partir de lo que ya ha archivado. Esto técnicamente se describe cómo “evaluar si la nueva muestra excede la ‘archive compression’ o puede descartarse”.


Los criterios para evaluar si una muestra es “predecible” o no (es decir, si “excede la archive compression” o no) son básicamente 


  • Linealidad (con una cierta tolerancia, configurable)

  • Timeout (hay un tiempo máximo, pasado el cual se registrará la muestra independientemente de si es “predecible” o no)

Para más información, disponemos de la explicación completa sobre la “archive compression” , incluyendo diversos ejemplos concretos



Conclusión

Las diferencias entre la compresión a nivel de collector y la compresión a nivel de archivado, las tenemos resumidas en la siguiente frase del manual de Historian: 

“la compresión de colector se produce cuando se descarta el valor entrante recogido. 
La compresión de archivo se produce cuando se descarta el valor actualmente almacenado”