Описание среды программирования CoDeSys 3

· publikacii / plc · архивная версия

Вряд ли можно вспомнить что-либо действительно яркое в области конструктивных и схемотехнических решений, появившихся в ПЛК в последнее время. Несомненно, увеличивается быстродействие процессоров, упрощается монтаж и повышается надежность промышленных контроллеров, радикально уменьшились их вес и габариты. К слову, согласно стандарту МЭК 61131-1 ПЛК весом более 3 кг должен быть оборудован ручкой для переноски. Сейчас это требование уже вызывает лишь легкую улыбку.

Основная конкуренция ПЛК сосредоточена сейчас в области прикладного программного обеспечения. Инженер-программист ПЛК - это в большей степени инженер, чем программист. Поэтому производители промышленных контроллеров не жалеют сил на разработку мощных и одновременно простых в применении средств программирования. С помощью такого прикладного программного обеспечения можно не только написать программу и загрузить ее в ПЛК, но и нарисовать мнемосхему или графически изобразить алгоритм управления перемещением. Там, где раньше использовались прерывания и ассемблерные вставки, теперь можно использовать стандартные функциональные блоки, что упростит написание программы ПЛК. Однако за простотой использования прикладного программного обеспечения скрываются сложнейшие программные технологии. Немногие производители ПЛК имеют собственное прикладное программное обеспечение, такое как например STEP 7 от SiemensCX-One от Omron или PL-7 от Schneider Electric.

В 1990-х годах компания 3S - Smart Software Solutions, выпустила на рынок программное обеспечение CoDeSys, соответствующие стандарту МЭК 61131-3 для программирования промышленных контроллеров. Привлекателен этот программный пакет был тем, что среда программирования распространялась бесплатно.

В настоящее время CoDeSys значительно перерос функции инструмента МЭК-программирования. Помимо традиционных интегрированных редакторов, отладчика и компилятора, в его состав входят конфигуратор для ПЛК и промышленных сетей, встроенный редактор для создания мнемосхем, OPC и DDE серверы, сервер для отладки(ENI), дополнительные библиотеки и редакторы SoftMotion, модуль SoftPLC для реализации жёсткого реального времени на операционных системах Windows XP/NT (SP, RTE) и др.

Многие производители промышленных контроллеров предлагают CoDeSys как основной инструмент программирования для своих ПЛК: ABB, Beckhoff, Kontron, Eaton, WAGO, ОВЕН и др. Благодаря встроенным средствам эмуляции, отсутствию лицензионных ограничений на среду разработки и подробной документации CoDeSys исключительно популярен также в учебных лабораториях.

Разработку CoDeSys версии 3.0 компания 3S начала с января 2003 г. Для обеспечения легкого перехода от предыдущей платформы разработчики CoDeSys 3.0 руководствовались следующими критериями:

CoDeSys версии 3.0 реализует большое количество интересных новшеств. Например, возможность «сворачивать» в одну строку отображение сложных конструкций в языке ST (IF … END_IF, VAR … END_VAR и т.д.), мониторинг промежуточных значений в выражениях, МЭК-функции с переменным числом параметров и многое другое. Однако из всех новшеств стоит выделить 5 ключевых:

Подавляющее большинство серьёзных программных проектов для ПК реализуется сегодня с помощью объектно-ориентированных языков. Хотя поначалу некоторые программисты скептически относились к объектно-ориентированному программированию (ООП), уменьшение сроков разработки и простота повторного использования теперь уже никем не оспариваются. В CoDeSys 3.0 полноценно реализованы фундаментальные особенности объектно-ориентированного программирования: классы, интерфейсы, наследование, полиморфизм и динамическое связывание. Компания 3S расширила МЭК 61131-3 без его изменения, введя дополнительный набор ключевых слов. Конечно же, ООП — это не стандартное расширение МЭК 61131-3. Но дело упрощается тем, что в стандарте уже заложен фундамент объекта. Это функциональный блок. Дооснащение функциональных блоков всеми свойствами объекта выглядит как абсолютно естественное их развитие. Новые ключевые слова построены на основе языка программирования Java. Таким образом, знакомые с ООП программисты не встретят никаких затруднений при работе в CoDeSys.

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

Также интересным нововведением является возможность выполнения нескольких разных приложений и нескольких экземпляров одного приложения (клонов) в одном устройстве. Помимо этого, конфигуратор промышленной сети позволяет теперь настраивать не только интеллектуальные устройства, но и дает возможность для параметрирования пассивных элементов, таких как энкодеры или исполнительные механизмы.

Каждому инженеру АСУ ТП, занимающемуся обслуживанием, хорошо знаком следующий сценарий: незначительный ремонт оборудования или модернизация технологии приводят к необходимости коррекции программы ПЛК. Исходный проект сохранился, но для его правки желательно использовать именно ту версию программного обеспечения, в которой он был создан. В результате на программаторе появляется набор дистрибутивов разных версий одного и того же программного обеспечения, регулярно теряющихся и периодически переустанавливаемых. В CoDeSys версии 3.0 эта проблема решена. Новые версии и обновления устанавливаются не поверх, а рядом с существующими версиями. Менеджер компонентов обеспечивает сохранение и обновление соответствующих версий всех компонентов системы. Каждая инсталляция имеет собственный профиль. По умолчанию всегда используется самый свежий профиль, но есть и возможность выбрать любой необходимый. Текущий профиль сохраняется в проекте. При повторном его открытии система запрашивает разрешение на использование нового профиля. В противном случае используются те же инструменты, что и при предыдущем редактировании и компиляции проекта.

CoDeSys 3.0 включает инструменты создания систем безопасности на ПЛК. В их состав входят специализированный редактор, соответствующий компилятор и система исполнения. Данные компоненты проходят сертификацию на соответствие стандарту МЭК 61508, SIL 3. Контроллер безопасности и стандартный ПЛК могут использовать одну и ту же аппаратную платформу и обмениваться данными посредством PROFI-Safe. Применение CoDeSys 3.0 не только удешевит разработку, но и упростит сертификацию систем безопасности.

Стандартная проблема, с которой сталкиваются OEM-производители промышленных контроллеров, использующие универсальные пакеты прикладного программирования, - это интеграция в систему собственных инструментов, таких как модули низкоуровневого аппаратного конфигурирования, модули обновления системного программного обеспечения, средства поддержки собственных промышленных сетей и др. Обычно такие инструменты поставляются отдельным программным обеспечением. Понятие же программной платформы подразумевает возможность интеграции разнородных программных инструментов, необходимых на всех стадиях взаимодействия с промышленным контроллером. Модульная структура CoDeSys 3.0 позволяет собрать и предложить конечному пользователю расширяемую программную среду, включающую все необходимые ему инструменты. CoDeSys 3.0 легко расширяется внешними компонентами. Все системные функции для реализации такой интеграции документированы и снабжены шаблонами, позволяющими опытному пользователю самостоятельно расширять её, создавая собственные компоненты, обеспеченные защитой авторских прав. Как производители ПЛК, так и конечные пользователи получают возможность «собрать» на программной платформе CoDeSys собственный модуль, включающий любые специфические для их задач компоненты.

Источник: По материалам Петрова И.В.