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

Fluid Select Output

Направляет поток со входа на один из двух выходов.

Во время создания модели можно задать Изначально выбранный выход. Его можно изменить во время выполнения модели вызовом функций toggle() и select(). К примеру, имя блока selectOutput. Чтобы во время выполнения модели выбрать Выход 1, вызовите функцию следующего вида: selectOutput.select(1). Чтобы выбрать Выход 2: selectOutput.select(2).

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

FluidSelectOutput является блоком с нулевой вместимостью, он не содержит вещество внутри. Выходная партия на выбранном выходе блока является той же самой, что и партия на входе. Действия При новой партии… могут применяться для того, чтобы переключать выходы в зависимости от входных партий.

Скорость потока на входе в данный блок не ограничена. Скорость потока на выходе из блока может быть ограничена. Заданное положительное значение скорости потока не должно быть ниже значения RATE_TOLERANCE, т.е. меньше 1.0e-9.

Демо-модель: FluidSelectOutput Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.

Параметры

Выбирать выход
Здесь вы указываете, как будет выбран выход. Доступно два варианта:
Путем вызова функции select() — выход можно изменить во время выполнения модели вызовом функций блока toggle() и select()
По условию, для каждой партии — выход будет выбран путем вычисления логического условия, указанного в поле Условие (если верно, то выход 1) ниже. Условие вычисляется для каждой новой партии, выход выбирается исходя из полученного результата
Синтаксис: boolean selectOnCondition
Установить новое значение во время выполнения: set_selectOnCondition(новое значение)
Допустимые значения:
true — По условию, для каждой партии
false — Путем вызова функции select()
Условие (если верно, то выход 1)
[Параметр виден и применяется только в том случае, если Выбирать выход: По условию, для каждой партии]
Здесь вы указываете логическое условие, вычисляемое для каждой новой партии. Если результат true, выбирается выход 1, в противном случае — выход 2.
Тип значения: boolean
Локальная переменная: Object batch — партия
Изначально выбран
Если опция выбрана (значение равно true), поток со входа будет изначально направлен в выход 1, если false — в выход 2. В зависимости от значения параметра Выбирать выход, изначально выбранный выход можно изменить во время выполнения модели вызовом функции select(), или путем вычисления логического условия для каждой новой партии.
Синтаксис: boolean selectOutput1
Скорость на выходе ограничена
Если данная опция выбрана (значение true), то вы можете изменить верхний предел скорости потока на выходе. Применяется отдельно для каждого выхода.
Синтаксис: boolean limitRateOut
Поменять значение во время выполнения: set_limitRateOut(новое значение)
Максимальная скорость на выходе
[Параметр виден и применяется только в том случае, если установлена опция Скорость на выходе ограничена]
Здесь вы можете задать другой верхний предел скорости потока для каждого выхода. Значение по умолчанию составляет 10 кубических метров в секунду.
Синтаксис: double maxRateOut
Установить новое значение во время выполнения: set_maxRateOut(новое значение)

Анимация

Отображать партии в блоке
Если данная опция установлена, то значок блока будет отображать цвет текущей партии.
Синтаксис: boolean showBatchesInFlowchart

Действия

При новой партии
Действие выполняется, когда новая партия прибывает на вход. Эта партия не обязательно начнет поступать в блок. В этом действии вы можете, к примеру, изменить выбранный ранее выход.
Локальная переменная: Object batch — партия
При изменении скорости
Действие выполняется, когда изменяется скорость любого потока. Обратите внимание на то, что определенные изменения, произошедшие в результате выполнения данного действия, могут вызвать другое мгновенное изменение скорости, за которым сразу последует повторное выполнение действия При изменении скорости, что в итоге может привести к взаимной блокировке.
Локальные переменные:
double inrate — текущая скорость во входном порте
double out1rate — текущая скорость в выходном порте out1
double out2rate — текущая скорость в выходном порте out2

Функции

Выбор выхода
Функция Описание
int toggle() Выбирает выход, отличный от того, который выбран в данный момент. Функция возвращает 1, если выбирается выход 1, или 2, если выбирается выход 2.
void select(int output) Выбирает заданный выход (output аргумент должен быть равен 1 или 2).
Количество вещества
Функция Описание
double amountPassed() Возвращает общий объем вещества, прошедший через входной порт блока, начиная с запуска процесса моделирования.
double amountPassed(AmountUnits units) Возвращает общий объем вещества (в заданных единицах измерения объема), прошедший через входной порт, начиная с запуска процесса моделирования.
Скорость потока
Функция Описание
double currentRate() Возвращает текущую скорость потока вещества на входе.
double currentRate(FlowRateUnits units) Возвращает текущую скорость потока вещества (в указанных единицах измерения скорости) на входе.
Сброс статистики
Функция Описание
void resetStats() Сбрасывает собранную блоком статистику, включая статистику, собранную на его портах.

Порты

in
Входной порт.
out1
Верхний выходной порт, выход 1.
out2
Нижний выходной порт, выход 2.
Как мы можем улучшить эту статью?