Открыть сервисСервис

CODESYS

CODESYS — это интегрированная среда разработки (IDE) для программирования промышленных контроллеров (ПЛК) и встраиваемых систем, поддерживающая все пять языков стандарта МЭК 61131-3 (IEC 61131-3). Разрабатывается и поддерживается немецкой компанией CODESYS GmbH (до 2016 года — 3S-Smart Software Solutions GmbH). Система включает в себя среду разработки (CODESYS Development System) и среду исполнения (CODESYS Runtime), которая может быть встроена в различные аппаратные платформы. CODESYS является одной из наиболее распространённых в мире платформ для промышленной автоматизации, особенно в Европе и России.

История

Разработка CODESYS началась в 1994 году компанией 3S-Smart Software Solutions GmbH, основанной в Кемптене (Германия). Первоначально система называлась CoDeSys (Controller Development System) и была ориентирована на создание программного обеспечения для ПЛК в соответствии с новым тогда стандартом МЭК 61131-3. Первая коммерческая версия вышла в 1995 году.

В 2000-х годах CODESYS стал активно внедряться производителями ПЛК как альтернатива проприетарным средам разработки. Ключевым преимуществом стала открытость платформы: производители могли лицензировать среду исполнения (Runtime) и интегрировать её в собственные контроллеры, получая единый инструмент программирования.

В 2016 году компания 3S-Smart Software Solutions была переименована в CODESYS GmbH. В 2020-х годах платформа продолжила развитие в направлении промышленного Интернета вещей (IIoT), облачных сервисов и кибербезопасности. В 2022 году, в связи с санкционными ограничениями, CODESYS GmbH прекратила прямые продажи и техническую поддержку для компаний из России, однако существующие системы продолжают эксплуатироваться.

Архитектура и компоненты

CODESYS Development System (среда разработки)

Это основное приложение, устанавливаемое на персональный компьютер под управлением Windows (также доступна версия для Linux). Предоставляет графический интерфейс для написания, отладки и компиляции программ. Включает в себя:

CODESYS Runtime (среда исполнения)

Это программный компонент, который устанавливается непосредственно на целевое устройство (ПЛК, промышленный компьютер, встраиваемый модуль). Runtime обеспечивает выполнение скомпилированного кода, управление вводом/выводом, сетевое взаимодействие и работу с операционной системой реального времени. CODESYS Runtime может работать на различных ОС: Windows Embedded, Linux, VxWorks, QNX, а также на голом металле (без ОС).

CODESYS Control

Специализированная версия Runtime, предназначенная для установки на стандартные промышленные ПК (например, на базе Windows или Linux), превращая их в полноценный ПЛК.

Языки программирования (МЭК 61131-3)

CODESYS полностью поддерживает пять языков, определённых стандартом МЭК 61131-3:

  1. ST (Structured Text, Структурированный текст) — текстовый язык высокого уровня, синтаксически похожий на Pascal. Наиболее популярен для реализации сложных алгоритмов.
  2. LD (Ladder Diagram, Релейно-контактные схемы) — графический язык, основанный на электрических схемах. Широко используется специалистами с электротехническим образованием.
  3. FBD (Function Block Diagram, Функциональные блоковые диаграммы) — графический язык, где программа строится из функциональных блоков, соединённых связями. Удобен для обработки сигналов и регуляторов.
  4. SFC (Sequential Function Chart, Последовательные функциональные схемы) — графический язык для описания последовательных процессов и состояний (шагов). Напоминает блок-схемы алгоритмов.
  5. IL (Instruction List, Список инструкций) — низкоуровневый текстовый язык, похожий на ассемблер. В настоящее время считается устаревшим и редко используется в новых проектах.

Ключевые возможности

Библиотеки и компоненты

CODESYS имеет обширную библиотечную систему. Встроенные библиотеки включают:

  • Стандартные математические и логические функции.
  • Библиотеки для работы с аналоговыми и дискретными сигналами.
  • Библиотеки ПИД-регуляторов, таймеров, счётчиков.
  • Коммуникационные библиотеки (Modbus, CANopen, EtherCAT, PROFINET, OPC UA).
  • Библиотеки для работы с файловыми системами, базами данных.

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

Визуализация

CODESYS предоставляет встроенный инструмент для создания операторских интерфейсов (HMI). Визуализация может быть:

  • Стационарной — отображаться на дисплее контроллера или промышленного панельного ПК.
  • Веб-визуализацией — доступна через веб-браузер на любом устройстве в локальной сети.
  • Удалённой — через специализированный клиент CODESYS HMI.

Коммуникация и сети

Поддерживаются все основные промышленные протоколы:

  • Fieldbus: Modbus RTU/TCP, CANopen, PROFIBUS, DeviceNet.
  • Industrial Ethernet: EtherCAT, PROFINET, Ethernet/IP, POWERLINK.
  • OPC UA: для интеграции с системами верхнего уровня (SCADA, MES, ERP).
  • MQTT и HTTP: для передачи данных в облачные платформы (IIoT).

Кибербезопасность

Начиная с версии CODESYS 3.5 SP16, реализованы меры защиты:

  • Подписывание и шифрование проектов.
  • Аутентификация пользователей (ролевая модель).
  • Защита от несанкционированного доступа к Runtime через сеть.
  • Поддержка TLS для веб-визуализации и OPC UA.

Применение

CODESYS используется в широком спектре отраслей промышленности:

  • Машиностроение: управление станками с ЧПУ, роботизированными комплексами, упаковочным оборудованием.
  • Энергетика: автоматизация подстанций, управление генераторами, системами возобновляемой энергии.
  • Нефтегазовая отрасль: управление насосами, компрессорами, трубопроводной арматурой.
  • Пищевая промышленность: управление линиями розлива, дозирования, упаковки.
  • Здания и инфраструктура: системы отопления, вентиляции, кондиционирования (HVAC), управления освещением.
  • Транспорт: автоматизация железнодорожных переездов, управление лифтами и эскалаторами.

Экосистема и сообщество

CODESYS имеет развитую экосистему:

  • CODESYS Store — онлайн-магазин, где разработчики могут приобретать и продавать готовые библиотеки, визуализации и проекты.
  • CODESYS Forge — платформа для совместной разработки и обмена проектами с открытым исходным кодом.
  • CODESYS Academy — образовательный портал с курсами, документацией и вебинарами.
  • CODESYS Group — сообщество пользователей, включающее форумы, группы в социальных сетях и локальные мероприятия.

Производители, использующие CODESYS

Многие ведущие мировые производители ПЛК и встраиваемых систем лицензируют CODESYS Runtime. Среди них:

  • WAGO (серия ПЛК 750, 1000, 2000).
  • Beckhoff (CX, C6xxx, серии TwinCAT — TwinCAT использует ядро CODESYS).
  • IFM Electronic (ecomatController, CR-series).
  • Phoenix Contact (ILC, PLCnext — частично).
  • ABB (AC500, AC800M — частично).
  • Schneider Electric (M221, M241, M251 — частично).
  • Siemens (S7-1200, S7-1500 — через TIA Portal, не напрямую, но архитектура близка).
  • Российские производители: «Овен» (ПЛК серии 100, 150, 200), «Текон» (ПЛК-150, ПЛК-200), «Эмикон» (ПЛК-100), «Промэлектроника» (ПЛК-400).

Критика и ограничения

  • Закрытость ядра: несмотря на поддержку открытых стандартов, ядро CODESYS является проприетарным. Это ограничивает возможности глубокой модификации под специфические задачи.
  • Лицензирование: для коммерческого использования Runtime требуется платная лицензия, что увеличивает стоимость готового изделия.
  • Ресурсоёмкость: среда разработки и Runtime требуют относительно много оперативной памяти и процессорного времени по сравнению с некоторыми специализированными системами.
  • Сложность освоения: для новичков, не знакомых с МЭК 61131-3, кривая обучения может быть крутой.
  • Зависимость от вендора: пользователи могут стать зависимыми от политики лицензирования и обновлений CODESYS GmbH.

Интересные факты

  • CODESYS является основой для системы TwinCAT от Beckhoff, которая считается одной из самых производительных сред для программирования ПЛК.
  • В 2021 году CODESYS стал первой средой разработки ПЛК, получившей сертификат безопасности IEC 62443-4-1 (кибербезопасность промышленных систем).
  • Существует версия CODESYS для программирования микроконтроллеров (например, STM32), что позволяет инженерам использовать промышленные языки во встраиваемых системах.
  • В России CODESYS является де-факто стандартом для обучения в вузах по специальностям «Автоматизация технологических процессов» и «Промышленная электроника».

Источники

  • Официальная документация CODESYS GmbH (CODESYS Online Help).
  • Стандарт МЭК 61131-3:2013 «Программируемые контроллеры. Часть 3. Языки программирования».
  • Материалы конференций и семинаров CODESYS (CODESYS World, CODESYS Days).
  • Учебные пособия и статьи на порталах «АСУТП-инжиниринг», «Промышленная автоматизация».
  • Информация с сайтов производителей ПЛК (WAGO, Beckhoff, Овен, Текон).