Осуществляйте обмен данными между кодом, сгенерированным от 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. Скомпилируйте модель (Симуляция> Схема Обновления) и отметьте отображенные типы сигнала и размеры.

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

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

Примечания

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

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