Совместное использование данных между кодом, сгенерированным из Simulink, Stateflow и MATLAB

Stateflow и MATLAB Coder могут полностью определить свои определения данных, или они могут наследовать их от Simulink. Возможности определения данных включают:

  • Наследование типов и размеров входных/выходных данных от Simulink.

  • Параметризованные типы данных и размеры. То есть тип и размер данных могут быть заданы как функция от типа и размера других данных, например type(y)=type(u) и size(y)=size(u).

  • Выведенный размер и тип выхода из Simulink посредством обратного распространения атрибута сигнала.

  • Параметрические данные, которые позволяют ссылаться на параметры Simulink в Stateflow и MATLAB.

Откройте модель примера

Откройте пример модели rtwdemo_dynamicio.

open_system('rtwdemo_dynamicio')

Инструкции

  1. Скомпилируйте модель (на вкладке Simulation, в разделе Prepare, нажмите Update Model) и отметьте отображаемые типы сигналов и размеры.

  2. Измените тип данных и/или размер блока Constant и повторно скомпилируйте модель. Обратите внимание, что атрибуты сигналов автоматически адаптируются к спецификации блока Constant.

  3. Сгенерируйте и проверьте код с помощью синих кнопок в модели. Обратите внимание, что K совместно используется блоками Gain и sfVerticalSum.

Примечания

  • Тип данных и размер данных Stateflow и MATLAB наследуются от Simulink.

  • Блок Gain и диаграмма Stateflow sfVerticalSum совместно используют параметр Simulink K, который определяется в рабочем пространстве MATLAB как Simulink. Параметр с Model default класс памяти (т.е. rtP.K в сгенерированном коде).