Функция Simulink ® - это графический объект, который заполняется блоками Simulink и вызывает действия состояний и переходов. Функции Simulink поддерживаются только в диаграммах Stateflow ® в моделях Simulink. Дополнительные сведения см. в разделе Повторное использование компонентов Simulink в диаграммах Stateflow.
Когда функция Simulink находится внутри состояния, она связывается с этим состоянием. Привязка приводит к следующему поведению:
Вызовы функций могут происходить только в действиях состояния и при переходах в пределах состояния и его подсостояний.
При вводе состояния функция активируется.
При выходе из состояния функция отключается.
Например, на следующей диаграмме Stateflow показана функция Simulink, которая привязывается к состоянию.

Потому что функция queue находится в состоянии A1, функция связывается с этим состоянием.
Государство A1 и его подстанциях A2 и A3 может позвонить queue, но состояние B1 не может.
Когда состояние A1 вводится, queue включен.
Когда состояние A1 выполнен выход, queue отключен.
Если функция Simulink связывается с состоянием, можно удерживать переменные подсистемы в их значениях от предыдущего выполнения или сбрасывать переменные до их начальных значений. Выполните следующие действия.
В функции Simulink дважды щелкните порт триггера, чтобы открыть диалоговое окно «Параметры блока».
Выберите параметр Состояния при включении.
| Выбор | Описание | Ссылочный раздел |
|---|---|---|
held | Содержит значения переменных подсистемы из предыдущего выполнения | Поведение функции при удержании переменных |
reset | Восстановление исходных значений переменных подсистемы | Поведение функции при сбросе переменных |
В этом примере показано поведение функции Simulink при привязке к состоянию.

Функция queue содержит блок-схему, которая увеличивает значение счетчика на 1 при каждом выполнении функции.

Диалоговое окно «Параметры блока» для порта триггера отображается следующим образом.

В диалоговом окне установите для параметра Тип времени образца значение periodic включает поле Sample time, в котором по умолчанию установлено значение 1. Эти параметры определяют выполнение функции для каждого временного шага, указанного в поле Sample time, пока функция включена.
Примечание
При использовании решателя с фиксированным шагом значение в поле Время выборки должно быть целым числом, кратным размеру фиксированного шага. Это ограничение не применяется к решателям с переменным шагом. (Дополнительные сведения см. в разделе Сравнение решателей (Simulink).)

При моделировании диаграммы выполняются следующие действия.
Переход по умолчанию в состояние A1 происходит, что включает в себя установку локальных данных u1 на 1.
Когда A1 вводится, функция queue включен.
Вызовы функций для queue происходит до состояния after(5, sec) является правдой.
Переход из состояния A1 кому B1 происходит.
Когда A1 выполнен выход, функция queue отключен.
После прохождения ещё двух секунд переход от B1 кому A1 происходит.
Шаги 2-6 повторяются до окончания моделирования.
При установке состояний при включении held, выходные данные y1 является следующим.

Когда состояние A1 становится неактивным при t = 5, функция Simulink удерживает значение счетчика. Когда A1 снова активен при t = 7, счетчик имеет то же значение, что и при t = 5. Следовательно, выходные данные y1 продолжает увеличиваться во времени.
При установке состояний при включении reset, выходные данные y1 является следующим.

Когда состояние A1 становится неактивным при t = 5, функция Simulink не удерживает значение счетчика. Когда A1 снова активен при t = 7, счетчик сбрасывается в ноль. Следовательно, выходные данные y1 также сбрасывается.