г. Москва, ул. Азовская, 14
+7 (495) 310-97-15
Пн-пт: с 9.00 до 18.00
Заказать звонок
Обратный звонок
Ваше имя*
Ваш телефон*
Ваш Email*
Перезвоните мне
Мастерскада 4D. Опыт работы

Мастерскада 4D для ПЛК110

Описываю начальный опыт освоения Мастерскада 4D. Постараюсь быть объективным и как можно корректнее охарактеризовать продукт при условии применения на контроллерах ОВЕН ПЛК110 4D.

Постараюсь не опорочить продукт, а указать на достоинства и недостатки, помочь потенциальным покупателям делать покупки осознанно с пониманием того с чем именно они столкнутся при разработке программ.

Так как я подошёл к продукту Мастерскада 4D как программист промышленных контроллеров, то вынужден сравнивать его с такими средами разработки контроллеров (IDE), как TIA PORTAL, UNITY PRO XL, CODESYS. Все эти программы предназначены для программирования контроллеров (ПЛК)

Достался объект где уже были приобретены ПЛК110 4D, там нужно было перепрограммировать 11 термостатических камер при условии, что и на Codesys задача также не покажется самой легкой. Есть рецепты, есть связанные автоматы состояний (последовательности).

Технологический процесс зависит от выбираемого рецепта, есть скорости нагрева и охлаждения. Заказчик отказался менять ПЛК110 4D на подобные ПЛК110 с Codesys, пришлось браться, несмотря на предчувствия какой-то «беды».

Сразу стоит заметить, что от создания SCADA-приложения на продукте Мастерскада 4D я отказался сам, аргументируя наличием опыта работы с Мастерскада 3.12 и отсутствием опыта с 4D. Этот вариант был принят и процесс пошел.

Внешний вид программного кода Codesys

Предварительно была создана и отлажена программа, написанная на Codesys, создан, согласован и проверен интерфейс с Мастерскада 3.12

Мастерскада 3.12

Ниже продемонстрирован экран Мастерскады 4D, в которой программируется контроллер

Внешний вид программного кода Мастерскада 4Д


Какие плюсы или достоинства очевидны:
1. Программа Мастерскада 4D предназначена для программирования, как контроллеров, так и SCADA приложений. Что при наличии опыта обеспечивает гибкость при расчете и создании коммерческих предложений. Экономия на лицензировании.
2. Позволяет создавать достаточно быстро WEB интерфейс в рамках ПЛК110 или например Болид, используя его для управления объектом по сети. Удобно, если это локальный уровень автоматизации и при несложной технологии можно практически все сделать без квалифицированного программиста
3. Можно не программировать обмен по протоколу Modbus TCP, контроллер можно сразу опрашивать по протоколу OPC UA.


Какие минусы или недостатки смог обнаружить:
1. При производстве пусконаладочных работ выяснилось, что подгружать в ПЛК небольшие изменения программного кода невозможно. Просто не заложена такая функция, можно только загрузить весь исходный код полностью. При производстве пусконаладочных работ крайне странно слышать хлопки пускателей, если нам всего то навсего пришлось подправить какую-то формулу или добавить OR.

2. Переменные привязывается только методом перетаскивания с места на место. Это больше похоже не на программирование, а на плетение паутины. Данный неудобный принцип был унаследован от Мастерскады 3. При разработке больших проектов это огромная трудоемкость. Невозможно применить тот наработанный подход программирования, который заложен в языках стандарта МЭК аналогично Siemens, Schneider Electric, Овен, хотя в целом стандарт языков выполнен.

3.  Нет такого понятия как, глобальные переменные, которые можно использовать внутри программного кода и они автоматически привязываться, как это происходит, например в Codesys.Так, например, очень неудобно было пользоваться функциональными блоками положенными в библиотеку, так как код не визуализируется

Мастерскада 4D

4. Удивительно, но невозможно сделать инверсию в виде шарика на входе блока или надписи NOT перед переменной. Для отрицания дискретного выражения нужно использовать функциональный блок NOT, это такой огромный квадрат с двумя ножками "En" и "EnO". Это неудобно и мешает расположению компонентов в логике, так как они начинают занимать очень много места.

Мастерскада 4D

5. В целом, считаю, что интерфейс сделан очень не непродуманно и не оптимально. Предполагаю, что за идеологию интерфейса Мастерскада 4D был принят TIA PORTAL, так как за основу взят серый цвет, очень похоже расположение полей и их псевдо скрываемые нависающие с разных мест меню. Всё это годится и подходит только для очень крупных мониторов, которые редко бывают при проведении пусконаладочных работ. Обычно у вас есть небольшой монитор, очень мало места вокруг и нет стола. Оптимизация интерфейса по использованию пространства – недостаточно качественно.Туда, куда ты хочешь смотреть и видеть числа - там их просто нет!

6. Бывали такие случаи, когда переменные были привязаны в одном месте и вроде бы должны были принимать значение выхода, а этого не происходило. То есть видно, что переменная привязана, а на деле она не привязана. Приходилось привязывать повторно, что не могло не расстраивать. Никто не любит делать одну и ту же работу дважды.

7. Заметил, что корректировать связи переменных возможно в онлайн режиме, но это на самом деле иллюзия так как по факту ничего не меняется в контроллере до зпрогрузке программного кода. Может вводить пользователя изначально в заблуждение.

Мастерскада 4D

8. Отладка кода ST в привычном режиме, когда видны значения переменных внутри кода – невозможна, так как ни одного значения переменных вы не увидите. Чтоб увидеть значения переменных придется выносить переменные на выходы функциональных блоков (клеммники) и уже только там смотреть, как они отрабатывают, а это занимает больше времени. Как как отладка кода со значениями внутри экземпляра невозможна, то приходится выносить все переменные в отдельную программу чтобы там отладить и только потом возвращать обратно в библиотеку и в функциональный блок

Мастерскада 4D

9. На языке FB невозможно привязать константу в виде числа, допускается вставка только переменных типа констант. Опять нужно совершить дополнительные действия и всё это съедает пространство.

10. Отсутствие возможности использования Cross Referense (Просмотр связей). Невозможно быстро найти кто именно и где пишет в переменную, кликнув на связь. Тут сделано иначе нужно ходить по всем связям и в голове составлять картину или выписывать на листик

11. Так как пришлось постоянно перепрошивать контроллеры, то нужно заметить, что процесс перепрошивки не продуман так хорошо, как у обычных ПЛК110. Ну неужели сложно было сделать более простой и понятный алгоритм прошивки? Ну пусть бы он как-то пищал, если удачно и молчал если не удачно. В итоге один контроллер мы загубили, он перестал отвечать вовсе. Пару раз были фокусы, когда контроллер работал, а релейные выхода не работали, решалось только перепрошивкой, которая состояла из трех! файлов.

Это мнение одного знакомого программиста:

Первое знакомство с MasterSCADA 4D у меня получилось более года назад и было совсем поверхностным.
Теперь же удалось сделать небольшой проект. Все возможности MS4D в этом проекте были не нужны, но нужно было как-то пристроить давно купленный ОВЕН ПЛК110-MS4.

Сразу бросилось в глаза улучшение интерфейса в v1.2, по сравнению с v1.1. И дело даже не столько в модной сейчас «темной» теме, мне он показался более развитым, более продуманным. Но вот ориентация на не просто большие, а на огромные мониторы, несколько усложнило мне работу на моем 19” мониторе.
Приходилось постоянно сворачивать и разворачивать окна. Это если программировать на языке ST. Для функциональных блоков просто нет места. Поэтому, приходилось постоянно сворачивать списки входных и выходных переменных и минимизировать нижнее окно с палитрой. Но, думаю на больших мониторах это не проблема.

Другой раздражающей меня проблемой в интерфейсе был список ошибок при отладке (на скриншоте вверху видна фраза «Сообщений нет. Для проверки...»).
Даже если у вас всего одна синтаксическая ошибка, то компилятор все-равно сгенерирует гору ошибок, и нужная строка ни разу не оказалась первой.
Как развернуть это окно с ошибками, я не понял, там лишь кнопка «скопировать в буфер». Поэтому приходилось копировать из буфера в текстовый редактор и уже там разбираться.

В версии MS4D, которую я использовал, а именно 1.2.7, по сравнению с 1.1. уже более тесно разработчики ОВЕН интегрировались, стало возможным уже прямо из среды разработки обновить исполнительную часть PLC движка SCADA. В v1.1 «движок» нужно было обновлять отдельно, подключаясь к ПЛК через Debug. Кстати, у меня все-равно произошел сбой при обновлении прошивки и с помощью тех.поддежки ОВЕН пришлось заливать ее вручную. Сам процесс не сложный, но вот чтобы понять, что именно в прошивке проблема, пришлось потратить довольно много времени, MS4D ругалась на невозможность соединиться с ПЛК (ни USB, ни Ethernet), хотя я в терминале по SSH туда заходил, и все нужные файлы были на месте.

К пожеланиям в интерфейсе я бы добавил просьбу уменьшить расстояние между строками и «ветвистость» дерева проекта.
Иногда совершенно не понятно зачем были добавлены подветки, а каждый раз их разворачивать — это время, да и надо помнить где это спрятано.
В оправдание разработчики добавили возможность у любой ветки «оставаться всегда развернутой», но это полумера меня не спасала.

Ну и главный недостаток, это практически отсутствие описания и скудный help.
Если бы не подробное руководство по установке интерфейса RS-485 на ПЛК в режим Slave, скачанное с сайта ОВЕН, то пришлось бы потратить гораздо больше времени на это. Так же долго экспериментировал с энергонезависимыми переменными, пока не убедился что это работает. Казалось бы, как это делается в большинстве сред разработки, например в Codesys, просто объяви переменную Retain. Я так и поступил, но потом необходимо провести «синхронизацию с деревом», после чего можно получить «сюрприз» в виде слетевших элементов массива.
Конечно, это все можно поправить и не такая уж проблема, зато легко создавать переменные с помощь мастера, а при перетаскивании переменных из дерева, они автоматически объявляются.
Для начинающих это очень удобно. Вообще, не смотря на все перечисленные недочеты, MasterSCADA4D очень перспективная среда и ее объектно-ориентированный подход во многих проектах может стать большим плюсом за счет масштабируемости и скорости разработки.

Никита Зайченко прокомментировал:
1. Относительно подгрузки небольших изменений
Это настоящая боль, т.к. загрузка останавливает Runtime.
2.Перетаскивание связей - манипулятором типа "мышь"
Это тоже боль, так как зачастую места откуда нужно перетягивать и куда не помещаются на одном экране. Приходится выделять элемент тот с которым необходимо установить связь и связывать его свойства с другим элементом (например, самое банальное – переписать значение из сетевой переменной в переменную объекта или установить связь  в его  «начальное значение»)
3.Нет глобальных переменных
Ну тут типа подход, что любой программный компонент должен связываться с другими программными компонентами или каналами через так называемые «клеммники». Тоже считаю, что необходимо добавить возможность создания именованных списков глобальных переменных. А также было бы неплохо добавить возможность создавать Data-блоки как у семена
4.Про инверсию
согласен
5.Пропадали привязки переменных
Надо смотреть свойства привязки, т.к. можно было перепутать и не с переменной на выход писать, а наоборот. Жутко тупая вещь, которая иногда подводит
6.Отладка кода ST
Не совсем понял о чем речь, так как значения входных и выходных переменных отображаются на «клеммниках» блока, а значения локальных переменных отображаются во вкладке «Локальные».
7.Подписи проектов
Подписан в верху окна MS4D. у Вас на скрине надпись «MasterSCADA 4D 1.2 : ПЛК_АРМ».Также всегда можно зайти в свойства проекта
8.Привязка констант
Можно просто задать значение на входе POU. Выбрав вход, выставить значение в графе «Начальное значение»

Юрий Горелов прокомментировал:
1. Подгружать в ПЛК небольшие изменения программного кода невозможно. Просто не заложена такая функция, можно только загрузить весь исходный код полностью. Не видел пока ни одного ПЛК который бы при изменении кода не грузил бы код полностью, ну потому что в 99% случаев ПЛК они бинарно пишут программу внутрь. Сименс, они по разному в разных версиях реализуют данную возможность в какой то версии и частично подгружают код, но это очень нелогично, и достаточно странно. Редко так делал, не сразу сообразил о чем речь. да, Мастерскада 4D так не умеет, ну потому что она архитектурно другая)
3. Привязывание по имени программы имеется ввиду? Чисто технически в Мастерскада 4D каждый элемент имеет свой ID и по нему можно через точку привязываться. Однако сам не пробовал, потому что мышкой проще и более наглядно сразу видно как, я не понимаю как иначе. Тянем мышкой из одной части в другу - из двух таблиц по-моему эффективно. Да хоть два объекта. в каждом n переменных. правой кнопкой по второму объекту -выбираем " открыть в панели веток. и они получаются рядом, это проще. Так удобнее привязывать. Вот при такой организации рабочего пространства гораздо проще привязывать мышкой одно к другому, чем в таблице искать по названию)
4.Глобальные переменные это наверно к предыдущему пункту - удобству привязки. В каждой связи тут видно, куда она идёт и какая она - входящая или исходящая
5. Такой уж он дан. Кому что нравиться, хотя есть какие то темы к мастерскаде, но не помню где переключаются в каждой связи тут видно куда она идёт и какая она - входящая или исходящая
6. Да, без загрузки проекта логика работы не поменяется)
7. На входных и выходных клеммниках видны состояния и значения
8. задачи есть ,их можно делать в дереве системы и привязывать объекты на конкретные задачи, более того, можно назначать их в отдельные Узлы- ПЛК. Когда проект состоит из нескольких ПЛК и АРМ-ов

#Мастерскада 4D, #Опыт работы, #ПЛК110, #Отзыв, #Достоинства, #Недостатки

Оставьте первый комментарий

Ваш комментарий добавлен
Оставьте Вашу заявку и получите ответ в самые короткие сроки!