Область действия функции Simulink ® определяется в контексте модели. При размещении блока Simulink Function в модели на корневом уровне область действия функции определяется по умолчанию. Параметр видимости функции триггерного блока имеет значение scoped. Получите доступ к функции при наличии вызывающего абонента функции:
В иерархии модели, содержащей функцию. Вызовите функцию без определения имени функции.
Вне модели. Вызовите функцию, указав имя функции с именем экземпляра блока модели, а не имя файла модели.
Установка видимости функции для блока функции Simulink в global позволяет получить доступ к функции из любой точки модели или родительской модели. В результате модели с блоком Simulink Function, имеющим значение global, не могут быть многоэкземплярными, поскольку имена функций должны быть уникальными.
Размещение блока функции Simulink в области модели на корневом уровне ограничивает доступ к функции и удаляет имя функции из глобального пространства имен.
Вызывающая функция находится в текущей модели.

Невозможно поместить вызывающую функцию в блок Model и блок Simulink Function в родительской модели.

Если вызывающая функция помещается в блок модели, Simulink отображает ошибку. Эта ошибка возникает из-за того, что модель, содержащая вызывающего абонента, не знает имя функции. Вызовы функций не могут пересекать границы привязки модели.

При размещении блока Simulink Function в блоке Model имя функции недоступно вне модели. Однако можно вызвать функцию, указав имя функции с именем блока модели. При иерархическом разрешении вызывающей функции в квалифицированную функцию выполняется поиск блока модели, содержащего функцию, с использованием следующих правил:
Правило разрешения 1: Является ли блок модели в текущей модели вызывающей функцией?
Правило разрешения 2: Если блок модели отсутствует в текущей модели или подсистеме, является ли блок модели в родительской или родительской модели одним или несколькими уровнями выше вызывающего функции?
Если вызывающая функция получает разрешение на блок Model с функцией области действия, можно вызвать функцию, указав имя функции:
Вызывающая функция, расположенная вне модели, блокирует один иерархический уровень над функцией. В этом случае вызывающая функция находит блок Model с функцией области в текущей модели (правило разрешения 1).

Вызывающая функция в подсистеме на том же иерархическом уровне, что и функция. В этом случае вызывающая функция не нашла блок Model в текущей подсистеме, но нашла блок Model в родительской модели (правило разрешения 2).

Блок функции Simulink нельзя поместить в один блок модели, а вызывающую функцию - в другой блок модели.

При размещении блока функции Simulink в ссылочной модели и вызывающей функции в другой ссылочной модели Simulink отображает ошибку. Эта ошибка возникает из-за того, что полное имя функции, использующее имя блока модели, не отображается в модели, содержащей вызывающую.

Если требуется получить доступ к функции с помощью этого шаблона моделирования, см. раздел Блок функции вызывающего абонента в ссылочной модели и функции и раздел Вызов функции в отдельных моделях в разделе Блоки функции симулятора в ссылочных моделях.
Установка видимости функции для блока функции Simulink в scoped инкапсулирует функцию в модель, позволяя создать несколько экземпляров модели. Добавление имени экземпляра модели к имени функции создает уникальное имя функции в родительской модели.
Создайте модель, содержащую функциональные блоки Simulink.

По умолчанию для параметра видимости функции для блока триггера в блоке функции Simulink установлено значение scoped.
Ссылка на модель с функциями Simulink из нескольких блоков модели. Добавьте блок Function-Call Subsystem для планирования вызовов функций.

Добавление блоков вызывающего абонента функции в блок подсистемы вызова функции. Доступ к функции в отдельных экземплярах модели осуществляется путем определения имени функции с именем блока.

На вкладке «Отладка» выберите «Информационные наложения».
В
раскрывающемся списке выберите Функциональные соединители.
![]()
Линии трассировки используются для перехода от вызывающей функции к функции.

Модель, использующую блоки Simulink Function с несколькими экземплярами, см. в разделе Моделирование многократно используемых компонентов с помощью функций Multiply Instanced Simulink.