Чтобы улучшить удобочитаемость графика Stateflow®, используйте перечисленные данные. С перечислимыми данными вы можете:
Создайте ограниченное множество значений и обратитесь к тем значениям по наименованию.
Связанные с группой значения в отдельные типы данных.
Постарайтесь не задавать длинный список констант.
Перечислимые данные поддерживаются в диаграммах Stateflow в моделях Simulink®. Для получения дополнительной информации смотрите Ссылочные Значения по наименованию при помощи Перечислимых Данных.
Чтобы избежать конфликтов по совпадению имен, имя перечислимого типа данных не может совпадать с именем:
Другой тип данных
Объект данных в диаграмме Stateflow
Переменная в базовом рабочем пространстве MATLAB®
Чтобы включить разрешение перечислимых типов данных для моделей Simulink, имя файла MATLAB, который содержит определение типа, должно совпадать с именем типа данных.
Когда вы обновляете перечислимое определение типов для открытой модели, изменения сразу не вступают в силу. Видеть эффекты обновления определения типов:
Сохраните и закройте модель.
Удалите все экземпляры типа данных от базового рабочего пространства MATLAB. Чтобы найти эти экземпляры, введите whos
в командной строке.
Откройте модель и запустите симуляцию или сгенерируйте код при помощи Simulink Coder™.
Если вы используете неснабженные префиксом идентификаторы, чтобы относиться к перечисляемым значениям в графике, гарантировать, что каждое перечислимое имя принадлежит уникальному перечислимому типу данных.
Если перечисляемое значение использует тот же идентификатор в качестве объекта данных или поля шины, график не разрешает идентификатор правильно. Например, эта схема показывает этапы, на которых график пытается разрешить идентификатор Colors.Red
.
Если вы принимаете решение установить начальное значение для перечислимых данных, необходимо использовать снабженный префиксом идентификатор в поле Initial value Property Inspector. Например, BasicColors.Red
допустимый идентификатор, но Red
не. Начальное значение должно оценить к допустимому выражению MATLAB.
Если вы добавляете префиксы в перечислимые имена в сгенерированном коде, вы улучшаете удобочитаемость и избегаете конфликтов по совпадению имен с глобальными символами. Для получения дополнительной информации смотрите Использование Перечислимые Данные в Сгенерированном коде (Simulink Coder).
Для перечислимых данных оставьте поля Minimum и Maximum Property Inspector пустыми. График игнорирует любые значения, которые вы вводите в эти поля.
Появляются ли эти поля в Property Inspector, зависит, на которой опции поля Type вы используете, чтобы задать перечисленные данные.
Полевая опция Type | Внешний вид Minimum и полей Maximum |
---|---|
Enum: <class name> | Не доступный |
<data type expression> или Inherit from Simulink | Доступный |
Поскольку перечисляемые значения являются константами, присвоение этих значений к постоянным данным является избыточным и ненужным. При попытке присвоить перечисляемые значения постоянным данным, ошибка появляется.
ml
Оператор пространства имен к доступу к перечислимым даннымml
оператор не поддерживает перечисленные данные.
Порожденные машиной данные не поддержаны для перечислимых типов.