Списки атрибутов

Типы атрибутов

Атрибуты появляются в списке атрибутов, который является разделенным запятыми списком пар, как определено в MATLAB® системная грамматика классов. Simscape™ язык различает два типа атрибутов: атрибуты модели и атрибуты представителя.

Атрибуты модели

Атрибуты модели применимы только к типу модели component.

ПризнакЗначенияДефолтКлассы моделейОписание

Propagation

propagates
blocks
source не рекомендуется

propagates

component

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

Использование source значение, наряду с setup функция, больше не рекомендуется; вместо этого используйте прямое назначение параметру области в объявлении узла компонента. См. «Работа с параметрами области».

Hidden

true
false

false

component

Определяет видимость всего компонента. Это определяет, будет ли компонент отображаться в сгенерированной библиотеке или отчете.

Атрибуты модели компонента применяются ко всей модели. Для примера:

component (Propagation = blocks) Separator
  % component model goes here
end

Здесь, Propagation является атрибутом модели.

Атрибуты представителя

Атрибуты представителя применяются к целому блоку объявлений.

ПризнакЗначенияДефолтКлассы представителейОписание

Access

public
private
protected

public

все

Определяет доступ для чтения и записи представителей. Public (значение по умолчанию) является наиболее допустимым уровнем доступа. Нет никаких ограничений на доступ к публичным представителям. Частные представители доступны только для образца модели компонента, а не для внешних клиентов. Защищённые представители базового класса доступны только для подклассов.

ExternalAccess

modify
observe
none

Зависит от значения Access атрибут: для public, по умолчанию является modify, для private и protected, по умолчанию является observe

все

Устанавливает видимость представителя в пользовательском интерфейсе, то есть в диалоговых окнах блока, журналах симуляции, переменных средствах просмотра и так далее:

  • modify - Член может быть изменен в диалогах блоков и виден в журналах и средстве просмотра.

  • observe - представитель видим в журналах и средстве просмотра, но не изменяемый, и, следовательно, не видимый, в блочных диалогах.

  • none - представитель нигде не виден вне языка.

Balancing

true
false

false

variables

Если установлено значение true, объявляет переменные Through для области. Можно задать этот атрибут равным true только для типа модели domain. Смотрите Описание переменных и Переменных для области.

Event

true
false

false

variables

Если установлено значение true, объявляет переменные события для компонента. Можно задать этот атрибут равным true только для типа модели component. См. «Переменные события».

Conversion

absolute
relative

absolute

parameters
variables

Определяет, как преобразуются параметры или переменные модули для использования в уравнениях, промежуточных соединениях и других разделах. См. Параметр «Модули»

MATLABEvaluation

default
compiletime

default

parameters
variables

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

Список атрибутов для блока объявления появляется после ключевого слова MemberClass. Для примера:

parameters (Access = public,ExternalAccess = observe)
  % parameters go here
end

Здесь все параметры в блоке объявления являются внешне записываемыми на языке, но они не появятся в диалоговом окне блока.

Определение доступности представителей

Два атрибута, определяющие доступность представителя, действуют совместно. Значение по умолчанию ExternalAccess атрибут для представителя зависит от значения Access атрибут для этого представителя.

AccessЗначения по умолчанию ExternalAccess
publicmodify
protectedobserve
privateobserve

Значения двух атрибутов можно изменять независимо друг от друга. Однако некоторые комбинации запрещены. Компилятор применяет следующие правила:

  • Представители базового класса с Access=private вынуждены иметь ExternalAccess=none, чтобы избежать потенциального столкновения имен между базовым классом и производным классом.

  • Когда Access явно установлено на private или protected, не имеет смысла явно устанавливать ExternalAccess=modify . В этой ситуации компилятор выдает предупреждение и переделывает ExternalAccess на observe.