В отзывах на предыдущую статью по этой теме — Пример модернизации электрической схемы грузового подъемника с использованием программируемого контроллера (ПЛК) было пожелание сделать материал с более подробным пошаговым разбором процесса написания программы на языке CFC в CoDeSys . Так как схему из предыдущей статьи заново разбирать не очень интересно, то давайте возьмем на этот раз для примера что-нибудь другое, например, когда-то очень популярную схему насосной станции с откачивающими насосами.
Устройство и принцип работы насосной станции
Итак, имеется насосная станция дренажного типа с двумя насосами. Вода набегает в резервуар самотеком, а задача насосов откачивать ее из этого резервуара, что бы не допустить его перенаполнения. Один из насосов по схеме является основным, второй — резервным. Схемой предусмотрена возможность назначения основного и резервного насоса с помощью переключателя.
Первоначально в работу включается насос, который назначен основным, а в случае если он не справляется с откачиванием жидкости, то ему на помощь автоматически включается резервный насос. Если же оба насоса не могут откачать жидкость, то срабатывает световая и звуковая сигнализация.
Принцип действия схемы управления
Уровень жидкости контролируется датчиками уровня с 4 контактами. При подъеме жидкости в емкости контакты по очереди замыкаются, подают питание на катушку промежуточных электромагнитных реле , контакты которых включены в цепи катушек электромагнитных пускателей , управляющих электродвигателями насосов.
Схема электрическая принципиальная насосной станции с двумя откачивающими насосами:
Существует еще один вариант этой схемы с обозначениями выполненными по современным ГОСТам (1 и 5 — задвижки, 2 — клапан, 3 — нагнетающие трубопроводы, 4 — насосы, 6 — резервуар, 7 — всасывающие трубопроводы, 8 — электрод):
Пример прохождения тока по цепям по первой схеме (при первом основном насосе, а втором резервном, переключатель ПО стоит в положении 1):
1) При достижении водой уровня Э1 — ничего не происходит,
2) При достижении водой уровня Э2 — срабатывает катушка реле РУ1, замыкает свои контакты, в т.ч. включается контакт в цепи пускателя ПМ1, включается в работу двигатель Д1.
3) При достижении водой уровня Э3 — срабатывает катушка реле РУ2, при этом реле РУ1 тоже включено и двигатель Д1 работает. Реле РУ2 замыкает свои контакты, в т.ч. включается контакт в цепи пускателя ПМ2, включается в работу двигатель Д2.
4) При достижении водой уровня Э4 — срабатывает реле РА. Контакты этого реле включены в отдельную схему на независимый источник питания, например, аккумуляторную батарею (на первой схеме не показана). Там же подключен контакт реле напряжения РКН. При отсутствии напряжения или аварийном уровне жидкости срабатывает сигнальная лампа и звонок (они на первой схеме тоже не показаны).
Схема насосной станции может работать в автоматическом и ручном режимах. Выбор режима работы для каждого насоса осуществляется индивидуально с помощью переключателей ПУ1 и ПУ2. А ручном режиме включение и выключение электромагнитных пускателей и двигателей насосов выполняется с помощью кнопок КнП и КнС.
Модернизация схемы
Проведем модернизацию релейной схемы управления насосной станции. Управлением процессом откачивания жидкости после модернизации будет выполнять программируемый логический контроллер (ПЛК) . В качестве ПЛК в данном случае можно использовать контроллер любого типа. В нашем случае отлично подойдет даже какое-либо недорогое программируемое реле .
Так как задача этой статьи чисто образовательная — дать первоначальные навыки составления программ для ПЛК , то использовать будем для этого очень удобный программный пакет CodeSyS 2.3 и контроллер фирмы ОВЕН . Модель контроллера требует CodeSyS при создании проекта в программе. Программу будем составлять на языке CFC .
Этот проект был связан исключительно с учебными целями. Наша задача заменить схему управления с релейной на программную, ничего не меняя в устройстве, технологии и органах управления насосной станции.
Для начала определим все необходимые входные и выходные сигналы, которые нам понадобятся в программе.
Входы:
Пуск 1 насоса ;
Стоп 1 насоса ;
Пуск 2 насоса ;
Стоп 2 насоса ;
Ручной режим 1 насоса ;
Автоматический режим 1 насоса ;
Ручной режим 2 насоса ;
Автоматический режим 2 насоса ;
1-й насос основной ;
2-й насос основной ;
Датчик уровня ДУ1 ;
Датчик уровня ДУ2 ;
Датчик уровня ДУ3 ;
Датчик уровня ДУ4 .
Выходы:
Насос1 ;
Насос2 ;
Лампа аварийного уровня .
Итого: 1 4 входов и 3 выхода.
1. Создадим программу управления насосами ручном режиме.
Двигатель насоса должен включаться при срабатывании копки «Пуск» и наличии сигнала на входе «Ручной режим». Отключаться при нажатии кнопки «Стоп» и и наличии сигнала на входе «Ручной режим», а также отдельно при отсутствии сигнала на входе «Ручной режим».
Для этого используем RS -триггер, на вход которого ( SET) подадим сигнал с кнопки «Пуск» (pusk1) и входа «Ручной режим» (ruhnoy1) через элемент AND (логическое «И»). Триггер будет срабатывать и переключать свой выход (Q1) только тогда, когда на обоих входах будут логические единицы ( TRUE).
Для того чтобы отключить насос на вход триггера ( RESET1) должна прийти логическая единица (TRUE) . В одном случае это происходит при наличии сигнала с копки «Стоп» (stop1) и одновременном присутствии сигнала на входе «Ручной режим» (ruhnoy1). Для этого они объединены элементом AND . Тут все аналогично, как и в случае процесса пуска насоса.
Во втором случае логическая единица должна приходить на на вход триггера ( RESET1) при отключенном переключателе и отсутствии сигнала на входе «Ручной режим», т. е. независимо в каком состоянии находится насос, при переводе переключателя из позиции «Ручной режим» в позицию «Автоматический режим», двигатель должен отключаться. Для этого инверсируем сигнал с входа ruhnoy1 и объединим их с сигналом отключения насоса через элемент OR (логическое ИЛИ).
В этом случае на вход триггера ( RESET1) может приходить логическая единица по двум путям. В первом случае она приходит с элемента AND , обеспечивающего отключение с кнопки и при отключении входа, связанного с установкой ручного режима. Во втором случае логический ноль ( FALSE) превращается на выходе NOT в логическую единицу (TRUE ) .
Так как у нас в схеме используется 2 насоса, работающие в ручном режиме одинаково, то добавим в программу еще один такой же фрагмент кода.
2. Создадим программу для работы схемы в автоматическом режиме
Для облегчения понимания работы схемы первоначально сделаем программу без учета переключателей выбора режима работы и выбора основного насоса, т.е. предположим что нам нужна схема, которая включает первый насос по второму датчику уровня, второй насос по третьему датчику. При срабатывании четвертого датчика включается сигнализация. Отключение обоих насосов выполняется после полного откачивания воды и срабатывании первого датчика уровня. Для этого нам понадобится два триггера RS , которые свяжут все нужные нам входы и выходы правильным способом.
Но не все так просто, как кажется на первый взгляд. Если попробовать проверить эту программу в режиме эмуляции, имитируя при этом поочередное срабатывание контактов датчика уровня про подъеме воды, мы увидим, что при подъеме воды до второго датчика насос не включается. Виновник этого первый контакт датчика уровня, который подает сигнал на отключающий вход триггеров. Нам же нужно, что бы триггеры отключались только при отключении 1 контакта датчика уровня. Для этого нужно после контакта du1 поставить элемент NOT , который будет инверсировать сигнал от датчика и сбрасываться триггеры будут тогда только при отключении входного контакта.
Теперь добавим в схему контакты переключателей автоматического режима работы. Двигатели насосов должны включаться только тогда, когда на входах, к которым подключены контакты этих переключателей имеется сигнал (логическая единица). Причем в цепи каждого из двигателей находится свой переключатель.
Для этого в схему добавим 2 элемента AND , которые позволят включить насосы только при включенных выключателях в автоматическом режиме и 2 элемента OR которые свяжут ручной и автоматический режим. Благодаря им на выходы, управляющие пускателями насосов nasos1 и nasos2 может приходить сигнал как с триггеров ручного режима, так и с триггеров автоматического.
3. Добавим переключатель выбора насоса
На этом этапе осталось в схему добавить переключатель, который позволяет выбрать основной и резервный насос. Основной насос включается первым, резервный — вторым. Физически на переключателях в электрической схеме имеется 4 входа и 4 выхода. Мы будем использовать для подключении программируемому контроллеру 2 выхода. 2 других будут запараллелены 2-м основным.
В программе для ПЛК нам нужно ввести 2 входных сигнала — «Основной 1 насос» (osnovn_1) и «Основной 2 насос» (osnovn_2). Сначала добавляем 2 элемента AND и связываем через них входы триггеров. На каждый элемент приходит сигнал от второго контакта датчика уровня и от своего входа переключателя.
Аналогичные действия проводим с третьим контактом датчика и и входами переключателя. А для того чтобы на каждый включающий вход триггера завести по 2 сигнала добавим в схему еще дополнительно 2 элемента OR .
Итоговая программа насосной станции с двумя откачивающими насосами для программируемого контроллера:
Написанную программу даже при отсутствии программируемого контроллера можно проверить в режиме эмуляции в CodeSyS (Онлайн — Режим эмуляции — Подключение — Ctrl+f7 — Пуск F5) .
Программа в режиме эмуляции в CodeSyS:
Курс по программированию контроллеров:
Практический курс по ПЛК Овен и разработке АСУ ТП в Codesys
Structured Text
#3 — Structured Text // Указатели. Автор — Сергей Романов
Книга «Изучаем Structured Text МЭК 61131-3»: Ссылка на книгу
Информация, опубликованная на данном веб-сайте, представлена исключительно в ознакомительных целях, за применение этой информации администрация сайта ответственности не несет.