Этой статьей мы начинаем цикл материалов по обучению созданию программ для программируемых логических контроллеров (ПЛК) в среде 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»: Ссылка на книгу
Информация, опубликованная на данном веб-сайте, представлена исключительно в ознакомительных целях, за применение этой информации администрация сайта ответственности не несет.
Если говорить о том, какие лучшие дистрибутивы Linux мы знаем, то этот список может быть…
Хотя Ubuntu и поставляется со встроенным обозревателем Firefox многие пользователи считают что это не самая…
Что такое Remmina? Remmina — это совершенно бесплатный и свободный клиент так называемого удаленного рабочего…
Как мы знаем, Ubuntu это самая популярная сборка из систем на базе ядра Linux. У…
Выбор ноутбука для каждого пользователя это довольно кропотливый процесс. Люди стараются подобрать ноутбук который будет…
Если вы решили ознакомиться с операционной системой Linux более детально и задались вопросом как установить…