Fluid Select Output

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

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

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

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

Демо модель: FluidSelectOutput

Параметры

Выбирать выход
Здесь вы указываете, как будет выбран выход. Доступно два варианта:
Путем вызова функции 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(true или false)
Максимальная скорость на выходе
[Параметр виден и применяется только в том случае, если установлена опция Скорость на выходе ограничена] Здесь вы можете задать другой верхний предел скорости потока для каждого выхода. Значение по умолчанию составляет 10 кубических метров в секунду.
Синтаксис: double maxRateOut
Установить новое значение во время выполнения: set_maxRateOut(новая величина)
Анимация
Отображать партии в блоке
Если данная опция установлена, то значок блока будет отображать цвет текущей партии.
Синтаксис: boolean showBatchesInFlowchart
Действия
При новой партии [код]
Действие выполняется, когда новая партия прибывает на вход . Эта партия не обязательно начнет поступать в блок. В этом действии вы можете, к примеру, изменить выбранный ранее выход.
Локальная переменная: Object batch - партия
При изменении скорости [код]
Действие выполняется, когда изменяется скорость любого потока. Обратите внимание на то, что определенные изменения, произошедшие в результате выполнения данного действия, могут вызвать другое мгновенное изменение скорости, за которым сразу последует повторное выполнение действия При изменении скорости, что в итоге может привести к взаимной блокировке.
Локальные переменные:  double inrate - текущая скорость во входном порте
                          double out1rate - текущая скорость в выходном порте out1
                          double out2rate - текущая скорость в выходном порте out2

Функции

double amountPassed() - Возвращает общий объем вещества, прошедший через входной порт блока, начиная с запуска процесса моделирования.

double amountPassed(AmountUnits units) - Возвращает общий объем вещества (в заданных единицах измерения объема), прошедший через входной порт, начиная с запуска процесса моделирования.

void resetStats() - Сбрасывает собранную блоком статистику, включая статистику, собранную на его портах.

double currentRate() - Возвращает текущую скорость потока вещества на входе.

double currentRate(FlowRateUnits units) - Возвращает текущую скорость потока вещества (в указанных единицах измерения скорости) на входе.

int toggle() - Выбирает выход, отличный от того, который выбран в данный момент. Функция возвращает 1, если выбирается выход 1, или 2, если выбирается выход 2.

select(int input) - Выбирает заданный выход (output аргумент должен быть равен 1 или 2).

Порты

in
Входной порт.
out1
Верхний выходной порт, Output 1.
out2
Нижний выходной порт, Output 2.