Sync

Syncore

Motor de procesamiento de datos para el entorno industrial

Syncore

Syncore es el motor de procesamiento de datos para el entorno industrial. Es el corazón de Syncloud y SynConnect, siendo el componente central que permite extraer, filtrar, enriquecer, transformar y almacenar datos industriales en tiempo real en ambas plataformas.

En Syncloud, Syncore procesa los datos que llegan desde SynConnect y desde otros sistemas externos. En SynConnect, Syncore procesa los eventos localmente antes de enviarlos a Syncloud. En ambos casos, Syncore funciona en conjunto con los conectores para procesar eventos y streams provenientes de máquinas y sistemas industriales.

Syncore es útil para transformar o redirigir eventos entrantes. Por ejemplo, podés crear funciones que filtren datos irrelevantes, realicen transformaciones, y generen alertas o notificaciones basadas en eventos o condiciones específicas.

Cómo Funciona Syncore

Syncore procesa streams (instancias de eventos) que llegan desde los conectores. Las funciones especifican cómo obtener datos de una fuente, realizar transformaciones de datos, y qué acciones aplicar a los resultados.

El procesamiento en Syncore sigue estos pasos:

  • Fuente de Datos: La fuente de datos puede ser un evento, una stream, o un sistema externo. Los eventos llegan a Syncore desde los conectores configurados en las máquinas. Cada evento pertenece a una clase que define sus características comunes.

  • Transformación de Datos: Las transformaciones describen el proceso de transformar una stream de entrada. Syncore permite definir funciones que procesan los datos de los eventos, como cálculos algebraicos, contadores, o transformaciones más complejas.

  • Acciones: Después de procesar la stream según las funciones definidas, se pueden aplicar una o más acciones. Por defecto, Syncore almacena las streams procesadas en las bases de datos de Syncloud para su análisis. Además, Syncore puede:

    • Enviar los resultados a sistemas externos mediante conectores de destino.
    • Publicar los resultados a un topic MQTT específico.
    • Generar nuevas streams que se procesan como eventos.

Para una guía paso a paso sobre cómo crear funciones en Syncloud, consulta Crear una Función.

Tipos de Funciones

Syncore soporta dos tipos de funciones:

Funciones Simples

Las funciones simples se definen directamente en la interfaz de Syncloud. Permiten crear nuevos eventos a partir de eventos existentes sin necesidad de escribir código. Syncore soporta dos tipos de funciones simples:

  • Contador: Utiliza una clase de evento para incrementar un contador dentro de los registros de Syncloud. Cada vez que llega un evento perteneciente a la clase seleccionada, se incrementa un contador dentro de la máquina asociada a ese evento.

  • Función Algebraica: Utiliza clases de evento y propiedades de máquinas como variables de entrada. Permite escribir expresiones algebraicas usando operadores similares a los de Excel. Se ejecuta cada vez que llega un evento que funciona como variable, y que la máquina asociada tiene definidas las propiedades utilizadas en la función.

Para más información sobre cómo crear funciones simples, consulta Crear una Función.

Funciones Personalizadas

Para transformaciones más complejas, Syncore permite definir funciones personalizadas escritas en Python. Estas funciones se pueden desarrollar para adaptar Sync a comportamientos específicos de máquinas y necesidades de aplicación únicas.

Las funciones personalizadas en Python permiten:

  • Acceso completo a los datos de las streams.
  • Lógica de procesamiento compleja.
  • Integración con bibliotecas de Python.
  • Transformaciones que no son posibles con funciones simples.

Casos de Aplicación Típicos

  • Monitoreo de Alarmas: En aplicaciones de monitoreo industrial, las máquinas pueden generar eventos cuando ocurren condiciones anómalas. Usando funciones, podés monitorear estos eventos y enviar alertas a sistemas de notificación cuando se detecten fallos o condiciones fuera de rango.

  • Filtrado de Datos: En aplicaciones de adquisición de datos, los sensores pueden generar grandes volúmenes de información. La plataforma puede estar interesada solo en datos cuando ciertos valores exceden umbrales específicos. En este escenario, las funciones pueden filtrar condicionalmente las streams, almacenando solo los datos relevantes.

  • Enrutamiento de Eventos: En aplicaciones industriales, diferentes tipos de eventos pueden requerir procesamiento en diferentes sistemas. Configurando funciones, los eventos relacionados con producción pueden dirigirse a un topic específico para análisis, mientras que eventos de mantenimiento pueden dirigirse a otro topic para sistemas de gestión de mantenimiento.

  • Transformación de Datos: En escenarios industriales, los datos pueden llegar en formatos binarios o protocolos específicos. Las funciones personalizadas en Python pueden decodificar estos formatos y convertirlos a JSON u otros formatos más fáciles de manejar para aplicaciones de negocio. Esto simplifica las dificultades de integración del proyecto.

  • Cálculos Agregados: Las funciones pueden realizar cálculos sobre múltiples eventos, como promedios, sumas, o valores máximos y mínimos dentro de un intervalo de tiempo. Esto permite generar métricas agregadas a partir de streams individuales.

On this page