Switch Case

Выберите выполнение подсистемы с помощью логики оператора switch

  • Библиотека:
  • Simulink/Порты и подсистемы

  • Switch Case block

Описание

Блок Switch Case с блоками Switch Case Action Subsystem, содержащими блоки Action Port, реализует логику switch, чтобы управлять выполнением подсистемы.

Блок Switch Case имеет один вход. Чтобы выбрать случай, задайте входное значение с помощью параметра Case conditions. Случаи оцениваются сверху вниз, начиная с первого случая.

Каждый случай связан с выходом портом, который присоединен к блоку Switch Case Action Subsystem. Когда выбран случай, связанный выходной порт отправляет сигнал действия для выполнения подсистемы.

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

Случаи для блока Switch Case содержат подразумеваемый пропуск после выполнения блока Switch Case Action Subsystem. Поэтому нет никакого падения через поведение для Simulink® Switch Case блок, как найдено в стандартном C switch операторы.

Порты

Вход

расширить все

Вход в порт, маркированный u1 блока Switch Case, может быть:

  • Скалярное значение со встроенным типом данных, который поддерживает Simulink. Однако блок Switch Case не поддерживает логический или тип данных с фиксированной точкой, и он обрезает числовые входы до 32-битных целых чисел со знаком.

  • Скалярное значение любого перечисленного типа данных.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | enumerated

Выход

расширить все

Выходные данные от Case и default портов являются сигналами действия, соединенными с блоками Switch Case Action Subsystem.

Параметры

расширить все

Задайте значения вариантов с помощью MATLAB® обозначение камер.

{1}

Задайте маркированный выходной порт case[1]выводит сигнал действия, когда значение входного порта 1.

список портов с назначениями регистров

Задайте несколько случаев и портов, используя обозначение камер MATLAB. Для примера введите {1,[7,9,4]} задает, что выходной порт case[1] запускается, когда входное значение 1, и выходного порта case [7 9 4] запускается, когда входное значение 7, 9, или 4.

Можно использовать обозначение двоеточия, чтобы задать область значений целочисленных условий случая. Для примера введите {[1:5]} задает, что выходной порт case[1 2 3 4 5] запускается, когда входное значение 1, 2, 3, 4, или 5.

В зависимости от размера блока, случаи из длинного списка условий случая отображаются в укороченной форме на грани блока Switch Case, используя оконечный знак (...).

Вы можете использовать enumeration функция для задания условий случая, которые включают регистр для каждого значения в перечисляемом типе.

Программное использование

Параметры блоков: CaseConditions
Тип: Вектор символов
Значения: '{1}' | '<list of cases>'
По умолчанию: '{1}'

Управление отображением выходного порта по умолчанию.

прочь

Скрыть выходной порт по умолчанию.

на

Отобразите выходной порт по умолчанию как последний случай на блоке Switch Case. Это позволяет вам задать случай по умолчанию, который выполняется, когда входное значение не совпадает ни с одним из других значений случая.

Программное использование

Параметры блоков: ShowDefaultCase
Тип: Вектор символов
Значения: 'off' | 'on'
По умолчанию: 'off'

Управляйте обнаружением пересечения нулем.

на

Обнаружение пересечений нуля.

прочь

Не обнаруживайте пересечения нуля.

Программное использование

Параметры блоков: ZeroCross
Тип: Вектор символов
Значения: 'on' | 'off'
По умолчанию: 'on'

Характеристики блоков

Типы данных

double | enumerated | integer | single

Прямое сквозное соединение

yes

Многомерные сигналы

no

Сигналы переменного размера

no

Обнаружение пересечения нулем

yes

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

.
Представлено до R2006a