Stateflow и MATLAB Coder могут полностью определить свои определения данных, или они могут наследовать их от Simulink. Возможности определения данных включают:
Наследование типов и размеров входных/выходных данных от Simulink.
Параметризованные типы данных и размеры. То есть тип и размер данных могут быть заданы как функция от типа и размера других данных, например type(y)=type(u)
и size(y)=size(u)
.
Выведенный размер и тип выхода из Simulink посредством обратного распространения атрибута сигнала.
Параметрические данные, которые позволяют ссылаться на параметры Simulink в Stateflow и MATLAB.
Откройте пример модели rtwdemo_dynamicio
.
open_system('rtwdemo_dynamicio')
Скомпилируйте модель (на вкладке Simulation, в разделе Prepare, нажмите Update Model) и отметьте отображаемые типы сигналов и размеры.
Измените тип данных и/или размер блока Constant и повторно скомпилируйте модель. Обратите внимание, что атрибуты сигналов автоматически адаптируются к спецификации блока Constant.
Сгенерируйте и проверьте код с помощью синих кнопок в модели. Обратите внимание, что K
совместно используется блоками Gain и sfVerticalSum.
Тип данных и размер данных Stateflow и MATLAB наследуются от Simulink.
Блок Gain и диаграмма Stateflow sfVerticalSum совместно используют параметр Simulink K
, который определяется в рабочем пространстве MATLAB как Simulink. Параметр с Model default
класс памяти (т.е. rtP.K
в сгенерированном коде).