Switch Case

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

  • Библиотека:
  • Simulink / Ports & Subsystems

Описание

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

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

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

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}'

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

'off'

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

на

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

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

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

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

на

Обнаружьте нулевые пересечения.

'off'

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

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

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

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

Типы данных

double | enumerated | integer | single

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

yes

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

no

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

no

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

yes

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

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

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