Переключите случай

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

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

Описание

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

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

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

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

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

Порты

Входной параметр

развернуть все

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

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

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | перечисленный

Вывод

развернуть все

Выведите от Случая, и порты по умолчанию являются сигналами действия, соединенными с блоками Подсистемы Действия Случая Переключателя.

Параметры

развернуть все

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

{1}

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

список портов с присвоениями случая

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

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

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

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

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

Блочный параметр: CaseConditions
Ввод: символьный вектор
Значения: '{1}' |' <список случаев>'
Значение по умолчанию: '{1}'

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

'off'

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

на

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

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

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

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

на

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

'off'

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

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

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

Блокируйте характеристики

Типы данных

double | single | base integer | enumerated

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

No

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

No

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

No

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

Yes

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

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

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

Была ли эта тема полезной?