Сайт о телевидении

Сайт о телевидении

» » Codesys 2.3 руководство по программированию. Из чего состоит программный комплекс для полноценной работы с ПЛК. Организация и регламент обучения

Codesys 2.3 руководство по программированию. Из чего состоит программный комплекс для полноценной работы с ПЛК. Организация и регламент обучения

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

Н а сегодняшний день CoDeSys (Controller Development System) - это самый популярный в мире аппаратно независимый комплекс для прикладного программирования ПЛК и встраиваемых контроллеров. Основным его компонентом является среда программирования на языках стандарта МЭК 61131-3. Комплекс работает на компьютере. Программы компилируются в машинный код и загружаются в контроллер. Любую задачу, которая имеет решение в виде программы, можно реализовать в CoDeSys.

Назначение и области применения CoDeSys

И значально CoDeSys был нацелен на задачи, требующие автономности, надежности и предельного быстродействия при минимизации аппаратных средств. Благодаря этому он вышел далеко за рамки традиционных для МЭК 61131-3 систем ПЛК. Сегодня автомобили, краны, экскаваторы, самосвалы, яхты, печатные машины, деревообрабатывающие станки, литейные и прокатные машины, сборочные автоматы крупнейших мировых брендов включают один или группу встроенных контроллеров с CoDeSys. Компанией ITQ GmbH в 2011 г. было проведено исследование характеристик и распространенности программных инструментов в областях машиностроения и мобильных применений в Европе . По его результатам, CoDeSys и инструменты на его базе (Bosh Rexroth IndraWorks, Beckhoff TwinCAT и др) используют 36% компаний. Конкурирующие с CoDeSys универсальные инструменты совместно составили 7%.

Н а сегодняшний день CoDeSys успешно применяется во всех без исключения областях промышленности. В мире более 350 компаний, изготавливают контроллеры с CoDeSys в качестве штатного инструмента программирования. За 2011 г. продано 500 тыс. лицензий на различные устройства с CoDeSys. Все конкурирующие системы отстают в разы, что позволяет доказательно говорить о мировом лидерстве.

К ак продукт, CoDeSys ориентирован на изготовителей контроллеров. Разрабатывая новый контроллер, они устанавливают в него систему исполнения CoDeSys Control. Собирают из ее компонентов требуемую конфигурацию, добавляют собственные ноу-хау и специфические компоненты и получают собственное инструментальное ПО. Как правило, к пользователю CoDeSys попадает в коробке вместе с оборудованием. Ему нужно только установить систему и перейти к решению своих практических задач. Все коммерческие и технические вопросы, связанные с поддержкой ядра контроллера, всех типов его аппаратных модулей, библиотек, стеков и конфигураторов сетей его беспокоить не должны. Все это должно быть решено за него разработчиками ПЛК и CoDeSys совместно.

Среда программирования - это та часть, с которой непосредственно имеет дело пользователь (рис.1). Она функционирует на ПК и является основным компонентом комплекса. Она включает редакторы для девяти языков программирования ПЛК, в том числе стандартные языки МЭК 61131-3. Пользователь может выбрать один из них и программировать простыми средствами либо задействовать всю мощь новейших инструментов CoDeSys. На выходе CoDeSys непосредственно дает быстрый машинный код. Поддержаны все распространенные семейства микропроцессоров от 16 до 64-разрядных.

Рис. 1. Редактирование FBD диаграммы в CoDeSys

С реда программирования CoDeSys включает набор инструментов для подготовки и отладки программ, компиляторы, конфигураторы, редакторы визуализации и т.д. При необходимости функциональность системы дополняется опциональными компонентами. Проект CoDeSys можно хранить не только на диске ПК, но и в контроллере, если он имеет достаточный объем памяти, что позволяет избежать потери исходных текстов или путаницы в проектах. Для больших проектов предусмотрено использование системы контроля версий (SVN).

Д ля отладки пользователю не нужно открывать специальных отладочных окон или составлять каких-либо списков переменных. При подключении к ПЛК редакторы ввода программ "оживают". Непосредственно в них отображаются значения всех видимых на экране переменных. Причем в сложных выражениях видны все промежуточные результаты.

В CoDeSys V3 впервые в мире была реализована поддержка объектно-ориентированного программирования (ООП) в языках стандарта МЭК 61131-3. Разработка концепции была начата в 2005 г. . Введен ряд новых ключевых слов для определения методов, свойств, интерфейсов и наследования, позволивших эволюционно развить в объект привычный функциональный блок. Пользователь может по своему усмотрению писать программы привычным образом или использовать объекты. Такой подход не создает лишних проблем "старым" прикладным программистам. В тоже время молодые специалисты, изучившие ООП в вузе и уже не представляющие себе серьезную работу без данной технологии, смогут реализовать свой потенциал. Предложенные расширения ООП прошли проверку временем в CoDeSys, получили широкое одобрение и будут включены в стандарт.

И з новшеств CoDeSys, добавленных за последний год, следует отметить странично-ориентированный FBD и поддержку языка Python для автоматизации работы в среде программирования. Обычно для таких целей используются пакетные файлы. Они удобны для примитивных задач, но не позволяют выполнять разные действия по условиям, разобрать XML файл, обработать результаты и отправить их по электронной почте. Использование Python снимает все мыслимые ограничения.
CoDeSys включает конфигураторы ввода/вывода с поддержкой полевых сетей Modbus, PROFIBUS, PROFINET, DeviceNet, CANopen, J1939, EtherCAT, SERCOS III, Ethernet IP и большое число сервисных модулей.

CoDeSys поставляется бесплатно. С сайта 3S-Smart Software Solutions доступен для загрузки полнофункциональный дистрибутив. В него входит интерфейс и интерактивная документация на русском языке.

CoDeSys Automation Platform

В CoDeSys V3 впервые в мире реализована сквозная платформа автоматизации. Не только система исполнения собирается из компонентов с фиксированными интерфейсами, но и среда программирования. Она основана на технологии Microsoft .NET. Automation Platform позволяет разобрать CoDeSys на отдельные компоненты и собрать требуемым образом, добавив собственные компоненты. Это позволяет изготовителям ПЛК прозрачно интегрировать собственные программные инструменты и технологию CoDeSys.

Т иповые области применения CoDeSys Automation Platform:

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

з амена составных компонентов (plug-in) CoDeSys: если штатный компонент среды программирования не удовлетворяет требованиям пользователей, то возможно заменить его, например, изменить форму отображения программ, вид окон и др.;

с оздание собственного программного комплекса на базе CoDeSys. Известными примерами могут служить системы SoMachine от Schneider Electric и TwinCAT 3 от Beckhoff.

Система исполнения CoDeSys Control

CoDeSys Control - это часть, которая должна быть встроена ПЛК. Нередко возникает вопрос: "Если CoDeSys даёт на выходе машинный код, то зачем вообще нужна система исполнения?" Ответ кроется в стержневой идее технологии ПЛК. Программируя ПЛК, пользователь должен думать исключительно о сути прикладной задачи. Его не должны волновать организация памяти, процедуры опроса модулей ввода/вывода, способы синхронизации данных, функции сетевого обмена и связи с верхним уровнем, вызовы циклических и событийных задач, организация фиксации выходов при отладке на оборудовании и т. п. Так, для получения значения входа в своей программе, прикладной программист ПЛК выбирает переменную и задает в диалоговом окне единицы измерения, параметры фильтрации и другие параметры. Всю черновую работу за него должна выполнить система исполнения. Если программисту приходится думать о передаче байтов или вызове библиотечных функций для работы с вводом/выводом, то это не ПЛК? и говорить об удобстве и надежности прикладного программирования не приходится.

В общей сложности CoDeSys Control включает более 200 компонентов. Каждая "сборка" под конкретную модель ПЛК будет отличаться. Ее состав определяется возможностями аппаратуры и типом ПЛК. Включение абсолютно всех компонентов, на всякий случай, привело бы к неоправданному росту аппаратных ресурсов и стоимости. Например, включение функции "горячей" правки кода без остановки ПЛК удваивает требования к ОЗУ. Некоторые компоненты представлены в нескольких вариантах. Например, компонент "менеджер задач". Самый дешевый ПЛК может иметь единственный аппаратный таймер, "тикающий" каждые 10 мс, и не иметь ОС. Для него подойдет простой планировщик циклических задач без вытеснения. С ним не смогут работать некоторые другие компоненты, например, ЧПУ или стек CANopen, но они и не требуются в ПЛК такого уровня. Для ПЛК с мощным 32- или 64-битным процессором и ОС РВ разумно включить наиболее совершенный "менеджер задач" с поддержкой событий, реального времени и нескольких приложений в одном устройстве. С каждым таким приложением можно работать как с независимым ПЛК: загружать, запускать, останавливать и отлаживать программы, не влияя на работу других приложений.

CoDeSys Control может функционировать под управлением любой ОС или даже без нее. Наиболее часто используют ОС VxWorks, Windows CE и Linux. Имеются адаптации под RT-OS32 (RTKernel), QNX, Nucleus, pSOS, OS9, TenAsys INtime. Изготовитель оборудования может самостоятельно адаптировать CoDeSys Control под другую ОС.

В некоторых случаях адаптация CoDeSys Control в свое оборудование может быть проблематична. Ограничением может стать отсутствие технических специалистов, соответствующего уровня или экономические условия. В таких случаях целесообразно использовать готовые процессорные модули (PLCcore) с уже адаптированным и установленным CoDeSys Control. Популярным PLCcore для CoDeSys является Beck IPC@CHIP.

CoDeSys Control непрерывно развивается. Добавляются принципиально новые компоненты, совершенствуются и "мелкие детали". Например, для современных быстрых ПЛК c CoDeSys пришлось вводить новый тип данных для работы с наносекундными интервалами времени. Обычному пользователю CoDeSys не нужно заботиться об устройстве системы исполнения. Ему достаточно только периодически загружать и устанавливать бесплатные обновления в соответствии с рекомендациями изготовителя ПЛК.

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.]. Наиболее впечатляющим элементом можно назвать 3D редактор движений для SoftMotion.

Рис.2. Визуализация панели автомобиля

CoDeSys SoftMotion

CoDeSys SoftMotion - это встроенный в среду программирования и систему исполнения CoDeSys функциональный набор средств управления движением: от простых перемещений по одной оси до многоосевых ЧПУ. Поддерживается движение по лекалам (ECAM) и интерпретация программ в G-кодах (Рис.3). В среду программирования встроен текстовый и графический 3D редактор для задания траекторий и набор элементов визуализации стандартных узлов мехатроники. Установить SoftMotion можно на 32-битный ПЛК с математическим сопроцессором.

Рис. 3. G-код движения в CoDeSys и его визуальное представление

CoDeSys V3 Safety

К омплекс Safety ориентирован на обеспечение безопасности там, где присутствует человек. CoDeSys Safety представляет собой комплекс инструментов, который позволяет разрабатывать контроллеры, удовлетворяющие требованиям стандарта IEC 61508 для оборудования систем безопасности Safety Integrity Levels 3 (SIL3). Он включает безопасную систему исполнения, безопасный компилятор, конфигураторы безопасных сетей, библиотеки PLCopen Safety и набор документов, включающий методику тестирования и сертификации. Эта технология существенно сложнее обычных ПЛК систем. Так, например, до запуска кода выполняется целый ряд специальных проверок. После загрузки машинного кода в контроллер и создания загрузочного образа код скачивается обратно в среду разработки, производится его декомпиляция и сравнение с исходным текстом. Безопасные контроллеры уровня SIL3 должны проходить обязательную сертификацию. Это весьма сложный и дорогостоящий процесс. Применение CoDeSys Safety позволяет существенно упростить его.

В ыше упоминалась технология PLCcore, позволяющая радикально упростить создание контроллеров с CoDeSys. Похожая идея воплощена и для безопасных контроллеров. Ее основой служит сертифицированный модуль TwinSafe EL6900 компании Beckhoff. Встроив это в устройство, имеющее поддержку CoDeSys и EtherCAT Master, получаем собственный SIL3 контроллер.

Д ля систем уровня SIL2 все гораздо проще. CoDeSys сертифицирована как надежная система, имеющая боле 1 млн. применений. Для SIL2 используются все стандартные редакторы МЭК языков, компактная система исполнения с определенным набором компонентов, сертифицированные библиотеки элементов и безопасный ввод/вывод.

CoDeSys redundancy

В противоположность безопасным (Safety), надежные системы (Redundancy) чаще необходимы в местах, куда человеку трудно добраться, либо там, где остановка работы оборудования недопустима по технологическим или финансовым критериям. Например, 5 мин простоя линии разгрузки крупного морского порта обходятся дороже стоимости всего электронного оборудования.

CoDeSys Redundancy представляет собой специальный плагин для среды программирования и набор компонентов системы исполнения, обеспечивающий синхронизацию, диагностику и переключение основного и дублирующего контроллеров.

CoDeSys Professional Developer Edition - новый продукт комплекса CoDeSys. Он ориентирован на растущую группу пользователей, имеющих высшее образование и опыт работы с современными профессиональными системами программирования на языках высокого уровня для компьютеров. Его область - создание крупных, либо новых уникальных проектов, не имеющих аналогов. Профессиональная редакция среды разработки CoDeSys включает следующие компоненты: систему управления версиями проекта на базе Subversion (SVN), графические редакторы UML (диаграммы классов, состояний и деятельности) и статический анализатор кода. Все эти компоненты устанавливаются и интегрируются в среду программирования. Система контроля версий необходима в больших проектах над которыми работает группа людей. При сохранении изменений в обычном файле проекта CoDeSys, они записываются поверх старой информации. Она теряется бесследно. При использовании SVN сохраняется вся история исправлений с указанием кто исправлял, когда и с какой целью. Если правка вызвала сбои, то всегда есть возможность вернуться к проверенной версии на любую дату. Кроме того, один проект могут открыть несколько людей со своих рабочих мест. Каждый человек может править параллельно "свои" части. Контроль версий естественным образом интегрируется в среду программирования. Так, для всех языков программирования, включая графические предусмотрены визуальные средства сравнения версий.

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

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

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

CoDeSys Application Composer

CoDeSys Application Composer напротив, ориентирован не на сложные научные проекты, а на повседневные прикладные задачи. В них решающими являются время создания проекта, простота процесса программирования и надежность итогового кода. При выполнении работ по автоматизации однотипных объектов, например умных домов или типографских машин, Application Composer позволит повысить производительность труда на два порядка.

С оставление прикладного проекта выполняется на основе заранее подготовленных наборов прикладных программных модулей. Такой модуль может обслуживать определенную часть машины или системы. Например, это может быть пневматический цилиндр, автооператор, терморегулятор, либо программный блок управления доступом или конфигуратор сети. Каждый модуль включает программный код, конфигурацию входов/выходов, параметры и графическое представление для визуализации. Пользователь строит структуру своей системы управления, используя необходимые модули. Он определяет их настройки и связи в специальных редакторах. Затем интегрированные генераторы кода автоматически создают законченное, хорошо структурированное программное приложение на языках стандарта МЭК61131-3. Одновременно генерируется соответствующая визуализация. Программы компилируются и загружаются в контроллер. Пользователь может просматривать и корректировать полученный код при необходимости.

Рис. 4. Проект управления перекладчиком в Application Composer

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

Заключение

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

Р азработчик CoDeSys - компания 3S-Smart Software Solutions GmbH (Германия) никогда не ставила приоритетной задачи "бюджетного внедрения" и распространения CoDeSys путем удешевленной либо упрощенной установки на любые типы контроллеров любых компаний. Для запуска CoDeSys Control достаточно 1 дня, но выпуск нового ПЛК с CoDeSys - это всегда серьезная работа, требующая грамотной организации, наличия квалифицированных специалистов и строгого выполнения ряда этапов, от сборки до выходного тестирования изделия в целом.

В мае 2012 г. в г. Смоленске проходила ежегодная конференция пользователей CoDeSys, на которой главный инженер Европейского отделения компании Hitachi господин Kenji Shimoda рассказал о переводе новых контролеров Hitachi с фирменного ПО на CoDeSys, занявшего немногим более 1 года. Это небольшой срок для разработки нового ПЛК с CoDeSys. Перевод включал собственно адаптацию, интеграцию с собственным ПО, тесты всего функционала на опытных ПЛК, написание руководства по применению и стартовых примеров, обучение дистрибьюторов. Типичный для некоторых конкурирующих МЭК систем подход ускоренной бюджетной установки с переносом части затрат и технических сложностей на плечи пользователей в CoDeSys принципиально не применим. Вы не встретите CoDeSys в ПЛК, собранных "на коленке". Это всегда будут продукты компаний, твердо стоящих на ногах и имеющих достаточно ресурсов на грамотный маркетинг, качественную разработку и сопровождение.

П ростота и удобство именно для конечного пользователя - это стержневая идея CoDeSys. Компания 3S-Smart Software Solutions с немецкой целеустремленностью придерживается ее многие годы. Состав компонентов CoDeSys измеряется уже сотнями и продолжает расти. Но, каждый новый компонент нацелен на упрощение решения нового круга прикладных задач. Своим непрерывным развитием и огромной популярностью CoDeSys обязан исключительно конечным пользователям.

Литература

1. Jorn Linke. Der SPS-Benchmark: Das Ergebnis. Computer Automation. 2011. 9.

2. Дитер Хесс. Объектно-ориентированные расширения МЭК 61131-3 // Современные технологии автоматизации. 2006. №2.

15 09.2016

Перед тем, как программировать ПЛК в среде разработки CoDeSyS 2.3 новички часто задаются вопросом: А какие системы требуется установить для корректной работы с аппаратом?? А как конфигурировать входы и выходы контроллера?? А каким образом связать устройство с ПК?? И снова, а как, а как?? Все мы с вами понимаем, устройства сложные и алгоритмы объёмные, и на изучение потребуется время. Я вот думаю, может написать небольшую книжку и назвать codesys для чайников? А вы согласны?

Из этой статьи вы узнаете:

Здравствуйте уважаемые коллеги и гости. Пишет вам автор блога сайт, Гридин Семён, и в этой статье я вам расскажу, как правильно программировать контроллер. Тема достаточно актуальная, я надеюсь после прочтения статьи, некоторые вопросы отпадут самим собой. =)

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

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

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

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

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

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

Из чего состоит программный комплекс для полноценной работы с ПЛК

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

Для начала нам нужно установить основной дистрибутив CoDeSyS 2.3 c официального сайта ОВЕН . А, я предлагаю во многих постах, касающихся программирования, использовать устройство ОВЕН ПЛК63 . Так как это универсальное устройство с экраном. У него на борту есть и дискретные входы, и аналоговые входы, и релейные выходы.

Итак, скачиваем программу:

Затем следует стандартная процедура установки. Указываем путь и все время жмём “Далее”, “Далее”.

Следующим этапом будет установка таргетов для плк. Таргет — это некое описание о конфигурации ПЛК. Инструкция подсказывает CoDeSyS 2.3, какое количество и какие входы/выходы имеет устройство.
Скачиваем также с сайта ОВЕН . Рекомендую установить все таргеты, которые там есть. Чтобы потом не искать и не думать об этом, если придется писать алгоритм на другой ПЛК.

Запускаем автоматический установщик, устанавливаем инструкции. Всё, половину пути мы с вами уже сделали в этой работе! После этих всех процедур можно устанавливать библиотеки, но о них позже. Переходим к следующему пункту.

Рабочее окно программы

Дистрибутив мы с вами установили, таргеты тоже. Давайте мы с вами рассмотрим рабочее окно среды разработки, элементы меню и основные вкладки.

Основное поле на рисунке выше делится на три области:

  1. Редактор переменных и их типов;
  2. Дерево объектов;
  3. Редактор основного алгоритма программы;

Редактор переменных — здесь мы с вами вводим переменные и присваиваем им типы данных. Для тех, кто не знает, переменная — это имя, к которому будет обращаться программа и возвращать результат. А тип данных определяет род информации, диапазон представления чисел и множество других операций.

Дерево объектов — в этом окне располагаются такие объекты, как функции, функциональные блоки, подпрограммы, конфигурация ПЛК, библиотеки. Об этом я расскажу позже.

Редактор программы — тут мы с вами описываем основной алгоритм программы работы контроллера. Пишется на любом языке стандарта МЭК. Более подробно, можете статью .

Простой пример на ST

Для удобства восприятия информации я постарался структурировать. Поэтапно расписал последовательность действий. Если возникнут вопросы или пожелания, обязательно пишите в комментариях.

Изначально я размещу в статье код на языке ST. Логика работы заключается в следующем: на дискретный вход прибора подаётся сигнал и через задержку времени включается выход. В принципе задача простая, и мы с вами её решим.

Код codesys2.3

PROGRAM PLC_PRG VAR T1:TON; ("таймер") Timer_Ust:WORD:=5; ("уставка таймера") Time_tekuch:TIME; ("текущее время") END_VAR T1(IN:=Start , PT:=DWORD_TO_TIME(Timer_Ust*1000)); Time_tekuch:=T1.ET; IF T1.Q THEN Out:= 1; ELSE Out:=0; END_IF;

PROGRAM PLC_PRG

T1 : TON ; ("таймер" )

Timer_Ust : WORD : = 5 ; ("уставка таймера" )

Time_tekuch : TIME ; ("текущее время" )

END_VAR

T1 (IN : = Start , PT : = DWORD_TO_TIME (Timer_Ust * 1000 ) ) ;

Time_tekuch : = T1 . ET ;

IF T1 . Q THEN Out : = 1 ; ELSE Out : = 0 ;

END_IF ;

Запускаем наш дистрибутив, создаём новый проект, указываем нужный нам таргет. Не забудьте предварительно проверить, что у вас установлены драйвера на преобразователь USB-COM, он нам понадобится для связи.

В листинге присутствуют две глобальные переменные Start и Out. Они связаны с физическими входами и выходами. Настройки все мы осуществляем во вкладке конфигурация ПЛК.

Компилируем проект (проверяем его на актуальность кода, чтобы не было ошибок). Можно нажать кнопку F11.

Вводим нужные настройки связи, как на картинке.

Собираем нашу схему логического программируемого контроллера. Подключаем интерфейс RS-232 с одной стороны и USB с другой. Жмём “подключение”. Ощущаем радость от процесса. =)) Если произошла ошибка связи , то проверьте ещё раз все подключения и параметры. Часто бывает, что провод преобразователя оборван.

Весь процесс я записал на видео, если будет что-то непонятно.

В следующей статье я напишу о , не пропустите. Будет интересно.

Успешных вам внедрений, дорогие читатели и гости. Если понравилась статья, подписывайтесь на новости блога и расскажите друзьям. А на каком языке и оборудовании вы предпочитаете строить систему автоматизации?

С уважением, Гридин Семён.

Например, для начинающих это: как начать работу с контроллером, как создать свой первый проект и т.п. Продвинутые пользователи также найдут для себя ответы или важные подсказки, например: как подключить внешние устройства к контроллеру ОВЕН ПЛК110 - такие как модули ввода-вывода, панельные контроллеры, частотные преобразователи. Кроме того, курс включает в себя видеоролик по настройке работы с беспроводными сетями и ведению архивов.

Программируемый логический контроллер ОВЕН ПЛК110 предназначен для создания систем автоматизированного управления технологическим оборудованием в различных областях промышленности, жилищно-коммунального и сельского хозяйства. Логика работы ПЛК110 определяется потребителем в процессе программирования контроллера.

Вебинар ОВЕН. Обзор контроллеров ОВЕН ПЛК1хх, ОВЕН ПЛК110:

Наиболее популярные языки программирования ПЛК:

Урок 1. Почему работать с ОВЕН ПЛК просто, или «мы не боимся CODESYS».

Просмотрев данный ролик, Вы будете уметь произвести все предварительные настройки, чтобы начать создавать свой проект: Что такое Target файлы, и зачем они нужны. Насколько просто начать создавать проект под свой новый контроллер в CODESYS.

Урок 2. Конфигурация входов и выходов.

От теории к практике - или как в своей программе задействовать физические входы и выходы контроллера. Знакомимся с конфигуратором ПЛК. Учимся, как в программе обращаться к физическим входам и выходам.

Урок 3. Входы и выходы здорово, а как же программа?

Пишем простую программу на языке CFC, понятном для автоматчиков. Используем в своей первой программе физические входы-выходы.

Урок 4. Вы полагаете, все это будет работать?

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

Урок 5. Я Вам ни какой-то «сис. админ»…

Подключаем контроллер к ПЛК через стандартный COM порт. Для обладателей современных ноутбуков - через стандартный USB порт.

Урок 6. Даешь сигналов, больше и разных.

Подключаем к ОВЕН ПЛК110 модули расширения Мх110 по интерфейсу RS-485, используя протокол ModBus RTU. Считываем значение аналоговых входов с модуля МВ110-2А. Считываем значение дискретных входов, и управляем дискретными выходами на модуле МК110-8Д.4Р.

Урок 7. А как же визуализация тех. процесса?

Первая серия триллера по сопряжению контроллера ОВЕН ПЛК110 и панельного контроллера ОВЕН СПК107, под названием: «Это скучно… это мы уже умеем». Начинаем настраивать обмен между устройствами с конфигурирования (заметьте - никакого программирования) контроллера ПЛК110 в CODESYS v.2. Все как обычно, но в данном случае настраиваем ПЛК110 как Slave устройство.

Урок 8. Она же вторая часть урока 7.

Вторая серия триллера по сопряжению контроллера ОВЕН ПЛК110 и панельного контроллера ОВЕН СПК107, под названием: Не так страшен CODESYS v.2, как не страшен CODESYS v.3. Легкий экскурс в особенности CODESYS v.3 (подробнее работа с панельными контроллерами ОВЕН СПК освящается в отдельных инструкциях и видео-уроках). Настраиваем обмен по протоколу RS-485. Связываем устройства. Управляем выходами контроллера ПЛК110 непосредственно с дисплея СПК107.

Урок 9. И все-таки он вертится…

Управляем вращением двигателя, с использованием частотного преобразователя из программы контроллера ОВЕН ПЛК110 по интерфейсу RS. До сегодняшнего урока подключение ОВЕН ПЧВ по RS-485 к ПЛК казалось сложным.

Теперь мы знаем, что это не так. Все стандартно. Конфигуратор ПЛК, настраиваем обмен по сети, указываем параметры обмена между ОВЕН ПЛК110 и ОВЕН ПЧВ. Настраиваем частотный привод. Управляем двигателем с помощью ПЧВ непосредственно из управляющей программы контроллера.

Урок 10. ОВЕН ПЛК110. Ну, наконец-то энкодер.

Когда нам необходима быстрая реакция контроллера на внешние воздействия мы используем в контроллерах ОВЕН ПЛК110 конфигуратор задач. Создаем новую программу. Настраиваем вызов данной программы не в основном цикле, а по прерыванию программного таймера. Для примера работы с быстрыми входами ПЛК110 подключаем к контроллеру энкодер. Измеряем на столе длину листа бумаги А4.

Урок 11. А как же начальство, или передаем данные в SCADA систему.

Интегрировать контроллеры ОВЕН ПЛК110 в SCADA системы неожиданно просто. Делаем два паса мышкой в CODESYS. Важно не забыть произвести все приведенные манипуляции, и именно в этом порядке. В OPC сервере нам требуется настроить только лишь канал связи, по которому ОВЕН ПЛК110 будет подключаться к Вашей SCADA системе. Вуаля. Все готово. Можно использовать переменные в своем проекте в SCADA системе.

Урок 12. А давайте позвоним на ОВЕН ПЛК.

Часто встречается задача удаленного обновления пользовательского проекта в ОВЕН ПЛК. Один из вариантов представлен в этом видео-уроке. Самый простой и легко реализуемый вариант, при котором Вам не нужно с ужасом вспоминать страшные слова GPRS, Static IP, VPN, DDNS и прочее. Подключаем стандартный GSM модем ОВЕН ПМ01 к ПК с установленным CODESYS с одной стороны, и ОВЕН ПЛК110 с подключенным модемом ПМ01 с другой. Все что нам необходимо сделать - настроить модемы, и записать в контроллер несколько созданных на компьютере файлов.

Урок 13. Напиши мне, напиши…

Как нам оперативно получать информацию с объекта, если мы не можем все время находиться рядом? А давайте контроллер ОВЕН ПЛК110 будет слать Вам смс, в случае, если что-то случилось на объекте, или просто информационные сообщения о состоянии объекта. Например: «Котел в работе», «Темп. воды 27», «Несанкционированный доступ». Ну, или мы будем посылать смс с командами для контроллера, и контроллер будет производить управляющие воздействия на систему. Например: «Включить котел», «Остановить печь», «Выключить электропитание». При этом количество сообщений, тип сообщений и информация в смс ограничивается только Вашей фантазией.

Настраиваем подключение модема ОВЕН ПМ01 к контроллеру ОВЕН ПЛК110. Подключаем специальную библиотеку для работы с смс. Определяем необходимое количество смс, и текст, который они будут нести.

Как и было описано, в первой статье, ПЛК осуществляет циклическое чтение входов, выполнение прикладной программы и запись выходов. Потому написание программы для ПЛК отличается от традиционного написания программы для микроконтроллеров и ПК. К программам для ПЛК предъявляются жесткие требования по надежности, одно дело зависает текстовый редактор, а другое дело программа, управляющая ядерным реактором. Другое не менее важное требование – это своевременное реагирование на событие. А что значит, во время не прореагировать на событие в промышленности? Это значит потерять контроль над технологическим процессом. Что в некоторых случаях, примером с реактором, приведет к непоправимым последствиям.

Рассмотрим отличия написания программы для ПЛК и микроконтроллера. Для примера возьмем простейшую задачку для МК - мигающий светодиод. Подозреваю, что все начинали знакомство с МК именно с этой задачи. Алгоритм будет следующим

  1. Записать в порт лог. 1.
  2. Временная задержка
  3. Записать в порт лог.0.
  4. Временная задержка
  5. Переход по метке на начало программы.

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

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

С учетом выше сказанного, правильный алгоритм будет выглядеть следующим образом:
1. Проверить таймер, если время паузы вышло, то
а) инвертировать выход
б) начать новый отсчет
2. Конец программы

Реализуем данный алгоритм на практике ниже, а теперь рассмотрим основные особенности LAD (Ladder Diagram) языка.

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

Нормально разомкнутый контакт

Нормально замкнутый(инверсный) контакт

Обмотка реле

Количество контактов цепи может быть разным, а обмотка одна.

Любому контакту ставится в соответствие логическая переменная, определяющая его состояние. Если нормально замкнутый контакт замкнут, то ИСТИНА, если размокнут – Ложь, для инверсного наоборот, он замкнут когда переменная имеет значение ЛОЖЬ. Имя переменной пишется над контактом и служит его названием.

Последовательно соединенные контакты равносильны логической операции И, а параллельно-монтажное ИЛИ. Инверсный контакт равносилен операции НЕ. Параллельное соединение обмоток допускается, а последовательное нет. Обмотка реле также может быть инверсной, тогда она копирует в соответствующую логическую переменную инверсное состояние цепи.

Идея релейных схем, такова, что все цепи работают параллельно, т.е. ток во все цепи подается одновременно. Но мы знаем, что программу процессор выполняет последовательно, и мы не можем это сделать одновременно. Так и в LAD программа выполняется последовательно слева направо, сверху вниз. Но цикл процессора мал, поэтому и получается эффект параллельности.

Любая переменная в рамках одной цепи имеет одно и то же значение. Если даже реле в цепи изменит переменную, то новое значение поступит на контакты только в следующем цикле. Цепи расположенные выше получают новое значение переменной сразу, а цепи расположенные ниже – только в следующем цикле. Строгий порядок выполнения очень важен, и благодаря ним LAD- диаграмма сохраняет устойчивость при наличии обратных связей.

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

Возможности LAD программы можно расширить, вставляя функциональные блоки. Вставлять можно все стандартные функциональные блоки, которые содержаться в МЭК. Описание для функциональных блоков можно найти в справке.

Давайте составим нашу первую программу на LAD в среде CoDeSys. , достаточно воспользоваться поисковиком

После установки, выбираем создать новый проект, и CoDeSys попросит выбрать целевую платформу для ПЛК. Указание целевой платформы необходимо, чтобы среда знала, для какого типа контроллера пишется программа. Выбираем 3S CodeSyS Sp PLCWinNT V2.4 и жмем OK.

Имя проекта оставляем по умолчанию, язык выбираем LD

Интерфейс программы на русском языке, и интуитивно понятен. При наведении на элемент всплывает имя. Советую рассмотреть все элементы, а также пункты главного меню.

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

Вместо вопросительных знаков пишем имя нашей переменной, например SB, и нажимаем Enter, выходит окно объявление переменной, выбираем Bool и нажимаем OК.

Рассмотрите, какие типы можно выбрать, а также какие классы переменных.

Давайте, реализуем программы для мигания светодиодом, а если говорить в общем, то программа для генератора одиночных импульсов

Для реализации программы используем функциональные блок таймер TP. Таймер TP – этой таймер одиночного импульса с заданной по входу PT длительностью.

Пока IN равен FALSE, выход Q = FALSE, выход ET = 0. При переходе IN в TRUE выход Q устанавливается в TRUE и таймер начинает отсчет времени на выходе ET до достижения длительности, заданной PT. Далее счетчик не увеличивается. Таким образом, выход Q генерирует импульс длительностью PT по фронту входа IN.

Для вставки TP, на панели элементов выбираем:

И у нас всплывает ассистент выбора функционального блока.

Скачайте файл проекта, и давайте рассмотрим как он работает.

В начальный момент X= False , поэтому инверсный контакт X замкнут и таймер T2 запущен, выход Q= True, поэтому цепь включена. А так как обмотка в цепи инверсная, значит она копирует инверсное состояние цепи в X , и X остается False, после переполнения таймера Q = False , и инверсная обмотка переводит X в True. После этого запускается T1, после переполнения скидывает X в False и все повторяется. Переменная X является выходом генератора. Таймер T2 устанавливает паузу, а T1 длительность импульса.

Компилируем проект Проект -> Компилировать

В пункте онлайн выбираем Режим эмуляции , а затем Подключение и Старт . И видим, наша схема начинает переключаться, цепь где «протекает ток» выделяется синим цветом. Также в области объявления переменных видим текущее значение переменных.

Выход генератора можно поглядеть с помощью цифрового трассировщика, для этого переходим на вкладку Ресурсы в нижнем левом углу

Выбираем Цифровой трассировщик -> Дополнение -> Настройка трассировки , выйдет следующее окно

Цикличность записи поставим Вручную , нажимаем на менеджер и выбираем переменные X(Bool)

Нажимаем Ok . Выбираем перо для нашей переменной

Выбираем в онлайн Подключение, нажимаем Старт, далее Дополнительно -> Начать трассировку, также выберите пункт Автоматическая трассировка

Рассмотрим еще один пример управление двигателем с электронной коммутацией обмоток статора
Саму программу представлять не буду, скачайте проект. А об алгоритме работы расскажу.

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

П ЛК производства EATON программируются с помощью программного инструмента XSoft-CoDeSys-2.

Программный пакет XSoft-CoDeSys-2 основан на стандартном программном обеспечении CoDeSys от компании 3S (Smart Software Solutions, Германия).

Примечание: У компании EATON кроме того есть другие программные пакеты основанные на программном обеспечении CoDeSys: ECP Soft (CoDeSys v2.3.5), MXpro (CoDeSys v2.3.6), easySoft-CoDeSys v2.3.9.

Подробная информация, руководства пользователя и другая документация для программного пакета XSoft-CoDeSys-2 размещена в разделе "Software -> XSoft-CoDeSys-2" официального сайта подразделения компании EATON:

Общая информация о ПО CoDeSys.

Благодаря своим функциональным возможностям, надежности и открытым интерфейсам, CoDeSys является одним из лидеров в области автоматизации программирования промышленных компьютеров и контроллеров. Он выбран в качестве базового инструмента многими ведущими мировыми поставщиками аппаратных решений для промышленной автоматизации (особенно в Европе, см.: http://www.codesys.com/company/customer-reference-table.html).

СoDeSys как средство программирования промышленных компьютеров и контроллеров представляет собой согласованный и взаимно дополняющий набор элементов и делится на 2 части: среду программирования и систему исполнения.

Среда программирования – основа всего комплекса, позволяющая разрабатывать прикладные программы для логических контроллеров в пяти специализированных редакторах, использующих разные, определяемые стандартом IEC 61131-3 языки:
- ассемблер-подобный список инструкций IL;
- pascal-подобный структурированный текст ST;
- язык функциональных блоковых диаграмм FBD ;
- язык релейно-контактных схем LD;
- язык последовательных функциональных схем SFC.

В CoDeSys реализован шестой специализированный язык Continuous Function Chart (CFC). Практически это те же стандартные функциональные блоки FBD, но с возможностью создания больших схем со свободным размещением элементов и обратными связями.

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

Среда программирования CoDeSys полностью переведена на русский язык, включая файлы помощи и контекстно-зависимые подсказки. На сайте 3S можно скачать версию среды программирования на русском языке. Она распространяется бесплатно. Никаких ограничений на число установок или привязки к аппаратным средствам нет.

Помимо стандартных МЭК-библиотек 3S имеет реализацию в виде внутренней библиотеки протокола CANopen (master/slave). Внутренние библиотеки написаны на языках МЭК и являются аппаратно независимыми. CANopen поддерживается в CoDeSys и встроенным конфигуратором сети, использующим EDS-файлы. В итоге поддержка этого сложнейшего протокола в CoDeSys решается для любой аппаратной платформы.

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

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

Для программирования контроллера в среде CoDeSys, в него должна быть встроена система исполнения (Control Runtime System). Система исполнения - это часть CoDeSys, расположенная в оборудовании. Она устанавливается в контроллер в процессе его изготовления и являются предметом лицензирования для производителей ПЛК.

Большая по объему часть кода системы исполнения работает только при подготовке программы: загружает код в память процессора, управляет задачами, осуществляет мониторинг, просматривает и фиксирует переменные, аккумулирует данные трассировки и трендов, содержит оптимизированный код стандартных библиотек и т.д. . Ядро, управляющее прикладными задачами, исключительно компактно.

Отдельное место в ряду систем исполнения 3S занимает CoDeSys SP RTE. Это многозадачная система исполнения с собственным ядром жесткого реального времени под Windows NT, 2000 или XP. CoDeSys SP RTE гарантирует детерминированное время реакции с точностью в пределах микросекундной области. При этом никаких расширений операционной системы или дополнительной аппаратуры не нужно.

Для работы с конкретным устройством среде программирования CoDeSys необходим так называемый целевой (target) файл. В нем записаны тип процессора, распределение памяти и другие необходимые сведения об аппаратуре. Помимо этого, изготовитель оборудования может наделить CoDeSys значительным числом специфических функций (конфигураторы модулей системы и сети, дополнительные инструменты, фирменные библиотеки и многое другое). Все они включаются в комплект конфигурации целевой платформы. Такой комплект может содержать know-how, и может быть платным.

Если при установке CoDeSys используется CD изготовителя контроллера, то, комплект целевой платформы подключается автоматически. В противном случае нужно использовать приложение InstallTarget, указав путь к файлам целевой платформы (кнопка OPEN) и затем (выбрав нужную платформу) нажать кнопку INSTALL.

Средства коммуникации CoDeSys включают символьный и DDE интерфейсы. Коммуникационный сервер, OPC и DDE серверы входят в состав ПО. Взаимодействие ПК с системой программирования происходит посредством вспомогательного сервера связи (gateway). Сервер связи позволяет осуществить взаимодействие с одной или несколькими системами исполнения ПЛК. Возможно, что система программирования и сервер связи являются приложениями, работающими на одной машине. В этом случае сервер связи запускается автоматически при выполнении команды Login. Если сервер связи расположен на другой машине в сети, то он должен быть запущен заранее. Запущенный сервер отображает иконку CoDeSys в правой части панели задач Windows. Изображение иконки подсвечивается, когда установлена связь с ПЛК. Сервер связи продолжает работать независимо от системы программирования и отключается отдельно.

Для расширения возможностей CoDeSys компания 3S создала целый ряд дополнительных приложений: пакет для построения систем по управлению движением CoDeSys SoftMotion, инжиниринговый интерфейс ENI, инструмент визуализации CoDeSys HMI, а также ряд специализированных библиотек.

Встроенная визуализация CoDeSys приближается по своим возможностям к коммерческим SCADA-системам. Встроенная визуализация не требует никакой подготовительной работы. Тесная взаимосвязь визуализации и системы исполнения обеспечивает максимальную эффективность без каких-либо дополнительных затрат. Готовую визуализацию можно использовать несколькими разными способами:
1) непосредственно в системе программирования;
2) на любом PC с помощью отдельного Win32 приложения CoDeSys HMI;
3) через Web-браузер в сетях TCP/IP;
4) в контроллере, оснащенном дисплеем.

Во всех этих случаях никакого специального программирования не требуется. Везде работает одна и та же визуализация. Помимо этого, в стандартный комплект CoDeSys включены бесплатные OPC- и DDE-серверы. Они обеспечивают связь со SCADA-системами, если это необходимо.

Инжиниринговый интерфейс ENI (ENgineering Interface) служит для решения задачи синхронизации действий коллектива разработчиков и точный учет всех изменений и доработок при работе над большими проектами.

СoDeSys SoftMotion - это встроенный в среду программирования и систему исполнения CoDeSys функциональный набор средств управления движением, от простейших перемещений по одной оси до сложной многомерной интерполяции современных ЧПУ.

Краткая характеристика XSoft-CoDeSys-2 .

В составе программного пакета XSoft-CoDeSys-2 поставляется дополнительные компоненты (комплект целевой платформы, конфигурационные файлы устройств, специализированные библиотеки) от компании EATON.

Конфигуратор аппаратной части показывает все локальные входы/выходы и удаленные периферийные устройства (Profibus или CANopen) в одном пользовательском интерфейсе.

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

Еaton Automation предоставляет готовые библиотеки для программирования контроллеров в среде XSoft-CoDeSys-2 для разнообразных применений.

Библиотеки подключаются с помощью менеджера библиотек XSoft-CoDeSys-2. После подключения библиотеки ее функциональные блоки становятся доступными как и стандартные.

Интерфейсы функциональных блоков просты и обычно не требуют глубокого изучения документации для понимания. Таким образом пользователь обеспечен готовыми решениями для задач автоматизации.

Инструменты регулирования с обратной связью.

Набор включает около 120 функциональных блоков. Это дает возможность использовать регулятор с обратной связью в виде стандартных функциональных блоков. Функциональные блоки могут комбинироваться и каскадироваться для создания специальных решений.

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

Трехпозиционный регулятор: В дополнение к стандартным трехпозиционным ПИД-регуляторам, доступны варианты, подходящие для любого времени открытия клапана. Периоды сканирования дифференциального и интегрального компонентов оптимизируются автоматически.

Широтно-импульсная модуляция (ШИМ): В случае отсутствия в системе аналогового исполнительного устройства, на выходах регуляторов используется ШИМ. Возможен стандартный алгоритм ШИМ и шумоподобный сигнал с высокой частотой переключения.

Fuzzy-регулятор: Блоки регулирования на нечеткой логике дают возможность даже неопытному пользователя интегрировать нечеткую логику в концепцию системы управления. Даже фактор усиления и уставка ПИД-регулятора могут легко программироваться с помощью нечеткой логики.

Обработка сигналов и симуляция: Для улучшения качества сигналов могут быть использованы функциональные блоки линейной задержки и фильтры PT1. Фильтры PTn с первого по десятый порядок могут быть симулированы с помощью набора функциональных блоков без дополнительных программных пакетов.

Функции позиционирования.

Набор содержит базовые функциональные блоки позиционирования для элементарных задач, а также более мощные блоки со следующими функциями:
- Асинхронное движение между точками.
- Позиционирование ведущий-ведомый (например интерполяция).
- Инкрементальное позиционирование.
- Позиционирование во вращении с оптимизированным проходом через мертвую точку.
- Автоматическая калибровка.
- Ручной режим с ограниченным шагом.
- Отслеживание контурной погрешности, обрывов провода, диапазона позиционирования.
- Зона доводки на сниженной скорости в конце позиционирования.
- Компенсация покрытия мертвой точки для гидравлических поворотных устройств.

Электронный редуктор.

Может быть сконструирован с помощью функциональных блоков синхронизации. Различные скорости могут быть засинхронизированы с любым передаточным числом. Фазовая синхронизация с программируемым смещением между ведущим и ведомым также может быть реализована. Есть три варианта ведущего устройства:
- Внутреннее ведущее устройство управляется той же программой.
- Внешнее ведущее устройство используется внешним устройством для управления ведущим. Инкрементальный энкодер регистрирует любое движение оси ведущего.
- С помощью виртуального ведущего, ведомые оси синхронизируются с симулируемой.

Применения: синхронизация пресса с виртуальным ведущим, синхронизация фаз и скоростей ременных передач, вытягивание волнистых материалов с 5-ю ведомыми осями с увеличивающимися коэффициентами передачи.

Летающая пила.

Это функция – комбинация электронного редуктора и позиционирования. Позиционирование производится относительно движущегося объекта.

Коммуникационные функции.

В дополнение к привычным удаленным соединениям с периферийными устройствами по таким полевым шинам, таким как CANopen или Profibus, важное значение имеют связи между ПЛК и соединения с системами высшего уровня. OPC, FTP, TCP/IP, email, web это только часть технологий, которые могут быть использованы для соединения и обмена файлами.

FTP-сервер: Контроллер Eaton Automation использует стандартную файловую систему для хранения программ. Это также относится к внешним картам памяти, присоединяемых через интерфейс USB. Наборы параметров (рецепты) могут быть созданы просто как обычный файл и переданы в ПЛК. Таким образом можно просто обновлять такие данные на любом ПК.

FTP-клиент: Функция позволяет сохранить созданные ПЛК файлы на сетевых дисках. Если, например, принимающий данные диск не доступен вследствие проблем с сетью, может быть выбран другой сетевой диск для записи. Дневные и недельные журналы таким образом могут храниться локально и автоматически архивироваться в любой момент. Для записи файла из ПЛК на сетевой диск требуется просто вызов нескольких функциональных блоков.

UDP и TCP/IP: Это протоколы, используемые на множестве сетевых платформ, которые дают возможность простого стандартизированного обмена данными между ПЛК и внешними устройствами. Это могут быть другие контроллеры или приложения на ПК.

Modbus RTU / TCP: Этот коммуникационный протокол, широко используемый на различных видах сетей. Modbus может быть реализован на базе последовательного соединения (RS232/485) или в виде Modbus IP Ethernet. Доступны готовые библиотеки для ведущих и ведомых устройств Modbus.

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

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

Встроенная визуализация.

Система программирования содержит встроенный редактор визуализации. Он предоставляет набор готовых графических элементов (прямоугольник, закругленный прямоугольник, эллипс, многоугольник, ломаная линия, кривая, сектор, растровый рисунок *.bmp, визуализация, кнопка, таблица, ActiveX элемент, стрелочный индикатор, столбчатый указатель, гистограмма, таблица тревог, тренд, файл WMF). Эти элементы могут быть связаны соответствующим образом с переменными проекта. Форма и цвет графических элементов будет изменяться при работе программы, в зависимости от значений переменных.

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

Чтобы наблюдать и изменять данные в контроллере, не нужны никакие дополнительные инструменты. Созданные внутри системы программирования формы могут использоваться в 4 различных режимах выполнения без изменений, в случае необходимости даже параллельно:

1. Непосредственно в системе программирования: Если ПЛК подключен к системе программирования, то для тестирования и практического использования созданных вами форм визуализации не нужно ничего более. В диалоговом режиме вы сразу получаете реальное представление визуализации внутри системы программирования.

2. Windows - Визуализация, CoDeSys HMI: Программа Win32 CoDeSys HMI отображает формы визуализации на ПК без установки среды программирования CoDeSys. Она обменивается сообщениями с ПЛК через тот же интерфейс, что и среда программирования. Применение OPC (OPC - OLE for Process Control) или DDE (DDE - Dynamic Data Excange) механизмов не требуется.

3. Web - визуализация: Опционально XSoft-CoDeSys-2 генерирует из данных визуализации описание XML, которое загружается вместе с java-апплетом (апплет – программа, написанная на языке программирования JAVA, которая может выполняться браузерами) в контроллер и отображается по TCP/IP в браузере (программе просмотра). Таким образом, данные визуализации на самых различных компьютерных платформах будут отображаться интерактивно.

4. Целевая визуализация: Для контроллеров со встроенным дисплеем данные визуализации из системы программирования могут загружаться с приложением в целевую систему. Они автоматически отображаются на встроенном дисплее.

Не все типы сенсорных панелей производства компании EATON поддерживают целевую визуализацию CoDeSys.

Например сенсорная панель серии XV-2xx производства компании EATON не поддерживает целевую визуализацию CoDeSys:

Сенсорная панель серии XV-1xx производства компании EATON поддерживает визуализацию CoDeSys:

Быстрый старт - создание проекта.

Проект включает следующие объекты: POU, типы данных, визуализации, ресурсы, библиотеки.

К программным компонентам (POU) относятся функциональные блоки, функции и программы. Каждый программный компонент состоит из раздела объявлений и кода. Для написания всего кода POU используется только один из МЭК языков программирования.

Функция это POU, который возвращает только единственное значение.

Функциональный блок это POU, который принимает и возвращает произвольное число значений.

Программа - это POU, способный формировать произвольное число значений во время вычислений.

Программы или функциональные блоки могут быть дополнены действиями. Фактически действия это дополнительный набор встроенных в POU подпрограмм. Действия могут описываться на языке, отличном от того, на котором выполняется соответствующий функциональный блок или программа.

СoDeSys поддерживает все МЭК операторы: арифметические операторы; битовые операторы; операторы сдвига, операторы выборки; операторы сравнения; адресные операторы; оператор вызова; преобразования типов; математические функции.

Проект может использовать несколько библиотек, в которые входят POU, необходимые им типы данных и глобальные переменные. Библиотечные POU можно использовать точно так же, как и определенные пользователем.

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

В качестве операндов могут выступать константы переменные, адреса и вызовы функций.

При создании нового проекта необходимо выбрать ПЛК для которого будет писаться программа:

При этом необходимо настроить этот ПЛК под решаемую задачу:

Затем создать программные компоненты необходимые для решения задачи:

Затем добавить библиотеки необходимые для решения задачи если они не подсоединяются автоматически:

С помощью визуализации пользователь может создать графическое представление проекта объекта управления. Она непосредственно связана с созданной в CoDeSys программой контроллера.

После завершения программирования, скомпилировать проект и исправить ошибки, если они есть:

После устранения ошибок, приступить к отладке. Включить эмуляцию (simulation):

Нажав кнопку ПОДКЛЮЧИТЬСЯ проверьте правильность выполнения проекта. Для этого надо изменять вручную входные данные и убедиться, что выходы контроллера отреагировали нужным образом. Если необходимо, можете наблюдать значения переменных в программных компонентах:

Используя менеджер рецептов можете задать список переменных, значения которых необходимо наблюдать.

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

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

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

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

Когда проект отлажен, окончательно проверить работу программы в рабочих условиях на реальном "железе". При этом полностью доступны все отладочные функции. Чтобы выполнить эту операцию необходимо отключить режим эмуляции и настроить соединение с ПЛК - ОНЛАЙН ‒> ПАРАМЕТРЫ СВЯЗИ:


Нажав кнопку ПОДКЛЮЧИТЬСЯ проверьте исполнение программы в контроллере: