Перейти на главную Журналы

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 [72] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175

(*инициализация*) с1 K*h/Ti;

(*регулятор*)

е UC - у;

Ipart:= Ipart + с1*е;

ud К*с + Ipart;

if (ud < umin) then u := umin

else if (ud < umax) then u :=

else ud := umax; Ipart := u - K*e;

(* вычисление сигнала управления *) (* функция ограничения *)

(* "антинасыщающая" поправка *) (* интегральной части *)

Для предотвращения насыщения у ПИД-регулятора описанный .метод следует несколько видоизменить. Интегральная часть обновляется с помощыо значения = u - Uj, которое представляет собой разность между реальны.м текущи.м выходо.м нсполирп-ельного механизмам и расчетным выходо.м регулятора и. Выход исполнительного .механизма либо из.меряется непосредственно, если это воз.можно, либо вычисляется с помощью .модели. Погрешность е. равна пулю, если исполнительный механизм обеспечивает требуемый управляющий сигнал и насыщения нет. Для сброса интегральной части сигнал умножается на множитель 1 /Г,, где Г, представляет собой коэффициент, который называется постоянной времени слежения {tracking time constant). В алгоритме ПИ-регулятора, приведенном выше, эта постоянная времени равна h, т. е. обновление выходной величины регулятора происходит уже к .мо.менту следующей выборки. Если алгоритм регулятора содержит дифференциальную часть, целесообразно обновлять интеграл гораздо реже. Соответствующее значение для постоянной времени слежения равно времени интегрирования Tj. При этом выходная величи11а ПИ регулятора равна

"rf(0 = "Р +UI- К-

е(0 + -

+ ~]\u{x)-u{r)]dr to

Чей - ограниченное значение [уравнение (6.34). Если управляющий сигнал насыщен, то разность и - будет из.менять интегральную часть до тех пор, пока насыщение не исчезнет, т. е. насыщение предотвращается. Этот .метод соответствует ?чс. 6.13 я.

Дифференцируя интегральную часть, получим

du, К 1

dt ъ

е

+ ---{и- и,,) 1

Пи в дискретном виде



246 Глаши§:!Ст]8рД»!ры упрвл

В результате алгоритм ПИ-регулятора принимает вид

ujikh) = К e(kh) + ujikh) (6,36

где Ujikh) определяется из уравнения (6.35). В данном случае интегрирование аппрок-си.мировано разностя.ми вперед в.место разностей назад. Такая за.мена необ.ходима,по. скольку ukh) должно быть известно до вычисления интегральной части. Эта модифицированная и улучпюнная процедура предотвращения интефального насыщени; [уравнения (6.35) и (6.36)] включена в алгорит.м ПИД-регулятора в разделе 6.5.8.

6.5.5. Плавный переход при изменении режима работы регулятора

При переключении с ручного на авто.матический режи.м выход регулятора може: измениться скачко.м, даже если опшбка управления равна нулю. Причина в том,чт( интегральный член в алгоритме регулятора не всегда обязательно равен нулю. Реп лятор является дина.мической системой, и интегральная часть представляет собэ; один из .зле.мснтов внутреннего состояния, который должен быть известен при изме нении режи.ма управления. Скачок выходной величины регулятора .можно предотвратить, а смена режи.ма в .зто.м случае называется плавным переходом (bumples: transfer). В ,зтой связи рассмотрим две ситуации:

- переход с ручного на авто.матический режи.м или наоборот;

- из.менение пара.метров регулятора.

Плавный переход с ручного на авто.матический режи.м для аналогового регуляторе достигается за счет того, что процесс вручную приводится к состоянию, в котором из-.меренное значение выходной величины равно опорному. Процесс поддерживаете); в это.м состоянии до тех пор, пока выходной сигнал регулятора равен нулю. Взтом случае интегральная часть также равна нулю, и поскольку ошибка равна нулю, то достигается плавный переход. Та же процедура подходит и для цифровых регуляторов.

Другой метод состоит в медленном доведении опорного значения до необходимо! конечной величины. Вначале опорное значение устанавливается равны.м текущем} из.мерению, а затем постепенно вручную доводится до желаемого. Если эта нpoиeдv-ра выполняется достаточно медленно, интегральная часть сигнала регулятора остается настолько .малой, что обеспечивается плавность перехода. Очевидным недостатком этого способа является то, что он требует достаточно больнюго времени, которое зависит от характера процесса.

ПИД-регулятор, основанный на алгорит.ме приращения [уравнение (6.30)], не требует вьпнеописанной процедуры инициализации при из.менении режима управления. Оператор устанавливает исполнительный .механиз.м в положение, соответствующее онорно.му значению, перед переключением с ручного режима на автоматп-ческтпТ В это.м случае регулятор пе вырабатывает никакого выходного сигнала д." исполнительного .механизма до тех пор, пока не возникнет несоответствие межД опорным значением и выходом нроцесса. Часто нри использовании а/лгоритма пр: раи1сния важно сохра1Шть и абсолютную величтн1у управляющего сигнала, поскол: ку оно .может потребоваться позже для проверки.

Для цИ{])ровых ПИД-регуляторов существует епщ одна возможность плавно:- перехода. Ллгорит.м управления выполняется даже в режиме ручного управлени--Измеренное значение выходной величины г/считывается регулятором, и вычисляем ся ошибка управления, од1ШКо регулятор не вырабатывает выходной сигнал, влия»



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

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

Еще одна проблема возникает при из.менении пара.метров ПИД-регулятора. Непосредственно перед эти.м выходной сигнал регулятора .можно представить в следу-юшем виде [ср. уравнение (6.20)]

u(t-) = щ + Up{t-) + Ujit-) + UD(t~)

а сразу после из.менения пара.метров

и(1. + ) = Uq + Upit + ) + Uj(t + ) + Up)(t+)

Изменение одного или нескольких пара.метров повлияет иа все части регулятора. Плавный переход от одного набора параметров к друго.му произойдет лишь в случае, если вьгход регулятора не из.менится, т. е. u(l-) = u(t.+), где t - момент изменения параметров. Значение интегральной или дифференциальной части должно быть откорректировано так, чтобы в мо.мент переключения не произошло скачка выходного сигнала регу-,"ятора. 11апри.мер, изменение интефальной части выражается следующи.м образо.м

Uj{l.+ ) = ир(1-) + Ui(l-) + Up)(l~) - Up(l. + ) - ио(1. + )

Плавный переход достигается, если разность u(t+) - u{t.-) равна нулю.

6.5.6. Ограничение скорости изменения управляющего сигнала

Во MitorHX систе.мах необходи.мо ограничивать а.мплитуду или скорость из.менения управляющего сигнала. Для этого используются специальные схемы защиты, подключаемые после канала ручного ввода опорного значения и.{1) и передающие регулятору отфильтрованный сигнал Uj{t), в результате процесс в действительности "видит" этот управляющий сигнал в.место введенного вручную. Такой способ обычно применяется при регулировании электроприводов. Ограничение скорости из.менения сигнала можно получить с по.мощью простой цепи обратной связи (рис. 6.14). На рисунке показана также реакция на скачок опорного сигнала.

Сигнал ручного управления и.(0, который должен выступать в качестве опорного, сравнивается с допусти.мы.м управляющим сигналом Uj{t). Сначала их разность ограничивается пределами ие,„;„ и ие„х- Затем полученное значение интегрируется, Причем интеграл аппроксимируется конечной суммой. Алгоритм огрантнюния скорости изменения .можно записать следующим образом

ие = UC - uL;

if (ue < uemin) then uelim - uemin (*фупкция ограничения*)

else if (ue < uemax) then uelim := ue

else uelim := uemax; uL = uL old + h*uelim;




0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 [72] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175