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

Тема: Работа ТЭНа с ПИД регулятором

  1. #1

    По умолчанию Работа ТЭНа с ПИД регулятором

    Добрый вечер. Столкнулся с проблемой вывода значения в ПИД регуляторе, принцип работы у него простой:
    На вх. значение подаётся температура в шкафу, она должна добраться до уставки, при этом не выходя за пределы этой уставки благодаря изменению выходного сигнала, т.е. изменению мощности работы ТЭНа.
    На деле получается, что температура доходит до уставки, и только потом вых. значение начинает меняться, до изменения она стабильно висит на 100%. Что подскажете делать?
    Изображения Изображения

  2. #2

    По умолчанию

    Дополню: делаю на Codesys 3.5 SP16 patch 3

  3. #3

    По умолчанию

    Цитата Сообщение от V0lodya Посмотреть сообщение
    На вх. значение подаётся температура в шкафу
    Может я стал плохо видеть, но вход регулятора (PID), подаётся выход (word) со счётчика импульсов.

  4. #4

    По умолчанию

    Вам нужно на выходе с блока PID придумать ШИМ

    2019-10-19_14-20-12.png

    2023-05-03_03-41-57.png
    +79104444236
    С уважением,
    Лапшин Вячеслав

  5. #5

    По умолчанию

    делал нечто подобное, но использовал стандартные библиотечные блоки.

    FUNCTION_BLOCK MY_PWM
    VAR_INPUT
    Enable:BOOL; //Разрешение работы
    Y:REAL; //Вход от ПИД регулятора 0...100%
    END_VAR
    VAR_OUTPUT
    Out:BOOL; //Выход на исполнительный механизм (нагреватель)
    END_VAR
    VAR
    TL,TH:lin_trafo;
    Time_Low,Time_High:TIME;
    BL:blink;
    END_VAR

    TL(IN:=Y, IN_MIN:=0,IN_MAX:=100,OUT_MIN:=9500,OUT_MAX:=500); // Расчет длительности паузы (мс)
    TH(IN:=Y, IN_MIN:=0,IN_MAX:=100,OUT_MIN:=500,OUT_MAX:=9500); //Расчет длительности импульса (мс)
    Time_Low:=REAL_TO_TIME(TL.OUT);
    Time_High:=REAL_TO_TIME(TH.OUT);
    BL(ENABLE:=TRUE, TIMELOW:=Time_Low, TIMEHIGH:=Time_High);
    Out:=BL.OUT AND Enable;
    Существует еще блок CTRL_PWM в библиотеке OSCAT, который делает в сущности то же самое.
    Последний раз редактировалось SlavikP; 03.05.2023 в 07:11.
    Life is complex: it has both real and imaginary components.

  6. #6
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,033

    По умолчанию

    V0lodya
    У меня есть подозрения, что в данном случае коэффициенты Ki и Kd имеют слишком малое значение.
    --
    Можно попробовать принудительно ограничить мощность по мере похода актуального значения к уставке.
    Например:
    IF sett-ACTUAL <= 2 //если разница между заданием и актуальными данными меньше 2;
    THEN Y_MAX :=90; //то ограничиваем выход ПИД до 90%
    ELSE Y_MAX :=100; //иначе работаем без ограничений
    END_IF;

Похожие темы

  1. КЗР с ПИД регулятором
    от сергей тверь в разделе Программируемые реле
    Ответов: 10
    Последнее сообщение: 12.11.2019, 11:34
  2. Подключение тэна через трехфазное твердотельное реле
    от Kley107 в разделе Подбор Оборудования
    Ответов: 3
    Последнее сообщение: 26.10.2017, 08:10
  3. Ответов: 5
    Последнее сообщение: 29.09.2016, 18:06
  4. ПИД-регулирование ТЭНа 380В
    от Александр1979 в разделе Эксплуатация
    Ответов: 4
    Последнее сообщение: 10.04.2009, 11:11
  5. Прибор для регулирования ТЭНа 0-100%
    от serg_g в разделе Подбор Оборудования
    Ответов: 7
    Последнее сообщение: 28.10.2008, 18:08

Ваши права

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