Описание блоков SimEvents в программе Matlab - Моделирование систем

Time-Based Entity Generator (Раздел Generators/Entity Generator.) - блок генерирует сущности в моменты времени, определяемые входным сигналом или статистическим распределением.

Порядок генерирования определяется значением параметра Generate entities upon: моделирование информация simevents matlab

Intergeneration time from dialog - моменты времени генерации определяются в зависимости от параметров в диалоговых полях блока;

Тип распределения моментов генерации определяется полем Distribution. Возможные значения:

    - Constant (постоянное) - постоянное время между генерируемыми событиями задается в поле Period. - Uniform (равномерное) - случайное равномерное распределение задается диапазоном в полях Minimum и Maximum. - Exponential - экспоненциальное распределение задается параметром Mean (среднее).

При установке параметра распределения в значения Uniform или Exponential в диалоговом окне имеется также параметр Initial seed, определяющий генерируемый набор случайных чисел. Для фиксированного значения этого параметра случайная последовательность при следующем запуске модели повторится. Типично, значение этого параметра устанавливается в большое (например, пятизначное) нечетное число.

Intergeneration time from port t - моменты времени генерации определяются через сигнальный порт t, информация с которого считывается при старте моделирования и в каждый момент генерации новой сущности. Сигнал должен быть событийным (event-based). Если выставлено это значение, то у блока появляется дополнительный сигнальный порт t.

Для сбора статистики блока нужно отметить галочкой нужные сигналы на вкладке Statistics в панели свойств блока. Если отмечен соответствующий пункт, то у блока появляется новый сигнальный выходной порт, на который выводится следующая статистическая информация в соответствии:

#d - число сущностей покинувших блок после начала моделирования;

W - cреднее время между генерациями сущностей.

FIFO Queue - блок одновременно хранит до N сущностей, где N - значение параметра Capacity (Емкость). Блок пытается выпустить сущность через выходной порт OUT, однако если порт OUT блокирован, то сущность остается в блоке. Если в блоке хранятся несколько сущностей, то сущности покидают блок в соответствии с дисциплиной первый вошел - первый вышел (first in - first out (FIFO)). Если блок уже хранит N сущностей, то входной порт IN блока не доступен.

Для сбора статистики блока нужно отметить галочкой нужные сигналы на вкладке Statistics в панели свойств блока. Если отмечен соответствующий пункт, то у блока появляется новый сигнальный выходной порт, на который выводится следующая статистическая информация:

#d - число сущностей покинувших блок через порт OUT после начала моделирования;

#n - число сущностей в очереди;

W - среднее время ожидания в этом блоке для всех сущностей, покинувших блок через любой порт;

Len - среднее число сущностей в очереди по времени, то есть средний по времени сигнал #n.

Блок Single Server - обслуживает одновременно одну сущность за некоторый интервал времени и затем пытается выпустить сущность через выходной порт OUT. Если порт OUT блокирован, то сущность остается в блоке до тех пор пока выходной порт не разблокируется.

Время обслуживания (Service Time) определяется через параметры, атрибуты или сигналы в зависимости от значения параметра Service Time From. Блок определяет время обслуживания сущности при ее поступлении. Времена обслуживания определяются в секундах.

Значения параметра Service Time From:

Dialog - значения времени обслуживания задаются в поле параметра Service Time;

Attribute - значения времени обслуживания задаются атрибутом, имя которого указано в поле параметра Attribute name;

Signal port t - значения времени обслуживания задаются через сигнальный порт t. Сигнал должен быть событийным (event-based). Если выставлено это значение, то у блока появляется дополнительный сигнальный порт t.

Для сбора статистики блока нужно отметить галочкой нужные сигналы на вкладке Statistics в панели свойств блока. Если отмечен соответствующий пункт, то у блока появляется новый сигнальный выходной порт, на который выводится следующая статистическая информация:

#d - число сущностей покинувших блок через порт OUT после начала моделирования;

#n - число сущностей в сервере, 0 или 1;

W - среднее время ожидания в этом блоке для всех сущностей, покинувших блок;

Util - утилизация сервера, то есть доля времени моделирования, использованная на хранение сущностей. В начале моделирования утилизация равна 0 или 1 в зависимости от того хранит ли сервер сущность.

Для завершения путей используется блок Entity Sink.

Параметры блока:

Input port available for entity arrivals - если выбран этот параметр, то блок принимает прибывающие сущности, в противном случае - блок сущности не принимает, а при попытке прибытия сущности выдается сообщение об ошибке.

Report number of entities arrived, #a - при выборе параметра у блока появляется сигнальный порт #a, на котором после каждого прибытия сущности выдается информация о количестве принятых блоком сущностей. Начальное значение сигнала после начала моделирования до первого обновления блока равно 0.

Блок Output Switch позволяет выбрать в процессе моделирования один из нескольких выходных портов для сущностей. После выбора одного из выходных портов, остальные порты становятся недоступными.

Количество выходных портов определяется параметром Number of entity output ports, входной порт, которые выбирается для приема сущностей определяется в соответствии с параметром Switching Criteria:

Round robin - в начале моделирования выбирается порт OUT1. При каждом следующем прибытии сущности выбирается следующий по порядку входной порт. После выбора последнего порта снова выбирается порт OUT1.

Equiprobable - в начале моделирования и при каждом убытии сущности блок в случайном порядке осуществляет выбор порта для отбытия следующей прибывающей сущности. Все выходные порты для сущностей одинаково желательны для выбора. Инициализация процесса генерации случайного числа определяется параметром Initial Seed (значение неотрицательное целое число).

First port that is not blocked - при попытке приема сущности блок пытается для выпуска сущности использовать порт OUT1. Если этот порт блокирован, то производится попытка использовать блок OUT2 и т. д. Если блокированы все выходные порты, то входной порт блока становится недоступным.

From signal port p - при выборе этого параметра на блоке появляется дополнительный сигнальный порт p. Сигнал на этом порту должен принимать целочисленные значения в диапазоне от 1 до значения параметра Number of entity output ports. При изменении значения сигнального порта выбирается соответствующий выходной порт для следующих прибывающих сущностей.

From attribute - прибывающая сущность покидает блок через выходной порт, соответствующий значению атрибута, имя которого указано в параметре Attribute name. Значение атрибута должно иметь целочисленные значения в диапазоне от 1 до значения параметра Number of entity output ports. Если указанный выходной порт блокирован, то блок не принимает сущности до разблокирования соответствующего выходного порта.

Для сбора статистики блока нужно отметить галочкой нужные сигналы на вкладке Statistics в панели свойств блока. Если отмечен соответствующий пункт, то у блока появляется новый сигнальный выходной порт, на который выводится соответствующая статистическая информация:

#d - число сущностей покинувших блок после начала моделирования;

Last - индекс входного порта, который был доступен в момент прибытия последней сущности. Начальное значение 0.

Блок Input Switch позволяет выбрать в процессе моделирования один из нескольких входных портов для сущностей. После выбора одного из входных портов, остальные порты становятся недоступными.

Количество входных портов определяется параметром Number of entity input ports, входной порт, которые выбирается для приема сущностей определяется в соответствии с параметром Switching Criteria:

Round robin - в начале моделирования выбирается порт IN1. При каждом следующем прибытии сущности выбирается следующий по порядку входной порт. После выбора последнего порта снова выбирается порт IN1. Equiprobable - в начале моделирования и каждого прибытия сущности блок в случайном порядке осуществляет выбор порта для следующей прибывающей сущности. Все входные порты для сущностей одинаково желательны для выбора. Инициализация процесса генерации случайного числа определяется параметром Initial Seed (значение неотрицательное целое число).

From signal port p - при выборе этого параметра на блоке появляется дополнительный сигнальный порт p. Сигнал на этом порту должен принимать целочисленные значения в диапазоне от 1 до значения параметра Number of entity input ports. При изменении значения сигнального порта выбирается соответствующий входной порт для следующих прибывающих сущностей.

Для сбора статистики блока нужно отметить галочкой нужные сигналы на вкладке Statistics в панели свойств блока:

#d - число сущностей покинувших блок после начала моделирования;

Last - индекс входного порта, который был доступен в момент прибытия последней сущности. Начальное значение 0.

Блок Path Combiner позволяет объединить несколько путей в один.

Блок принимает сущности через один из нескольких входных портов и выпускает их через единственный выходной порт. Количество входных портов определяется параметром Number of entity input ports.

Для сбора статистики блока нужно отметить галочкой нужные сигналы на вкладке Statistics в панели свойств блока:

#d - число сущностей покинувших блок после начала моделирования;

Last - индекс входного порта, который был доступен в момент прибытия последней сущности. Начальное значение 0. Блок Replicate выпускает через свои выходные порты копии прибывающей в блок сущности.

Количество копий, создаваемых блоком, определяется параметром Number of entity output ports.

Для сбора статистики блока нужно отметить галочкой нужные сигналы на вкладке Statistics в панели свойств блока. Если отмечен соответствующий пункт, то у блока появляется новый сигнальный выходной порт, на который выводится соответствующая статистическая информация:

#a - число сущностей прибывших в блок после начала моделирования;

#d - число сущностей покинувших блок после начала моделирования;

Результаты моделирования. Окончательный вариант модели с результатами.

Для вывода результатов моделирования в виде цифр используется блок Display из раздела библиотеки Simulink Sinks.

Для генерации управляющих сигналов для Function-Call Subsystem можно использовать блок Entity Departure Function-Call Generator из раздела Generators/Function-Call Generators библиотеки SimEvents.

Этот блок выдает Function-Call сигнал на выход f1 при каждом убытии сущности из блока.

Для того чтобы не было ошибок после блока Entity Departure Function-Call Generator на выход (OUT) ставится блок Single Server.

Для синхронизации работы подсистемы оценки качества с событийно управляемой имитационной моделью целесообразно оформить ее в виде функционально вызываемой подсистемы (Function-Call Subsystem). Заготовка для Function-Call Subsystem находится в разделе Ports&;Subsystems библиотеки Simulink.

Похожие статьи




Описание блоков SimEvents в программе Matlab - Моделирование систем

Предыдущая | Следующая