ПИД-регулятор |
|
|
|
15.7.2015, 18:35
|
Группа: Участники форума
Сообщений: 241
Регистрация: 3.9.2007
Из: СПб
Пользователь №: 11054

|
Доброго времени суток! Хочу задать один вопрос. Может вопрос и глупый, но просьба сразу не кидаться помидорами. Вопрос по ПИД-ам. Работая с контроллерами компании Siemens привык к тому, что ПИД-регулятор имеет одно направление действия. Только нагрев или только охлаждение. Соответсвенно, один контур и один регулятор. В данный момент применяем контроллеры Carel. В 1-tool ПИД-регуляторы имеют 2 направления воздействия: - значение выхода "-" нагрев - значение "+" охлаждение. Соответсвенно, на один регулятор можно повесить и контур охлаждения и контур нагрева.
Проблема в том, что при наличии только одного контура регулирования (например нагрев), регулятор при определенных условиях может уйти в другую сторону и понадобится дополнительное время на возвращение в нормальное значение. Заметил такое при симуляции регулятора Т обратной воды. Происходило запаздывание управляющего воздействия по причине, описанной выше.
Вобщем, хотелось бы понять, кто как с этим живёт. Или может я один этим заморачиваюсь???
|
|
|
|
|
15.7.2015, 18:52
|
МОДЕРАТОР
Группа: Модераторы
Сообщений: 10893
Регистрация: 3.7.2004
Пользователь №: 32

|
наверное надо сделать кактотак: (outPID + 1)/2
|
|
|
|
|
16.7.2015, 9:53
|
Группа: Участники форума
Сообщений: 241
Регистрация: 3.9.2007
Из: СПб
Пользователь №: 11054

|
А можно как-нибудь по-развернутей.
Сообщение отредактировал begem - 16.7.2015, 9:54
|
|
|
|
|
16.7.2015, 10:57
|
Группа: Участники форума
Сообщений: 78
Регистрация: 6.6.2008
Из: Киев
Пользователь №: 19522

|
Что ж тут разворачивать: диапазон [-1...1] сдвинуть на единицу, получится диапазон [0...2], поделить на 2 будет [0...1] Ну или умножить это всё на 100 если выход не 0...1 а 0...100
|
|
|
|
|
16.7.2015, 11:30
|
Группа: Участники форума
Сообщений: 241
Регистрация: 3.9.2007
Из: СПб
Пользователь №: 11054

|
Об этом я думал. У меня выход ПИД-а (-1000 +1000). Получится так, что ПИД начнет срабатывать заранее. И величину можно регулировать. Спасибо. Буду делать так.
|
|
|
|
|
17.7.2015, 8:06
|
МОДЕРАТОР
Группа: Модераторы
Сообщений: 10893
Регистрация: 3.7.2004
Пользователь №: 32

|
почему заранее? наборот, не будет опаздывать. т.е. будет происходить вовремя.
|
|
|
|
|
28.5.2018, 14:13
|
Группа: Участники форума
Сообщений: 67
Регистрация: 12.6.2017
Из: Минск
Пользователь №: 323024

|
Пример использования панели оператора Weintek CMT 3151 с программируемым логическим контроллером Siemens S7-1200? настройка PID регулятора: euroec.by/news/article/70
|
|
|
|
|
28.5.2018, 19:17
|
Группа: Участники форума
Сообщений: 3050
Регистрация: 30.9.2010
Из: Иркутск
Пользователь №: 74376

|
Цитата(Blackout @ 16.7.2015, 11:57)  Что ж тут разворачивать: диапазон [-1...1] сдвинуть на единицу, получится диапазон [0...2], поделить на 2 будет [0...1] Ну или умножить это всё на 100 если выход не 0...1 а 0...100 А с 50% не будет начинаться? У шнайдера в пидах ксенты для этого предустановленные начальные значения (PID Mode, кто знает) есть.
Сообщение отредактировал kosmos440o - 28.5.2018, 19:20
|
|
|
|
|
7.6.2018, 9:13
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
На Pixel зависает ПИД регулятор, скорее всего проблема в кривых руках, но как перехитрить природу и трансплантировать то, что растёт не из того места в верхнюю часть туловища пока понимание отсутствует.
Контроллер управляет по модбасу ПЧ, обратная связь тоже по модбасу от датчика температуры. Пока уровень сигнала на выходе ПИДа больше нуля - всё работает, при достижение нулевого значения (через 1-2 минуты) ПИД перестаёт реагировать на показания датчика и продолжает держать на выходе ноль. Если же датчик успевает "побеспокоить" ПИД в течение примерно 1-2 минут (ближе к 1, чем 2), то зависания не происходит. После сброса питания всё опять работает...
Сталкивался кто-нибудь уже с такой проблемой? Как выпрямить, то, что выросло кривым образом?
|
|
|
|
|
7.6.2018, 10:35
|
Двойных полосок злой фанат!
Группа: Участники форума
Сообщений: 3630
Регистрация: 8.12.2006
Из: СПб
Пользователь №: 5099

|
Цитата(Сергей А. Ефремов @ 7.6.2018, 9:13)  На Pixel зависает ПИД регулятор, скорее всего проблема в кривых руках, но как перехитрить природу и трансплантировать то, что растёт не из того места в верхнюю часть туловища пока понимание отсутствует.
Контроллер управляет по модбасу ПЧ, обратная связь тоже по модбасу от датчика температуры. Пока уровень сигнала на выходе ПИДа больше нуля - всё работает, при достижение нулевого значения (через 1-2 минуты) ПИД перестаёт реагировать на показания датчика и продолжает держать на выходе ноль. Если же датчик успевает "побеспокоить" ПИД в течение примерно 1-2 минут (ближе к 1, чем 2), то зависания не происходит. После сброса питания всё опять работает...
Сталкивался кто-нибудь уже с такой проблемой? Как выпрямить, то, что выросло кривым образом? Какие коэффициенты регулятора и на каких перепадах температуры работаете? Какой именно регулятор используете? На форуме у них спрашивали?
Сообщение отредактировал Ashihara - 7.6.2018, 10:35
|
|
|
|
|
7.6.2018, 11:34
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
Цитата(Ashihara @ 7.6.2018, 10:35)  Какие коэффициенты регулятора и на каких перепадах температуры работаете? Какой именно регулятор используете?
На форуме у них спрашивали? На форуме не спрашивали, пид из конструктора, д=0, и=70, п=-1, уставка 24, нагреваем хоть до 40 - 0 эмоций.
|
|
|
|
Гость_crm00168_*
|
7.6.2018, 11:42
|
Guest Forum

|
уставка п = (минус) 1 ?
|
|
|
|
|
7.6.2018, 11:50
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
Цитата(crm00168 @ 7.6.2018, 11:42)  уставка п = (минус) 1 ? Уставка 24С, коэффициент пропорциональности Р = минус 1 ...
|
|
|
|
Гость_crm00168_*
|
7.6.2018, 15:31
|
Guest Forum

|
Минус 1 по моему нет такого коэффициента в конструкторском макросе
|
|
|
|
|
7.6.2018, 17:57
|
Группа: Участники форума
Сообщений: 1154
Регистрация: 25.8.2010
Из: Одесса
Пользователь №: 69560

|
Так и должно быть ноль эмоций при Кр минус один. Чего же вы хотели? Правда, это еще малеха зависит от Ки... Впрочем, и от организации ПИД чуть-чуть... Если организация дурацкая - и результат дурацкий.
Сообщение отредактировал Alexander_I - 7.6.2018, 17:59
|
|
|
|
|
7.6.2018, 18:39
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
Ну если коэф. положительное число, то пид "нагреватель", если отрицательное, то "холодильник". А как ещё то по-другому?
Коэффициент пропорциональности - Р=-1, время интегрирования I=70с, D=0
|
|
|
|
|
7.6.2018, 18:50
|
Группа: Участники форума
Сообщений: 1154
Регистрация: 25.8.2010
Из: Одесса
Пользователь №: 69560

|
Если так, то никак. Знчит все зависит от программы ПИД. Если программа дурацкая - результат будет аналогичный. Лучше организуйте свой ПИД - это не так сложно.
|
|
|
|
|
7.6.2018, 19:09
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
Цитата(Alexander_I @ 7.6.2018, 18:50)  Если так, то никак. Знчит все зависит от программы ПИД. Если программа дурацкая - результат будет аналогичный. Лучше организуйте свой ПИД - это не так сложно. Мы грешим на модбас, потому что, если сбросить питание, то всё начинает работать ровно до того момента пока на выходе пида не будет ноль в течение одной минуты, тогда пид зависает. Может таймауты какие-нибудь надо поднастроить?
|
|
|
|
|
7.6.2018, 19:27
|
МОДЕРАТОР
Группа: Модераторы
Сообщений: 10893
Регистрация: 3.7.2004
Пользователь №: 32

|
у конструкторского пида есть косяк, он плохо ограничивает ситуацию U вне пределов и I вне пределов. надо допиливать напильником. можете попробовать попилить мой, он есть на их форуме.
плюс их пид очень плохо обруливает изменение уставки на ходу и изменение остальных коэффициентов. т.к. нормировка проведена только по выходу
ну и последнее их пид имеет общий множитель на всю сумму. а это косяк-косяк.
|
|
|
|
|
7.6.2018, 20:48
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
Я к сожалению не "программист", и как Анастасия Волочкова типа функционирую, но вааще "не отдупляю". "Пилит" паренёк-"ардуинщик", который до этого с ПЛК дела не имел. Модбас он "победил" достаточно бодро, а косяк с пидом заметили почти случайно. В мои компетенции входит озвучивать логику процесса, и в принципе для меня не трудно описать ПИ-регулятор на триггерных блоках, но Пиксель достался дико бэушным, и походу он к тому же жестко кастрированный, есть опасение, что места может не хватить даже на базовые хотелки. Может есть какинить простые "костыли", чтоб не питанием его ребутать каждый раз, а программно?
|
|
|
|
Гость_crm00168_*
|
7.6.2018, 21:30
|
Guest Forum

|
По всей видимости программа не доработана, трясите программиста, коэффициент (-1) в конструкторском макросе - сюр. Напишите в форум Сигнетикса.
|
|
|
|
|
7.6.2018, 22:16
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
Коэффициент задаём мы сами, я сказал программисту задать 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_*
|
7.6.2018, 22:51
|
Guest Forum

|
По всем вопросам обращайтесь к программисту.
Сообщение отредактировал crm00168 - 7.6.2018, 22:53
|
|
|
|
|
8.6.2018, 0:11
|
Группа: Участники форума
Сообщений: 3050
Регистрация: 30.9.2010
Из: Иркутск
Пользователь №: 74376

|
Это просто уход интегральной суммы ниже 0 до максимально отрицательного значения, где, возможно, она замирает. Попробуйте интеграл поменьше сделать, а П - побольше
Сообщение отредактировал kosmos440o - 8.6.2018, 0:21
|
|
|
|
|
8.6.2018, 5:53
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
Цитата(kosmos440o @ 8.6.2018, 0:11)  Это просто уход интегральной суммы ниже 0 до максимально отрицательного значения, где, возможно, она замирает. Попробуйте интеграл поменьше сделать, а П - побольше П - "побольше"... , в случае с Пикселевским пидом пропорциональность, заданная в виде коэффициента Р=2, будет меньше в абсолютном выражении, чем Р=1 или Р=0,5 например. Это же коэффициент П, а не сам П ... и чем больше коэффициент пропорциональности, тем меньше сама пропорциональная составляющая. Поэтому я не очень понимаю что вы в действительности имеете в виду под "сделать П побольше". Получается что уровень управляющего сигнала 0, а сам ПИД валяет, наращивает сумму до бесконечности что-ли? Бред какой-то...
|
|
|
|
Гость_crm00168_*
|
8.6.2018, 7:54
|
Guest Forum

|
Цитата(Сергей А. Ефремов @ 8.6.2018, 6:53)  ... и чем больше коэффициент пропорциональности, тем меньше сама пропорциональная составляющая. Поэтому я не очень понимаю что вы в действительности имеете в виду под "сделать П побольше". как раз таки наоборот, П это скорее коэфф. усиления ................. а почему у Вас П = -1, а И положительное ?, тогда по логике И тоже над сделать с минусом.
|
|
|
|
|
8.6.2018, 9:39
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
Цитата(crm00168 @ 8.6.2018, 7:54)  как раз таки наоборот, П это скорее коэфф. усиления ................. а почему у Вас П = -1, а И положительное ?, тогда по логике И тоже над сделать с минусом. И в секундах, а П типа "коэффициент усиления". Если бы была галочка выбора типа регулирования "нагреватель" или "холодильник", то и коэффициент был бы всегда положительный, а так как тип пида задаётся через знак коэффициента, который по сути представляет из себя отношение числа 100 (? хз от куда оно берётся) к дельте условного(!) или реального(!) нагревателя или охладителя, выраженной в градусах, то и знак=тип. В случае с "реальным" нагревателем, если мощность, выраженна через перепад температур на входе и на выходе при расчётном расходе составляет 60С, то К=100/60=1,7 Если речь идёт о других "пациентах" (влажности или СО2), то уже хз как считать этот коэффициент, т.к. есть представление только о самой пропорции, а не о её коэффициенте, точне никогда об этом не думал раньше.
|
|
|
|
Гость_crm00168_*
|
8.6.2018, 9:51
|
Guest Forum

|
В макросе конструктора коэф. П -коэф. усиления, т.е. чем он больше , тем большее оказывает воздействие. Коэф. И (сек), наоборот , чем он больше , тем меньшее воздействие. Для водяного и электрического калорифера типично ставлю по умолчанию П=20, и=180, доп. настроек обычно не требуется. ........... Насколько понимаю ваша функция - руководитель, зачем лезть в такие подробности , непонятно. есть программист. пусть и делает что требуется.
Сообщение отредактировал crm00168 - 8.6.2018, 9:55
|
|
|
|
|
8.6.2018, 10:02
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
Коэффициент, лично для меня, - это загадка. Гороздо понятнее иметь дело с реальными величинами, допустим если 100% мощности обеспечивает дельту 60С, то 50% обеспечит 30С - это и есть пропорция, а как к этой простой и понятной даже ребёнку логике прикрутить какой-то абсолютно не понятный коэффициент - это абсолютно не понятно. Но в целом меня это волнует очень мало, гораздо больше мне интересно почему зависает процесс регулирования и как это можно минимальными усилиями исправить.
|
|
|
|
|
8.6.2018, 10:36
|
Группа: Участники форума
Сообщений: 2962
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204

|
Программисту надо ТЗ на логику и к ней ещё конкретные настройки: коэффициенты, уставки, интервалы и всё остальное. Если ему этого всего не предоставить, то сам он всё это не расчитает ни в жись, а сделает только рыбу программы и отчалит "пилить" дальше свою ардуйню. На счёт П=20 - это больше похоже на так называемую "зону пропорциональности", чем на "коэффициент усиления". Но, повторюсь ещё раз, с коэффициентами нет вопросов, есть вопрос почему он может целый день работать, а как пропадает потребность в регулировании, то почти сразу зависает? Цитата(crm00168 @ 8.6.2018, 9:51)  В макросе конструктора коэф. П -коэф. усиления, т.е. чем он больше , тем большее оказывает воздействие. Коэф. И (сек), наоборот , чем он больше , тем меньшее воздействие. Для водяного и электрического калорифера типично ставлю по умолчанию П=20, и=180, доп. настроек обычно не требуется. ........... Насколько понимаю ваша функция - руководитель, зачем лезть в такие подробности , непонятно. есть программист. пусть и делает что требуется. А если у вас, как у нас, не нагреватель, а охладитель?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
Реклама
ООО «Арктика групп» ИНН: 7713634274
ООО "Русич" ИНН 9721068883 / ЕРИД 2VtzqvMjLF8
ООО «УНИСПЛИТ» ИНН: 6453155081 erid:2VtzqxXgvJi
Реклама: ООО «СибСтронг» | ИНН 6670013662 | ERID: 2VtzqwyM2dc
Последние сообщения Форума
|