exponenta event banner

Обзор функциональных блоков Simulink и глобальных функциональных блоков Simulink

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

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

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

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

Используйте параметр видимости функции для блока триггера в блоке функции Simulink, чтобы установить видимость функции на scoped или global.

Обзор видимости и доступа к функциональным блокам Simulink

 Видимость функцииДоступность функцииЭкспорт функции
Виртуальная подсистема

scoped

Имя функции не обязательно должно быть уникальным

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

вызывающая функция внутри иерархии блоков подсистемы - без квалификации, fcn(). См. раздел Иерархическое разрешение функции в функциональных блоках Simulink в области действия в подсистемах.

вызывающая функция на родительском уровне - с указанием имени блока подсистемы, subsystem.fcn(). См. раздел Разрешение функции по квалификации в функциональных блоках Simulink в области действия в подсистемах.

Не применяется

global

Имя функции должно быть уникальным

вызывающая функция на любом уровне иерархии вниз или вверх.

вызывающая функция на любом уровне иерархии - неквалифицированная, fcn()

Функция на любом уровне модели, экспортируемая в глобальное пространство имен модели верхнего уровня

Атомная подсистема

scoped

Имя функции не обязательно должно быть уникальным

функция, вызывающая только внутри иерархии

вызывающая функция внутри иерархии блоков подсистемы - без квалификации, fcn(). См. раздел Иерархическое разрешение функции в функциональных блоках Simulink в области действия в подсистемах.

вызов функции на родительском уровне - не допускается

Не применяется

global видимость не разрешена

вызов функции не разрешен

Не применяется

Модель

scoped

Имя функции не обязательно должно быть уникальным

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

вызывающая функция внутри иерархии блоков подсистемы - без квалификации, fcn(). См. раздел Иерархическое разрешение функции в функциональных блоках Simulink с областью действия в моделях.

вызывающая функция на родительском уровне - с указанием имени блока модели, model_block.fcn(). См. раздел Разрешение функции по квалификации в функциональных блоках Simulink в области видимости в моделях.

Функция на корневом уровне модели, экспортируемая в интерфейс модели

global

Имя функции должно быть уникальным

вызывающая функция на любом уровне иерархии вниз или вверх.

вызывающая функция на любом уровне иерархии - неквалифицированная, fcn()

Функция на любом уровне модели, экспортируемая в глобальное пространство имен модели верхнего уровня

См. также

Блоки

Связанные темы