MASTERSCADA 4D
Описываю начальный опыт освоения Masterscada 4D
Постараюсь быть объективным и как можно корректнее охарактеризовать продукт при условии применения на контроллерах ОВЕН ПЛК110 4D.
Так как я подошёл к продукту Мастерскада 4D как программист промышленных контроллеров, то вынужден сравнивать его с такими средами разработки контроллеров (IDE), как TIA PORTAL, UNITY PRO XL, CODESYS. Все эти программы предназначены для программирования контроллеров (ПЛК)
Какие плюсы или достоинства очевидны:
1. Программа Мастерскада 4D предназначена для программирования, как контроллеров, так и SCADA приложений. Что при наличии опыта обеспечивает гибкость при расчете и создании коммерческих предложений. Экономия на лицензировании.
2. Позволяет создавать достаточно быстро WEB интерфейс в рамках ПЛК110 или например Болид, используя его для управления объектом по сети. Удобно, если это локальный уровень автоматизации и при несложной технологии можно практически все сделать без квалифицированного программиста
3. Можно не программировать обмен по протоколу Modbus TCP, контроллер можно сразу опрашивать по протоколу OPC UA.
Какие минусы или недостатки смог обнаружить:
1. При производстве пусконаладочных работ выяснилось, что подгружать в ПЛК небольшие изменения программного кода невозможно. Просто не заложена такая функция, можно только загрузить весь исходный код полностью. При производстве пусконаладочных работ крайне странно слышать хлопки пускателей, если нам всего то навсего пришлось подправить какую-то формулу или добавить OR.
2. Переменные привязывается только методом перетаскивания с места на место. Это больше похоже не на программирование, а на плетение паутины. Данный неудобный принцип был унаследован от Мастерскады 3. При разработке больших проектов это огромная трудоемкость. Невозможно применить тот наработанный подход программирования, который заложен в языках стандарта МЭК аналогично Siemens, Schneider Electric, Овен, хотя в целом стандарт языков выполнен.
5. В целом, считаю, что интерфейс сделан очень не непродуманно и не оптимально. Предполагаю, что за идеологию интерфейса Мастерскада 4D был принят TIA PORTAL, так как за основу взят серый цвет, очень похоже расположение полей и их псевдо скрываемые нависающие с разных мест меню. Всё это годится и подходит только для очень крупных мониторов, которые редко бывают при проведении пусконаладочных работ. Обычно у вас есть небольшой монитор, очень мало места вокруг и нет стола. Оптимизация интерфейса по использованию пространства – недостаточно качественно.Туда, куда ты хочешь смотреть и видеть числа - там их просто нет!
6. Бывали такие случаи, когда переменные были привязаны в одном месте и вроде бы должны были принимать значение выхода, а этого не происходило. То есть видно, что переменная привязана, а на деле она не привязана. Приходилось привязывать повторно, что не могло не расстраивать. Никто не любит делать одну и ту же работу дважды.
8. Отладка кода ST в привычном режиме, когда видны значения переменных внутри кода – невозможна, так как ни одного значения переменных вы не увидите. Чтоб увидеть значения переменных придется выносить переменные на выходы функциональных блоков (клеммники) и уже только там смотреть, как они отрабатывают, а это занимает больше времени. Как как отладка кода со значениями внутри экземпляра невозможна, то приходится выносить все переменные в отдельную программу чтобы там отладить и только потом возвращать обратно в библиотеку и в функциональный блок
9. На языке FB невозможно привязать константу в виде числа, допускается вставка только переменных типа констант. Опять нужно совершить дополнительные действия и всё это съедает пространство.
Теперь же удалось сделать небольшой проект. Все возможности 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 очень перспективная среда и ее объектно-ориентированный подход во многих проектах может стать большим плюсом за счет масштабируемости и скорости разработки.
Это настоящая боль, т.к. загрузка останавливает Runtime.
2.Перетаскивание связей - манипулятором типа "мышь"
Это тоже боль, так как зачастую места откуда нужно перетягивать и куда не помещаются на одном экране. Приходится выделять элемент тот с которым необходимо установить связь и связывать его свойства с другим элементом (например, самое банальное – переписать значение из сетевой переменной в переменную объекта или установить связь в его «начальное значение»)
3.Нет глобальных переменных
Ну тут типа подход, что любой программный компонент должен связываться с другими программными компонентами или каналами через так называемые «клеммники». Тоже считаю, что необходимо добавить возможность создания именованных списков глобальных переменных. А также было бы неплохо добавить возможность создавать Data-блоки как у семена
4.Про инверсию
согласен
5.Пропадали привязки переменных
Надо смотреть свойства привязки, т.к. можно было перепутать и не с переменной на выход писать, а наоборот. Жутко тупая вещь, которая иногда подводит
6.Отладка кода ST
Не совсем понял о чем речь, так как значения входных и выходных переменных отображаются на «клеммниках» блока, а значения локальных переменных отображаются во вкладке «Локальные».
7.Подписи проектов
Подписан в верху окна MS4D. у Вас на скрине надпись «MasterSCADA 4D 1.2 : ПЛК_АРМ».Также всегда можно зайти в свойства проекта
8.Привязка констант
Можно просто задать значение на входе POU. Выбрав вход, выставить значение в графе «Начальное значение»
3. Привязывание по имени программы имеется ввиду? Чисто технически в Мастерскада 4D каждый элемент имеет свой ID и по нему можно через точку привязываться. Однако сам не пробовал, потому что мышкой проще и более наглядно сразу видно как, я не понимаю как иначе. Тянем мышкой из одной части в другу - из двух таблиц по-моему эффективно. Да хоть два объекта. в каждом n переменных. правой кнопкой по второму объекту -выбираем " открыть в панели веток. и они получаются рядом, это проще. Так удобнее привязывать. Вот при такой организации рабочего пространства гораздо проще привязывать мышкой одно к другому, чем в таблице искать по названию)
4.Глобальные переменные это наверно к предыдущему пункту - удобству привязки. В каждой связи тут видно, куда она идёт и какая она - входящая или исходящая
5. Такой уж он дан. Кому что нравиться, хотя есть какие то темы к мастерскаде, но не помню где переключаются в каждой связи тут видно куда она идёт и какая она - входящая или исходящая
6. Да, без загрузки проекта логика работы не поменяется)
7. На входных и выходных клеммниках видны состояния и значения
8. задачи есть ,их можно делать в дереве системы и привязывать объекты на конкретные задачи, более того, можно назначать их в отдельные Узлы- ПЛК. Когда проект состоит из нескольких ПЛК и АРМ-ов
#masterscada4d, #Опытработы4Д, #ПЛК110_4D, #Отзыв4Д, #Достоинства4Д, #Недостатки4Д
31.01.2023
08.11.2022
08.11.2022
06.10.2022