AnyLogic
Развернуть
Размер шрифта

Функции транспортера

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

Функция Описание
TransporterFleet getFleet() Возвращает блок TransporterFleet, которому принадлежит этот транспортер.
ILocation getCurrentLocation() Возвращает текущее местоположение транспортера.

Статистика использования

Функция Описание
TransporterState getState() Возвращает текущее состояние транспортера.

Допустимые значения:
TransporterState.DELIVERING — транспортер перемещает материальный объект
TransporterState.GOING_TO_AGENT — транспортер двигается к агенту
TransporterState.GOING_HOME — транспортер возвращается в исходное местоположение
TransporterState.IDLE — транспортер не занят
TransporterState.PROCESSING — транспортер взаимодействует с агентом (материальным объектом), например, в ходе загрузки или разгрузки
double timeInState(TransporterState state, TimeUnits units) Возвращает время, которое транспортер провел в указанном состоянии на данный момент (в заданных единицах времени).

state — состояние транспортера;
units — константа, задающая единицу измерения времени
double timeInState(TransporterState state) Возвращает время, которое транспортер провел в указанном состоянии на данный момент.

state — состояние транспортера.
double getUtilization() Возвращает загруженность транспортера: долю времени, в течение которой транспортер был занят. Возвращаемое значение загруженности ресурса находится в диапазоне [0..1].
resetStats() Производит сброс статистики загруженности, в т.ч. для пройденного расстояния, значение которого возвращается с помощью функции getDistanceTravelled().

Скорость

Функция Описание
double getMaximumSpeed(SpeedUnits units) Возвращает значение максимально допустимой скорости транспортера.

units — константа, задающая единицу измерения скорости.
setMaximumSpeed(double speed, SpeedUnits units) Задает новое значение максимально допустимой скорости транспортера.

speed — новое значение максимально допустимой скорости;
units — константа, задающая единицу измерения скорости.
double getMaximumSpeedOnCurvedSegments(SpeedUnits units) Возвращает максимальную допустимую скорость движения транспортера на изогнутых сегментах сети.

units — константа, задающая единицу измерения скорости.
setMaximumSpeedOnCurvedSegments(double speed, SpeedUnits units) Задает новую максимальную допустимую скорость движения транспортера на изогнутых сегментах сети. Если значение данного параметра выше, чем значение максимально допустимой скорости транспортера в целом, транспортер проигнорирует заданное здесь значение и на изогнутых сегментах сети сможет ускориться только до скорости, задаваемой с помощью функции setMaximumSpeed(double speed, SpeedUnits units).

speed — новая максимальная скорость движения транспортера на изогнутых сегментах сети;
units — константа, задающая единицу измерения скорости.

Ускорение, замедление

Функция Описание
double getAcceleration(AccelerationUnits units) Возвращает значение ускорения транспортера.

units — константа, задающая единицу измерения ускорения.
setAcceleration(double acceleration, AccelerationUnits units) Задает новое значение ускорения транспортера.

acceleration — новое значение ускорения;
units — константа, задающая единицу измерения ускорения.
double getDeceleration(AccelerationUnits units) Возвращает значение замедления транспортера.

units — константа, задающая единицу измерения ускорения.
setDeceleration(double deceleration, AccelerationUnits units) Задает новое значение замедления транспортера.

deceleration — новое значение замедления; units — константа, задающая единицу измерения ускорения.

Размещение материального объекта

Функция Описание
Position getCargoPosition() Возвращает размещение материального объекта по отношению к центральной точке транспортера (в заданных единицах изменения длины).
setCargoPosition(double dx, double dy, double dz, LengthUnits units) Задает размещение материального объекта по отношению к центральной точке транспортера (в заданных единицах измерения длины).

dx — расстояние до точки по оси X;
dy — расстояние до точки по оси Y;
dz — расстояние до точки по оси Z;
units — константа, задающая единицу измерения длины.
setCargoPosition(double dx, double dy, double dz, LengthUnits units, double rotation, double verticalRotation) Задает размещение материального объекта по отношению к центральной точке транспортера, включая ориентацию объекта по горизонтали и вертикали.

dx — расстояние до точки по оси X;
dy — расстояние до точки по оси Y;
dz — расстояние до точки по оси Z;
units — константа, задающая единицу измерения длины.
rotation — ориентация объекта по горизонтали;
verticalRotation — ориентация объекта по вертикали.
resetCargoPosition() Заново задает положение материального объекта в центральной точке транспортера.

Составление маршрута

Функция Описание
recalculateRoute() Заново рассчитывает текущий маршрут транспортера. Если до этого вы задали собственный маршрут в блоке TransporterControl, то маршрут будет заново вычислен с учетом заданных вами условий. Эту функцию можно вызывать только в том случае, когда транспортер уже двигается, т.е. находится в одном из следующих состояний: DELIVERING, GOING_TO_AGENT, GOING_HOME.
recalculateRoute(double x, double y, double z) Заново рассчитывает текущий маршрут транспортера для новой точки назначения с заданными координатами. Если до этого вы задали собственный маршрут в блоке TransporterControl, то маршрут будет читан с учетом заданных вами условий. Эту функцию можно вызывать только в том случае, когда транспортер уже двигается, т.е. находится в одном из следующих состояний: DELIVERING, GOING_TO_AGENT, GOING_HOME.

x — X-координата новой точки назначения транспортера;
y — Y-координата новой точки назначения транспортера;
z — Z-координата новой точки назначения транспортера.
recalculateRoute(Level level, double x, double y, double z) Заново рассчитывает текущий маршрут транспортера для новой точки назначения с заданными координатами. Если до этого вы задали собственный маршрут в блоке TransporterControl, то маршрут будет заново рассчитан с учетом заданных вами условий. Эту функцию можно вызывать только в том случае, когда транспортер уже двигается, т.е. находится в одном из следующих состояний: DELIVERING, GOING_TO_AGENT, GOING_HOME.

level — уровень, на котором находится новая точка назначения транспортера; x — X-координата новой точки назначения транспортера; y — Y-координата новой точки назначения транспортера; z — Z-координата новой точки назначения транспортера.
recalculateRoute(Node node) Заново рассчитывает текущий маршрут транспортера для нового места назначения. Если до этого вы задали собственный маршрут в блоке TransporterControl, то маршрут будет заново рассчитан с учетом заданных вами условий. Эту функцию можно вызывать только в том случае, когда транспортер уже двигается, т.е. находится в одном из следующих состояний: DELIVERING, GOING_TO_AGENT, GOING_HOME.

node — узел, который является новым местом назначения транспортера.
recalculateRoute(Attractor attractor) Заново рассчитывает текущий маршрут транспортера для нового места назначения. Если до этого вы задали собственный маршрут в блоке TransporterControl, то маршрут будет заново рассчитан с учетом заданных вами условий. Эту функцию можно вызывать только в том случае, когда транспортер уже двигается, т.е. находится в одном из следующих состояний: DELIVERING, GOING_TO_AGENT, GOING_HOME.

attractor — аттрактор, который является новым местом назначения транспортера.
recalculateRoute(Path path, double offset, LengthUnits units) Заново рассчитывает текущий маршрут транспортера для нового места назначения. Если до этого вы задали собственный маршрут в блоке TransporterControl, то маршрут будет заново рассчитан с учетом заданных вами условий. Эту функцию можно вызывать только в том случае, когда транспортер уже двигается, т.е. находится в одном из следующих состояний: DELIVERING, GOING_TO_AGENT, GOING_HOME.

path — путь, на котором расположена новая точка назначения транспортера; offset — расстояние от начальной точки пути до новой точки назначения транспортера; units — константа, задающая единицу измерения длины.
recalculateRoute(ConveyorPath conveyor, double offset, LengthUnits units) Заново рассчитывает текущий маршрут транспортера для нового места назначения. Если до этого вы задали собственный маршрут в блоке TransporterControl, то маршрут будет заново рассчитан с учетом заданных вами условий. Эту функцию можно вызывать только в том случае, когда транспортер уже двигается, т.е. находится в одном из следующих состояний: DELIVERING, GOING_TO_AGENT, GOING_HOME.

conveyor — конвейер, на котором расположена новая точка назначения транспортера; offset — расстояние от начальной точки конвейера до новой точки назначения транспортера; units — константа, задающая единицу измерения длины.
recalculateRoute(PositionOnConveyor positionOnConveyor) Заново рассчитывает текущий маршрут транспортера. Если до этого вы задали собственный маршрут в блоке TransporterControl, то маршрут будет заново рассчитан с учетом заданных вами условий. Эту функцию можно вызывать только в том случае, когда транспортер уже двигается, т.е. находится в одном из следующих состояний: DELIVERING, GOING_TO_AGENT, GOING_HOME.

conveyor — точка конвейера, которая является новой точкой назначения конвейера.
recalculateRoute(ConveyorStation station) Заново рассчитывает текущий маршрут транспортера для нового места назначения. Если до этого вы задали собственный маршрут в блоке TransporterControl, то маршрут будет заново рассчитан с учетом заданных вами условий. Эту функцию можно вызывать только в том случае, когда транспортер уже двигается, т.е. находится в одном из следующих состояний: DELIVERING, GOING_TO_AGENT, GOING_HOME.

station — станция, которая является новым местом назначения конвейера.
RouteData getRouteData() Возвращает информацию об оставшемся участке маршрута для данного транспортера (от его текущего местонахождения до места назначения). Информация возвращается в виде списка задач по движению, которые транспортер выполнит по пути к месту назначения. Задачи по движению перечислены последовательно, начиная с текущего местоположения и до места назначения. Каждая задача содержит информацию о пути и тип движения.

Допустимые типы движения:
PLAIN — движение от точечного узла к пути или движение внутри узла сети, а в случае транспортеров с произвольным типом навигации — движение внутри ячейки навигационной сетки;
PATH — движение по сетевому пути;
PORT — движение между двумя сетевыми портами.

Управление коллизиями

Функция Описание
void ignoreCollisions(boolean ignore) Управляет способностью транспортера воспринимать другие транспортеры как препятствия и быть препятствием для других транспортеров в свою очередь. Чтобы включить эту способность, передайте true в качестве аргумента. Чтобы отключить эту способность, передайте в качестве аргумента false.

ignore — если true, транспортер начинает игнорировать столкновения; если false — транспортер перестает игнорировать столкновения.
void ignoreCollisionsFor(double time, TimeUnits units) Отключает способность транспортера воспринимать другие транспортеры как препятствия и быть препятствием для других транспортеров в свою очередь в течение заданного отрезка времени в указанных единицах времени. Когда заданный отрезок времени истекает, транспортер снова начинает воспринимать другие транспортеры в качестве препятствий и сам становится препятствием для них.

time — отрезок времени, в течение которого транспортер игнорирует столкновения.
units — константа, с помощью которой задаются единицы измерения времени.

Расчет расстояния

Вы можете рассчитать расстояние от транспортера до указанной точки в пространстве с помощью унаследованного от типа агента API.

Функция Описание
double getDistanceTravelled(LengthUnits units) Возвращает расстояние, пройденное транспортером с момента запуска модели или c момента последнего вызова функции resetDistanceTravelled(), функции resetStats() отдельного транспортера или функции resetStats() автопарка, которому принадлежит данный транспортер.

units — константа, задающая единицу измерения длины
void resetDistanceTravelled() Выполняет сброс расстояния, пройденного транспортером, до нуля.
Как мы можем улучшить эту статью?