Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ПИД-регулятор
Диалог специалистов АВОК > ОБЩИЙ ФОРУМ > Автоматизация систем
begem
Доброго времени суток!
Хочу задать один вопрос. Может вопрос и глупый, но просьба сразу не кидаться помидорами.
Вопрос по ПИД-ам.
Работая с контроллерами компании Siemens привык к тому, что ПИД-регулятор имеет одно направление действия. Только нагрев или только охлаждение. Соответсвенно, один контур и один регулятор.
В данный момент применяем контроллеры Carel. В 1-tool ПИД-регуляторы имеют 2 направления воздействия:
- значение выхода "-" нагрев
- значение "+" охлаждение.
Соответсвенно, на один регулятор можно повесить и контур охлаждения и контур нагрева.

Проблема в том, что при наличии только одного контура регулирования (например нагрев), регулятор при определенных условиях может уйти в другую сторону и понадобится дополнительное время на возвращение в нормальное значение.
Заметил такое при симуляции регулятора Т обратной воды. Происходило запаздывание управляющего воздействия по причине, описанной выше.

Вобщем, хотелось бы понять, кто как с этим живёт. Или может я один этим заморачиваюсь???
LordN
наверное надо сделать кактотак:
(outPID + 1)/2
smile.gif
begem
А можно как-нибудь по-развернутей. mellow.gif
Blackout
Что ж тут разворачивать: диапазон [-1...1] сдвинуть на единицу, получится диапазон [0...2], поделить на 2 будет [0...1]
Ну или умножить это всё на 100 если выход не 0...1 а 0...100
begem
Об этом я думал. У меня выход ПИД-а (-1000 +1000). Получится так, что ПИД начнет срабатывать заранее. И величину можно регулировать.
Спасибо. Буду делать так.
LordN
почему заранее? наборот, не будет опаздывать. т.е. будет происходить вовремя.
drozdik500
Пример использования панели оператора Weintek CMT 3151 с программируемым логическим контроллером Siemens S7-1200? настройка PID регулятора: euroec.by/news/article/70
kosmos440o
Цитата(Blackout @ 16.7.2015, 11:57) *
Что ж тут разворачивать: диапазон [-1...1] сдвинуть на единицу, получится диапазон [0...2], поделить на 2 будет [0...1]
Ну или умножить это всё на 100 если выход не 0...1 а 0...100

А с 50% не будет начинаться? У шнайдера в пидах ксенты для этого предустановленные начальные значения (PID Mode, кто знает) есть.
Сергей А. Ефремов
На Pixel зависает ПИД регулятор, скорее всего проблема в кривых руках, но как перехитрить природу и трансплантировать то, что растёт не из того места в верхнюю часть туловища пока понимание отсутствует.

Контроллер управляет по модбасу ПЧ, обратная связь тоже по модбасу от датчика температуры. Пока уровень сигнала на выходе ПИДа больше нуля - всё работает, при достижение нулевого значения (через 1-2 минуты) ПИД перестаёт реагировать на показания датчика и продолжает держать на выходе ноль. Если же датчик успевает "побеспокоить" ПИД в течение примерно 1-2 минут (ближе к 1, чем 2), то зависания не происходит. После сброса питания всё опять работает...

Сталкивался кто-нибудь уже с такой проблемой? Как выпрямить, то, что выросло кривым образом?
Ashihara
Цитата(Сергей А. Ефремов @ 7.6.2018, 9:13) *
На Pixel зависает ПИД регулятор, скорее всего проблема в кривых руках, но как перехитрить природу и трансплантировать то, что растёт не из того места в верхнюю часть туловища пока понимание отсутствует.

Контроллер управляет по модбасу ПЧ, обратная связь тоже по модбасу от датчика температуры. Пока уровень сигнала на выходе ПИДа больше нуля - всё работает, при достижение нулевого значения (через 1-2 минуты) ПИД перестаёт реагировать на показания датчика и продолжает держать на выходе ноль. Если же датчик успевает "побеспокоить" ПИД в течение примерно 1-2 минут (ближе к 1, чем 2), то зависания не происходит. После сброса питания всё опять работает...

Сталкивался кто-нибудь уже с такой проблемой? Как выпрямить, то, что выросло кривым образом?


Какие коэффициенты регулятора и на каких перепадах температуры работаете? Какой именно регулятор используете?

На форуме у них спрашивали?
Сергей А. Ефремов
Цитата(Ashihara @ 7.6.2018, 10:35) *
Какие коэффициенты регулятора и на каких перепадах температуры работаете? Какой именно регулятор используете?

На форуме у них спрашивали?



На форуме не спрашивали, пид из конструктора, д=0, и=70, п=-1, уставка 24, нагреваем хоть до 40 - 0 эмоций.
crm00168
уставка п = (минус) 1 ?
Сергей А. Ефремов
Цитата(crm00168 @ 7.6.2018, 11:42) *
уставка п = (минус) 1 ?

Уставка 24С, коэффициент пропорциональности Р = минус 1 ...
crm00168
Минус 1
по моему нет такого коэффициента в конструкторском макросе
Alexander_I
Так и должно быть ноль эмоций при Кр минус один. Чего же вы хотели? Правда, это еще малеха зависит от Ки...
Впрочем, и от организации ПИД чуть-чуть... Если организация дурацкая - и результат дурацкий.
Сергей А. Ефремов
Ну если коэф. положительное число, то пид "нагреватель", если отрицательное, то "холодильник". А как ещё то по-другому?

Коэффициент пропорциональности - Р=-1, время интегрирования I=70с, D=0
Alexander_I
Если так, то никак. Знчит все зависит от программы ПИД. Если программа дурацкая - результат будет аналогичный. Лучше организуйте свой ПИД - это не так сложно.
Сергей А. Ефремов
Цитата(Alexander_I @ 7.6.2018, 18:50) *
Если так, то никак. Знчит все зависит от программы ПИД. Если программа дурацкая - результат будет аналогичный. Лучше организуйте свой ПИД - это не так сложно.

Мы грешим на модбас, потому что, если сбросить питание, то всё начинает работать ровно до того момента пока на выходе пида не будет ноль в течение одной минуты, тогда пид зависает. Может таймауты какие-нибудь надо поднастроить?
LordN
у конструкторского пида есть косяк, он плохо ограничивает ситуацию U вне пределов и I вне пределов. надо допиливать напильником.
можете попробовать попилить мой, он есть на их форуме.

плюс их пид очень плохо обруливает изменение уставки на ходу и изменение остальных коэффициентов. т.к. нормировка проведена только по выходу

ну и последнее их пид имеет общий множитель на всю сумму. а это косяк-косяк.
Сергей А. Ефремов
Я к сожалению не "программист", и как Анастасия Волочкова типа функционирую, но вааще "не отдупляю". "Пилит" паренёк-"ардуинщик", который до этого с ПЛК дела не имел. Модбас он "победил" достаточно бодро, а косяк с пидом заметили почти случайно. В мои компетенции входит озвучивать логику процесса, и в принципе для меня не трудно описать ПИ-регулятор на триггерных блоках, но Пиксель достался дико бэушным, и походу он к тому же жестко кастрированный, есть опасение, что места может не хватить даже на базовые хотелки. Может есть какинить простые "костыли", чтоб не питанием его ребутать каждый раз, а программно?
crm00168
По всей видимости программа не доработана, трясите программиста, коэффициент (-1) в конструкторском макросе - сюр.
Напишите в форум Сигнетикса.
Сергей А. Ефремов
Коэффициент задаём мы сами, я сказал программисту задать P = -1 - он задал, с коэффициентом имхо всё нормально, не нормально что ПИД зависает на нуле.

Конкретная ситуация:
1. включили питание
2. уставка 24С
3. показания с датчика 25С
4. ПИД отрабатывает режим "охлаждение" - на выходе появился управляющий сигнал
5. ПИД работает на установившемся уровне управляющего сигнала, показания с датчика = уставка
6. ситуация изменилась - показания с датчика 23С
7. управляющий сигнал = 0
8. прошло немного времени, ситуация изменилась, показания с датчика 35С
9. ПИД не хочет охлаждать, уровень управляющего сигнала = 0
10. Сбрасываем питание контроллера
11. включили питание
12. уставка 24С
13. показания 23С
14. пид отдыхает - 23 меньше 24
15. показания 25С
16. пид охлаждает
17. ...
25. пид завис на нуле
26. сбросили по питанию - пид заработал...
crm00168
По всем вопросам обращайтесь к программисту.
kosmos440o
Это просто уход интегральной суммы ниже 0 до максимально отрицательного значения, где, возможно, она замирает. Попробуйте интеграл поменьше сделать, а П - побольше
Сергей А. Ефремов
Цитата(kosmos440o @ 8.6.2018, 0:11) *
Это просто уход интегральной суммы ниже 0 до максимально отрицательного значения, где, возможно, она замирает. Попробуйте интеграл поменьше сделать, а П - побольше

П - "побольше"... , в случае с Пикселевским пидом пропорциональность, заданная в виде коэффициента Р=2, будет меньше в абсолютном выражении, чем Р=1 или Р=0,5 например. Это же коэффициент П, а не сам П ... и чем больше коэффициент пропорциональности, тем меньше сама пропорциональная составляющая. Поэтому я не очень понимаю что вы в действительности имеете в виду под "сделать П побольше".

Получается что уровень управляющего сигнала 0, а сам ПИД валяет, наращивает сумму до бесконечности что-ли? Бред какой-то...
crm00168
Цитата(Сергей А. Ефремов @ 8.6.2018, 6:53) *
... и чем больше коэффициент пропорциональности, тем меньше сама пропорциональная составляющая. Поэтому я не очень понимаю что вы в действительности имеете в виду под "сделать П побольше".

как раз таки наоборот, П это скорее коэфф. усиления
.................
а почему у Вас П = -1, а И положительное ?, тогда по логике И тоже над сделать с минусом.
Сергей А. Ефремов
Цитата(crm00168 @ 8.6.2018, 7:54) *
как раз таки наоборот, П это скорее коэфф. усиления
.................
а почему у Вас П = -1, а И положительное ?, тогда по логике И тоже над сделать с минусом.

И в секундах, а П типа "коэффициент усиления". Если бы была галочка выбора типа регулирования "нагреватель" или "холодильник", то и коэффициент был бы всегда положительный, а так как тип пида задаётся через знак коэффициента, который по сути представляет из себя отношение числа 100 (? хз от куда оно берётся) к дельте условного(!) или реального(!) нагревателя или охладителя, выраженной в градусах, то и знак=тип. В случае с "реальным" нагревателем, если мощность, выраженна через перепад температур на входе и на выходе при расчётном расходе составляет 60С, то К=100/60=1,7

Если речь идёт о других "пациентах" (влажности или СО2), то уже хз как считать этот коэффициент, т.к. есть представление только о самой пропорции, а не о её коэффициенте, точне никогда об этом не думал раньше.
crm00168
В макросе конструктора коэф. П -коэф. усиления, т.е. чем он больше , тем большее оказывает воздействие. Коэф. И (сек), наоборот , чем он больше , тем меньшее воздействие. Для водяного и электрического калорифера типично ставлю по умолчанию П=20, и=180, доп. настроек обычно не требуется.
...........
Насколько понимаю ваша функция - руководитель, зачем лезть в такие подробности , непонятно. есть программист. пусть и делает что требуется.
Сергей А. Ефремов
Коэффициент, лично для меня, - это загадка. Гороздо понятнее иметь дело с реальными величинами, допустим если 100% мощности обеспечивает дельту 60С, то 50% обеспечит 30С - это и есть пропорция, а как к этой простой и понятной даже ребёнку логике прикрутить какой-то абсолютно не понятный коэффициент - это абсолютно не понятно. Но в целом меня это волнует очень мало, гораздо больше мне интересно почему зависает процесс регулирования и как это можно минимальными усилиями исправить.
Сергей А. Ефремов
Программисту надо ТЗ на логику и к ней ещё конкретные настройки: коэффициенты, уставки, интервалы и всё остальное. Если ему этого всего не предоставить, то сам он всё это не расчитает ни в жись, а сделает только рыбу программы и отчалит "пилить" дальше свою ардуйню.

На счёт П=20 - это больше похоже на так называемую "зону пропорциональности", чем на "коэффициент усиления".

Но, повторюсь ещё раз, с коэффициентами нет вопросов, есть вопрос почему он может целый день работать, а как пропадает потребность в регулировании, то почти сразу зависает?

Цитата(crm00168 @ 8.6.2018, 9:51) *
В макросе конструктора коэф. П -коэф. усиления, т.е. чем он больше , тем большее оказывает воздействие. Коэф. И (сек), наоборот , чем он больше , тем меньшее воздействие. Для водяного и электрического калорифера типично ставлю по умолчанию П=20, и=180, доп. настроек обычно не требуется.
...........
Насколько понимаю ваша функция - руководитель, зачем лезть в такие подробности , непонятно. есть программист. пусть и делает что требуется.

А если у вас, как у нас, не нагреватель, а охладитель?
crm00168
Смотря какой охладитель, вода или фреон
Сергей А. Ефремов
Существует два типа регулирования "нагреватель" и "холодильник". Где в конструкторском макросе выбор между этими двумя типами одного и того же процесса?
crm00168
На форуме Сигнетикса что то такое было уже.
kosmos440o
Цитата(Сергей А. Ефремов @ 8.6.2018, 6:53) *
Получается что уровень управляющего сигнала 0, а сам ПИД валяет, наращивает сумму до бесконечности что-ли? Бред какой-то...

Это как разработчик пида сделает ограничение. Забудет - И уйдёт в минус миллионы, тогда будете ждать возвращения до ишачьей пасхи.
А если математика целочисленная, что для 8биток весьма актуально, то обратно не выйдет вообще. Я много с пидами игрался в своё время. И то, если в моём контроллере слишком большое И (>700) поставить, бывает, замирает. Это ещё от объекта зависит.
Сергей А. Ефремов
Цитата(Ashihara @ 8.6.2018, 15:21) *

Не расчитан, но работает... Большое спасибо за информацию! Реально не знал такую фишку, и никогда в жизни не додумался бы, что можно поменять уставку с обратной связью местами... )) Это меня позабавило... ))

Вчера с ребёнком пытались хатнуть программку для делания из много фотографий видеоролика по типу коллажа, или, если сильно постараться, то и мультфильм можно нафотографировать, например используя лего человечков. Бесплатно можно только 30 секунд и одну пятую картинки при этом закрывает рекламный банер. Хакали, хакали - ни в какую, ребёнок расстроился, плюнули. Полезли скачать какую нибудь игрушку, планшет пишет, что не достаточно памяти, поскребли по сусекам заменили 4гига на 16, и опа, приятный бонус, хакнутая прога как бы приняла 14$ абонетской платы и благополучно разлочилась в премиум режим. Счастью не было границ. Вот что значит пит-стоп смена резины. ))
kosmos440o
Чо за прога? Тоже надо детей чем-нибудь полезным занять, кроме огорода. Сорри за оффтоп.
Сергей А. Ефремов
Цитата(kosmos440o @ 8.6.2018, 16:48) *
Чо за прога? Тоже надо детей чем-нибудь полезным занять, кроме огорода. Сорри за оффтоп.

)) Малой сам скачал, меня привлекли только к хакерским задачам, она называется что-то типа видеоскумпа (videoscoompa), а хакаем всё подряд прогой "лакипатчер" (его лучше качать на офиц. сайте - лакипатчер.ком). Если бы не патчер, я б не знаю как б мы жили без него, вымагатели денег одолели не на шутку, а игры скачал - не понравилась - удалил, скачал другую. Я ребёнка учу так, спать ложишься говори: спасибо Китайской Народной Республике и программе лакипатчер за наше счастливое детство. (шучу конечно)
Сергей А. Ефремов
Цитата(kosmos440o @ 8.6.2018, 16:48) *
Чо за прога? Тоже надо детей чем-нибудь полезным занять, кроме огорода. Сорри за оффтоп.

Сергей А. Ефремов
То же сори за офтоп.

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

Просил узнать, если есть возможность, какой сенсор подойдёт для датчика скорости, и на сколько критично, если не делать гальваническую развязку RS485.
kosmos440o
Цитата(Сергей А. Ефремов @ 8.6.2018, 19:28) *
То же сори за офтоп.

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

Просил узнать, если есть возможность, какой сенсор подойдёт для датчика скорости, и на сколько критично, если не делать гальваническую развязку RS485.

Датчик скорости не делал, но наиболее точные и безгеморные температурные анемометры. пользуюсь типа такими:
https://www.smarthof.ru/catalog/product/ss-...k-klgf-2/25510/

По гальванической развязке - без неё очень желательным становится третий провод, и гальваническая развязка по питанию все равно должна быть. Если будет бах, то он выжгет всё на линии. У меня пара Адамов в столе валяется таких, простых, сгоревших. Меркурии несколько штук на объекте стоят, со сгоревшими интерфейсами. Не дай боже включить такое в одну линию с частотником FC51 - убъёт всё или связь нарушит. На длинных линиях бах весьма вероятен. Если цепь датчиков соединить, и их питание 12-24В пустить по этому же кабелю, то нормально. Я лично контроллеры все делаю с развязкой, датчики частично без развязки. С моим оборудованием за несколько лет этих именно проблем не было.
Сергей А. Ефремов
Я как обычно спрашиваю то, о чём сам не понимаю...

Он закладывает 4 клеммы: питание + АВ, ещё говорил, что есть микросхема с гальванической развязкой (она дороже) и есть просто простая микросхема, без развязки (она дешёвая), но развязку к ней можно при желании допаять отдельно.

Я советую ставить без развязки (ему уж очень не хочется перезакладываться на не основных моментах - по 100 рублей с тысячи изделий - уже 100 т.р., сами понимаете), а предусмотреть возможность подпаять развязку под требования заказчика.

RS485 под их задачи как бы и не нужен вовсе, просто хотят сделать более универсальное решение с поддержкой протокола модбас, мало ли как бывает... Сегодня не надо, а завтра вдруг надо... , намудрят какой-нибудь ПИД на каком-нибудь СПК107 и будут думать как впихнуть невпихуемое, а так... раз и нет проблем у тётушки, всё предусмотрено зарание мудрым руководством партии, мёртвые не потеют...
Ashihara
Цитата(Сергей А. Ефремов @ 8.6.2018, 17:18) *
)) Малой сам скачал, меня привлекли только к хакерским задачам, она называется что-то типа видеоскумпа (videoscoompa), а хакаем всё подряд прогой "лакипатчер" (его лучше качать на офиц. сайте - лакипатчер.ком). Если бы не патчер, я б не знаю как б мы жили без него, вымагатели денег одолели не на шутку, а игры скачал - не понравилась - удалил, скачал другую. Я ребёнка учу так, спать ложишься говори: спасибо Китайской Народной Республике и программе лакипатчер за наше счастливое детство. (шучу конечно)


Так есть же операция возврата в магазинах. Прогу без проблем и вопросов лишних можно вернуть в течении суток после покупки. В качестве причины можно что угодно писать, хоть "передумал" или "из описания ожидал другого, а по факту мне не подходит".

Вот через неделю уже трудновато будет вернуть, т.к. ещё доказать нужно, что прога тебе не подошла, а не ты просто решил нахаляву недельку попользоваться.

Халява сладка, конечно, но и разработчиков можно понять. Чем больше пиратство, тем меньше вероятности, что появится те программа, которую "ждал всю жизнь" - материальный стимул должен быть. Представьте, как вы пишете-пишете программу на контроллер, а зак её "хакает" и вы получаете деньги только за одну установку, а не за все 10 тыс, что есть у зака.
Сергей А. Ефремов
Мы прошивку удалили, свой прибор не можем хакнуть... а детские игры у меня душа вообще не болит ни разу. На ютубе пацанам по 10-12 лет рассказывают как и что взламывается, у моего просто запросы на 12, а ума на 7, приходится помогать немного. А так вон родственник 14 лет пацану всё тоже самое: родители денег на гугл не дают, приходится патчить... Вот объясните ему, что это не хорошо с точки зрения разработчиков...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.