- •1.Общие сведения о matlab и Simulink
- •2. Описание библиотек
- •2.1. Источники сигналов
- •Icon shape – форма блока (окружность или прямоугольник);
- •3.2. Управление окончанием процесса моделирования
- •4. Использование подсистем
- •4.1. Интерфейс подсистем
- •4.2. Управление подсистемами
- •Основные понятия с м о:
- •Варианты заданий:
4.2. Управление подсистемами
Управляемая подсистема – это такая подсистема, активизация которой происходит только при наличии некоторого внешнего управляющего события или сигнала. Механизм управляемых подсистем обеспечивает эффективное решение проблемы синхронизации параллельных процессов.
Для создания управляемых подсистем в Simulink используется два блока: Enable(включатель) и Trigger(триггер). Эти блоки также входят в раздел Signals&Systems.
Оба блока могут использоваться только внутри подсистем. При этом достаточно только наличия одного из этих блоков в окне блок-диаграммы подсистемы. Логика работы управляемой подсистемы зависит от того, какой именно блок входит в ее состав. В модели могут использоваться управляемые подсистемы трех основных типов:
содержащие блок Enable (Е-подсистемы);
содержащие блок Trigger (T-подсистемы);
содержащие оба блока (ЕТ-подсистемы).
4.2.1. Е-подсистемы
Подсистема запускается в том случае, если управляющий входной сигнал имеет положительное значение. Если управляющий сигнал может изменять полярность, то Е-подсистема начинает работу на том шаге моделирования, когда сигнал переходит нулевое значение в положительном направлении и работает до тех пор, пока он остается положительным. Если управляющий сигнал – вектор, то Е-подсистема запускается в том случае, когда хотя бы один его элемент – не нуль. Е-подситемы могут сохранять или не сохранять выходной сигнал на тот период времени, когда они находятся в отключенном состоянии.
4.2.2. Т-подсистемы
Т-подсистема работает только на том шаге моделирования, на котором произошло изменение полярности входного сигнала. В отличие от Е-подсистем, Т-подсистемы всегда сохраняют последнее значение выходного сигнала до следующего запуска. Кроме того, при запуске Т-подсистемы никогда не восстанавливается ее предыдущее состояние; состояния всех входящих в нее дискретных блоков также сохраняются между управляющими событиями.
4.2.3. ЕТ-подсистемы
ЕТ-подсистема – подсистема, содержащая как блок Enable, так и блок Trigger. Правило запуска такой подсистемы состоит в следующем. Если на некотором шаге моделирования происходит изменение полярности «триггерного» сигнала (т.е. сигнала, поступающего на соответствующий управляющий вход Trigger), то Simulink проверяет наличие сигнала на втором управляющем входе. Если оно больше нуля, то система запускается и работает в течение одного шага моделирование. Если оба управляющих сигнала – векторы, подсистема выполняется в том случае, если, по крайней мере, один элемент каждого вектора отличен от нуля.
Основные понятия с м о:
Задачи массового обслуживания возникают в тех случаях, когда условия на выполнение работы поступают в случайные моменты времени, а выполнение этих работ, называемые обслуживанием, осуществляется одним или несколькими обслуживающими устройствами. Длительность выполнения отдельных требований предполагается.
Устройство, способное в любой момент времени обслуживать лишь одно требование, называется каналом обслуживания.
Характерной особенностью задач массового обслуживания является возникновение несоответствие между скоростью поступления требований и скоростью обслуживания, в результате чего или оказывается простаивающими обслуживаемые приборы или образуется очередь на обслуживание. Поэтому принципиальный интерес представляют следующие характеристики СМО:
1) длина очереди в различные моменты времени;
2) общая продолжительность нахождения требования в системе обслуживания;
3) доля времени, в течение которого обслуживающие приборы были не заняты.
Для получения математической модели СМО необходимо иметь:
1) описание входящего потока требований;
2) описание способа, каким выполняется обслуживание;
3) описание дисциплины очереди, т.е. указание того, каким образом требования поступают из очереди на обслуживание.
Одним из основных подходов, используемых при построении тематических моделей процессов функционирования систем, является непрерывно-стохастический подход. Особенности этого подхода выражаются в использовании в качестве типовых математических схем систем массового обслуживания (англ. queuing system).
Схемы массового обслуживания представляют собой класс математических схем, разработанных в теории массового обслуживания и различных приложениях для формализации процессов функционирования систем, которые по сути своей являются процессами обслуживания. Процесс обслуживания может быть различным по своей физической природе: процессы функционирования экономических, производственных, технических и др. систем, например: потоки поставок продукции некоторому предприятию, потоки деталей и комплектующих изделий на сборочном конвейере цеха, заявки на обработку информации ЭВМ от удаленных терминалов и т.д. При этом характерным для работы таких объектов является случайное появление заявок (требований) на обслуживание и завершение обслуживания в случайные моменты времени, т.е. стохастический характер процесса их функционирования. В любом элементарном акте обслуживание можно выделить две основные составляющие: Ожидание обслуживания заявкой и собственно обслуживание заявки. Это можно изобразить в виде некоторого i-го прибора обслуживания Пi (рис.5), состоящего из накопителя заявок Нi, в котором одновременно может находиться li=0, Li заявок, где Li - емкость i-го накопителя и канала обслуживания заявок (или просто канала) Кi. На каждый элемент прибора обслуживания Пi поступают потоки событий: на накопитель Нi - поток заявок wi, на канал Кi - поток обслуживания ui.
Рис.5. Прибор обслуживания заявок.
Потоком событий называется последовательность событий, происходящих одно за другим в какие-то случайные моменты времени.
Обычно в приложениях при моделировании различных систем применительно к элементарному каналу обслуживания Ki можно считать, что поток заявок wi C W, т.е. интервалы времени между моментами появления заявок (вызывающие моменты) на входе Ki, образуют подмножество неуправляемых переменных, а поток обслуживания ui C U, т.е. интервалы времени между началом и окончанием обслуживания заявки, образует подмножество управляемых переменных.
Заявки, обслуженные каналом Ki и заявки, покинувшие прибор Пi по разным причинам не обслуженным(например, из-за переполнения накопителя Нi), образуют выходной поток yi C Y, т.е. интервалы времени между моментами выходами заявок образуют подмножество выходных переменных.
Процесс функционирования прибора обслуживания Пi можно представить как процесс изменения состояний его элементов во времени Zi (t). Переход в новое состояние для Пi означает изменение количества заявок, которые в нем находятся (в канале Ki и накопителе Hi). Т.о., вектор состояний для Пi имеет вид Zi=(Zi,Zi), где Zi - состояние накопителя Hi (Zi=0 - накопитель пуст, Zi=1 - в накопителе имеется 1 заявка, ..., Zi=Li - накопитель полностью заполнен); Li - емкость накопителя Hi, измеряемая числом заявок в нем помещаемым; Zi - состояние канала Ki (Zi=0 - канал свободен, Zi=1 - канал занят и т.д.).
Обозначим через Si состояние СМО, означающее наличие очереди из i требований (i=0,1,2...,), а через Pi (t) вероятность того, что система находится в состоянии Si в момент t. Найдем изменение этой вероятности ^Pi(t) за малый интервал ^t, непосредственен, но следующий за моментом t. Обозначим также через Li и Mi интенсивность потока требований и интенсивность обслуживания системы в состоянии Si.
В данной работе рассматривается случай одного канала, на который поступает поток требований с интенсивностью L. Интенсивность обслуживания равна М. Вероятности Pi(t) того, что система находится в состоянии Si в момент времени t, тогда равны:
Pi=Ri*PO, где R=L/M, i=1,2,...
Значения PO найдем из соотношения
PO(1+R+R2+R3+...)=1
и имеет смысл только при R<1. Используя формулу суммы бесконечной убывающей геометрической прогрессии, получаем:
PO=1-R.
С учетом этого выражения для Pi принимают вид:
Pi=(1-R)*Ri, где i=0,1,2,...
Основными характеристиками в системе являются средняя длина очереди и среднее время ожидания обслуживания.
Среднее число требований, находящихся в системе обслуживания,
=(P1+2*P2+3*P3+...)=(1-R)(R+2*R2+3*R3+...).
Учитывая, что:
R+2*R2+3*R3+...=R/(1-R2)
находим:
=R/(1-R).
Можно также найти среднее число заявок s проходящих обслуживание. Поскольку число заявок, находящихся на обслуживании, равно 0, если канал свободен, и единица, во всех остальных случаях, то
s=O*PO+1*(P1+P2+...)=1-PO=R.
Разность между и s дает среднюю длину очереди.
’= - s=R/(1-R)-R=R2/(1-R)
Учитывая, что среднее время обслуживания одной заявки равно 1/M, для среднего времени ожидания обслуживания получаем выражение:
t= /M.
В практике моделирования систем, для формализации используются не отдельные приборы обслуживания, а Q-схемы композиции многих элементарных приборов обслуживания Пi. Если каналы Ki различных приборов обслуживания соединены параллельно, то имеет место многоканальное обслуживание (многоканальная Q-схема), а если приборы Пi и их параллельные композиции соединены последовательно, то имеет место многофазное обслуживание (многофазная Q-схема). Т.о. для задания Q-схемы необходимо использовать оператор сопряжения R, отражающий взаимосвязь элементов структуры (каналов и накопителей) между собой. Связи между элементами Q-схемы изображают в виде стрелок (линий потоков, отражающих направление движения заявок).
Собственными (внутренними) параметрами Q-схемы будут: количество фаз Lф; количество каналов в каждой фазе Lkj, j=1, Lф; емкость i-го накопителя Li. Обозначим как подмножество Н совокупность собственных параметров Q-схемы.
Т.о. Q-схема, описывающая процесс функционирования системы массового обслуживания любой сложности задается в виде:
Q =< W, U, H, Z, R, A>, где
W - подмножество неуправляемых переменных - подмножество входящих потоков заявок на обслуживание; U - подмножество управляемых переменных - подмножество потоков обслуживания; R - оператор сопряжения элементов структуры (каналов и накопителей); Н - подмножество собственных параметров (фаз, каналов, накопителей, емкостей);
Z - подмножество состояний элементов структуры (ZiH, ZiK);
A - оператор алгоритмов обслуживания заявок (оператор поведения заявок).
Большими возможностями обладают имитационные модели, позволяющие обследовать Q-схему задаваемую без ограничений в виде:
Q =< W, U, H, Z, Y, R, A>, где
Y - подмножество выходных переменных.
На работу с Q-схемой при машинной реализацией моделей ориентированы многие языки имитационного моделирования: SIMULA, SIMSCRIPT, GPSS и др., либо используются пакеты прикладных программ, созданных на базе алгоритмических языков общего назначения ALGOL, FORTRAN, PL/1 и др.
Создание очереди в системе Simulink.
Для управления очередью в системе, библиотека Simulink располагает специальным блоком Queue, расположенном в разделе DSP Blockset-> General DSP -> Buffers. Этот блок обеспечивает сохранение значений входного сигнала в регистре, имеющем формат FIFO. Входной сигнал может быть скаляром, вектором или матрицей.
Блок работает следующим образом:
если имеет место событие, возбуждающее порт Push, то блок втягивает очередное значение входного сигнала, подаваемого на порт In в конец очереди;
если имеет место событие, возбуждающее порт Pop, то блок выталкивает очередной элемент из головы очереди на выход(это значение сохраняется на выходе блока до наступления очередного события в порту Pop).
События типа Clr(очистка), поступающие на одноименный порт, обеспечивают освобождение очереди.
Если на управляющие порты блока поступают одновременно два или более событий, то они учитываются в следующем порядке:
первым – событие типа Clr;
вторым – событие типа Push;
третьим – событие типа Pop.
Блок имеет следующие параметры настройки:
Register Size – максимальная длина очереди;
Раскрывающийся список Trigger Type позволяет выбрать условия срабатывания блока:
- Rising edge – по фронту управляющего сигнала;
- Falling edge – по спаду управляющего сигнала;
- Either edge – при любом из описанных выше изменений управляющего сигнала;
Раскрывающийся список Push onto full register – позволяет выбрать режим работы в случае переполнения очереди;
- Ignore – проигнорировать событие и продолжать моделирование;
- Warning – продолжить моделирование, но вывести соответствующее предупреждение в командное окно MATLAB;
- Error – вывести сообщение об ошибке и закончить сеанс моделирования;
- Dynamic reallocation – динамически изменять емкость регистра.
Список Pop empty register – позволяет выбрать режим работы блока в случае возникновения попытки выбора элемента из пустой очереди;
Флажок Empty register output – определяет возможность использования выходного порта Empty, сигнал на котором показывает, что очередь пуста;
Флажок Full register output - определяет возможность использования выходного порта Full, сигнал на котором показывает, что очередь переполнена;
Флажок Output number of register entries – позволяет воспользоваться выходным портом, чтобы узнать число свободных мест в очереди;
Флажок Clear input – определяет возможность использования входного порта Clr для очистки очереди;
Флажок Clear output port on reset – позволяет сбросить сигнал на выходе порта Out при возникновении события типа Clr.
Задание к работе
Постройте модель варианта Q-схемы и обеспечьте сбор статистических данных о процессе функционирования исследуемого в работе варианта системы при помощи выбранного варианта. Смоделируйте процесс функционирования Q-схемы на интервале времени (О,T), где Т=1000 единиц времени (ед.вр.).
Порядок выполнения работы:
1. Ознакомиться с методическими указаниями по выполнению данной лабораторной работы.
2. Получить варианты заданий и провести необходимые предварительные расчеты.
3. Составить по заданному варианту блок-диаграмму Simulink.
4. Провести имитационный эксперимент на ЭВМ, получить результаты прогона модели и сравнить их с расчетными.
5. Разработать мероприятия по ликвидации “узких мест” исследуемой системы, представленной в виде Q-схемы.
6. Ответить на контрольные вопросы.
Отчет о работе
Отчет должен содержать:
1) исходные данные по вариантам;
2) краткое описание используемых для моделирования технических средств;
3) обоснование выбора конкретных объектов Simulink для реализации данного варианта задания;
4) обоснование принятых решений при выполнении задания;
5) описание модели (с описанием работы и настроек отдельных блоков);
6) блок-диаграммы моделей с внесенными изменениями и окончательные результаты моделирования системы.
Вопросы для самостоятельного изучения:
Интерфейс системы Simulink (окна, меню, настройки, оформление моделей).
Обзор библиотек системы Simulink. Основная библиотека Simulink.
Раздел Continuous (назначение и параметры блоков).
Раздел Discrete.
Раздел Functions&Tables.
Раздел Math.
Раздел Nonlinear.
Раздел Signals&Systems.
Раздел Sinks.
Раздел Sources.
Создание подсистем (блоки In, Out).
Создание связей подсистем (блоки Goto, From, Data Store Memory, Data Store Read, Data Store Write).
Управляемые подсистемы. Е-подсистемы.
Т-подсистемы.
ЕТ-подсистемы.
Маскирование подсистем.
Разработка собственных библиотечных модулей.
