Этой статьей мы начинаем цикл материалов по обучению созданию программ для программируемых логических контроллеров (ПЛК) в среде CodeSys. Лучше всего изучать способы программирования ПЛК на реальных практических примерах.
Рассмотрим несколько простых программ, которые можно использовать для управления асинхронными двигателями с короткозамкнутым ротором. Для создания программ будем использовать язык лестничных диаграмм LD в CodeSys.
Всего рассмотрим 4 программы для 4-х схем:
1. Схема включения и выключения двигателя;
2. Схема управления реверсивным двигателем с использованием промежуточной копки «Стоп»;
3. Схема управления реверсивным двигателем без использования промежуточной копки «Стоп»;
4. Схема управления реверсивным двигателем c использованием путевых выключателей.
Приведенные ниже примеры имеют прежде всего учебную цель, т.к. для таких простых схем применять ПЛК нецелесообразно.
Язык лестничных диаграмм (Ladder Diagram , LD) в русскоязычной документации к ПЛК часто называется языком релейно-контактных схем (РКС) . Этот графический язык был придуман в 70-х годах XX века и в первую очередь он был создан для электриков, которым в то время приходилось модернизировать релейно-контактные схемы с дискретными аппаратами (реле, таймерами, счетчиками и т.п.) в схемы с использованием программируемых контроллеров. Он был длительное время лидером по популярности среди всех МЭКовских языков программирования ПЛК .
Язык LD (РКС) почти полностью повторяет логику работы релейно-контактных электрических схем. Слева и справа находятся вертикальные цепи, которые считаются шинами питания. Между ними располагаются горизонтальные цепи, в каждой из которых слева находятся различные нормально разомкнутые и нормально замкнутые контакты, а в правой части – обмотки (катушки).
Каждому контакту соответствует своя логическая переменная (ON или OF), которые передают на катушку булевое состояние «Истина» или «Ложь». В первом случае катушка получает значение «включено» (ON), во втором – «отключено» (OFF).
На этом языке достаточно легко можно создавать сложные цепи включая в них различные функциональные блоки (триггеры, таймеры, счетчики и др.), что позволяет использовать этот язык для решения почти любых, даже очень сложных задач.
Схема включения и выключения двигателя
Первый вариант программы полностью повторяет самую распространенную схему с использованием двух кнопок и электромагнитного пускателя .
Кнопка «пуск» (B1) при нажатии подает значение логической единицы («Истина») через замкнутый контакт кнопки «стоп» (B2) на обмотку (К1). Контакт обмотки, подключенный параллельно к контакту первой кнопки включается и создает блокировочную цепь, которая питает обмотку при отпускании кнопки «пуск».
Эту схему можно упростить используя катушки «Set» и «Reset» (аналог триггера RS). Это очень часто используемые компоненты языка LD. В программах они предназначены для запоминания состояния включения и выключения электродвигателя или любого другого выходного элемента. Кроме управления электродвигателями другими исполнительными механизмами катушки «Set/Reset» часто используется для отслеживания деталей на станке.
Так как язык LD разработан на основе работы устройств релейно-контактной логики, то катушки «Set» и «Reset» имеют свой физический прототип реле в прошлом – так называемые «реле блокировки». Их часто использовали для запоминания состояния работы объекта управления при отключении электроэнергии.
Это были реле с двумя катушками установки и сброса. Когда подавали питание на установочную катушку, она смещала внутренний механизм в положение «включено» и это положение поддерживалось механически с помощью защелки.
Подача питания на катушку сброса приводило к смещению внутреннего механизма в положение «выключено». Если ни одна из катушек не была под напряжением, реле оставалось бы в своем последнем положении. Отсюда и название – «реле блокировки».
В приведенной ниже программе при подаче импульсного сигнала на катушку «Set» она срабатывает и остается во включенном состоянии пока не будет подан импульсный сигнал на катушку «Reset».
В этой схеме если одновременно нажаты две кнопки (активны оба режима «Set» и «Reset»), то катушка будет отключена. Можно также изменить логику и поменять приоритетность режимов «Set» и «Reset». В данном случае при одновременном нажатии двух кнопок катушка останется во включенном состоянии.
Схема в режиме эмуляции:
Для включения режима эмуляции в CodeSys нужно в пункте меню «Онлайн» поставить галочку «Режим эмуляции», затем «Старт» (F5) и установив нужные значения контактов записать эти значения в контроллер, в данном случае виртуальный нажав «Ctrl+F7».
Реверсивные схемы включения и выключения двигателя
Теперь перейдем к схемам управления реверсивным электродвигателем с короткозамкнутым ротором. Приведенная ниже программа позволяет производить реверс электродвигателя с помощью кнопок «Вперед» (B2) и «Назад» (B3) после нажатия промежуточной кнопки «Стоп» (B1) перед каждым изменением направления вращения.
Блокировочные нормально-замкнутые контакты K1 и K2 обеспечивают невозможность включения электродвигателя на короткое замыкание при одновременном нажатии кнопок «Вперед» и «Назад».
Любые дополнительные блокировочные контакты включаются последовательно с катушками, например в программе это контакты теплового реле КК.
HL1 и HL2 – катушки, отвечающие за включение сигнальных ламп. По ним можно определить когда в какую сторону вращается электродвигатель.
Часто для управления электродвигателем используется программа, которая повторяет релейно-контактную схему с использованием двух спаренных контактов на кнопках. Такая схема позволяет изменять направление вращения электродвигателя без использования промежуточной кнопки «Стоп». Эта кнопка используется только в случае полной остановки электродвигателя.
Пример такой схемы на LD в CodeSys:
Все приведенные выше программы на языке LD довольно просты и очень хорошо воспринимаются электриками. В заключение приведем более сложную программу с использованием таймеров (программные аналоги реле времени).
Эта программа позволяет управлять автоматическим движением реверсивного электродвигателя между двумя точками с выдержкой на упорах. После нажатия на кнопку «Пуск» (B2) механизм, управляемый электродвигателем перемещается из точки А в точку Б. Там он на 10 секунд останавливается и начинает движение в обратную сторону. В точке А новая остановка на 10 секунд и обратное движение в точку Б.
Управление движением осуществляется с помощью двух путевых выключателей (SQ1 и SQ2), а выдержки времени на упорах обеспечиваются с помощью двух таймеров TON. Про виды таймеров CodeSys и особенности их использования в программах мы расскажем в одной из следующих статей, посвященных обучению программированию ПЛК.
Курс по программированию контроллеров:
Практический курс ПЛК Овен и разработка АСУ ТП в Codesys
Structured Text
#2 — Structured Text // Создадим копию таймера TON и добавим к нему память. Автор — Сергей Романов
Книга «Изучаем Structured Text МЭК 61131-3»: Ссылка на книгу
Информация, опубликованная на данном веб-сайте, представлена исключительно в ознакомительных целях, за применение этой информации администрация сайта ответственности не несет.