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

Цель раздела объявления

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

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

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

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

Определения

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

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

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

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

Членский класс
  • Членский класс является более широкой классификацией участника.

  • Следующее является набором членских классов: variables (доменные или переменные компонента), parameters, inputsВыходные параметры , 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, участники объявления, такие как параметры, переменные, входные параметры и выходные параметры, представлены как значение со связанным модулем. Синтаксис для значения с модулем является по существу синтаксисом 2D членского массива элементарной ячейки значения:

 { value , 'unit' }

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

Например, это - то, как вы объявляете параметр как значение с модулем:

par1 = { value , 'unit' };

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

 par1 = { value 'unit' };

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

 par1 = { value , '1' };

или не используйте модуль и используйте этот синтаксис:

 par1 = value;

Внутренне, однако, этот параметр будет обработан как 2D членский массив элементарной ячейки значения { value , '1' }.

Похожие темы