Станция обработки

Элемент разметки пространства Станция обработки позволяет графически отобразить станцию обработки на конвейере. Установленная станция обработки не разбивает конвейер на две части.

Станция обработки может одновременно обрабатывать несколько материальных объектов. Количество одновременно обрабатываемых материальных объектов задается параметром Вместимость. При необходимости обработать сразу несколько материальных объектов, станция обработки будет ждать прибытия требуемого количества агентов.

Время необходимое на обработку требуемого количества материальных объектов задается параметром Задержка.

Примечание: Конвейер ожидает, что объекты до и после станции обработки будут одного типа.

Чтобы создать станцию обработки

  1. Перетащите элемент  Станция обработки из секции Разметка пространства палитры  Библиотека производственных систем на графическую диаграмму, содержащую конвейер. Станцию обработки можно создать только после того, как будет создан конвейер, на который можно будет поместить станцию. Перетаскивая элемент по диаграмме, вы увидите, что все фигуры, кроме конвейеров, будут временно скрыты. 
  2. Поместите курсор над конвейером в том месте, куда вы хотите установить элемент. Станция обработки прикрепится к конвейеру. Поместите остановку в нужном вам месте, отпустив левую кнопку мыши. Местоположение станции обработки можно позже изменить, перетаскивая ее мышью.
  3. Длину станции обработки можно изменить, перемещая квадратную метку-манипулятор на краю элемента, или указав значение в свойстве элемента Длина. Ширина станции обработки изменяется автоматически при изменении ширины конвейера.
Чтобы изменить местоположение станции обработки
  1. Щелкните левой кнопкой мыши по станции обработки, которую необходимо переместить.
  2. Перетащите станцию обработки в нужное место на текущем конвейере (станцию обработки нельзя переместить на другой конвейер). Изменить местоположение станции обработки также можно, указав необходимое значение в поле параметра Смещение от начала конвейера.

Свойства

Основные свойства

Имя – Имя станции обработки. Имя используется для идентификации элемента и доступа к нему из кода и свойств блоков диаграммы процесса.

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

Отображается на верхнем уровне – Если опция выбрана, то фигура будет видна на презентации типа агента, в который будет вложен данный агент.

Блокировать – Если опция выбрана, то фигура будет считаться заблокированной и не будет реагировать на щелчки мыши. Таким образом, вы не сможете выбрать заблокированную фигуру в графическом редакторе до тех пор, пока вы не снимете с нее блокировку.

Видимость – Здесь вы можете указать, будет ли фигура видна на анимации во время выполнения модели или нет. Используя элемент управления, выберите да или нет.

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

Тип задержки - Определяет способ задания времени задержки: 
Определенное время - Обработка агента заканчивается, когда истекает заданное время.
До вызова функции stopProcess() - Пользователь завершает обработку агента и освобождает его вызовом функции stopProcess().

Задержка - [Параметр виден, если в Тип задержки выбрана опция Определенное время] Выражение, вычисляющее время задержки для агента.
К данному материальному объекту можно обратиться через локальную переменную agent.

Вместимость - Количество агентов, которое необходимо обработать одновременно. Станция начнет обработку, только когда соберется заданное количество агентов.

Загрузка - Определяет режим загрузки новых материальных объектов на станцию обработки: 
Идет одновременно с выгрузкой - Загрузка объекта может производиться одновременно с выгрузкой другого, уже обработанного материального объекта, по мере освобождения места в станции обработки.
Начинается после окончания выгрузки - Загрузка нового материального объекта начнется только после того, как закончится обработка находящихся в станции объектов и они полностью покинут пределы станции обработки.

Ресурсы

Использовать ресурсы – Определяет, будет ли станция обработки использовать ресурсы.

Захватить - Здесь вы можете выбрать, требуются ли для сборки ресурсы одного типа или ресурсы разных типов ((альтернативный) набор ресурсов).
Детальное описание см. ниже.

Набор ресурсов - [Параметр виден, если в параметре Захватить выбрана опция (альтернативный) набор ресурсов] Здесь вы можете задать наборы ресурсов, требуемые для обработки материальных объектов. Вы можете добавить несколько наборов с помощью кнопки Добавить список. Ресурсы набираются согласно их доступности. 
Детальное описание см. ниже.

Тип ресурсов - [Параметр виден, если в параметре Захватить выбрана опция ресурсы одного типа] Здесь вы можете указать блок ResourcePool, задающий ресурсы, требуемые для обработки материальных объектов.
Детальное описание см. ниже.

Количество ресурсов - [Параметр виден, если в параметре Захватить выбрана опция ресурсы одного типа] Выражение, возвращающее требуемое количество ресурсов для агента.

Пересылать захваченные ресурсы - Если опция выбрана (true), захваченные ресурсы будут направлены в заданное местоположение.
К данному материальному объекту можно обратиться через локальную переменную agent.

Место назначения - [Параметр виден, если выбрана опция Пересылать захваченные ресурсы] Определяет куда будут направлены ресурсы:
Узел сети - в указанный узел сети.
Аттрактор
- в указанный аттрактор.
Точка - в точку с указанными координатами.

Действия

Во всех действиях, к данному материальному объекту можно обратиться через локальную переменную agent.

При старте процесса - Здесь вы можете задать код, который будет выполняться при старте обработки материального объекта.

При окончании процесса - Здесь вы можете задать код, который будет выполняться, когда станция закончит обработку материального объекта.

При входе переднего торца – Здесь вы можете задать код, который будет выполняться, когда передний торец материального объекта поступает на станцию обработки.

При входе заднего торца – Здесь вы можете задать код, который будет выполняться, когда задний торец материального объекта поступает на станцию обработки.

При выходе переднего торца – Здесь вы можете задать код, который будет выполняться, когда передний торец материального объекта покидает станцию обработки.

При выходе заднего торца – Здесь вы можете задать код, который будет выполняться, когда задний торец материального объекта покидает станцию обработки.

При поломке – Здесь вы можете задать код, который будет выполняться при поломке станции обработки.

При починке – Здесь вы можете задать код, который будет выполняться при починке станции обработки.

Внешний вид

Цвет заливки – Задает цвет заливки фигуры. Если вы не хотите, чтобы фигура была закрашена, выберите Нет цвета.

Цвет линии – Задает цвет линии. Если вы не хотите, чтобы линия контура была видна, выберите Нет цвета.

Местоположение и размер

Смещение от начала конвейера – Расстояние от начальной точки конвейера до начальной точки станции обработки, в пикселях.

Длина – Определяет длину станции обработки в заданных единицах измерения длины. По умолчанию длина остановки составляет 4 метра.

Специфические

Отображать в – Здесь вы можете выбрать, будет ли фигура отображаться В 2D и в 3D, Только в 2D или Только в 3D.

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

Функции

Состояние

Функция

Описание

boolean isProcessing()

Возвращает true, если станция обработки обрабатывает агентов (материальные объекты), в противном случае возвращает false.

boolean stopProcess()

После вызова функция останавливает станцию обработки.

boolean isFailed()

Возвращает true, если станция обработки сломана, в противном случае возвращает false .

boolean fail()

Моделирует поломку станции обработки. Станция обработки выходит из строя и останавливает свою работу.

boolean repair()

Моделирует починку станции обработки. Станция обработки возвращается в рабочее состояние.

Агенты (материальные объекты)

Функция

Описание

T getAgent(int index)

Возвращает агента, находящегося в заданной позиции на станции обработки (отсчет начинается с нуля, и ведется от выхода). 

Параметр: index - индекс агента на станции обработки

List getAgents()

Возвращает список агентов (материальных объектов), находящихся в данный момент на станции обработки, если таких нет, то возвращает null

boolean contains(Agent agent)

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

Параметр: agent - агент

boolean removeAgent(Agent agent)

Удаляет заданного агента со станции обработки. 

В случае успешного удаления возвращается true, в противном случае - false.

Параметр: agent - агент, который должен быть удален со станции обработки


Ресурсы

Функция

Описание

boolean isUseResources()

Возвращает true, если станция обработки использует ресурсы, в противном случае возвращает false.

boolean isSeizeFromOnePool()

Возвращает true, станция обработки использует ресурсы одного типа, в противном случае возвращает false.

Object getResourceDestinationType()

Возвращает местоназначение, в которое направлены ресурсы.

Допустимые значения:
                        Seize.DestinationType.DEST_NODE - узел сети, в который направлены ресурсы.
                        Seize.DestinationType.DEST_ATTRACTOR - аттрактор, к которому направлены ресурсы.
                        Seize.DestinationType.DEST_XYZ - координаты точки, в которую направлены ресурсы.


Количество

Функция

Описание

int getQuantity()

Возвращает количество агентов (материальных объектов), при котором начинается обработка. 

double setQuantity(int quantity)

Задает количество агентов, которое необходимо обработать одновременно.

Параметр: quantity - количество агентов (материальных объектов).

int size()

Возвращает количество агентов (материальных объектов), находящихся в данный момент в станции обработки.

Режим загрузки

Функция

Описание

void setLoadingMode
(
ConveyorSimpleStationLoadingMode mode)

Задает режим загрузки материальных объектов в станцию обработки. 

Параметр:
mode
- новый режим загрузки 
Допустимые значения:
SIMPLE_STATION_LOADING_MODE_SIMULTANEOUS_WITH_UNLOADING - новые материальные объекты будут загружаться в станцию обработки по мере освобождения в ней свободного места при выгрузке обработанных объектов
SIMPLE_STATION_LOADING_MODE_AFTER_UNLOADING - новые материальные объекты начнут загрузку только после того, как находящиеся в станции объекты будут полностью обработаны и покинут ее пределы.

ConveyorSimpleStationLoadingMode 
getLoadingMode()

Возвращает текущий режим загрузки материальных объектов в станцию обработки. 

Допустимые значения:
SIMPLE_STATION_LOADING_MODE_SIMULTANEOUS_WITH_UNLOADING - новые материальные объекты будут загружаться в станцию обработки по мере освобождения в ней свободного места  при выгрузке обработанных объектов
SIMPLE_STATION_LOADING_MODE_AFTER_UNLOADING - новые материальные объекты начнут загрузку только после того, как находящиеся в станции объекты будут полностью обработаны и покинут ее пределы.


Сеть конвейеров

Функция

Описание

int getConveyor()

Возвращает конвейер, на котором находится станция обработки. 

double getOffset()

Возвращает расстояние от начальной точки конвейера.

ConveyorNetwork getNetwork()

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

Видимость

Function

Описание

boolean isVisible()

Проверяет, отображается ли станция обработки на анимации во время выполнения модели. 

Если функция возвращает true - значит, станция обработки отображается, если false - нет.

void setVisible(boolean v)

Задает видимость станции обработки.

Параметр: v - видимость. Если значение v равно true, то фигура будет отображаться, если равно false - то нет.


Специфические

Функция

Описание

double length(LengthUnits units)

Возвращает длину станции обработки, вычисленную в 3D пространстве.

Параметрunitsконстанта, задающая единицу измерения длины

ConveyorSimpleStationDelayType getDelayType()

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

Допустимые значения: CONVEYOR_SIMPLE_STATION_DELAY_TYPE_MANUAL - пользователь завершает обработку агента и освобождает его вызовом функции stopProcess().
                        CONVEYOR_SIMPLE_STATION_DELAY_TYPE_TIMEOUT - обработка агента заканчивается, когда истекает заданное время.


Удаление

Функция

Описание

void remove()

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


Использование ресурсов

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


См. также

Элементы разметки Библиотеки производственных систем

Конвейер

Библиотека производственных систем

 Java документация (англ.): Класс ConveyorSimpleStation