Когда вы задаете функцию, которая использует блоки подсистемы вызова функций 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
модель.
Этот метод моделирования минимизирует объекты в вашей модели.