Monitoreo de datos de control de procesos y más

Hola, usuarios de la comunidad Habr.



Objetivo del artículo: Demostración de la implementación de una solución de visualización de datos barata que se puede utilizar en sistemas de despacho.



Cómo empezó.



En una de las instalaciones de producción del sector energético se automatizaron unas 20 unidades con más de 10.000 señales, era necesario desarrollar un sistema de despacho para monitorear los datos del APCS.



En este sentido, estaba interesado en implementar una solución informática para la visualización de datos en forma de gráficos y fotogramas de video (diagramas mnemónicos). La solución debe ser una aplicación basada en web escalable, multiplataforma y fácil de usar. Y así, la funcionalidad: diagramas mnemónicos, gráficos. Vamos …



Diagramas mnemónicos



Para desarrollar diagramas mnemónicos, se requiere un editor gráfico.



Desarrollar el suyo propio es difícil y costoso, por lo que se eligió Visio.



¿Por qué Visio?



1 - admite gráficos vectoriales;

2 - tiene un editor de vba incorporado;

3 - le permite crear su propia biblioteca de elementos gráficos;

4 - tiene la capacidad de agregar un conjunto arbitrario de propiedades a un objeto gráfico (ver Fig. 1)

5 - editor común, muchos usuarios.



Por tanto, Visio se convirtió en el editor ideal para mis propósitos.





Figura 1.



Gráficos



Aquí fue más fácil, primero consideramos la biblioteca highcharts, pero como es de pago, la

elección se hizo a favor de d3.js.



d3.js es un marco muy bueno, excelentes características, un poco difícil de aprender, pero hay muchos ejemplos en Internet.



El formulario web "Gráficos" le permite ver gráficos en diferentes rangos de tiempo, coordinar planos, establecer escalas y otras características.



Plataforma de desarrollo de aplicaciones



Para el desarrollo de una aplicación web se eligió la plataforma de programación web ASP.NET, el framework ASP.NET MVC, y posteriormente la aplicación fue transferida a ASP.NET Core MVC.



Como funciona la aplicación



Entonces, ¿cómo funciona la aplicación?



La aplicación recibe datos a través de la interfaz web api y los muestra al usuario en forma de gráficos y diagramas mnemónicos.



La aplicación puede funcionar de dos formas.



La primera opción:





Fig.2.



Como ya se mencionó, la aplicación implementa una interfaz web api a través de la cual recibe datos, los servicios de datos (módulos de programa) están directamente involucrados en la recepción de datos de las fuentes. En la primera versión del trabajo se puede ver que los servicios se implementan dentro de la aplicación, lo cual es conveniente cuando, por ejemplo, la aplicación y las fuentes de datos están en la misma red.



Segunda opción:





Fig.3



En la segunda versión, los servicios son módulos de software separados a los que la aplicación accede para obtener datos. La segunda opción se puede utilizar cuando las fuentes y la aplicación están en redes diferentes, la aplicación, por ejemplo, se implementa en un alojamiento.



El objeto principal de la aplicación es Tag, una variable, un valor medido de un proceso tecnológico. Un conjunto de métodos (por ejemplo, GetTagOnline, GetTagArchive, etc.) para trabajar con etiquetas implementa la interfaz API web.



Entonces, la aplicación toma datos de los servicios, carga el diagrama mnemónico, desarrollado por el usuario en Visio, y muestra estos datos.



Animación de objetos gráficos en un diagrama mnemónico



Javascript se utiliza para animar elementos gráficos del esquema mnemónico. Para facilitar al usuario el desarrollo de funciones de animación, la aplicación cuenta con una pequeña biblioteca que incluye, por ejemplo, las siguientes funciones: printf (Texto), SetText (Objeto, Índice, Valor), SetBackColor (Objeto, Índice, Valor), SetVisible (Objeto, Value), GetTag (TagName), etc.Por

ejemplo, la función de visualización del valor medido:



Function Field (Object, Property) {
var Tag = GetTag(Property.Tag1);
SetText(Object,1,Tag.Value);
}


Administración, configuración.



Para la configuración se utilizan archivos de configuración, donde el usuario crea perfiles, agrega servicios, etc. Esta aplicación es una aplicación de consola, puede funcionar como un win-service.

La aplicación utiliza el servidor web multiplataforma integrado de Kestrel.



El artículo se llama "Seguimiento de datos del sistema de control de procesos automatizado y no solo". La aplicación puede mostrar, en principio, cualquier dato que se pueda presentar en forma de diagrama, diagrama, etc.

Gracias a todos por leer, me interesan las críticas, cualquier comentario. Gracias.



Eso es todo, a continuación se muestran algunas imágenes de la aplicación.



Un ejemplo de diagrama mnemónico (se hizo a partir del archivo eplan -> autocad -> visio.):











Gráficos:










All Articles