![]() |
|
|
Перейти на главную Журналы Глаюа 6. ОрйЭД?" управление врет Рис. 6.14. Цепь ограннчс1П1Я скорости измепе1шя синила (а); типичная реакция на скачок onopiioro сигнала {6) 6.5.7. Вычислительные особенности алгоритма ПИД-регулятора В реальности цифровая реализация ПИД-регулятора из-за послсдовательногс >сарактера вычислений приводит к задержка.м, которые отсутствуют при применении аналоговой технологии. Поми.мо .этого, некоторые практические ограничения, такие как защита от насыщения и алгорит.мы плавного перехода, требуют, чтобы выход регулятора и срабатывание исполнительного .механиз.ма происходили одновременно. Поэтому вычислительные задержки чеобходи.мо свести к мини.му.му. Например, некоторые элементы цифрового регулятора можно вычислить до .мо.мента выборки. Для регулятора с защитой от насьицения [уравнение (6.35) [ интегральную часть можно записать следующим образо.м u,\{k + \)h\ = ui(kh) + ci e(kh) + C2 \u{kh) - u{kh)] C] = K- --; C2 (6,37) (6.38) Интегральную часть можно вычислить заранее с помощью разностей вперед. ДИФ" ференциальную часть [уравнение (6.29)[ .можно записать как uikh) = [3 • «of( 1)А] - . . (1 - (3). \y{kh) - у\{к - 1Щ J - = -K---(i-)- y(kh) + (3. ид[( - 1)/г] + ус • (1 - 3) y[(k - 1)/] п h Up(kh) - -Сз y(kh) + x\(k ~\)h\ (6,39 (6,i х[{к - 1 )A] = р • uo[{k - + /С у (1 - Р) у\{к - 1 )А] = -UD[{k-\)h] + c-y\{k-\)h] Состояние д: .можно обновить сразу после .мо.мента времени kh x(kh) = р uikh) + сз • y(kh)= = р • [-сз y(kh) + x\(k -\)h]] + C3-y(kh) = (6.41) = р-4(-1)Л] + Сз-(1-р)-г/(ЛА) Таким образом, Up){{k + 1)А] удается вычислить из уравнения (6.39), как только :10луче11 результат из.мерения г/-[(Л + 1)А]. Учитывая вычислительные воз.можности современных ко.мпыотеров, может по шаться странны.м, что приходится затрачивать столько усилий на оптимизации вычислений. Однако необходи.мо иметь в виду, что цифровой регулятор иногда должен выполнять несколько тысяч управляющих операций в секунду. В этих условиях пкеетзначение, будут ли некоторые коэффициенты доступны сразу или их придется зычислять каждый раз заново. Кро.ме того, про.мьппленпые регуляторы, используемые в заводских условиях, не всегда изготавливаются на основе са.мых быстрых из имеющихся на рынке процессоров. Поэто.му порядок и тип вычислений существенно влияют ita скорость операций управления. Про.межуточиые переменные С], С2 и C3 не имеют очевидной физической интер-::ретации. Вместо них оператор должен видеть значения основных пара.метров 11НД-регулятора К, Г,-, и Tj. Кроме уже сказанного, необходимо учитывать точность вычислений. В ПИД-ре-лляторе на основе алгоритма приращения вычисляются только малые величины, :jm хранения которых достаточно короткого машинного слова. В то же время неточ-лхт округления в интегральной части .могут вызвать проблемы, как упомянуто 3 разделе 6.5.1. 6.5.8, Алгоритм ПИД-регулятора Ниже приведен пример программы ПИД-регулятора на языке Pascal. Вычисление коэффициентов С, С2 и С3 необходимо производить лишь в случае из.менения параметров регулятора К, 1], Ти Tj. Алгоритм регулятора выполняется в .момент каж-выборки. Программа также содержит защиту от насыщения интегральный Ставляюиич!. (* Предварительное вычисление коэффициентов *) с1 = K*h/Ti; (* уравнение 6.38 *) h/Tf (* уравнение 6.38*) к < тЛ/ПМ + h*N)- (* УРап"епие 6.28 *) beta := Т с1/( 1 а + п v ..., - K*Td*(l - beta)/h; (* УР-« с,51ч io У " с* покальпая константа *) с4..= сЗ*(1-beta); ipart т О 5С о: (* А-тгоритм управления *) UC := AD input(chl); у := AD input(ch2); е " uc - у; ppart := К*е; dpart := x - (сЗ*у); ud := uO + ppart + ipart + dpart; if (ud < umin) then u := umin else if (ud < Umax) then u := ud else u := umax; DA output (chl, u); (* ввод опорного значения, *) (* аналоговый вход *) (* ввод измерения, аналоговый вход*) (* вычисление оншбки управления *) (* пропорциональная часть *) (* дифференциальная часть, *) (* уравнение (6.39) *) (* выход регулятора до ограничения) (* сигнала *) (* функция ограничения *) (*вывод аналогового сигнала *) (*уцравления и, канал вывода #1 *) ipart := ipart + cl *е + c2*(u - ud); (* интегральная часть с *) (* "антинасыщением", уравнение (6.35) *) x ;= beta*x + с4*у; (*обновлепие состояния, *) (*уравнение (6.41); с4 вычислено *) (*предварительпо*) Серийный ПИД-регулятор изображен на рис. 6.15. На передней напели регулятора отображаются опорные и текущие значения выходных величин процесса. Переключение с ручного режи.ма на авто.матический осуществляется кнопками. Прочие клавинш используются для изменения опорных значений и настройки других параметров регулятора. ![]() Рис. 6.15. Серийный ПИД-регулягор (с разреН1ения ко.мпании Alfa Laval Automation Швеиия) 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 |
||||||||