Страница 4 из 4 ПерваяПервая ... 234
Показано с 31 по 37 из 37

Тема: Алгоритм поддержания уровня количеством включённых насосов

  1. #31
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,158

    По умолчанию

    kondor3000 спасибо, принцип понятен. жалко, что в ST нет понятий List и Dyctionary

  2. #32

    По умолчанию

    Покажу моделирование работы каскадного регулятора с интегральным критерием

    Возможно, я немного устал и не могу сосредоточиться, но толком настроить его не получилось - колеблется число работающих насосов от 0 до 5.
    Не получается от того, что при накоплении интегрального критерия не учитывается наступивший перегиб на графике уровня - уровень уже снижается, но насосы выключаются (или наоборот), ощущение, что не хватает дифференциальной или пропорциональной составляющей.
    Или прямых рук.
    У меня в модели потребитель из резервуара с постоянной нагрузкой, а в жизни нагрузка будет меняться...

    Проверял на моделях насосов и резервуара.

    Модель насоса - на него подаётся питание и с небольшой задержкой он включается - замыкается допконтакт bRun. Немного времени на разгон и появляется проток bStream. Сигнал протока подаётся на модель резервуара.

    Модель резервуара - не стал заморачиваться с геометрией и производительностями насосов - просто обозначил, что один работающий насос в секунду добавляет в резервуар несколько миллиметров уровня, и чем больше насосов, тем выше скорость наполнения. Насос отбора из резервуара тоже отбирает с заданной скоростью rSub.

    С экрана нужно задать исправность насосов и включить алгоритм - работа начнётся.

    Регулятор состоит из трёх частей:
    - сам регулятор, определяющий необходимое число насосов
    - диспетчер, распределяющий включения между насосами
    - коммутатор, исключающий одновременную коммутацию пускателей

    Сейчас уже немного устал и проверять не буду. Чуть позже займусь.
    Хочу довести до ума макрос с алгоритмом https://owen.ru/forum/showthread.php...l=1#post479184
    количество насосов определяется по 4 дискретным уровням (аналоговым уставкам) и на каком-то из них и уравняется баланс между притоком и оттоком воды в резервуар (+/-1 насос).
    Проверю и его на модели.

    Т.е. на промежуточном этапе у меня нет умиротворения от качества работы каскадного регулятора.
    Вложения Вложения

  3. #33

    По умолчанию

    Цитата Сообщение от FPavel Посмотреть сообщение
    ...

    Т.е. на промежуточном этапе у меня нет умиротворения от качества работы каскадного регулятора.
    Валенок же предложил вполне умиротворяющий вариант - в паре со стандартным регулятором чем не подошёл?
    Вложения Вложения

  4. #34
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,158

    По умолчанию

    з.ы. мне кажется надо измерять скорость расхода воды, и исходя из этого включать необходимое количество насосов. Нет расхода, не полная емкость - оставляем один насос для докачки.

  5. #35

    По умолчанию

    Цитата Сообщение от 1exan Посмотреть сообщение
    Валенок же предложил вполне умиротворяющий вариант - в паре со стандартным регулятором чем не подошёл?
    Цитата Сообщение от melky Посмотреть сообщение
    з.ы. мне кажется надо измерять скорость расхода воды, и исходя из этого включать необходимое количество насосов. Нет расхода, не полная емкость - оставляем один насос для докачки.
    Спасибо

    Сейчас, когда уже готова модель для проверки - смогу проверить разные варианты, и от kondor3000 и от Валенок.
    Сейчас занят другими заданиями, сегодня вечером займусь - что-то возьму готовым, что-то создам.
    Может, доработаю существующую - при росте уровня не добавлять новый насос или что-то в этом духе. Но это выглядит, как костыль, усложняющий понимание принципов работы системы.
    Может и вправду, вариант kondor3000 несмотря на кажущуюся простоту - самый оптимальный - ведь точное до миллиметра поддержание на требуется, а разброс в 300 мм при уставке 8000 мм - не сильно критичен.
    ---------------
    Я ничего не игнорировал, просто модель для проверки была готова только вчера и проверять было не на чем.
    Теперь начну проверять разные варианты.
    -----------------
    Для каскада на основе ПИД регулятора и сетки выбора количества насосов, как понимаю пропуски в интервалах выбора case - это реализация гистерезиса для борьбы с частыми переключениями
    Код:
        case real_to_udint(rPID) of
          0..13:   need := 0;
          18..31:  need := 1;
          36..49:  need := 2;
          54..67:  need := 3;
          72..84:  need := 4;
          88..100: need := 5;
        end_case
    ------------------
    Проверил вариант, предложенный kondor3000 - в части оценки количества требуемых насосов. Получилось довольно хорошо.
    Задал сетку уставок. Переключение (+1 или -1) числа требуемых насосов выполняется на следующей уставке, а не на той, которая вызвала крайнее переключение - подобие гистерезиса.
    В моей модели повезло с подбором сетки - баланс наступает точно на задании регулятора, но это случайность - в общем случае ожидал где-то внутри сетки
    Гистерезис организовал по следующему алгоритму:
    - пусть в диапазоне между двумя уставками переключения возможно два значения требуемых насосов, в зависимости от того, снижается или повышается уровень - (nMin) и (nMin+1)
    - для измеренного уровня и заданной сетки определяю минимальное значение возможных насосов (nMin)
    - если на предыдущем цикле запрашивалось меньше nMin, то настал час увеличить до этого минимума
    - если на предыдущем цикле запрашивалось больше (nMin+1), то снижаем аппетиты до этого (nMin+1)
    Код:
            // число агрегатов в диапазоне нахождения измеренного значения уровня
            // равно nMin или nMin+1 в зависимости от того снижается уровень или растёт
            // Поэтому, если уровень снижается и теперь нужно больше агрегатов (nAmount < nMin),
            // то повышаем их запрашиваемое количество.
            // Если уровень вырос и агрегатов требуется меньше (nAmount > nMin + 1),
            // то понижаем их запрашиваемое количество
            IF nAmount < nMin THEN
                // если реально включено меньше, то требуем не меньше минимального
                nAmount := nMin;
            ELSIF nAmount > nMin + 1 THEN
                // если уровень поднялся и стало требоваться меньше агрегатов, то на один снижаем
                nAmount := nMin + 1;
            END_IF
    Наверное, можно получить гибрид таких подходов к гистерезису при использованию ПИД - при изменении диапазона переключать или не переключать количество в зависимости от направления изменения выхода ПИД.
    А может и не стОит...

    Склоняюсь остановить выбор на "сетке уставок", как на близком к ПИД (вернее, П без ИД - отсюда и статическая ошибка регулирования), но простом в пояснении для эксплуатации.

    Спасибо большое за помощь в выборе алгоритма!
    Вложения Вложения
    Последний раз редактировалось FPavel; 06.02.2026 в 08:16.

  6. #36

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    з.ы. мне кажется надо измерять скорость расхода воды, и исходя из этого включать необходимое количество насосов. Нет расхода, не полная емкость - оставляем один насос для докачки.
    Да, это подошло бы, был бы дополнительный датчик протока. Но схема автоматизации утверждена. И, скажем так, моё мнение мало интересует заказчика.

  7. #37

    По умолчанию

    Нашёл ошибку - не обрабатывалась ситуация отключения всех насосов при превышении верхнего рабочего уровня.

    Теперь уже точно всё
    Вложения Вложения

Страница 4 из 4 ПерваяПервая ... 234

Похожие темы

  1. Алгоритм работы 3-х насосов на ST
    от K.K. в разделе СПК210, СПК1xx [М01]
    Ответов: 17
    Последнее сообщение: 06.12.2024, 09:46
  2. Ответов: 22
    Последнее сообщение: 29.11.2020, 16:23
  3. Алгоритм поддержания температуры на выходе
    от IloNA в разделе Помощь Разработчикам
    Ответов: 13
    Последнее сообщение: 15.12.2016, 18:58
  4. Система поддержания уровня воды
    от Lexey-ru в разделе Трёп (Курилка)
    Ответов: 34
    Последнее сообщение: 09.06.2014, 21:02
  5. контроллер для поддержания уровня давления в контуре гвс
    от san822 в разделе Подбор Оборудования
    Ответов: 9
    Последнее сообщение: 26.10.2009, 13:02

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •