过程控制数据监控等

您好,Habr社区的用户。



本文的目的:演示可在调度系统中使用的低成本数据可视化解决方案的实现。



怎么开始的。



在能源行业的一个行业中,约有20个具有10,000多个信号的单元是自动化的;有必要开发一个调度系统来监视APCS的数据。



在这方面,我有兴​​趣实施一种IT解决方案,以图形和视频帧(助记符图)的形式可视化数据。该解决方案应该是可扩展的,跨平台的,易于使用的基于Web的应用程序。因此,功能是助记图,图形。走 …



助记符图



要开发助记符图,需要图形编辑器。



自己开发是困难,昂贵的,因此选择了Visio。



为什么选择Visio?



1-支持矢量图形;

2-具有内置的vba编辑器;

3-允许您创建自己的图形元素库;

4-可以向图形对象添加任意一组属性(参见图1)

。5-通用编辑器,许多用户。



因此,Visio成为我理想的编辑器。





图。1。



图表



在这里比较容易,首先我们考虑了highcharts库,但是由于它是付费的,因此

选择了d3.js。



d3.js是一个非常酷的框架,功能强大,有点难学,但是Internet上有很多示例。



“图表” Web表单使您可以查看不同时间范围的图表,坐标平面,设置比例和其他功能。



应用开发平台



为了开发Web应用程序,选择了ASP.NET Web编程平台,ASP.NET MVC框架,随后将应用程序转移到ASP.NET Core MVC。



该应用程序的工作方式



那么该应用程序如何工作?



该应用程序通过Web api界面接收数据,并以图形和助记符图的形式将其显示给用户。



该应用程序可以通过两种方式工作。



第一种选择:





图2。



如前所述,该应用程序实现了一个Web api接口,通过它可以接收数据,数据服务(程序模块)直接参与了从源接收数据。在第一个版本的工作中,您可以看到服务是在应用程序内部实现的,这在例如应用程序和数据源位于同一网络上时很方便。



第二种选择:





图3



在第二个版本中,服务是应用程序访问数据的单独软件模块。当源和应用程序位于不同的网络上时(例如,将应用程序部署在主机上),可以使用第二个选项。



该应用程序的主要对象是Tag-变量,是工艺过程的测量值。用于标记的一组方法(例如GetTagOnline,GetTagArchive等)实现了Web api接口。



因此,应用程序从服务中获取数据,加载由用户在Visio中开发的助记图,并显示此数据。



助记符图上图形对象的动画



Javascript用于为助记符方案的图形元素制作动画。为了使用户更轻松地开发动画功能,该应用程序具有一个小型库,其中包括例如以下功能:printf(文本),SetText(对象,索引,值),SetBackColor(对象,索引,值),SetVisible(对象,值),GetTag(标签名)等

。例如,测量值显示功能:



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


管理,配置。



对于配置,使用配置文件,用户可以在其中创建配置文件,添加服务等。此应用程序是控制台,可以作为双赢服务使用。

该应用程序使用内置的Kestrel跨平台Web服务器。



该文章被称为“并且不仅限于自动化过程控制系统的数据监视”。该应用程序原则上可以显示可以以图表,图表等形式呈现的任何数据。

谢谢大家的阅读,我对批评和任何反馈感兴趣。谢谢。



仅此而已,下面是该应用程序的一些图片。



助记符图表的示例(由文件eplan-> autocad-> visio制成):











图形:










All Articles