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

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

SCADA BortX с поддержкой языка управления в рамках ANSI ISA-88 для ESP8266

13.09.2020 16:10:25 | Автор: admin
Признаюсь честно очень люблю cовременные микроконтроллеры. В частности, производства китайского производителя Espressif Systems с интерфейсом Wi-Fi. Речь, естественно, идет о ESP8266 и ESP32, которые обладают большим потенциалом в образовательном контексте.

image

Конечно, у них есть свои недостатки. Но цена. Это чудо. В частности, если покупаешь условный Witty Cloud за три доллара, в котором даже не надо мучаться вопросами питания и программирования. Сфера применения в IoT позволяет создать собственные проекты автоматизации различными путями классическим образом: путем написания кода и работы в IDE. Или через тот же FLProg. Однако, как всегда, есть нюансы, несколько тормозящие репрезентацию работы в рамках типового применения ESP8266 как аппаратной основы. И проблема вовсе не в сетевом подключении, осуществляемой к домашней/офисной локальной сети с выходом в Internet через роутер. Устройства работают прилежно и могут выступать их в качестве Zigbee-координаторов при определенной конфигурации. ESP8266/ESP32 могут работать как в роли точки доступа так и оконечной станции. При нормальной работе в локальной сети ESP8266 конфигурируется в режим оконечной станции. Для этого устройству необходимо задать SSID Wi-Fi сети и, в закрытых сетях, пароль доступа. Для первоначального конфигурирования этих параметров удобен режим точки доступа. В режиме точки доступа устройство видно при стандартном поиске сетей в планшетах и компьютерах. Остается подключиться к устройству, открыть HTML страничку конфигурирования и задать сетевые параметры. После чего устройство штатно подключится к локальной сети в режиме оконечной станции.

Управление и визуализация данными в реальном времени важная задача. Однако, далеко не всегда доступен быстрый старт в этом деле. А ведь после этого необходим их анализ. Важна также роль линии времени на графике показать частоту и равномерность измерений. История процесса нужна для анализа и диагностики. Без необходимых знаний и анализа весь потенциал данных остается недоиспользованным, что является недоработкой и вызывает необходимость в инструменте, который может придавать значение цифрам и процентам наглядность и облегчать понимание и интерпретацию данных. Это необходимо в области научного эксперимента и в производственном процессе.

Онлайн-инструменты визуализации данных являются подходящим ответом на этот вызов времени. Отдельной задачей видится объединение данных, то есть синтез информации. Масштабирование во времени, выделение участка просмотра, масштабирование по оси Y, сдвиг по оси Y все это необходимые атрибуты инструментов визуализации, благодаря которым даже самые сложные графики и диаграммы, просмотр которых вы осуществляете в панели (dashboard), будут наглядны и понятны. Одним из вариантов онлайн-визуализации данных с поддержкой SCADA является новый проект BortX.

Полагаю, что ознакомление с ним поможет вам в проведении экспериментов в реальном масштабе времени (например в простой реализации ваших замыслов в образовательном процессе). Для работы нужно лишь зашить скетч Спутник на ваш ESP8266. С его кодом вы можете ознакомиться по ссылке. Модификация на ваше усмотрение обязательное условие работы: ввести SSID и пароль для подключения ESP к вашему маршрутизатору. Кстати, пилотный проект спутника находится по адресу.

После загрузки скетча микропроцессор выводит информацию в интернет в виде web-страницы. Регистрация не нужна, ибо каждый микропроцессор имеет уникальный номер и по этому номеру осуществляется доступ через интернет. Сам ID можно узнать, открыв окно состояния COM-порта в Arduino IDE (115кбод/с):

image

По умолчанию идет TCP-порт 6110 использует протокол управления передачей данных (TCP), который является одним из основных протоколов в сетях TCP/IP. TCP является протоколом с установлением соединения и требует квитирования для установки сквозной связи. Только после установления соединения пользовательские данные могут пересылаться в обоих направлениях. Есть возможность установки пароля на страничку и т.д. Но наиболее важным элементом данной системы является условная поддержка языка управления из АСУ ТП.

Язык управления BS-88 основан на стандарте ISA S-88. Пример графического аналога SFC. Язык управления позволяет ESP принимать решения о стратегиях управления на основе текущих условий и позволяет упорядочивать управление ESP в соответствии с потребностями некоторых действий. Этот язык отличается от традиционных языков программирования. Причина в том, что язык описывает действия по управлению производственным процессом.

В соответствии с BS-88, производственный процесс состоит из операций, которые могут происходить одновременно, например, нагрева воды и приготовления компонентов раствора.
В свою очередь операции состоят из фаз, которые выполняются последовательно. Существует только два типа операторов языка управления:

1. Активные операторы.
2. Операторы перехода (с условием или без условия) (transition).

Например, операция нагрева воды:
Фаза 1: открываем водяной клапан;
когда срабатывает датчик уровня, переходим на фазу 2
Фаза 2: закрыть водяной клапан;
включить нагреватель;;
когда температура достигает 60 градусов, переход к фазе 3
Фаза 3: выключить нагреватель;
стоп;

Предположим, что водяной клапан подключен к DO, датчик уровня воды подключен к D5, нагреватель подключен к D1, а A0 это датчик температуры.
Сценарий выглядит следующим образом:

1: $ D0 = 1; // phase1
if($D1 = 1) trans {2}; // wait_for_D5_become_ "on"
2: $ D0 = 0; // phase2
$D2 = 1;
if($А0 >= 60) trans {3}; // wait_for_tempeature
3: $D2 = 0;
stop; // end_of_script


Язык использует написание переменных, таких как принято для ардуино, но на панели переменные могут иметь другое имя, например: Uakk, Set_Ux, Set_temp. Замена имен возможна в редакторе конфигурации. Чтобы получить доступ к редактору, нажмите на значок шестеренки на панели. Есть также переменные для внутренних вычислений или $ X0- $ X9 памяти. У них нет своих полей для отображения, но их можно увидеть, когда мы установим их значения для переменной

$X9 = $ X9 + 1; // автоматическое приращение
$ S3 = $ X9; // отображаем $ X9 в поле S3 приборной панели.


Более полная инструкция по языку управления АСУ ТП размещена на сайте. В режиме конфигурации онлайн прямо с сайта можно задавать сценарии работы:

image

И задавать (менять) названия переменных пинов:

image
Подробнее..

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

07.10.2020 12:08:05 | Автор: admin
Здравствуйте, пользователи сообщества Хабр.

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

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

На одном из производств энергетического сектора было автоматизировано порядка 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. ):





Графики:



Подробнее..

Категории

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

  • Имя: Макс
    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