- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Алгоритм выхода на уставку с заданной скоростью
Модератор: kirillio
-
- здесь недавно
- Сообщения: 6
- Зарегистрирован: 06 окт 2013, 20:12
- Имя: Молодцов Роман Константинович
- Страна: Россия
- город/регион: Бийск / Алтайский край
Алгоритм выхода на уставку с заданной скоростью
Здравствуйте. По работе столкнулся с такой задачей: требуется менять температуру в емкости, посредством управления клапаном подачи горячей воды в рубашку емкости, с заданной скоростью. Клапан с аналоговым входом.
По техзаданию нагрев с комнатной температуры до 80 градусов разбит на три периода, в каждом периоде задана постоянная скорость нагрева.
Подскажите где почитать теорию по подобным регуляторам. (может существуют какие-то модификации ПИД регуляторов с таким параметром...)
По техзаданию нагрев с комнатной температуры до 80 градусов разбит на три периода, в каждом периоде задана постоянная скорость нагрева.
Подскажите где почитать теорию по подобным регуляторам. (может существуют какие-то модификации ПИД регуляторов с таким параметром...)
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: Алгоритм выхода на уставку с заданной скоростью
Это типичная задача програмного регулирования: программный задатчик формирует задание от времени на ПИ-регулятор. Как аппаратно должен быть реализован контур? Если ПЛК, то тут проблем возникунть не должно.
-
- почётный участник форума
- Сообщения: 3576
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 6 раз
- Поблагодарили: 271 раз
Re: Алгоритм выхода на уставку с заданной скоростью
Называется это задатчик интенсивности (ramp generator).
-
- здесь недавно
- Сообщения: 6
- Зарегистрирован: 06 окт 2013, 20:12
- Имя: Молодцов Роман Константинович
- Страна: Россия
- город/регион: Бийск / Алтайский край
Re: Алгоритм выхода на уставку с заданной скоростью
Большое спасибо за быстрый ответ. буду внедрять такое решение. Если не сложно поясните почему дифференциальная составляющая с этом случае не нужна? И ещё, нужно ли менять коэффициенты регулятора для задачи и поддержания температуры и ее роста с заданной скоростью.
-
- почётный участник форума
- Сообщения: 3576
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 6 раз
- Поблагодарили: 271 раз
Re: Алгоритм выхода на уставку с заданной скоростью
Регуляторы не обеспечивают заданные темпы роста величин, для этого применяются задатчики интенсивности. То есть в Вашей задаче нужен задатчик интенсивности с переменным темпом на входе, а далее уже дело обычного регулятора.
Вот, что творит ЗИ с прямоугольным сигналом на входе:
Обратите внимание на тоненькую синенькую линию внизу. Представьте, что это задание температуры для контура регулирования температуры. А толстая красная линия вверху - это тоже задание температуры, при чем тут всего два уровня - 0 градусов и 80 градусов.
Вот, что творит ЗИ с прямоугольным сигналом на входе:
Обратите внимание на тоненькую синенькую линию внизу. Представьте, что это задание температуры для контура регулирования температуры. А толстая красная линия вверху - это тоже задание температуры, при чем тут всего два уровня - 0 градусов и 80 градусов.
-
- почётный участник форума
- Сообщения: 1746
- Зарегистрирован: 18 янв 2009, 12:25
- Имя: Дмитрий
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 143 раза
Re: Алгоритм выхода на уставку с заданной скоростью
Узнаю производство полистирола. В практически всех современных ПЛК есть функциональный блок Ramp. На входе требуемая величина и время, за которое эту величину требуется достичь. Выход Ramp блока подается в качестве задания на ПИД регулятор. Диф. составляющая требуется и должна быть очень большая.Good_winn писал(а):По техзаданию нагрев с комнатной температуры до 80 градусов разбит на три периода, в каждом периоде задана постоянная скорость нагрева.
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: Алгоритм выхода на уставку с заданной скоростью
Топикстартер ничего не говорил о темпах роста. Я чесно говоря не знаю что такое задатчик интенсивности, но рамп-генератор мне вроде-как понятен. Но графики вверху наверное взяты с какого-то аппаратного устройства?
Если нужна линейная ломаная в качестве задания, а инерционность роста задания в несколько раз больше инерционности объекта по каналу измерения, то все должно получиться с комбинации ПИ и программного задатчика. Д-составляющая там не нужна если нет быстрых возмущений.
Если нужна линейная ломаная в качестве задания, а инерционность роста задания в несколько раз больше инерционности объекта по каналу измерения, то все должно получиться с комбинации ПИ и программного задатчика. Д-составляющая там не нужна если нет быстрых возмущений.
-
- здесь недавно
- Сообщения: 6
- Зарегистрирован: 06 окт 2013, 20:12
- Имя: Молодцов Роман Константинович
- Страна: Россия
- город/регион: Бийск / Алтайский край
Re: Алгоритм выхода на уставку с заданной скоростью
Сегодня говорил с заказчиком, выяснил подробности автоматизируемого процесса.
Исполнительных механизмов будет два: клапан подачи горячей воды и клапан подачи захоложенной воды. Производство химическое, раствор в емкости может разогреваться сам и регулятор в каком-то диапазоне температур скорее должен сдерживать нагрев холодной водой чем нагревать.
В качестве параметров процесса даны именно скорости нагрева которые необходимо поддерживать внутри каждого температурного диапазона. (V1 ° в мин до T1°; V2 ° в мин с T1° до Т2° и т д)
Как я понимаю отрицательные значения выхода регулятора нужно продавать на клапан холодной воды положительные на клапан горячей воды.
Исполнительных механизмов будет два: клапан подачи горячей воды и клапан подачи захоложенной воды. Производство химическое, раствор в емкости может разогреваться сам и регулятор в каком-то диапазоне температур скорее должен сдерживать нагрев холодной водой чем нагревать.
В качестве параметров процесса даны именно скорости нагрева которые необходимо поддерживать внутри каждого температурного диапазона. (V1 ° в мин до T1°; V2 ° в мин с T1° до Т2° и т д)
Как я понимаю отрицательные значения выхода регулятора нужно продавать на клапан холодной воды положительные на клапан горячей воды.
-
- авторитет
- Сообщения: 878
- Зарегистрирован: 21 авг 2009, 14:25
- Имя: Василий Иванович
- Благодарил (а): 1 раз
- Поблагодарили: 3 раза
Re: Алгоритм выхода на уставку с заданной скоростью
Люди, да чего уж проще с этой рампой! Вот вам алгоритм, обвяжите и размножьте его и пользуйтесь. Поди не бином Ньютона.
Код: Выделить всё
IF ABS(IN-OUT) > MAXSTEP THEN
IF IN > OUT THEN OUT := OUT + MAXSTEP;
ELSE OUT := OUT - MAXSTEP;
END_IF;
ELSE OUT := IN;
END_IF;
-
- авторитет
- Сообщения: 878
- Зарегистрирован: 21 авг 2009, 14:25
- Имя: Василий Иванович
- Благодарил (а): 1 раз
- Поблагодарили: 3 раза
Re: Алгоритм выхода на уставку с заданной скоростью
Ну и применительно к температурным диапазонам:
Код: Выделить всё
IF Temp < Temp1 THEN PIDsetpoint := RAMP( Setpoint, MaxStep1);
ELSIF Temp < Temp2 THEN PIDsetpoint := RAMP( Setpoint, MaxStep2);
ELSE PIDsetpoint := RAMP( Setpoint, MaxStep3);
END_IF;
-
- авторитет
- Сообщения: 878
- Зарегистрирован: 21 авг 2009, 14:25
- Имя: Василий Иванович
- Благодарил (а): 1 раз
- Поблагодарили: 3 раза
Re: Алгоритм выхода на уставку с заданной скоростью
На выход ПИДа повесить Split Range с примерно вот такой функцией:
Код: Выделить всё
IF IN < 50 THEN OUT1 := 2 *(50 - IN); OUT2 := 0;
ELSE OUT1 := 0; OUT2 := 2 * (IN - 50);
END_IF;
-
- здесь недавно
- Сообщения: 6
- Зарегистрирован: 06 окт 2013, 20:12
- Имя: Молодцов Роман Константинович
- Страна: Россия
- город/регион: Бийск / Алтайский край
Re: Алгоритм выхода на уставку с заданной скоростью
Подскажите каким образом в данном случае следует подбирать коэффициенты ПИД, ведь они будут различны для клапанов горячей и холодной воды. По какому из них снимать задержку реакции и полосу пропорциональности?Василий Иванович писал(а):На выход ПИДа повесить Split Range с примерно вот такой функцией:Код: Выделить всё
IF IN < 50 THEN OUT1 := 2 *(50 - IN); OUT2 := 0; ELSE OUT1 := 0; OUT2 := 2 * (IN - 50); END_IF;
-
- авторитет
- Сообщения: 878
- Зарегистрирован: 21 авг 2009, 14:25
- Имя: Василий Иванович
- Благодарил (а): 1 раз
- Поблагодарили: 3 раза
Re: Алгоритм выхода на уставку с заданной скоростью
Не надо для них разных коэффициентов, один и тот же пойдет на ура. Split range - типовое решение для регулирования температуры.