Более 10 лет назад Роман Бузинов, тогда еще обычный инженер, разработчик проектов АСУ ТП, решил в свободное от работы время сделать свою SCADA-систему. Изначально это задумывалось как инструмент для решения собственных рабочих задач. Однако впоследствии проект не только породил коммерчески успешный продукт, но и позволил по-новому взглянуть на всю работу над разработкой и внедрением АСУ ТП. В статье расскажем, как и почему создавалась SCADA+ и в чем ее преимущества перед другими аналогичными продуктами.
Боишься – не делай, делаешь – не бойся.
Чингисхан
Роман Бузинов – ныне руководитель разработки компании «СКАДА ПЛЮС», по специальности инженер по автоматизации технологических процессов и производств, начал свой профессиональный путь рядовым тестировщиком в компании отечественного разработчика SCADA-систем. Там он дорос до руководителя отделом системной интеграции. Его профессиональная деятельность на этом этапе состояла в основном в создании и внедрении проектов автоматизации «под ключ» на базе ПО, которое разрабатывала компания. В процессе работы с этим ПО Роман нередко встречался с различными проблемами, решение которых упиралось в недостаточную или неотлаженную функциональность SCADA-пакета. Попытки добиться от коллег, занимавшихся разработкой самого пакета, работы над недостатками не вызвали энтузиазма с их стороны и не увенчались успехом.
Роман Бузинов, руководитель разработки ООО «СКАДА ПЛЮС»
Пришло время что-то менять, и Роман покинул компанию, перейдя на работу к одному из своих крупных клиентов, где занимался выполнением тех же заказов клиента, что и раньше, только теперь уже в его штате.
На новом месте Роман продолжал работать все в том же SCADA-пакете, поскольку, несмотря на большое количество проблем, существенно лучших альтернатив среди российских продуктов на тот момент не находилось, а использование российского программного обеспечения уже тогда было требованием ряда крупных российских компаний. Роману приходилось разрабатывать немало утилит, позволявших совладать с несовершенствами пакета. В конце концов все это привело Романа к решению заняться созданием собственной SCADA-системы.
Поскольку разработкой занимался человек, имеющий большой практический опыт использования такого ПО, новая система изначально была максимально ориентирована на реальные потребности конечных пользователей. Для реализации своего замысла Роману пришлось вооружиться книгами по программированию на С# и изучить огромное количество информации, так как на тот момент его познаний в этой области было недостаточно для разработки масштабного ПО, а также привлечь к проекту энтузиастов среди знакомых специалистов.
Была проделана огромная работа. Например, графическая подсистема требовала создания векторного редактора для рисования мнемосхем, отображающих технологические элементы системы. Идея лицензировать уже готовый графический движок требовала неоправданно высоких финансовых и трудовых затрат. Поэтому было решено написать собственный движок. Для работы с алгоритмами проектов необходимо было создать собственный редактор, компилятор и вычислитель исполнительных модулей, причем с учетом международного стандарта в этой области (IEC 61131.3) и привычной для многих пользователей поддержки скриптов.
В программе были реализованы некоторые функции, которых вовсе нет в других SCADA-пакетах (рис. 1), например, возможность алгоритмической обработки динамических массивов любого типа данных. Новшеством по сравнению со многими аналогами стал алгоритм масштабирования графических элементов разрабатываемых проектов. Он не только позволяет легко подогнать изображение под любое разрешение экрана, но и учитывает размеры шрифтов надписей.
Рис. 1. Функциональная карта программного обеспечения SCADA+
Всего через год после начала разработки система была успешно внедрена на серьезном производстве, и еще год понадобился на то, чтобы компания, в которой в то время работал Роман, отошла от использования зарубежных SCADA-систем, полностью перейдя на SCADA+. И уже на тот момент многие друзья Романа, которые прежде не верили в успех его затеи, видя реальные результаты, стали говорить: «Мы даже не думали, что у тебя все настолько серьезно…».
В 2013 году один из первых пользователей SCADA+ предоставил свой стенд для рекламы системы на выставке. Несколько посетителей выставки заинтересовались, и в 2014 году был реализован еще ряд проектов на базе SCADA+. В том числе – проект по АСУ энергоснабжением технологического объекта (количество сигналов – 8500 точек ввода/вывода), особенно примечательный тем, что он прошел серьезную проверку комиссии, которую ранее смогли пройти с подобным решением только две компании: Siemens и Schneider Electric.
Следующим шагом в развитии проекта стало обращение Романа с предложением о совместной работе к друзьям, организовавшим IT-компанию. Хотя в новой версии SCADA+ было реализовано уже немало идей и наработок, все же было принято решение коллективно доработать первую версию до коммерческого продукта. На этом этапе заботы по части программирования Роман оставил профессионалам, а сам сосредоточился на архитектуре системы и разработке конечных проектов на ее базе.
В 2017 году вышла вторая версия – SCADA+ 2.0. Программа была, можно сказать, написана заново, но, конечно же, с сохранением архитектурной целостности и общей идеологии. Новая версия тоже заслужила признание. В 2021 году АСУ ТП ответственного участка производства на предприятии «Саянскхимпласт» была выполнена на базе SCADA+ 2.0.
Таким образом, SCADA+ стала полноценным коммерческим продуктом, за развитие которого отвечает сейчас компания ООО «СКАДА ПЛЮС», в составе которой есть отделы разработки, внедрения, специалисты по технической поддержке. Удалось также привлечь ряд партнеров, системных интеграторов, которые поверили в продукт и занимаются разработкой прикладных проектов на базе SCADA+.
В 2022 году вышла третья версия SCADA+ с поддержкой отечественных операционных систем и баз данных. Как SCADA+ 3.0, так и выпущенная в середине 2024 года версия 3.1 отличаются мультиплатформенностью и другими преимуществами, о которых Роман Бузинов рассказал нам сам. Предлагаем вашему вниманию интервью с ним.
Интервью с Романом Бузиновым, техническим директором и руководителем разработки ООО «СКАДА ПЛЮС»
Роман Анатольевич! Давайте сразу зайдем с козырей – мультиплатформенности. Что это означает на практике?
Да, действительно, это большое преимущество. Она подразумевает общий набор бинарников для работы с тремя различными ОС: Windows, Linux и MacOS. Разработчикам прикладных продуктов это дает единую среду разработки, единое ядро и графический движок, от которого не будет неприятных сюрпризов при использовании разнородных модулей под разными ОС и платформами. Благодаря мультиплатформенности просто переносить систему и прикладной проект между этими ОС без специальных процедур конвертации. От некоторых вендоров отечественных ОС, созданных на базе ядра Linux, мы даже получили сертификаты соответствия, среди них Astra Linux, «Атлант» и РЕД ОС.
Мультиоконный интерфейс – это, как я понимаю, логическое продолжение идеологии мультиплатформенности?
Все верно, данный подход (мультиоконный интерфейс среды разработчика MDI) предоставляет инженеру возможность гибко распределять окна среды и ее редакторов на многомониторных рабочих местах, позиционируя окна как внутри самой среды, так и в виде отдельных окон.
На какие функциональные возможности вы бы еще обратили внимание?
В плане функциональности система сохранила первоначальную идеологию. Это единый инструмент для задач любых масштабов. Внутренняя архитектура была переработана, чтобы можно было работать с информационными структурами от десятка до сотен миллионов параметров. Важно даже не то, что в третьей версии SCADA+ можно создать проект на несколько миллионов точек ввода/вывода, а то, что наша система обеспечит адекватную производительность при работе с проектом хоть на десятки точек, хоть на несколько миллионов. На практике этим могут похвастаться далеко не все!
Расскажите о графическом ядре для новой версии.
Для третьей версии SCADA+ мы разработали новый графический движок, который учитывает мультиплатформенное применение, работу с многомониторными решениями, организацию видеостен в диспетчерских. Графика прошла кропотливую оптимизацию для увеличения скорости обновления в реальном времени. Сам графический редактор включил в себя много удобств, свойственных наиболее распространенным векторным редакторам графики (рис. 2).
Рис. 2. SCADA+ дает широкие возможности для разработки графического интерфейс (увеличить изображение)
Встроенный механизм работы с графическими компонентами позволяет формировать на базе штатных графических примитивов сложные графические элементы с анимацией и интерактивностью. Правка компонента в библиотеке автоматически может быть применена ко всем его реализациям на всех экранах проекта (рис. 3).
Рис. 3. Правка компонента в библиотеке автоматически может быть применена ко всем его реализациям на всех экранах проекта (увеличить изображение)
Также был переработан WYSIWYG-редактор визуальных алгоритмов FBD. Расширена функциональность отладки FBD-программ. Редактор C#-алгоритмов получил возможность подключения NuGet-пакетов.
А на что еще вы могли бы обратить внимание читателя?
Очень интересным решением для прикладной разработки станет поддержка комплексного шаблонирования моделей в прикладном проекте SCADA+. Этот механизм позволит прикладному разработчику создавать проект на основе готовых моделей – элементов проекта, состоящих из экранных форм, алгоритмов, описателей оборудования, протоколов и т. д. Комплексное шаблонирование позволяет использовать уже созданные модели как составные элементы структуры для создания более сложных моделей. Таким образом, при должной типизации проекта его построение фактически может быть сведено к построению всей АСУ ТП предприятия на основе таких моделей – от простого к сложному.
SCADA+ можно использовать для импортозамещения?
Конечно. SCADA+ включена в единый реестр российского ПО для электронных вычислительных машин и баз данных Минцифры, что позволяет использовать программу в рамках импортозамещения на предприятиях различных отраслей. При этом система имеет функциональность, упрощающую переход на нее с других аналогичных зарубежных продуктов.
Давайте поговорим о политике распространения третьей версии SCADA+.
Мы сохранили идеологию, которая следует с самой первой версии SCADA+. Среда разработчика – полностью бесплатный продукт, который не имеет ограничений по функциональности и привязок к рабочему месту разработчика. По сути, это портируемая версия ПО, которую можно использовать на неограниченном количестве рабочих мест. Можно сделать еще проще – носить ее с собой на флешке, чтобы всегда была под рукой. Ведь этот программный продукт не имеет инсталляции, просто копируй и работай на любом ПК, с любой ОС из поддерживаемых системой.
Беседовали: С. В. Бодрышев, главный редактор журнала «ИСУП»,
Р. А. Бузинов, технический директор,
ООО «СКАДА ПЛЮС», г. Москва,
тел.: +7 (495) 005-4155,
e-mail: info@scadaplus.ru,
сайт: scadaplus.ru
Опубликовано в журнале ИСУП № 6(114)_2024