Направляет поток со входа на один из двух выходов.
Во время создания модели можно задать Изначально выбранный выход. Его можно изменить во время выполнения модели вызовом функций 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() - [Параметр виден и применяется только в том случае, если Выбирать выход: По условию, для каждой партии]
Здесь вы указываете логическое условие, вычисляемое для каждой новой партии. Если результат 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.
-
Как мы можем улучшить эту статью?
-