Доброго времени суток!
Хочу задать один вопрос. Может вопрос и глупый, но просьба сразу не кидаться помидорами.
Вопрос по ПИД-ам.
Работая с контроллерами компании Siemens привык к тому, что ПИД-регулятор имеет одно направление действия. Только нагрев или только охлаждение. Соответсвенно, один контур и один регулятор.
В данный момент применяем контроллеры Carel. В 1-tool ПИД-регуляторы имеют 2 направления воздействия:
- значение выхода "-" нагрев
- значение "+" охлаждение.
Соответсвенно, на один регулятор можно повесить и контур охлаждения и контур нагрева.
Проблема в том, что при наличии только одного контура регулирования (например нагрев), регулятор при определенных условиях может уйти в другую сторону и понадобится дополнительное время на возвращение в нормальное значение.
Заметил такое при симуляции регулятора Т обратной воды. Происходило запаздывание управляющего воздействия по причине, описанной выше.
Вобщем, хотелось бы понять, кто как с этим живёт. Или может я один этим заморачиваюсь???
наверное надо сделать кактотак:
(outPID + 1)/2
А можно как-нибудь по-развернутей.
Blackout
16.7.2015, 10:57
Что ж тут разворачивать: диапазон [-1...1] сдвинуть на единицу, получится диапазон [0...2], поделить на 2 будет [0...1]
Ну или умножить это всё на 100 если выход не 0...1 а 0...100
Об этом я думал. У меня выход ПИД-а (-1000 +1000). Получится так, что ПИД начнет срабатывать заранее. И величину можно регулировать.
Спасибо. Буду делать так.
почему заранее? наборот, не будет опаздывать. т.е. будет происходить вовремя.
drozdik500
28.5.2018, 14:13
Пример использования панели оператора Weintek CMT 3151 с программируемым логическим контроллером Siemens S7-1200? настройка PID регулятора: euroec.by/news/article/70
kosmos440o
28.5.2018, 19:17
Цитата(Blackout @ 16.7.2015, 11:57)

Что ж тут разворачивать: диапазон [-1...1] сдвинуть на единицу, получится диапазон [0...2], поделить на 2 будет [0...1]
Ну или умножить это всё на 100 если выход не 0...1 а 0...100
А с 50% не будет начинаться? У шнайдера в пидах ксенты для этого предустановленные начальные значения (PID Mode, кто знает) есть.
Сергей А. Ефремов
7.6.2018, 9:13
На Pixel зависает ПИД регулятор, скорее всего проблема в кривых руках, но как перехитрить природу и трансплантировать то, что растёт не из того места в верхнюю часть туловища пока понимание отсутствует.
Контроллер управляет по модбасу ПЧ, обратная связь тоже по модбасу от датчика температуры. Пока уровень сигнала на выходе ПИДа больше нуля - всё работает, при достижение нулевого значения (через 1-2 минуты) ПИД перестаёт реагировать на показания датчика и продолжает держать на выходе ноль. Если же датчик успевает "побеспокоить" ПИД в течение примерно 1-2 минут (ближе к 1, чем 2), то зависания не происходит. После сброса питания всё опять работает...
Сталкивался кто-нибудь уже с такой проблемой? Как выпрямить, то, что выросло кривым образом?
Цитата(Сергей А. Ефремов @ 7.6.2018, 9:13)

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

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

уставка п = (минус) 1 ?
Уставка 24С, коэффициент пропорциональности Р = минус 1 ...
Минус 1
по моему нет такого коэффициента в конструкторском макросе
Alexander_I
7.6.2018, 17:57
Так и должно быть ноль эмоций при Кр минус один. Чего же вы хотели? Правда, это еще малеха зависит от Ки...
Впрочем, и от организации ПИД чуть-чуть... Если организация дурацкая - и результат дурацкий.
Сергей А. Ефремов
7.6.2018, 18:39
Ну если коэф. положительное число, то пид "нагреватель", если отрицательное, то "холодильник". А как ещё то по-другому?
Коэффициент пропорциональности - Р=-1, время интегрирования I=70с, D=0
Alexander_I
7.6.2018, 18:50
Если так, то никак. Знчит все зависит от программы ПИД. Если программа дурацкая - результат будет аналогичный. Лучше организуйте свой ПИД - это не так сложно.
Сергей А. Ефремов
7.6.2018, 19:09
Цитата(Alexander_I @ 7.6.2018, 18:50)

Если так, то никак. Знчит все зависит от программы ПИД. Если программа дурацкая - результат будет аналогичный. Лучше организуйте свой ПИД - это не так сложно.
Мы грешим на модбас, потому что, если сбросить питание, то всё начинает работать ровно до того момента пока на выходе пида не будет ноль в течение одной минуты, тогда пид зависает. Может таймауты какие-нибудь надо поднастроить?
у конструкторского пида есть косяк, он плохо ограничивает ситуацию U вне пределов и I вне пределов. надо допиливать напильником.
можете попробовать попилить мой, он есть на их форуме.
плюс их пид очень плохо обруливает изменение уставки на ходу и изменение остальных коэффициентов. т.к. нормировка проведена только по выходу
ну и последнее их пид имеет общий множитель на всю сумму. а это косяк-косяк.
Сергей А. Ефремов
7.6.2018, 20:48
Я к сожалению не "программист", и как Анастасия Волочкова типа функционирую, но вааще "не отдупляю". "Пилит" паренёк-"ардуинщик", который до этого с ПЛК дела не имел. Модбас он "победил" достаточно бодро, а косяк с пидом заметили почти случайно. В мои компетенции входит озвучивать логику процесса, и в принципе для меня не трудно описать ПИ-регулятор на триггерных блоках, но Пиксель достался дико бэушным, и походу он к тому же жестко кастрированный, есть опасение, что места может не хватить даже на базовые хотелки. Может есть какинить простые "костыли", чтоб не питанием его ребутать каждый раз, а программно?
По всей видимости программа не доработана, трясите программиста, коэффициент (-1) в конструкторском макросе - сюр.
Напишите в форум Сигнетикса.
Сергей А. Ефремов
7.6.2018, 22:16
Коэффициент задаём мы сами, я сказал программисту задать 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. сбросили по питанию - пид заработал...
По всем вопросам обращайтесь к программисту.
kosmos440o
8.6.2018, 0:11
Это просто уход интегральной суммы ниже 0 до максимально отрицательного значения, где, возможно, она замирает. Попробуйте интеграл поменьше сделать, а П - побольше
Сергей А. Ефремов
8.6.2018, 5:53
Цитата(kosmos440o @ 8.6.2018, 0:11)

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

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

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

В макросе конструктора коэф. П -коэф. усиления, т.е. чем он больше , тем большее оказывает воздействие. Коэф. И (сек), наоборот , чем он больше , тем меньшее воздействие. Для водяного и электрического калорифера типично ставлю по умолчанию П=20, и=180, доп. настроек обычно не требуется.
...........
Насколько понимаю ваша функция - руководитель, зачем лезть в такие подробности , непонятно. есть программист. пусть и делает что требуется.
А если у вас, как у нас, не нагреватель, а охладитель?
Смотря какой охладитель, вода или фреон
Сергей А. Ефремов
8.6.2018, 11:30
Существует два типа регулирования "нагреватель" и "холодильник". Где в конструкторском макросе выбор между этими двумя типами одного и того же процесса?
На форуме Сигнетикса что то такое было уже.
kosmos440o
8.6.2018, 11:57
Цитата(Сергей А. Ефремов @ 8.6.2018, 6:53)

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

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

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

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

То же сори за офтоп.
Позвонил разработчик, делает какую-то очередную железку для банкиров, туда ему надо температуру, влажность, гарючие газы и по кой-то датчик скорости воздушного потока.
Просил узнать, если есть возможность, какой сенсор подойдёт для датчика скорости, и на сколько критично, если не делать гальваническую развязку RS485.
Датчик скорости не делал, но наиболее точные и безгеморные температурные анемометры. пользуюсь типа такими:
https://www.smarthof.ru/catalog/product/ss-...k-klgf-2/25510/По гальванической развязке - без неё очень желательным становится третий провод, и гальваническая развязка по питанию все равно должна быть. Если будет бах, то он выжгет всё на линии. У меня пара Адамов в столе валяется таких, простых, сгоревших. Меркурии несколько штук на объекте стоят, со сгоревшими интерфейсами. Не дай боже включить такое в одну линию с частотником FC51 - убъёт всё или связь нарушит. На длинных линиях бах весьма вероятен. Если цепь датчиков соединить, и их питание 12-24В пустить по этому же кабелю, то нормально. Я лично контроллеры все делаю с развязкой, датчики частично без развязки. С моим оборудованием за несколько лет этих именно проблем не было.
Сергей А. Ефремов
9.6.2018, 7:08
Я как обычно спрашиваю то, о чём сам не понимаю...
Он закладывает 4 клеммы: питание + АВ, ещё говорил, что есть микросхема с гальванической развязкой (она дороже) и есть просто простая микросхема, без развязки (она дешёвая), но развязку к ней можно при желании допаять отдельно.
Я советую ставить без развязки (ему уж очень не хочется перезакладываться на не основных моментах - по 100 рублей с тысячи изделий - уже 100 т.р., сами понимаете), а предусмотреть возможность подпаять развязку под требования заказчика.
RS485 под их задачи как бы и не нужен вовсе, просто хотят сделать более универсальное решение с поддержкой протокола модбас, мало ли как бывает... Сегодня не надо, а завтра вдруг надо... , намудрят какой-нибудь ПИД на каком-нибудь СПК107 и будут думать как впихнуть невпихуемое, а так... раз и нет проблем у тётушки, всё предусмотрено зарание мудрым руководством партии, мёртвые не потеют...
Цитата(Сергей А. Ефремов @ 8.6.2018, 17:18)

)) Малой сам скачал, меня привлекли только к хакерским задачам, она называется что-то типа видеоскумпа (videoscoompa), а хакаем всё подряд прогой "лакипатчер" (его лучше качать на офиц. сайте - лакипатчер.ком). Если бы не патчер, я б не знаю как б мы жили без него, вымагатели денег одолели не на шутку, а игры скачал - не понравилась - удалил, скачал другую. Я ребёнка учу так, спать ложишься говори: спасибо Китайской Народной Республике и программе лакипатчер за наше счастливое детство. (шучу конечно)
Так есть же операция возврата в магазинах. Прогу без проблем и вопросов лишних можно вернуть в течении суток после покупки. В качестве причины можно что угодно писать, хоть "передумал" или "из описания ожидал другого, а по факту мне не подходит".
Вот через неделю уже трудновато будет вернуть, т.к. ещё доказать нужно, что прога тебе не подошла, а не ты просто решил нахаляву недельку попользоваться.
Халява сладка, конечно, но и разработчиков можно понять. Чем больше пиратство, тем меньше вероятности, что появится те программа, которую "ждал всю жизнь" - материальный стимул должен быть. Представьте, как вы пишете-пишете программу на контроллер, а зак её "хакает" и вы получаете деньги только за одну установку, а не за все 10 тыс, что есть у зака.
Сергей А. Ефремов
9.6.2018, 12:18
Мы прошивку удалили, свой прибор не можем хакнуть... а детские игры у меня душа вообще не болит ни разу. На ютубе пацанам по 10-12 лет рассказывают как и что взламывается, у моего просто запросы на 12, а ума на 7, приходится помогать немного. А так вон родственник 14 лет пацану всё тоже самое: родители денег на гугл не дают, приходится патчить... Вот объясните ему, что это не хорошо с точки зрения разработчиков...
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.