При определении функции, использующей блоки подсистемы вызова функций Simulink ®, или при планировании выполнения нескольких контроллеров без функций Simulink модель требует следующих элементов:
Блоки подсистемы Simulink function-call
Диаграмма 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 модель.

Этот метод моделирования сводит к минимуму объекты в модели.
