exponenta event banner

Объявление данных переменного размера в диаграммах потока состояний

Данные переменного размера - это данные, размер которых может изменяться во время выполнения. Напротив, данные фиксированного размера - это данные, размер которых известен и заблокирован во время компиляции и не изменяется во время выполнения. Используйте данные переменного размера, если выходные данные диаграммы Stateflow ® в модели Simulink ® представляют собой массив, размер которого зависит от состояния диаграммы.

Включить поддержку данных переменного размера

Поддержка данных переменного размера включена по умолчанию. Чтобы включить или отключить этот параметр для отдельных диаграмм, измените свойство диаграммы Support variable-size arrays (поддержка массивов переменного размера), как описано в разделе Specify Properties for Stateflow Charts.

Объявить входные и выходные данные переменного размера

После включения поддержки на уровне диаграммы можно объявить данные переменного размера, выполнив следующие действия.

  1. Добавьте объект данных в диаграмму, как описано в разделе Добавление данных потока состояний.

  2. Задать свойство Scope как Local, Input, или Output.

    Примечание

    Диаграммы, использующие C в качестве языка действий, не поддерживают локальные данные переменного размера.

  3. Установите флажок Размер переменной.

  4. Свойство Size используется для явного указания максимального размера данных. Например, чтобы задать матрицу 2-D, где максимальный размер равен 2 для первого размера и 4 для второго размера, в поле Размер введите [2 4].

Рекомендации по использованию данных переменного размера

Диаграммы статусов, использующие MATLAB ® в качестве языка действий, могут обращаться к входным, выходным и локальным данным переменного размера и изменять их в действиях состояния и перехода.

Напротив, диаграммы, использующие C в качестве языка действий, могут обмениваться только входными и выходными данными переменного размера с другими диаграммами и блоками Simulink с помощью:

  • Функции MATLAB

  • Функции симулятора

  • Таблицы истинности, использующие MATLAB в качестве языка действий

При использовании данных переменного размера в диаграмме C применяются следующие рекомендации.

  • Объявить данные переменного размера только как входные и выходные данные диаграммы, а не как локальные данные.

  • Чтобы определить входные данные диаграммы переменного размера, которые наследуют их размер от модели Simulink, задайте для свойства Размер значение -1.

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

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

Связанные темы