Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Моделирование инженерных систем и технологических процессов. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
Рис. 23.2. Результаты работы программы
-20 -15 -10 -5
0 5 10 15 20
0
2
4
t
x(t)
-20 -15 -10 -5 0 5 10
15 20
0
5
10
t
y(t)
-20 -15 -10 -5
0 5 10 15 20
0
50
100
t
cr(t)
51
ОСНОВЫ МОДЕЛИРОВАНИЯ СИСТЕМ
АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ В SIMULINK
Simulink представляет собой графическую (блок-схема) среду
программирования для моделирования, имитации и анализа динами­ческих систем.
Его можно открыть, нажав кнопку на панели инструментов
Simulink окна Matlab или путем ввода Simulink в командном окне. На следующем рисунке показаны Simulink Library Browser и вид окна.
Рис. 24. Окно Simulink
Все блоки можно найти в Simulink Library Browser, которые
вставляются в модельное окно путем перетаскивания. Параметры блока можно изменить с помощью двойного щелчка. Блоки соеди­няются линиями. Блок можно скопировать, щелкнув правой кнопкой мыши на нем и перетащив его.
Моделирование можно запустить, нажав на кнопку Run на панели
инструментов. По умолчанию время моделирования 10s. Это, наряду с другими параметрами моделирования могут быть сконфигуриро­вано в Simulation → Configuration Parameters...
52
Моделирование систем автоматического управления в MatLab
Simulink
Пример 1: Этот пример показывает некоторые из общих блоков из библио-
теки Simulink, используемые в Matlab для автоматизации.
В классе Sources содержатся различные типы источников: шаг,
наклон, пульс, синусоиду, земля, константа и т.д. Step используется в этом примере. Его параметры (шаг по времени, начальное значе­ние, конечное значение) могут быть изменены с помощью двойного щелчка. В этом примере шаг по времени 1s, Начальное значение равно 0 и конечное значение равно 10.
Рис. 25. Блок Step и его параметры
В классе Continuous находятся блоки, используемые для обработ-
ки непрерывных сигналов. Два вида блоков этого класса использу­ются в этом примере: tra nsfer functio n и zero-pole. Параметры блоков могут быть изменены двойным нажатием на их изображении. Какой блок следует выбрать, зависит от системы, которая исследуется.
53
Рис. 26. Блок Transfer function и его параметры
Рис. 27. Блок Zero-pole и его параметры
54
В классе Sinks различные типы выходных дисплеев. Display и
Scope используются в данном примере. Scopeтип дисплея, анало-
гичный осциллографу. На панели инструментов есть кнопка авто­масштаба, которая применяет шкалу осей в соответствии с макси­мальным и минимальным значениями сигнала. Один осциллограф может иметь несколько графиков. Их количество можно изменить в опции Number of axes в Parameters/General.
В классе Signal routing находятся блоки, используемые для обра-
ботки сигналов. Mux (мультиплексор) и demux (демультиплексор) используются в данном примере.
Рис. 28. Схема модели
В этом примере первое, что было сделано передаточная функ-
ция шага сигнала. Denumenator cofficients [1 2]. Результат ото­бражается на Scope.
55
Рис. 29. Окно Scope
Как можно видеть, запаздывание 1s и со временем значение
приближается к 5.
Блоки могут быть помещены в последовательном соединении.
Результат последовательного соединения двух блоков, отображается на Scope 1. Система становится медленнее с повышением порядка.
Рис. 30. Окно Scope1
Несколько блоков может быть сгруппировано внутри одной под-
системы. Это можно сделать, выбрав все нужный блок, щелкнув правой кнопкой мыши и выбрав Create Subsystem.
56
Другой способ представления этой функции в один блок transfer
function. Результат этого способа показан на Scope 2, со значением коэффициента усиления 10. Gain является одним из многих блоков в математическом классе операций, которые используются в системах автоматизации. Zero-pole блок имеет ту же функцию передачи. Уси­ление устанавливается 10 и полюса [–2 –2]. Для того чтобы нало­жить больше сигналов на одном графике можно использовать multiplexer (мультиплексор). Все ранее показанные сигналы на
Scope3.
Рис. 31. Окно Scope3
Demultiplexer (демультиплексор) используется для разделения
пучка сигналов. Это делается в этом примере и сигналы передаются на дисплей, рабочее пространство и файл.
>> plot(simout.time,simout.signals.values)
Simulink имеет связь с рабочей областью Matlab, поэтому все пе-
ременные, объявленные в нем могут быть использованы в Simulink.
Команда sim (‘название модели’, значение переменных) имити-
рует модель Simulink.
57
Пример № 2
Рис. 32. Схема системы и окна Scope
Синусоида может быть представлена различными способами. Один из них – по средствам блока Sin Wave. Выходные данные
можно увидеть на Scope. Амплитуду и частоту можно изменять в параметрах. В этом примере частота равна 2*пи.
a b
Рис. 33. Схема системы (а) и окно Scope (b)
Другой способ заключается в использовании блока Clock и
Function или MATLAB function блок. Название нужной функции Matlab следует включить в параметры функции MATLAB. Если функция создана пользователем, то она должна быть внутри теку-
58
щей папки. Вывод созданного пользователем синусоидальной функ­ции показан на Scope1 и он такой же, как и в Scope:
function [x] = Untitled(t) x=sin(2*pi*t) end
a b
Рис. 34. Схема системы (а) и окно Scope (b)
Рис. 35. Схема системы
В function блоке необходимо прописать выражение функции.
Сложение и вычитание сигналов отображаются посредством блока
Add. Результаты для схемы выше показаны на Scope 2, Scope3 и Scope4.
Рис. 36. Окна Scope
59
Рис. 37. Схема системы
Работа блока zero-hold из Discrete class. У первого блока пара-
метр sample time 1s, у второго 0.2s и третьего 0.0001s. Результаты показаны вместе на Scope5:
Рис. 38. Окно Scope
60
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]