Внедряем и создаем проекты программного обеспечения класса SCADA
Разработка прикладного программного обеспечения в MasterSCADA
На рынке автоматизации присутствует достаточное количество разнообразных брендов SCADA-систем визуализации отечественной и зарубежной разработки и с каждым годом их число растет. По заказу своих клиентов мы ранее делали сравнительные технико-экономические обоснования выбора импортных брендов. В данной статье мы хотели бы сделать обзор всем давно известного продукта MasterSCADA.
Данный пакет визуализации поставляет компания ИнСАТ, которая работает в сфере автоматизации около 30 лет.
С данным программным продуктом знаком не понаслышке, поскольку на MasterSCADA сдан ряд объектов, и с ключевыми, и с бесплатными версиями продукта. Работа с этой SCADA-системой позволила выявить как ее достоинства, так и недостатки. Постараюсь изложить их как непосредственный интегратор средств автоматизации.
MasterSCADA - это достаточно гибкий продукт, обладающий возможностью кастомизации (доработка решения для клиента) на языке C#. Например есть опыт написания драйвера на протоколе CAN, внедрение ModBas серверов и структурированных отчетных форм. Типов лицензий MasterSCADA несколько, обычно мы приобретаем NET PRO, так как она по функциональности охватывает большую часть возможных запросов от наших Заказчиков.
Для общего понимания что такое теги в АСУ ТП, тэги это такие переменные в SCADA, которые связаны с внешними устройствами по какому-либо протоколу. Тэги эти называются внешними и их количество влияет на сумму лицензии. Внутренние тэги, которые могут быть использованы внутри проекта обычно не тарифицируются и бесплатны.
Достоинства:
- Дешевая. Соотношение цены и качества выше всяких похвал. Так лицензию на 500 тэгов с некоторыми «плюшками» вроде веб-клиентов можно приобрести примерно за 40 т.р.
- MasterSCADA обладает большинством функций, которые изначально требуются от любой SCADA-системы при осуществлении диспетчеризации объектов автоматизации (зданий, технологических установок и пр.). К таким функциям относятся: настраиваемая система архивирования, различные уровни администрирования пользователей, вывод различных сообщений о нарушениях и событиях, возможность создания отчетов штатными средствами.
- Достаточно широкий набор инструментов для создания графических форм и надписей. В данном аспекте MasterSCADA не уступает таким продуктам, как WinCC, Citect, InTouch.
- Реализация скриптов в MasterSCADA доступна на двух возможных языках программирования С# и ST (PASCAL), в палитре инструментов присутствует объект для реализации особых функций.
- Бесплатная версия, имеющая ограничение на 32 тэга, позволяет автоматизировать небольшие объекты для круглосуточной эксплуатации. Например, дает возможность отладить PID-регуляторы и не требует покупки лицензионного ключа. Часто бывает, что Заказчик не намерен покупать SCADA, хотя система визуализации необходима для сдачи объема работ. Бесплатная версия отлично подходит для реализации подобных задач.
- Существует возможность использования web-клиента, среда разработки имеет удобную объектную архитектуру. Хотя, поначалу, после опыта работы с WinCC, Citect, InTouch это воспринималось неоднозначно и вызывало отторжение.
- Устойчивая работа Runtime (системы исполнения проекта) на различных операционных системах (XP, W7,W10).
- В режиме Runtime присутствует функция отладки, которая позволяет задавать любое значение любому тэгу в реальном времени, в том числе отличающееся от того, которое дает ПЛК.
- Качественно разработан объект исторического и реального тренда, аналогов не встречал. Хотя в других системах эта функция тоже достаточно неплохо реализована.
- Удобный ввод и редактирование тэгов от ОРС-сервера. Если заблаговременно продумывать иерархию объектов, то новые тэги в систему добавлять просто.
- Работоспособная и не сложная к реализации клиент-серверная архитектура. Есть возможность настроить работу так, чтобы клиентская станция опиралась на рабочий сервер, который собирает информацию с контроллера. Клиенты также могут иметь свой OPC-сервер, который может собирать данные и отправлять их также на сервер, то есть архитектура системы гибкая и в любой момент может быть видоизменена под нужды конкретного клиента. Это удобно, если на разных клиентах системы должны быть организованы различные роли. Например, набор видеокадров на всех клиентских станциях одинаковый, а уровни доступа разные. При этом обновление динамической составляющей видеокадров на клиентских машинах происходит при внесении изменений на сервере.
- Техническая поддержка работает в формате семь дней в неделю (и в выходные), давая любые исчерпывающие грамотные ответы по электронной почте. Отвечают корректно и без эмоций. На форуме компании «Овен» работает отдельная ветвь. По ранее заданным вопросам на форуме - работает поиск.
- В сети интернет присутствует множество видеоуроков по созданию проектов. Большая часть из них создана на устаревших версиях, но все равно достаточно подробная и понятная, для того чтоб воспроизвести выложенный пример.
Недостатки:
- Была выявлена достаточно заметная задержка при подаче команд и записи в тэг. Результат для Заказчика приемлемый, но хотелось бы видеть более быструю реакцию от системы.
- Нет зуммирования (приближения объектов при редактировании - есть только в новой версии "4") экрана. Если вы собираетесь прорисовывать большое количество маленьких графических объектов при разработке экранных форм, то рискуете сломать себе глаза. Поэтому качество работы с мелкими элементами сильно страдает.
- Нет быстрого средства, чтобы повернуть объект вокруг своей оси при редактировании. Это можно сделать только за счёт назначения параметров или создания дубликатов, что создает неудобства при добавлении одинаковых объектов, которые должны быть развернуты в разных направлениях.
- Недостаточный уровень интуитивной понятности при работе с системой, хотя разработчик утверждает обратное. Да, прогресс от версии 3.6 очевиден, тем не менее, возникло ощущение, что справку лучше бы писали не те, кто производил программный продукт. Возникли бы споры и как следствие улучшилось бы качество восприятия.
- Отсутствует прямая возможность экспорта мелких наработок из проекта в проект, например, графических объектов. Экспортировать можно только окна. Сильно этого не хватает. Так, например, находясь в другом проекте понимаешь, что тебе необходимо что-то унаследовать из другого своего-же проекта. Вынужден открывать рядом два компьютера и переносить "глазками", что на деле злит.
- Неустойчивая работа среды разработки. Был случай, когда работал долгое время, не используя кнопки сохранения данных. В какой-то момент система выдала информацию об ошибке и закрылась. Восстановить свои наработки я не смог и пришлось всё повторять заново. То есть нужно постоянно сохранять проект при разработке и изредка перезапускать. Нет гарантии, что программа после перезапуска может восстановиться, даже если будет выведен соответствующий диалог, предлагающий это сделать.
- Система справки слабо структурирована и не описывает всех возможных свойств объектов, сильно запаздывает за развивающейся системой. Видимо, разработчику просто не хватает времени качественно всё описывать. Поэтому приходится иногда догадываться.
- Техническая поддержка не работает по телефону. Программы обучения в компании ИнСАТ присутствуют, но стоят достаточно дорого, носят не углубленный характер и для таких интеграторов как я имеют мало смысла. Очень хотелось бы, чтобы в рамках поддержки начинающих пользователей компания ИнСАТ проводила мастер-классы через онлайн вебинары по некоторым функциям, как, например, продвигает свой продукт компания Iridium mobile.
- Комментарии по наведению на объекты не работает правильно. Судя по всему задача вывода комментариев выполнена для "галочки". Показывает месторасположение объекта в программе (Проект.Компьютер.Завод.Насос центробежный). Для задачи автоматизации нужно вообще не это. Комментарии по наведению нужны и важны, но данный признак должен быть надстраиваемым, то есть вводиться инженером в специальном поле. Сделать так в существующей версии не получится.
- Пробовал использовать функции наследования объектов. Они поделены в программе на две части. Тиражирование изменений по экземплярам и тиражирование изменений на кадрах. Так вот, если у вас проект на стадии сдачи - не пользуйтесь тем вторым (по кадрам). Инструмент этот работает, но не дает достаточных наборов к выбору и полностью ему доверять не советую.
- Встроенный инструмент формирования отчетов меня не устроил. Попытки реализации отчетов сторонними приложениями (Excel VBA, C#) требуют подключения к СУБД. В продаваемой по умолчанию лицензии отсутствует опция связи со внешней СУБД, а локальная база данных MasterSCADA закрыта для обращения из вне. Совет:начиная договариваться с Заказчиком, начинайте вести диалог от необходимости и характера отчетов. Если нужны большие многофункциональные отчеты, то стоимость лицензии MasterSCADA возрастет на 25 т.р. и перестанет вам казаться конкурентоспособной.
- Функция записи по сети установленного значения с обратной связью (Setpoint) выполнено неработоспособно. Пришлось выкручиваться делая два поля. Одно на чтение, второе на запись
Вывод:
Основой создания любой системы визуализации на любом бренде является разработка правильного и наследуемого шаблона. Шаблон разрабатывается как на всё приложение, так и на каждый из его элементов. Например:, элемент индикации состояний насосов, индикации значений (температур, давлений и т.п.), фейсплейтов, всплывающих окон, которые вызываются при нажатии на скрытые кнопки. У нас присутствуют такие наработки, что позволяет несколько экономить время при реализации поступившего заказа.
Какое количество тэгов возможно поднять на MasterSCADA, существует ли какой-то потолок? Есть мнение, что если грамотно обеспечивать типизацию объектов во всем проекте, то проект будет «летать» и за меньшие вложения. Это зависит от методов разработки проекта. Однако имеется и личное мнение, что объем тегов для данного продукта не должен пока превышать стоимости лицензии. Это мнение связано с отсутствием встроенной полноценной системы архивирования (SQL или ORACLE), наличием мелких багов и недоработок. Очевидна некая «заплаточность» реализации, т.е., на более серьезные объекты (выше стоимости приобретенной лицензии) рекомендовал бы другие, преимущественно импортные бренды, так как они имеют общемировую обкатку.
*Мы стараемся решить все задачи оперативно-диспетчерского контроля и управления у наших заказчиков! Как дорого мы оцениваем один тэг при рассмотрении технико-коммерческих предложений?
Зависит от постановки задачи. Это сразу становится понятно при первом общении с заказчиком. Обычно выставляем цену по составу тегов, входящих в лицензионный ключ. Уменьшить стоимость разработки можно всегда, при итоговом подсчете использованных тэгов, а увеличить стоимость обычно не получается, даже если на это есть основания. В стоимость тэгов обычно закладывается проектная работа, такая, как создание альбома видео кадров, интерфейса ПЛК-АРМ. Описание руководства оператора рассматривается как опция к Договору. Практика показала, что большую часть в данной работе составляет не непосредственно программирование, а общение с заказчиком. Стоит понимать, что мы работаем с людьми, и учет их конкретных пожеланий – основа конструктивной работы и взаимопонимания.
Похожие статьи
Узнать цену?
Если вам необходимо узнать стоимость наших услуг, воспользуйтесь прейскурантом
Помочь найти?
Если вы не нашли то, что искали, воспользуйтесь поиском по сайту
Перезвонить?
Если у вас остались вопросы, закажите бесплатный обратный звонок