Фильтр по тематике

CoDeSys 3.0 — новый уровень инструментов программирования ПЛК

Десять лет назад компания 3S-Smart Software Solutions впервые представила на Европейском рынке свой инструмент МЭК 61131-3 программирования. За прошедшие годы он непрерывно развивался и расширялся. Теперь 3S представляет концептуально новый инструмент, получивший название CoDeSys 3.0.

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

При разработке встраиваемого микропроцессорного устройства прикладную программу пишет профессиональный программист. Он обязан затратить максимум усилий на реализацию ПО в рамках оправданных аппаратных ограничений. Это окупится при массовом производстве.

С ПЛК ситуация абсолютно противоположная. Прикладной программист — это профессиональный технолог. Единственная его цель — быстро и безошибочно решить стоящую перед ним практическую задачу. Поэтому изготовители ПЛК не жалеют сил на создание мощных и одновременно простых в применении средств программирования.

Уже сегодня с помощью Internet Explorer можно «зайти» на встроенный в ПЛК Web-сервер, «набросать» HMI, «собрать» распределённую FDT-систему, «нарисовать» систему управления движением SoftMotion. Загрузив в промышленный компьютер SoftPLC, можно совместить «упрощённые» ПЛК-технологии с высочайшей вычислительной мощью ПК. Там, где раньше использовались прерывания и виртуозные ассемблерные вставки, теперь мы можем позволить себе задействовать стандартный функциональный блок и освободить столь ценное время для более интересных занятий.

Однако за простотой прикладного применения современных контроллеров скрываются сложнейшие программные технологии. Единицы ведущих изготовителей ПЛК в мире могут позволить себе иметь собственные фирменные комплексы программирования высшего класса. По капиталовложениям эта задача близка к созданию собственного микропроцессора. Неудивительно, что появились компании, специализирующиеся на выпуске универсальных инструментов программирования ПЛК, легко адаптируемых для различных аппаратных платформ. Но и среди их продуктов достойными внимания являются только единицы.

Десять лет движения с ускорением

Десять лет назад на европейском рынке впервые появился инструмент МЭК 61131-3 программирования CoDeSys компании 3S-Smart Software Solutions. Изначально он подкупал пользователей необычным сочетанием рациональной техничности и открытости как в подходе к техническим проблемам, так и в лицензионной политике (среда программирования поставляется бесплатно).

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

Многие ведущие изготовители ПЛК предлагают CoDeSys как штатный или альтернативный собственным инструмент программирования: ABB, AMK, Beckhoff, Kontron, Moeller, Wago и др.

Благодаря изящным средствам эмуляции, отсутствию лицензионных ограничений на среду программирования и интенсивному развитию CoDeSys исключительно популярен и в учебных лабораториях.

Разработку CoDeSys 3.0 компания 3S-Smart Software Solutions начала с января 2003 г. Наличие тысяч пользователей CoDeSys во всём мире усложнило задачу, добавив требование совместимости при одновременном внедрении значительных технологических новшеств (рис. 1).


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

  • «старые» проекты CoDeSys должны загружаться и исполняться без каких-либо потерь;

  • новая система должна быть максимально простой в освоении и использовании;

  • возможность применения high-end инструментов не только для сверхпроизводительных, но и для экономичных ПЛК (на 16-разрядных ЦП, с 64 кбайт RAM и 64 кбайт флэш-памяти).

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

  • объектно-ориентированные расширения МЭК;

  • сети ПЛК;

  • профили версий;

  • безопасные системы;

  • объединяющая платформа автоматизации.

Объектно-ориентированные расширения

Подавляющее большинство значимых программных проектов для ПК реализуется сегодня с помощью объектно-ориентированных языков. Хотя поначалу некоторые программисты скептически относились к ООП, уменьшение сроков разработки и простота повторного использования теперь уже никем не оспариваются.

В CoDeSys 3.0 полноценно реализованы фундаментальные особенности объектно-ориентированного программирования: классы, интерфейсы, наследование, полиморфизм и динамическое связывание. 3S расширила МЭК 61131-3 без его изменения, введя дополнительный набор ключевых слов. Аналогичным образом язык C был расширен до C++.

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

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


Помимо собственно программ, концепция объекта в CoDeSys 3.0 применена и для других элементов проекта, как-то: графические элементы визуализации, элементы сетевой конфигурации и др.

Сети ПЛК

Интеллектуальные устройства промышленной автоматизации, выпускаемые более чем 60 компаниями-членами CoDeSys Automation Alliance, программируются в CoDeSys версии 2.3 и могут использовать общее пространство сетевых переменных. В версии 3.0 появилась возможность простого администрирования всех ПЛК, объединенных в сеть в одном проекте. Конечно же, составляющие сеть контроллеры могут быть выпущены разными изготовителями. Настройка специфических переменных контроллеров предельно упрощена. Еще одним интересным новшеством является возможность выполнения нескольких разных приложений и нескольких экземпляров одного приложения (клонов) в одном устройстве (рис. 3).


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

Профили версий

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

В CoDeSys 3.0 эта проблема решена. В распоряжении специалиста всегда имеются все необходимые версии. Новые версии и обновления «ставятся» не поверх, а рядом с существующими (рис. 4). 


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

Безопасные системы

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

Объединяющая платформа автоматизации

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

Понятие платформы подразумевает возможность естественного объединения разнородных инструментов, необходимых на всех стадиях инженерного проекта.

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

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

Заключение

Описанные концептуальные новшества, реализуемые сегодня 3S-Smart Software Solutions, являются тщательно проработанными и согласованными результатами многолетнего коллективного труда большого числа специалистов во всем мире. Они апробированы на открытых пользовательских семинарах 3S и опираются на новейшие технологии, выработанные ведущими объединениями изготовителей средств промышленной автоматизации.

Работа над CoDeSys 3.0 продолжается. Но уже сейчас нет сомнений, что базовые концепции 3S выходят за рамки новой версии CoDeSys и формируют новый уровень в технологии программирования ПЛК в целом. Можно ожидать, что именно они будут определять моду в мире ПЛК на ближайшие годы. ● 

Автор — сотрудник ПК «Пролог»
Телефон: (0812) 38-2931
Факс: (0812) 65-8171

Комментарии
Рекомендуем

ООО «ПРОСОФТ» 7724020910 2SDnjdbfYK3
ООО «ПРОСОФТ» 7724020910 2SDnjdbfYK3