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

Тема: не работает пид-регулятор(((

  1. #1

    По умолчанию не работает пид-регулятор(((

    Использую пид регулятор из библиотеки pidreg и плк-100. пид выполняет свою функцию, но лишь тогда, когда значение близко к уставке+-10 процентов. ежели например текущее значение 10 а уставка 80 то пид просто не реагирует воздействием((

  2. #2

    По умолчанию

    Я обычно использую ПИД из библиотеки Util.lib, а вызываю регулятор в программе с периодичностью 1 сек. Этот вариант 100% рабочий!!!
    Автоматизация Диспетчеризация Сервис
    e-mail: ads-kaluga@mail.ru

  3. #3

    По умолчанию

    Цитата Сообщение от Ander47 Посмотреть сообщение
    Использую пид регулятор из библиотеки pidreg и плк-100. пид выполняет свою функцию, но лишь тогда, когда значение близко к уставке+-10 процентов. ежели например текущее значение 10 а уставка 80 то пид просто не реагирует воздействием((
    Проще свой написать. Это 7 строчек на языке ST.

    А по pidreg, необходимо все параметры вызова функционального блока (кусок кода). Входной сигнал и вычисленное управляющее воздействие.

  4. #4

    По умолчанию

    Сегодня Пид-регулятор заработал. НО!! регулирование сближается к заданию в пределах 5 процентов. и рисует на графике синусоиду! Пид, выйдя на уставку не останавливается, а постоянно регулирует! в ФБ нет упоминание о зоне нечувствительности! как ее можно организовать? вместе с пидом из Util lib использую блок VALVE_REG_NO_POS из библиотеки pidregulator.lib. может в нем проблема? не могу понять как пользлваться входом SINH:BOOL; (* синхронизация начального положения*) этого ФБ. подскажите пожалуйста.

  5. #5

    По умолчанию

    на столе для наглядности подключил мэо(механизм электрический однооборотный) и использую в качестве регулируемой величины датчик его положения.

  6. #6

    По умолчанию

    Колебательный процесс для замкнутых систем регулирования это нормально, а вот амплитуда и частота колебаний и есть в нашем случае качество регулирования.

    Для уменьшения колебаний поставь коефициент пропорциональности 1 (Потом начинать подбирать настройки регулятора иммено с этого коэфициента)
    Время интегрирования для регулятора 60 сек.
    Время дифференцирования 1 сек.


    PID_Otoplen(
    ACTUAL:=irIzmerenoe,
    SET_POINT:=rlZadanie,
    KP:=1,
    TN:=60,
    TV:=1,
    Y_MANUAL:=0,
    Y_OFFSET:=0,
    Y_MIN:=0,
    Y_MAX:=100,
    MANUAL:=FALSE);
    intPosValveOtoplen:=TRUNC(PID_Otoplen.Y);


    Для Valve_REG_NO_POS
    DBF:=1 (*это зона нечувствительности поставь 1 или 2*)


    ValveOtoplen_REG_NO_POS(
    IN_VAL:= TRUNC(PID_Otoplen.Y),
    DBF:=1,
    FullMotionTime:=120,
    LuftTime:=3,
    SYNC:=0,
    ReversTime:=3,
    MinWork:=0.5,
    MinStop:=1,
    LESS=>qblnValveOtoplenie_Close, (*Закрытие клапана*)
    MORE=>qblnValveOtoplenie_Open); (*Открытие клапана*)

    После выше указанных манипуляций клапан будет адекватно изменять свое положение в соответствии с выставляемым заданием.
    Автоматизация Диспетчеризация Сервис
    e-mail: ads-kaluga@mail.ru

  7. #7

    По умолчанию

    использую такой
    PID_velo(язык ST) - ПИД регулятор. Использована скоростная форма (velocity form ) или рекуррентная формула алгоритма. Реализован безударный переход в ручной режим и автоматический. Можно использовать как в прямом, так и в обратном процессе (холодильник или нагреватель).e(t)- ошибка рассогласования
    плюс еще полезные вещи
    RS485_1err(язык ST)- отслеживает ошибки сети и наличие сетевого обмена
    T1_T_control (язык LD) -программа показывает использование
    T1S(язык LD)-задается такт в 1 секунду(включен 1 сек. И выключен 1 сек.). Настраивается в панели конфигуратора. Используется для тактирования ПИД регулятора. В блоке PID_velo выделяется передний и задний фронт сигнала T1S
    T_trigg(язык LD) По нажатию одной и той же кнопки происходит включение и выключение(при потребности включить в компиляцию)
    time_C(язык ST)-преобразует в миллисекунды циклические отсчеты времени преобразования с МВА-8. Удобно для настройки сетевых параметров и всех тактируемых элементов. Пример: зная, что время обновления канала 700мс нет смысла тактировать PID_velo сигналом 100мс
    valTOhmiINT(язык LD) определяет ошибку МВА-8 или сбой сети и подает необходимое значение, заведомо неверное, на панель оператора.
    ПЛК-110-ххх-60- М
    Изображения Изображения
    Вложения Вложения

Ваши права

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