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

Тема: ПИД регулятор для задвижки (дискретные выходы больше/меньше)

  1. #1
    Пользователь Аватар для d-view
    Регистрация
    24.03.2013
    Адрес
    Луганск
    Сообщений
    22

    Question ПИД регулятор для задвижки (дискретные выходы больше/меньше)

    Приветствую всех.

    Нарисовал ПИД регулятор для задвижки.
    Хотел попросить всех, кому интересно посмотреть (потестить), покритиковать мое "творчество".
    Рисовал в Codesys 3.5 SP5.

    PID.png

    pid1.png

    Если ход моих мыслей будет не понятен - спрашивайте.
    Вложения Вложения
    Последний раз редактировалось d-view; 28.03.2015 в 18:13.

  2. #2

    По умолчанию

    Попробовал на стенде. При Set_point=Actual (с точностью до сотых) щелкает без останова в одну из сторон, кроме того, при этом, период и длительность импульсов почему-то зависит от времени дифференцирования, чего при статичном значении входа быть не должно по определению. Глубже не полез...

    Кстати уже имеется подобная тема http://www.owen.ru/forum/showthread.php?t=17728
    Последний раз редактировалось Монтёр; 29.03.2015 в 01:07.

  3. #3
    Пользователь Аватар для d-view
    Регистрация
    24.03.2013
    Адрес
    Луганск
    Сообщений
    22

    По умолчанию

    Спасибо за ответ и за тестдрайв. Будем разбираться где накосячил.

    Цитата Сообщение от Монтёр Посмотреть сообщение
    Попробовал на стенде. При Set_point=Actual (с точностью до сотых) щелкает без останова в одну из сторон, кроме того, при этом, период и длительность импульсов почему-то зависит от времени дифференцирования, чего при статичном значении входа быть не должно по определению. Глубже не полез...

    Кстати уже имеется подобная тема http://www.owen.ru/forum/showthread.php?t=17728

  4. #4

    По умолчанию

    Вы вообще зря использовали состояния.

    Работа ПД - регулятора для задвижки очень проста.

    Выходы - это по сути ШИМ (или ЧИМ - по вашему выбору). Т.е. скорость движения задвижки.

    Скорость определяется суммой пропорц и дифф. составляющих.

    E=Sp-PV (невязка)
    Ed=(SP-D/dT) - дифф составляющая

    ШИМ (больше) = Если скорость >0 - ШИМ( kP*E + kD*Ed)
    ШИМ (меньше) = Если скорость <0 - ШИМ (-( kP*E +kD*Ed))

    kP - можно заменить на обратную величину - XP =1/kP


    Привет Луганску ))))))
    Часто задаваемые вопросы по кодесис
    1) Почему программа не работает - Следует выполнить "Онлайн ->Старт"
    2) Где скачать CoDeSys, таргеты, прошивки, библиотеки - http://www.owen.ru/catalog/codesys_v3/opisanie

  5. #5

    По умолчанию

    Вы вообще зря использовали состояния.


    Работа ПД - регулятора для задвижки очень проста.

    Выходы - это по сути ШИМ (или ЧИМ - по вашему выбору). Т.е. скорость движения задвижки.

    Скорость определяется суммой пропорц и дифф. составляющих.

    E=Sp-PV (невязка)
    Ed=(SP-PV)/dT - дифф составляющая

    ШИМ (больше) = Если скорость >0 - ШИМ( kP*E + kD*Ed)
    ШИМ (меньше) = Если скорость <0 - ШИМ (-( kP*E +kD*Ed))

    kP - можно заменить на обратную величину - XP =1/kP


    Привет Луганску ))))))

    P.S. для задвижки ВСЕГДА следует всегда использовать зону НЧ - если ABS ( Ey ) < DB = > Ey:=0
    P.P.S. Злой яндекс тычет меня в классическую ТАУ http://www.bookasutp.ru/Chapter5_2.aspx
    P.P.P.S Рекомендую сделать имитатор - задвижки и погонять. В качестве имитатора пойдет линия задержки с 2-3 звеньями сглаживания
    Последний раз редактировалось Малышев Олег; 08.04.2015 в 08:49.
    Часто задаваемые вопросы по кодесис
    1) Почему программа не работает - Следует выполнить "Онлайн ->Старт"
    2) Где скачать CoDeSys, таргеты, прошивки, библиотеки - http://www.owen.ru/catalog/codesys_v3/opisanie

  6. #6
    Пользователь Аватар для d-view
    Регистрация
    24.03.2013
    Адрес
    Луганск
    Сообщений
    22

    По умолчанию

    Спасибо, что заинтересовались моим вопросом. А почему вы так про состояния?
    По поводу ШИМ: в моем понимании ПИД для задвижки - это расчет времени включения задвижки откр/закр * на коэффициент. Время вычисляется в зависимости от скорости изменения измеряемой величины и величины рассогласования (в принципе, как вы и говорили - ПД). Нагородил так много из-за того, что добавил одно условие:
    если Sp-PV<>0, и:
    1. (SP-PV)/dT=0;
    2. (SP-PV)/dT>0;
    3. (SP-PV)/dT<0.
    Вот из этого условия добавил 3 варианта расчета времени включения откр/закр.

    Цитата Сообщение от Малышев Олег Посмотреть сообщение
    Вы вообще зря использовали состояния.


    Работа ПД - регулятора для задвижки очень проста.

    Выходы - это по сути ШИМ (или ЧИМ - по вашему выбору). Т.е. скорость движения задвижки.

    Скорость определяется суммой пропорц и дифф. составляющих.

    E=Sp-PV (невязка)
    Ed=(SP-PV)/dT - дифф составляющая

    ШИМ (больше) = Если скорость >0 - ШИМ( kP*E + kD*Ed)
    ШИМ (меньше) = Если скорость <0 - ШИМ (-( kP*E +kD*Ed))

    kP - можно заменить на обратную величину - XP =1/kP


    Привет Луганску ))))))

    P.S. для задвижки ВСЕГДА следует всегда использовать зону НЧ - если ABS ( Ey ) < DB = > Ey:=0
    P.P.S. Злой яндекс тычет меня в классическую ТАУ http://www.bookasutp.ru/Chapter5_2.aspx
    P.P.P.S Рекомендую сделать имитатор - задвижки и погонять. В качестве имитатора пойдет линия задержки с 2-3 звеньями сглаживания
    Последний раз редактировалось d-view; 09.05.2015 в 18:10.

Похожие темы

  1. ПИД регулятор для OWEN logic
    от LamSer в разделе Программируемые реле
    Ответов: 511
    Последнее сообщение: 05.01.2024, 12:36
  2. Ответов: 0
    Последнее сообщение: 19.03.2015, 11:14
  3. Ответов: 14
    Последнее сообщение: 22.08.2012, 11:57
  4. Ответов: 8
    Последнее сообщение: 15.01.2011, 22:59

Ваши права

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