Skip to main content

Ejemplo: Uso de la biblioteca VisuTrendStorageAccess

Producto: CODESYS Visualization

El TrendStorage API Example.project proyecto de muestra utiliza una visualización para mostrar cómo utilizar el VisuTrendStorageAccess biblioteca para leer trabajos de datos de tendencias.

Para obtener más información sobre el elemento de tendencia, consulte: Elemento de visualización: Tendencia

Descripción

En este ejemplo, el administrador de registro de tendencias guarda los datos de tendencia y luego los lee el VisuTrendStorageAccess API usando código ST. Esto permite la recuperación de datos históricos. Además, los datos de tendencia se pueden exportar.

Cuatro tareas se definen en el TrendStorage API Example.project proyecto de muestra.

  • La tarea estándar llama al PLC_PRG programa para simular datos.

  • Los datos simulados son guardados en una base de datos por el TrendRecordingTask tarea y el componente "Trend Recording Manager".

  • El VISU_TASK task es responsable de actualizar la visualización.

  • La lectura real de los datos de tendencia se realiza en el Task200ms tarea, la TrendStorageAPI_TestProg programa, y el TrendStorageReader bloque de funciones

El ITrendStorageWriterListener La interfaz se utiliza para la notificación activa de nuevos datos.

Para este propósito, el TrendStorageWriterListener bloque de funciones implementa el ITrendStorageWriterListener interfaz y está registrado para el TrendStorageReader bloque de funciones Cuando se guardan nuevos datos, el DataWritten se llama al método con las marcas de tiempo de inicio y finalización y el número de registros guardados.

El TrendStorageReader bloque de funciones y el Read se utilizan para leer registros.

eError2 := instTrendStorageReader.Read(liTimstampFrom := liTimstampFrom2, liTimstampTo := liTimstampTo2,itfTrendStorageReaderConsumer := instTrendStorageReaderConsumer);

El TimeStampRead y ValueRead métodos de instTrendStorageReaderConsumer luego se llaman automáticamente para cada valor.

En el ejemplo, el TrendStorageReaderConsumer bloque de funciones implementa el ITrendStorageReaderConsumer y escribe los valores en la consola del controlador en formato CSV. Si el tamaño de los datos devueltos bloquearía la base de datos durante demasiado tiempo, entonces ETrendStorageReaderErrors.AdditionalReadCallRequired se devuelve como un código de error. La operación de lectura debe continuarse más tarde llamando al ContinueReading método con los mismos parámetros.

Información adicional

Descripción de la visualización

Las señales simuladas se muestran en un elemento de tendencia en la parte superior de la visualización.

  • Las marcas de tiempo mínimas y máximas de los datos de tendencia se muestran en la "Tiempos mínimos/máximos" pestaña.

    _example_vis_trend_api_tab_minmax_time.png
  • Los valores actuales de la DataWritten método se muestran en "Nuevos datos".

    _example_vis_trend_api_tab_new_data.png
  • Los valores se leen en el "Leer valores" pestaña.

    _example_vis_trend_api_tab_read_values.png

La marca de tiempo de inicio se muestra en el campo superior y la marca de tiempo de finalización en el campo inferior.

El "Calcular marcas de tiempo" El botón convierte los datos especificados en la marca de tiempo correspondiente (función inversa: "Calcular fecha/hora"). A continuación, la operación de lectura se puede iniciar haciendo clic en el "Leer almacenamiento de tendencias" botón. haciendo clic "Para de leer" cancelará la operación de lectura. Cuando el "Salida detallada" está activo, los datos se pueden ver en la página de registro del dispositivo. (Hacer no comenzar CODESYS Control Win a través de SysTray). De lo contrario, el número de registros se muestra en la "contar filas" campo.

Requisitos y restricciones del sistema

Sistema de programación

CODESYS Development System (versión 3.5.14.0 o superior)

Sistema de tiempo de ejecución

CODESYS Control Win (versión 3.5.14.0)

Componentes adicionales

-

Aviso

_example_icon.png DESCARGAR Proyecto