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