Чтобы улучшить удобочитаемость графика Stateflow®, используйте enumerated data. С перечислимыми данными вы можете:
Создайте ограниченное множество значений и обратитесь к тем значениям по наименованию.
Связанные с группой значения в отдельные типы данных.
Постарайтесь не задавать длинный список констант.
Перечислимые данные поддерживаются в диаграммах Stateflow в моделях Simulink®.
Перечислимый тип данных является конечным набором перечисляемых значений, состоящих из имени и базового целочисленного значения. Например, этот график использует перечисленные данные, чтобы относиться к набору цветов.
Перечислимые данные output
ограничивается конечным множеством значений. Можно обратиться к этим значениям их именами: Red
, Yellow
, и Green
.
EnumeratedValue | Имя | Целочисленное значение |
---|---|---|
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
имя перечисляемого значения. Например, предположите, что вы задаете три типа данных (Colors
, Temp
, и Code
) это содержит перечислимое имя Red
. При помощи снабженного префиксом обозначения можно отличить Colors.Red
от Temp.Red
и Code.Red
.
Чтобы минимизировать длину идентификатора при обращении к уникальным перечисляемым значениям, можно использовать неснабженные префиксом имена перечисляемого значения. Например, предположите что перечислимое имя Red
принадлежит только типу данных Colors
. Можно затем отослать к этому значению с неснабженным префиксом идентификатором Red
.
Если ваш график использует типы данных, которые содержат идентичные перечислимые имена (такие как Colors.Red
и Temp.Red
), используйте снабженные префиксом идентификаторы, чтобы предотвратить конфликты по совпадению имен.
Используйте перечисленные данные на этих уровнях иерархии Stateflow:
График
Субдиаграмма
Состояние
Используйте перечисленные данные в качестве аргументов для:
Состояния активности
Условие и действия перехода
Вектор и индексирование матриц
Функции MATLAB
Графические функции
Функции Simulink
Блоки Таблицы истинности и функции таблицы истинности
Если вам установили Simulink Coder™, можно использовать перечисленные данные для симуляции и генерации кода.