Объявление областей и компонентов

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

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

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

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

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

Определения

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

ТерминОпределение
Представитель
  • Представитель является частью объявления модели. Набор всех представителей модели является ее объявление.

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

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

Класс представителя
  • Класс member является более широкой классификацией представитель.

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

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

Объявления представителей

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

  • Как в MATLAB® class system, объявленные представители появляются в блоке объявлений:

    <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' }.

Похожие темы