Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

GOS for Iphone / mobile / ТАУ / Книги / ТАУ учебник

.pdf
Скачиваний:
231
Добавлен:
10.05.2015
Размер:
4.33 Mб
Скачать

нейных характеристик. Алгоритм и программа, реализующая данный модуль зарегистрированы в информационно-библиотечном фонде Российской Федерации [220].

После формирования массива моментов переключения нелинейных звеньев осуществляется вызов функции WS, которая вычисляет значение функционала J на один шаг по ρ q и для одного нелинейного элемента. Необходимо отметить, что число повторений цикла по ρ q зависит от числа искомых параметров, а число повторений внешнего цикла с подключением процедуры POINTS зависит от количества нелинейных элементов, содержащихся в синтезируемой системе управления.

Следует иметь ввиду, что при решении задачи синтеза линейных САУ процедура FUNC минуя POINTS обращается непосредственно к функции WS.

По окончании работы процедуры FUNC осуществляется передача информации в вызывающую подпрограмму SEARC, которая сравнивает текущее значение целевой функции с минимальным значением, полученным ранее, и запоминает наименьшее из двух, а также соответствующие ему значения варьируемых параметров. Далее подпрограмма SEARC вызывает процедуру DELTA, которая определяет новую точку n-мерного единичного гиперкуба.

Рассмотренный процесс вычислений повторяется до тех пор, пока число шагов внутреннего цикла поиска не достигнет значения заданного пользователем. После этого подпрограмма SEARC пересчитывает границы интервала интенсивного поиска, вероятность и плотности вероятности выбора точек внутри и вне указанного интервала. Новое обращение к процедуре DELTA начитает новый этап поиска параметров. Программа заканчивает свою работу, когда будет выполнено заданное пользователем число этапов поиска значений варьируемых параметров.

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

Если же в области заданных ограничений на значения параметров ck не будет найдено ни одного сочетания искомых параметров, обеспечи241

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

изменить ограничения на значения варьируемых параметров;

изменить параметры желаемого программного движения;

усложнить структуру синтезируемого регулятора.

Все указанные рекомендации возможно выполнить, если это допускается условиями проектирования.

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

7.2. Алгоритм программы определения точек переключения типовых кусочно-линейных характеристик

Как было отмечено в третьем разделе, представление реальных нелинейных характеристик элементов системы управления с помощью кусочно-линейной аппроксимации или для несимметричных нелинейных характеристик и с помощью алгебраической (степенной) аппроксимации требует определения точек переключения нелинейностей при использовании рекуррентных аналитических выражений, определяющих соответствующие интегралы Галеркина. Данная операция выполняется при решении задачи синтеза нелинейных непрерывных САУ, САУ с амплитудно-импульсной модуляцией, САУ с ШИМ и ЧИМ при нелинейных объектах управления и дискретных систем управления с помощью подпрограммы POINTS, зарегистрированной в Информационнобиблиотечном фонде Российской Федерации [220], блок-схема алгоритма которой, показана на рис. 7.4. Программа определяет массив значений моментов переключения по непрерывному сигналу заданного вида на входе нелинейной характеристики. В случае импульсного сигнала на входе нелинейности осуществляется дискретизация полученных значений моментов переключения, что подробно обсуждалось в гл. 6.

Для всех процедур, определяющих моменты переключений нелинейных характеристик, общим, является ввод параметров желаемого про242

граммного движения x0(t) на входе нелинейного элемента и параметров нелинейной характеристики. Обращение подпрограммы к той или иной процедуре зависит от типа нелинейного звена, содержащегося в синтезируемой САУ.

 

 

 

Начало

 

 

 

 

 

 

Исходные

 

 

 

 

 

 

данные

 

 

 

 

 

Выбор нелинейной

 

 

 

 

 

характеристики

 

 

 

Вызов

Вызов

Вызов

Вызов

Вызов

Вызов

Вызов

POINT

POINT1

POINT2

POINT3

POINT4

POINT5

POINT6

Конец

Рис. 7.4

При параметрическом синтезе системы с однозначными кусочно-ли- нейными и несимметричными степенными характеристиками (например: переменный коэффициент усиления, зона нечувствительности, ограничение, идеальная релейная характеристика и т. д.) работа программы продолжается с процедуры POINT, блок-схема алгоритма которой представлена на рис. 7.5.

Исходными данными для работы программы являются:

параметры нелинейной характеристики;

Tп.п – заданная длительность переходного процесса x0(t);

шаг по времени t, величина которого определяет точность вычислен моментов переключения.

Процедура работает следующим образом:

1. В начале работы обнуляются значения координаты времени t и вспомогательных переменных i, j.

2. Вычисляется текущее значение процесса xi(t) и его производной в момент времени t.

3. Проверяется условие i = 0, если оно выполняется, то осуществляется переход к п. 4, если не выполняется – к п. 6.

4. Значение переменной i увеличивается на единицу, задается приращение координаты t на величину выбранного шага t и проверяется

243

 

 

Начало

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ввод исход-

 

 

 

 

 

 

ных данных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t = 0; i

= 0; j = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вычисление

 

 

 

 

 

 

 

xi(t)

 

 

 

 

 

 

Да

 

 

Нет

 

 

 

 

 

 

 

 

 

 

 

 

= 0

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

i := i +1

 

 

Да

xi < b

 

 

 

 

 

 

 

t := t + t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Да

Нет

 

 

 

Да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xi > b

 

 

xk1 > b

 

 

Нет

 

 

Нет

 

 

 

Нет

 

 

 

 

 

 

 

 

 

j := j +1

 

 

xk1 < b

 

 

tj

:= t –

t/2

 

 

 

 

 

 

 

 

Да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t := t

 

+

t

 

 

 

 

 

 

 

 

 

 

 

xk1:= xi ; j:=j+ 1

Нет

Да

 

Да

 

 

 

 

Нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t > T п.п

 

 

 

t > T п.п

 

 

 

 

 

 

Печать массива моментов переклю-

чения tj

Конец

Рис. 7.5

условие t >Tп.п. Если оно не выполняется, то программа продолжает свою работу с п. 2, в противном случае происходит переход к п. 5.

5. Происходит формирование массивов данных, соответствующих точкам переключения нелинейности, с последующей их распечаткой.

244

6.Проверяется условие xi < b, если оно выполняется, то осуществляется переход к п. 8, если не выполняется – к п. 7.

Проверяется условие xk1 > b, если оно выполняется, то осуществляется переход к п. 8, если не выполняется – к п. 10.

7.Проверяется условие xi > b, если оно выполняется, то осуществляется переход к п. 9, если не выполняется – к п. 11.

8.Проверяется условие xk1 < b, если оно выполняется, то осуществляется переход к п. 11, если не выполняется – к п. 10.

9.Значение переменной j (порядковый номер момента переклю-

чения нелинейности) увеличивается на единицу; определяется время tj = t – t/2, соответствующее моменту переключения. Затем происходит переход к п. 11.

10.Значение переменной i увеличивается на единицу, вспомогательной

переменной xk1 присваивается значение xi, задается приращение координаты t на величину выбранного шага t и проверяется условие t > Tп.п. Если оно не выполняется, то программа продолжает свою работу с п. 2, в противном случае с п. 5.

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

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

Программа работает следующим образом:

1.В начале работы обнуляются значения координаты времени t и

вспомогательных переменных i, j; вспомогательной переменной xk1 присваивается значение x0.

2.Вычисляется текущее значение процесса xi(t) и его производной в момент времени t.

3.Проверяется условие i = 0, если оно выполняется, то осуществляется переход к п. 4, если не выполняется – к п. 6.

4.Значение переменной i увеличивается на единицу, задается приращение координаты t на величину выбранного шага t и проверяется

условие t > Tп.п. Если оно не выполняется, то программа продолжает свою работу с п. 2, в противном случае происходит переход к п. 5.

5.Происходит формирование массивов данных, соответствующих точкам переключения нелинейности, с последующей их распечаткой.

245

Да

i := i +1 t := t + t

Да

t > Tп.п

Да

Да

Печать массива моментов переклю-

чения tj

Конец

Начало

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ввод исход-

 

 

 

 

ных данных

 

 

 

 

 

 

 

 

 

 

 

 

 

t = 0; i = 0; j = 0

 

 

 

Вычисление

 

 

 

 

xi(t ), xi (t)

 

 

 

 

 

= 0

Нет

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

Да

signxi

signxi–1

 

 

 

 

 

 

 

Нет

 

Нет

 

x i

< b

 

 

 

Нет

 

 

 

 

 

xi

> 0

 

 

 

 

 

x i > –b

 

 

 

Да Да

Нет

 

xi

< b

 

Нет Нет

 

Нет

 

 

 

 

 

xk1 < –b

 

 

xk1 > b

 

Да

 

 

да

 

 

 

 

 

 

Да

 

 

 

xi

> b

 

Да

 

 

 

 

 

 

 

xi < –b

 

 

 

Нет

Да

 

 

 

 

 

Нет Нет xk1 > –b

Да

 

xk1 < b

 

 

Нет

 

j := j +1

 

tj

:= t –

t/ 2

t

:= t

+

t

xk1 :=x i

; i :=i+ 1

Рис. 7.6

246

6.Сравниваются знаки производных сигнала xi(t), определенные на данном и предыдущем шагах работы программ. Если производная не меняла свой знак, то происходит переход к п. 8, если же производная изменила знак на противоположный, то выполняется п. 7.

7.Проверяется условие abs(xi) < b, если оно выполняется, то осуществляется переход к п. 5, если не выполняется – к п. 8.

8.Проверяется условие xi > 0, если оно выполняется, то осуществляется переход к п. 13, если не выполняется – к п. 9.

9.Проверяется условие xi > –b, если оно выполняется, то осуществляется переход к п. 11, если не выполняется – к п. 10.

10.Проверяется условие xk1 < –b, если оно выполняется, то осуществляется переход к п. 11, если не выполняется – к п. 17.

11.Проверяется условие xi < –b, если оно выполняется, то осуществляется переход к п. 18, если не выполняется – к п. 12.

12.Проверяется условие xk1 > –b, если оно выполняется, то осуществляется переход к п. 18, если не выполняется – к п. 17.

13.Проверяется условие xi < b, если оно выполняется, то осуществляется переход к п. 15, если не выполняется – к п. 14.

14.Проверяется условие xk1 > b, если оно выполняется, то осуществляется переход к п. 15, если не выполняется – к п. 17.

15.Проверяется условие xi > b, если оно выполняется, то осуществляется переход к п. 18, если не выполняется – к п. 16.

16.Проверяется условие xk1 < b, если оно выполняется, то осуществляется переход к п. 18, если не выполняется – к п. 17.

17.Значение номера момента переключения нелинейности j уве-

личивается на единицу; определяется время, соответствующее моменту переключения tj = t – t/2. Затем происходит переход к п. 18.

18.Вспомогательной переменной xk1 присваивается значение xi, переменная i увеличивается на единицу, задается приращение координа-

ты t на величину выбранного шага t и проверяется условие t > Tп.п. Если оно не выполняется, то программа продолжает свою работу с п. 2, в противном случае происходит переход к п. 5.

При решении задачи синтеза системы с нелинейной характеристикой типа трёхпозиционное реле работа программы продолжается с процедуры POINT2, блок-схема алгоритма которой представлена на рис. 7.7.

Программа работает следующим образом:

247

A

2

3

 

 

Да

3 2

 

 

i

:=

i + 1

t

:=

t + ∆ t

31

 

3 3

Нет

 

t >

T п.п

 

3 4

 

Да

 

 

Печать массива моментов переклю- чения tj

Конец

1 0

Нет xi > 0

B 20

Начало

1

Ввод исходных данных

t

= 0;

i

= 0;

j

= 0;

g

:=0

Вычисление x i ( t ), xi ( t )

4

i = 0

8

g : = 1

 

Да

 

Да

 

Да

Да

Да

B

B

24

16

Рис. 7.7

Нет

5

sign x i sign x i–1

Нет

6

x i < b 1

Нет

7

x i < b 2

Нет

9

x i > 0

1 1 Нет

xi < 0

Да

Нет

B 12

248

В

A 10

Да

Да

нет

Да

Да

A 10

20

xi < b2

21

 

Нет

 

xk 1

 

> b 2

22

 

Да

 

 

 

xi > b2

23

 

Нет

 

 

< b 2

xk 1

 

24

xi > b1

25 Нет xk 1 < b 1

26 Нет

xi > –b 1

Да

27

 

Нет

 

xk 1 < –b 1

 

 

 

 

 

 

Да

30

 

 

 

g : = 0

 

29

 

 

 

 

 

31

Нет Нет

Да Да

Да Да

Нет

Нет

28

 

g : = 1

 

 

A 11

 

A 11

12

 

 

 

Нет

 

xi

< –b 1

 

 

 

 

13

 

 

 

Да

 

 

 

 

 

 

 

xk 1

 

> –b 1

14

да

> –b 1

 

Да

 

xi

 

 

 

15

Нет

 

 

 

 

 

 

Нет

 

xk 1

 

< –b

16

 

1

Да

 

 

 

 

 

 

xi > –b 2

17

 

 

 

Нет

 

xk 1

< –b 2

18

Да

 

 

 

Да

 

xi

< –b 2

 

 

 

 

 

19

Нет

 

 

 

 

 

 

 

Да

 

xk 1

 

> –b 2

Нет

j : = j +1; t j := t– t/2

xk 1 := x i t := t + t

33

Рис. 7.7 (окончание)

249

1.В начале работы обнуляются значения координаты времени t и

вспомогательных переменных i, j, вспомогательной переменной xk1 присваивается значение x0.

2.Вычисляется текущее значение процесса xi(t) и его производной в момент времени t.

3.Проверяется условие i = 0, если оно выполняется, то осуществляется переход к п. 4, если не выполняется – к п. 6.

4.Значение переменной i увеличивается на единицу, задается приращение координаты t на величину выбранного шага t и проверяется

условие t > Tп.п. Если оно не выполняется, то программа продолжает свою работу с п. 2, в противном случае происходит переход к п. 5.

5.Происходит формирование массивов данных, соответствующих точкам переключения нелинейности, с последующей их распечаткой.

6.Сравниваются знаки производных сигнала xi(t), определенных на данном и предыдущем шагах работы программ. Если производная не меняла свой знак, то происходит переход к п. 7, если же производная изменила знак на противоположный, то выполняется п. 9.

7.Проверяется условие abs(xi) < b1, если оно выполняется, то осуществляется переход к п. 5, если не выполняется – к п. 8.

8.Проверяется условие abs(xi) < b2, если оно выполняется, то переменной g присваивается единичное значение и осуществляется переход

кп. 4, если не выполняется – к п. 9.

9.Проверяется условие xi > 0, если оно выполняется, то осуществляется переход к п. 19, если не выполняется – к п. 10.

10.Проверяется условие xi < 0, если оно выполняется, то осуществляется переход к п. 15, если не выполняется – к п. 11.

11.Проверяется условие xi < –b1, если оно выполняется, то осуществляется переход к п. 13, если не выполняется – к п. 12.

12.Проверяется условие xk1 > –b1, если оно выполняется, то осуществляется переход к п. 13, если не выполняется – к п. 28.

13.Проверяется условие xi > –b1, если оно выполняется, то осуществляется переход к п. 29, если не выполняется – к п. 14.

14.Проверяется условие xk1 < –b1, если оно выполняется, то осуществляется переход к п. 29, если не выполняется – к п. 28.

15.Проверяется условие xi > –b2, если оно выполняется, то осуществляется переход к п. 17, если не выполняется – к п. 16.

16.Проверяется условие xk1 < –b2, если оно выполняется, то осуществляется переход к п. 17, если не выполняется – к п. 28.

250