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

Fluid Select Input

Направляет поток на выход с одного из двух входов (вход задается в параметре Выбрать).

FluidSelectInput является блоком с нулевой вместимостью, он не содержит вещество внутри.

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

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

Изменение входа динамически во время выполнения модели.

Вход, выбранный во время создания модели, может быть изменен во время выполнения данной модели вызовом функций toggle() и select().

Например, блок назван selectInput. Для того, чтобы выбрать вход 1 во время выполнения, вызовите: selectInput.select(1). Чтобы выбрать вход 2: selectInput.select(2)

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

Параметры

Выбрать
Здесь вы можете выбрать, какой поток идет на выход блока: поток из Вход 1 или поток из Вход 2. Когда выбран вход 1, то вход 2 заблокирован, и наоборот. Если значение установлено в true, то поток идет со входа 1.
Синтаксис: boolean selectInput1
Скорость на выходе ограничена
Если данная опция выбрана (значение true), то вы можете изменить верхний предел скорости потока на выходе с помощью параметра Максимальная скорость на выходе.
Синтаксис: boolean limitRateOut
Поменять значение во время выполнения: set_limitRateOut(новое значение)
Максимальная скорость на выходе
[Параметр виден и применяется только в том случае, если установлена опция Скорость на выходе ограничена]
Здесь вы можете задать другой верхний предел скорости потока на выходе. Значение по умолчанию составляет 10 куб. метров/сек.
Синтаксис: double maxRateOut
Установить новое значение во время выполнения: set_maxRateOut(новое значение)

Анимация

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

Действия

При новой партии на входе 1
Действие выполняется, когда новая партия прибывает на вход 1. Эта партия не обязательно начнет поступать в блок. Вы можете, к примеру, изменить выбранный ранее вход в этом действии.
Локальная переменная: Object batch — партия
При новой партии на входе 2
Действие выполняется, когда новая партия прибывает на вход 2. Эта партия не обязательно начнет поступать в блок. Вы можете, к примеру, изменить выбранный ранее вход в этом действии.
Локальная переменная: Object batch — партия
При изменении скорости
Действие выполняется, когда изменяется скорость любого потока. Обратите внимание на то, что определенные изменения, произошедшие в результате выполнения данного действия, могут вызвать другое мгновенное изменение скорости, за которым сразу последует повторное выполнение действия При изменении скорости, что в итоге может привести к взаимной блокировке.
Локальные переменные:
double in1rate — текущая скорость во входном порте in1
double in2rate — текущая скорость во входном порте in2
double outrate — текущая скорость в выходном порте

Функции

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

Порты

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