Определение видимости функций может помочь вам избежать конфликтов пространства имен при интеграции моделей, на которые ссылаются. Блок Simulink Function задает видимость своей функции в отношении к подсистеме или модели, содержащей блок или как ограниченную по объему или как глобальная переменная. По умолчанию блоки Simulink Function ограничены по объему.
Функциональная Видимость. Ограниченная по объему функция отображается в ее иерархии. Функциональная вызывающая сторона, расположенная на том же уровне как функция или один или несколько уровней ниже, может обратиться к функции. Глобальная функция отображается через иерархию модели. Это означает, что функциональная вызывающая сторона, расположенная где угодно в текущей модели или в иерархии родительской модели, может обратиться к функции.
Функциональная доступность определяется видимостью функции и местоположением функциональной вызывающей стороны относительно Функционального блока Simulink. Для функциональных вызывающих сторон один иерархический уровень выше функции квалифицируйте имя функции с виртуальным именем блока подсистемы или именем блока модели.
Функциональный экспорт относится к функциям, экспортируемым из моделей. Функция с глобальной видимостью, помещенной где угодно в модель экспорта функций, экспортируется в верхний уровень иерархии модели в дополнение к интерфейсу модели. Функция с ограниченной по объему видимостью на корневом уровне модели экспорта функций экспортируется в интерфейс модели. В обоих этих случаях можно получить доступ к экспортируемой функции за пределами модели.
Используйте параметр Function visibility для блока Trigger в блоке Simulink Function, чтобы установить функциональную видимость на любой scoped
или global
.
Сводные данные видимости функционального блока Simulink и доступа
Функциональная видимость | Функциональная доступность | Функциональный экспорт | |
---|---|---|---|
Виртуальная подсистема |
Имя функции не должно быть уникальным | функционируйте вызывающая сторона в иерархии или на родительском уровне. функционируйте вызывающая сторона в иерархии блока Subsystem – дисквалифицированный, функционируйте вызывающая сторона на родительском уровне – квалифицированный с именем блока подсистемы, | Не применяется |
Имя функции должно быть уникальным | функционируйте вызывающая сторона на любом уровне иерархии вниз или. функционируйте вызывающая сторона на любом уровне иерархии – дисквалифицированный, | Функция на любом уровне модели, экспортируемой в глобальное пространство имен модели верхнего уровня | |
Атомарная подсистема |
Имя функции не должно быть уникальным | функционируйте вызывающая сторона только в иерархии функционируйте вызывающая сторона в иерархии блока Subsystem – дисквалифицированный, функционируйте вызывающая сторона на родительском уровне – не позволенный | Не применяется |
| вызов функции, не позволенный | Не применяется | |
Модель |
Имя функции не должно быть уникальным | функционируйте вызывающая сторона в иерархии или на родительском уровне. функционируйте вызывающая сторона в иерархии блока Subsystem – дисквалифицированный, функционируйте вызывающая сторона на родительском уровне - квалифицированный с именем блока Model, | Функция на корневом уровне модели, экспортируемой в интерфейс модели |
Имя функции должно быть уникальным | функционируйте вызывающая сторона на любом уровне иерархии вниз или. функционируйте вызывающая сторона на любом уровне иерархии – дисквалифицированный, | Функция на любом уровне модели, экспортируемой в глобальное пространство имен модели верхнего уровня |