Qt
Industrial Programming
SCADA
Comments 43
0
В какой-то момент стало интересно, насколько именно будет выигрывать по производительности прикладной проект в сравнении с каким-нибудь популярным пакетом. Оказалось, что много — в сравнении с Simatic WinCC v7.4 от 50 до 150 раз на различных тестах (математика, работа графических элементов, доступ к тегам). Если у сообщества будет интерес, могу попробовать написать отдельную статью.
Эта информация будет очень актуальна. Интересно будет сравнение не только с WinCC, но и с другими SCADA.
0
Ваша система поддерживает МЭК104? Если да, то сколько datapoints поддерживаете с приемлемой производительностью? А это знаем мы этот WinCC…
-1
МЭК104 — это modbus TCP? Да, поддерживается. Касательно второго вопроса — тут затруднюсь ответить, поскольку не было нагрузочного тестирования. Если есть желание и возможность тестировать — свяжитесь со мной через личку или почтой. Думаю, это вопрос тысяч сигналов. Опять же, смотря какое оборудование предполагается…
+3
Ээээ… *слегка в ступоре*. Нет, модбас это мобас, а МЭК104 — это совсем другое (Например: docs.cntd.ru/document/gost-r-mek-60870-5-104-2004. В тексте так же упоминается 101 протокол, но это одно и тоже, так как 104 — это по сути 101, обернутый в TCP/IP).
0
Ок, теперь понятно о чем речь. Нет, пока поддержки этого протокола нет, но при желании можно реализовать.
0
Может быть документируете АПИ какое то (в будущем) для написания драйверов протоколов? чтобы можно было пользователю свой протокол наваять (например USS, который в настоящее время никто не будет делать, а мне надо)?
0
На самом деле, все еще проще. Есть специальный класс SDeviceDriver — наследуетесь от него и реализуете любой протокол.
0
А что, есть исходники для клиентов?

Идея компилируемой СКАДЫ интересная. Например для IoT

Без прочтения инструкции оказалось неочевидно =)
0
Не совсем исходники, но есть заголовочные файлы и возможность подключать Simargl SCADA как библиотеку к своему проекту в Qt Creator. Собственно, это и есть основная идея. Примерно также Вы используете Qt без исходников.
0
Ну в 101 и в 104 достаточно различий, ЕМНИП, т.к. приходилось реализовать и тот и другой (у них есть общие пакеты, а есть специфичные для каждого) ну и канальный уровень тоже отличается.
0
Сравнили Вы конечно мощно с Simatic WinCC v7.4.
Не Ваш уровень, замечу я. Не тот масштаб.
Ориентируйтесь на SimpleScada, если что тогда уж.
В производительности наносекундами не меряются. Что такое 40-150 раз? Время реакции на тык по объекту какое? Время формирования интерфейса при переходе по страницам? Как быстро теги от полевых устройств подхватывает?
OPC сервер в код интегрируется? А если с другим OPC поработать?
А если у меня ПЛК под Codesys? Как мне его прилепить? Их среда свой OPC имеет.
Сразу: OPC DA в 2019 вообще не в тему. COM объекты это старо, я считаю. Теряется возможность подключиться без е… ли к стороннему серверу, если уж на то пошло.

Покажите-ка архитектуру системы. На первый взгляд, «смешались в кучу кони, люди».

Disclaimer
Извиняюсь, за гневный комментарий, минусуйте, если не прав.
А вот сейчас почитаю:)
0
WinCC ИМХО все еще лидер отрасли. И так уж исторически сложилось, что он был под рукой. Как сравнить разные SCADA — вопрос очень сложный, но можно сравнивать общие части. Например, пишем перемножение матриц и смотрим сколько времени затрачивается на один и тот же объем вычислений.
Если звезды сложатся — напишу отдельную статью.
0
Извиняюсь. Зря я Вас раскритиковал. Не обращайте внимания на мой гневный отзыв — осудил «не читая». Плодите контент! Это хорошо.
Единственное пара советов.
Определитесь с тем, куда ориентируете систему: коммерческий продукт или OpenSource (подключите сообщество).
И какой будет масштаб. Проработайте архитектуру ВСЕЙ системы с возможным расширением (включая web доступ, отдельный клиент-сервер). Я так понял, сначала у Вас был код:)
Далее. В списке литературы в документе «Simagrl SCADA getting started» ну совсем не те книги.
Казалось бы — изобретая систему компьютерного зрения, книги должны быть по компьютерному зрению. C++ и так все, кто в эту тему знают:)
Это я к чему: нет ни одной статьи по HMI.
Можно попробовать добыть The High Performance HMI Handbook Холлифилда.
У него так же есть Alarm Management Handbook.
Или «Human-Machine Interface Design for Process Control Applications»
И надёргать оттуда виджетов.
(Я их, не читал — в английском не силён. Но пролистал местами, когда в руки попалась. Вследствие потом один экран в своей скаде переделал).
Не скажу, что это истина, но всё же выделит Вас среди подобных.
Вырезки иногда встречаются в виде статей. Типа такой.
.
Я её уже второй год перевести пытаюсь:)

Можно обратиться к опыту ITER. Те вообще на Control System Studio делают. Это что то на eclipse завязано. Кажись, на гитхабе они есть.
Думайте о задачах, решаемых системой. И о том, как в них приятно будет работать пользователю:)
0
Спасибо за советы. Мой опыт говорит о том, что большинство разработчиков в области SCADA довольно плохо знают C++, потому и список литературы такой.
+2
Если разработчик в области SCADA выучит C++, он больше не будет разработчиком SCADA:)
Если уж на то пошло. Не думали, кто бы мог применять Вашу систему?
0
Между человеком выучившим С++ и профессионально на нем разрабатывающим лежит большая пропасть. Вся разработка Simargl SCADA строится так, чтобы ее мог использовать человек просто знакомый с С++. Большинство стандартных задач там можно решить вообще без написания кода.
0
Можно ли считать подходы применённые, например, в проектах FLProg, HIASM вариантами пользовательского интерфейса и программирования для SCADA?
0
К сожалению, я не знаком ни с одним из этих проектов, могу ошибаться чуть более чем полностью.
FLProg — как мне кажется, да. HIASM — я сходу не нашел информации про сопряжение с ПЛК.
SCADA — это диспетчерское управление и сбор данных. Если при помощи какого-либо инструмента можно решать эти задачи, то… Другой вопрос, что гвоздем забивать микроскоп может быть не удобно, а главное не нужно.
0
Есть на рынке и ПЛК контроллеры ES-ForthLogic программируемыe совсем на «экзотике» варианте Форт языка. :)
0
Вот, тоже хочу найти статьи на русском про «человеческий» HMI.
Из моего опыта работы видел прогресс от вырвиглазного дизайна мнемосхем (где видны только цифры и закрыто-открыто у клапанов и стоп-работа у насосов). Потом был чуть получше (как у автора), но всё равно — много цифры и ничего не видно (как у современного WinCC сейчас). Последняя версия, по моему мнению, самая лучшая — всё серое, можно сказать смотришь — и глаз ни за что не цепляется. Если что-то не так, то Алармы видны сразу же (а аппаратчики против, им нравится вырвиглазный вариант, который годится на плакаты).
У нас проблема усугубляется тем, что на основной мнемосхеме одновременно более 300 аналоговых и дискретных параметров (а вдобавок этому аппаратчику ещё пару мнемосхем, с 150-200 параметров на каждом — вот такое производство, разбить на много мнемосхем не получится — единое целое).
0
На русском я набрёл на конференцию wonderware.
Даже пример
разобрали.
.
Который часто в англоязычных статьях встречается. И тот тырен из книжки Холлифилда:)

Больше не встречал. Хотя можно попробовать коллективным разумом пару-тройку статей осилить под руководством гугл-переводчика:)
У нас проблема усугубляется тем, что на основной мнемосхеме одновременно более 300 аналоговых

В этом случае я бы провёл декомпозицию и группировку по агрегатам от общего к частному (по уровням). Если не лепиться на один монитор — пусть будет видеостена :) с общими параметрами. А у каждой службы свой набор экранов со своей частью параметров нужных только им в своей коморке. Как в ЦУПе. Но 300 параметров мне кажется это лишка для одного оператора в одно время.
а аппаратчики против

Тут надо свои стандарты предприятия проработать. Как в ITER И каждому подсунуть свою часть. Чтобы на всё предприятия однотипно было. Тогда ни у кого вопросов против бумажки не будет. В конечном счёте SCADA — не мультик.
0
Это вообще говоря общая проблема — как убедить аппаратчиков, что новая схема лучше, если они уже привыкли к чему-то другому.
И еще одно мое наблюдение: на западе редко делают ситуационные планы, когда можно одним взглядом охватить всю ситуацию на производстве. Возможно из-за этого большие SCADA плохо приспособлены к таким мнемосхемам.
0
Раз уж сравнивать с WinCC, то что насчет резервирования? клиент-серверной архитектуры? web-доступа? внесения изменений «на лету»? какие идеи на этот счет?
0
Каждая система имеет свои сильные и слабые стороны. Резервирование, клиент-серверная архитектура пока в отдаленных планах. Внесение изменений «на лету» нужно, если система стартует долго, а если это происходит за несколько секунд, то…
Поймите правильно, я не говорю, что Simargl SCADA круче WinCC (возможно, пока :)). Любой продукт имеет сильные и слабые стороны.
В качестве занудства:
А WinCC можно запустить под Linux? А на моноплатнике? А под Android? А запустить скрипты в несколько протоков?
0
Вы сталкивались с ней на практике? Рекламные мультики классные, реальные скриншоты уже более грустные, а как оно в реальности?
Спрашиваю без ехидства, мне реально интересно — я пока WinCC OA в живую не видел.
0
Я сталкивался с ней на стенде. И знаю где она успешно работает в энергетике в составе ПТК верхнего уровня.
+1
Не рассматриваете переход на Qt Quick? Нестандартные графические элементы более органично выглядят в таких интерфейсах.
0
Наврятли, этот проет будет использоваться кем-то со стороны и в прошленных масшабах. Ведь это все не сертефицированно.

Но желаю авторую довести проект до конца и по возможности принести в отрасль действительно что-то новое. Потому как текущие произодители сильно много просят за свое по и железо. И в случаи с Siemens — куча лицензий. При этом приходится изнывать от их поделок, ведь функционал там очень ограничен.
0
Как не странно, в большинстве случаев сертификация не требуется, или требуется на уже полностью готовую систему (включая прикладной проект). Не всё так грустно.
Спасибо.
0
Просто если что-то ломается на заводе или идет пусконаладка — вызываются подрядчики из голландии с зп в несколько сотен долларов в день, ставят свое по и железо. Но при этом открываешь код для контроллера и видишь что человек в начале страницы умеет в массивы, а через 300 строк уже нет, расписав каждое обращение по индексу еще в 300 строк. И возникает вопрос, почему не сделать свое, самим и дешевле.
0
Это уже зависит не от инструментария, а от коммерческих отношений. Там логика бывает не очевидна, или вовсе отсутствует. Сейчас редко отдают обслуживание АСУ кому-нибудь за границу — слишком дорого и долго.
0

Главная проблема всех этих "убийц" winCC — ресурсы. Все же Siemens тратит не сравнимое количество денег на ее развитие. Как мне кажется, разработчикам бесплатных SCADA необходимо объединится и разработать действительно качественную альтернативу. Например существует openScada — этому проекту уже около 15 лет, он все ещё жив и развивается. На мой взгляд — это лучшее из бесплатных. Увы чтобы сделать что то более менее сложное там нужно довольно много программировать...

0
Полностью согласен. В моей первой статье на Хабре я именно об этом и писал. И именно по этой причине я взял Qt Creator как основу — не надо писать редакторы и создавать свое IDE, а это очень большой кусок работы.
0
Qt для Emdedded — это очень дорого. Либо же GPL.

Какая используется лицензия?
0
Да, Qt for Embedded Devices дорого. Но вроде бы никто не запрещает просто собирать Qt и использовать его под LGPL. Не используя инструментов Qt for Embedded Devices.
+1
Ох, сколько сломано копий об эти скады.
Пока она у вас простая, это по сути, даже не скада, а просто приложение, написанное «как скада».
Фишка всех скад в том — что они конфигурируются людьми, далекими от программирования (во многих случаях).
Т.е. нарисовал кружок (или выбрал готовый эллемент), привязал к нему тег и вот у тебя отображения элементарного датчика.
Но когда дело дойдет хотя бы до хороших, быстрых, легкоконфигурируемых трендов, юзеров, ролей, вот тут уже начнут появляться вопросы. И это без разговоров о резервировании, лицензировании. разрешения ФСТЭК и прочем.
0
Все как то говорят о SCADA в основном с позиции «SC», а вот про «and DA» как то все забыли:) СУБД, судя по всему, нужно прикручивать свою? Как взаимодействие картинки тегов и алармов устроено?
0
Во всех скадах что я видел и работал, а это почти все самые популярные у нас в стране — WinCC, InTouch, iFix и даже российская разработка (Телескоп+), базы данных использовались сторонние (MS SQL, например), причем ты просто настраивал к ним подключение и ничего более делать было не надо, но стандартные. Но не везде эти данные использовались для хрения именно трендов. Где-тотрендов. где-то журнала событий, где-то, как в Т+, в базе вообще хранилось все, включая проект и настройку сборки данных.
Но по сути, во всех системах, отображение — это совсем не связанная вещь с накоплением и хранением. Даже теги зачастую свои (отдельные) под отображение и под трендирование.
0
По-умолчанию хранение архивной информации (тренды, алармы) производится в базе SQLite. Если будут нужны большие объемы хранения, то можно будет прикрутить другую СУБД.

Как взаимодействие картинки тегов и алармов устроено?

Тут всё хорошо. Просмотрите Getting started, многие вопросы отпадут.
Only those users with full accounts are able to leave comments. , please.