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

Учебное пособие 1425

.pdf
Скачиваний:
6
Добавлен:
30.04.2022
Размер:
1.14 Mб
Скачать

В.Б. Фурсов

Моделирование в системе

SIMULINK

Учебное пособие

Воронеж 2004

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Воронежский государственный технический университет

В.Б.Фурсов

Моделирование в системе

SIMULINK

Утверждено Редакционно-издательским советом университета в качестве учебного пособия

Воронеж 2004

1

УДК 621.3.06(075)

Фурсов В.Б. Моделирование в системе SIMULINK. Воронеж: Воронеж. гос. техн. ун-т;

2004. 56 с.

В учебном пособии по курсу: "Современные программные комплексы" для специальности 140604 ―Электропривод и автоматизация промышленных установок и технологических комплексов‖ рассмотрена последняя пятая версия известной программы SIMULINK, реализующей современные методы моделирования систем автоматического регулирования. Пособие содержит обширную библиотеку и примеры моделирования.

Издается по решению редакционно-издательского совета Воронежского государственного технического университета.

Рецензенты: кафедра электротехники Воронежского государственного аграрного университета имени К.Д.Глинки; зав.кафедрой доц. В.В. Картавцев;

канд.техн.наук,доц. Ю.В. Писаревский

Учебное пособие подготовлено в электронном виде в текстовом редакторе MS Word XP и со-

держится в файле SIM5.rar.

©Фурсов В.Б., 2004

©Воронежский государственный технический университет,

2004.

ВВЕДЕНИЕ

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

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

В данном пособии рассматривается только часть пакета SIMULINK – базовая для последней, на данный момент, версии, с ориентацией на моделирование систем автома-

тического управления - Control System Toolbox и их оптимизации - Nonlinear Control Design.

3

БИБЛИОТЕКА

SIMULINK

Библиотека состоит из следующих разделов:

Непрерывные элементы (Continuous)

Derivative - идеальное дифференцирующее звено.

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

где x - изменение входного величины; t - изменение времени, начиная с предыдущего шага моделирования. Блок имеет один вход и один выход. Значение входного сигнала перед началом моделирования должно быть нулевым. Начальное значение выходного сигнала тоже нулевое.

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

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

 

yk

1

(x k

x k 1 )

 

 

t

 

 

 

 

 

 

 

 

 

 

или понятие z-преобразования:

 

 

 

 

 

 

 

 

Y(z)

 

1

z 1

 

z

1

.

 

X(z)

 

 

 

t

 

t

z

 

 

 

 

 

Если модель содержит дифференцирующий элемент, то использование линеаризации может привести к ошибке. (Как этого избежать см. раздел «Линеаризация» ).

Параметры настройки: нет.

Integrator - идеальное интегрирующее звено. Параметры настройки:

External reset – подключение дополнительного управляющего сигнала. жет принимать следующие значения:

none – не используется;

rising – для управления используется возрастающий сигнал; falling - для управления используется

1

s Integrator

Этот параметр мо-

убывающий сигнал;

4

Непрерывные элементы (Continuous)

either – влияет любое изменение управляющего сигнала.

Initial condition source – использование внешней установки начального значения входного сигнала. Принимает следующие значения:

internal – внутренняя установка начального значения; external - внешняя установка начального значения.

Initial condition – ввод начального значения в виде числа или вычисляемого выражения.

Limit output – ограничение выходного значения. Если этот параметр отмечен, то используются следующие пункты:

Upper saturation limit – верхнее предельное значение времени; по умолчанию не ограниче-

но (inf).

Lover saturation limit - нижнее предельное значение времени; по умолчанию не ограничено

(-inf).

Show saturation port – выход значения насыщения. Величина на этом выходе станет равной 1, при переходе выходного значения интегратора через верхний предел. Этот сигнал можно использовать для управления.

Show state port – выход значения состояния. Аналогично предыдущему пункту. Отличие в том, что сигнал управления с этого выхода можно использовать лишь для прерывания алгебраического цикла или согласования состояния подсистем модели.

Absolute tolerance – предельная величина абсолютной погрешности.

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

State-Space - определение звена заданием четырех матриц его пространства состояний:

x

Ax

Bu

,

y

Cx

Du

где x - управляющий вектор, u - входной вектор, y – выходной вектор. Коэффициенты матрицы:

A- матрица размерностью n x n, где n - число состояний;

B- матрица n x m, где m - число входов;

C - матрица r x n, где r - число выводов; D - матрица r x m.

Блок имеет один вход и один выход.

Размерность входа определяется числом столбцов в B и D матрицах. Размерность выходного вектора - числом строк в C и D матрицах.

Simulink для эффективного умножения преобразовывает матрицу, содержащую нули, в разреженную матрицу.

Параметры настройки:

A,B,C,D - коэффициенты матриц.

Initial conditions - вектор начального состояния.

Transfer Fcn

Передаточная функция линейного звена. Записывается в виде отношения многочленов n-ой и m-ой степеней:

den(s)
num(s)
многими
Transport
Delay
3s2+2s+1
7s3+5s2+3s+1 Transfer Fcn

Непрерывные элементы (Continuous)

 

Y(s)

 

a

n

sn

a

sn 1

...

a s

a

0

 

W(s)

 

 

 

 

 

 

n 1

 

1

 

 

X(s)

 

b

m

sm

b

sm 1

...

b s

b

0

 

 

 

 

 

 

 

 

 

m 1

 

1

 

 

где X(s) – изображение входного сигнала; Y(s) - изображение выходного сигнала; n - степень числителя; m – степень знаменателя; причем степень знаменателя не меньше степени числителя, т.е. m n. Параметры многочленов вводятся в квадратных скобках через пробел. Могут быть как числовые данные, так и буквенные. Значения буквенных выражений вводятся специальным m- файлом.

Входная величина - скаляр, выходная – скаляр или вектор. Знаменатель всегда определяется как вектор, а числитель может быть вектором или матрицей. Если числитель передаточной функ-

ции определен в виде вектора, выход - скаляр. Например:

Numerator

[1 2]

Denominator

[3 2 0]

соответствуют передаточной функции

 

s

2

.

 

 

3s2

2s

Если числитель - матрица, то выходная величина – вектор. Размерность выходного сигнала - число строк в числителе.

Пример: пусть знаменатель имеет тот же вид, что и в предыдущем примере, а числитель содержит две строки, разделенные точкой с запятой:

Numerator [[1 2];[7 1.2]].

Такая передаточная функция преобразует входную скалярную величину в векторную величину, размерностью – два. Это соответствует разделению входного сигнала на два и прохождению через две передаточные функции:

s

2

 

7s

1.2

.

 

 

 

 

 

3s2

2s

 

3s2

2s

Начальные условия - нулевые. Если начальные условия не нулевые, то следует использовать блок Пространства состояний (State-Space), преобразовав передаточную функцию в форму пространства состояний.

Числитель и знаменатель отображается на пиктограмме блока в зависимости от того, как они определены: например, если числитель имеет вид [3,2,1] и знаменатель [7,5,3,1], то пиктограмма блока выглядит следующим образом:

Если числитель и знаменатель определены как переменные, пиктограмма показывает их имена как функции комплексной переменной ‖(s)‖. Например, если числитель определен как num и знаменатель как den, пиктограмма блока выглядит следующим образом:

Замечание: при вводе матрицы вид пиктограммы не соответствует вводу.

Параметры настройки:

Numerator - вектор коэффициентов числителя. Может быть определен как матрица со строками, при этом выход многомерный. Значение по умолчанию [1].

Denominator - вектор коэффициентов знаменателя. Значение по умолчанию [1 1].

Transport Delay

Задержка входного сигнала на определенное время.

Параметра настройки:

Time delay – время задержки – количество шагов модельного времени, на которое задерживается сигнал. Обязательно положительная величина. Может вводится в виде числа или вычисляемого выражения.

6

Непрерывные элементы (Continuous)

Initial input – начальное значение на входе. Значение амплитуды входного сигнала в момент инициализации (значение по умолчанию 0).

Initial duffer size – начальный размер буфера. Объем памяти ( в байтах; кратно 8 ) для хранения задержанного сигнала. Если число точек превышает размер буфера, то организуется дополнительная память, что замедляет моделирование.

Замечание. При использовании линеаризации может возникнуть ошибка.

Variable Transport Delay

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

Параметра настройки:

Maximum delay – максимальная задержка. Если величина задержки, определяемая управляющим сигналом, превышает это значение, то задержка принимается равной Maximum delay.

Остальные параметры управления такие же, что и Transport Delay

Zero-Pole

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

(s-1)

s(s+1)

Zero-Pole

W(s) K

Z(s)

K

(s

Z1 )(s

Z2 )...(s

Zm )

,

P(s)

(s

P1 )(s

P2 )...(s

Pn )

 

 

 

где Z - вектор нулей, P - вектор полюсов и K – вектор коэффициентов усиления. Z может быть вектором или матрицей; P должна быть вектором; K может быть скаляром или вектором, размерностью - числу строк в Z. Число полюсов должен быть больше или равно числу нулей. Если полюсы и нули - комплексные числа, они должны быть сопряженными.

Пиктограмма отражает вводимые зависимости аналогично элементу Transfer Fcn.

Параметры настройки:

Zeros

-

матрица нулей. Значение по умолчанию [1].

Poles -

вектор полюсов. Значение по умолчанию [0 -1].

Gain -

вектор коэффициентов передачи. Значение по умолчанию [1].

7

Разрывные элементы (Discontinuities)

Backlash

 

Люфт. Напоминает блок Dead Zone. Удержает входной сигнал в некотором заданном

 

диапазоне.

Backlash

 

Параметра настройки:

Deadband width - ширина диапазона (Δx).

Initial output - начальное значение выходного сигнала(Y0). Это значение играет роль середины диапазона; например, если Δx = 2, Y0 = 1, то нижняя граница диапазона устанавливается равной 2, а верхняя - равной 0.

Сигнал на выходе блока (y) формируется по следующему правилу:

y = Y0 , пока входной сигнал (x) не достигнет одной из границ диапазона; y = x + Δx / 2, если x пересекает нижнюю границу;

y = x - Δx /2, если x пересекает верхнюю границу.

Coulomb & Viscous Friction

Сухое трение (статическое) и вязкое (динамическое) трение. Выходная величина связана с входной зависимостью:

y = sign(x) . ( k . abs(x) + yo ),

где y – выходная величина; x - входная; k – коэффициент усиления; yo – смещение. Блок имеет один вход и один выход.

Два параметра:

Coulomb friction value (Offset) – величина сухого трения (смещение yo). Значение по умолчанию

[1 3 2 0].

Coefficient of viscous friction (Gain) - вязкое трение (коэффициент усиления k). Значение по умолчанию 1.

Dead Zone

Зона нечувствительности. Заменяет значение входного сигнала, лежащего в заданном диапазоне, нулем.

Два параметра настройки:

Start of dead zone - начало пассивной зоны (X01 - нижняя граница диапазона). End of dead zone - конец пассивной зоны (X02 - верхняя граница диапазона).

Если входной сигнал (x) лежит вне заданного диапазона, то выходной сигнал (y) формируется по следующему правилу:

y = x – X01,

при x ≤ X01;

y = x – X02,

при x ≥ X01.

Hit Crossing

Обнаруживает точку пересечения.

Параметры:

Hit crossing offset - значение пересечения.

Hit crossing direction – ввод направления пересечения. Show output port – изображать порт вывода.

Quantizer

Квантователь (импульсный модулятор). Квантует непрерывный входной сигнал, делает его ступеньчатым (дискретным). Выходная величина вычисляется по формуле:

y = q . round (x/q),

где y – выходная величина; x – входная; q - интервал квантования.

Разрывные элементы (Discontinuities)

Один параметр:

Quantization interval - интервал квантования (q).

Значение по умолчанию - 0.5.

Rate Limiter

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

Значение производной (rate) dx/dt определяется из следующего соотношения:

dx

 

x i

yi 1

dt

 

t i

t i 1

где xi - текущие значения входного сигнала на i – том шаге численных расчетов; ti - текущие время; yi-1 – значение выходного сигнала и модельного времени на предыдущем шаге моделирования; ti-1 - значение времени на предыдущем шаге моделирования. Значение выходного сигнала определяется на основе сравнения величины скорости dx/dt с ее предельными значениями, заданными в окне настройки блока:

Rising slew rate - скорость увеличения. Если dx/dt больше заданного параметра V01, то выходной сигнал вычисляется так:

yi = V01 . t + yi-1.

Falling slew rate – скорость снижения. Если dx/dt меньше заданного параметра V02, то выходной сигнал вычисляется следующим образом:

yi = V02 . t + yi-1.

Если dx/dt находится в промежутке между V01 и V02 , то выходной сигнал принимается равным входному: yi = xi.

Relay - реле. Переключение выходного сигнала между двумя заданными значениями. Если реле включено, то выходное значение не измениться до тех пор, пока входной сигнал не станет меньше заданного минимального значения. Если реле выключено - не превысит заданного максимального значения. Блок имеет один вход и один выход.

Четыре параметра:

Switch on point - входное пороговое значение включения (x); по умолчанию пороговое значение равно eps - машинной точности (относительная точность операций с плавающей точкой; eps =

2.2204…e-016).

Switch off point - входное пороговое значение выключения (x); по умолчанию eps. Output when on - выходное пороговое значение включения (y); по умолчанию 1. Output when off - выходное пороговое значение выключения (y); по умолчанию 0.

С помощью реле можно получать гистерезисные характеристики. Для этого входное пороговое значение включения(x) должно быть больше входного порогового значения выключения (x).

Saturation – насыщение. Ограничивает сигнал. Выход принимает значение не больше определенного. Два параметра:

Upper limit - верхний предел. Lower limit - нижний предел.

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

9