Страница 33 из 49 ПерваяПервая ... 23313233343543 ... ПоследняяПоследняя
Показано с 321 по 330 из 509

Тема: ПИД регулятор

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

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

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    Программировать я не умею, поэтому сделал так:
    Спасибо, потестирую.
    Несколько замечаний к своему же посту.
    Цитата Сообщение от mf_ Посмотреть сообщение
    Замутил фб с расчетом значений а и L для метода CHR отсюда http://www.bookasutp.ru/Chapter5_5.a...rametersChoose Здесь коэффициенты пид регулятора рассчитываются из переменных полученных из времени задержки реакции и угла перелома графика... И вот тут я не понял, каким образом мне запустить сей процесс? Предположу, что нужно открыть кран на определенную величину и обрабатывать график изменения расхода по времени.
    Если с регулятором уровня такой финт прокатил, то с расходом так не получится, потому что график в этом случае уходит резко вверх без всякой задержки... во всяком случае, она очень мала. Как быть?
    Также, с нетерпением жду совета по поводу разных коэффициентов для ниспадающего и возрастающего графиков.

  2. #2

    По умолчанию

    Одно замечание по поводу шарового крана. Регулировочная характеристика шарового крана резко нелинейна, возможно, этим объясняются ваши проблемы:
    Цитата Сообщение от mf_ Посмотреть сообщение
    В процессе подбора выяснилось, что одни и те же коэффициенты не подходят для уставок с разным знаком, т.е. если нам нужно снизить расход, обязательно без перерегулирования, то подобранные коэффициенты при повышении уставки расхода приводят к значительному перерегулированию, и наоборот (коэфф-ты подобранные для повышения расхода без перерегулирования приводят к провалу при понижении расхода). Как быть? Программно задавать разные коэфф-ты для одного регулятора или лучше использовать разные регуляторы?
    Да, еще вопросик.. несколько раз замечал, что при снижении уставки расхода, реальный расход, регулируемый пид-регулятором, сначала идет резко вверх, а затем, после некоторого горизонтального дрейфа, плавно снижается к уставке. Из-за чего это происходит понять не успел. Предполагаю, что из-за интегратора. Может он переполнятся (целочисленно) и выдает отрицательное значение вместо положительного... В пид есть флаг переполнения, я его никак не обрабатываю программно. Может быть в этом дело? Что посоветуете?
    http://www.belimo.ru/catalog/zaporno...arovye-krany-/

  3. #3

    По умолчанию

    Завтра проверю работу ПИД с разными коэффициентами вверх и вниз.
    Правильно ли я понимаю, что при смене уставки можно смело обнулять интегральный компонент?
    По поводу остальных сомнений нет - можно обновлять, т.к. они не несут в себе исторических данных.

  4. #4

    По умолчанию

    Разные коэффициенты сносно работают для регулировки расхода с помощью трехпозиционного шарового крана (управление по шим).

    Однако, не могу разобраться с ПИД регулятором для частотника поддерживающего уровень. Уровень поддерживается постоянным (+-1%) даже при сильных колебаниях расхода, но при постоянном расходе (стабильный уровень поддерживается) но частота постоянно гуляет в диапазоне +-10 Гц. И угомонить ее у меня не получается. Код ниже, могу предположить, что как-то не так работаю с аналоговым регулированием (4..20мА).

    Код:
    FUNCTION_BLOCK pid_pchv
    VAR_INPUT
    	actual:REAL;
    	set_point:REAL;
    	kp: REAL;
    	tn: REAL;
    	tv: REAL;
    	z:REAL;
    	y_max:REAL;
    	period:WORD;
    	reset:BOOL;
    END_VAR
    VAR_OUTPUT
    	out_real:REAL;
    END_VAR
    VAR
    	PID:PID;
    	y_min:REAL;
    	e:REAL;
    	y_real: REAL;
    	y_int: INT;
    	tm1:TON;
    END_VAR
    
    tm1(IN:=TRUE, PT :=  WORD_TO_TIME(period*1000+10));
    y_min:=-1*y_max;
    IF tm1.Q THEN (*опрашиваем датчик раз в 10 сек*)
    actual := (actual- 4)/0.16; (*переводим ток в уровень от 0 до 100*)
    e := actual - set_point;
    	IF ABS(e) > z THEN
    		pid(
    			ACTUAL := e,
    			SET_POINT := 0,
    			KP := kp,
    			TN := tn,
    			TV := tv,
    			Y_MIN := y_min/100, (*мА*)
    			Y_MAX := y_max/100); (*мА*)
    
    	END_IF
    	tm1(IN:=FALSE);
    END_IF
    
    out_real := -y_real; (*возвращает разницу которую нужно добавить к текущему значению токового выхода*)
    y_real:=0;
    Последний раз редактировалось mf_; 17.08.2017 в 11:00.

  5. #5

    По умолчанию

    DSC_1650.JPG
    Фото как это выглядит.

  6. #6
    Пользователь
    Регистрация
    10.09.2012
    Адрес
    Кемерово
    Сообщений
    93

    По умолчанию

    Цитата Сообщение от mf_ Посмотреть сообщение
    но частота постоянно гуляет в диапазоне +-10 Гц. И угомонить ее у меня не получается. Код ниже,
    Пчшка - довольно шустрый объект, и опрашивать датчик раз в 10 сек тут нельзя - это не воздух в комнате регулировать
    Вообщем надо инициировать расчет вашей уставки actual заметно чаще чем раз в 10 сек.

  7. #7

    По умолчанию

    Цитата Сообщение от MikeF Посмотреть сообщение
    Пчшка - довольно шустрый объект, и опрашивать датчик раз в 10 сек тут нельзя - это не воздух в комнате регулировать
    Вообщем надо инициировать расчет вашей уставки actual заметно чаще чем раз в 10 сек.
    Пробовал раз в 1 сек, ситуация не меняется. Мне кажется тут дело не в шустроте объекта, а в том, что за 1 сек уровень не сильно изменится, т.е. график роста или падения уровня достаточно пологий.

  8. #8
    Пользователь
    Регистрация
    10.09.2012
    Адрес
    Кемерово
    Сообщений
    93

    По умолчанию

    Значит сам датчик опрашивается медленно модулем аналогового ввода. Скачки то с каким периодом идут?

  9. #9

    По умолчанию

    Цитата Сообщение от MikeF Посмотреть сообщение
    Значит сам датчик опрашивается медленно модулем аналогового ввода. Скачки то с каким периодом идут?
    Период колебаний около 4-х минут. Извините, не понял как датчик может опрашиваться медленнее, чем я его опрашиваю (с частотой периода)?
    Т.е. я с заданной частотой 1..10 сек опрашиваю датчик, запихиваю результат в модуль пид, получаю результат - выдаю воздействие.
    Последний раз редактировалось mf_; 17.08.2017 в 13:11.

  10. #10
    Пользователь
    Регистрация
    10.09.2012
    Адрес
    Кемерово
    Сообщений
    93

    По умолчанию

    Если 4 мин тогда это конечно не то, а скорее всего неправильные настройки регулятора, может надо ув. П и ускорить И составляющую. Также возможно ПИД-регулятор написан в целочисленке и соответственно возникают погрешности при округлении, отсюда и ступеньки.

Страница 33 из 49 ПерваяПервая ... 23313233343543 ... ПоследняяПоследняя

Похожие темы

  1. регулятор
    от Egor в разделе ПЛК63/73
    Ответов: 8
    Последнее сообщение: 23.02.2011, 10:58
  2. пид регулятор плк 150 и.м.
    от mihan-987654321 в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 23.09.2010, 12:17
  3. пид регулятор с шим в 110-60
    от AKHolod в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 07.07.2010, 14:19
  4. ПИД-регулятор
    от trunf в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 14.11.2008, 23:17
  5. ПИД регулятор
    от Александр М в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 22.10.2007, 08:47

Ваши права

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