ПО CODESYS для программирования ПЛК
![CODESYS v3](https://ftp.totalkip.ru/report.local/photo/photo1/Berghof_Foto_4615.jpg)
CODESYS («кодесис») – комплексный инструмент для программирования промышленных контроллеров (ПЛК).
CODESYS v3 – это совершенно новая разработка. В основу CODESYS v3 положен модульный принцип, который позволяет дополнять систему посредством подключения дополнительных модулей.
Единожды изучив среду программирования, вы будете уметь программировать огромное количество контроллеров, основанных на CODESYS.
Особенности ПО для программирования и конфигурирования ПЛК CODESYS
В соответствии со стандартом МЭК 61131-3 CODESYS поддерживает 5 языков программирования:
- IL (Instruction List) – язык, по синтаксису схожий с языком низкого уровня Ассемблер.
- ST (Structured Text) – текстовый язык, похожий на Pascal.
- LD (Ladder Diagram) – язык релейно-лестничных схем.
- FBD (Function Block Diagramm) — язык функциональных блоков.
- SFC (Sequental Function Chart) – язык диаграмм, похожих на блок-схемы.
Кроме этих языков CODESYS включает в себя еще один язык – CFC (Continuous Function Chart). Он похож на FBD, но позволяет располагать функциональные блоки свободно на экране и задавать порядок их выполнения.
Первая версия CODESYS увидела свет в 1994 году. С тех пор CODESYS обрел огромную популярность среди пользователей и производителей ПЛК. На данный момент сотни производителей выпускают тысячи моделей контроллеров на базе CODESYS.
CODESYS очень удобен для программиста.
- Тот, кто раньше делал релейные схемы, легко сможет их адаптировать для ПЛК в языке LD.
- Программисты высокого уровня по достоинству оценят язык ST, который для них будет понятным и доступным.
- Разветвленные алгоритмы с четкой последовательностью действий удобно реализовывать с помощью SFC.
- А если человек ни разу не сталкивался с программированием, то возможно стоит начать с FBD или CFC.
Единожды изучив среду программирования, вы будете уметь программировать огромное количество контроллеров, основанных на CODESYS.
Описание ПО для программирования и конфигурирования ПЛК CODESYS
CODESYS – это не только среда программирования — это целый комплекс средств по работе с промышленным оборудованием. Он включает собственный OPC-сервер, графический редактор для создания визуализаций, менеджер рецептов, лог аварий и многое другое. На данный момент выпускаются контроллеры на базе двух версий CODESYS: версия 2 и версия 3.
CODESYS v2 поддерживается производителем только в режиме исправления ошибок. Новые функции в него уже не добавляются. Тем не менее, функционала CODESYS v2 достаточно для подавляющего большинства задач. К тому же он требует меньше ресурсов ПЛК и компьютера.
CODESYS v3 – это совершенно новая разработка. В основу CODESYS v3 положен модульный принцип, который позволяет дополнять систему посредством подключения дополнительных модулей.
Основные отличия СODESYS v3 от v2:
- Поддержка элементов Объектно Ориентированного Программирования (ООП).
- Новый язык программирования UML (Unified Modelling Language), тесно связанный с ООП.
- Сети ПЛК — инструмент управления в одном проекте несколькими контроллерами.
- Управление системами движения (CODESYS SoftMotion).
- Оптимизация программного кода (сложные конструкции типа IF … END_ IF можно «сворачивать» для упрощения просмотра кода).
- Обновленный и улучшенный менеджер визуализаций. Появились стили визуализаций, которые позволяют изменить оформление проекта в один клик, а также существенно расширилась библиотека графических элементов.
И это лишь немногие изменения, которые принесла третья версия CODESYS. Таким образом, CODESYS v3 аккумулировал в себе многие тенденции современной промышленной автоматизации и продолжает регулярно обновляться, обзаводясь всё новыми и новыми функциями.
О тенденциях в промышленных сетях
С тех пор, как в 1979 году появился протокол Modbus, он стал де-факто стандартом промышленной сети. Изначально он был спроектирован для использования с последовательными интерфейсами RS-232/RS-485. Позже практически без изменений он «перекочевал» в сети Ethernet в виде протокола Modbus TCP.
Всемирная популярность протокола Modbus обусловлена несколькими причинами:
- Протокол является полностью открытым, его спецификация доступна всем. При этом нет необходимости в специальных интерфейсных микросхемах для реализации.
- Реализация Modbus очень проста на программном уровне.
- Дешевая среда передачи (обычная витая пара).
- Высокая надежность передачи данных благодаря использованию в каждой посылке контрольной суммы.
При разработке протокол был рассчитан на потребности и вычислительные возможности оборудования того времени. Многие актуальные для сетей нынешнего времени вопросы учтены не были:
- Это низкая пропускная способность шины.
- Отсутствие какой-либо начальной инициализации системы. Пользователю вручную придется настраивать каждое устройство перед включением его в сеть (а именно задавать ему адрес, скорость обмена и т.д.).
- Дешевая среда передачи (обычная витая пара).
- В стандарте четко прописано использование только двух типов данных: BOOL и WORD. Соответственно, при передаче других типов данных зачастую возникают разночтения между устройствами разных производителей.
Стремление к развитию промышленных сетей привело в появлению в 2003 году стандарта EtherCAT.
Основой EtherCAT является технология Ethernet, что позволяет использовать все преимущества данной технологии.
Отличия Modbus TCP и EtherCAT
Дело в том, что промышленные сети как правило, характеризуются короткой длиной данных в каждом узле. Эта длина данных значительно меньше чем минимальная полезная нагрузка кадра Ethernet (46 байт данных).
Таким образом, если от одного устройства необходимо передать 4 байта данных, то мы имеем коэффициент полезного действия сети 8,7%. А если учесть служебные данные и межпакетный интервал, то КПД снижается до 4,7%.
![Диаграмма Modbus TCP](https://megakip.by/berghof/img/modbus_tcp_diag.png)
Поэтому EtherCAT использует другой подход к передаче данных, называемый обработка «На лету».
Каждый пакет считывается устройством «на лету» одновременно с отправкой дальше. Вставка данных происходит аналогичным образом. Все устройства в сети работают с одной посылкой, последовательно обрабатывая её. Таким образом достигается КПД до 90%. Благодаря использованию в каждом ведомом устройстве специальной микросхемы, которая и занимается обработкой данных, задержка посылки на каждом узле составляет всего несколько наносекунд.
![Диаграмма Ethercat](https://megakip.by/berghof/img/ethercat_diag.png)
Схемы, приведенные ниже показывают различия в функционировании между Modbus TCP EtherCAT.
![Схема работы Modbus TCP](https://megakip.by/berghof/img/modbux_tcp_scheme.gif)
![Схема работы Ethercat](https://megakip.by/berghof/img/ethercat_scheme.gif)
Таким образом, еще раз подчеркнем все преимущества и недостатки EtherCAT.
Преимущества:
- EtherCAT - это современная технология, учитывающая растущие потребности рынка
- Для работы используется стандартное оборудование для сетей Ethernet (свичи, маршрутизаторы, витая пара), которое имеет низкую цену.
- В отличие от Modbus, настройка сети и распределение адресов происходит автоматически. Пользователю для этого не нужно настраивать каждое устройство в отдельности.
- Большое и постоянно растущее количество оборудования от различных производителей (на сегодняшний день более 1000 компаний входят в EtherCAT Technology Group).
- Высочайшая производительность сети, обусловленная двумя факторами: ширина канала передачи данных 100 Мбит/с и высокий КПД при передаче.
Всё это позволяет работать в реальном времени с огромными объемами данных, не замечая никаких задержек.
Недостатки:
- Спецификация протокола доступна только членам EtherCAT Technology Group. Следовательно, реализовать его на любом контроллере нельзя.
- Для работы каждому ведомому устройству требуется специальная интерфейсная микросхема, что несколько повышает стоимость EtherCAT-обрудования.
В качестве завершения приведем сравнительный график производительности современных промышленных сетей.
![График производительности сети Ethercat](https://megakip.by/berghof/img/codesys_diag.png)
Данный график показывает производительность при опросе 1000 дискретных точек ввода/вывода, распределенных между 50 ведомыми устройствами (для EtherCAT это время составляет всего 30 микросекунд). На графике производительность сети EtherCAT взята за 100%.
ПЛК на CoDeSyS
CoDeSys успешно применяется во многих отраслях промышленности.
CoDeSys 3.5, как интегрированная среда разработки, позволяет работать с разными моделями программируемых логических контроллеров. Помимо установки самой среды на персональный компьютер (ПК), потребуется установка таргет-файлов (поставляются производителем) нужной модели ПЛК, а также установки соответствующей версии CoDeSys RTS (исполнительной системы CoDeSys) в операционную систему ПЛК (как правило, предустановлена заранее).
Контроллеры программируемые в среде CODESYS v3.5:
Панельный программируемый контроллер Berghof DC2ХХХ
![Панельный программируемый контроллер Berghof DC20ХХ](https://ftp.totalkip.ru/report.local/photo/photo1/Berghof_Foto_4688.jpg)
- Сенсорный экран 4.3" (480х272) и 7" (800х480) 15.6" (1366х768)
- Память: RAM 256 Мб, Flash 256 Мб, FRAM 100 Кб
- Мощный процессор ARM® Cortex-A9 ARM (800 МГц)
- Высокоскоростная шина EtherCAT (100 Мбит/с) для подключения модулей расширения
- Среда программирования CODESYS v3.5
- Интерфейсы Ethernet, EtherCAT, CAN, RS485, RS232
- Поддержка Modbus RTU и Modbus TCP
- Обновление программы контроллера с внешнего USB-носителя
Высокоскоростной программируемый контроллер ECC2100
![ПЛК CoDeSys v3 250000200 ECC2100 0.8S 1131](https://ftp.totalkip.ru/report.local/photo/photo1/Berghof_Foto_4608.jpg)
- Мощный процессор ARM® Cortex-A9 с частотой 800 МГц
- Среда программирования: CODESYS v3.5
- Встроенный Web-сервер
- 6 языков программирования (ST, FBD, LD, SFC, CFC, IL)
- Высокоскоростная шина EtherCAT (100 Мбит/с)
- Встроенные интерфейсы Ethernet, EtherCAT, CAN, RS-485, RS-232
- Архивирование данных на внешний USB-носитель и/или MicroSD-карту
Программируемый контроллер со встроенными входами/выходами ECC22XX
![ПЛК CoDeSys v3 250000000 ECC2200 0.8S 1131](https://ftp.totalkip.ru/report.local/photo/photo1/Berghof_Foto_6035.jpg)
- 16 дискретных входов, 16 дискретных выходов
- до 12 аналоговых входов, до 6 аналоговых выходов
- Высокоскоростная шина EtherCAT (100 Мбит/с)
- Расширенный набор коммуникационных интерфейсов
- Среда программирования: CODESYS v3.5
- Встроенный Web-сервер
Высокоскоростной программируемый контроллер EC1000
![Програм. логический контроллер CoDeSys v3 204900101 EC1000 MP400 00 1131 V3 UL](https://ftp.totalkip.ru/report.local/photo/photo1/Berghof_Foto_5349.jpg)
- Мощный контроллер в компактном корпусе
- Среда программирования: CODESYS v3.5
- Web-сервер
- Шина EtherCAT для модулей расширения
- Встроенные порты Ethernet, CAN, RS-232
- USB-порт и SD-карта для хранения архивов
Компактный контроллер со встроенными входами и выходами EC22XX
![ПЛК CoDeSys v3 250000000 ECC2200 0.8S 1131](https://ftp.totalkip.ru/report.local/photo/photo1/Berghof_Foto_6035.jpg)
- Мощный контроллер в компактном корпусе
- Среда программирования: CODESYS v3.5
- Web-сервер
- Шина EtherCAT для модулей расширения
- Встроенные порты Ethernet, CAN, RS-232, RS-485, разъем RJ-45 протоколы: Modbus RTU
- USB-порт и SD-карта для хранения архивов
- Протоколы CAN-Bus и/или CANopen Master