DirectLogic06 ПИД+ШИМ+3пИМ? |
Ответить | Страница 12> |
Автор | |
Новичок Присоединился: 20 Февраль 2012 Online Status: Offline Публикации: 6 |
Опубликовано: 20 Февраль 2012 13:25 |
Здравствуйте.
Подобную тему нашел, был положительный результат, но примеров нет. Необходимо управлять уровнем воды в барабане котла с помощью 3-поз ИМ Попытался в уставку ПИД регулятора поставить разницу между текущим уровнем и заданным. (в идеале текущая разница должна гулять около нуля) На возмущение ПИД регулятор выдавал время импульса в ШИМ. Т.е. чем больше разница, тем больше импульс. Но эта схема не заработала - возникают автоколебания, накапливается переменная bias и импульсы идут максимальные. Хотелось бы услышать Astilya. по всей видимости, у него получилось решить эту проблему. |
|
Действительный член Присоединился: 18 Декабрь 2006 Категория: Russian Federation Online Status: Offline Публикации: 275 |
|
Добрый день, Андрей.
Вы сегодня написали нам на инфо письмо - ребята ответят, перешлют пример с ШИМом. По отзывам тех, кто пользовался, он работает нормально, без автоколебаний. Если будут какие-то вопросы, готов ответить. В принципе, алгоритм не нов - примерно по такой идеологии был реализован ШИМ на Ремиконтах 200 серии. Из настроект необходимо будет задать лишь длину минимального импульса и полное время хода МЭО.
|
|
Новичок Присоединился: 20 Февраль 2012 Online Status: Offline Публикации: 6 |
|
Спасибо, пример пришел по почте. Завтра буду пробовать на ДЕ25
|
|
Новичок Присоединился: 20 Февраль 2012 Online Status: Offline Публикации: 6 |
|
Вообщем итог работы таков: уровень воды стал регулироваться гораздо лучше. Можно было бы так и оставить, но нужна какая-то защита от ухода регулятора в 0 или в 4095. Иначе регулятор просто замирает и не выдает никаких импульсов, даже если уставка и текущее значение датчика не совпадают.
Решил этот же регулятор применить к давлению воздуха и разрежению, да не тут то было. Вообщем регулирования не получается. Регулятор то подает частые импульсы заподряд, то вообще молчит. Регулятор такой: МЭО управляет заслонкой. Выручайте.
|
|
Действительный член Присоединился: 18 Декабрь 2006 Категория: Russian Federation Online Status: Offline Публикации: 275 |
|
Наш опыт показывает, что при точном определении времени хода МЭО, таких проблем возникать не должно. Рекомендую засечь реальное время хода, а не оринетироваться на паспортные данные, так как настройка концевых проводится по месту и может фактически изменить настоящее время хода. Если это не поможет, советую дописать небольшой кусок программы. Суть его в том, что при наличии рассогласования и отсутствия реакции регулятора, принудительно выдавать импульсы некоторой длительности (подбирается на практике) с последующей проверкой рассогласования. Как только войдет в зону нечувствительности отключить схему принудительной подачи импульсов.
|
|
Новичок Присоединился: 20 Февраль 2012 Online Status: Offline Публикации: 6 |
|
Спасибо. С понедельника в командировке попробую замерить точное время хода МЭО, регуляторы настраивать поотдельности, а с импульсами я догадался, но пока не испробовал.
|
|
Участник Присоединился: 09 Октябрь 2011 Online Status: Offline Публикации: 45 |
|
Еще один момент. Если это кондовая советская конструкция МЭО, то приходилось встречаться с мертвым ходом до 3.5 сек. Естественно, на регулировании это сказывается безобразно, если это не учитывать программно.
|
|
Новичок Присоединился: 20 Февраль 2012 Online Status: Offline Публикации: 6 |
|
Результат работы таков. Уровень поддерживается стабильно. Интегральная составляющая иногда доходит до нуля. В этот момент специальный импульс подает команду на закрытие. Уровень понижается и регулятор опять входит в рабочий режим.
На разрежении пришлось повозиться. Здесь интегральная составляющая имеет тенденцию на увеличение. Решение было такое. В момент, когда выход пид регулятора достигает 4095 происходит вычитание некой константы из выхода и bias. Таким образом регулятор продолжает работать стабильно. Может я что-то сделал неправильно, тогда поправьте. Из-за старого оборудования (заслонки а не частотники) разрежение медленно реагирует на возмущение. Поэтому на этом объекте не удалось реализовать поддержание давления пара в барабане на постоянном значении. Использовался встроенный пид регулятор. Выход регулятора должен был задавать необходимое значение газа на горелке. Газовая заслонка не двигалась, пока разрежение не входило в нормальный интервал, + люфт газовой заслонки. В результате, возникало большое запаздывание (до 1-2 минут) пока изменится давление газа на горелке. Такой регулятор создавал автоколебания в диапазоне полукилограмма.
|
|
Действительный член Присоединился: 18 Декабрь 2006 Категория: Russian Federation Online Status: Offline Публикации: 275 |
|
Добрый день! Получилось? Значит правильно:) Хотя не стоит забывать и тот факт, что в регуляторе можно "замораживать" интегральную составляющую как раз для тех случаев, когда ИМ раскрылся/закрылся на полную, а рассогласование отлично от нуля или зону нечувствительности.
Со вторым вопросом сложнее. Автоматика - одно из звеньев общей "цепи", ей нельзя исправить "косяки" другого оборудования. Ну, или можно, но не всегда. Самым злым врагом САУ как раз и являются некорректно выбранные точки замеров и установки ИМ, а также их характеристики.
Если я верно понимаю, Вас жизнь поставила фактически перед звеном чистого запаздывания. В классике его регулируют упредителем Смитта (это не реальное устройство, передаточную функцию которого можно реализовать только приближенно - так как реальных дифференциаторов не существует). В Вашей ситуации ближе всего к решению проблемы - использование дифференциальной настройки ПИДа.
К сожалению, у меня по технологии нет опыта работы с паровыми котлами. Но в водогрейных я бы сроду не взялся за Д-составляющую регулятора. Разрежение - самый "живой" параметр, к тому же из списка аварийных.
Поэтому корректный подход - обновить арматуру. А вот использовать ли мой совет про дифференциальную составляющую - решать Вам. Думаю, по крайней мере попробовать можно.
|
|
Новичок Присоединился: 22 Июнь 2009 Категория: Russian Federation Online Status: Offline Публикации: 19 |
|
Здравствуйте!
Прошу прощения за "некромантию" - редко бываю на форуме, но очень уж хочется добавить и свои пять копеек. Кое-что из "тезисов" привожу из рабочих пометок, кое-что набираю в браузере. Поэтому у сообщения разный стиль... Сразу хочу выразить благодарность Astilya за ранее проявленную помощь. Несколько лет назад Astilya и мне показал этот алгоритм. Идея алгоритма очень хорошая и простая. В целом она хорошо была применена к контурам паровых котлов ДЕ16 и ДКВР-10/13. Но не в "чистом" виде. Я тоже прошёл через "замирания" и некоторые особенности реализации математики в контроллере DL06. Хочу поделиться своим опытом. Программу я изменил. Не понравилось неопределённость SP60 и SP62 в строках 4 и 5 с момента включения до установки T0. К сожалению, функция автонастройки для ШИМ возвращала плохие результаты. Возможно из-за большой инерционности объекта. При ручной настройке выяснилось - результат зависел не только от Ти, Тд, Кп, но и от Ts (время пересчёта контура). При "нащупанных" Ти, Тд, Кп Уровень в барабане "качался", но как только увеличили Ts до 5-10 секунд - сразу стабилизировался. Особенность математики ПИД-регулятора состоит в том, что при вхождении регулируемого параметра (PV) в зону нечувствительности, значение выхода регулятора скачком изменяется на величину пропорциональной и дифференциальной составляющих, т.к. считается, что рассогласования нет. Это приводит к формированию «мусорных» импульсов на регулирующий орган (РО). Чтобы этого не происходило, в ШИМ была введена дополнительная блокировка изменения внутренней переменной (Ybcd), в других условиях, численно равной выходу регулятора. Соответственно, далее алгоритм ШИМ предполагает, что выход ПИД-регулятора не изменяется и не генерирует «мусор». При переводе ПИД-регулятора из автоматического режима в ручной и обратно путём установки соответствующего бита, перед переключением проходит время Ts. Т.к. я считал, что переключение происходит сразу после установки бита, то сразу разрешал обработку. "Предыстория" состояния ШИМ приводила к появлению "таинственных" импульсов на выходе (в случае контура Газ-Пар импульс достигал Ts=10 секунд). К самому алгоритму это не имеет отношения, но данный эффект нужно учитывать. Также нужно учитывать, что инициализировать переменные ШИМ и ПИД (в таблице контура PID_xxx) нужно до перехода в автоматический режим. Как только контур оказывался в ручном режиме, я инициализировал Yprev, Ybcd, PID_BIAS, PID_OUT значением середины диапазона изменения выхода (PID_Ymin+PID_Ymax)/2. Этим я делал допущение, что контур в автоматическом режиме начинал действовать с середины положения РО. Такой финт возможен потому, что в программе действуют две уставки - основная и текущая. В контур отправляется текущая. В ручном и при включении автоматического режима текущая становиться равной переменной процесса, а после перехда в "автомат" с некоторым шагом начинает приближаться к основной уставке. Нужно это для "безударного" перехода. И заодно приводит к тому, что при включении в "автомат" рассогласование равно нулю (как следствие - безразлично значение BIAS). Для компенсации люфта при смене направления движения РО ко времени минимального импульса tmin добавляется время Тлюфт. Поэтому в таймер тактов отправляется не tmin, а другая переменная, равная или tmin или (tmin+Tлюфт). При «перегрузке» выхода ПИД-регулятора (0 или 4095) на выход ШИМ подаётся непрерывный импульс ("меньше" или "больше"). Достигается это тем, что когда внутренняя переменная Ybcd входит в диапазон (Ymax-dYmin, Ymax) или (Ymin, Ymin+dYmin), то переменной Ybcd присваивается значение, отстоящее от границы диапазона на dYmin. Такое решение, конечно, не очень хорошо. Но создавать обработку ШИМ, сопоставимую по размерам со всей программой, ещё хуже. Вдобавок, если не переключать постоянно режимы автомат-ручной (тем самым «переводя» при инициализации Ybcd в середину диапазона [Ymin, Ymax]), то после одного-двух таких импульсов, значение переменной Ybcd будет примерно соответствовать действительному положению РО. В алгоритме ШИМ ПИД Давления Пара также введены ограничения на максимальную величину управляющих импульсов. При появлении такого длинного импульса (большего Tи.макс) всякое появление импульсов в данном направлении блокируется на время паузы (Tи.пауза). Эти параметры введёны по причине того, что на данной конфигурации оборудования при открытии/закрытии заслонки давление газа изменяется значительно быстрее давления воздуха, что привело бы к погасанию факела горелки (а так только небольшая копоть из трубы). Также эта пара параметров служит для исключения ситуации "выбега" давления газа за допустимые для регулирования границы. Такое возможно из-за инерции нарастания давления газа после изменения положения заслонки (плюс задержка при сглаживании значения давления газа в контроллере и прочие причины). Как раз паузой даётся возможность восстановить баланс Газ/Воздух, и установиться самому значению давления газа. Если использование этих параметров не предполагается, то следует задать Ти.пауза=0, Ти.макс=999.9. Также, введение ограничения на ширину импульса, IMHO, улучшает ситуацию при «перегрузке» математики ПИД-регулятора (чтобы «сплошной» импульс не «завёл» очень далеко). Реально это ограничение срабатывало только в контуре Газ-Пар, но никогда не активировалось в контуре поддержания Уровня. В ШИМ контуров Разрежения и Давления Воздуха такое ограничения я даже и не пытался реализовывать. Эта комбинация почти подходит под совет Astilya: "Если это не поможет, советую дописать небольшой кусок программы. Суть его в том, что при наличии рассогласования и отсутствия реакции регулятора, принудительно выдавать импульсы некоторой длительности (подбирается на практике) с последующей проверкой рассогласования. Как только войдет в зону нечувствительности отключить схему принудительной подачи импульсов." |
|
Ответить | Страница 12> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |