Реклама / ООО «ИЗОЛПРОЕКТ» / ИНН: 7725566484 | ERID: 2VtzqucPabn
IPB IPB
Проектирование, монтаж, наладка, сервис

Здравствуйте, гость ( Вход | Регистрация )

- Рекомендации АВОК 5.5.1-2023
«Системы противодымной вентиляции жилых и общественный зданий»

- Рекомендации АВОК 7.8.3-2023
«Проектирование инженерных систем лабораторий»

- Рекомендации АВОК 7.10-2023
«Здания жилые и общественные. Защита от шума и вибрации инженерного оборудования»

АВОК в соц. сетях
ИНН: 7714824045
2 страниц V   1 2 >  
Добавить ответ в эту темуОткрыть тему
> ПИД-регулятор
begem
сообщение 15.7.2015, 18:35
Сообщение #1





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



Доброго времени суток!
Хочу задать один вопрос. Может вопрос и глупый, но просьба сразу не кидаться помидорами.
Вопрос по ПИД-ам.
Работая с контроллерами компании Siemens привык к тому, что ПИД-регулятор имеет одно направление действия. Только нагрев или только охлаждение. Соответсвенно, один контур и один регулятор.
В данный момент применяем контроллеры Carel. В 1-tool ПИД-регуляторы имеют 2 направления воздействия:
- значение выхода "-" нагрев
- значение "+" охлаждение.
Соответсвенно, на один регулятор можно повесить и контур охлаждения и контур нагрева.

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

Вобщем, хотелось бы понять, кто как с этим живёт. Или может я один этим заморачиваюсь???
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
LordN
сообщение 15.7.2015, 18:52
Сообщение #2


МОДЕРАТОР


Группа: Модераторы
Сообщений: 10694
Регистрация: 3.7.2004
Пользователь №: 32



наверное надо сделать кактотак:
(outPID + 1)/2
smile.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
begem
сообщение 16.7.2015, 9:53
Сообщение #3





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



А можно как-нибудь по-развернутей. mellow.gif

Сообщение отредактировал begem - 16.7.2015, 9:54
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Blackout
сообщение 16.7.2015, 10:57
Сообщение #4





Группа: Участники форума
Сообщений: 78
Регистрация: 6.6.2008
Из: Киев
Пользователь №: 19522



Что ж тут разворачивать: диапазон [-1...1] сдвинуть на единицу, получится диапазон [0...2], поделить на 2 будет [0...1]
Ну или умножить это всё на 100 если выход не 0...1 а 0...100
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
begem
сообщение 16.7.2015, 11:30
Сообщение #5





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



Об этом я думал. У меня выход ПИД-а (-1000 +1000). Получится так, что ПИД начнет срабатывать заранее. И величину можно регулировать.
Спасибо. Буду делать так.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
LordN
сообщение 17.7.2015, 8:06
Сообщение #6


МОДЕРАТОР


Группа: Модераторы
Сообщений: 10694
Регистрация: 3.7.2004
Пользователь №: 32



почему заранее? наборот, не будет опаздывать. т.е. будет происходить вовремя.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
drozdik500
сообщение 28.5.2018, 14:13
Сообщение #7





Группа: Участники форума
Сообщений: 55
Регистрация: 12.6.2017
Из: Минск
Пользователь №: 323024



Пример использования панели оператора Weintek CMT 3151 с программируемым логическим контроллером Siemens S7-1200? настройка PID регулятора: euroec.by/news/article/70
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kosmos440o
сообщение 28.5.2018, 19:17
Сообщение #8





Группа: Участники форума
Сообщений: 2893
Регистрация: 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
Сообщение #9





Группа: Участники форума
Сообщений: 2940
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204



На Pixel зависает ПИД регулятор, скорее всего проблема в кривых руках, но как перехитрить природу и трансплантировать то, что растёт не из того места в верхнюю часть туловища пока понимание отсутствует.

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

Сталкивался кто-нибудь уже с такой проблемой? Как выпрямить, то, что выросло кривым образом?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Ashihara
сообщение 7.6.2018, 10:35
Сообщение #10


Двойных полосок злой фанат!


Группа: Участники форума
Сообщений: 3541
Регистрация: 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
Сообщение #11





Группа: Участники форума
Сообщений: 2940
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204



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

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



На форуме не спрашивали, пид из конструктора, д=0, и=70, п=-1, уставка 24, нагреваем хоть до 40 - 0 эмоций.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_crm00168_*
сообщение 7.6.2018, 11:42
Сообщение #12





Guest Forum






уставка п = (минус) 1 ?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Сергей А. Ефремо...
сообщение 7.6.2018, 11:50
Сообщение #13





Группа: Участники форума
Сообщений: 2940
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204



Цитата(crm00168 @ 7.6.2018, 11:42) *
уставка п = (минус) 1 ?

Уставка 24С, коэффициент пропорциональности Р = минус 1 ...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_crm00168_*
сообщение 7.6.2018, 15:31
Сообщение #14





Guest Forum






Минус 1
по моему нет такого коэффициента в конструкторском макросе
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Alexander_I
сообщение 7.6.2018, 17:57
Сообщение #15





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



Так и должно быть ноль эмоций при Кр минус один. Чего же вы хотели? Правда, это еще малеха зависит от Ки...
Впрочем, и от организации ПИД чуть-чуть... Если организация дурацкая - и результат дурацкий.

Сообщение отредактировал Alexander_I - 7.6.2018, 17:59
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Сергей А. Ефремо...
сообщение 7.6.2018, 18:39
Сообщение #16





Группа: Участники форума
Сообщений: 2940
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204



Ну если коэф. положительное число, то пид "нагреватель", если отрицательное, то "холодильник". А как ещё то по-другому?

Коэффициент пропорциональности - Р=-1, время интегрирования I=70с, D=0
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Alexander_I
сообщение 7.6.2018, 18:50
Сообщение #17





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



Если так, то никак. Знчит все зависит от программы ПИД. Если программа дурацкая - результат будет аналогичный. Лучше организуйте свой ПИД - это не так сложно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Сергей А. Ефремо...
сообщение 7.6.2018, 19:09
Сообщение #18





Группа: Участники форума
Сообщений: 2940
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204



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

Мы грешим на модбас, потому что, если сбросить питание, то всё начинает работать ровно до того момента пока на выходе пида не будет ноль в течение одной минуты, тогда пид зависает. Может таймауты какие-нибудь надо поднастроить?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
LordN
сообщение 7.6.2018, 19:27
Сообщение #19


МОДЕРАТОР


Группа: Модераторы
Сообщений: 10694
Регистрация: 3.7.2004
Пользователь №: 32



у конструкторского пида есть косяк, он плохо ограничивает ситуацию U вне пределов и I вне пределов. надо допиливать напильником.
можете попробовать попилить мой, он есть на их форуме.

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

ну и последнее их пид имеет общий множитель на всю сумму. а это косяк-косяк.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Сергей А. Ефремо...
сообщение 7.6.2018, 20:48
Сообщение #20





Группа: Участники форума
Сообщений: 2940
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204



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





Guest Forum






По всей видимости программа не доработана, трясите программиста, коэффициент (-1) в конструкторском макросе - сюр.
Напишите в форум Сигнетикса.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Сергей А. Ефремо...
сообщение 7.6.2018, 22:16
Сообщение #22





Группа: Участники форума
Сообщений: 2940
Регистрация: 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
Сообщение #23





Guest Forum






По всем вопросам обращайтесь к программисту.

Сообщение отредактировал crm00168 - 7.6.2018, 22:53
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kosmos440o
сообщение 8.6.2018, 0:11
Сообщение #24





Группа: Участники форума
Сообщений: 2893
Регистрация: 30.9.2010
Из: Иркутск
Пользователь №: 74376



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

Сообщение отредактировал kosmos440o - 8.6.2018, 0:21
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Сергей А. Ефремо...
сообщение 8.6.2018, 5:53
Сообщение #25





Группа: Участники форума
Сообщений: 2940
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204



Цитата(kosmos440o @ 8.6.2018, 0:11) *
Это просто уход интегральной суммы ниже 0 до максимально отрицательного значения, где, возможно, она замирает. Попробуйте интеграл поменьше сделать, а П - побольше

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

Получается что уровень управляющего сигнала 0, а сам ПИД валяет, наращивает сумму до бесконечности что-ли? Бред какой-то...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_crm00168_*
сообщение 8.6.2018, 7:54
Сообщение #26





Guest Forum






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

как раз таки наоборот, П это скорее коэфф. усиления
.................
а почему у Вас П = -1, а И положительное ?, тогда по логике И тоже над сделать с минусом.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Сергей А. Ефремо...
сообщение 8.6.2018, 9:39
Сообщение #27





Группа: Участники форума
Сообщений: 2940
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204



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

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

Если речь идёт о других "пациентах" (влажности или СО2), то уже хз как считать этот коэффициент, т.к. есть представление только о самой пропорции, а не о её коэффициенте, точне никогда об этом не думал раньше.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_crm00168_*
сообщение 8.6.2018, 9:51
Сообщение #28





Guest Forum






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

Сообщение отредактировал crm00168 - 8.6.2018, 9:55
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Сергей А. Ефремо...
сообщение 8.6.2018, 10:02
Сообщение #29





Группа: Участники форума
Сообщений: 2940
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204



Коэффициент, лично для меня, - это загадка. Гороздо понятнее иметь дело с реальными величинами, допустим если 100% мощности обеспечивает дельту 60С, то 50% обеспечит 30С - это и есть пропорция, а как к этой простой и понятной даже ребёнку логике прикрутить какой-то абсолютно не понятный коэффициент - это абсолютно не понятно. Но в целом меня это волнует очень мало, гораздо больше мне интересно почему зависает процесс регулирования и как это можно минимальными усилиями исправить.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Сергей А. Ефремо...
сообщение 8.6.2018, 10:36
Сообщение #30





Группа: Участники форума
Сообщений: 2940
Регистрация: 10.7.2012
Из: Нижний Новгород
Пользователь №: 156204



Программисту надо ТЗ на логику и к ней ещё конкретные настройки: коэффициенты, уставки, интервалы и всё остальное. Если ему этого всего не предоставить, то сам он всё это не расчитает ни в жись, а сделает только рыбу программы и отчалит "пилить" дальше свою ардуйню.

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

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

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

А если у вас, как у нас, не нагреватель, а охладитель?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

2 страниц V   1 2 >
Добавить ответ в эту темуОткрыть тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Реклама
ООО «Арктика групп» ИНН: 7713634274


ООО «УНИСПЛИТ» ИНН: 6453155081 erid:2VtzqvE2vr3

Последние сообщения Форума





Rambler's Top100 Rambler's Top100

RSS Текстовая версия Сейчас: 16.4.2024, 22:04