Опубликован: 07.11.2014 | Доступ: свободный | Студентов: 446 / 37 | Длительность: 15:17:00
ISBN: 978-5-9556-0161-8
Тема: САПР
Дополнительный материал 1:

Приложение 1

< Лекция 10 || Дополнительный материал 1 || Дополнительный материал 2 >

Объекты Библиотеки моделирования процессов

Поток заявок
Source Создает заявки.
Sink Уничтожает поступающие заявки.
Enter Вставляет уже существующие заявки в определенное место внутри процесса, заданного потоковой диаграммой.
Exit Извлекает поступающие в объект заявки из процесса, заданного потоковой диаграммой, позволяя пользователю самому решить, что следует сделать с этими заявками.
Hold Блокирует/разблокировывает поток заявок на определенном участке блок-схемы.
Split Для каждой поступающей заявки объект создает заданное число новых заявок и пересылает их дальше.
Combine Дожидается поступления двух заявок в порты in1 и in2 (в произвольном порядке), а затем создает новую заявку и направляет ее на выходной порт.
SelectOutput Направляет входящие заявки в один из двух выходных портов в зависимости от выполнения заданного условия.
SelectOutput5 Объект направляет входящие заявки в один из пяти выходных портов в зависимости от выполнения заданных (детерминистических или заданных с помощью вероятностей) условий.
Queue Хранит заявки в определенном порядке. Моделирует очередь заявок, ожидающих приема объектами, следующими за данным в потоковой диаграмме.
Match Синхронизирует два потока заявок путем нахождения пар заявок, удовлетворяющих заданному критерию соответствия.
MoveTo Перемещает заявку в новое место сети.
RestrictedAreaStart Обозначает вход в область процесса, в которой одновременно может находиться ограниченное количество заявок.
RestrictedAreaEnd Обозначает выход из области процесса, в которой может находиться только ограниченное количество заявок.
Работа с содержимым заявки
Batch Преобразует заданное количество поступающих в объект заявок в одну заявку-партию.
Unbatch Извлекает все заявки, содержащиеся в поступающей заявке-партии и пересылает их далее. Сама заявка-партия при этом уничтожается.
Pickup Добавляет заявки к содержимому поступающей заявки-контейнера.
Dropoff Удаляет избранные заявки из поступающей заявки-контейнера и пересылает их далее.
Assembler Осуществляет сборку одной новой заявки из определенного числа заявок, пришедших из различных источников (до 5).
Обработка
Delay Задерживает заявки на заданный период времени.
Работа с ресурсами
ResourcePool Задает набор ресурсов, которые могут захватываться и освобождаться заявками.
Seize Захватывает для заявки заданное количество ресурсов определенного типа.
Release Освобождает ранее захваченные заявкой ресурсы.
Service Захватывает для заявки заданное количество ресурсов, задерживает заявку, а затем освобождает захваченные ею ресурсы.
ResourceTask Позволяет конфигурировать собственную задачу для ресурсов, которую нельзя задать стандартными параметрами аварий, обслуживания, перерывов.
ResourceTaskStart Задает начало отдельной диаграммы процесса, моделирующей процесс выполнения задачи ресурсами (обычно это процесс подготовки ресурсов).
ResourceTaskEnd Задает конец отдельной диаграммы процесса, моделирующей процесс выполнения задачи для ресурсов (обычно это процесс завершения задачи).
ResourceSendTo Посылает (перемещает) указанные движущиеся/переносные сетевые ресурсы из их текущего местоположения в заданный узел.
Транспортировка
Conveyor Моделирует конвейер. Перемещает заявки по пути заданной длины с заданной скоростью (одинаковой для всех заявок), сохраняя их порядок и оставляя заданные промежутки между ними.
Измерение времени
TimeMeasureStart TimeMeasureStart вместе с TimeMeasureEnd составляет пару объектов, позволяющую измерять время, проведенное заявками между двумя точками диаграммы процесса. Обычно с их помощью измеряется время нахождения заявки в системе или длительность пребывания заявки в каком-то подпроцессе. TimeMeasureStart задает начальную точку, он запоминает момент времени, в который заявка проходит через этот объект.
TimeMeasureEnd TimeMeasureEnd вычисляет для каждой поступившей в него заявки разность между текущим моментом времени и моментом, запомненным объектом TimeMeasureStart , на который ссылается этот объект.
Моделирование зон хранения и складов
RackSystem Моделирует зону хранения, состоящую из набора стеллажей и проходов между ними (моделируемыми с помощью объектов PalletRack), предоставляющий централизованный доступ и управление этими стеллажами.
RackPick Извлекает заявку из ячейки стеллажа (PalletRack) или зоны хранения (RackSystem) и перемещает ее в заданный узел сети.
RackStore Помещает заявку в ячейку заданного стеллажа (PalletRack) или зоны хранения (RackSystem).
Дополнительные
PML Settings Задает дополнительные настройки, относящиеся к блокам Библиотеки Моделирования Процессов.
Wait Этот блок похож на блок Queue с одним исключением: он поддерживает изъятие в ручном режиме (нужно вызвать методы free(), или freeAll()). Этот блок нет определенного порядка (кроме случаев, когда включено вытеснение).
SelectOutputIn Вместе с блоком SelectOutputOut действуют как две половинки большого блока SelectOutput с множеством выходов.
SelectOutputOut Вместе с блоком SelectOutputIn действуют как две половинки большого блока SelectOutput с множеством выходов.
PlainTransfer Блок, в который Вы можете вписать код для действий заявки, когда она проходит через какое-то место диаграммы процесса.
< Лекция 10 || Дополнительный материал 1 || Дополнительный материал 2 >
Игорь Маникин
Игорь Маникин

Коллеги, спасибо за очень информативный и полезный курс. Прошёл три лекции. Столкнулся с проблемой, что обе модели не могут закончить расчёт по причине ограничения бесплатной версии "создано максимально допустимое число динамически создаваемых агентов (50000)". По скриншотам Лекции 2 видно, что да, модель создает гораздо больше 50000 агентов. В принципе, мне то и диплом не особо нужен. Но хотелось бы выполнить практические работы. Нет ли возможности откорректировать эту проблему? Или может я чего не так делаю?

Еще раз спасибо за прекрасный курс!

Артём Нагайцев
Артём Нагайцев

Выдает ошибку "entity cannot be resolved to a variable" при попытке запуска. В чем может быть причина? Ошибка в строках

entity.time_vxod=time(); 

time_obrabotki.add(time()-entity.time_vxod);