Схема для программирования насосной станции

Создание программы управления двумя повышающими насосами на основе программируемого реле ОВЕН ПР100

Рассмотрим пример создания управляющей программы для работы системы подпитки с двумя повышающими насосами.
Т.к. это учебный пример, то выбор оборудования в некоторой мере — условен. Выберем новое на сегодняшний день программируемое реле ОВЕН ПР100-230.0804.0. Количество и тип его входов и выходов, а также возможности самого реле в плане вычислений, позволяют решить поставленную задачу. Также способ достижения равномерности износа насосов выберем упрощённым — ротация будет производиться по каждому запросу подпитки, а не по реальной наработке.
Решение будет создаваться в среде OWEN Logic версия 1.14.194.18756.
Файлы для OWEN Logic прикладывать нет смысла, т.к. эта среда бурно развивается и не всегда осуществляется поддержка ранних форматов собственных файлов (так я потерял наработки для версии 1.7).

1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ

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

Программа управления двумя повысительными насосами должна выполнять:
1. Включение насоса после замыкания контакта датчика-реле понижения давления в системе.
2. Чередование (ротацию) насосов для равномерного износа — чередование насосов при каждом запросе подпитки.
3. Контроль работоспособности включённого насоса по датчику-реле протока (датчику перепада давления на насосах или другому типу датчика протока). При отсутствии протока в течение заданного времени, насос признаётся неисправным, отключается, включается аварийная (световая и звуковая) сигнализации.
4. Аварийный ввод резерва (АВР). В случае неисправности одного из насосов, он исключается из дальнейшей работы, по запросу подпитки включается насос, оставшийся в рабочем состоянии.
5. Сброс аварийного состояния насосов осуществляется кнопкой «СБРОС» со щита управления.
6. Для каждого насоса предусмотрена электрическая схема с возможностью автоматического и ручного управления (переключатель «Р-О-А», кнопки «ПУСК» и «СТОП»).
7. По состоянию переключателей «Р-О-А» программа должна определять исключение одного или обоих насосов из автоматического управления. Если один из насосов переведён в положение отличное от «А», то программа продолжает автоматическую работу с оставшимся насосом, при этом выведенный из работы насос рассматривается как аварийный, но без выдачи сигнала «АВАРИЯ» — т.е. вступает в действие АВР.

Читайте также:  Принципы программирования solid java

Схематично подключение к ПР будет таким

Начинаем с декомпозиции задачи.
На главном холсте создадим единственный макрос «повысительные насосы» (UpperPumps), входы и выходы которого и подключим к физическим контактам программируемого реле. Других элементов на главном холсте не будет. Это сделано для удобства редактирования программы без привязки к аппаратной части и для возможности повторного использования на других программируемых реле производства ОВЕН.
Главный холст будет выглядеть

Рассмотрим возможное содержимое макроса UpperPumps. Очевидно, что он состоит из трёх крупных блоков — два однотипных блока «состояние насоса» и координирующая их «схема управления».
Таким образом, задача распалась на две соответствующие подзадачи.
Повторяющийся код, описывающий состояние отдельного насоса, удобно заключить в макрос «состояние насоса» (Pump) и дважды разместить его на холсте. Получается, что в состав макроса «повысительные насосы» (UpperPumps) будут входить два однотипных макроса «состояние насоса» (Pump) и схема управления.

Нельзя не упомянуть существующий в онлайн-библиотеке ОВЕН такого макроса как ActMech — «состояние насоса». Это сложный макрос, предназначенный для построения систем управления насосными группами.
http://ftp-ow.owen.ru/softupda. dditional/
http://ftp-ow.owen.ru/softupda. _v1.05.pdf
Т.к. я с ним ещё не разобрался, то использую собственные более простые наработки.

3. МАКРОС «СОСТОЯНИЕ НАСОСА» — Pump

Этот макрос формирует выход «Пуск/Останов» и состояние насоса «Исправен/Аварийный»:
— по запросу включает или отключает насос;
— по наличию протока следит за исправностью насоса;
— при неисправности насоса — отключает его, устанавливает в лог.1. сигнал «Авария насоса»;
— по сигналу «Сброс аварии» — сбрасывается состояние «Авария насоса».
Кроме дискретных входных сигналов, на вход в данный блок (макрос) поступают также и три параметра (по аналогии с параметрами ОВЕН САУ-У):
— время задержки включения насоса после поступления сигнала «Запрос»;
— задержка включения контроля протока после формирования сигнала «Пуск насоса»;
— длительность допустимых «провалов» от датчика протока.

При проверке в симуляторе видно, что даже в состоянии «Авария насоса» отсчёт времени в таймерах происходит при подаче сигнала «Запрос». Сделаем вход на таймер задержки включения насоса равным нулю при состоянии «Авария насоса» независимо от состояния входа «Запрос».
Также запомним и в вышестоящем макросе «ПОВЫСИТЕЛЬНЫЕ НАСОСЫ» UpperPumps примем меры для предотвращения невозможности установить состояние «Авария насоса» при случайном или преднамеренном «залипании» входного сигнала «Сброс аварии» — ко входу Reset подключим триггер переднего фронта.
В итоге получаем схему, которую и сохраним в виде макроса с названием «Pump».

4. МАКРОС «ПОВЫСИТЕЛЬНЫЕ НАСОСЫ» — UpperPumps

Макрос немного сложнее макроса «состояние насоса» поэтому при его создании вместо множества перекрёстных линий связи будут использоваться переменные.

Итак, на входе в макрос имеются следующие входные сигналы:
— Насос 1 в режиме «АВТОМАТИЧЕСКИЙ»;
— Насос 2 в режиме «АВТОМАТИЧЕСКИЙ»;
— Сброс аварии;
— запрос включения насоса;
— датчик протока.
Кроме дискретных входных сигналов, на вход в данный блок (макрос) поступают также и три параметра (по аналогии с параметрами ОВЕН САУ-У):
— время задержки включения насоса после поступления сигнала «Запрос»;
— задержка включения контроля протока после формирования сигнала «Пуск насоса»;
— длительность допустимых «провалов» от датчика протока.

В макросе решаются задачи чередования и АВР. На основании значения входов и состояний насосов:
— Насос 1 в «АВТ»,
— Насос 2 в «АВТ»,
— Авария насоса 1,
— Авария насоса 2,
— Запрос включения насоса
принимается решение о формировании всего двух сигналов:
— Запрос включения насоса 1;
— Запрос включения насоса 2.

Очевидно, что из сигналов «Насос N в «АВТ» и «Авария насоса N» получается сигнал «Насос N доступен для работы».

Сигнал «Запрос включения насоса» в схеме управления нужен не сам по себе, а как переключатель состояния очерёдности работы насосов. Т.е. при помощи счётного триггера (T-trig) сигнал «Запрос включения насоса» формирует сигналы «Очередь работы насоса 1» и «Очередь работы насоса 2». Для исключения ложного срабатывания счётного триггера от дребезга контактов перед триггером ставится схема подавления дребезга (Debounce).
Способы построения T-trigger и Debounce рассмотри позже.
Получаем схему

Из карт Карно получаем две функции

Запрос насоса 1 = (Насос 1 доступен) *(Очередь насоса 1)+ /(Насос 2 доступен)*(Насос 1 доступен)*(Очередь насоса 2)

Запрос насоса 2 = (Насос 2 доступен) *(Очередь насоса 2)+ /(Насос 1 доступен)*(Насос 2 доступен)*(Очередь насоса 1)

Эти функции и реализуем в схеме

5. ВСПОМОГАТЕЛЬНЫЕ МАКРОСЫ

Счётный триггер реализуется схемой

Макрос подавления дребезга реализуется схемой

ВЫВОДЫ И РЕКОМЕНДАЦИИ

Рассмотрен способ построения программы на языке FBD в среде OWEN Logic для программируемых реле семейств ПР100/ПР110/ПР114/ПР200. Решена практическая задача написания программы для повысительных насосов подпитки системы отопления.

Подобный способ (макросы «состояние насоса» и комбинационная схема управления) подходит для создания программ управления двумя насосами. Но для управления большим количеством насосов требуется иной подход — добавление в состав логики «состояние насоса» некоего подобия счётчика и схемы трансляции (распространения) счётного импульса при неисправности.

К функционалу макроса «Повысительные насосы» (UpperPumps) можно добавить ещё следующие возможности:
— формирование сигнала «Внимание» при полном отсутствии насосов в «АВТОМАТИЧЕСКОМ» режиме,
— формирование сигнала «Утечка в теплосети» (Leak) при чересчур длительной работе повысительного насоса,
— сделать счётный триггер (T-trigger) энергонезависимым.

Источник

Оцените статью