Русский
Русский
English
Статистика
Реклама

Из песочницы Мониторинг данных АСУ ТП и не только

Здравствуйте, пользователи сообщества Хабр.

Цель статьи: Демонстрация реализации дешевого решения для визуализации данных, которое можно применять в системах диспетчеризации.

С чего началось.

На одном из производств энергетического сектора было автоматизировано порядка 20 агрегатов с количеством сигналов более 10000, необходимо было разработать систему диспетчеризации для мониторинга данных АСУ ТП.

В связи с этим, мне было интересно реализовать IT-решение для визуализации данных в виде графиков и видеокадров (мнемосхем). Решение должно быть масштабируемым, кроссплатформенным, простым в использовании, web-приложением. И так, функционал мнемосхемы, графики. Поехали

Мнемосхемы


Для разработки мнемосхем необходим графический редактор.

Разрабатывать свой сложно, дорого, поэтому был выбран Visio.

Почему именно Visio?

1 поддерживает векторную графику;
2 имеет встроенный редактор vba;
3 позволяет создавать свою библиотеку графических элементов;
4 имеет возможность добавить к графическому объекту произвольный набор свойств (см. рис.1)
5- распространённый редактор, много пользователей.

Поэтому идеальным редактором для моих целей стал Visio.


Рис.1.

Графики


Тут было проще, сначала рассматривалась библиотека highcharts, но так как она платная,
выбор был сделан в пользу d3.js.

d3.js очень крутой framework, большие возможности, немного сложен в освоении, но на просторах сети много примеров.

Web-форма Графики позволяет просматривать графики на разных временных диапазонах, координатных плоскостях, задавать шкалы и другие возможности.

Платформа для разработки приложения


Для разработки web-приложения выбрана платформа web-программирования ASP.NET, framework ASP.NET MVC, в дальнейшем приложение было переведено на ASP.NET Core MVC.

Как работает приложение


Итак, как работает приложение?

Приложение получает данные через web api интерфейс и отображает их пользователю в виде графиком и мнемосхем.

Приложение может работать в двух вариантах.

Первый вариант:


Рис.2.

Как было уже сказано, в приложении реализован web api интерфейс, через который оно получает данные, непосредственно получением данных с источников занимаются сервисы данных (программные модули). В первом варианте работы видно, что сервисы реализованы внутри приложения, это удобно когда, например, приложение и источники данных находятся в одной сети.

Второй вариант:


Рис.3

Во втором варианте сервисы отдельные программные модули, к которым обращается приложение за данными. Второй вариант может использоваться, когда источники и приложение находятся в разных сетях, приложение, например, развернуто на хостинге.

Основным объектом в приложении является Tag переменная, измеренное значение технологического процесса. Набор методов (например GetTagOnline, GetTagArchive и др.) для работы с тегами реализует web api интерфейс.

Итак, приложение забирает данные с сервисов, подгружает мнемосхему, разработанную пользователем в Visio, и отображает эти данные.

Анимация графических объектов на мнемосхеме


Для анимации графических элементов мнемосхемы используется javascript. Для того, чтобы упростить пользователю разработку функций анимации, в приложении есть небольшая библиотека, которая включает, например следующие функции: printf(Text), SetText(Object, Index, Value), SetBackColor(Object, Index, Value), SetVisible(Object, Value), GetTag(TagName) и др.
Например, функция отображения измеренного значения:

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

Администрирование, настройка.

Для настройки используются конфигурационные файлы, где пользователь создаёт профили, добавляет сервисы и др. Данное приложение консольное, может работать как win-сервис.
Приложение использует встроенный кроссплатформенный веб-сервер Kestrel.

Статья называется Мониторинг данных АСУ ТП и не только.. Приложение может отображать в принципе любые данные, которые можно представить в виде схемы, диаграммы и т.п.
Всем спасибо, что дочитали, интересна критика, любые отзывы. Спасибо.

На этом всё, ниже несколько картинок работы приложения.

Пример мнемосхемы (была сделана из файла eplan >autocad ->visio. ):





Графики:



Источник: habr.com
К списку статей
Опубликовано: 07.10.2020 12:08:05
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Net

C

Scada

Scada разработка программирование

Мониторинг данных

Асу тп

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru