
LS-Sb87956
.pdf
цилиндр с насосом; Vхар – характерный объем насоса (объем жидкости, выталкиваемой насосом за один оборот вала); n – скорость вращения вала насоса, об./мин.
Перемещение штока ограничивается рабочей длиной цилиндра l, давление внутри цилиндра не может превышать pmax и опускаться ниже начального значения p0, при котором шток находится в неподвижном состоянии. При неподвижном состоянии штока силу тяжести, действующую на шток с массой нагрузки, уравновешивает усилие на штоке, создаваемое давлением p0, определяемым по формуле
(5.2)
5.2.2. Реализация модели в среде MATLAB Simulink
Запустите MATLAB. С помощью команды simulink запустите менеджер библиотек Simulink (Simulink Library Browser). Используя меню File \ New \ Model, откройте окно редактора модели. Для реализации модели потребуются следующие блоки: интегратор (3 шт.), усилитель (6 шт.), сумматор (3 шт.), блок деления, константа (2 шт.), блок построения сигналов и осциллограф. Краткое описание используемых блоков представлено в табл. 5.1.
|
|
Таблица 5.1 |
|
|
|
Название |
Вид |
Краткое описание |
Интегратор |
|
Осуществляет интегрирование входного сигнала. Распо- |
(Integrator) |
|
ложен в библиотеке Continuous |
|
|
|
Усилитель |
|
Осуществляет умножение входного сигнала на коэффи- |
(Gain) |
|
циент. Расположен в библиотеке Math Operations |
|
|
|
Сумматор |
|
Осуществляет суммирование входных сигналов с учетом |
|
настройки знаков. Расположен в библиотеке Math Opera- |
|
(Sum) |
|
|
|
tions |
|
|
|
|
Блок деления |
|
Осуществляет деление входных сигналов. Расположен в |
(Divide) |
|
библиотеке Math Operations |
|
|
|
Константа |
|
Выход блока содержит заранее определенный постоян- |
(Constant) |
|
ный сигнал. Расположен в библиотеке Source |
|
|
|
Блок построе- |
|
Выход блока воспроизводит изменяющийся во времени |
ния сигналов |
|
сигнал заранее заданной формы. Расположен в библиоте- |
(Signal Builder) |
|
ке Source |
Осциллограф |
|
Блок позволяет просматривать графики изменения вход- |
(Scope) |
|
ного сигнала от времени. Расположен в библиотеке Sinks |
|
|
|
Перетащите мышью необходимые для реализации модели блоки в рабочую область, соберите схему и настройте параметры блоков в соответствии с
21

рисунком. Связи между блоками выстраиваются перемещением мышью стрелки от выхода одного блока к входу другого. Отвод можно сделать, перемещая произвольную точку существующего соединения правой кнопкой мыши. Поворачивать блоки можно с помощью группы команд Format \ Rotate Blok контекстного меню, вызываемого нажатием правой кнопки мыши по выбранному блоку.
Модель гидравлического подъемного устройства
Параметры блока настраиваются в окне редактирования параметров, которое вызывается двойным щелчком по настраиваемому блоку. Для блоков усилителей необходимо настроить значения коэффициента (параметр Gain). Значение может быть записано в виде числа, переменной или выражения, содержащего числа и/или переменные. В рамках лабораторной работы будем задавать значения параметров в виде переменных. Для повышения наглядности при настройке параметров блоков в качестве имен переменных будем использовать те же обозначения, что и в математическом описании (5.1). Аналогичным образом настраивается значение константы (параметр Constant value блока «константа»). Также настройку требуется произвести для блоков интеграторов Int 1 и Int 3. Для блока Int 1, выходом которого является давление, необходимо установить параметр «начальное значение» (Initial condition) и нижний предел значений (Lower saturation limit) в соответствии с выражением (5.2), в качестве верхнего предела значений (Upper saturation limit) ука-
жем переменную pmax. Для блока Int 1, выходом которого является перемещение штока, зададим начальное значение и нижний предел значений переменной y0, верхний предел значений ограничим переменной l.
5.2.3. Моделирование системы
Перед началом моделирования необходимо задать вид входного сигнала, задать численные значения параметров, используемых в модели, и произве-
22
сти настройку параметров моделирования. Для редактирования вида входного сигнала откройте двойным кликом по блоку построения сигналов редактор сигналов (Signal Builder) и задайте входной сигнал в виде трапеции. Координаты четырех точек, задающих трапецию, представлены в табл. 5.2.
Таблица 5.2
Параметр |
|
|
|
|
Номер варианта |
|
|
|
|
||
|
1 |
2 |
3 |
4 |
|
5 |
6 |
7 |
8 |
9 |
10 |
T1 |
2 |
1 |
2 |
1 |
|
3 |
3 |
1 |
1.5 |
1.5 |
1 |
Y1 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
T2 |
3 |
3 |
3 |
2 |
|
3 |
4 |
4 |
2 |
2 |
2 |
Y2 |
100 |
80 |
80 |
75 |
|
200 |
150 |
70 |
130 |
50 |
500 |
T3 |
6 |
6 |
6 |
6 |
|
6 |
6 |
6 |
5 |
4 |
5 |
Y3 |
100 |
80 |
80 |
75 |
|
90 |
150 |
70 |
130 |
50 |
500 |
T4 |
7 |
6 |
6 |
6 |
|
6.5 |
8 |
8 |
7 |
5 |
7 |
Y4 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
Загрузите в рабочую область MATLAB численные значения параметров модели. Численные значения параметров модели представлены в табл. 5.3.
Таблица 5.3
Пара- |
|
|
|
|
Номер варианта |
|
|
|
|
|
|
|
|||||
ра- |
1 |
2 |
3 |
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
10 |
|
|
метр |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Vхар, |
−6 |
−6 |
−6 |
|
−5 |
|
−5 |
|
−5 |
|
−5 |
|
−5 |
−5 |
|
−6 |
|
15·10 |
15·10 |
23·10 |
4·10 |
|
4·10 |
|
7·10 |
|
8·10 |
|
4·10 |
|
3·10 |
9·10 |
|
||
|
|
|
|
|
|
|
|||||||||||
S |
−4 |
−4 |
−5 |
|
−5 |
|
−5 |
|
−5 |
|
−5 |
|
−5 |
−5 |
|
−5 |
|
15·10 |
5·10 |
5·10 |
5·10 |
|
5·10 |
|
7·10 |
|
5·10 |
|
8·10 |
|
2·10 |
5·10 |
|
||
|
|
|
|
|
|
|
|||||||||||
B |
5 |
5 |
5 |
|
5 |
|
5 |
|
5 |
|
5 |
|
5 |
5 |
|
5 |
|
14·10 |
14·10 |
14·10 |
14·10 |
14·10 |
14·10 |
14·10 |
14·10 |
14·10 |
14·10 |
||||||||
|
|||||||||||||||||
V0 |
0.001 |
0.001 |
0.001 |
0.001 |
0.001 |
0.001 |
0.001 |
0.001 |
0.001 |
0.001 |
|||||||
pmax |
6 |
6 |
6 |
|
6 |
|
6 |
|
6 |
|
6 |
|
6 |
6 |
|
6 |
|
35·10 |
35·10 |
35·10 |
35·10 |
35·10 |
35·10 |
35·10 |
35·10 |
35·10 |
35·10 |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
l |
1 |
1 |
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
1 |
1 |
|
1 |
|
y0 |
0 |
0 |
0 |
|
0 |
|
0 |
|
0 |
|
0 |
|
0 |
0 |
|
0 |
|
b |
6000 |
6000 |
6000 |
6000 |
6000 |
6000 |
6000 |
6000 |
6000 |
6000 |
|||||||
m |
40 000 |
45 000 |
25 000 |
35 000 |
50 000 |
25 000 |
55 000 |
30 000 |
28 000 |
28 000 |
|||||||
g |
9.8 |
9.8 |
9.8 |
9.8 |
9.8 |
9.8 |
9.8 |
9.8 |
9.8 |
9.8 |
Для того чтобы произвести настройку параметров моделирования, выбе-
рете пункт меню Simulation \ Configuration Parameters, а в открывшемся ок-
не – группу параметров Solver. В разделе Solver options укажите тип алгоритма численного интегрирования (Type), интегрирование с постоянным ша-
гом (Fixed-step), алгоритм интегрирования (Solver) ode3 (Bogacki-Shampine) и шаг интегрирования (Fixed-step size) 0.0001 c.
23
Поскольку при моделировании системы используется фиксированный шаг интегрирования малой величины, для корректного отображения результатов необходимо перед началом моделирования убрать галочку Limit data points at last на вкладке Data History параметров блока осциллографа.
Произведите моделирование системы, используя команду меню Simulation \ Start. После окончания моделирования просмотрите результаты с помощью блока осциллографа.
5.2.4.Создание подсистем
1.Модели сложных динамических объектов могут состоять из нескольких десятков и даже сотен блоков. При разработке подобных моделей рекомендуется использовать подсистемы – маскированные блоки, содержащие в себе часть схемы. Применение подсистем позволяет значительно улучшить наглядность схемы и ускорить процесс разработки модели. Подсистемы могут содержать внутри себя как стандартные библиотечные блоки, так и другие подсистемы. Уровень вложенности подсистем не ограничен. Принцип разделения модели на подсистемы определяет разработчик. Возможности редактора модели позволяют создавать подсистемы, по своим свойствам не уступающие стандартным библиотечным блокам.
Объединим блоки Gain 1– 5, Int 1, Constant 1, блок деления и сумматор, расположенный между блоком деления и Gain 1, в подсистему, реализующую преобразование скорости вращения вала насоса в усилие на штоке цилиндра. Для этого выделите указанные блоки и щелкните правой кнопкой мыши по любому из выделенных блоков. В появившемся контекстном меню выберите пункт Create Subsystem. При исполнении данной команды редактор модели создаст блок с тремя входами и одним выходом. Двойным щелчком по блоку откройте новое окно редактора модели, содержащее в рабочей области фрагмент модели с входными и выходными блоками (In1, In2, In3 и Out1). Настроим названия входных и выходных сигналов подсистемы. Для этого щелкните правой кнопкой мыши по блоку In1, в появившемся кон-
текстном меню выберете Port Signal Properties \ Output Ports \ Port1. В от-
крывшемся окне в строке Signal name введите название сигнала. Для In1 название сигнала v (скорость движения штока), для In2 – n (скорость вращения вала насоса), для In3 – y (перемещение штока).
Аналогичным образом настройте название выходного блока Out1. Обозначьте выходную переменную подсистемы через f. После настройки имен
24
входных и выходных сигналов отредактируйте отображение блоков входных и выходных переменных. Откройте двойным щелчком по объекту окно редактирования параметров входного блока In1 и выберете Signal name в строке параметра Icon type. Аналогичную операцию проделайте с остальными входными и выходными блоками подсистемы. Закройте окно редактора модели с подсистемой. В рабочей области редактора основной модели внутри блока подсистемы появились подписи входных и выходных сигналов.
5.3. Содержание отчета
Отчет должен содержать цели лабораторной работы, разработанные блок-схемы, перечень и описание свойств используемых блоков, результаты моделирования.
Лабораторная работа 6
РАБОТА С MATLAB SIMULINK ИЗ КОМАНДНОЙ СТРОКИ
Цель работы: получение навыков управления моделированием MATLAB Simulink из командной строки.
6.1. Основные сведения
Благодаря полной интеграции среды моделирования Simulink с математическим пакетом MATLAB пользователь получает возможность передавать данные из рабочего пространства в модель, управлять моделированием и экспортировать результаты моделирования в рабочее пространство MATLAB для их дальнейшей обработки и анализа.
6.2.Программа работы
6.2.1.Настройка взаимодействия Simulink модели с рабочим
пространством MATLAB
1. Рассмотрим организацию взаимодействия модели Simulink с рабочим пространством на примере экспорта результатов моделирования разработанной в предыдущей лабораторной работе модели с использованием выходных блоков. Для этого дополним разработанную ранее модель тремя выходными блоками Out1, Out2 и Out3 (блок Out расположен в библиотеке sinks). Подсоедините ко входу блоков Out1, Out2 и Out3 сигналы с выходов подсистемы и интеграторов Int2 и Int3 соответственно.
25
2.Откройте окно настройки параметров моделирования (пункт меню
Simulation \ Configuration Parameters), выберете группу параметров Data Import/Export и в строке параметра Output через запятую укажите имена переменных, в которые будут экспортированы сигналы, приходящие в блоки Out1, Out2 и Out3 соответственно.
3.Промоделируйте систему. С помощью команды plot постройте графики зависимостей экспортированных сигналов от времени моделирования (вектор времени моделирования экспортируется в переменную, указанную в строке параметра Time группы параметров Data Import/Export окна настройки параметров моделирования).
6.2.2. Управление моделированием из командной строки MATLAB
Для управления моделированием из командной строки используется команда sim. В качестве параметров этой команды указываются имя файла модели и параметры моделирования. Если параметры моделирования не заданы, моделирование осуществляется со значениями параметров, заданными пользователем перед сохранением файла модели. Функция sim возвращает в рабочее пространство время моделирования, массив значений переменных состояния и все переменные, указанные в строке параметра Output группы параметров Data Import/Export окна настройки параметров моделирования.
Задайте команду sim, используя следующий синтаксис:
[t,X, «Переменная 1», «Переменная 2», «Переменная 3»] = sim(‘имя файла модели’),
где вместо «Переменная 1», «Переменная 2», «Переменная 3» необходимо использовать имена переменных, заданных в предыдущем пункте.
После выполнения команды постройте графики зависимостей экспортированных сигналов от времени моделирования.
6.2.3. Задание на самостоятельную работу
Создайте программу, осуществляющую моделирование созданной модели со значениями суммарной массы штока и нагрузки, равными 20, 40, 60, 80
и100 % от номинального значения, указанного в табл. 5.3.
Врезультате выполнения программы должны быть построены в одном окне, но в разных осях, графики зависимостей экспортированных сигналов от
26
времени моделирования при различных значениях суммарной массы штока и нагрузки.
6.3. Содержание отчета
Отчет должен содержать цель лабораторной работы, разработанные блок-схемы, графики результатов моделирования, текст разработанной программы с комментариями и результаты ее выполнения.
Лабораторная работа 7 СОЗДАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА
В MATLAB
Цель работы: получение навыков создания графических интерфейсов пользователя и использованием среды MATLAB Graphical User Interfaces.
7.1.Основные сведения
Всостав MatLab входит среда GUIDE для создания приложений с графическим интерфейсом пользователя. Работа в этой среде достаточно проста: элементы управления (кнопки, раскрывающиеся списки и т. д.) размещаются при помощи мыши, а затем программируются события, которые возникают при обращении пользователя к данным элементам управления.
Приложение может состоять как из одного основного окна, так и из нескольких окон, и осуществлять вывод графической и текстовой информации
восновное окно приложения и в отдельные окна. Ряд функций MatLab предназначен для создания стандартных диалоговых окон открытия и сохранения файла, печати, выбора шрифта, окна для ввода данных и др., которыми можно пользоваться в собственных приложениях.
7.2.Программа работы
7.2.1.Создание простых элементов управления
1. Создайте новое окно графического интерфейса при помощи меню
File \ New \ GUI \ Blank GUI (Default). Одновременно с созданием графиче-
ского объекта создается еще и связанный с ним m-файл, который содержит подпрограммы-сценарии, закрепленные за каждый объектом создаваемого интерфейса.
27
2.Создайте обычную кнопку при помощи инструмента «Push button». Двойным щелчком мыши по созданной кнопке откройте ее свойства (Inspector). Здесь можно изменить цвет кнопки (BackgroundColor), надпись (String), цвет шрифта (ForegroundColor) и другие свойства кнопки. Для того описания сценария, который будет выполняться при нажатии этой кнопки, необходимо прописать свойство Callback.
3.Щелкните правой кнопкой мыши по созданной кнопке и через контекстное меню перейдите в View Callbacks \ Callback. Автоматически откроется связанный m-файл, имя которого совпадает с именем файла GUI. В теле функции p shb tto 1_Callback пропишите команду, которая создает спиральную матрицу D размером 3 × 3: D=spiral(3). Точку с запятой в конце не ставьте.
Запустите на исполнение m-файл или GUI при помощи кнопки «Run» и убедитесь, что при нажатии созданной вами кнопки в рабочем окне MATLAB выводится соответствующая матрица.
4.Создайте панель редактируемого текста при помощи кнопки «Edit» панели инструментов. Откройте связанную с ней подпрограмму Callback и введите в тело функции следующее:
global str; |
% объявление переменной str глобальной |
str = get(hObject,'String'); |
% присвоение переменной str введенной строки |
str = str2num(str{1}); |
% преобразование содержимого ячейки в число |
5. Отредактируйте подпрограмму для кнопки таким образом, чтобы при нажатии кнопки в рабочее окно MATLAB выводилась матрица размера, введенного пользователем в панели редактируемого текста:
global str; |
% объявление переменной str глобальной |
D = spiral (str); |
% расчет и вывод на экран матрицы |
6. Добавьте в GUI окно для вывода графиков при помощи инструмента «Axes». Добавьте в подпрограмму для кнопки строчку для вывода изображения матрицы D: image(D). Запустите программу и убедитесь в ее работоспособности.
7.2.2. Задание на самостоятельную работу
Создайте интерфейс, позволяющий пользователю строить графики тригонометрических функций. Интерфейс должен:
28
а) позволять пользователю выбирать вид тригонометрической функции (sin или cos), задавать амплитуду и частоту сигнала, а также диапазон вычисления;
б) обеспечивать вывод результатов вычисления на график, наложения нескольких графиков и очистку осей.
7.3. Содержание отчета
Отчет должен содержать цель лабораторной работы, краткое описание используемого инструментария MATLAB GUI, результаты выполнения всех пунктов программы работы, тексты созданных подпрограмм и скриншоты созданных интерфейсов.
Лабораторная работа 8 СОЗДАНИЕ КОМПЛЕКСНЫХ ПРОЕКТОВ НА БАЗЕ
MATLAB
Цель работы: получение навыков создания текстовых документов с помощью специального приложения MATLAB Notebook.
8.1. Основные сведения
Основной задачей приложения Notebook является обеспечение объединения возможностей текстового процессора класса Word с возможностями математического пакета MATLAB. При помощи такого объединения возможно создание электронных книг, отчетов с различным текстовым оформлением и «живыми примерами». Это достигается путем включения в произвольные тексты документов действующих ячеек ввода и вывода, взаимосвязанных между собой так, что при изменении исходных значений в ячейках ввода могут изменяться и связанные с ними значения в ячейках вывода. Таким образом создается так называемая M-книга.
8.2.Программа работы
8.2.1.Создание документов класса Notebook
1.Для создания нового документа Notebook наберите notebook в командной строке MATLAB. При этом автоматически запустится Microsoft Wor и откроется новая M-книга с именем Document 1. Опишем с помощью М-книги некоторые фракталы.
29
2. Введите заголовок документа (например, «Фракталы») и с красной строки определение фрактала: «Фрактал – это сложная геометрическая фигура, обладающая свойством самоподобия, т. е. составленная из нескольких частей, каждая из которых подобна всей фигуре целиком». И далее: «В качестве иллюстрации рассмотрим следующие фракталы:
№ |
Фрактал |
№ |
Фрактал |
п/п |
|
п./п. |
|
1 |
Дракон Хартера–Хайтвея |
7 |
Куст |
2 |
Кoвер Серпинского |
8 |
Остров |
3 |
Кривая Гильберта |
9 |
Снежинка Коха |
4 |
Кривая Госпера |
10 |
Сорняк |
5 |
Кривая Пеано |
11 |
Цветок |
6 |
Кривая Серпинского |
|
― |
3.Создайте ячейку ввода. Для этого введите с новой строки N = 3. Затем выделите этот текст и исполните команду меню Notebook \ Define Input Cell.
Врезультате проделанных действий текст автоматически заключается в квадратные скобки.
4.Создадим еще одну ячейку ввода с командой вызова функции построения фракталов Lsystem(N). Выделите набранную команду и снова примените процедуру Define Input Cell. Автоматически сгенерируется ячейка вывода
– изображение фрактала.
5.Можно изменить ячейку ввода, задав новый номер N фрактала. После этого необходимо вызвать контекстное меню и обновить всю М-книгу командой Evaluate M-book. Таким образом, можно просмотреть все 11 представленных фракталов. При изменении ячейки ввода ячейка вывода обновляется автоматически.
6.Сохраните созданную М-книгу в формате *.doc.
8.2.2. Задание на самостоятельную работу
Создайте M-книгу, иллюстрирующую основные возможности дескрипторной графики математического пакета MATLAB.
8.3. Содержание отчета
Отчет должен содержать цель лабораторной работы, краткое описание расширения Notebook MATLAB, две созданные в результате работы М - книги.