Применение SWITCH-технологии для программирования программируемых логических контроллеров



Интересно было бы узнать, как опытные разработчики реализуют логику управления для ПЛК. Какими средствами разработки пользуются? Как относятся к языкам стандарта МЭК 1131? Из моего опыта могу сказать, что на графических языках типа FBD логика управления реализуется довольно проблематично из-за нагромождения условных операторов. Можно использовать для этого триггеры и/или мультиплексоры для кодирования/декодирования состояний. Но это не выход. Для решения указанной задачи я использую SWITCH-технологию (http://is.ifmo.ru), поскольку она позволяет наглядно представить структуру программы, облегчает ее документирование. А специальные утилиты реализуют автоматическую генерацию кода, что ускоряет процесс разработки. И вообще документируют ли современные разработчики свой код? Или это опциональное требование, которые не выполняется по той простой причине, что разработчик хочет остаться незаменимым?

Основная суть технологии изложена в статье «Алгоритмизация и программирование для систем логического управления». Но для получения общего представления о данном подходе стоит прочитать статью, опубликованную в 8-м номере журнала Мир ПК за 2001 год. Она называется «Программирование с явным выделением состояний». Для меня вначале тоже многое было непонятно, потому что я никак не мог себе представить как же все это хозяйство реализуется на практике. На самом деле SWITCH-технология отражает совершенно новый подход к программированию. Теперь в разработке ПО появился новый этап — проектирование, о котором раньше как-то не было принято говорить. Все просто садились и писали. Причем какой-то целостного представления о выполняемой работе не было. Особенно это касается софта для ПЛК. Для начала пишется заглушка, отлаживается, потом постепенно наращивается функциональность. Обычно в виде набора модулей с некоторым множеством фунций в каждом. Взаимосвязи модулей через пару лет будут уже никому не понятны. Основное время разработчика будет занимать поиск глюков в процедурах, которые писались неизвестно кем неизвестно когда без какого-либо документирования. Думаю, для многих это до боли знакомая ситуация. В SWITCH-технологии используется совершенно иной подход, основным преимуществом которого является ясность (естественно для тех кто в ней разбирается). Большая заслуга г-на Шалыто в том, что он постепенно продвигает свое детище в массы, но преодолеть заскорузлость наших программистов не так уж и просто. Хорошо, что он работает преподавателем и несет эту идею с чистого листа в молодые умы, которые еще не привыкли к безответственности.

__________________
С уважением,
Владимир, ООО НПФ «ИНТЕК» http://forum.cta.ru/forum_posts.asp?TID=1023#top