Данные переменного размера - это данные, размер которых может измениться во время исполнения. Напротив, данные фиксированного размера являются данными, размер которых известен и заблокирован во время компиляции и не меняется во время выполнения. Используйте данные переменного размера, если выход от Stateflow® график в Simulink® модель является массивом, размер которого зависит от состояния графика.
Поддержка данных переменного размера включена по умолчанию. Чтобы включить или отключить эту опцию для отдельных графиков, измените Support variable-size arrays свойства графика, как описано в разделе «Задать свойства для диаграмм Stateflow».
После активации поддержки на уровне графика можно объявить данные переменного размера, выполнив следующие шаги:
Добавьте объект данных к графику, как описано в Add Stateflow Data.
Установите Scope свойство следующим Local
, Input
, или Output
.
Примечание
Графики, которые используют C в качестве языка действий, не поддерживают локальные данные переменного размера.
Установите флажок Variable size.
Используйте свойство Size, чтобы явным образом задать максимальный размер данных. Например, чтобы задать матрицу 2-D, где максимальный размер 2 для первой размерности и 4 для второго измерения, в поле Size введите [2 4]
.
Диаграммы Stateflow, которые используют MATLAB® как язык действий может получить доступ и изменить входные, выходные и локальные данные переменного размера в действиях состояния и перехода.
Напротив, графики, которые используют C в качестве языка действий, могут только обмениваться входными и выходными данными переменного размера с другими графиками и блоками Simulink при помощи:
Функции MATLAB
Функции Simulink
Таблицы истинности, которые используют MATLAB в качестве языка действий
При использовании данных переменного размера на графике С применяются следующие инструкции:
Объявите данные переменного размера только как входы и выходы графика, а не как локальные данные.
Чтобы задать входы графика переменного размера, которые наследуют их размер от модели Simulink, задайте значение свойства Size -1
.
Все расчеты с данными переменного размера должны происходить внутри функций, а не непосредственно в состояниях или переходах.
Можно передать данные переменного размера как входы и выходы этим функциям от действий состояния и перехода. В сложение функции MATLAB могут получить прямой доступ к данным уровня диаграммы, переменного размера.