Ниже приведены ответы Алексея Муравицкого.
Цитата:
11. Алексей Муравицкий
Алексей Муравицкий – ведущий специалист компании ОКБ АМУР 3. Выпускник Первого инженерного факультета Омского Танкового Инженерного Института (курс майора Свечкова 2003 г). Окончил курсы по программированию ОВЕН ПЛК1хх и ОВЕН СПК. Программирует в средах CoDeSys V2.3 и CODESYS V3.5 уже 7 лет. Реализовал более 100 проектов на ПЛК и ПР (в основном, на ОВЕН СПК и ПЛК210) – всевозможные насосные станции и установки, тепловые пункты, координатные станки, сложные технологические установки и т.д, и т.п.
1. Почему, на ваш взгляд, стандарт МЭК 61131-3 описывает 5 различных языков программирования, а не один универсальный?
Ответ: у каждого языка есть своя манера алгоритмирования процесса, и для каждого программиста есть тот или иной удобный способ сделать объект на любом языке.
2. Какие языки стандарта МЭК 61131-3 вам приходилось использовать в реальных проектах? Какие из них являются для вас основными и по каким причинам?
Ответ: CFC (вариант FBD), ST. CFC – как правило используется для общей сборки в PLC_PRG. Все остальные составные части проекта делаются объектно-ориентированным методом на языке ST. Встречал людей, которые пишут на IL и на языке релейных схем (очень много), тоже хочу освоить
3. Есть ли, на ваш взгляд, у используемых вами языков недостатки? Чтобы вы хотели изменить в них?
Ответ: каждый язык имеет свои плюсы и минусы. Использование сильных сторон языков позволяет в одном проекте писать на нескольких языках (например, работать с массивом удобнее в ST, а наглядно собрать конечные блоки объектов на CFC), а мой коллега до кучи пишет конечный автомат на LD.
4. Как изменился ваш стиль написания программ на языках МЭК 61131-3 с течением времени и приобретением опыта?
Ответ: двигаюсь больше в сторону объектного программирования.
5. Приходилось ли вам использовать для программирования ПЛК языки, не входящие в стандарт МЭК 61131-3 (например, язык C) и по каким причинам?
Ответ: да – язык Дракон. Он позволяет алгоритмировать любой процесс в кратчайшие сроки. Для примера: на один хорошо отработанный функциональный блок объекта с алгоритмом средней сложности и объемом в 120-170 строк программного кода и 200 строк комментариев на языке ST уходит 2 дня, на языке CFC – 3 дня, на языке Дракон – 4-6 часов.
6. Приходилось ли вам при программировании ПЛК на языках стандарта МЭК 61131-3 использовать объектно-ориентированный подход (наследование, инкапсуляцию) и если да – то для каких задач? Что вы думаете о применении ООП в контексте программирования ПЛК?
Ответ: да, объектный подход — это основной подход в работе. В CODESYS он отличается от подобного подхода в программировании (например, в той же VS 2020). Этот момент создает для меня сложности в понимании и использовании, например, свойств и методов.
7. Встречались ли вы с ситуациями, когда заказчик настаивал на использовании конкретного языка программирования? Чем были вызваны такие требования?
Ответ: нет, заказчик ни разу не настаивал. Более того, многие заказчики с интересом относятся к нашей среде программирования (Дракон), так как она позволяет формировать графический документ, который понятен практически всем. Часто заказчик запрашивает алгоритм в графическом виде из среды Дракон как отчетный документ.
8. Каким вы видите будущее стандарта МЭК 61131-3 и языков программирования ПЛК? Как, на ваш взгляд, будет происходить программирование ПЛК через 20 лет?
Ответ:
• использование трибитной системы вместо двоичной;
• смещение полностью в зону ООП;
• частичное использование технологий искусственного интеллекта (возможно, придется скоро обучать ФБ, как себя вести на объекте, а не писать алгоритм);
• ПЛК получат возможность обрабатывать изображение (техническое зрение — это решит много технологических проблем, связанных с более глубокой автоматизацией процессов производств)