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

Тема: Применение ФБ PID (Util.lib) - при Ти=0 в "ручном" режиме не меняется выход

  1. #1

    По умолчанию Применение ФБ PID (Util.lib) - при Ти=0 в "ручном" режиме не меняется выход

    Здравствуйте, уважаемые специалисты.

    При отладке кода для ПЛК110-32[M02] столкнулся со странным поведением ФБ PID из Util.lib.

    По логике программы в режиме ожидания пуска оборудования управление ПЧВ следующее:
    - ФБ PID: вход bManual=true
    - при положении переключателя Р-О-А в "А", сигнал "Пуск ПЧВ"=false, вход YManual=0, ПЧВ выключен
    - при положении переключателя Р-О-А в "Р", сигнал "Пуск ПЧВ"=true, вход YManual изменяется от кнопок со щита, таким образом проверяется работа ПЧВ

    Т.к. программа на этапе создания, то параметры Кп, Ти, Тд - вводимые с панели оператора - временно остаются нулевыми.

    По идее, в ручном режиме при bManual=true значение YManual должно передаваться на выход ФБ PID без изменений. Но, заметил, что при Ти=0, значение выхода не изменяется, сохраняя последнее значение, которое было при Ти<>0.

    Если это так и задумано разработчиками CoDeSys - почему об этом ничего в документации нет?
    https://help.codesys.com/webapp/o2pf...rsion=3.5.17.0

    Чтобы не быть голословным - сегодня ещё раз перепроверил:
    1. При Ти=100 со щита изменил входное значение YManual=9,0 при этом изменился и выход Y=9,0
    2. Изменил значение Ти=0
    3. Изменил значение YManual=16,8 при этом выход остался Y=9,0
    PID_Ti=0_.PNG

    Данные ПЛК
    Код:
    PLCInfo
    PLC model MODEL PLC 110-32 
    Версия ПО метр: 2.0 
    Binary  VERSION 1.2.42 
    Need Target version >= 3.12 
    Compiled: 14:36:54 Feb  8 2021 
    STM32 binary version 115
    MAC E4:1E:0A:01:F8:D9 
    IP 10.0.6.10
    GATE 10.0.6.1
    MASK 255.255.255.0
    targets_v3.3_for_plc1xx_m02 файлы скачал в апреле, firmware не обновлял (предлагалась та же версия v.1.2.42_plc110_m02).
    Последний раз редактировалось FPavel; 10.06.2022 в 09:24.

  2. #2

    По умолчанию

    Ты формулу ПИД посмотри. Tи (Tn) не может быть равным 0.
    Изображения Изображения

  3. #3

    По умолчанию

    Так и режим работы MANUAL=true, т.е. не вычисления, а трансляция входа Y_MANUAL на выход Y.

    И обнаружил при попытке проверки исполнительных механизмов ещё до настройки ПИД регуляторов, т.е. Ти ещё оставалось равной 0.

    В документации не отражено такое поведение, нет указаний на Ти>0. Что остановит киповца при донастройке уменьшить до 0 этот параметр? Сейчас в программе приму меры по ограничению диапазона. Но сколько можно узнавать экспериментально?!

  4. #4

    По умолчанию

    Деление на 0 невозможно. Из-за этого проблема. Если необходимо нивелировать интегральную составляющую, то надо сделать Ти максимально большой.
    Последний раз редактировалось IVM; 10.06.2022 в 11:26.

  5. #5

    По умолчанию

    При правильной настройке ПИД работает как положено.
    Изображения Изображения

  6. #6

    По умолчанию

    А при не правильной настройке ПИД не работает как положено.
    Изображения Изображения

  7. #7
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,805

    По умолчанию

    Цитата Сообщение от FPavel Посмотреть сообщение
    Так и режим работы MANUAL=true, т.е. не вычисления, а трансляция входа Y_MANUAL на выход Y.

    И обнаружил при попытке проверки исполнительных механизмов ещё до настройки ПИД регуляторов, т.е. Ти ещё оставалось равной 0.

    В документации не отражено такое поведение, нет указаний на Ти>0. Что остановит киповца при донастройке уменьшить до 0 этот параметр? Сейчас в программе приму меры по ограничению диапазона. Но сколько можно узнавать экспериментально?!
    Выбрось "защиту от дурака" и будет так, как ты хочешь
    Захват-01.png

    По тому, как при Ти=0 или Кп=0, дальше первой строки код не выполняется. И плевать, что MANUAL=true
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  8. #8

    По умолчанию

    Спасибо, за советы.

    Как-то не сообразил открывать lib-файл, всё было бы проще. Хотя и пометка в документации была бы нелишней.

    Спасибо.

    Именно с Овен ПЛК опыта недостаёт и на ощупь перемещаюсь. Основные проблемы - по внутренним элементам ПЛК (связь с модулями, библиотечные блоки).
    Жаль времени уже мало - переделал бы свой ПИД для КЗР на основе ФБ PID.

  9. #9

    По умолчанию

    Цитата Сообщение от FPavel Посмотреть сообщение
    Как-то не сообразил открывать lib-файл, всё было бы проще. Хотя и пометка в документации была бы нелишней.
    Лазить в lib-файл и забивать себе голову вообще не надо. Там все верно сделано. Достаточно было посмотреть на формулу ПИД и понять что TN не может быть равен 0.

Похожие темы

  1. ПР102 как усилить выход "К"
    от Keldish в разделе Программируемые реле
    Ответов: 22
    Последнее сообщение: 21.04.2021, 14:06
  2. Аналоговый выход "И" ПР114. Измерение 4-20мА мультиметром.
    от des_na_laes@mail.ru в разделе Программируемые реле
    Ответов: 13
    Последнее сообщение: 09.07.2020, 10:18
  3. Ответов: 0
    Последнее сообщение: 02.02.2020, 21:44
  4. Ответов: 16
    Последнее сообщение: 15.02.2017, 11:39
  5. Как "взять пучок проводов и перевесить его на другой вход/выход"?
    от Владимир Ситников в разделе Среда программирования OWEN Logic
    Ответов: 11
    Последнее сообщение: 01.02.2016, 15:41

Ваши права

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