Codesys для программирования встраиваемых систем

Содержание

2011: CoDeSys 3.5

По информации на ноябрь 2011 года версия CoDeSys 3.5 в сочетании с аппаратной защитой CmDongle (технология CodeMeter) от WIBU-SYSTEMS позволяет производителям систем автоматизации эффективно защищать от пиратства свои разработки, созданные на базе стандарта IEC 61131-3.

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

За счет дополнительных функций технологии CodeMeter, интегрированных в CoDeSys, производители оборудования смогут легко создавать и поставлять необходимые лицензии для своих клиентов, а также использовать новые бизнес-модели для ПЛК, такие как «Плата-за-использование» или «Функции-по-запросу». Защита программного обеспечения с помощью аппаратных ключей CmDongle характеризуется эффективным управлением лицензиями и легкостью использования, так как вся информация доступна в любое время и в любом месте. Все функции безопасности CoDeSys не являются обязательными и могут быть использованы автономно.

Оливер Винзенрид, CEO компании WIBU-SYSTEMS, отметил: «Наше сотрудничество с компанией 3S-Smart Software Solutions GmbH было направлено на разработку высокопроизводительного решения для защиты программных продуктов и ноу-хау в области автоматизации. За основу мы взяли аппаратный ключ CmDongle, обеспечивающий высокий уровень безопасности и в то же время имеющий различные форм-факторы, такие как CF и SD-карты, которые легко модифицировать в существующие ПЛК.`

В общих чертах о CoDeSyS 3.5

Среда разработки является продуктом 3S-Smart Software. CoDeSyS-это аппаратно-независимая система для программирования ПЛК. Она поддерживает все языки стандарта МЭК. Сочетает в себе объектно-ориентированное программирование(то есть с помощью визуальных функциональных блоков). Возможна работа с несколькими устройствами и приложениями.

  1. Добавилось очень много полезных функций (в основном, касающиеся визуализации);
  2. Рабочее окно среды разработки стало гораздо удобнее;
  3. Существуют готовые библиотеки модулей ввода-вывода;
  4. Возможность Веб-визуализации;
  5. Ну и конечно самый главный козырь, это сама визуализация;

Мне, честно говоря, нравится работать в двух версиях, и в CoDeSyS 2.3, и в 3.5. Каждая по-своему удобна. Единственный недостаток новой среды заключается в том, что она в постоянной разработке, то есть всё время обновляется. И периодически при компиляции возникает куча ошибок, с которыми иногда невозможно разобраться.

Какое оборудование поддерживает CoDeSyS 3.5? Из отечественных контроллеров я знаю СПК сотой и двухсотой серии, ПЛК 323 и ПЛК304. Из «Буржуйских» мне известно о WAGO и Berghof.

На самом деле, работать в этой среде разработки сложно. Очень много нюансов. Каждый новый проект у меня начинается с самого начала.

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

Возможно, вам также будет интересно

Мир вокруг нас меняется, вещи становятся умнее, быстрее, технологичнее. И подстраиваться под новые реалии приходится всем. Чтобы сохранить конкурентоспособность, необходимо думать об инновационной составляющей в изделиях. Компания PTC предлагает решение Creo 3.0, позволяющее разработчикам избавиться от серьезных проблем механических систем автоматизированного проектирования, включая сложность и…

В статье обсуждаются особенности RTU и некоторые технические вопросы, возникающие в эру «Интернета вещей» (IoT — Internet of Things). Это обсуждение включает позиционирование удаленных оконечных устройств во всем многообразии средств автоматизации, а также соответствующие предложения компании Advantech в части программ и аппаратных средств.

All-over-IP Expo 2013 представляет The Next Big Thing российского рынка ИТ — IaaS (инфраструктура как услуга). Аналитики компании J’son & Partners Consulting предсказывают этому рынку взрывной рост в течение ближайших четырех лет. Объем рынка достигнет 3 млрд рублей в 2016 году.
Оценки и прогнозы развития рынка IaaS в России, деловые возможности для ИТ-компаний, преимущества для конечных потребителей — обо всем этом можно будет узнать на All-over-IP Expo 2013 из выступлений авторитетных исследователей J’son & Partners Consulting, ведущей международной консалтинговой компании в …

Конфигуратор входов/выходов

Теперь вернёмся к конфигуратору входов-выходов. О чем идёт речь? Предположим, у вас есть контроллер. У него много входов и выходов, аналоговых и дискретных. И, нам же к каждому входу и выходу нужно каким-то образом привязаться. Чтобы мы могли управлять, либо считывать данные.

Компания 3S Software реализовала в своём пакете CoDeSyS структуру дерева, в которой уже подготовлены некие ячейки памяти, отвечающие за каждый вход и выход контроллера. И мы просто присваиваем имя каждой ячейке, чтобы в дальнейшем управлять ими.

Очень большой плюс комплекса CoDeSyS в том, что среда разработки внедрена во многих логических контроллерах, как и в отечественных, так и в заморских.

Список контроллеров внушителен, поэтому я приведу те, которые знаю:

  • ОВЕН ПЛК;
  • WAGO;
  • Beckhoff;
  • Berghof;
  • EMKO;

В целом CoDeSyS это мощный инструмент для реализаций технических задач. Для изготовления пультов управления технологическим процессом, от простых до сложных. Удобен для автоматизации умных домов. Минусом является стоимость подобных систем. Ну как говорится, в автоматике, чем надёжнее система, тем она дороже.

На этом у меня всё, успешных вам внедрений.

P.S. Если вы вдруг задавались вопросом, как можно сделать баннер для сайта, заходите сюда.

С наилучшими пожеланиями, Гридин Семён.

Product Description

Licensing:

No license is required.

The CODESYS Development System engineering tool integrates various support functions in every phase of development:

  • Project tree for structuring project configuration, for example to divide the entire application into objects and tasks

  • Configurator for integrating and describing various devices and fieldbus systems

  • Editors for typical application development in all graphical and text-based implementation languages defined by IEC 61131-3

  • Compilers for building applications in lean and powerful machine code

  • Debugger, simulator, and SoftPLC (as trial target system) for direct user testing of the created applications

Detailed information on the functional scope and current innovations can be found at www.codesys.com.

2021: Устранение уязвимости, позволяющей злоумышленнику вывести ПЛК из строя

Компания 3S-Smart Software Solutions 19 августа 2021 года сообщила о том, что исправила уязвимость в программном комплексе промышленной автоматизации CODESYS V3 Runtime System, выявленную экспертом Positive Technologies Денисом Горюшевым. CODESYS V3 Runtime System является частью CODESYS — аппаратно-независимого программного обеспечения, представляющего собой среду разработки для программирования приложений контроллера в соответствии с промышленным стандартом автоматизации IEC 61131-3. Продукты компании на август 2021 года установлены более чем у 400 промышленных компаний в более чем десятке стран, в том числе и в России.

В программном комплексе CODESYS V3 Runtime System (версии 3.15.9.10) была обнаружена уязвимость высокой степени риска, которая получила идентификатор CVE-2021-36764. Эта уязвимость позволяет злоумышленнику вывести ПЛК из строя и, как следствие, нарушить технологический процесс. Ошибка содержится в компоненте CmpGateway и относится к классу уязвимостей NULL pointer dereference. Атакующий, имеющий сетевой доступ к промышленному контроллеру, может отправить специально сформированный TCP-пакет и прервать работу ПЛК. Также в данном ПО была обнаружена вторая уязвимость класса локального повышения привилегий, которая на август 2021 года находится на рассмотрении у вендора.

Продукты CODESYS распространены по всему миру, включая Россию. Один из наших партнеров на их основе создает системы пожарной автоматики, применяемые на электростанциях. Если хакеры проэксплуатируют эту уязвимость и нарушат работу системы пожаротушения, то в случае возгорания это чревато огромными убытками (например, если огонь доберется до турбинного цеха), — рассказывает аналитик отдела безопасности промышленных систем управления Positive Technologies Артур Ахатов.
Исследуемая версия находится в открытом доступе уже достаточно давно — странно, что никто из экспертов до сих пор не нашел эту уязвимость. Это простая логическая ошибка, связанная с отсутствием проверки передаваемых значений: можно отправить специально сформированный запрос, управляющий соединением, что приведет к обращению по нулевому адресу и отказу в обслуживании, — комментирует специалист отдела анализа приложений Positive Technologies Денис Горюшев.

Уязвимость была выявлена в марте 2021 года, и буквально за четыре месяца компания CODESYS успела выпустить патч. Для устранения уязвимости необходимо установить последнюю версию ПО, доступную на официальном сайте CODESYS. Обнаружить признаки проникновения (например, в случае невозможности установки обновления) помогут системы непрерывного мониторинга защищенности, управления инцидентами информационной безопасности промышленных систем, в частности PT Industrial Security Incident Manager.

Удаленное управление и мониторинг

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

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

SCADA – это аббревиатура означает систему диспетчеризации и сбора данных. Это программные пакеты, которые позволяют разрабатывать приложения в режиме реального времени. Также пакет имеет инструменты сбора и обработки данных, архивирования и отображения или управления.

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

Более продвинутое решение реализовано в семействе ПЛК Siemens – встроенный веб-сервер. Он позволяет выполнять мониторинг, а также управлять системой. Сегодня в ПЛК реализованы функции подключения к облакам для осуществления удаленного контроля.

ПЛК – что это такое?

Контроллер — это мозг для машины. Чем сложнее машина, тем функциональнее контроллер. Технически реализация мозга может быть разной – механика, пневматика либо гидравлика, релейные или электронные системы.

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

Контроллер ПЛК — управляющее устройство на основе микропроцессоров, которое приспособлено к работе на производстве. Устройство программируется на упрощенных языках, доступных пользователю без серьезной подготовки.

Библиотеки CoDeSys

Имя файла

Скачать библиотеку с описанием

Установщик библиотек

скачать (exe)

Имя файла

Скачать библиотеку с описанием

Библиотеки ОВЕН

Библиотеки CoDeSys

Имя файла

Скачать библиотеку с описанием

Библиотеки ОВЕН

Библиотеки CoDeSys

Имя файла

Скачать библиотеку с описанием

Библиотеки ОВЕН

Библиотеки CoDeSys

Утилиты EasyWorkPLC и PLC_IO

Имя файла

Скачать утилиты с описанием

EasyWorkPLC

PLC_IO

Сервисное ПО для контроллеров ОВЕН ПЛК 100/150/154

Действующая программа обновления встроенного ПО  контроллеров ОВЕН ПЛК версии 2.14.0

Контроллер

Прошивка

Таргет файл

ПЛК100

Скачать (1 МБ):

Версия 2.11

Установщик Target файлов для следующих моделей ПЛК: ПЛК100, ПЛК150, ПЛК154

Автоматический установщик  (400 КБ):

Архив (300 КБ):

ПЛК150

Скачать (1 МБ):

ПЛК154

Скачать (1 МБ):

UpdateCore

Скачать

История изменений

ПЛК100/150/154

ПЛК110/160

 

Версия 2.10

Установщик Target файлов для всех моделей ПЛК: ПЛК110, ПЛК160, ПЛК100, ПЛК150, ПЛК154

Автоматический установщик  (500 КБ):

Архив (400 КБ):

 DVD V.3 для ОВЕН ПЛК (CoDeSys v 2.3). Скачать (440 Мб).

ОВЕН ftp

 Здесь Вы можете скачать быстрее здесь.

Уважаемые господа у кого не открывается эта ссылка напишите: send2mike@owen.ru

Если у вас есть проблема со скачиванием файлов .

Сервисное ПО для контроллеров ОВЕН ПЛК 110/160

Действующая программа обновления встроенного ПО контроллеров ОВЕН ПЛК версии 2.14.0

Контроллер

Прошивка

Таргет файл

ПЛК110-30

Скачать (1 МБ)

Версия 2.10

Установщик Target файлов для следующих моделей ПЛК: ПЛК110, ПЛК160

Автоматический установщик (400 КБ)

Архив (300КБ)

ПЛК110-32

Скачать (1 МБ)

ПЛК110-60

Скачать (1 МБ)

ПЛК160

Скачать (1 МБ)

UpdateCore

Скачать

История изменений

ПЛК100/150/154

ПЛК110/160

 

Версия 2.10

Установщик Target файлов для всех моделей ПЛК: ПЛК110, ПЛК160, ПЛК100, ПЛК150, ПЛК154

Автоматический установщик  (500 КБ)

Архив (400 КБ)

 DVD V.3 для ОВЕН ПЛК (CoDeSys v 2.3). Скачать (440 Мб).

ОВЕН ftp

 Здесь Вы можете скачать быстрее здесь.

Уважаемые господа у кого не открывается эта ссылка напишите: send2mike@owen.ru

Если у вас есть проблема со скачиванием файлов .

Сервисное ПО для контроллеров ОВЕН ПЛК 63/73

Действующая программа обновления встроенного ПО контроллеров ОВЕН ПЛК версии 2.12/2.15

Контроллер

Прошивка

Таргет файл

ПЛК63

Скачать (1 МБ):

Версия 2.01

Установщик Target файлов для следующих моделей ПЛК: ПЛК 63

Автоматический установщик  (400 КБ):

Архив (800 КБ):

ПЛК73

Скачать:

v.2.16_PLC73(Лицензия M).exe (1,2 МБт)

v.2.16_PLC73(Лицензия L).exe (1,2 МБт)

Программа тиражирования

 Программа тиражирования предназначена для копирования программы из одного контроллера на другой без использования CoDeSys. Данная программа не позволяет считать исходный код проекта, она копирует образ памяти с программой(в компилированном виде) и позволяет распространить его на подобные устройства. Программа позволяет копировать данные только на аналогичные устройства, например с ПЛК73M только на ПЛК73М.

 DVD V.3 для ОВЕН ПЛК (CoDeSys v 2.3). Скачать (440 Мб).

Сервисное ПО для контроллера ОВЕН ПЛК110(М01)

Действующая программа обновления встроенного ПО контроллеров ОВЕН ПЛК110

Контроллер

Прошивка

Таргет файл

ПЛК110(М01)

UpdateCore

История изменений

 DVD V.3 для ОВЕН ПЛК (CoDeSys v 2.3). Скачать (1 Гб).

2017: Критические уязвимости ставят под угрозу сотни тысяч промышленных систем

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

Одна из уязвимостей — CVE-2017-6027 — допускает загрузку произвольных файлов на CoDeSys Web Server; для этого к серверу потребуется направить специально сформированный запрос. Как следствие, на сервере становится возможным запускать произвольный код.

Сотни тысяч устройств промышленного Интернета вещей и систем управления производственными процессами оказались уязвимыми перед хакерскими атаками

Вторая уязвимость — CVE-2017-6025 — связана переполнением буфера. Ее существование стало возможным в связи с отсутствием проверки количества символов в запросах к функциям, обрабатывающим XML, перед их копированием в память. Злоумышленник может воспользоваться этим, чтобы вызвать «падение» приложения, или для запуска произвольного кода.

Обе уязвимости затрагивает веб-серверный программный компонент визуализационного ПО CoDeSys WebVisu (Web Server версий 2.3 и ранее).
Уязвимость обнаружена стартапом CyberX, специализирующимся на безопасности промышленных систем. Как пояснили эксперты компании, существует сразу несколько сценариев возможной эксплуатации этих уязвимостей.

Например, злоумышленник может воспользоваться поисковиком типа Shodan для поиска уязвимых систем, доступных из интернета, а затем произвести атаку вышеописанным образом. Помимо этого, злоумышленник может загрузить эксплойт с флеш-накопителя или удаленно скомпрометировать сеть предприятия, через нее получить доступ к сети управления производственными объектами и оттуда уже атаковать промышленные контроллеры. Вариантов того, что злоумышленник может после успешной первичной атаки, тоже немало.

Злоумышленник может эксплуатировать уязвимости для установки бэкдоров, чтобы с их помощью вести кибершпионскую деятельность, загружать в системы шифровальщики-вымогатели или осуществить киберсаботаж, который приведет к остановке производства или к катастрофическим нарушениям безопасности и экологическому ущербу, поясняют эксперты.

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

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

Обновление систем промышленного контроля действительно непростой процесс, и тем больше проблем создают уязвимости в их программных компонентах, — говорит Ксения Шилак, директор по продажам компании SEC-Consult Rus. — К сожалению, разработчики «промышленного» ПО делают не меньше ошибок, чем разработчики программ общей направленности, так что промышленные системы в обязательном порядке требуют сегодня дополнительных мер защиты и регулярной проверки.

Основы программирования ПЛК. Реле и контроллер

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

Есть кнопка, контроллер и индикатор. Когда кнопка не задействована, сигнал на вход контроллера отправлен не будет. ПО, показывающее открытый вход, не отправит сигнал на выход. Так, на выходе ток отсутствует и лампа не будет гореть.

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

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

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

Управляющие команды на языке релейной логики просты и понятны для инженеров-электриков. На графическом интерфейсе видны все логические операции. Это электрическая ц3епь с замкнутыми либо разомкнутыми контактами. Если по цепи протекает ток, что это истина. Если ток не протекает, тогда состояние – ложь.

Основой управляющей программы служат логические выражения, состоящие из операндов и переменных. Также программа состоит из операторов. Операторы – это команды языка программирования.

Инженер-программист ПЛК – это сегодня больше инженер, чем программист. Сейчас не нужны сложные языки, писать ассемблерные вставки. Достаточно использовать стандартные функциональные блоки.

Устройство ПЛК

Часто ПЛК состоит из следующих частей:

  • центральная микросхема (микроконтроллер, или микросхема FPGA), с необходимой обвязкой;
  • подсистема часов реального времени;
  • энергонезависимую память;
  • интерфейсы последовательного ввода-вывода (RS-485, RS-232, Ethernet)
  • схемы защиты и преобразования напряжений на входах и выходах ПЛК.

Обычно вход или выход ПЛК нельзя сразу же подключить к соответствующему выходу центральной микросхемы. Эти выходы характеризуются низкими уровнями напряжений, обычно от 3,3 до 5 вольт. Входы и выходы ПЛК обычно должны работать с напряжениями 24 В постоянного либо 220 В переменного тока. Поэтому между выходом ПЛК и выходом микросхемы необходимо предусматривать усилительные и защитные элементы.

Owen Cloud

Сначала нужно зарегистрироваться на облачном сервисе. Если вы хотите посмотреть возможности программы, то нажмите кнопочку Демо-вход.

После того, как вы зарегистрировались и вошли в сервис, у вас появится вот такое окошечко:

А как нам связаться с устройствами?? Для этого есть специальные модемы, которые позволяют подключиться к SCADA без предварительных настроек. Прям «с коробки». Название ему ПМ210. Овен проводит акцию и присылает девайс на бета-тестирование.

Принцип работы такой — туда вставляется симка с действующим интернетом GPRS. Подключаем питание и опрашиваемый прибор по интерфейсу RS-485. Если выдаёт ошибку, не пугайтесь, это может вы просто не подключили облачный сервис или устройство, которое надо опрашивать.

Когда вы выполните все вышеизложенные операции переходим к сервису. На рисунке в списке терморегулятор, это я настраивал ТРМ202, чтобы продемонстрировать возможности программы. Мы нажимаем на кнопку Добавить прибор.

В следующем окне у вас появятся настройки. Нужно ввести IMEI-идентификатор ПМ210. Его можно найти на приборе сбоку. Затем пишем название, скорость, адрес вашего прибора.

И в принципе всё. Укажите ещё самостоятельно, где у вас географически будет находиться девайс.

В итоге вы получите полный доступ к прибору на дистанции. Вы можете видеть несколько приборов на карте Яндекса.

Можете посмотреть текущие значения, таблицы и графики.

Хочу сказать, классный софт, с минимальными настройками и дружелюбным интерфейсом.

Установка к CODESYS

Для того чтобы устройство программировалось в CODESYS, в нем предварительно должна быть установлена так называемая система исполнения CODESYS Control. Она включает планировщик задач, загрузчик, функции отладки, обслуживает полевые сети, ввод/вывод и т. д. Именно благодаря ей МЭК-программа оказывается аппаратно-независимой. Набор ресурсов, которые должна обслуживать система исполнения, отличается у разных контроллеров. Речь идет не только о микроконтроллере, но и об устройстве в целом. По этой причине нельзя просто скопировать систему исполнения с одного устройства на другое. Она всегда требует некоторой индивидуальной адаптации. Все существующие встраиваемые системы с CODESYS созданы одним из трех способов:

  1. Бизнес-модель разработчиков CODESYS ориентирована на серийно выпускаемые изделия. Изготовитель ПЛК приобретает стартовый набор. Это комплекс из программного обеспечения и работ по обучению, помощи в адаптации и дальнейшему сопровождению. На выходе получается специальная «прошивка», «заточенная» под конкретную систему и готовая к тиражированию. Первая адаптация обычно занимает несколько месяцев. Выполнив ее, компания приобретает необходимый опыт и может самостоятельно устанавливать CODESYS на любые свои продукты достаточно быстро, даже если они построены на разных процессорах и в разных операционных системах.
  2. Существуют компании (Systec, Janz, Frenzel Berg и др.), предлагающие готовые встраиваемые устройства с CODESYS и системы под заказ. Заказчику остается только написать прикладное ПО. Обычно такие компании выпускают собственный ряд модулей-«полуфабрикатов». У них имеется надежное аппаратное ядро (встраиваемый компьютер, микропроцессорный модуль, PLC Сore), определенный набор плат или микросхем ввода/вывода, сетевые и другие модули. Из них компонуется нужная система. Они также предлагают несколько типов готовых встраиваемых компьютеров (контроллеров) с CODESYS и эволюционные наборы.
  3. Применение микросхем и модулей Beck IPC@CHIP. Это миниатюрный встраиваемый компьютер с ОС РВ на борту. Компании Beck удалось придумать технологию и создать специальный инструмент — Platform Builder (кстати, бесплатный). С его помощью в диалоговом режиме мы задаем требуемую конфигурацию системы исполнения CODESYS. Например, можно включить поддержку CANopen, веб-визуализации, описать входы/выходы, выбрать способ обслуживания энергонезависимой памяти, добавить собственные обработчики системных событий и т. п. Затем автоматически генерируются все необходимые файлы. Остается дописать по готовым шаблонам драйверы ввода/вывода под нашу периферию и собрать систему исполнения. Получается исполняемый файл, который копируется на встроенный диск IPC@CHIP. Технология выглядит простой, но пока никто из конкурентов не создал аналогов. Все они предлагают некие типовые сборки PLC Core ядер с фиксированным функционалом.

По требованию российских заказчиков Beck создала специальное исполнение чипов с расширенным температурным диапазоном (–40 °С). Существует исполнение для энергетики с поддержкой коммуникационной библиотеки МЭК 61850.

Первый путь выбирают крупные изготовители встраиваемых систем. Он оправдан при выпуске от нескольких сотен изделий в год и выше. В странах ЕС все более развивается практика заказа разработки. По числу применений в России лидирует технология Beck IPC@CHIP. В любом случае среда программирования CODESYS поставляется бесплатно. Никаких ограничений в функционале и числе установок в ней не предусмотрено. В CODESYS имеется встроенный эмулятор контроллера. Это позволяет начать работу без приобретения аппаратных средств.

Рис. «Беспилотный» транспортер E&K AUTOMATION на базе собственного встроенного контроллера и модулей ввода/вывода Wago IO

Среда программирования

Основой комплекса CODESYS является среда разработки прикладных программ для программируемых логических контроллеров (ПЛК). Она распространяется бесплатно и может быть без ограничений установлена на нескольких рабочих местах.

В CODESYS для программирования доступны все пять определяемых стандартом IEC 61131-3 (МЭК 61131-3) языков:

  • IL (Instruction List) — ассемблер-подобный язык
  • ST (Structured Text) — Pascal-подобный язык
  • LD (Ladder Diagram) — язык релейных схем
  • FBD (Function Block Diagram) — язык функциональных блоков
  • SFC (Sequential Function Chart) — язык диаграмм состояний

В дополнение к FBD поддержан язык программирования CFC (Continuous Function Chart) с произвольным размещением блоков и расстановкой порядка их выполнения.

В CODESYS реализован ряд других расширений спецификации стандарта IEC 61131-3. Самым существенным из них является поддержка Объектно-ориентированного программирования (ООП).

Встроенные компиляторы CODESYS генерируют машинный код (двоичный код), который загружается в контроллер. Поддерживаются основные 16- и 32-разрядные процессоры: Infineon C166, TriCore, 80×86, ARM (архитектура), PowerPC, SH, MIPS (архитектура), Analog Devices Blackfin, TI C2000/28x и другие.

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

CODESYS версии V3 построен на базе так называемой платформы автоматизации: CODESYS Automation Platform. Она позволяет изготовителям оборудования развивать комплекс путём подключения собственных плагинов.

Расширенная профессиональная версия среды разработки носит название CODESYS Professional Developer Edition. Она включает поддержу UML-диаграмм классов и состояний, подключение системы контроля версий Subversion, статический анализатор и профилировщик кода. Распространяется по лицензии.

Инструмент CODESYS Application Composer позволяет перейти от программирования практических приложений к их быстрому составлению. Пользователь составляет собственную базу объектов, соответствующих определенным приборам, механическим узлам машины и т. п. Каждый объект включает программную реализацию и визуальное представление. Законченное приложение составляется из необходимых объектов, конфигурируется и автоматически генерируется программа на языках МЭК 61131-3.

CODESYS Automation Server  — это облачная платформа автоматизации для контроллеров с CODESYS. Обеспечивает: удаленный мониторинг данных ПЛК, контроль исправности ПЛК, обновление ПО ПЛК по расписанию, резервное копирование проектов и параметров, контроль версий, удаленное формирование нарядов для обслуживания на местах.

С 20 марта до конца 2020 года платформа удаленной работы CODESYS Automation Server доступна бесплатно для всех пользователей.

Как работает ПЛК?

ПЛК(программируемый логический контроллер) — это устройства полностью автоматизирующие работу аппаратов, различных агрегатов и станков. Фактически, это некий блок, который содержит входы и выходы, для подключения датчиков и исполнительных органов. Внутри прописывается логика.

Вычисления в устройстве выполняются циклически. То есть одни и те же действия выполнения программы выполняются в короткий промежуток времени.

В один цикл осуществляемый прибором выполняются следующие операции:

  1. Начало цикла;
  2. Чтение состояния входа;
  3. Выполнение кода пользователя;
  4. Запись состояния выходов;
  5. Обслуживание аппаратных ресурсов;
  6. Монитор системы исполнения;
  7. Контроль времени цикла;
  8. Переход на начало цикла;

Не буду больше разглагольствовать по теории. Давайте сразу перейдём к практике.