Чтобы улучшить удобочитаемость графика 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
Перечислимый тип данных не функционирует как числовой тип несмотря на существование базовых целочисленных значений. Вы не можете использовать перечисляемые значения непосредственно в математическом вычислении. Можно использовать перечисленные данные для поведения диаграммы управления на основе присвоений и сравнений. Чтобы присвоить или сравнить перечисленные данные, используйте операции, перечисленные в этой таблице.
Пример | Описание |
---|---|
| Присвоение |
| Сравнение, равенство |
| Сравнение, неравенство |
Чтобы относиться к перечисляемому значению, используйте снабженные префиксом или неснабженные префиксом идентификаторы.
Чтобы предотвратить конфликты по совпадению имен при обращении к перечисляемым значениям в диаграммах 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
Блоки Таблицы истинности и функции таблицы истинности
Если у вас есть Simulink Coder™installed, можно использовать перечисленные данные для симуляции и генерации кода.