Показано с 1 по 7 из 7

Тема: как регулировать скорость изменения параметра?

  1. #1

    По умолчанию как регулировать скорость изменения параметра?

    Добрый день!

    Есть термостол. Регулирую температуру через библиотеку OSCAT PID -регулятор. Тут вопросов нет. А кто подскажет как можно реализовать еще и регулирование скорости изменения температуры? Т.е. задаем как температуру регулирования, так и скорость изменения этой температуры (град/сек). Пока, что пришло в голову - это использование P-регулятора с изменяемым коэффициентом P в зависимости от скорости изменения температуры...

    Спасибо..

  2. #2

    По умолчанию

    эээээ так у вас ПИД регулятор уже есть. Его и надо настраивать. Только нужен опытный автоматчик, способный снять переходную характеристику с объекта и рассчитать настройки регулятора согласно требуемой скорости изменения температуры

  3. #3

    По умолчанию

    Цитата Сообщение от Салихов Ильдар Посмотреть сообщение
    Добрый день!

    Есть термостол. Регулирую температуру через библиотеку OSCAT PID -регулятор. Тут вопросов нет. А кто подскажет как можно реализовать еще и регулирование скорости изменения температуры? Т.е. задаем как температуру регулирования, так и скорость изменения этой температуры (град/сек). Пока, что пришло в голову - это использование P-регулятора с изменяемым коэффициентом P в зависимости от скорости изменения температуры...

    Спасибо..
    Добрый день, Ильдар.
    Если я правильно понял задачу, то Вам необходимо плавно изменять уставку ПИД-регулятора от У1 до У2 в течение некоторого времени.

    В таком случае Вам подойдет ФБ LIN_TRAFO из библиотеки Util.lib
    Интерфейс ФБ выглядит так:
    LIN_TRAFO.png

    Для описанной выше задачи понадобится на входы IN_*** привязать все, что связано со временем, а на входы OUT_** все, что связано с уставкой.
    Т.е.
    IN_MIN - 0,
    IN_MAX - время за которое уставка должна достичь максимума;
    IN - время, прошедшее со старта изменения уставки

    OUT_MIN - стартовое значение уставки (У1);
    OUT_MAX - целевое значение уставки (У2);

    Выход ERROR будет равен TRUE, если Вы задали нулевое время роста уставки или значение на входе IN выходит за диапазон IN_MIN .. IN_MAX.
    А на выходе OUT будет содержаться текущее значение уставки.

    Но хватит слов. Перейдем к делу:

    Предположим есть 3 входных значения значения:
    Код:
    rStartValue			: REAL;			(* Стартовое значение параметра *)
    rDesiredValue			: REAL;			(* Целевое значение параметра *)
    timDesiredPeriod		: TIME;			(* Время, за которое должен измениться параметр *)
    и выходное
    Код:
    rCurrent			: REAL;			(* Текущее значение параметра *)
    Время старта хранится в переменной
    Код:
    m_timStartTime		: TIME;
    В таком случае расчет текущего значения параметра будет выглядеть так:
    Код:
    m_timExecutingBy := TIME() - m_timStartTime;
    m_fb_CurrentValueCalc.IN := TIME_TO_REAL (m_timExecutingBy);
    m_fb_CurrentValueCalc.IN_MIN := 0.0;
    m_fb_CurrentValueCalc.IN_MAX := TIME_TO_REAL (timDesiredPeriod);
    m_fb_CurrentValueCalc.OUT_MIN := m_rStartValue;
    m_fb_CurrentValueCalc.OUT_MAX := m_rEndValue;
    m_fb_CurrentValueCalc();
    rCurrent := m_fb_CurrentValueCalc.OUT;

    В приложении проект с реализованным ФБ SmoothValueChange на основе модели поведения Etrig (п. 5.1).
    Чтобы использовать в своем проекте:
    1) Перенесите типы данных ERRORS и STATE со вкладки "Data types" в свой проект;
    2) Перенесите ФБ SmoothValueChange в свой проект;
    3) Объявите экземпляр ФБ SmoothValueChange;
    4) Задайте значения входов в соответствии с их назначением;
    5) По переднему фронту xExecute ФБ начнет плавное изменение параметра;
    6) Добавьте в проект библиотеку Util.lib (если она еще не добавлена);
    7) Выход "rCurrent" экземпляра ФБ SmoothValueChange подайте на вход "уставка" ПИД-регулятора.

    Обратите внимание, что возможности прервать работу ФБ в такой реализации нет. Если она будет нужна - Вам понадобиться в соответствии с п. 5.2 документа выше добавить вход "xAbort".
    Вложения Вложения
    Последний раз редактировалось Осинский Алексей; 03.07.2018 в 16:38.
    OSCAT.ru читать стандарты и статьи по автоматизации на русском без регистрации и СМС

  4. #4

    По умолчанию

    Если я правильно понял задачу, то Вам необходимо плавно изменять уставку ПИД-регулятора от У1 до У2 в течение некоторого времени.
    мне показалось, что Автор хочет ограничить "темп" регулирования температуры, то есть интенсивность нагрева

  5. #5

    По умолчанию

    Цитата Сообщение от Global Посмотреть сообщение
    мне показалось, что Автор хочет ограничить "темп" регулирования температуры, то есть интенсивность нагрева
    Я сейчас вижу 2 варианта:
    1) Автору необходимо ограничить "темп" нагрева т.е. чтобы скорость нагрева\охлаждения никогда не превышала, например, 1°С/сек.
    В этом случае согласен с Вами - задача в настройке ПИД-регулятора

    Upd: но если верен этот пункт, то автор все же хочет иметь возможность динамически изменять "темп" нагрева.
    В таком случае, насколько я понимаю, простой настройкой это не решить.

    2) Автору необходимо реализовать "плавный" нагрев объекта: например греем стол от 27°С до 200°С в течение 30 минут.
    Как в нашем ТРМ251.
    В таком случае сработает плавное изменение уставки.
    Последний раз редактировалось Осинский Алексей; 03.07.2018 в 17:15.
    OSCAT.ru читать стандарты и статьи по автоматизации на русском без регистрации и СМС

  6. #6

    По умолчанию

    Да, все верно - нужно реализовать плавный нагрев. LIN_TRAFO похоже то, что нужно. Алексей - спасибо!

    upd: плавный нагрев с возможностью динамического изменения.Изучаю руководство по созданию библиотек.
    Последний раз редактировалось Салихов Ильдар; 03.07.2018 в 19:14.

  7. #7
    Пользователь
    Регистрация
    19.12.2006
    Адрес
    Нижний
    Сообщений
    146

    По умолчанию

    Посмотрите еще на функциональные блоки RAMP_INT и RAMP_REAL из библиотеки Util.lib. пару раз использовал их для плавного нарастания уставки.

Похожие темы

  1. Ответов: 2
    Последнее сообщение: 06.07.2016, 12:06
  2. Управление сервоприводом для регулировать температуры теплого пола
    от Николай Муханов в разделе Подбор Оборудования
    Ответов: 13
    Последнее сообщение: 14.05.2016, 11:57
  3. Ответов: 1
    Последнее сообщение: 26.09.2013, 08:58
  4. ФБ-скорость изменнения параметра
    от taruska в разделе Master SCADA
    Ответов: 1
    Последнее сообщение: 23.09.2011, 16:51
  5. Ответов: 6
    Последнее сообщение: 12.12.2008, 19:09

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •