Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 47

Тема: ПЛК110 с ПИД-регулятором из Utils.lib

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Тем, что вне блока их реализовать невозможно.

  2. #2

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Почему это ? (я про маnual и offset) //ушел смотреть
    Потому, что не всегда надо начинать регулирование с 0.
    Мануал используется для "подхвата" с предыдущего этапа регулирования (ручного, иным ПИДом, ....)
    Оффсет используется скажем в каскадном регулировании, когда выходное значение ПИДа скажем от 10 до 40.

  3. #3

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Остальное - поверх пида, т.е. сборки специализированных пид-содержащих регуляторов хоть с мертвой зоной, хоть крестикомвышивающих.
    Посоветуйте как лучше реализовать мертвую зону на утиловском для регулирования температуры задвижкой.

    1.
    pid();
    if abs(SP-PV) < deadband then
    pid.Y := 0; // чтобы задвижка стояла на месте
    end_if

    2.
    pid();
    if abs(SP-PV) < deadband then
    SP:=PV;
    end_if

    3.
    pid();
    if abs(SP-PV) < deadband then
    SP:=PV;
    pid.Y := 0;
    end_if

    Можете предложить свой вариант.

  4. #4

    По умолчанию

    Цитата Сообщение от dzukp Посмотреть сообщение
    Посоветуйте как лучше реализовать мертвую зону на утиловском для регулирования температуры задвижкой.
    ....
    Можете предложить свой вариант.
    можно так

    Код:
    Pid();
    IF Pid.Y <5 AND Pid.Y > -5 THEN (*например меньше 5 больше -5*)
    	P:=0;(*исполнитель отключен*)
    ELSE
    	P:=Pid.Y;(*исполнитель в работе*)
    END_IF
    Последний раз редактировалось Crusash; 26.11.2018 в 14:08.

  5. #5

    По умолчанию

    Цитата Сообщение от Crusash Посмотреть сообщение
    можно так

    Код:
    Pid();
    IF Pid.Y <5 AND Pid.Y > -5 THEN (*например меньше 5 больше -5*)
    	P:=0;(*исполнитель отключен*)
    ELSE
    	P:=Pid.Y;(*исполнитель в работе*)
    END_IF
    В этом варианте меня смущает, что, возможно, будет постоянно расти интегральная составляющая.

  6. #6

    По умолчанию

    Цитата Сообщение от dzukp Посмотреть сообщение
    Посоветуйте как лучше реализовать мертвую зону на утиловском для регулирования температуры задвижкой.
    Ни один из этих вариантов у вас работать не будет. В первом варианте вы не сможете присвоить выходу значение. Во втором варианте у вас уставка будет постоянно "следовать" за переменной, как только переменная попадет в зону нечувствительности. Только если PV изменится резко, чтобы выскочить из зоны, только тогда ПИД заработает.
    Ну а третий вариант это сумма двух первых.

  7. #7
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,799

    По умолчанию

    Цитата Сообщение от SBeaR Посмотреть сообщение
    Ни один из этих вариантов у вас работать не будет. В первом варианте вы не сможете присвоить выходу значение. Во втором варианте у вас уставка будет постоянно "следовать" за переменной, как только переменная попадет в зону нечувствительности. Только если PV изменится резко, чтобы выскочить из зоны, только тогда ПИД заработает.
    Ну а третий вариант это сумма двух первых.
    if Pid.Pv>=Pid.Sv-Dead_band OR Pid.Pv<=Pid.Sv+Dead_band THEN
    Pid.Pv:=Pid.Sv;
    end_if;
    ...
    ...
    ...
    Pid();
    Т.е вариант№2 товарища стартера, именно этого не хватает в "заводской" комплектации утильного ПИД регулятора, проверено десятками стабильно работающих реализаций. Тут еще кто-то пургу мел про Tn="многим тысячам"...,так вот то именно пурга(или бред). Зырьте формулу,для этого даже код открывать не надо.
    Как то так...

    З.Ы Вы тут такую пургу метете... Господа!Пришлите мне того-же, что вы курите.
    Последний раз редактировалось Sergey666; 26.11.2018 в 21:49.

  8. #8

    По умолчанию

    Можно и так. У одного российского производителя ПЛК со своей системой программирования в первых версиях вообще вычмхитание уставки из величины выносилось вне ФБ - точно по учебнику ТАУ.

  9. #9

    По умолчанию

    А почему нельзя подавать сигнал сброса на вход Reset регулятора?

  10. #10

    По умолчанию

    Цитата Сообщение от Andrew_Stranger Посмотреть сообщение
    А почему нельзя подавать сигнал сброса на вход Reset регулятора?
    Потому что не всегда при выходе на уставку регулятор обнуляется. Для ряда процессов, например таких как поддержание давления, при PV=SP выход регулятора будет каким либо отличным от нуля числом.

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Похожие темы

  1. Помогите разобраться с ПИД регулятором
    от Айдар в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 07.11.2016, 15:13
  2. Помогите разобраться с ПИД-регулятором
    от Андрей Макаров в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 10.08.2009, 13:08
  3. Управление регулятором расхода
    от Alju в разделе Подбор Оборудования
    Ответов: 10
    Последнее сообщение: 22.08.2008, 17:05
  4. помогите с ПИД-регулятором.
    от Ден в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 12.08.2008, 15:42

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

Ваши права

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