Что такое CODESYS 3.5
CODESYS - программная платформа для разработки приложений промышленной автоматизации. Название образовано от Controller Development System. В современной документации используется написание CODESYS, хотя в старых материалах и отдельных характеристиках оборудования ещё встречается вариант CoDeSys.
CODESYS это не отдельный язык программирования, а комплекс программных компонентов. В него входят:
- CODESYS Development System — среда разработки, устанавливаемая на компьютер инженера;
- CODESYS Control — среда исполнения, работающая непосредственно в контроллере;
- Пакет описания устройства CREVIS — добавляет выбранный ПЛК и поддерживаемые модули в каталог оборудования CODESYS;
- Библиотеки — содержат готовые функции и функциональные блоки для вычислений, обработки сигналов, обмена данными и управления оборудованием.
Проект создаётся и компилируется на компьютере в CODESYS Development System 3.5, после чего загружается в контроллер. Установленная в ПЛК среда CODESYS Control выполняет пользовательскую программу и обеспечивает её взаимодействие с входами, выходами и коммуникационными интерфейсами.
В контроллерах CREVIS, заявленных как модели с поддержкой CODESYS, среда исполнения предусмотрена производителем. Отдельно устанавливать Runtime в такой ПЛК обычно не требуется. На рабочий компьютер устанавливают совместимый выпуск CODESYS Development System, пакет устройства CREVIS и библиотеки, необходимые для проекта
Обозначение 3.5 указывает на поколение платформы. Внутри CODESYS 3.5 выпускаются разные Service Pack и Patch. Перед началом разработки следует проверить, какая версия среды и какой пакет устройства соответствуют прошивке выбранного контроллера. Это особенно важно при открытии старого проекта или переносе программы на другой ПЛК.
Как на контроллере выполняется программа CODESYS
Если в контроллере сохранено загрузочное приложение и ПЛК переведён в состояние RUN, после включения он запускает пользовательскую программу. В упрощённом виде один цикл работы выглядит следующим образом:
Эта схема является общей. В реальном проекте обмен с модулями ввода-вывода может быть привязан к отдельной задаче цикла шины, а коммуникационные и системные службы выполняются независимо от основной программы.
Программу можно разделить на несколько задач с разными периодами и приоритетами. Например, критичные блокировки и обработку аварийных сигналов размещают в более быстрой циклической задаче, а диагностику, архивирование или обмен с верхним уровнем выполняют реже.
Время реакции системы зависит не только от производительности процессора. На него влияют период задачи, объём программы, используемые библиотеки, загрузка коммуникационных интерфейсов, цикл внутренней шины и время преобразования сигналов в модулях ввода-вывода.
CODESYS поддерживает текстовые и графические языки программирования: LD, FBD и SFC относятся к графическим, а ST и IL — к текстовым. В одном проекте можно применять несколько языков, выбирая наиболее удобный для каждой части программы. В CODESYS также доступен редактор CFC, позволяющий свободно размещать функциональные блоки на рабочем поле. CFC является расширением CODESYS, а не отдельным языком стандарта IEC 61131‑3. Возможность его применения следует проверять для конкретной конфигурации среды разработки.Возможности среды CODESYS 3.5
Модульная структура программы
Проект можно разделить на программы, функции и функциональные блоки. Функциональный блок сохраняет внутреннее состояние между вызовами и подходит для описания повторяющихся объектов: насосов, клапанов, приводов, конвейеров и регуляторов. Один проверенный блок можно использовать многократно, создавая отдельный экземпляр для каждого механизма. Такой подход упрощает разработку, проверку и дальнейшее сопровождение программы.
Настройка оборудования
Контроллер и модули ввода-вывода добавляются в дерево устройств CODESYS. Для модулей и каналов задаются необходимые параметры, после чего физические входы и выходы связываются с переменными программы. Конфигурация в проекте должна соответствовать фактическому составу и порядку модулей в станции. После замены, добавления или перестановки модулей конфигурацию следует проверить и при необходимости обновить.
Работа с библиотеками
К проекту можно подключать системные библиотеки CODESYS, библиотеки производителя оборудования и собственные разработки предприятия. Они содержат математические функции, средства обмена данными, регуляторы и готовые блоки управления типовыми механизмами. При архивировании проекта важно сохранять сведения о версиях библиотек. Замена библиотеки на другой выпуск без проверки может привести к ошибкам компиляции или изменить поведение программы.
Связь со SCADA и HMI
Для обмена с панелями оператора, SCADA-системами, промышленными компьютерами и другими контроллерами могут использоваться Modbus TCP, Modbus RTU, OPC UA и другие поддерживаемые средства связи. OPC UA выбирают в тех проектах, где обмен с верхним уровнем должен выполняться через OPC; для связи со SCADA или HMI он не является обязательным.
Модели с WebVisu позволяют создать интерфейс управления и наблюдения в проекте CODESYS и открывать его в браузере. Само наличие CODESYS не означает, что контроллер поддерживает OPC или WebVisu: эти возможности указываются отдельно в характеристиках модели.
Контроллеры CREVIS с поддержкой CODESYS 3.5
Контроллеры CREVIS с поддержкой CODESYS представлены в сериях G и M. Они различаются исполнением, типом подключаемых модулей ввода-вывода, объёмом памяти, набором промышленных протоколов и наличием OPC UA/DA и WebVisu.
Компактные контроллеры GL серии G
Модели GL‑9971, GL‑9972, GL‑9973, GL‑9974 и GL‑9975 устанавливаются в начале станции ввода-вывода серии G. Они подходят для локальных систем управления и шкафов с ограниченным свободным пространством.
GL‑9971 является базовой моделью с Modbus TCP и поддерживает до 16 модулей. К остальным контроллерам этого семейства можно подключить до 63 модулей серии G. GL‑9972 и GL‑9973 поддерживают Modbus TCP/UDP и Modbus RTU; GL‑9972 оснащён OPC UA/DA, а GL‑9973 дополнительно поддерживает WebVisu. Модели GL‑9974 и GL‑9975 рассчитаны на обмен по Ethernet без встроенного последовательного интерфейса Modbus RTU. GL‑9974 поддерживает OPC UA/DA, а GL‑9975 — OPC UA/DA и WebVisu.
Контроллеры GN серии G
Контроллеры GN‑9371, GN‑9372 и GN‑9373 поддерживают Modbus TCP/UDP и Modbus RTU и позволяют подключить до 63 модулей ввода-вывода серии G.
GN‑9371 подходит для систем, где не требуются OPC и визуализация через браузер. GN‑9372 имеет увеличенный объём памяти и поддерживает OPC UA/DA. GN‑9373 обладает возможностями GN‑9372 и дополнительно поддерживает WebVisu.
Контроллеры GN с EtherCAT Slave
Модели GN‑9481, GN‑9482 и GN‑9483 самостоятельно выполняют программу CODESYS и управляют локальными модулями серии G. Одновременно они могут подключаться к сети EtherCAT в качестве ведомых устройств EtherCAT Slave.
GN‑9481 является базовой моделью. GN‑9482 имеет увеличенный объём памяти и поддерживает OPC UA/DA. GN‑9483 обладает возможностями GN‑9482 и дополнительно поддерживает WebVisu. Контроллеры GN‑948x не заменяют EtherCAT Master: для работы сети требуется внешнее ведущее устройство, которое организует циклический обмен с ведомыми узлами.
Контроллеры серии M
Серия M предназначена для систем, в которых требуется горячая замена модулей ввода-вывода. В неё входят контроллеры M9371, M9372, M9373 и компактный ML9973. К контроллерам можно подключить до 63 модулей серии M.
M9371 является базовой моделью с Modbus TCP/UDP и Modbus RTU. M9372 имеет увеличенный объём памяти и поддерживает OPC UA/DA, а M9373 дополнительно предоставляет WebVisu. ML9973 сочетает компактное исполнение с поддержкой Modbus TCP/UDP, Modbus RTU, OPC UA/DA, MQTT, SNMP и WebVisu.
Горячая замена относится к подключённым модулям ввода-вывода серии M. Неисправный модуль можно заменить без отключения всей станции, при этом остальные модули продолжают работать и обмениваться данными. Эта функция не означает, что сам контроллер можно снять без остановки локального узла.
Контроллер GL‑9981‑C
GL‑9981‑C — производительный Linux-контроллер с CODESYS Control for Raspberry Pi MC SL. Он оснащён четырёхъядерным процессором Cortex‑A72, 2 Гбайт оперативной памяти и 16 Гбайт eMMC и поддерживает до 63 модулей ввода-вывода серии G. Модель подходит для ресурсоёмких алгоритмов и задач, требующих расширенных вычислительных возможностей.
На той же аппаратной платформе выпускается GL‑9981‑L, предназначенный для разработки собственных приложений под Linux преимущественно на языке C. В штатном исполнении GL‑9981‑L не относится к контроллерам CODESYS: для программирования в CODESYS следует выбирать GL‑9981‑C.
Таким образом, наличие Linux само по себе не определяет способ программирования контроллера. GL‑9981‑C является ПЛК CODESYS на базе Linux, а GL‑9981‑L представляет собой платформу для собственной разработки Linux-приложений.
Контроллеры серии S
Контроллеры NA‑9371, NA‑9372 и NA‑9373 также программируются в CODESYS, однако серия S снята с производства. Для новых проектов рекомендуется выбирать актуальные контроллеры серий G или M.
Как выбрать контроллер с поддержкой CODESYS от Crevis
Сначала определяют количество и типы сигналов: дискретные и аналоговые входы и выходы, температурные каналы, счётчики, интерфейсные модули и другие специальные функции. После этого выбирают серию контроллера и состав станции ввода-вывода.
Серия G подходит для большинства локальных систем управления. Серию M выбирают, когда требуется горячая замена подключённых модулей. Для шкафов с ограниченным свободным пространством можно рассматривать компактные контроллеры GL или ML.
Для связи с другим оборудованием проверяют не только название протокола, но и физический интерфейс и сетевую роль устройства. Modbus RTU использует последовательный интерфейс, чаще всего RS‑485, а Modbus TCP работает через Ethernet. Контроллеры GN‑948x подключаются к EtherCAT только как ведомые устройства, поэтому для такой сети необходим EtherCAT Master.
Объём памяти выбирают с учётом размера программы, количества переменных, используемых библиотек, сетевых функций и визуализации. Для сложных вычислений, больших объёмов данных и дополнительных Linux-сервисов можно рассмотреть GL‑9981‑C.
OPC UA требуется, если проектом предусмотрен обмен с верхним уровнем через OPC. WebVisu выбирают, когда необходимо создать интерфейс управления и наблюдения, доступный через браузер. Если SCADA или панель оператора обменивается с ПЛК по Modbus, наличие OPC UA для такой связи не обязательно.
Перед началом разработки следует уточнить версию прошивки ПЛК, совместимый выпуск CODESYS 3.5 и актуальный пакет устройства CREVIS. Эти компоненты рекомендуется сохранять вместе с архивом проекта, чтобы программу можно было восстановить и изменить в дальнейшем.






