Ограниченный по объему и глобальная переменная обзор функциональных блоков Simulink

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

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

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

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

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

Сводные данные видимости функционального блока Simulink и доступа

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

scoped

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

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

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

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

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

global

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

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

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

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

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

scoped

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

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

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

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

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

global видимость, не позволенная

вызов функции, не позволенный

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

Модель

scoped

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

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

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

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

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

global

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

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

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

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

Смотрите также

Блоки

Похожие темы