Qt
Industrial Programming
SCADA
8 February

Куда приводят поиски идеальной SCADA

Два года назад я написал статью “SCADA: в поисках идеала”. Идея была проста — превратить Qt Creator в среду для разработки SCADA. Теперь хочу рассказать, какой путь проделан и что получилось.



Удалось ли достигнуть идеального результата? — Разумеется, нет. На то он и идеал, что недостижим. Зато удалось заметно к нему приблизиться.


Информация для самых нетерпеливых.


Теперь любой желающий может скачать бета-версию Simargl SCADA. Для упрощения погружения в тему есть краткое руководство и его видеоверсия. Ссылки в конце статьи.


Simargl SCADA состоит из двух частей — ядро (драйверы, система тегов и т.п.) и набор виджетов, интегрируемых в Qt Creator.


Когда проект начинался, большая ставка делалась на удобство уже готовой среды. Здесь все очень хорошо — Qt Creator становится лучше (ИМХО), а значит и создавать прикладные проекты все приятнее. Правда, был замечен интересный эффект – после работы с Simargl SCADA возвращаться к классическим пакетам SCADA уже довольно некомфортно, поскольку IDE чаще всего сильно проигрывает Qt Creator.


Сильной стороной Simargl SCADA является получение на выходе скомпилированного файла, что обеспечивает заведомо большую производительность по сравнению с интерпретаторами кода. В какой-то момент стало интересно, насколько именно будет выигрывать по производительности прикладной проект в сравнении с каким-нибудь популярным пакетом. Оказалось, что много — в сравнении с Simatic WinCC v7.4 от 50 до 150 раз на различных тестах (математика, работа графических элементов, доступ к тегам). Если у сообщества будет интерес, могу попробовать написать отдельную статью.


Хорошая производительность означает, что можно использовать менее мощное оборудование, например, собрать прикладной проект для одноплатного компьютера. Результат оказался положительным и принес новый интересный опыт. Если у вас есть возможность собрать Qt под вашу платформу, то и Simargl SCADA будет работать.


Помимо основных задач, характерных для компьютерного уровня систем АСУ, есть еще несколько случаев, в которых использование Simargl SCADA оказалось удобным.


Часто возникает необходимость проверить работу системы на этапе создания ПО, но при минимальных изменениях рабочего кода как ПЛК, так и основной SCADA (стендовые испытания). Тогда можно использовать возможности Simargl SCADA для удобной эмуляции сценариев работы оборудования.


Еще один сценарий, с которым доводилось сталкиваться на практике, это необходимость независимой регистрации состояния сигналов в уже существующих системах. Так бывает, что приходится работать с системами, где нет физической или юридической возможности вносить изменения в ПО, но есть необходимость отследить, что происходит с сигналами на некотором промежутке времени для выявления источника проблем. Тогда берем ноутбук с Simargl SCADA, настраиваем соединения и получаем возможность отслеживать и записывать, что, собственно, происходит.


Сейчас можно скачать тестовую версию Simargl SCADA.


Что вошло в эту версию:


  • драйверы — internal, OPC DA2, Modbus-мастер, Simatic;
  • элементы для построения мнемосхем;
  • сбор данных и вывод архивной информации – журналы, тренды.

Что не вошло:


  • средства для анимированного отображения связанных объектов (трубопроводы, схемы электроснабжения и т.п.). Было принято решение доработать до более внятного способа задания правил раскраски. Думаю, что эта работа будет вскоре завершена.

Актуальные ссылки:


Страница проекта в facebook.
Скачать Simargl SCADA можно здесь.
Знакомство стоит начать с прочтения краткого руководства.
Видео по краткому руководству.
Готовый тестовый проект из руководства и картинки.

Какие элементы системы стоит добавить в первую очередь?
53.5% Отрисовка графических примитивов прямо в Qt Creator с возможностью привязки их свойств к тегам. 15
28.5% Элементы для работы с векторными изображениями. 8
7.1% Возможность простого использования gif-анимации. 2
32.1% Драйвер OPC UA. 9
50% Драйвер Modbus-слейв. 14
25% Конфигуратор настроек проекта. 7
3.5% Что-то другое (напишу в каменты). 1
28 users voted. 15 users abstained.

+16
6.9k 44
Comments 43
Top of the day