Если д=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.
У меня на одном из объектов стоят ПР200 с самописными макросами на основе встроенного пид и ранее здесь выкладываемого БУСП. Проблема в том, что привода на клапанах уже старые, люфты довольно большие. Но температуру они держат нормально до определённых условий, объекты не очень быстрые и расход через них быстро не меняется. Выход встроенного ПИД-регулятора со временем "убегает" к нулю в связи с незначительными колебаниями температуры. Я делал "зоны нечувствительности", увеличивал минимальную длительность импульса, ничего не помогает. Т.е. получается так, выход блока PID постепенно уменьшается и приближается к нулевому значению, а выход БУСП давая незначительные импульсы, фактически не сдвигает привод и он остаётся примерно в средней точке. Когда выход PID становится равным нулю он перестаёт регулировать в эту сторону, т.к. ноль уже достигнут. Что очень неправильно. Не хотелось бы привязываться к фиксированному диапазону выхода PID, поэтому и хочется использовать что-то типа ТРМ32. Они вполне неплохо справляются со своей задачей и там нет привязки к диапазону регулирования, всё просто. Пока есть разница между уставкой и текущей температурой он выдаёт импульсы и достаточно резво реагирует на изменения уставки либо текущей температуры при должной настройке коэффициентов.
Ваш регулятор попробую, спасибо. По результату напишу, но это будет не быстро, т.к. редко могу попасть на тот объект.
Сделайте ещё с вариантом моего ПИД на 3 позиции - он построен на похожем принципе с ТРМ32, но позволяет тоньше настраивать - особенно интересен минимальный импульс. В ТРМ32 часть параметров используются, но просто задаются константами. Тот же минимальный импульс равен 0,3 секунды.
Ок, в первую очередь с ним и попробую. Результатом поделюсь.