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

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

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

  • Раздел объявления доменного файла - то, где вы задаете переменные 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' }.

Похожие темы