Рабочий участок

Рабочий участок является элементом разметки пространства, который используется в моделях производственных систем. Элемент графически отображает станцию обработки / рабочую область, в которой обрабатываются материальные объекты. Процесс обработки не задан внутри элемента, его необходимо задать с помощью блоков Библиотеки моделирования процессов и Библиотеки производственных систем

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

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

Рабочий участок задается в виде многоугольной области. Форма и размер области не имеют логического смысла.

Чтобы создать рабочий участок

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

Свойства

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

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

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

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

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

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

Местоположение агентов – Здесь вы можете указать, в какое место внутри рабочего участка будут помещаться поступающие агенты (материальные объекты). Возможные варианты:
Рядом с конвейером - Агенты будут помещаться внутри рабочего участка рядом с конвейером, по которому они были перемещены в данный участок.
В центре - Агенты будут помещаться в центральную точку этого рабочего участка.
Случайное - Агенты будут помещаться в случайно выбранные точки внутри этого рабочего участка.

Действия

При входе – Здесь вы можете написать Java код, который будет выполняться при поступлении агента (материального объекта) в данный рабочий участок. В коде действия данный материальный объект доступен как локальная переменная agent.

Внешний вид

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

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

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

X – x-координата начальной точки области.

Y – y-координата начальной точки области.

Точки

В секции свойств Точки расположена таблица относительных координат точек участка.  

Первая точка всегда имеет координаты (0,0,0), и они не редактируются.
В остальных строках таблицы задаются координаты последующих точек. Координаты каждой точки представляют собой смещения этой точки от начальной по оси X, Y и Z соответственно.

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

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

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

Функции

Местоположение

Функция

Описание

double getX()

Возвращает X-координату начальной точки фигуры.

double getY()

Возвращает Y-координату начальной точки фигуры.

double getZ()

Возвращает Z-координату начальной точки фигуры.

void setXYZ
(double x, double y, double z)

Задает координаты начальной точки рабочего участка. 

Параметры:
x - новое значение координаты X
y - новое значение координаты Y
z - новое значение координаты Z

Point getCenter()

Возвращает координаты центральной точки фигуры.


Видимость

Функция

Описание

boolean isVisible()

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

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

void setVisible(boolean v)

Задает видимость рабочего участка.

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


Цвет заливки

Функция

Описание

Color getFillColor()

Возвращает цвет заливки фигуры или null, если у фигуры нет заливки или если фигура отображает текстуру (в последнем случае используйте функцию getFillTexture()).

Texture getFillTexture()

Возвращает текстуру заливки фигуры или null, если у фигуры нет текстуры заливки или если фигура использует цвет заливки (в последнем случае используйте функцию getFillColor()).

void setFillColor
(Paint fillColor)

Задает для фигуры новый цвет заливки (или текстуру, объект типа Texture).

Параметр:
fillColor - новый цвет заливки; если значение равно null, то фигура не заливается


Цвет линии

Функция

Описание

Color getLineColor()

Возвращает цвет контура фигуры или null, если у контура нет цвета или если контур отображает текстуру (в последнем случае используйте функцию getLineTexture()).

Texture getLineTexture()

Возвращает текстуру контура фигуры или null, если у контура нет текстуры, а используется цвет (в последнем случае используйте функцию getLineColor()).

void setLineColor(Paint lineColor)

Задает цвет (или текстуру) контура рабочего участка.

Параметр: lineColor - новый цвет (или текстура)


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

Функция

Описание

ConveyorNetwork getNetwork()

Возвращает конвейерную сеть, к которой принадлежит этот элемент. Возвращает null, если этот элемент не принадлежит ни одной сети.

int getConnectionsCount()

Возвращает количество соединенных с этим рабочим участком конвейеров

ConveyorPath getConnection(int index)

Возвращает соединенный с рабочим участком конвейер по его индексу.

Параметр: index - индекс (номер) соединения

List<ConveyorPath> getConnections()

Возвращает список всех соединенных с этим рабочим участком конвейеров; если таких нет, то возвращает null

List<ConveyorPath> getIncomingPaths()

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

List<ConveyorPath> getOutgoingPaths()

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


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

Функция

Описание

boolean contains
(double px, double py)

Проверяет, содержит ли фигура точку с заданными координатами (относительно координат самой фигуры).
Возвращает 
true, если фигура содержит точку с заданными координатами. 

Параметры:
px - координата X относительно содержимого фигуры
py - координата Y относительно содержимого фигуры 

Point randomPointInside()

Возвращает случайно выбранную точку внутри фигуры.

Эта функция использует генератор случайных чисел объекта, содержащего эту фигуру. (Сгенерирует исключение, если фигура была создана из кода и не включена ни в какую из групп, в таком случае используйте функцию randomPointInside(Random rng)).

Point randomPointInside(Point out)

Возвращает случайно выбранную точку внутри фигуры.

Эта функция использует генератор случайных чисел объекта, содержащего эту фигуру. (Сгенерирует исключение, если фигура была создана из кода и не включена ни в какую из групп, в таком случае используйте функцию randomPointInside(Random rng)).

Параметр:
out - объект Point, в который записываются координаты (может быть null)

Point randomPointInside(Random rng)

Возвращает произвольно выбранную точку из площади фигуры. Эта функция использует заданный генератор случайных чисел. 
Параметр:
rng - генератор случайных чисел

Point randomPointInside
(Random rng, Point out)

Возвращает произвольно выбранную точку из площади фигуры. Эта функция использует заданный генератор случайных чисел. 

Параметры:
rngгенератор случайных чисел
out - объект Point, в который записываются координаты (может быть null)

double getNearestPoint
(Point givenPoint, Point out)

Вычисляет точку в этом рабочем участке, ближайшую к заданным координатам (x, y).
Возвращает квадрат расстояния до точки. Все расчеты производятся в горизонтальной проекции (z-координата не используется, как если бы все значения z равнялись нулю)

Параметры:
givenPoint - заданные координаты, относительно которых нужно найти ближайшую точку
out - объект Point, в который записываются координаты. Обратите внимание, что output.z остается неизмененным..


См. также

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

 Конвейер

Конвейерная сеть

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

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