Рабочий участок является элементом разметки пространства, который используется в моделях производственных систем. Элемент графически отображает станцию обработки / рабочую область, в которой обрабатываются материальные объекты. Процесс обработки не задан внутри элемента, его необходимо задать с помощью блоков Библиотеки моделирования процессов и Библиотеки производственных систем.
Если процесс обработки можно задать при помощи простой задержки на определенное время, следует использовать элемент станция обработки.
Рабочий участок является частью конвейерной сети. Рабочий участок может служить транзитной зоной в конвейерной сети. В рабочий участок, как и из него, может идти неограниченное количество конвейеров. Рабочий участок также может служить местом назначения для материальных объектов (задается блоком Convey).
Рабочий участок задается в виде многоугольной области. Форма и размер области не имеют логического смысла.
Демонстрационная модель: Custom Station
Чтобы создать рабочий участок
Имя – Имя рабочего участка. Имя используется для идентификации элемента и доступа к нему из кода и свойств блоков диаграммы процесса.
Исключить – Если опция выбрана, то рабочий участок будет исключен из модели.
Отображается на верхнем агенте – Если опция выбрана, то фигура будет видна на презентации типа агента, в который будет вложен данный агент.
Блокировать – Если опция выбрана, то фигура будет считаться заблокированной и не будет реагировать на щелчки мыши. Таким образом, вы не сможете выбрать заблокированную фигуру в графическом редакторе до тех пор, пока вы не снимете с нее блокировку.
Видимость – Здесь вы можете указать, будет ли фигура видна на анимации во время выполнения модели или нет. Используя элемент управления, выберите да или нет.
Местоположение агентов – Здесь вы можете указать, в какое место внутри рабочего участка будут помещаться поступающие агенты (материальные объекты). Возможные варианты:
Рядом с конвейером
- Агенты будут помещаться внутри рабочего участка рядом с конвейером, по которому они были перемещены в данный участок.
В центре
- Агенты будут помещаться в центральную точку этого рабочего участка.
Случайное
- Агенты будут помещаться в случайно выбранные точки внутри этого рабочего участка.
При входе – Здесь вы можете написать Java код, который будет выполняться при поступлении агента (материального объекта) в данный рабочий участок. В коде действия данный материальный объект доступен как локальная переменная agent.
Цвет заливки – Задает цвет заливки фигуры. Если вы не хотите, чтобы фигура была закрашена, выберите Нет цвета.
Цвет линии – Задает цвет линии. Если вы не хотите, чтобы линия контура была видна, выберите Нет цвета.
X – x-координата начальной точки области.
Y – y-координата начальной точки области.
Z – z-координата начальной точки области.
В секции свойств Точки расположена таблица относительных координат точек участка.
Первая точка всегда имеет координаты (0,0,0), и они не редактируются.
В остальных строках таблицы задаются координаты последующих точек. Координаты каждой точки представляют собой смещения этой точки от начальной по оси X и Y соответственно. Значения координат по оси Z для всех точек равны значению z-координаты
начальной точки, заданному в параметре
Z.
Отображать в – Здесь вы можете выбрать, будет ли фигура отображаться В 2D и в 3D, Только в 2D или Только в 3D.
Отображать имя – Если опция выбрана, то имя фигуры будет отображаться в графическом редакторе.
Функция |
Описание |
double getX() |
Возвращает X-координату начальной точки фигуры. |
double getY() |
Возвращает Y-координату начальной точки фигуры. |
double getZ() |
Возвращает Z-координату начальной точки фигуры. |
void setXYZ
|
Задает координаты начальной точки рабочего участка.
Параметры: |
Point getCenter() |
Возвращает координаты центральной точки фигуры. |
Функция |
Описание |
Level getLevel() |
Возвращает
уровень, на котором располагается этот рабочий участок. |
Функция |
Описание |
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).
Параметр:
|
Функция |
Описание |
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 |
Проверяет, содержит ли фигура точку с заданными координатами (относительно координат самой фигуры). |
Point randomPointInside() |
Возвращает случайно выбранную точку внутри фигуры. Эта функция использует генератор случайных чисел объекта, содержащего эту фигуру. (Сгенерирует исключение, если фигура была создана из кода и не включена ни в какую из групп, в таком случае используйте функцию randomPointInside(Random rng)). |
Point randomPointInside(Point out) |
Возвращает случайно выбранную точку внутри фигуры. Эта функция использует генератор случайных чисел объекта, содержащего эту фигуру. (Сгенерирует исключение, если фигура была создана из кода и не включена ни в какую из групп, в таком случае используйте функцию randomPointInside(Random rng)).
Параметр: |
Point randomPointInside(Random rng) |
Возвращает произвольно выбранную точку из площади фигуры. Эта функция использует заданный генератор случайных чисел. |
Point randomPointInside |
Возвращает произвольно выбранную точку из площади фигуры. Эта функция использует заданный генератор случайных чисел.
Параметры: |
double getNearestPoint (Point givenPoint, Point out) |
Вычисляет точку в этом рабочем участке, ближайшую к заданным координатам
(x, y).
Параметры: |
Функция |
Описание |
void remove() |
Удаляет рабочий участок из презентации. Если рабочий участок не является частью презентации, функция не выполняет ничего. Обратите внимание, что удаление из презентации не обязательно подразумевает удаление из логики модели, поскольку логические сети и маршруты могли быть заданы еще до удаления элемента и не исчезают. |
Элементы разметки Библиотеки производственных систем