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