Ссылка на значения по имени при помощи перечисленных данных

Для повышения читаемости Stateflow® график, используйте enumerated data. С помощью перечисленных данных можно:

  • Создайте ограниченное множество значений и обратитесь к этим значениям по имени.

  • Сгруппировать связанные значения в отдельные типы данных.

  • Избегайте определения длинного списка констант.

Перечисленные данные поддерживаются в диаграммах Stateflow в Simulink® модели.

Пример перечисленных данных

Перечисленный тип данных является конечным набором перечисленных значений, состоящей из имени и базового целого значения. Например, этот график использует перечисленные данные для ссылки на набор цветов.

Перечисленные данные output ограничивается конечным множеством значений. Вы можете ссылаться на эти значения по их именам: Red, Yellow, и Green.

Перечисленное значениеИмяЦелое Значение
Red(0)Red0
Yellow(1)Yellow1
Green(2)Green2

Этот MATLAB® файл определяет тип перечисленных данных BasicColors ссылка на график.

classdef BasicColors < Simulink.IntEnumType
  enumeration
    Red(0)
    Yellow(1)
    Green(2)
  end
end

Расчеты с перечисленными данными

Перечисленный тип данных не функционирует как числовой тип, несмотря на существование базовых целочисленных значений. Вы не можете использовать перечисленные значения непосредственно в математических расчетах. Можно использовать перечисленные данные для управления поведением диаграммы на основе назначений и сравнений. Для назначения или сравнения перечисленных данных используйте операции, перечисленные в этой таблице.

Пример

Описание

a = exp

Назначение exp на a. exp необходимо вычислить на перечисленное значение.

a == b

Сравнение, равенство.

a != b

Сравнение, неравенство.

На графике, который использует 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

  • Блоки таблицы истинности и функции таблицы истинности

Если у вас установлен Simulink Coder™, можно использовать перечисленные данные для симуляции и генерации кода.

Похожие темы