- •Имитационное моделирование в среде Arena 3.0
- •Виды решаемых задач
- •Arena – средство моделирования систем массового обслуживания
- •Три уровня глубины моделирования в Arena
- •Используемые шаблоны модулей
- •Используемые шаблоны модулей (продолжение)
- •Сущность
- •Атрибуты сущности
- •Пример
- •Модуль Симуляция (Simulate)
- •Сервер (Обслуживающее Устройство)
- •Сервер (Обслуживающее Устройство)
- •Входы в систему
- •Модуль Arrive
- •Выходы из системы
- •Модуль Depart
- •Внутрисистемные связи в моделях Arena и их типы.
- •Связь типа «маршрут» (Route)
- •Связь типа «сегмент» (Segment)
- •Связь типа «дистанция» (Distance)
- •Связь типа «сеть» (Network)
- •Связь типа «соединение» (Connection)
- •Связь типа «ссылка на ярлык» (Label)
- •Анализ входных данных (Input Analyzer)
- •Анализ входных данных (продолжение)
- •Анализ выходных данных (Output Analyzer)
- •Анализ выходных данных Итоговый отчет
- •Итоговый отчет (Пример)
- •Согласованная работа анимации и логики
- •Станция
- •Транспортер
- •Конвейер
- •Работа с пакетами сущностей
- •Элементы
- •Объекты требующие обязательного описания через элементы.
- •Блоки
- •Наиболее часто используемые блоки.
- •Наиболее часто используемые блоки.
- •Наиболее часто используемые блоки.
- •Наиболее часто используемые блоки.
- •Наиболее часто используемые блоки.
- •Наиболее часто используемые блоки.
- •Наиболее часто используемые блоки.
- •Наиболее часто используемые блоки. WAIT
- •Наиболее часто используемые блоки.
- •Наиболее часто используемые блоки.
- •Наиболее часто используемые блоки.
- •Наиболее часто используемые блоки.
- •Наиболее часто используемые элементы.
- •Наиболее часто используемые блоки.
- •Условные обозначения принятые в объектной модели
- •Arena 3.0 Объектная модель
- •Объектная модель (Описание)
- •Объектная модель (продолжение)
- •Объектная модель (Описание. Продолжение 1)
- •Объектная модель (продолжение)
- •Объектная модель (Описание. Продолжение 2)
- •Объектная модель (Описание. Продолжение 3)
- •Объектная модель (Описание. Продолжение 4)
Наиболее часто используемые блоки.
Блок Delay (панель Support)
DELAY
Величина задержки
Описание:
Применяется для организации задержки сущности в блоке на определенное время.
При прибытии сущности рассчитывается задержка на основании выражения, указанного в этом блоке. После чего сущность остается в этом блоке до времени равному текущему системному времени модели плюс время рассчитанной задержки.
Наиболее часто используемые блоки.
DISPOSE
Блок Dispose (панель Support)
Описание:
Применяется для мгновенного уничтожения сущности пришедшей в этот блок. Уничтоженная сущность удаляется из системы и ее номер может быть использован модулем Arrive при генерации новой сущности (на это следует обратить внимание при отладке).
Наиболее часто используемые блоки.
|
Блок Match (панель Support) |
MATCH |
|
||
|
Описание: |
|
|
Применяется для синхронизации определенного числа сущностей, |
|
|
ждущих в различных очередях (например при окончательной сборке |
продукции для синхронизации поступления упаковки и продукта). Блок Match снимает блокировку на прохождение сущности только в том случае, когда как минимум одна сущность есть в каждой из очередей. Но, если этого недостаточно для синхронизации (например когда в одной очереди разнородная продукция, а в другой разнородная упаковка), то Match позволяет определить атрибут, на основании которого будут извлекаться сущности из очередей. Т.е. для снятия блокировки значение атрибутов должно совпасть.
При прибытии сущности она размещается в одной из очередей (их может быть от двух до пяти) в зависимости от того, к которому из коннекторов присоединена связь по которой поступила сущность. Сущности остаются заблокированными до тех пор, пока не поступят соответствующие ей сущности в остальные очереди этого блока.
Как только снимается блокировка, извлекается по одной сущности из каждой очереди блока. Эти сущности синхронизировано покидают модуль или могут быть уничтожены, это определяется настройками блока Match.
Наиболее часто используемые блоки. WAIT
Блоки Wait/Signal (панель Support) |
Ожидаемый сигнал |
|
SIGNAL |
||
|
||
|
Генерируемый сигнал |
Описание:
Блок Wait применяется для блокировки сущности до момента получения указанного в блоке сигнала.
При прибытии сущности в блок Wait, она помещается в очередь, если очередь определена (иначе используется внутренняя очередь блока Wait), до того момента, пока сигнал, сгенерированный блоком Signal не будет принят. При получении сигнала, сущности числом, не превышающим Release Limit указанный в свойствах блока Wait и блока Signal, деблокируются и покидают блок Wait.
Блок Signal посылает значение сигнала, указанное в его свойствах, каждому блоку Wait в модели и деблокирует определенное число сущностей в них(см.выше).
При прибытии сущности в блок Signal, рассчитывается сигнал (если имеет место алгебраическое выражение) и отсылается результат (кодовый сигнал). В это время сущности, блокированные в модулях Wait, ждущие этого сигнала деблокируются и покидают Wait.
Наиболее часто используемые блоки.
Блок Write (панель Support)
WRITE
Описание:
Применяется для записи данных в файл или вывода на экран.
При прибытии сущности указанный файл проверятся на активность (открыт или нет). Если нет, файл открывается автоматически. Значения переменных, атрибутов, или алгебраических выражений, указанных в листинге Write Out, записываются в файл как повторяющаяся группа. Более точно формат определяется в свойствах модуля.
Наиболее часто используемые блоки.
PICKSTATION
Блок PickStation (панель Support)
Описание:
Применяется для выбора конкретной станции из нескольких указанных станций. Этот блок осуществляет выбор направления передачи сущности (аналогично Choose) основываясь на логике отбора станции по критерию, указанному в свойствах блока. Сущность может передаваться как с помощью маршрута, транспорта, конвейера или напрямую к станции через коннектор. При использовании коннектора, выбранная станция сохраняется в сущности как атрибут. Что резко повышает гибкость за счет появившейся возможности передать сущность не сразу к станции, а через любые промежуточные блоки.
Выбор станции основывается на выборе минимального или максимального значения критерия. (Например длины очереди)
Наиболее часто используемые блоки.
Блок FindJ (панель Block) |
FINDJ |
|
Описание:
FINDJ производит поиск от индекса Start of Range до индекса End of Range значения глобальной переменной которое удовлетворяет указанному условию поиска. J принимает значение индекса в случае если существует значение, удовлетворяющее условию поиска, или J обращается в 0, если в обозначенном промежутке нет значения, удовлетворяющего условию поиска.
При прибытии сущности в FINDJ блок, SIMAN устанавливает индекс J равным Start of Range и проверяет Search Condition (условия поиска). Если значение, хранимое по индексу J соответствует Search Condition, текущее значение J сохраняется. Иначе, индекс J изменяется для проверки следующего значения. Этот процесс продолжается до тех пор, пока не будет найдено значение удовлетворяющее условию поиска, или не будет достигнут индекс End of Range (Конец диапазона).
Начальный индекс, Start of Range, может быть меньше или больше чем конечный индекс, End of Range, так как поддерживается поиск в обе стороны.
Наиболее часто используемые блоки.
Блок Duplicate (панель Support) |
DUPLICATE |
|
Количество 1 |
||
|
||
|
Количество 2 |
Описание:
Duplicate блок создает точные копии прибывшей сущности и отсылает их к присоединенным блокам или блокам, LABEL которых указан в свойствах блока Duplicate.
При прибытии сущности указанное число копий исходной сущности отсылается к присоединенным блокам. Исходная сущность проходит через блок без изменений и задержек. Все атрибуты и их значения в копии полностью соответствуют оригиналу.
Наиболее часто используемые элементы.
Элемент QUEUES определяет общее число очередей, их имена, критерий сортировки и закрепленный за каждой очередью блок QUEUE.
Элемент Variables определяет задаваемые пользователем (не системные) глобальные переменные и их начальные
значения. Ссылаться на эти переменные в модели можно с помощью их имени. Переменные также могут быть заданы как векторы значений или в виде матриц.
Элемент Expressions определяет алгебраические выражения и связанные с ними значения. Ссылки на выражения организовываются при помощи ссылок на их имя. Выражения также могут быть представлены в форме
векторов и массивов.
Наиболее часто используемые блоки.
Блок VBA (панель Blocks)
VBA
VBA Cookie номер
Описание:
VBA блок отсылает сущность к пользовательской Microsoft® Visual Basic® for Applications процедуре, которая добавляется в модель с помощью Visual Basic редактора вызываемого в меню Tools.
При прибытии сущности, управление передается в VBA процедуру. Номер VBA Cookie указывается в VBA блоке, он уникален для каждого VBA блока в модели или шаблоне. Необходимо вручную создавать процедуру соответствующую каждому VBA блоку в Visual Basic редакторе, автоматически генерируются только название процедуры и объекта. Например VBA блок со значением Cookie равным 1 будет иметь соответствующую процедуру в Visual Basic с названием VBA_Block_1_Fire (и Object с названием VBA_Block_1).