Когда вы задаете функцию, которая использует Simulink® подсистема вызова функций блоки или запланировать выполнение нескольких контроллеров без функций Simulink, модель требует эти элементы:
Подсистемы вызова функций Simulink
Stateflow® график с выходными событиями вызова функции
Сигнальные линии между графиком и каждым портом подсистемы вызова функций
Функции Simulink в диаграмме Stateflow обеспечивают следующие преимущества:
Нет блоков подсистемы вызова функций
Нет выходных событий
Нет сигнальных линий
В следующих разделах сравниваются два способа определения функции, которая использует блоки Simulink.
Вы задаете подсистему вызова функций в модели Simulink (см. Использование подсистем вызова функций (Simulink). Используйте событие выхода в Диаграмму Stateflow, чтобы вызвать подсистему, как показано на рисунке.
Один или несколько блоков Simulink помещаются в функцию Simulink диаграммы Stateflow. Используйте вызов функции для выполнения блоков в этой функции, как показано на рисунке.
На графике during
действие в selection_state
содержит вызов функции для calc_th
, которая является функцией, содержащей блоки Simulink.
Этот метод моделирования минимизирует объекты в вашей модели.
Для получения дополнительной информации смотрите Улучшить проект графика при помощи функций Simulink.
В следующих разделах сравниваются два способа планирования выполнения нескольких контроллеров.
Вы определяете каждый контроллер как блок подсистемы вызова функций и используете выходные события на диаграмме Stateflow, чтобы запланировать выполнение подсистем, как показано на sf_temporal_logic_scheduler
модель.
Вы определяете каждый контроллер как функцию Simulink в диаграмме Stateflow и используете вызовы функций для планирования выполнения подсистем, как показано на sf_temporal_logic_scheduler_with_sl_fcns
модель.
Этот метод моделирования минимизирует объекты в вашей модели.