Построение событийной части модели
Поле п будет использоваться для занесения номера выполняемой операции. Эти номера необходимы для определения операций, на которые нужно при необходимости повторно отправить детали с пункта окончательного контроля. Поле, а предназначено для занесения кода первого или повторного выполнения операций. Этот код используется, чтобы при повторном обнаружении брака не отправлять деталь для выполнения… Читать ещё >
Построение событийной части модели (реферат, курсовая, диплом, контрольная)
В событийную (функциональную) часть модели включим указанные ранее сегменты. Поскольку построение модели — это итерационный процесс, то размещение сегментов и объектов Any Logic будем корректировать до тех пор, пока не посчитаем приемлемым их взаимное расположение для корректной с нашей точки зрения работы модели и ее презентации.
Начнем с сегмента имитации процесса подготовки заготовки.
Подготовка заготовки
Данный сегмент предназначен для имитации поступления заготовки, ожидания в очереди, имитации непосредственно подготовки заготовки и отправки на выполнение первой операции.
- 1. В Палитре выделите Презентация. Перетащите элемент Прямоугольник. На странице Местоположение и размер установите: X: 2 0, Y: 3 00, Ширина: 240, в поле Высота: 150.
- 2. Перетащите элемент text и на странице Текст панели Свойства введите: Подготовка заготовки (рис. 2.6).
Рис. 2.6. Сегмент Подготовка заготовки
3. В Палитре выделите Библиотека моделирования процессов. Перетащите объект source на агент Main и разместите в прямоугольнике с именем Подготовка заготовки.
- 4. Для записи параметров детали в дополнительные поля агента нужно создать новый тип агента, например Detail.
- 5. В панели Проект щелкните правой кнопкой мыши элемент модели верхнего уровня дерева и выберите из контекстного меню Создать Java класс.
- 6. Появится диалоговое окно Новый Java класс. В поле Имя введите имя нового класса Detail.
- 7. В ноле Базовый класс введите имя базового класса com. х j. any logic. libraries. enterprise. Entity. Щелкните кнопку Далее.
- 8. Появится вторая страница Мастера создания Java класса. Добавьте поля Java-класса, которые потребуются в дальнейшем при разработке модели:
double начИзготов;
double п;
double а;
double Tnl;
Поле п будет использоваться для занесения номера выполняемой операции. Эти номера необходимы для определения операций, на которые нужно при необходимости повторно отправить детали с пункта окончательного контроля. Поле, а предназначено для занесения кода первого или повторного выполнения операций. Этот код используется, чтобы при повторном обнаружении брака не отправлять деталь для выполнения соответствующей операции в третий раз.
- 9. Оставьте выбранными флажки Создать конструктор и Создать метод toString ().
- 10. Щелкните кнопку Готово. Появится редактор кода и автоматически созданный код Java-класса. Закройте код.
- 11. Теперь нужно преобразовать Java-класс в тип агента. Для этого в панели Проект в контекстном меню только что созданного Java-класса выберите Преобразовать Java класс в тип агента.
- 12. Появится окно с автоматически созданными параметрами нового типа агента Detail.
- 13. Из Палитры Агент перетащите на сегмент Исходные данные элемент Переменная. На странице Основные панели Свойства дайте Имя Ь, установите Тип double.
- 14. Выделите объект source. На страницах панели Свойства установите свойства согласно рис. 2.7.
Рис. 2.7. Объект source с установленными свойствами
Код, приведенный ниже, нужно ввести в ноле свойства Действия при выходе. Этот код использует данные созданных ранее двух массивов.
agent.n=uniform_pos ();
if {agent.n <= верВарЗаг. get (1)) agent. Tnl =.
срВрПодгЗаг.get (1);
else if {agent.n > верВарЗаг. get (1) &&.
agent.n <= верВарЗаг. get (2)) agent. Tnl = срВрПодгЗаг. get (2) ;
else if (agent.n > верВарЗаг. get (2) &&.
agent.n <= верВарЗаг. get (3)) agent. Tnl = срВрПодгЗаг. get (3) ;
else if (agent.n > верВарЗаг. get (3) && agent. n <= верВарЗаг. get (4)) agent. Tnl = срВрПодгЗаг. get (4);
else if (agent.n > верВарЗаг. get (4) &&.
agent.n <= верВарЗаг. get (5)) agent. Tnl = СрВрПодгЗаг. get (5);
else if (agent.n > верВарЗаг. get (5) && agent. n <=BepBap3ar.get (6)) agent. Tnl = срВрПодгЗаг. get (6) ;
agent.начИзготов = time ();
- 1. Выделите объект queue. На страницах панели Свойства задайте Имя очЗаг и установите флажок Максимальная вместимость.
- 2. Выделите объект delay и на странице Основные панели Свойства установите свойства:
- • Имя: подЗаг;
- • Тип: Определенное время;
- • Время задержки: exponential (1 /agent. Tnl), минуты,
- • Вместимость: 1;
- • Установите флажок Включить сбор статистики;
- • Действия при выходе:
agent.а=1;
на_контроль.коэфИспПодЗаг =.
подЗаг.statsUtilization.mean ();
• Тип агента: Detail;