ПИД регулятор ADAM5510 |
Ответить | Страница 123> |
Автор | |
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 25 Апрель 2006 Категория: Russian Federation Online Status: Offline Публикации: 116 |
Опубликовано: 25 Апрель 2006 08:52 |
В данное время есть два разработанных мною ПИД регулятора. Разработаны в среде Ultralogik (16-бит). Первая модель работает на объектах более 2х лет. Вторая (переработанная) несколько месяцев. Регуляторы работают с МЭО. Предлогаю обменятся разработками и идеями. |
|
Vel
|
|
Действительный член Присоединился: 14 Январь 2005 Категория: Russian Federation Online Status: Offline Публикации: 322 |
|
Давайте меняться, с чьих идей начнем? Сделал ПИ регулятор, тоже на UL16, крутит МЭО и другие привода примерно уже 3 года, последнее время переписал регулятор на UL32. При разработке программы за основу взял блок Р.27, интересно кому пришли другие идеи? |
|
Сергей
|
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 25 Апрель 2006 Категория: Russian Federation Online Status: Offline Публикации: 116 |
|
Сергею отправил сообщение на пейджер с контактным адресом! Для наглядности публикую входные и выходные переменные ПИД регуляторов. ПИД 1 Vx (Float)-Входной сигнал с датчика (0..100%) Z_Pmax (Float)-Верхняя граница работы Р-регулятора (0..100%) OkNoy (Boolean)-Блокирование обнуления интегратора при KorMEO (Float) -Время выборки люфта МЭО Vix_Int (Float)-Выходной сигнал интегратора. ПИД 2 1) Vx (Float) - Входной сигнал (с датчика)
|
|
Vel
|
|
Действительный член Присоединился: 14 Январь 2005 Категория: Russian Federation Online Status: Offline Публикации: 322 |
|
У меня все проще Я сделал блок формирующий ПД алгоритм, совместно с исполнительным механизмом постоянной скорости (МЭО) получается ПИ регулятор, при необходимости получения ПИД регулятора добавляется внешний дифференциатор (из стандартных библиотек UL). Входные /выходные сигналы получаются такие: Вход: E (float) - сигнал рассогласования Ap(float) - коэффициент передачи регулятора Ti(float) - время изодрома регулятора, в сС timp(float) - минимальная длительность импульса, в сС tl(float) - время люфта испольнительного механизма, в сС p(float) - вход для динамических воздействий (пропорциональный) Выход: b(boolean) m(boolean) Y(float) Фильтрацию сигнала, формирование сигнала рассогласования и зоны нечувствительности удобнее делать до регулятора. При необходимости дистанционного управления приводом, после регулятора ставится блок переключателей дистанционного/автоматического управления |
|
Сергей
|
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 25 Апрель 2006 Категория: Russian Federation Online Status: Offline Публикации: 116 |
|
Отправил email с первым ПИД регулятором. Второй вышлю позже, требуется время на перевод в рисунки (по прозьбе Сергея). Мои регуляторы создавались как универсальные (для разных объектов), поэтому для облегчения дальнейшей работы в них собраны почти все функции. Т.е. вставил блок, прописал входа выхода и всё. Первый объект на котором регулятор работал, это регулирование уровня в барабане парового котла. Процесс АСТАТИЧНЫЙ, т.е. уровень может увеличиваться или уменьшаться "до бесконечности". ПИ регулятор (КИП), который работал до автоматизации, работал практически как "обвальщик", т.е. уровень растет, регулятор импульсами закрывает подачу воды, уровень начал уменьшаться, регулятор все равно закрывает подачу воды пока входной сигнал не зайдет в зону нечувствительности. И тотже цикл повторяется при уменьшении уровня. Регулирование идет "пилой" и размер "пилы" изменяется паузами между импульсами и их длительностью. В итоге регулирование в пределах ±15 (20) мм.вод.ст. Мой регулятор позваляет при 100-110 импульсах в 3 минуты (предел количества импульсов для МЭО) поддерживать уровень в пределах ±1,5-2мм.вод.ст. При 3 импульсах в минуту (для сохранения МЭО) рабочий режим ±6-7мм.вод.ст. Для статических объктов регулирования Д закон практически не используется и соответствующие коэффициенты уменьшаются до минимума. На счет стандартной библиотеки UL (это мое мнение, основанное на практике), то блоки из нее можно использовать только после тщательного тестирования на всех возможных режимах. Она сделана чтобы "указать направление", а не дать вам полностью работающий инструмент. Внешний дифференциатор (из стандартных библиотек UL) не удовлетворяет предъявляемым требованиям. За счет дискретизации (снимается мгновенное значение входного сигнала) воспринимается шум, при усилении выходного сигнала до приемлемого уровня дифференциальная составляющая искажена или вообще неправильна. В итоге Д закон только мешает работе регулятора. В первом ПИД регуляторе дифференциатор "не очень", во втором я уже добился кое каких успехов, но все равно полностью стабильной работы Д закона я еще не добился. Если у кого есть наработки и идеи - поделитесь, если не жалко! |
|
Vel
|
|
Действительный член Присоединился: 14 Январь 2005 Категория: Russian Federation Online Status: Offline Публикации: 322 |
|
Делать универсальные программные блоки не совсем правильно, поскольку зря отнимаются ресурсы контроллера. Необходимо иметь специализированные блоки, которые использовать по мере необходимости. Для регулирования тепловых процессов, при том в условиях сильных помех, Д составляющая регулятора не может быть использована. Регуляторы питания котла я налаживал на различной аппаратуре (РПИБ, Р-25, Р-21, Р-27, ПРОТАР-112), везде ПИ, переход на ADAM принес в первую очередь компенсацию люфта исполнительного механизма, в результате уменьшилось количество срабатываний. Характеристики "110срабатываний, ±1,5-2мм" не совсем точно отражают качество регулирования, поскольку котлы, привода, регулирующие органы бывают разные. Для РПК могу предложить еще ряд "примочек": -контроль исправности привода, -контроль исправности датчиков. |
|
Сергей
|
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 25 Апрель 2006 Категория: Russian Federation Online Status: Offline Публикации: 116 |
|
У этого вопроса две стороны: 1) Я полностью согласен, что для определенного параметра (объекта) лучшим будет регулятор, сделанный именно для него, а не универсальный. НО, во первых будет необходимо писать для каждого объекта регулирования свой регулятор (программу контроллера и верхний уровень), это уже значительные затраты времени на разработку и наладку. Наша группа занимается АСУТП под ключ (разработка проекта, програмного обеспечения верхнего и нижнего уровня, курирование монтажа, наладка, запуск в эксплуатацию, а потом и техподдержка) и "обратитесь к разработчику" все к нам. Объектов более чем достаточно и на каждый индивидуально разрабатывать регулятор - это не реально. К тому же регулятор делал я один (сделал на свою голову!), другие только используют его в своих проектах. И если регуляторы разные, то необходимо для каждого конкретного регулятора делать описание (для дежурной службы), да и самому вспомнить что "навоял" через пару месяцев уже тяжело, а как быть с теми кто его увидел в первый раз? Во вторых, а зачем вообще тогда придумывали ООП, модули, библиотеки и т.д., как не для облегчения и ускорения разработки. Можно написать программу контроллера полностью на asm, но это несравнимо по трудозатратам с разработкой в среде UL (он как раз и компанует asm obj). 2) Насчет ресурсов конроллера: здесь я не согласен. Из практики, когда я отлаживал ПИД регулятор в контроллере без модулей ввода вывода, то скорость была за 1200 циклов в секунду. При 3 модулях ADAM5017 и одном ADAM5050 и 4 ПИД регуляторах - скорость 30-36 циклов в секунду. При 2 ПИД регуляторах - скорость 34-42 циклов в секунду. Это при том что мы используем 2 COM порта одновременно, передача информации идет по двум независимым сетям, на два разных компьютера. Затормаживают систему аналоговые модули, они и пожирают ресурсы. 3) В моем ПИД1 регуляторе работает Д составляющая, без неё качество регулирования и скорость гашения возмущений резко падают. В ПИД2 я существенно улучшил дифференциатор и качество его выходного сигнала, а шум и помехи всегда есть. 4) 110 импульсов в 3 минуты это максимальные режимы (пауза между импульсами 3.5 сек.) при "жестком" удержании парамета, например при резком возмущении (открыли где то задвижку и расход пара резко увеличился). При штатной работе если нет возмушений и отклонения, регулятор вообще "молчит". Я не могу здесь привести график работы (не знаю как вставить рисунок). А вообще ПИД регулятор настраивается на объекте, под конкретный параметр и исполнительный механизм и тут все в руках того кто настраивает, а настроить можно и как попало,"криво". Я считаю, чем больше свобода выбота, тем лучше. Поэтому мне и интересны идеи и разработки других, для анализа своих ошибок и недоразумений. Готовлю ПИД 2 к отправке. |
|
Vel
|
|
Действительный член Присоединился: 14 Январь 2005 Категория: Russian Federation Online Status: Offline Публикации: 322 |
|
Насчет универсальности и индивидуальности спорить не будем, тут главное не впадать в крайности. По существу Вашего регулятора, самое главное что в нем не нравиться, это параметры настройки. Обычному ПИ регулятору нужны только коэффициент передачи и время изодрома, все знают как такой регулятор налаживать. Для наладки Вашего регулятора нужна видимо какая-то специальная методика. Или я чего-то не понял. Регуляторы с подобными параметрами настройки (максимальная длительность, минимальная длительность и т.д.) видел у фирмы "АМАКС", налаживают их специальные наладчики. А вообще, проблема ПИ регулятора для механизма постоянной скорости имеется не только у меня и Vel'а. В большинстве PLC зарубежных фирм нет такого алгоритма, поэтому вместе с регулирующей аппаратурой отечественным автоматизаторам приходится заменять и привода. |
|
Сергей
|
|
Участник Присоединился: 14 Январь 2005 Категория: Russian Federation Online Status: Offline Публикации: 69 |
|
Используем ПИ-регуляторы для приводов с постоянной скоростью, реализованные, правда, в Step7, SCL. Использование датчика положения регулирующего органа позволило охватить ИМ обратной связью по положению. В этом внутреннем контуре реализуется зона нечувствительности по положению. Минимальное время включения определяется длительностью цикла контроллера. Такой охваченный обратной связью ИМ при рассчетах аппроксимируется А-звеном первого порядка. Сам ПИ-регулятор реализуется с помощью рекуррентного алгоритма, что позволяет легко обеспечить безударное переключение с ручного на автоматический режим. Хотелось бы обсудить вот какой вопрос: какие решения применяются для борьбы с нелинейностью статической характеристики регулирующего органа? Мы пробовали вводить обратную нелинейность (программно), но это приводит к недопустимому увеличению зоны нечувствительности ... |
|
Иван Данилушкин
|
|
Действительный член Присоединился: 14 Январь 2005 Категория: Russian Federation Online Status: Offline Публикации: 322 |
|
Я делал регулятор на основе вышеприведенного программного блока, характеристику регулирующего органа (РПК) снял по точкам, "перевернул" и завел на апроксиматор. По положению исполнительного механизма изменяется коэффициент передачи регулятора, чем компенсируется нелинейность характеристики.
|
|
Сергей
|
|
Ответить | Страница 123> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |