Introducción


En Operations Hub, el objeto "Trend Card" es la principal solución para representar líneas de tendencia, ya vengan de Historian, de uno de los SCADAs o de múltiples otras fuentes. 


De hecho la "Analysis App" que trae Operations Hub por defecto, implementa este objeto a pantalla completa, a modo de visor de históricos. 


Sin embargo, en aplicaciones más complejas, puede interesar que desde una pantalla concreta, se quiera llamar a este "Trend Card" pasándole como parámetros unos tags por defecto. Así se ahorra el trabajo al usuario de buscar los tags y se da mayor coherencia a la experiencia de usuario. 


En este artículo vamos a ver cómo se puede hacer esta llamada, pasándole al Trend Card estos tags a representar.

Esto es algo que ya se cubre desde este enlace "Use Trend Tags Input for Flexible Trending", pero de una forma muy genérica. El siguiente artículo proporcionará instrucciones más precisas, así como algunos factores clave a tener en cuenta.


Detalle

El Trend Card tiene diferentes propiedades expuestas en el entorno de desarrollo de pantallas. 
En concreto, nos interesa en este caso:
  • Select Favorite
    Con esta propiedad, puede configurar el gráfico de tendencias para cargar un favorito existente en tiempo de ejecución
  • Trend Tags Input
    Seleccione su tipo de cadena global que contiene una lista de etiquetas separadas por comas que desea que se muestren como tendencia con la carga de una página
Example:
dd-historian://${Ryder-HIST}/Ryder_Simulation.Simulation00001, Historian tag: 
dd-historian://${Ryder-HIST}/Ryder_Simulation.Simulation00002,
dd-historian://${Ryder-HIST}/FIX.COMP_001_AVERAGE_VIBRATION.F_CV,
dd-opcua://${WEBHMI}/ns%3D3%3bs%3DANIMATIONTAG.Value,
dd-opcua://${Ryder-FIX}/ns%3D2%3bs%3D13%24COMP_001_DISCHARGE_PRESSURE.CV

  • Trend Config Input/Output
    La entrada o salida de esta propiedad es una representación en cadena de la configuración del gráfico de tendencia actual. Esta contiene todos los datos guardados como parte de un favorito, como el modo de tendencia (tiempo real/histórico), la configuración de tiempo, las etiquetas seleccionadas, etc.

Para enviar valores al Trend Card en el momento de llamarlo, es necesario vincular estas propiedades a un "global" de la Aplicación. De forma que el invocar a la pantalla con el Trend, primero se escribiese en el global y luego se abriese la pantalla.


De las 3 posibilidades, en este artículo nos vamos a centrar en la de "Trend Tags Input", que es la que ofrece mayor flexibilidad en tanto en cuanto permite describir todos los parámetros con los que se quiere representar un tag. En el caso de un tag de Historian, podríamos indicar además del peridoo temporal, si es retrieval mode, y cualquier otro parámetro de detalle.


La dificultad aquí radica en comprender la sintaxis a la hora de declarar todos estos parámetros. En el ejemplo anterior se puede ver que es en general compleja


Cómo validar la sintaxis de los tags a los que se va a hacer referencia:

Para averiguar la nomenclatura para referenciar los tags hay que acudir al entorno de desarrollo HMI del Operations Hub moderno (ubicado en Configuration Hub) y añadir el tag a una pantalla utilizando las queries de tipo EXTENSION


El tag lo añadiremos a un objeto de pantalla sencillo (como sería un texto), arrastrando y soltando. 

Posteriormente, marcamos ese texto (que está vinculado al tag que hemos seleccinoado) y observamos cómo ha hecho la referencia. Esa misma sintaxis que veamos es la que tendremos que utilizar.


En este caso, se está solicitando un tag procedente del interfaz OPC-UA, obteniendo la siguiente nomenclatura para referenciarlo:


dd-opcua://${Local_IGS}/ns%3D2%3Bs%3DChannel1.Cimplicity_Fundamentals.INLET_RATE

Esta es la forma de referenciar desde Operations Hub un tag que, para cualquier cliente OPC-UA estándar sería:
ns=2;s=Channel1.Cimplicity_Fundamentals.INLET_RATE 


Con esta sintaxis clara, ya podemos traspasar la información al global.

El resultado se puede ver en la siguiente imagen, en la que en la parte superior tenemos la representación del contenido de "Trend Config Input/Output" que es en realidad el detalle de toda la configuración activa en ese momento en el Trend Card


Nótese que en este caso, en la leyenda del TrendCard, el sistema muestra la dirección OPC-UA del tag, y no el nombre del tag. Esto en principio es así porque estamos trabajando con una fuente de terceros. Si en lugar de un tag OPC trajésemos un tag de un Proficy SCADA, se mostraría el tagID tal cual esté definido en Cimplicity o iFIX.


Comentarios:

En este ejemplo se pasa al Trend Card únicamente el identificador del tag a mostrar. Otros parámetros como la duración por defecto del trend y demás, se han dejado ya pre-guardados en el Tren Card, ya que no se ha considerado que deban ser ajustados dinámicamente. 
Para modificar directamente estos parámetros, ya sería necesario mapear los global de la aplicación contra "Trend Config Input/Output" y no contra "Trend Tags Input", como se ha hecho en este ejemplo