Выберите между несколькими блочными входными параметрами
Simulink / Маршрутизация Сигнала
Многопортовый блок switch определяет, какой из нескольких входных параметров к блоку передает выводу. Блок основывает это решение о значении первого входного параметра. Первый входной параметр является входным параметром управления, и остающиеся входные параметры являются вводами данных. Значение входного параметра управления определяет, который ввод данных передает выводу.
Таблица суммирует, как блок интерпретирует входной параметр управления и определяет ввод данных, который передается выводу.
Входной параметр управления | Усечение | Установка для порядка порта данных | Блокируйте поведение во время моделирования | |
---|---|---|---|---|
Индексация, чтобы выбрать ввод данных | Условие из области значений | |||
Целочисленное значение | 'none' | Zero-based contiguous | Основанная на нуле индексация | Входной параметр управления является меньше, чем |
One-based contiguous | Индексация на основе одна | Входной параметр управления является меньше, чем | ||
Specify indices | Индексы вы задаете | Входной параметр управления не соответствует никакому заданному индексу порта данных. | ||
Не целочисленное значение | Блок обрезает значение до целого числа путем округления, чтобы обнулить. | Zero-based contiguous | Основанная на нуле индексация | Усеченный входной параметр управления является меньше, чем |
One-based contiguous | Индексация на основе одна | Усеченный входной параметр управления является меньше, чем | ||
Specify indices | Индексы вы задаете | Усеченный входной параметр управления не соответствует никакому заданному индексу порта данных. |
Для получения информации о том, как блок обрабатывает условие из области значений, смотрите Как Блочные Указатели Входной параметр Управления Из области значений.
Индексный Вектор является специальной настройкой Многопортового блока switch, в котором вы задаете один ввод данных, и входной параметр управления основан на нуле. Блок вывод является элементом входного вектора, индекс которого совпадает с входным параметром управления. Например, если входным вектором является [18 15 17 10]
, и входным параметром управления является 3
, элемент, который совпадает с индексом 3 (основанный на нуле), равняется 10, и это становится выходным значением.
Чтобы сконфигурировать Многопортовый блок switch, чтобы работать блоком Index Vector, определите Номер портов данных к 1
, и Порт данных заказывают Zero-based contiguous
.
Для входного параметра с целочисленным значением меньше, чем intmax(‘int32’)
входной параметр вне области значений, когда значение не совпадает ни с какими индексами порта данных. Для входного параметра управления, который не является целочисленным значением, входной параметр вне области значений, когда усеченное значение не совпадает ни с какими индексами порта данных. В обоих случаях блочное поведение зависит от ваших настроек для Порта данных для случая по умолчанию и Диагностики для случая по умолчанию.
Если входной параметр управления больше, чем intmax(‘int32’)
, блок переносит входное значение к целому числу.
Следующее поведение применяется только к моделированию для вашей модели.
Порт данных для случая по умолчанию | Диагностика для случая по умолчанию | ||
---|---|---|---|
'none' | Предупреждение | Ошибка | |
|
Используйте последний порт данных и не сообщайте ни о каком предупреждении или ошибке. |
Используйте последний порт данных и сообщите о предупреждении. |
Сообщите об ошибке и моделировании остановки. |
|
Используйте дополнительный порт данных с |
Используйте дополнительный порт данных с |
Сообщите об ошибке и моделировании остановки. |
Следующее поведение применяется к генерации кода за вашу модель.
Порт данных для случая по умолчанию | Диагностика для случая по умолчанию | ||
---|---|---|---|
'none' | Предупреждение | Ошибка | |
|
Используйте последний порт данных. |
Используйте последний порт данных. |
Используйте последний порт данных. |
|
Используйте дополнительный порт данных с меткой |
Используйте дополнительный порт данных с меткой |
Используйте дополнительный порт данных с меткой |
Если два сигнала имеют различное количество размерностей или различные длины размерности, можно использовать сигналы в качестве вводов данных к Многопортовому блоку switch. В блочном диалоговом окне, выбор параметр Позволяют различные размеры ввода данных. В этом случае вывод блока является сигналом переменного размера. Если вы не выбираете этот параметр, блок генерирует ошибку.
Для получения дополнительной информации о параметре, смотрите, Позволяют различные размеры ввода данных (Результаты в выходном сигнале переменного размера). Для получения дополнительной информации о сигналах переменного размера, смотрите Основы Сигнала Переменного Размера.
Вы задаете количество вводов данных с Количеством портов данных.
Если вы определяете Номер портов данных к 1, блок ведет себя как индексный селектор или индексный вектор и не как многопортовый переключатель. Для получения дополнительной информации смотрите Многопортовый Переключатель, Сконфигурированный как Индексный Блок Вектора.
Если вы определяете Номер портов данных к целому числу, больше, чем 1, блок ведет себя как многопортовый переключатель. Блок вывод является вводом данных, который соответствует значению входного параметра управления. Если по крайней мере один из вводов данных является вектором, блок вывод является вектором. В этом случае блок расширяет любые скалярные входные параметры до векторов.
Если все вводы данных являются скаляром, вывод является скаляром.
Когда порт управления на Многопортовом блоке switch будет иметь перечислимый тип, следуйте этим инструкциям:
Сценарий | Что сделать | Объяснение |
---|---|---|
Перечислимый тип содержит значение, которое представляет недопустимый, из области значений, или деинициализирует значения. |
|
Эта блочная настройка обрабатывает недопустимые значения, которые явным образом представляет перечислимый тип. |
Перечислимый тип содержит только допустимые перечисляемые значения. Однако порт ввода данных может получить недопустимые значения перечислимого типа. |
|
Эта блочная настройка обрабатывает недопустимые значения, которые явным образом не представляет перечислимый тип. |
Перечислимый тип содержит только допустимые перечисляемые значения. Порты ввода данных никогда не могут получать недопустимые значения перечислимого типа. |
|
Эта блочная настройка избегает ненужного диагностического действия. |
Блок не имеет порта ввода данных для каждого значения перечислимого типа. |
|
Эта блочная настройка обрабатывает перечисляемые значения, которые не имеют порта ввода данных, наряду с недопустимыми значениями. |
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|