Тогда просите ОВЕН, чтобы они переписали его в дифференциальной форме.
В принципе, можно сделать надстройку, но вы получите разсинхронизацию реального и численного блоком положения привода.
Вид для печати
Тогда просите ОВЕН, чтобы они переписали его в дифференциальной форме.
В принципе, можно сделать надстройку, но вы получите разсинхронизацию реального и численного блоком положения привода.
Пока что готовлюсь к интеграции регулятора выложенного Сергей0308. поковырялся и оформил его в макрос. мало ли кому понадобится. дополнительно добавил ограничение воздействия при превышении хода привода в одном направлении более чем его реальное время полного хода (с 2 кратным запасом, чтобы не упереться в выбираемые люфты). по прежнему комментарии над блоками зеленым цветом - оригинальные программные части Сергея0308; желтые комментарии - добавки, сделанные мной.
Сергей0308 я завтра собираюсь интегрировать ваш регулятор на обьект. Есть ли хоть какие-то рекомендации по настройке этого регулятора?
Я уже писал об этом: период следования импульсов должен быть такой, чтобы следующий импульс был после того так прошло воздействие от преведущего импульса. Время люфта точно подобрать, после первого длинного импульса при реверсе значение параметра должно меняться очень медленно, если(при неизменной нагрузке) наблюдается более 2-3 коротких дополнительно к длинному(при реверсе), увеличить время люфта(у меня обычно около 2 секунд) на одном приводе точно уже не помню 6-7 секунд, этим можно компенсировать недостатки и износ регулирующих клапанов, я просто прочитал, что Вы хотели ограничивать время люфта, вот будет смешно если ваш клапан в ограничения не впишется. И если Вы температуру регулируете то надеюсь у Вас датчики адекватно установлены, у меня был случай на одной машине датчик так поставили через заднее место, что до него возмущение доходило с большим запозданием, ТЭНы выключались двухпозиционным регулятором, а температура росла ещё градусов на 30 хотя там вентилятор стоял, короче датчик "спрятали" в какой-то теплоизоляционный материал и до него "туго" доходило. Короче, Вы же знаете как регулятор работает Вы его собирали, это тоже немаловажно.
По поводу люфта он очень маленький, поскольку время полного хода механизма всего 15 секунд на поворот в 90 градусов. если это что-то скажет - привод ESBE 94М 15сек p/n 12051800
датчик у меня стоит практически идеально. он установлен на выходном фланце теплообменника к тому же под углом в 15 градусов от оси потока и вылет гильзы заходит во внутренний фланец теплообменника. это сделано для того, чтобы при отключении циркуляции гвс корректно перекрыть привод и не допустить перегрев теплообменника. зачем отключать циркуляцию - не спрашивайте. считаем это за исходные данные.
время реакции привода на воздействие я опытным путем определил как 8 секунд. (когда я устанавливал период пид как 8 секунд, то задержки после изменения знака ПИД происходило в этой же выборке данных.
на прикрепленном фото период пид установлен в 4с. а шаг выборки данных из контроллера облаком тоже 4 секунды.
у меня есть подозрения, что привод с ходом в 15с и минимальным импульсом в 0,2 с (предел для электромеханического реле) просто не обеспечивает достаточной точности позиционирования.
За 0,2 с ничего Вы там не перерегулируете, допустим у вас сектор рабочего хода механизма будет 5 градусов(в реальности думаю намного больше), это около секунды по времени, короче, здесь проблемы не вижу!
И я уже писал и период следования импульсов можно сделать в зависимости от скорости изменения параметра, но с вашим быстрым приводом боюсь это будет не актуально.
И у вас, судя по картинке, значения параметра примерно на минуту запаздывают за действиями регулятора(выходной мощности), я бы и начал с периода импульсов в 1 минуту.
bayk, по графику видно как сильно интегральная составляющая влияет на процесс. Добавляйте время интегрирования. у вас там стоит секунд 10-20, может 30?... ставьте 300 - 500, ато и максимум. настройку нужно начинать с выключенной интегральной сост.
Вы не поверите интеграла стоит 1500 то есть практически отсутствует
Попробовал сегодня экспоненциальный регулятор Сергея - тоже не особо взлетелоб. Из плюсов только то, что примерно ту же картину видим но приколичестве управляющих импульсов раз в 10 меньше.
Если кому интересно глянуть что вышло, то
Логин от Клауда testtest@mail.ru пароль asdfzxcv. Можете заглянуть посмотреть. Смотреть после 18 часов сегодняшнего дня. До этого там каша при замене карты регистров с бесконечными значениями. Доступ там ограниченный, сломать что-то сложно. Завтра к вечеру пароль сменю.
На данный момент используется регулятор, что я выкладывал самым последним вот в этом сообщении
У вас большое отклонение от уставки, либо импульсы регулирования слишком часто поступают, не успевает пройти воздействие от преведущего импульса, либо нагрузка резко меняется, тогда я бы по другому сделал, дифференциальную составляющую я бы никогда не блокировал(её действие) тогда отклонение от уставки в случае резкого изменения нагрузки будет в целом меньше, я так понимаю что привод гоняет туда-сюда у вас не в приоритете(на втором плане), главное что бы уставку держать как можно точнее?
да, совершенно верно, привод пусть шоркает, ему хуже не будет. в смысле не блокировать дифференциалку? в вашем регуляторе она в принципе не блокируется. да, мне важнее удержать температуру хотя бы в рамках +-4 градуса от уставки, тогда это не заметно у потребителей. я пробовал удлинять период пид - становится только хуже. то, что видно на графике это работа при 15 секундах периода.
система действительно нестабильная, ее с одной стороны раскачивает непостоянное потребление ГВС и малый объем системы циркуляции, а с другой колебание температуры в греющем контуре около 12-13 градусов (это можно увидеть на графиках каскадного контроллера)
У меня блокируются все импульсы: например если значение параметра начнёт резко падать, то импульсы на открытие не пойдут пока значение параметра не станет меньше уставки, а вам надо чтобы шли, тогда уже при подходе к уставке можно снизить скорость падения и отклонение от уставки но уже в другую сторону будет меньше, короче я это имел ввиду, это можно(нужно) поправить!
вы не могли бы с этим мне помочь? итоговый файл проекта я вам сбрасывал на почту.
одно я могу добавить, что при больших рассогласованиях этот регулятор работает прям как "пусечка". дело в том, что если я игрался с регулятором, то я встаю следующим утром в 5 утра и проверяю, нормально ли регулятор выходит в рабочий режим после запуска циркуляции. так вот этот регулятор справился в 3 раза быстрее, чем обычный пид.
я правильно понимаю что для КЗР с тремя состояниями больше меньше ничего и например временем движения штока 10 секунд, которое означает что из положения 0% до 100% он дойдет за десять секунд, справедливо следующее, если предыдущее значение регулятора было 50% а теперь требуется 60% то это импульс будет подаваться на сигнал БОЛЬШЕ и длительность будет равна 10сек / 100% * 10% = 1секунда?
да, вроде как на этом принципе и работает макрос reg_KZR из библиотеки макросов
Вот попробуйте такой вариант, мне кажется для вашего случая больше должен подойти:
Вложение 52120
Вложение 52121
Только, прошу не добавляете свои настройки, дублирующие имеющиеся(как в преведущий раз с ограничением), мне они не понятны и помочь с настройкой я тогда не смогу.
И теперь, например если текущее значение параметра выше уставки, но значение параметра стало резко падать, то могут сразу последовать импульсы на открытие, если дифференциальная составляющая по модулю будет больше пропорциональной, не дожидаясь когда значение упадёт ниже уставки(как в преведущем варианте).
так в прошлый раз я ничего и не добавлял и не дублировал. я только нормализовал ограничения времени воздействия к процентам от периода ПИД/шим на входе, вывел на выход информационно результат пид со знаком, зависящий от направления воздействия. и нормализованные к процентам от периода ПИД/ШИМ беззнаковые обьемы каждой составляющей. но это все чисто информационно!
в логику регулятора я никаких изменений не вносил! я только поинтересовался, не надо ли это сделать, но вы объяснили что и как.
Как это не назови, сути дела это не меняет, называется это ограничение или нормализация, это отменяет настройку пропорциональной(дифференциальной) составляющей и удобств не добавляет, тогда уберите те настройки для пропорциональной и дифференциальной составляющих что уже были и оставьте одну вашу, зачем иметь несколько настроек? Короче, я не против, делайте хоть десяток дублирующих настроек, но меня тогда не спрашивайте по настройке вашего регулятора!
Я так понимаю, у вас регулирующий клапан стоит в первичном контуре теплообменника, с температурой теплоносителя от водогрейного котла около 70°C, а нагрузка резко-переменная поэтому и большое перерегулирование, короче, мне так кажется если поставить трёхходовой регулирующий клапан во вторичный контур теплообменника его инерционность не будет влиять на качество регулирования и ситуация поправится, а то у вас за минуту температура меняется до 20°C, система просто не успевает реагировать из-за инерционности теплообменника, плюс как Вы говорите меняется температура теплоносителя! Вы то сами что думаете по этому поводу? Даже если мы присобачим самый быстрый регулятор - это сильно картину не изменит, мне так кажется!
В первичный контур поставить регулятор принципиально невозможно чисто гидравлически. В первичном контуре нечего регулировать. Наоборот, попробуем поставить быстрый регулятор, если не поможет, то поставлю привод помедленнее. Возможно это позволит более точно регулировать. Дело в том, что расчетный расход через теплообменник значительно выше реального. Причем почти в 10-20 раз. Но занижать теплообменник нельзя по расчетам. Я тут выполз с карантина и меня начали разрывать по кусочкам. Потому никак не могу заняться интеграцией быстрого регулятора.
задача же так и пишется, слово в слово как сказали, разница уставки и текущего значения сравнивается с порогом и подается на выход 1 и 2 группы, на каждый со своим порогом, дополнительно стоит поставить перед выходом таймер TON для исключения дребезга. На третью группу через OR с выхода второй группы взять сигнал и ПИД регулятора
ни одно компьютерное устройство пока не понимает что такое значительное удаление и приближение, я тоже не понимаю какой смысл Вы вкладываете в понятие подбирать в ручную и как это повилияет на работу ПИД-регулятора
ЗЫ если Вы беспокоитесь из-за того что уставки могут сами сильно отличаться и где для одной значительно а для другой это чуть ли не в притык, так есть же проценты в конце концов, 67% это значительно, 33% это приблизительно
и что? Пока работают первые две группы, регулятор так же ищет свое значение, когда они отключаться у регулятора будет "простор" движения в любую сторону. Быстрый выход на уставку осуществлен, цель достигнута.
автотюнинг делается не постоянно же, один раз сделали с нулевыми порогами и все, потом выставили пороги и будет регулятор работать ни куда не денется, процессы достаточно инерционные.
Я бы такую задачу решал используя функционал нейросетей и прогоза через метод наименьших квадратов, чтоб было круто как у GEFRAN )
как раз принцип нахождение весового коэффициента я подставляю в процент открытия клапана, МНК как прогноз куда идет тренд позволяет предварительно открывать закрывать дополнительные элементы, например функцию быстрого выхода на уставку или если прогноз показывает что температура пересечет уставку, то менять приращение (если клапан прибавлял проценты то начать их убавлять)
описанный алгоритм не спасает когда подключается потребитель полностью холодный провалы бывают или другие неприятности, например ГВС вода забирает тепло у тех объектов которые уже прогреты, на то время пока температура восстанавливается, но с этим не справиться и обычный пид-регулятор. Для таких случаев уже придется использовать полноценную нейросеть, где определяется по количеству подключенных объектов какой процент выходной мощности выдавать и от этого процента уже подстраивать вышеописанным способом. Я так регулировал управление насосом чтоб поддержать 2бара в системе не пяти емкостях
Всех с НГ. Подскажите (поиском не нашел) как реализовать ПИД регулятор с ограничением температуры обратки?
Задача: есть воздухоохладитель, холодоноситель гликоль, регулятор ПР200, клапан регулирующий 0-10В. Необходимо ограничить температуру обратки >0°C для исключения обмерзания теплообменника воздухоохладителя.
Мне кажется здесь надо два ПИД-регулятора, один для поддержания основного параметра(температуры в камере), другой - для ограничения по температуре обратки, привести к значению 0 - 1, для аналогового выхода ПР так и так это потребуется сделать, перемножить эти значения и подать на аналоговый выход ПР. Разумеется для каждого регулятора свои настройки, короче, примерно как-то так:
Вложение 52891
Не перемножать, а брать минимум.
Другой вопрос, что это может не помочь, если подача ниже 0 - часть калорифера может обмерзнуть, если расход воздуха маленький.
Думаете так будет лучше:
Вложение 52903
Не совсем. Одна уставка - температуры воздуха.
У самого мысль использовать 2 регулятора. Температура в камере вещь весьма себе инерционная. Т.е. ПИД по t° воздуха быстро убежит в 100%. Поэтому мысль ввести ограничение по t° обратки и при достижении ограничения передавать упр-е ПИДу по обратке. Также ввести ограничение по t° воздуха, при достижении передавать управление на ПИД по воздуху. Начальные значения записывать в ПИДы, чтобы при переключении управление начиналось со значения предыдущего регулятора, как-то так... Что скажете?
P.S. температура воздуха в камере выше 0 (что-то типа +5°)
Так Вы измеряете температуру в камере? Тогда переходите на каскадное регулирование.
У Вас воздуходувка в камеру? Тогда поставить ещё один датчик в поток воздуха со своим ПИД, вставку этого ПИД будет регулировать ПИД по Т камеры.