Просмотр полной версии : ПИД регулятор и управление типа открыто/закрыто
Здравствуйте всем. Собрал программку для пр200. На управление клапаном 0-10В. Но тут неожиданно заказчик приносит привод открыто/закрыто или трёхпозиционное регулирование 230В. Как можно настроить регулятор под данный тип?
Я пока вижу вариант на каждый измененный процент мощности посылать команды со сбросом допустим на таймер. Задав в таймере время выдержки каждого процента. Зная чётко полное время открывания/закрывания привода.
п.с. ой кажется я поспешил. Уже ж есть готовый макрос))
Как будете устранять накапливающуюся погрешность привода?
Как будете устранять накапливающуюся погрешность привода?
с таким не сталкивался так как обычно использовал готовые контроллеры для данных задач.
А что это такое можете объяснить?
То, что после некоторого количества движений туда-сюда реальное положение привода будет отличаться от значения на выходе ПИД.
То, что после некоторого количества движений туда-сюда реальное положение привода будет отличаться от значения на выходе ПИД.
это вы про мой метод решения? я да понял что не правильный.
А если готовый макрос взять Двухпозиционный регулятор в онлайн базе...
после каждого полного закрытия/открытия отсчитывать проценты заново, вот если полных открытий/закрытий нет или очень редки тогда их надо создать, например суточные.
Я вот немного не пойму на счет готового регулятора с онлайн базы. Почему выставив на текущей и установочной температуре одинаковые значения он все равно пытается открыть или закрыть?
Допустим у меня сравнялась уставка с реальным значением..
Ревака Юрий
05.03.2018, 17:37
Я вот немного не пойму на счет готового регулятора с онлайн базы. Почему выставив на текущей и установочной температуре одинаковые значения он все равно пытается открыть или закрыть?
Допустим у меня сравнялась уставка с реальным значением..
О каком готовом идет речь? Посмотрите в этой теме http://www.owen.ru/forum/showthread.php?t=25068&page=11
Извините, можно я сюда влезу?
в плане общего развития
а если так - выход с PID регулятора от 0 до 10 при значении более 6 открываем, при значении менее 4 закрываем, в пределах этих значений привод не трогаем
чем это грозит и что с этим не так.
мне кажется он стабилизируется
У меня была подобная потребность в ПИД-регуляторе клапаном КЗР для горячего водоснабжения, система очень динамичная. Использовал ДВА PID-регулятора, на каждый канал на открыть и закрыть свой.
Извините, можно я сюда влезу?
в плане общего развития
а если так - выход с PID регулятора от 0 до 10 при значении более 6 открываем, при значении менее 4 закрываем, в пределах этих значений привод не трогаем
чем это грозит и что с этим не так.
мне кажется он стабилизируется
Так тоже не получится. Представим, у вас рассогласование небольшое будет, что привод будет делать ? Я уже всякие разные способы перепробовал. Для просто отопления есть макрос fiu_kzr вроде, кто-то из форумчан делал, но для ГВС он не очень подходит.
небольшие рассогласования оставляем без внимания пока не накопятся
У меня была подобная потребность в ПИД-регуляторе клапаном КЗР для горячего водоснабжения, система очень динамичная. Использовал ДВА PID-регулятора, на каждый канал на открыть и закрыть свой.
а на каком проценте клапан открывался закрывался? или как это было реализовано?
а на каком проценте клапан открывался закрывался? или как это было реализовано?
Нинакаком. ПИД-регуляторы работали совместно с макросом от rovki "Вектор изменения величины (Vip)", есть в онлайн базе, но слегка модифицированный, т.к. не дружил с ПИД-регулятором, у которого выход изменялся не линейно. Но суть будет понятна. Если начала расти мощность другого ПИД-регулятора, а предыдущего падала, то переключаемся на работу на тот ПИД регулятор, который "растёт", как-то так. Ну с проходом через ШИМ конечно-же.
Нинакаком. ПИД-регуляторы работали совместно с макросом от rovki "Вектор изменения величины (Vip)", есть в онлайн базе, но слегка модифицированный, т.к. не дружил с ПИД-регулятором, у которого выход изменялся не линейно. Но суть будет понятна. Если начала расти мощность другого ПИД-регулятора, а предыдущего падала, то переключаемся на работу на тот ПИД регулятор, который "растёт", как-то так. Ну с проходом через ШИМ конечно-же.
сложно всё сразу понять)) щас буду пробовать имитировать. а готового нет решения?
Сейчас попробовал и понял зачем вам два комплекта на открытие и закрытие)
а что нужно сделать чтобы Vip начал дружить с ПИД при резком изменении величины?
Для начала надо определиться, чем клапан будет управлять, это отопление, пар, ГВС, ещё там что ? Может ПИД-регулятор вовсе ненужен.
Для начала надо определиться, чем клапан будет управлять, это отопление, пар, ГВС, ещё там что ? Может ПИД-регулятор вовсе ненужен.
задача следующая, есть контур отопления. Нужно поддерживать между подачей и обраткой дельту в 20 градусов. Всё просто)
кажется я нашёл то что искал спасибо авторам. Сейчас проверяю вроде что надо.
Я не стал использовать ПИД для отопления, это как из пушки по воробьям. Взял за основу имеющийся на форуме макрос FIU_KZR и чутка дополнил его.
SP - уставка
PV - измереное
dT - зона нечувствительности, градусы допустим
pause - время паузы, в мс, между сигналами на открытие/закрытие, у меня лучше всего работало при тех значениях, что в проекте, при 180-секундном КЗР
EN - разрешение работы.
Чем больше разница между уставкой и измереным, тем дольше длительность импульса при той же паузе, и наоборот, длительность импульса уменьшается, когда разница между уставкой и измереным меньше.
Я не стал использовать ПИД для отопления, это как из пушки по воробьям. Взял за основу имеющийся на форуме макрос FIU_KZR и чутка дополнил его.
SP - уставка
PV - измереное
dT - зона нечувствительности, градусы допустим
pause - время паузы, в мс, между сигналами на открытие/закрытие, у меня лучше всего работало при тех значениях, что в проекте, при 180-секундном КЗР
EN - разрешение работы.
Чем больше разница между уставкой и измереным, тем дольше длительность импульса при той же паузе, и наоборот, длительность импульса уменьшается, когда разница между уставкой и измереным меньше.
спасиб большое! сейчас проверю. А на днях на объекте))
Ещё раз спасибо!!)
Хочу реализовать следующий алгоритм управления трехточечным ИМ для отопления или охлаждения.
Будет работать, как думаете?
Какой регулятор при этом получается в теории?
Входы:
E - разрешение на работу блока
Ts - заданная температура
Ti - измеренная температура
Kp - коэффициент пропорциональности
Ta - время дискретизации (период расчета управляющего воздействия)
Tm - время полного открытия исполнительного механизма (120 с по умолчанию)
Te- зона нечувствительности С, 2 С по умолчанию, 1 С вверх от зад значения и 1 С вниз от задания
Выходы блока
Y - виртуальное положение исполнительного механизма (0-100%)
Up - команда на открытие ИМ, сек
Down команда на закрытие ИМ, сек
Алгоритм
1. Если Разрешение на работу =1, то включаем регулятор, иначе все выходы 0
Если регулятор работал, и пришла команда на отключение то ИМ должен закрыться с импульсом Tm +20 c
2. Закрытие ИМ (для определения положения ИМ). Подача сигнала на выход Down длинной Tm +20 c (для гарантированного закрытия)
3. Вычисление сигнала рассогласования e=Ts-Ti
4. Если Ts больше Ti, то Флаг открытия = 1, иначе 0
5. Если е меньше зоны нечувствительности, то ничего не делаем,, т.е. Y= Y на пред шаге Иначе
6. Вычисляем прирост управляющего воздействия dy =Kp*e
7. Y=Y на пред. шаге + dy
8. Вычисление длительности импульса ИМ Ty=dy*Tm/100 , минимальная длина импульса 1 с
9. Если Флаг открытия =1 то подача импульса на выход Up длительностью Ty
иначе подача импульса на выход Down длительностью Ty
10. Выполнение следующего воздействия в п.3 через Ta, c по умолчанию 60 с
m_kazancev@mail.ru
05.04.2018, 08:28
кажется я нашёл то что искал спасибо авторам. Сейчас проверяю вроде что надо.
доброго времени суток! подскажите Вы добились успеха в применении вышеуказанного регулятора? и подскажите пожалуйста марку клапана регулирующего, давление, диаметр. у меня похожая ситуация. и вкладываю место установки клапана. у Вас также?
клапан у меня без концевиков
может это понравится?36453
anthrwpos
07.04.2018, 20:38
Пару раз видел тут выкладывали макрос "Клапан" для этой цели.
Вот мой на ту-же тему. На вход подается прям выход ПИД, на выходе - управляющие воздействия на клапан.
Сам макрос (https://github.com/anthrwpos1/macros/raw/master/VLV%5BfLIMIT%5D.tpl)
Макрос VLV
Управление клапанами.
Входы
STP - шаг управления в секундах
PER - период управления в секундах
T_F - время полного хода клапана
TGT - требуемая позиция клапана (от 0 до 1)
Выходы
Q+ - выход открытия
Q- - выход закрытия
CUR - текущее положение (счетчик)
если входящее значение TGT ниже нуля или выше единицы - на клапан подается дополнительное воздействие для доводки его до крайнего положения (концевика).
Для работы этой фичи, не следует ограничивать подаваемое воздействие интервалом [0...1]
m_kazancev@mail.ru
12.04.2018, 10:59
Пару раз видел тут выкладывали макрос "Клапан" для этой цели.
Вот мой на ту-же тему. На вход подается прям выход ПИД, на выходе - управляющие воздействия на клапан.
Сам макрос (https://github.com/anthrwpos1/macros/raw/master/VLV%5BfLIMIT%5D.tpl)
Макрос VLV
Управление клапанами.
Входы
STP - шаг управления в секундах
PER - период управления в секундах
T_F - время полного хода клапана
TGT - требуемая позиция клапана (от 0 до 1)
Выходы
Q+ - выход открытия
Q- - выход закрытия
CUR - текущее положение (счетчик)
если входящее значение TGT ниже нуля или выше единицы - на клапан подается дополнительное воздействие для доводки его до крайнего положения (концевика).
Для работы этой фичи, не следует ограничивать подаваемое воздействие интервалом [0...1]
1. т.е. выход стандартного PID (PWR) из библиотеки ОЛ, подаем на вход STP?
2. что значит требуемая позиция клапана? она при настройки объекта задается вручную (один раз)?
3. кто-нибудь может подробно описать что такое выход PWR-выходная мощность?
anthrwpos
23.04.2018, 10:23
1. т.е. выход стандартного PID (PWR) из библиотеки ОЛ, подаем на вход STP?
2. что значит требуемая позиция клапана? она при настройки объекта задается вручную (один раз)?
3. кто-нибудь может подробно описать что такое выход PWR-выходная мощность?
Выход с ПИД подается как раз на TGT.
STP - это квант времени включения клапана. Алгоритм двигает клапаном пропорционально этому времени.
Sp[ai]der
22.10.2018, 20:05
Здравствуйте!
Делаю на ПР200 регуляторы контуров в ИТП. Клапана трёхпозиционные (команды открыть, закрыть)
Использую макрос KZR (управление дискретной задвижкой версия 1, из работы с выходами) вместе с ПИД-регулятором из библиотеки. Всё более менее нормально, но когда температура выше задания клапан просто выдаёт постоянную команду на закрывание, не щелчками постепенно, а постоянно, пока температура не опустится ниже задания. В сторону увеличения он открывает клапан как положено щелчками... В чём может быть дело? Почему так по разному ведёт себя на открытие и закрытие?
Или взять не обрезанный полный макрос управления KZR_DO_Sel из вентиляции?
Сергей0308
22.10.2018, 22:22
der;290498']Здравствуйте!
Делаю на ПР200 регуляторы контуров в ИТП. Клапана трёхпозиционные (команды открыть, закрыть)
Использую макрос KZR (управление дискретной задвижкой версия 1, из работы с выходами) вместе с ПИД-регулятором из библиотеки. Всё более менее нормально, но когда температура выше задания клапан просто выдаёт постоянную команду на закрывание, не щелчками постепенно, а постоянно, пока температура не опустится ниже задания. В сторону увеличения он открывает клапан как положено щелчками... В чём может быть дело? Почему так по разному ведёт себя на открытие и закрытие?
Или взять не обрезанный полный макрос управления KZR_DO_Sel из вентиляции?
Вот если интересно регулятор делал для поддержания уровня воды! У Вас, если правильно понял, главная проблема в перерегулировании, так вот мой регулятор как раз не даёт сильно перерегулировать, пусть, в случае резкого сильного возмущения, значение дольше будет до уставки добираться, зато без большого перерегулирования, ну и ресурс клапанов бережётся!
39400
Без датчика положения, команды: открыть, закрыть.
Да совсем забыл сказать, там ещё при изменении направления вращения электропривода(направления хода регулятора) добавляется в длительность первого импульса время выборки люфта, если он есть, что компенсирует люфт исполнительного механизма!
liga_blunt
22.10.2018, 23:17
Файлик во вложении не открывается
Сергей0308
22.10.2018, 23:31
Файлик во вложении не открывается
Если это на мой счёт: обновите ОЛ до последней версии на данный момент!
39401
liga_blunt
22.10.2018, 23:41
У меня вот что стоит39402
Да с последней работает
Сергей0308
22.10.2018, 23:49
У меня вот что стоит39402
Ну не знаю, тогда, наверно, откатите до последней актуальной версии, у Вас наверно какая-то бета версия стоит?! Та версия ОЛ, что у меня всё прекрасно открывает!
liga_blunt
22.10.2018, 23:50
Спасибо откатил
Sp[ai]der
23.10.2018, 06:45
Вот если интересно регулятор делал для поддержания уровня воды! У Вас, если правильно понял, главная проблема в перерегулировании, так вот мой регулятор как раз не даёт сильно перерегулировать, пусть, в случае резкого сильного возмущения, значение дольше будет до уставки добираться, зато без большого перерегулирования, ну и ресурс клапанов бережётся!
39400
Без датчика положения, команды: открыть, закрыть.
Да совсем забыл сказать, там ещё при изменении направления вращения электропривода(направления хода регулятора) добавляется в длительность первого импульса время выборки люфта, если он есть, что компенсирует люфт исполнительного механизма!
Проблема, да, в перерегулировании вниз. Вверх то как раз все нормально.
выход регулятора подаем на ШИМ, у которого два выхода: больше, меньше
Sp[ai]der
13.11.2018, 19:54
Я же говорю про конкретный макрос. И он так регулирует странно - вопрос почему?
Alevlaka
27.07.2023, 10:06
кажется я нашёл то что искал спасибо авторам. Сейчас проверяю вроде что надо.
Здравствуйте. Извиняюсь. Где вы это нашли? Где взять описание работы и что в каких диапазонах и единицах задается?
Вот если интересно регулятор делал для поддержания уровня воды! У Вас, если правильно понял, главная проблема в перерегулировании, так вот мой регулятор как раз не даёт сильно перерегулировать, пусть, в случае резкого сильного возмущения, значение дольше будет до уставки добираться, зато без большого перерегулирования, ну и ресурс клапанов бережётся!
39400
Без датчика положения, команды: открыть, закрыть.
Да совсем забыл сказать, там ещё при изменении направления вращения электропривода(направления хода регулятора) добавляется в длительность первого импульса время выборки люфта, если он есть, что компенсирует люфт исполнительного механизма!
О! Я смотрю из закромов чудесный регулятор ты достал!!! Как он меня тогда выручил.
почитайте всю тему там как раз про отопление
https://owen.ru/forum/showthread.php?t=34012
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot