Программирование Мастерскада

Автор Сообщение
#1 / 16.03.2019 09:18
admin

На рынке автоматизации присутствует достаточное количество разнообразных брендов SCADA-систем отечественной и зарубежной разработки и с каждым годом их число растет. По заказу своих клиентов я ранее делал сравнительные технико-экономические обоснования выбора импортных брендов. В данной статье я хотел бы сделать обзор всем давно известного продукта MasterSCADA v.3.9.0.2484. Данный пакет визуализации поставляет компания ИнСАТ, которая работает в сфере автоматизации 30 лет.

С данным программным продуктом знаком не понаслышке, поскольку на MasterSCADA сдан ряд объектов, и с ключевыми, и с неключевыми версиями. Работа с этой SCADA-системой позволила выявить как ее достоинства, так и недостатки. Постараюсь изложить их как непосредственный интегратор средств автоматизации.

Достоинства: 
1. Дешевая. Соотношение цены и качества выше всяких похвал. Так лицензию на 500 тэгов с некоторыми «плюшками» вроде веб-клиентов можно приобрести примерно за 40т.р
2. MasterSCADA обладает большинством функций, которые изначально требуются от любой SCADA-системы при осуществлении диспетчеризации объектов автоматизации (зданий, технологических установок и пр.). К таким функциям относятся: настраиваемая система архивирования, различные уровни администрирования пользователей, вывод различных сообщений о нарушениях и событиях, возможность создания отчетов штатными средствами.
3. Достаточно широкий набор инструментов для создания графических форм и надписей. В данном аспекте MasterSCADA не уступает таким продуктам, как WinCC, Citect, InTouch.
4. Реализация скриптов в Мастерскаде доступна на двух возможных языках программирования С# и ST (PASCAL), в палитре инструментов присутствует объект для реализации особых функций.
5. Бесплатная версия, имеющая ограничение на 32 тэга, позволяет автоматизировать небольшие объекты для круглосуточной эксплуатации. Например, дает возможность отладить PID-регуляторы и не требует покупки лицензионного ключа. Часто бывает, что Заказчик не намерен покупать SCADA, хотя система визуализации необходима для сдачи объема работ. Бесплатная версия отлично подходит для реализации подобных задач.
6. Существует возможность использования web-клиента, среда разработки имеет удобную объектную архитектуру. Хотя, поначалу, после опыта работы с WinCC, Citect, InTouch это воспринималось неоднозначно и вызывало отторжение.
7. Устойчивая работа Runtime (системы исполнения проекта) на различных операционных системах (XP, W7,W10).
8. В режиме Runtime присутствует функция отладки, которая позволяет задавать любое значение любому тэгу в реальном времени, в том числе отличающееся от того, которое дает ПЛК. 
9. Качественно разработан объект исторического и реального тренда, аналогов не встречал. Хотя в других системах эта функция тоже достаточно неплохо реализована.
10. Удобный ввод и редактирование тэгов от ОРС-сервера. Если заблаговременно продумывать иерархию объектов, то новые тэги в систему добавлять просто.
11. Работоспособная и не сложная к реализации клиент-серверная архитектура. Есть возможность настроить работу так, чтобы клиентская станция опиралась на рабочий сервер, который собирает информацию с контроллера. Клиенты также могут иметь свой OPC-сервер, который может собирать данные и отправлять их также на сервер, то есть архитектура системы гибкая и в любой момент может быть видоизменена под нужды конкретного клиента. Это удобно, если на разных клиентах системы должны быть организованы различные роли. Например, набор видеокадров на всех клиентских станциях одинаковый, а уровни доступа разные. При этом обновление динамической составляющей видеокадров на клиентских машинах происходит при внесении изменений на сервере. 
12. Техническая поддержка работает в формате семь дней в неделю (и в выходные), давая любые исчерпывающие грамотные ответы по электронной почте. Отвечают корректно и без эмоций. На форуме компании «Овен» работает отдельная ветвь. По ранее заданным вопросам на форуме - работает поиск.
13. В сети интернет присутствует множество видеоуроков по созданию проектов. Большая часть из них создана на устаревших версиях, но все равно достаточно подробная и понятная, для того чтоб воспроизвести выложенный пример.

Недостатки: 
1. Была выявлена достаточно заметная задержка при подаче команд и записи в тэг. Результат для Заказчика приемлемый, но хотелось бы видеть более быструю реакцию от системы.
2. Нет зуммирования экрана (приближения объектов при редактировании). Если вы собираетесь прорисовывать большое количество маленьких графических объектов при разработке экранных форм, то рискуете сломать себе глаза. Поэтому качество работы с мелкими элементами сильно страдает. 
3. Нет быстрого средства, чтобы повернуть объект вокруг своей оси при редактировании. Это можно сделать только за счёт назначения параметров или создания дубликатов, что создает неудобства при добавлении одинаковых объектов, которые должны быть развернуты в разных направлениях. 
4. Недостаточный уровень интуитивной понятности при работе с системой, хотя разработчик утверждает обратное. Да, прогресс от версии 3.6 очевиден, тем не менее, возникло ощущение, что справку лучше бы писали не те, кто производил программный продукт. Возникли бы споры и как следствие улучшилось бы качество восприятия.
5. Отсутствует прямая возможность экспорта мелких наработок из проекта в проект, например, графических объектов. Экспортировать можно только окна. Сильно этого не хватает. Так, например, находясь в другом проекте понимаешь, что тебе необходимо что-то унаследовать из другого своего-же проекта. Вынужден открывать рядом два компьютера и переносить "глазками", что на деле злит.
6. Неустойчивая работа среды разработки. Был случай, когда работал долгое время, не используя кнопки сохранения данных. В какой-то момент система выдала информацию об ошибке и закрылась. Восстановить свои наработки я не смог и пришлось всё повторять заново. То есть нужно постоянно сохранять проект при разработке и изредка перезапускать. Нет гарантии, что программа после перезапуска может восстановиться, даже если будет выведен соответствующий диалог, предлагающий это сделать.
7. Система справки слабо структурирована и не описывает всех возможных свойств объектов, сильно запаздывает за развивающейся системой. Видимо, разработчику просто не хватает времени качественно всё описывать. Поэтому приходится иногда догадываться.
8. Техническая поддержка не работает по телефону. Программы обучения в компании ИнСАТ присутствуют, но стоят достаточно дорого, носят не углубленный характер и для таких интеграторов как я имеют мало смысла. Очень хотелось бы, чтобы в рамках поддержки начинающих пользователей компания ИнСАТ проводила мастер-классы через онлайн вебинары по некоторым функциям, как, например, продвигает свой продукт компания Iridium mobile. 
9. Комментарии по наведению на объекты не работает правильно. Судя по всему задача вывода комментариев выполнена для "галочки". Показывает месторасположение объекта в программе (Проект.Компьютер.Завод.Насос центробежный). Для задачи автоматизации нужно вообще не это. Комментарии по наведению нужны и важны, но данный признак должен быть надстраиваемым, то есть вводиться инженером в специальном поле. Сделать так в существующей версии не получится. 
10. Пробовал использовать функции наследования объектов. Они поделены в программе на две части. Тиражирование изменений по экземплярам и тиражирование изменений на кадрах. Так вот, если у вас проект на стадии сдачи - не пользуйтесь тем вторым (по кадрам). Инструмент этот работает, но не дает достаточных наборов к выбору и полностью ему доверять не советую.
11. Встроенный инструмент формирования отчетов меня не устроил. Попытки реализации отчетов сторонними приложениями (Excel VBA, C#) требуют подключения к СУБД. В продаваемой по умолчанию лицензии отсутствует опция связи со внешней СУБД, а локальная база данных Мастерскады закрыта для обращения из вне. Совет:начиная договариваться с Заказчиком, начинайте вести диалог от необходимости и характера отчетов. Если нужны большие многофункциональные отчеты, то стоимость лицензии Мастерскады возрастет на 25т.р. и перестанет вам казаться конкурентноспособной.

12.Функция записи по сети установленного значения с обратной связью (Setpoint) выполнено неработоспособно. Пришлось выкручиваться делая два поля. Одно на чтение, второе на запись

Вывод:

Основой создания любой системы визуализации на любом бренде является разработка правильного и наследуемого шаблона. Шаблон разрабатывается как на всё приложение, так и на каждый из его элементов. Например, элемент индикации состояний насосов, индикации значений (температур, давлений и т.п.), фейсплейтов, всплывающих окон, которые вызываются при нажатии на скрытые кнопки. У нас присутствуют такие наработки, что позволяет несколько экономить время при реализации поступившего заказа.
Какое количество тэгов возможно поднять на Мастерскаде, существует ли какой-то потолок? Есть мнение от моего знакомого, ярого поклонника Мастерскады, что если грамотно обеспечивать типизацию объектов во всем проекте, то проект будет «летать» и на 10к. Это зависит от методов разработки проекта. Однако у автора данной статьи имеется мнение, что объем тегов для данного продукта не должен пока превышать 3к. Это мнение связано с отсутствием встроенной полноценной системы архивирования (SQL или ORACLE), наличием мелких багов и недоработок. Очевидна некая «заплаточность» реализации. То есть на более серьезные объекты (выше 3К) рекомендовал бы другие, преимущественно импортные бренды, так как они имеют общемировую обкатку.

Как дорого мы оцениваем один тэг при рассмотрении технико-коммерческих предложений?
Зависит от постановки задачи. Это сразу становится понятно при первом общении с заказчиком. Если возникает ощущение «большого, но недалёкого белого господина», стоит закладывать риски. Обычно выставляем цену по составу тегов, входящих в лицензионный ключ. Уменьшить стоимость разработки можно всегда, при итоговом подсчете использованных тэгов, а увеличить стоимость обычно не получается, даже если на это есть основания. В стоимость тэгов обычно закладывается проектная работа, такая, как создание альбома видеокадров, интерфейса ПЛК-АРМ. Описание руководства оператора рассматривается как опция к Договору. Практика показала, что большую часть в данной работе составляет не непосредственно программирование, а общение с заказчиком. Стоит понимать, что мы работаем с людьми, и учет их конкретных пожеланий – основа конструктивной работы и взамопонимания.

По оценке соответствия стоимости к объему тэгов присутствует нехитрая шкала:
До 100 тэгов – 500р/тэг
От 100 до 1000 тэгов – 300р/тэг
От 1000 тэгов и более – 250р/тэг

-JI_8sl47B4.jpg

L9KQgcczLOQ.jpg

 

От моего партнера Артема:

Спасибо за статью - хороший и подробный обзор на СКАДУ. В первый раз попользовавшись сим продуктом сформировалось некоторое мнение о нем. Помимо Автора статьи вижу еще такие плюсы:

1) Наличие демо-версий для разработки и отладки системы! Очень важная штука для программиста, считаю. Демоверсия не ограничена по тегам, имеет ограничение на время работы в режиме исполнения - 1 час. Вполне себе достаточно для разработки. Подобного аналога не видел у других систем - либо были дэмоверсии на 30 дней и это максимум. Обычно без дэмо вовсе - то есть теоретически если хочешь работать с нашей скадой - сразу покупай, не попробовав. А здесь очень приятная клиентоориентированность;

2) Реализовано быстрое копирование объектов (дублирование и тиражирование) с копированием связей (привязок)! То есть если у нас имеются 4 одинаковые емкости с одинаковым набором исполнительных механизмов и датчиков - мы заводим одну, а затем дублированием создаем еще три экземпляра, при этом копируются и в отдельном окне заменяются связи с ОРС-сервером! Существенно ускоряет процесс. Все это подробнейшим образом описано в видеоуроках;

3) Грамотная и сверхзвуковая техподдержка. По почте отвечают очень быстро. Работают в выходные и праздничные дни! Очень радует.

Что же касается минусов:

1) Первое что мне не понравилось, это, конечно, отсутствие зума! Ужас как не удобно. Обо всех нюансах было уже сказано Автором статьи;

2) Очень скудный набор стандартных ВФБ (визуальных функциональных блоков) - пару задвижек, один насос и по мелочи. Вот к примеру, есть ВФБ ПИД-регулятора. Нормальный, красочный, вызывается по кнопке. Но только он сам производит регулирование. Если регулирование происходит в самом ПЛК, то необходимо создавать свою мнемосхемку, для отображения параметров. Привязаться к существующему ПИД-регулятору в этом случае не получится. Мелочи, но все же. Это все из-за жестко прописанных свойств переменных: Ввод/Вывод (Read/Write). Вот такое мнение сформировалось о МастерСКАДЕ. С удовольствием буду продолжать пользоваться данной скадой.

Источник: http://lapshinvr.ru/articals/programmirovanie-masterscada.html

Сообщения: 463