Где то на ходил готовый макрос с автонастройкой ПИДа(режим нагрева) на ПР200, может быть у кого то есть готовое решение?
Подскажите за пид регулятор, который в owenlogik, бьюсь с переменным результатом уже долго. Адаптация то идёт то не идёт, отследить алгоритм не получается. Ограничение по максимуму ставишь 40%, но всё равно при адаптации выдаёт 100% (на данном объекте это опасно). Сам регулятор в принципе работает п1.5, и3.0, д100 (уличная градирня с частотно-регулируемыми вентиляторами). Но есть перерегулирование +- 1.5градуса. Решил провести адаптацию, но регулятор выдал сразу 100% мощности и пришлось прерваться. Один раз, адаптация всё же прошла и выдала новые п42, и45, д10. Но с ними совсем не понравилось как работает. Уставку держит вроде точнее, но постоянно мощность гоняет, что для вентиляторов тоже не хорошо. Пид регулятор вообще отлажен полноценно? Как включить режим охлаждения? В библиотеке есть другой регулятор, но как понял без режима адаптации.
Если д=0, то при заданной t мощность охлаждения начинает расти, когда действительная t равна заданной t. А вот при д=50-100, мощность начинает расти заранее и уже при совпадении зад/действ_t - равна 4%, что в общем хорошо.
Но вот обратно работа не корректная. t действительная начинает падать и приближается к t заданной, а мощность продолжает расти. Т.е. нет упреждения. Хотите сказать, что пид регулятор штатный всё же сырой?
А у регулятора из библиотеки нет автоподстройки вообще, как понял...
Последний раз редактировалось Vadik2881; 05.01.2024 в 11:09.
С Д-составляющей нужно обращаться очень осторожно. Она очень чувствительна к колебаниям показаний датчика (а у ПР аналоговые входы плавают) и она на порядок увеличивает выход регулятора, поэтому задирать коэффициент не следует.
У градирни не слишком большая инерция, можно и вручную подобрать коэффициенты
Последний раз редактировалось Dimensy; 05.01.2024 в 12:39.
Кто-нибудь может написать макрос в OL, реализующий такой же ПИД как в ТРМ32, опираясь на описание работы данного ПИД из руководства на ТРМ. Часто не нужно видеть положение клапана, важно держать температуру и всё. Не нужны никакие времена полного хода, люфта, минимальной длительности импульса, просто тупо скопировать работу ТРМ32, но в OL. Достаточно только для одного контура, как ГВС. Или может уже есть решение?
Вот пример использования PID, с запуском АНР и сохранением всех настроек 1 Работа ПИД.jpg 1 ПИД из менеджера.jpg
Последний раз редактировалось kondor3000; 02.08.2024 в 08:35.
Температурой ГВС, которое после теплообменника сразу идёт к потребителю очень трудно управлять - сильные возмущения от потребителей приводят к резким открытиям и закрытиям регулирующего клапана и нестабильной температуре.
Если потребителю вода подаётся из накопителя (бойлера), а также вода из бойлера вместе с подпиткой циркулирует через теплообменники, то регулирование становится проще.
И тут подойдёт ПИД регулятор.
В ТРМ32 реализован какой-то регулятор, отдалённо напоминающий ПИД. В описании нет ответа на вопрос - длительность импульса D пересчитывается на каждом шаге или же суммируется со значением на предыдущем шаге (т.е. учитывается, что D было больше 6 с и разница переходит на следующий шаг).
Попробуйте мой, проверенный на отоплении с приводом на 60 секунд полного хода
https://owen.ru/forum/showthread.php...l=1#post430251
или его исправленную, но не проверенную на объекте версию
https://owen.ru/forum/showthread.php...l=1#post430297
Также в этой теме о ПИД регуляторах несколько версий превращения ПИД в ШИМ регулятор, т.е. в подобие ТРМ32. Они почти все основаны на макросе БУСП.
Могу попробовать воспроизвести в макросе ТРМ32, но без отладки на реальном объекте это пустая трата времени. Днём в рабочее время я не могу отвлекаться на посторонние задачи, а отладка по скринам по вечерам может излишне затянуться.
Добавляю регулятор A_La_TRM32_ в примере.
В названиях входов присутствуют соответствующие имена параметров из ТРМ32.
Думаю, что в ТРМ32 коэффициент Кп делится на 100, иначе по формуле получается полное заполнение времени пересчёта при рассогласовании всего 3 градуса и Кп=0001.
Поэтому внутри макроса разделил параметр на 100.
Может быть и дифференциальный коэффициент нужно разделить, но не стал с ним разбираться.
Последний раз редактировалось FPavel; 01.04.2024 в 23:19.
Ваш регулятор попробую, спасибо. По результату напишу, но это будет не быстро, т.к. редко могу попасть на тот объект.