Опубликован: 15.02.2013 | Доступ: свободный | Студентов: 257 / 0 | Длительность: 16:52:00
ISBN: 978-5-9556-0146-5
Лекция 3:

Модель процесса изготовления в цехе деталей

Создание нового класса активного объекта

На рис. 2.7 показаны четыре функциональных сегмента модели, которые построены с использованием 18 объектов AnyLogic. Если вы начнёте создавать очередной сегмент, то после перетаскивания второго объекта появится сообщение: Ограничение ознакомительной версии: нельзя создавать более 20 вложенных объектов. Поэтому остальные сегменты модели нам нужно разместить на втором активном объекте. Создайте этот объект.

  1. На панели Проект щелкните Main правой кнопкой мыши и выберите из контекстного меню Создать/Класс активного объекта.
  2. Откроется окно Новый класс активного объекта.
  3. В поле Имя: задайте имя нового класса Kontrol.
  4. Если нужно, в поле Описание: введите описание сущности, моделируемой этим классом.
  5. Щелкните кнопку Готово.
Создание элемента нового класса активного объекта

Согласно логике процесса изготовления деталей надо после выполнения каждой из трёх операций в случае брака отправить забракованные детали на пункт окончательного контроля. С последнего получить и отправить детали на повторное выполнение тех операций, после которых они были забракованы. Кроме того, готовые детали необходимо передать на склад готовых деталей. Таким образом, для связи с активным объектом Main потребуются семь портов (3+3+1).

Создайте элемент нового класса активного объекта Kontrol.

  1. Из Палитры Основная перетащите элемент Порт и разместите сверху в левом ряду (рис. 2.8).
  2. На странице Основные панели Свойства имя port замените именем наОп1.
  3. Скопируйте элемент Порт с именем наОп1.
  4. Вставьте два элемента Порт (см. рис. 2.8). При вставке последовательно будут изменяться их имена: наОп2, наОп3.
  5. Из Палитры Основная перетащите элемент Порт и разместите сверху в правом ряду (см. рис. 2.8).
    Порты

    Рис. 2.8. Порты
  6. На странице Основные панели Свойства имя port замените именем брОп1 (идентификатор означает, что через этот порт отправляются бракованные детали после операции 1 на пункт окончательного контроля).
  7. Скопируйте элемент Порт с именем брОп1.
  8. Вставьте два элемента Порт (см. рис. 2.8). При вставке последовательно будут изменяться их имена: брОп2, брОп3.
  9. Из Палитры Основная перетащите элемент Порт и разместите внизу в правом ряду (см. рис. 2.8).
  10. На странице Основные панели Свойства имя port замените именем готДет.
  11. По мере размещения элементов Порт они автоматически будут объединяться прямоугольником (с пунктирными линиями) и появится надпись Значок.
  12. Возвратитесь на диаграмму класса Main.
  13. На панели Проект выделите Kontrol, перетащите на диаграмму класса Main объект класса Kontrol, разместите как на рис. 2.9.
  14. Объект активного класса Kontrol создан. На странице Основные панели Свойства уберите флажок Отображать имя и в поле Имя: введите на_контроль.
  15. В Палитре выделите Презентация. Перетащите элемент Прямоугольник и разместите так, как на рис. 2.9. На странице Дополнительные панели Свойства введите в поле Ширина: 140, в поле Высота: 220.
  16. Перетащите элемент text и на странице Основные панели Свойства в поле Текст введите На окончательный контроль.

Теперь для движения заявок-деталей в модели необходимо надлежащим образом соединить входы и выходы объектов сегментов Операция 1, Операция 2 и Операция 3 с портами.

  1. Соедините выходы F (false) объектов конОп12, конОп22, конОп32 с портами брОп1, брОп2, брОп3 соответственно.
  2. Соедините порты наОп1, наОп2, наОп3 с входами объектов очОп1, очОп2, очОп3 соответственно.
  3. Соедините выход Т (true) объекта конОп32 сегмента Операция 3 с портом готДет.

На рис. 2.9 вы видите ещё объекты. Перейдём к размещению их на диаграмме класса Main.

Объект Main с сегментами модели и элементом объекта Kontrol

увеличить изображение
Рис. 2.9. Объект Main с сегментами модели и элементом объекта Kontrol
Создание области просмотра

В случае сложных моделей, активные объекты которых содержат большое количество элементов, может возникнуть неудобство: все элементы активного объекта могут просто физически не поместиться в ту область диаграммы, которая будет отображена в окне презентации во время выполнения модели.

Версия 6 AnyLogic предоставляет в распоряжение пользователей специальный элемент для решения этой проблемы - область просмотра. С помощью этого элемента вы можете выделить на диаграмме активного объекта некоторые области, содержащие логически обособленные группы элементов или участки диаграммы. Задав такие области, вы сможете легко переключаться между ними во время выполнения модели с помощью специальных средств навигации, что позволит быстро переходить к тому или иному участку диаграммы активного объекта. При этом в окне презентации запущенной модели будут отображаться те элементы активного объекта, которые попали в заданную вами ранее и сделанную в текущий момент активной область просмотра.

Используем две области просмотра. В первой области просмотра разместим объекты первых пяти сегментов (см. рис. 2.9), во второй - сегменты Пункт окончательного контроля, Склад готовых деталей и Склад бракованных деталей.

Первая область просмотра будет на диаграмме класса Main, а вторая - на новом классе активного объекта Kontrol.

Создайте область просмотра на диаграмме класса Main для размещения объектов сегмента Постановка на дежурство.

  1. В Палитре выделите Презентация. Перетащите элемент Область просмотра в нужное место.
  2. Вы увидите на диаграмме значок якоря этой области просмотра . Чтобы в дальнейшем изменить свойства этой области, Вам нужно будет выделить этот значок мышью.
  3. Перейдите на страницу Основные панели Свойства.
  4. В поле Имя: введите zex.
  5. Задайте, как будет располагаться область просмотра относительно ее якоря, с помощью элемента управления Выравнивать по: Верхн. левому углу.
  6. Выберите режим масштабирования из выпадающего списка Масштабирование: Подогнать под окно.
  7. Сбросьте флажок исключить, если он был установлен.
Переключение между областями просмотра

Области просмотра используются как для навигации по графическому редактору во время создания модели, так и для навигации по окну презентации во время выполнения модели.

Чтобы перейти к другой области просмотра в режиме создания модели:

  1. Щелкните мышью в графическом редакторе, чтобы сделать его активным.
  2. Щелкните по кнопке панели инструментов Области просмотра и выберите из выпадающего списка, к какой именно области просмотра вы хотите перейти.

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

  1. Щелкните правой кнопкой мыши в области обрисовки окна презентации, выберите пункт контекстного меню Область и, затем выберите из списка, к какой именно области просмотра вы хотите перейти.
  2. Или же щелкните кнопку панели инструментов Показать область... и выберите из выпадающего списка, к какой именно области просмотра вы хотите перейти (эта кнопка принадлежит секции панели инструментов Вид, и возможно, чтобы она стала видна, вам нужно будет вначале показать эту секцию панели инструментов).

Вы можете также добавлять свои собственные элементы презентации, щелчком на которых будет производиться переход к той или иной области просмотра. Воспользуйтесь последним.

  1. В Палитре выделите Презентация. Перетащите элемент text, разместите и введите в поле Текст: Цех, как на рис. 2.9.
  2. Перетащите второй элемент text, разместите и введите в поле Текст: Пункт окончательного контроля.
  3. На панели Свойства выделите Динамические и в поле Действие по щелчку: введите следующий Java код:
    на_контроль.kontr.navigateTo();

Во введённом коде на_контроль - имя элемента нового класса активного объекта Kontrol, а kontr - имя области просмотра, которую мы создадим позднее на новом активном объекте Kontrol.

На рис. 2.10 показан активный объект Kontrol с размещёнными на нём тремя сегментами модели. Создадим эти сегменты.

Объект Kontrol с размещёнными на нём тремя сегментами

увеличить изображение
Рис. 2.10. Объект Kontrol с размещёнными на нём тремя сегментами
Алексей Гроссман
Алексей Гроссман

Здравствуйте, прошел курс "Концептуальное проектирование систем в AnyLogic и GPSS World". Можно ли получить по нему сертификат? У нас в институте требуют сертификаты для создания портфолио.

Елена Блинаева
Елена Блинаева