exponenta event banner

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

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

Примечания

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

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