Транспортеры, используемые в диаграмме процессов, составленной из блоков Библиотеки производственных систем, предоставляют следующие функции:
Функция | Описание |
---|---|
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() | Выполняет сброс расстояния, пройденного транспортером, до нуля. |
-
Как мы можем улучшить эту статью?
-