Выдержка из работы:
Некоторые тезисы из работы по теме Лабораторная работа по теме: Управление подсистемы
Лабораторный практикум № 7
Тема: Управляемые подсистемы
Цель: получение навыков создания и использования Simulink-подсистем.
Пример 7.1
Цель: объединение сигналов.
На рисунок 1 представлена S-модель, реализующая слияние двух сигналов – пилообразного и синусоидального в один.
В S-модели используются блоки управляемых подсистем Enabled Subsystem, которые активны только в том случае, если на управляющий вход подсистемы подается положительный сигнал. В данной S-модели подсистемы только пропускают сигнал со своего входа на выход, не выполняя никаких дополнительных расчетов.
Рисунок 1 – Поочередно выполняемые подсистемы
……………………………………
Пример 7.2
Цель: воздействие на положительные полуволны синусоидального сигнала высокочастотной синусоидой малой амплитуды.
……………………………………
Пример 7.3
Управляемая фронтом сигнала подсистема
Пример 7.2 усложняется. Необходимо, чтобы несущая (низкочастотная) синусоида состояла только из положительных полуволн, оставив при этом на первой полуфазе высокочастотное возмущение.
В S-модель добавляется переключаемая подсистема и настраиваются ее параметры (рисунок 5).
Из нее удаляется выходной порт In1. Управляющий элемент Trigger подсистемы настраивается на фиксацию перехода нулевой отметки в обоих направлениях (Trigger type=either) и отображается его выходной порт установкой флажка Show output port. Появившийся в блоке Trigger выход направляется в выходной порт подсистемы, соединив с блоком Out1.
……………………………………
Пример 7.4
ET-подсистема
На рисунок 7 приведен пример модели, использующей ET-подсистему. В блоке Sources | Pulse Generator, производящем управляющий сигнал на T-вход подсистемы, установлен параметр Period=pi/4.
……………………………………
Рисунок 7 – Модель, использующая ET-подсистему
Пример 7.5
Управляемая по условию If Action подсистема
На рисунок 8 показан пример использования блока If совместно с подсистемами If Action Subsystem. Первая подсистема пропускает через себя входной сигнал, если входной сигнал u1 блока If больше 0.5, вторая – если входной сигнал меньше -0.5, третья – если входной сигнал лежит в отрезке от -0.5 до 0.5.
В первой и второй подсистемах в блоках Out1 установлены следующие значения параметров: Output when disabled=reset, Initial Output=0. Как видно из временных диаграмм, при выключении подсистем сигналы данных выходных портов равны начальному значению (нулю). В третьей подсистеме в блоке Out1 установлен параметр Output when disabled= held. В этом случае при выключении подсистемы сигнал выходного порта равен последнему, рассчитанному в момент активности подсистемы назначения. При активной подсистеме входной сигнал умножается на 5.
……………………………………
Пример 7.6
На рисунок 10 показан пример использования блока For Iterator Subsystem для вычисления факториала n! Заданного натурального числа n.
Управляемая подсистема For Iterator Subsystem представляет собой подсистему, которая выполняется неоднократно в течение одного такта моделирования. Основные свойства подсистемы определяет итерационный блок For Iterator, являющийся аналогом оператора цикла for. Количество итераций должно быть известно заранее и может задаваться внешним источником сигнала или в блоке For Iterator, что устанавливается параметром Iteration limit source, который может принимать значение external или internal. В последнем случае количество повторений задается параметром Iteration limit данного блока.
……………………………………
Задание 7.1
Цель: изучение свойств управляемой уровнем сигнала подсистемы Enabled Subsystem.
Исследовать и продемонстрировать влияние изменения параметров блока выходного порта (значения held или reset параметра Output when disabled) и блока управляющего элемента Enable (значения held или reset параметра States when enabling) подсистемы на сигнал выходного порта подсистемы.
……………………………………
Задание 7.2
Цель: разбиение сигнала.
Используя управляемые подсистемы Enable Subsystems и принцип создания поочередно активных подсистем Alternately Executing Subsystems (пример 7.1) составить S-модель, разбивающую синусоиду на два сигнала: положительную и отрицательную полуволны.
Созданная S-модель представлена на рисунок 13.
……………………………………
Задание 7.3
Самостоятельно изучить работу подсистем управляющей логики Control Flow Subsystem: блока условного оператора Switch Case и управляемой по условию подсистемы Switch Case Action Subsystem, а также управляемой подсистемы While Iterator Subsystem.
Создать S-модель, реализующую при помощи управляемой подсистемы While Iterator Subsystem накопление суммы значений с заданным шагом Step. Выполнение цикла прекращается, когда сумма достигнет или превысит заданное максимальное значение Upper Limit. Шаг суммирования Step и максимальное значение суммы Upper Limit должны передаваться в подсистему через входные порты Sources | Inport. ……………………………………
Задание 7.4
Тема: Полет тела, брошенного под углом к горизонту.
Гибридное моделирование. Управляемые E и T-подсистемы. Модель полета тела, брошенного под углом к горизонту как составляющая модели движения груза на невесомой нерастяжимой нити вокруг неподвижной опоры.
Постановка задачи моделирования
К неподвижной опоре на невесомой нерастяжимой нити подвешен груз. Нить препятствует удалению груза от центра на расстояние, большее длины нити, но никак не мешает перемещению груза внутри круга. Движение груза происходит с учетом силы тяжести и силы сопротивления среды прямо пропорциональной скорости движения груза. В начальный момент времени груз находится в нижней точке подвеса и движется строго горизонтально слева направо со скоростью v_0, м/с (рисунок 17).
Требуется построить:
математическую модель колебаний маятника;
S-модель колебаний маятника;
анимацию движения маятника.
Рисунок 17 – Траектория движения груза, подвешенного на нерастяжимой нити
……………………………………
Задание 7.5
S-модель L0705.mdl «Свободное падение тела, брошенного под углом к горизонту».
Изменить начальные данные S-модели таким образом, чтобы вместо вектора начальной скорости [v_x0,v_y0 ] задавались:
начальный угол ?_0, град, отсчитываемый против часовой стрелки от положительной горизонтальной полуоси;
величина начальной скорости |v_0 |.
Для решения задачи необходимо выполнить следующие действия:
отредактировать файл data.m, переименовав его в data1.m
V0 = 17; % initial velocity V0
Alpha = 65; % initial Angle (grad)
……………………………………
Задание 7.6
Самостоятельно написать S-функцию, реализующую анимацию выполнения полета тела, как показано на рисунок 29.
Рисунок 29 – Анимационное изображение полета тела
S-функция модели (файл L0706Plot.m) приведена ниже:
……………………………………
Задание 7.8
Модель L0708.mdl «Удар».
Изменить S-модель с учетом того, что тело привязано к началу координат прочной невесомой нитью длины L. Добавить в S-модель блоки, позволяющие определить момент отскока (выходы тела за пределы разрешенного круга). Для этого самостоятельно сформулировать и выписать условие, по которому спроектировать управляющий сигнал. При натяжении нити S-модель должна прекратить свою работу. Создать анимацию движения маятника.
……………………………………
Задание 7.9
Подумать, как объединить в одной S-модели все фазы движения тела: движение по окружности, свободное падение и отскоки.
Подобное объединение возможно, например, в результате моделирования искусственной ситуации. Тело свободно движется по окружности, затем после, например, переключения элемента Signal Routing | Manual Switch происходит его свободное падение, при этом если тело выходит за рамки окружности с радиусом длина нити, то произойдет удар.
Совмещенная S-модель находится в файле «L0709_Final.mdl». Ее схема показана на рисунок 39.
……………………………………