exponenta event banner

Объявление доменов и компонентов

Цель раздела декларации

Файлы домена и компонентов содержат раздел объявления:

  • Раздел объявления файла домена определяет переменные Through и Across для домена. При необходимости можно также определить параметры для всей области.

  • В разделе описания файла компонента определяются все переменные, параметры, узлы, входы и выходы, необходимые для описания соединений и поведения компонента. Они называются объявлениями членов.

    Чтобы использовать переменную, параметр и т. д. в других разделах файла компонента (например, ветви, уравнения и т. д.), необходимо сначала определить его в разделе описания.

Определения

Раздел объявления файла Simscape™ может содержать одно или несколько объявлений члена.

ТерминОпределение
Участник
  • Член - это часть объявления модели. Коллекция всех членов модели является ее объявлением.

  • Он имеет связанный тип данных и идентификатор.

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

Класс-участник
  • Класс-член - это более широкая классификация члена.

  • Ниже приведен набор классов-членов: variables (переменные домена или компонента), parameters, inputs, outputs, nodes, components. components класс-член, не путать с component класс модели рассматривается в объявлении компонентов-членов.

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

Декларации участников

К объявлению участников применяются следующие правила:

  • Подобно системе класса MATLAB ®, объявленные члены отображаются в блоке объявления:

    <ModelClass> <Identifier>
       <MemberClass>
          % members here
       end
       ...
    end
  • В отличие от системы классов MATLAB, <MemberClass> может принимать любой из доступных классов-членов и диктовать класс-член элементов, определенных в блоке.

  • Как и система классов MATLAB, каждый объявленный член связан с идентификатором MATLAB, <Identifier>. В отличие от системы классов MATLAB, элементы должны быть объявлены с правым значением.

    <ModelClass> <Identifier>
       <MemberClass>
          <Identifier> = <Expression>;
          % more members
       end
       ...
    end
  • <Expression> в правой части знака равенства (=) - выражение MATLAB. Это может быть постоянное выражение или вызов функции MATLAB.

  • Класс MATLAB выражения ограничен классом объявляемого члена. Кроме того, тип данных выражения определяет тип данных объявленного элемента.

Сводка по участникам

В следующей таблице представлена сводка классов-членов.

Класс участникаПрименимые классы моделейКласс выражения MATLABВыражение, означающееПерезаписываемый
parametersdomain
component
Числовое значение с единицей измеренияЗначение по умолчаниюДа
variablesdomain
component
Числовое значение с единицей измеренияНоминальное значение и исходное условие по умолчаниюДа
inputscomponentСкалярное, векторное или матричное двойное значение с единицей измерения или без типаЗначение по умолчанию, если введеноНет
outputscomponentСкалярное, векторное или матричное двойное значение с единицей измерения или без типаЗначение по умолчанию, если введеноНет
nodescomponentЭкземпляр узла, связанного с доменомТип доменаНет
componentscomponentЭкземпляр класса компонентовКомпонент элемента, включенный в композитную модель (см. Объявление компонентов элемента)Нет

Объявление члена в качестве значения с единицей измерения

В языке Simscape элементы объявления, такие как параметры, переменные, входы и выходы, представлены в виде значения со связанной единицей измерения. Синтаксис для значения с единицей измерения по существу соответствует синтаксису двухкомпонентного массива «значение-единичная ячейка»:

 { value , 'unit' }

где value является вещественной матрицей, включая скаляр, и unit является допустимой строкой единицы, определенной в реестре единиц, или 1 (без единиц измерения). В зависимости от типа элемента могут применяться определенные ограничения. Для получения подробной информации см. соответствующие справочные страницы.

Например, так параметр объявляется как значение с единицей измерения:

par1 = { value , 'unit' };

Как и в MATLAB, запятая не требуется, и этот синтаксис эквивалентен:

 par1 = { value 'unit' };

Для объявления параметра без единиц измерения можно использовать один и тот же синтаксис:

 par1 = { value , '1' };

или опустить блок и использовать следующий синтаксис:

 par1 = value;

Внутри, однако, этот параметр будет рассматриваться как двухкомпонентный массив «значение-единица-ячейка» { value , '1' }.

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