- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Алгоритм работы нескольких насосов
Модератор: kirillio
-
- здесь недавно
- Сообщения: 15
- Зарегистрирован: 03 ноя 2017, 11:08
- Имя: Игорь
- Страна: Россия
- город/регион: Бугульма
Алгоритм работы нескольких насосов
Добрый день!
Достался проект насосной станции. В насосной станции предусмотрено 4 насосных агрегата (3 рабочих+1 резервный). На каждый насосный агрегат предусмотрен частотный преобразователь. Для управления насосной буду проектировать локальную систему управления.
Подключение насосов будет производится автоматически в зависимости от необходимого расхода. И тут засада. На стадии тендера на выкиде насосов не были заложены расходомеры. И плюс ко всему заложены насоса с номинальным напором 170м, на входе насосов давление от 70 до 90м, а на выходе насосной давление не должно быть больше 180м.
На данный момент, из того что есть у меня в насосной я слепил следующий алгоритм работы.
В работе 1 насос:
Pвход=90 м
Pнасоса=90 м
Qмин=87 м3/ч
Qмакс=175 м3/ч.
В работе 2 насоса.
Pвход=90 м
Pвыход=90 м
Qмин=174 м3/ч
Qмакс=350 м3/ч
В работе 3 насоса.
Pвход=90 м
Pвыход=90 м
Qмин=261 м3/ч
Qмакс=525 м3/ч
Планирую регулировать производительность и подключать дополнительные насосы по давлению на выходе и текущей частоте эл. двигателя насоса.
Есть пару моментов, которые сейчас думаю как решить.
1. Практически нету разброса по максимальной производительность 1-го насоса (Qмин) и минимальной производительности 2-х (Qмин*2). Боюсь будет случай когда второй насос будет включаться и выключаться через очень непродолжительное время. Это конечно зависит от технологии, но как можно избежать это на уровне автоматизации? (кроме варианта с временем задержки, все таки в течении это время насос может работать не в режиме)
2. Так как отсутствуют расходомеры на выкидных линиях насоса, то не получится отследить "передавливание" одним насосом другого насоса. На это случае, посовещавшись с электриками, есть вариант сравнивать ток электродвигателей насосов и по нему косвенно контролировать "передавливание" и по току регулировать это момент. Такое еще нигде не применял и вообще такое возможно или нет?
Достался проект насосной станции. В насосной станции предусмотрено 4 насосных агрегата (3 рабочих+1 резервный). На каждый насосный агрегат предусмотрен частотный преобразователь. Для управления насосной буду проектировать локальную систему управления.
Подключение насосов будет производится автоматически в зависимости от необходимого расхода. И тут засада. На стадии тендера на выкиде насосов не были заложены расходомеры. И плюс ко всему заложены насоса с номинальным напором 170м, на входе насосов давление от 70 до 90м, а на выходе насосной давление не должно быть больше 180м.
На данный момент, из того что есть у меня в насосной я слепил следующий алгоритм работы.
В работе 1 насос:
Pвход=90 м
Pнасоса=90 м
Qмин=87 м3/ч
Qмакс=175 м3/ч.
В работе 2 насоса.
Pвход=90 м
Pвыход=90 м
Qмин=174 м3/ч
Qмакс=350 м3/ч
В работе 3 насоса.
Pвход=90 м
Pвыход=90 м
Qмин=261 м3/ч
Qмакс=525 м3/ч
Планирую регулировать производительность и подключать дополнительные насосы по давлению на выходе и текущей частоте эл. двигателя насоса.
Есть пару моментов, которые сейчас думаю как решить.
1. Практически нету разброса по максимальной производительность 1-го насоса (Qмин) и минимальной производительности 2-х (Qмин*2). Боюсь будет случай когда второй насос будет включаться и выключаться через очень непродолжительное время. Это конечно зависит от технологии, но как можно избежать это на уровне автоматизации? (кроме варианта с временем задержки, все таки в течении это время насос может работать не в режиме)
2. Так как отсутствуют расходомеры на выкидных линиях насоса, то не получится отследить "передавливание" одним насосом другого насоса. На это случае, посовещавшись с электриками, есть вариант сравнивать ток электродвигателей насосов и по нему косвенно контролировать "передавливание" и по току регулировать это момент. Такое еще нигде не применял и вообще такое возможно или нет?
-
- частый гость
- Сообщения: 441
- Зарегистрирован: 21 июл 2013, 19:32
- Имя: Вадим
- город/регион: Северодвинск
- Благодарил (а): 12 раз
- Поблагодарили: 38 раз
Алгоритм работы нескольких насосов
Как то у вас все сложно...
По сути, это задача для одного частотника (хотя бы VFD-CP) с датчиком давления на выходном коллекторе.
Ну и конечно правильно спроектированная система, обратные клапаны, расширительный бак (баки) и пр.
По сути, это задача для одного частотника (хотя бы VFD-CP) с датчиком давления на выходном коллекторе.
Ну и конечно правильно спроектированная система, обратные клапаны, расширительный бак (баки) и пр.
-
- здесь недавно
- Сообщения: 15
- Зарегистрирован: 03 ноя 2017, 11:08
- Имя: Игорь
- Страна: Россия
- город/регион: Бугульма
Алгоритм работы нескольких насосов
Дело в том, что Заказчик хочет регулировать производительность установки в пределах 138-363 м3/ч. Это насосная перекачки нефтеводяной эмульсии, которая поступает со скважин.
-
- частый гость
- Сообщения: 441
- Зарегистрирован: 21 июл 2013, 19:32
- Имя: Вадим
- город/регион: Северодвинск
- Благодарил (а): 12 раз
- Поблагодарили: 38 раз
Алгоритм работы нескольких насосов
Так поставьте общий расходомер и заведите с него обратную связь 4-20 мА на единственный частотник. Посмотрите типовые применения VFD-CP.
-
- здесь недавно
- Сообщения: 15
- Зарегистрирован: 03 ноя 2017, 11:08
- Имя: Игорь
- Страна: Россия
- город/регион: Бугульма
Алгоритм работы нескольких насосов
Денег на это руководство не хочет выделять.
Заказчик хочет видеть на каждой насос частотный преобразователь.
Заказчик хочет видеть на каждой насос частотный преобразователь.
-
- эксперт
- Сообщения: 1602
- Зарегистрирован: 06 янв 2016, 19:45
- Имя: Петров В.Л.
- Страна: Россия
- город/регион: Красноярск
- Благодарил (а): 69 раз
- Поблагодарили: 185 раз
Алгоритм работы нескольких насосов
Есть вариант 2х двухуровневой схемы. На верхнем уровне 1 регулятор (для меня давление было актуально) на нижнем соответственно N Регуляторов по току. Т.е. верхний регулятор регулирует токи, нижние - рабочий параметр. На 3-х объектах схема прокатила, а на одном нет. Получилось, что при одинаковом задании для частотника, токи могут быть весьма разные. И идет самовозбуждение насосов. Применил схему одного регулятора, но многоканального. Правда пришлось мирится с разбросом токов по насосам. Т.е. кто то пашет - а кто то сачкует немного (как в жизни)
-
- почётный участник форума
- Сообщения: 1746
- Зарегистрирован: 18 янв 2009, 12:25
- Имя: Дмитрий
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 132 раза
Алгоритм работы нескольких насосов
Введите показатель производительности Q/I (м3/А). Тогда можно построить систему регулирования с точки зрения экономии электроэнергииIgor_VSM писал(а):1. Практически нету разброса по максимальной производительность 1-го насоса (Qмин) и минимальной производительности 2-х (Qмин*2)
Применяют, но это - плохое решение. Есть такая штука, как обратный клапан на выкиде насоса. По-моему, обратные клапана обязательны в насосных с несколькими агрегатами на одной линии.Igor_VSM писал(а):2. Так как отсутствуют расходомеры на выкидных линиях насоса, то не получится отследить "передавливание" одним насосом другого насоса. На это случае, посовещавшись с электриками, есть вариант сравнивать ток электродвигателей насосов и по нему косвенно контролировать "передавливание" и по току регулировать это момент. Такое еще нигде не применял и вообще такое возможно или нет?
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой
-
- здесь недавно
- Сообщения: 15
- Зарегистрирован: 03 ноя 2017, 11:08
- Имя: Игорь
- Страна: Россия
- город/регион: Бугульма
Алгоритм работы нескольких насосов
Обратный клапан предусмотрен на выкиде каждого насоса. Но он не гарантирует решение проблемы с передавливанием. Да и функция его не в этом. У нас была похожая ситуация, только там по давлению нам не нужно было держать определенный порог. Но там в итоге институт сказал нам ставить расходомеры на выкиде каждого насоса.
Пока я думаю установить датчик давления в коллекторе, рассчитать частоты электродвигателей насосов в зависимости от давления. По этим параметрами контролировать работу насоса. И в случае если при определенной частоте эл. двигателя давление насоса будет подать , то подключать второй насос. (соответственно еще нужно будет смотреть за входным насосов).
Управление технологическим процессом могу реализовать только у себя в ЛСУ, то есть на среднем уровне АСУ ТП. Поэтому варианты с несколькими регуляторами на разных уровнях мне не подойдет.
А поставить расходомеры на каждый насос, это как минимум от 800 тыс. до 1000000 рублей не учтенных при выходе на тендер Меня за это по голове не погладят, невзирая на то, что оборудование на стадии тендера не я закладывал)))
Пока я думаю установить датчик давления в коллекторе, рассчитать частоты электродвигателей насосов в зависимости от давления. По этим параметрами контролировать работу насоса. И в случае если при определенной частоте эл. двигателя давление насоса будет подать , то подключать второй насос. (соответственно еще нужно будет смотреть за входным насосов).
Управление технологическим процессом могу реализовать только у себя в ЛСУ, то есть на среднем уровне АСУ ТП. Поэтому варианты с несколькими регуляторами на разных уровнях мне не подойдет.
А поставить расходомеры на каждый насос, это как минимум от 800 тыс. до 1000000 рублей не учтенных при выходе на тендер Меня за это по голове не погладят, невзирая на то, что оборудование на стадии тендера не я закладывал)))
-
- почётный участник форума
- Сообщения: 1746
- Зарегистрирован: 18 янв 2009, 12:25
- Имя: Дмитрий
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 132 раза
Алгоритм работы нескольких насосов
Просвещайтесь
У вас нет необходимых прав для просмотра вложений в этом сообщении.
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой
-
- эксперт
- Сообщения: 1602
- Зарегистрирован: 06 янв 2016, 19:45
- Имя: Петров В.Л.
- Страна: Россия
- город/регион: Красноярск
- Благодарил (а): 69 раз
- Поблагодарили: 185 раз
Алгоритм работы нескольких насосов
Не совсем понял как соединяются уровни регулятора и уровни АСУ. У меня в одной PLC крутится 9 регуляторов, из них 2 выполнены по двух уровневой схеме, и все это на одном уровне АСУ.
-
- эксперт
- Сообщения: 1602
- Зарегистрирован: 06 янв 2016, 19:45
- Имя: Петров В.Л.
- Страна: Россия
- город/регион: Красноярск
- Благодарил (а): 69 раз
- Поблагодарили: 185 раз
Алгоритм работы нескольких насосов
Прочитал статейку. Нравятся мне американцы- пишут просто, без затей и интегралов. Над некоторыми вещами смеялся наверно минут 5.
Цитирую - "вдумчивое проектирование и тщательный монтаж, обеспечат надежную работу насосной установки в течении нескольких лет", сразу вспомнилось, как "генитальный" московский менеджмент - выкрутил руки местным проектировщикам, и в проект был заложен насос с напором на 10% ниже минимально необходимого, естественно под предлогом сбережения средств акционеров. Это к вопросу о вдумчивом проектировании. Теперь к вопросу о "тщательном монтаже", уже другой проект. Так как насосы были куплены на помойке (есть такой бизнес в России - с обанкротившихся предприятий снимают оборудование, перебивают шильдики, красят и продают как новое, совсем задешево). И вот из 3-х однотипных насосов, один на фундамент не встал, у него крепление сильно не совпало с остальными. Но местные умельцы (Россия сильна Самоделкинами) приварили пластины, добавили шайб - и вуаля - готово.
Еще один перл понравился, цитирую - "Разница напорных характеристик параллельно работающих насосов не должна превышать 10%" - У помоечных насосов, при одном и том же напоре - разность в токе составляет 25%, про то - что бы на каждом насосе стоял расходомер - никто не пойдет на столь наглую трату денег акционеров :). С точки зрения американца - ситуация аварийная, у нас штатная. Я ни в коем случае не критикую американского инженера, мне его подход глубоко импонирует, я просто скорблю - что для меня это недостижимая мечта. Извиняюсь за лирику господа, не судите строго.
Цитирую - "вдумчивое проектирование и тщательный монтаж, обеспечат надежную работу насосной установки в течении нескольких лет", сразу вспомнилось, как "генитальный" московский менеджмент - выкрутил руки местным проектировщикам, и в проект был заложен насос с напором на 10% ниже минимально необходимого, естественно под предлогом сбережения средств акционеров. Это к вопросу о вдумчивом проектировании. Теперь к вопросу о "тщательном монтаже", уже другой проект. Так как насосы были куплены на помойке (есть такой бизнес в России - с обанкротившихся предприятий снимают оборудование, перебивают шильдики, красят и продают как новое, совсем задешево). И вот из 3-х однотипных насосов, один на фундамент не встал, у него крепление сильно не совпало с остальными. Но местные умельцы (Россия сильна Самоделкинами) приварили пластины, добавили шайб - и вуаля - готово.
Еще один перл понравился, цитирую - "Разница напорных характеристик параллельно работающих насосов не должна превышать 10%" - У помоечных насосов, при одном и том же напоре - разность в токе составляет 25%, про то - что бы на каждом насосе стоял расходомер - никто не пойдет на столь наглую трату денег акционеров :). С точки зрения американца - ситуация аварийная, у нас штатная. Я ни в коем случае не критикую американского инженера, мне его подход глубоко импонирует, я просто скорблю - что для меня это недостижимая мечта. Извиняюсь за лирику господа, не судите строго.
-
- администратор
- Сообщения: 4712
- Зарегистрирован: 25 июл 2008, 07:12
- Имя: Диев Александр Васильевич
- Страна: Россия
- город/регион: г. Сегежа, Карелия
- Благодарил (а): 192 раза
- Поблагодарили: 336 раз
Алгоритм работы нескольких насосов
Есть и не такое. Не раз видел плакаты типа "покупаем всё". Туда несут в том числе сданную в металлолом арматуру, как выкинутую бывшими вледельцами, так и откровенно ворованную. Там этот хлам "восстанавливают" и продают как новый с большой скидкой. В итоге новому покупателю это обходится значительно дороже. Как говорится, скупой платит дважды, тупой - трижды, а лох - пока деньги не кончились.
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.
-
- эксперт
- Сообщения: 1465
- Зарегистрирован: 25 июл 2008, 10:25
- Имя: Эдуард Владимирович
- Страна: СССР
- город/регион: Оренбург
- Благодарил (а): 43 раза
- Поблагодарили: 93 раза
Алгоритм работы нескольких насосов
Я такую задачу реализую по давлению, так называемым "каскадным" управлением. Частотник поддерживает давление своим (или в контроллере) ПИД-регулятором на напоре, а кол-во насосов выбирает ПИ-регулятор в контроллере по давлению на выходе из коллектора или на трубе к потребителю. Сложности большие в написании и отладки всей программы, которая определяет какой включать и отключать насос исходя из наработки и авариных сигналов, если разная производительность, то еще сложней будет. 4 агрегата предел по моим наработкам, так как алгоритм переключения упирается в ограничения сименса на 16 кбайт функциональный блок. т.е. надо решать другими методами, а не как у меня, с помощью конечных автоматов. Если интересен вариант и с сименсом дружите, то поделюсь. Но, придется поэтапно иначе будет тяжело понять все извращения)))
--------------------------------------------------------------------------------------------
-
- почётный участник форума
- Сообщения: 3899
- Зарегистрирован: 20 янв 2010, 22:23
- Имя: Никита
- Страна: РФ
- город/регион: Мурманск
- Благодарил (а): 18 раз
- Поблагодарили: 187 раз
Алгоритм работы нескольких насосов
А в человеческом виде нет, чтобы без step7 посмотреть? Хотя бы общую идею?
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "
-
- эксперт
- Сообщения: 1465
- Зарегистрирован: 25 июл 2008, 10:25
- Имя: Эдуард Владимирович
- Страна: СССР
- город/регион: Оренбург
- Благодарил (а): 43 раза
- Поблагодарили: 93 раза
Алгоритм работы нескольких насосов
А я похож на человека?
Идея все та же. Она не меняется у всех, просто реализации разные. Да, алгоритмы логические в Visio, а вот сортировки прости с SCL, но думаю поймешь. Кодирование надо объяснять.... Вечером попробую всю структуру программы изобразить и будет видно дальше. Где-то видимо придется скриншотами из степ7 пояснять)))
Идея все та же. Она не меняется у всех, просто реализации разные. Да, алгоритмы логические в Visio, а вот сортировки прости с SCL, но думаю поймешь. Кодирование надо объяснять.... Вечером попробую всю структуру программы изобразить и будет видно дальше. Где-то видимо придется скриншотами из степ7 пояснять)))
--------------------------------------------------------------------------------------------
-
- эксперт
- Сообщения: 1465
- Зарегистрирован: 25 июл 2008, 10:25
- Имя: Эдуард Владимирович
- Страна: СССР
- город/регион: Оренбург
- Благодарил (а): 43 раза
- Поблагодарили: 93 раза
Алгоритм работы нескольких насосов
Структура программы в целом
Самая жуткая часть:
файл в формате майкрософт визио. Так как надо отслеживать куда какая-стрелка идет в конечном автомате при проектировании. Возможно такие вещи решать лучше другими методами, но мне так было привычней.
Алгоритм управления насосом не публикую пока, информации и так много. Алгоритм работы насоса увязан с функцией обмена с ПЧ по профибас из моих методичек))) счетчик рабочего времени по вкусу.
Если кто доберется до реализации алгоритма каскада, объясню как я кодирую из рисунка в ST (SCL) все это дело.
А, да...Каскад получается свободный, в отличии от массы "каскадных" конфигурируемых контроллеров, так как мне не надо задавать последовательность включения агрегатов. У меня выбор идет по наработке лишь бы не в аварии и не в работе. Поэтому и чудище такое вышло)))
По регулятору "мощности" - сам ПИ-регулятор показывать на скриншотах смысла нет, а вот формирование признаков для включения первого, второго и третьего насоса на скриншотах, думаю идея будет понятна. Сама идея с форума АВОК.
Листинг функции выбора резервного насоса и отключаемого на SCL (циклы со счетчиком)
Код: Выделить всё
FUNCTION_BLOCK FB12
TITLE='Choise of pump 3'
CONST
k := 3; //--- Количество насосов или другого оборудования
END_CONST
VAR
nasos_1_stat : BYTE; //--- Байт состояния насоса №1
nasos_2_stat : BYTE; //--- Байт состояния насоса №2
nasos_3_stat : BYTE; //--- Байт состояния насоса №3
maska_reserve : BYTE := B#2#1000; //--- Маска байта резервного насоса (число - 8)
maska_off : BYTE := B#2#1001; //--- Маска байта отключаемого насоса (число - 9)
i : INT;
x : ARRAY[1..k] OF STRUCT
nasos_stat : BYTE;
nasos_hour : DINT;
END_STRUCT;
nasos : INT;
hour : DINT;
END_VAR
VAR_INPUT
in_nasos_1_rabota : BOOL; //--- Информация по насосу №1 - статус насоса "в работе"
in_nasos_1_avaria : BOOL; //--- Информация по насосу №1 - статус насоса "авария"
in_nasos_1_blokir : BOOL; //--- Информация по насосу №1 - статус насоса "заблокирован"
in_nasos_1_elektr : BOOL; //--- Информация по насосу №1 - статус насоса "есть электропитание"
in_nasos_1_hour : DINT; //--- Информация по насосу №1 - часы наработки
in_nasos_2_rabota : BOOL; //--- Информация по насосу №2 - статус насоса "в работе"
in_nasos_2_avaria : BOOL; //--- Информация по насосу №2 - статус насоса "авария"
in_nasos_2_blokir : BOOL; //--- Информация по насосу №2 - статус насоса "заблокирован"
in_nasos_2_elektr : BOOL; //--- Информация по насосу №2 - статус насоса "есть электропитание"
in_nasos_2_hour : DINT; //--- Информация по насосу №2 - часы наработки
in_nasos_3_rabota : BOOL; //--- Информация по насосу №3 - статус насоса "в работе"
in_nasos_3_avaria : BOOL; //--- Информация по насосу №3 - статус насоса "авария"
in_nasos_3_blokir : BOOL; //--- Информация по насосу №3 - статус насоса "заблокирован"
in_nasos_3_elektr : BOOL; //--- Информация по насосу №3 - статус насоса "есть электропитание"
in_nasos_3_hour : DINT; //--- Информация по насосу №3 - часы наработки
END_VAR
VAR_IN_OUT
// I/O Parameters
END_VAR
VAR_OUTPUT
out_nasos_1_reserve : BOOL; //--- Насос №1 выбран в качестве резерва
out_nasos_2_reserve : BOOL; //--- Насос №2 выбран в качестве резерва
out_nasos_3_reserve : BOOL; //--- Насос №3 выбран в качестве резерва
out_nasos_N_reserve : BOOL; //--- Отсуствие насоса для резерва
out_nasos_1_off : BOOL; //--- Насос №1 выбран для отключения
out_nasos_2_off : BOOL; //--- Насос №2 выбран для отключения
out_nasos_3_off : BOOL; //--- Насос №3 выбран для отключения
out_nasos_N_off : BOOL; //--- Отсуствие насоса для отключения
END_VAR
// --- END Block Parameters --------------------
BEGIN
//--- Информацию по насосу №1 загоняем в байт состояния насоса №1
nasos_1_stat := 0;
IF (in_nasos_1_rabota = TRUE) THEN nasos_1_stat := nasos_1_stat OR B#2#0001; END_IF;
IF (in_nasos_1_avaria = TRUE) THEN nasos_1_stat := nasos_1_stat OR B#2#0010; END_IF;
IF (in_nasos_1_blokir = TRUE) THEN nasos_1_stat := nasos_1_stat OR B#2#0100; END_IF;
IF (in_nasos_1_elektr = TRUE) THEN nasos_1_stat := nasos_1_stat OR B#2#1000; END_IF;
//--- Информацию по насосу №2 загоняем в байт состояния насоса №2
nasos_2_stat := 0;
IF (in_nasos_2_rabota = TRUE) THEN nasos_2_stat := nasos_2_stat OR B#2#0001; END_IF;
IF (in_nasos_2_avaria = TRUE) THEN nasos_2_stat := nasos_2_stat OR B#2#0010; END_IF;
IF (in_nasos_2_blokir = TRUE) THEN nasos_2_stat := nasos_2_stat OR B#2#0100; END_IF;
IF (in_nasos_2_elektr = TRUE) THEN nasos_2_stat := nasos_2_stat OR B#2#1000; END_IF;
//--- Информацию по насосу №3 загоняем в байт состояния насоса №3
nasos_3_stat := 0;
IF (in_nasos_3_rabota = TRUE) THEN nasos_3_stat := nasos_3_stat OR B#2#0001; END_IF;
IF (in_nasos_3_avaria = TRUE) THEN nasos_3_stat := nasos_3_stat OR B#2#0010; END_IF;
IF (in_nasos_3_blokir = TRUE) THEN nasos_3_stat := nasos_3_stat OR B#2#0100; END_IF;
IF (in_nasos_3_elektr = TRUE) THEN nasos_3_stat := nasos_3_stat OR B#2#1000; END_IF;
//--- Информацию по насосам загоняем в массив для перебора в цикле
x[1].nasos_stat := nasos_1_stat; x[1].nasos_hour := in_nasos_1_hour;
x[2].nasos_stat := nasos_2_stat; x[2].nasos_hour := in_nasos_2_hour;
x[3].nasos_stat := nasos_3_stat; x[3].nasos_hour := in_nasos_3_hour;
//============================================================================================
//--- Определение РЕЗЕРВНОГО насоса ----------------------------------------------------------
//============================================================================================
nasos := 0; //--- номер выбранного насоса от 1 до "k", 0 - насос не выбран
hour := 0; //--- количество часов наработки по выбранному насосу
//--- Цикл перебора всех насосов для определения РЕЗЕРВНОГО насоса ---------------------------
FOR i:=1 TO k BY 1 DO
IF (x[i].nasos_stat = maska_reserve) THEN //--- если статус насоса совпадает с маской байта для резерва, то
IF (nasos = 0) THEN //------ проверяем, если насос для резерва еще не выбран, то определяем этот насос как резервный
nasos := i; //--------- определяем номер насоса
hour := x[i].nasos_hour; //--------- определяем часы наработки для этого насоса
ELSE //------ иначе, если насос для резерва уже выбран, то
IF (x[i].nasos_hour < hour) THEN //--------- проверяем часы наработки насоса с уже выбранным для резерва, если меньше переопределяем резерв
nasos := i; //------------ определяем номер насоса
hour := x[i].nasos_hour; //------------ определяем часы наработки для этого насоса
END_IF;
END_IF;
END_IF;
END_FOR;
//--- Формируем выходной сигнал РЕЗЕРВНОГО насоса
out_nasos_1_reserve := 0;
out_nasos_2_reserve := 0;
out_nasos_3_reserve := 0;
out_nasos_N_reserve := 0;
CASE nasos OF
0 : out_nasos_N_reserve := 1; //--- Отсуствие резервного насоса
1 : out_nasos_1_reserve := 1; //--- Резервный насос №1
2 : out_nasos_2_reserve := 1; //--- Резервный насос №2
3 : out_nasos_3_reserve := 1; //--- Резервный насос №3
END_CASE;
//============================================================================================
//--- Определение насоса для ОТКЛЮЧЕНИЯ ------------------------------------------------------
//============================================================================================
nasos := 0; //--- номер выбранного насоса от 1 до "k", 0 - насос не выбран
hour := 0; //--- количество часов наработки по выбранному насосу
//--- Цикл перебора всех насосов для определения ОТКЛЮЧАЕМОГО насоса -------------------------
FOR i:=1 TO k BY 1 DO
IF (x[i].nasos_stat = maska_off) THEN //--- если статус насоса совпадает с маской байта отключаемого насоса, то
IF (nasos = 0) THEN //------ проверяем, если насос для оключения еще не выбран, то определяем этот насос кандидатом на отключение
nasos := i; //--------- определяем номер насоса
hour := x[i].nasos_hour; //--------- определяем часы наработки для этого насоса
ELSE //------ иначе, если насос для отключения уже выбран, то
IF (x[i].nasos_hour > hour) THEN //--------- проверяем часы наработки насоса с уже выбранным для отключения, если больше переопределяем кандидата
nasos := i; //------------ определяем номер насоса
hour := x[i].nasos_hour; //------------ определяем часы наработки для этого насоса
END_IF;
END_IF;
END_IF;
END_FOR;
//--- Формируем выходной сигнал для ОТКЛЮЧАЕМОГО насоса
out_nasos_1_off := 0;
out_nasos_2_off := 0;
out_nasos_3_off := 0;
out_nasos_N_off := 0;
CASE nasos OF
0 : out_nasos_N_off := 1; //--- Отсуствие отключаемого насоса
1 : out_nasos_1_off := 1; //--- Отключаемый насос №1
2 : out_nasos_2_off := 1; //--- Отключаемый насос №2
3 : out_nasos_3_off := 1; //--- Отключаемый насос №3
END_CASE;
END_FUNCTION_BLOCK
Алгоритм управления насосом не публикую пока, информации и так много. Алгоритм работы насоса увязан с функцией обмена с ПЧ по профибас из моих методичек))) счетчик рабочего времени по вкусу.
Если кто доберется до реализации алгоритма каскада, объясню как я кодирую из рисунка в ST (SCL) все это дело.
А, да...Каскад получается свободный, в отличии от массы "каскадных" конфигурируемых контроллеров, так как мне не надо задавать последовательность включения агрегатов. У меня выбор идет по наработке лишь бы не в аварии и не в работе. Поэтому и чудище такое вышло)))
У вас нет необходимых прав для просмотра вложений в этом сообщении.
--------------------------------------------------------------------------------------------
-
- почётный участник форума
- Сообщения: 3899
- Зарегистрирован: 20 янв 2010, 22:23
- Имя: Никита
- Страна: РФ
- город/регион: Мурманск
- Благодарил (а): 18 раз
- Поблагодарили: 187 раз
Алгоритм работы нескольких насосов
Эдуард, спасибо. Информации, лично мне, даже больше чем надо. Просто по ходу работы приходится рассматривать различные варианты, как на ПЛК, так и на "дубовых" контроллерах, типа SK-712. Вот и изучаю разные решения, со всеми плюсами и минусами.
Сам код не сильно интересен, если делать буду я - напишу свой, а если кто-то еще - это вообще проблема индейцев.
Сам код не сильно интересен, если делать буду я - напишу свой, а если кто-то еще - это вообще проблема индейцев.
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "
-
- эксперт
- Сообщения: 1465
- Зарегистрирован: 25 июл 2008, 10:25
- Имя: Эдуард Владимирович
- Страна: СССР
- город/регион: Оренбург
- Благодарил (а): 43 раза
- Поблагодарили: 93 раза
Алгоритм работы нескольких насосов
Почитал про виловский SK-712. Очень неплохо. Развивается техника. лучше чем у данфосса было.
Отличия моего решения от вилы, это прежде всего возможность напихать разные регуляторы в зависимости от пч или их отсутствия. Переключение по наработке у меня по заданному кол-ву часов и переход на наименьший в наработке и с учетом резерва без всякого кольца. Также, я предусматриваю пересброс таймера наработки, если нет резерва. Единственно, при блокировке\ручной режим управления насоса у меня - я даю команду на отключение, вило оставляет в работе. Весь виловский антураж защит и доп. опций и прочего на опорные алгоритмы не влияют.
Повторить прибор их можно, если приляпать сенсорный дисплей, гораздо удобней будет. Цены у них...
Отличия моего решения от вилы, это прежде всего возможность напихать разные регуляторы в зависимости от пч или их отсутствия. Переключение по наработке у меня по заданному кол-ву часов и переход на наименьший в наработке и с учетом резерва без всякого кольца. Также, я предусматриваю пересброс таймера наработки, если нет резерва. Единственно, при блокировке\ручной режим управления насоса у меня - я даю команду на отключение, вило оставляет в работе. Весь виловский антураж защит и доп. опций и прочего на опорные алгоритмы не влияют.
Повторить прибор их можно, если приляпать сенсорный дисплей, гораздо удобней будет. Цены у них...
--------------------------------------------------------------------------------------------
-
- новенький
- Сообщения: 1
- Зарегистрирован: 02 июл 2018, 21:26
- Имя: Кирилл
Алгоритм работы нескольких насосов
Добрый день! Мне вот очень интересен вариант программы на сименс, так как самому нужно именно это. У Вас есть возможность поделиться со мной? В моем варианте программы все просто, но как раз описанные выше проблемы и происходят с насосной станцией.CHANt писал(а): ↑20 ноя 2017, 11:35 Сложности большие в написании и отладки всей программы, которая определяет какой включать и отключать насос исходя из наработки и авариных сигналов, если разная производительность, то еще сложней будет. 4 агрегата предел по моим наработкам, так как алгоритм переключения упирается в ограничения сименса на 16 кбайт функциональный блок. т.е. надо решать другими методами, а не как у меня, с помощью конечных автоматов. Если интересен вариант и с сименсом дружите, то поделюсь.
-
- новенький
- Сообщения: 1
- Зарегистрирован: 06 окт 2018, 23:14
- Имя: Евгений
Алгоритм работы нескольких насосов
Здравствуйте! Есть похожая задача для 4 насосов и на сименсе. Интересен сам алгоритм выбора и переключения насосов - если поделитесь буду очень благодарен!CHANt писал(а): ↑20 ноя 2017, 11:35 Сложности большие в написании и отладки всей программы, которая определяет какой включать и отключать насос исходя из наработки и авариных сигналов, если разная производительность, то еще сложней будет. 4 агрегата предел по моим наработкам, так как алгоритм переключения упирается в ограничения сименса на 16 кбайт функциональный блок. т.е. надо решать другими методами, а не как у меня, с помощью конечных автоматов. Если интересен вариант и с сименсом дружите, то поделюсь.
-
- эксперт
- Сообщения: 1465
- Зарегистрирован: 25 июл 2008, 10:25
- Имя: Эдуард Владимирович
- Страна: СССР
- город/регион: Оренбург
- Благодарил (а): 43 раза
- Поблагодарили: 93 раза
Алгоритм работы нескольких насосов
В личку мне адрес мыла напишите, на выходных постараюсь время найти и информацию отправлю.
--------------------------------------------------------------------------------------------