Для улучшения читаемости диаграммы Stateflow ® используйте перечисляемые данные. С помощью перечисляемых данных можно:
Создайте ограниченный набор значений и обратитесь к ним по имени.
Группировать связанные значения по отдельным типам данных.
Избегайте определения длинного списка констант.
Перечисляемые данные поддерживаются в диаграммах Stateflow в моделях Simulink ®.
Перечисляемый тип данных представляет собой конечную коллекцию перечисляемых значений, состоящую из имени и базового целого значения. Например, эта диаграмма использует перечисляемые данные для ссылки на набор цветов.

Перечисляемые данные output ограничивается конечным набором значений. На эти значения можно ссылаться по их именам: Red, Yellow, и Green.
| Перечисляемое значение | Имя | Целочисленное значение |
|---|---|---|
Red(0) | Red | 0 |
Yellow(1) | Yellow | 1 |
Green(2) | Green | 2 |
Этот файл MATLAB ® определяет перечисляемый тип данныхBasicColors , на который ссылается диаграмма.
classdef BasicColors < Simulink.IntEnumType enumeration Red(0) Yellow(1) Green(2) end end
Перечисляемый тип данных не функционирует как числовой тип, несмотря на существование базовых целых значений. Перечисляемые значения нельзя использовать непосредственно в математических вычислениях. Перечисляемые данные можно использовать для управления поведением диаграммы на основе назначений и сравнений. Чтобы назначить или сравнить перечисляемые данные, используйте операции, перечисленные в этой таблице.
| Пример | Описание |
|---|---|
| Присвоение |
| Сравнение, равенство. |
| Сравнение, неравенство. |
На диаграмме, использующей C в качестве языка действий, можно сравнить перечисляемые данные с различными типами данных. Перед сравнением диаграмма приводит перечисляемые данные к их базовым целочисленным значениям.
Диаграммы, использующие MATLAB в качестве языка действий, не могут сравнивать перечисляемые данные с различными типами данных.
Чтобы обратиться к перечисляемому значению, используйте префиксные или нефиксированные идентификаторы.
Чтобы предотвратить конфликты имен при ссылке на перечисляемые значения в диаграммах Stateflow, можно использовать префиксные идентификаторы формы Type.Name. Type является перечисляемым типом данных и Name является именем перечисляемого значения. Например, предположим, что определены три типа данных (Colors, Temp, и Code), которые содержат перечисляемое имя Red. Используя префиксную нотацию, можно различить Colors.Red от Temp.Red и Code.Red.
Чтобы минимизировать длину идентификатора при обращении к уникальным перечисляемым значениям, можно использовать нефиксированные имена перечисляемых значений. Например, предположим, что перечисляемое имя Red принадлежит только типу данных Colors. Затем можно обратиться к этому значению с нефиксированным идентификатором Red.
Если диаграмма использует типы данных, содержащие идентичные перечисляемые имена (например, Colors.Red и Temp.Red), используйте префиксные идентификаторы для предотвращения конфликтов имен.
Используйте перечисляемые данные на следующих уровнях иерархии Stateflow:
Диаграмма
Поддиаграмма
Государство
Использовать перечисляемые данные в качестве аргументов для:
Действия состояния
Условия и переходные действия
Индексация вектора и матрицы
Функции MATLAB
Графические функции
Функции симулятора
Блоки таблицы истинности и функции таблицы истинности
Если установлен Simulink Coder™, можно использовать перечисляемые данные для моделирования и создания кода.