Codesys как средство реализации МЭК 61131-3
сергей рылов
к.т.н., эксперт по автоматизации производства,
Школа Fine Start
В данной статье продолжим рассмотри
CoDeSys (Controller Development System) — один из самых популярных в мире аппаратно независимых комплексов для прикладного программирования ПЛК и встраиваемых контроллеров.
Итак, начнём!
CoDeSys (Controller Development System)
Основным его компонентом является среда программирования на языках стандарта МЭК 61131 — 3. Комплекс работает на компьютере. Программы компилируются в машинный код и загружаются в контроллер. Любую задачу, которая имеет решение в виде программы, можно реализовать в CoDeSys.
Изначально CoDeSys был нацелен на задачи, требующие автономности, надежности и предельного быстродействия при минимизации аппаратных средств. Благодаря этому он вышел далеко за рамки традиционных для МЭК 61131 — 3 систем ПЛК. Сегодня автомобили, краны, экскаваторы, самосвалы, яхты, печатные машины, деревообрабатывающие станки, литейные и прокатные машины, сборочные автоматы крупнейших мировых брендов включают один или группу встроенных контроллеров с CoDeSys.
На сегодняшний день CoDeSys успешно применяется во всех без исключения областях промышленности. В мире более 350 компаний, изготавливают контроллеры с CoDeSys в качестве штатного инструмента программирования.
Как продукт, CoDeSys ориентирован на изготовителей контроллеров. Разрабатывая новый контроллер, они устанавливают в него систему исполнения CoDeSys Control. Собирают из ее компонентов требуемую конфигурацию, добавляют собственные ноу-хау и специфические компоненты и получают собственное инструментальное ПО.
Все коммерческие и технические вопросы, связанные с поддержкой ядра контроллера, всех типов его аппаратных модулей, библиотек, стеков и конфигураторов сетей его беспокоить не должны. Все это должно быть решено за него разработчиками ПЛК и CoDeSys совместно.
СРЕДА ПРОГРАММИРОВАНИЯ
Среда программирования
Среда программирования — это та часть, с которой непосредственно имеет дело пользователь (рис.1). Она функционирует на ПК и является основным компонентом комплекса. Она включает редакторы для девяти языков программирования ПЛК, в том числе стандартные языки МЭК 61131 — 3.
Пользователь может выбрать один из них и программировать простыми средствами либо задействовать всю мощь новейших инструментов CoDeSys. На выходе CoDeSys непосредственно дает быстрый машинный код. Поддержаны все распространенные семейства микропроцессоров от 16 до 64 — разрядных.
Среда программирования CoDeSys включает набор инструментов для подготовки и отладки программ, компиляторы, конфигураторы, редакторы визуализации и т.д. При необходимости функциональность системы дополняется опциональными компонентами.
Проект CoDeSys можно хранить не только на диске ПК, но и в контроллере, если он имеет достаточный объем памяти, что позволяет избежать потери исходных текстов или путаницы в проектах. Для больших проектов предусмотрено использование системы контроля версий.
Для отладки пользователю не нужно открывать специальных отладочных окон или составлять каких — либо списков переменных. Непосредственно в редакторах отображаются значения всех видимых на экране переменных. Причем в сложных выражениях видны все промежуточные результаты.
В CoDeSys V3 впервые в мире была реализована поддержка объектно-ориентированного программирования (ООП) в языках стандарта МЭК 61131 — 3.
Разработка концепции была начата в 2005 году. Введен ряд новых ключевых слов для определения методов, свойств, интерфейсов и наследования, позволивших эволюционно развить в объект привычный функциональный блок.
Пользователь может по своему усмотрению писать программы привычным образом или использовать объекты. Такой подход не создает лишних проблем «старым» прикладным программистам. В тоже время молодые специалисты, изучившие ООП в вузе и уже не представляющие себе серьезную работу без данной технологии, смогут реализовать свой потенциал. Предложенные расширения ООП прошли проверку временем в CoDeSys, получили широкое одобрение и будут включены в стандарт.
Из новшеств CoDeSys следует отметить странично — ориентированный FBD и поддержку языка Python для автоматизации работы в среде программирования.
Использование Python снимает все мыслимые ограничения. CoDeSys включает конфигураторы ввода/вывода с поддержкой полевых сетей Modbus, PROFIBUS, PROFINET, DeviceNet, CANopen, EtherCAT, Ethernet IP и большое число сервисных модулей.
Система исполнения CoDeSys Control
CoDeSys Control — это часть, которая должна быть встроена в ПЛК. Программируя ПЛК, пользователь должен думать исключительно о сути прикладной задачи. Его не должны волновать организация памяти, процедуры опроса модулей ввода/вывода, способы синхронизации данных, функции сетевого обмена и связи с верхним уровнем, вызовы циклических и событийных задач, организация фиксации выходов при отладке на оборудовании и т. п. Всю черновую работу за него должна выполнить система исполнения.
В общей сложности CoDeSys Control включает более 200 компонентов. Каждая «сборка» под конкретную модель ПЛК будет отличаться. Ее состав определяется возможностями аппаратуры и типом ПЛК. Включение абсолютно всех компонентов, на всякий случай, привело бы к неоправданному росту аппаратных ресурсов и стоимости.
Например, включение функции «горячей» правки кода без остановки ПЛК удваивает требования к ОЗУ.
Некоторые компоненты представлены в нескольких вариантах. Например, компонент «менеджер задач». Самый дешевый ПЛК может иметь единственный аппаратный таймер, «тикающий» каждые 10 мс, и не иметь ОС. Для него подойдет простой планировщик циклических задач без вытеснения. С ним не смогут работать некоторые другие компоненты, например, ЧПУ или стек CANopen, но они и не требуются в ПЛК такого уровня. Для ПЛК с мощным 32 — или 64 — битным процессором и ОС РВ разумно включить наиболее совершенный «менеджер задач» с поддержкой событий, реального времени и нескольких приложений в одном устройстве. С каждым таким приложением можно работать как с независимым ПЛК: загружать, запускать, останавливать и отлаживать программы, не влияя на работу других приложений.
CoDeSys Control может функционировать под управлением любой ОС или даже без нее. Наиболее часто используют ОС VxWorks, Windows CE и Linux. Имеются адаптации под RT — OS32 (RTKernel), QNX, Nucleus, pSOS, OS9, TenAsys INtime. Изготовитель оборудования может самостоятельно адаптировать CoDeSys Control под другую ОС.
SoftPLC CoDeSys SP RTE
CoDeSys SP RTE представляет собой специальную систему исполнения для ОС семейства Windows со встроенным ядром жесткого реального времени.
Она позволяет превратить обычный компьютер в быстродействующий ПЛК. Ввод/вывод подключается через полевые сети. SP RTE обеспечивает стабильность рабочего цикла МЭК программ в диапазоне микросекунд и работу контроллера при зависании ОС.
CoDeSys визуализация
Среда CoDeSys оснащена встроенной системой визуализации и операторского управления. Непосредственно в CoDeSys можно построить графический интерфейс оператора или модели объекта, без использования внешних инструментов. Для интеграции с программой достаточно прописать в свойствах элементов соответствующие переменные. Не требуется создавать символьные файлы, настраивать связь или выполнять иные рутинные операции. Если работает CoDeSys, то работают и средства визуализации.
CoDeSys HMI часто называют SCADA — системой. Это не верно. Она не имеет столь мощных графических средств, не использует OPC, не имеет средств ведения суточных архивов и интеграции с БД, а также функций программирования.
Но она обеспечивает управление в реальном времени и на порядок менее требователена к ресурсам. Весь интеллект системы сосредоточен в ПЛК, а HMI выполняет роль тонкого клиента отображения. Ее типичные применения — это встроенные пульты управления станками, погрузчиками, кранами, трамваями и подобными системами, где нужна быстрая гарантированная реакция и стоимость оборудования критична.
Сервер данных (Data Server) позволяет собирать данные от нескольких контроллеров. При этом не обязательно, чтобы все они программировались в CoDeSys. Сервер данных является частью системы исполнения.
Визуализация CoDeSys может параллельно работать на нескольких устройствах:
- CoDeSys WebVisu позволяет контролировать работу своей системы из любого места и в любое время через Internet. Web-сервер является компонентом системы исполнения
- CoDeSys HMI — это отдельная утилита, предназначенная для операторского управления с отдельного компьютера локальной сети
- CoDeSys TargetVisu — интегрированный компонент системы исполнения, предназначенный для создания панельных ПЛК. Применяется в локальных пультах управления
Из последних новшеств визуализации CoDeSys выделяется пакет библиотек элементов визуализации для различных прикладных областей с современным графическим представлением (См. рис 2.)
CoDeSys V3 Safety
Комплекс Safety ориентирован на обеспечение безопасности там, где присутствует человек. CoDeSys Safety представляет собой комплекс инструментов, который позволяет разрабатывать контроллеры, удовлетворяющие требованиям стандарта IEC 61508 для оборудования систем безопасности Safety Integrity Levels 3 (SIL3). Он включает безопасную систему исполнения, безопасный компилятор, конфигураторы безопасных сетей, библиотеки PLCopen Safety и набор документов, включающий методику тестирования и сертификации.
Эта технология существенно сложнее обычных ПЛК систем. Так, например, до запуска кода выполняется целый ряд специальных проверок. После загрузки машинного кода в контроллер и создания загрузочного образа код скачивается обратно в среду разработки, производится его декомпиляция и сравнение с исходным текстом. Безопасные контроллеры уровня SIL3 должны проходить обязательную сертификацию. Это весьма сложный и дорогостоящий процесс. Применение CoDeSys Safety позволяет существенно упростить его.
CoDeSys redundancY
В противоположность безопасным (Safety), надежные системы (Redundancy) чаще необходимы в местах, куда человеку трудно добраться, либо там, где остановка работы оборудования недопустима по технологическим или финансовым критериям. Например, 5 мин простоя линии разгрузки крупного морского порта обходятся дороже стоимости всего электронного оборудования.
CoDeSys Redundancy представляет собой специальный плагин для среды программирования и набор компонентов системы исполнения, обеспечивающий синхронизацию, диагностику и переключение основного и дублирующего контроллеров.
Выводы
Благодаря своим отличным функциональным возможностям, надежности и открытым интерфейсам, CoDeSys стал лидером в области инструментов программирования ПЛК. Не случайно он выбран в качестве базового инструмента многими ведущими мировыми поставщиками аппаратных решений для промышленной автоматизации.
Сергей Рылов
К.Т.Н., ЭКСПЕРТ ПО АВТОМАТИЗАЦИИ ПРОИЗВОДСТВА, ШКОЛА FINE START
Более 10 лет опыта инженером по автоматизации, инженером-программистом АСУ ТП и инженером-проектировщиком АСУ ТП в разных отраслях промышленности.
Принимал участие в таких крупных проектах автоматизации, как проекты ГУП «Мосгортранс» и ОАО "Линде Газ Рус".
Заинтересовала статья?
Освоить востребованную профессию в сфере автоматизации производства вы можете в Школе Fine Start. Узнайте детали в каталоге наших профессий