Файлы домена и компонентов содержат раздел объявления:
Раздел объявления файла домена определяет переменные Through и Across для домена. При необходимости можно также определить параметры для всей области.
В разделе описания файла компонента определяются все переменные, параметры, узлы, входы и выходы, необходимые для описания соединений и поведения компонента. Они называются объявлениями членов.
Чтобы использовать переменную, параметр и т. д. в других разделах файла компонента (например, ветви, уравнения и т. д.), необходимо сначала определить его в разделе описания.
Раздел объявления файла Simscape™ может содержать одно или несколько объявлений члена.
| Термин | Определение |
|---|---|
| Участник |
|
| Класс-участник |
|
К объявлению участников применяются следующие правила:
Подобно системе класса 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 | Выражение, означающее | Перезаписываемый |
|---|---|---|---|---|
parameters | domaincomponent | Числовое значение с единицей измерения | Значение по умолчанию | Да |
variables | domaincomponent | Числовое значение с единицей измерения | Номинальное значение и исходное условие по умолчанию | Да |
inputs | component | Скалярное, векторное или матричное двойное значение с единицей измерения или без типа | Значение по умолчанию, если введено | Нет |
outputs | component | Скалярное, векторное или матричное двойное значение с единицей измерения или без типа | Значение по умолчанию, если введено | Нет |
nodes | component | Экземпляр узла, связанного с доменом | Тип домена | Нет |
components | component | Экземпляр класса компонентов | Компонент элемента, включенный в композитную модель (см. Объявление компонентов элемента) | Нет |
В языке Simscape элементы объявления, такие как параметры, переменные, входы и выходы, представлены в виде значения со связанной единицей измерения. Синтаксис для значения с единицей измерения по существу соответствует синтаксису двухкомпонентного массива «значение-единичная ячейка»:
{ value , 'unit' }где value является вещественной матрицей, включая скаляр, и unit является допустимой строкой единицы, определенной в реестре единиц, или 1 (без единиц измерения). В зависимости от типа элемента могут применяться определенные ограничения. Для получения подробной информации см. соответствующие справочные страницы.
Например, так параметр объявляется как значение с единицей измерения:
par1 = { value , 'unit' };Как и в MATLAB, запятая не требуется, и этот синтаксис эквивалентен:
par1 = { value 'unit' };Для объявления параметра без единиц измерения можно использовать один и тот же синтаксис:
par1 = { value , '1' };или опустить блок и использовать следующий синтаксис:
par1 = value;
Внутри, однако, этот параметр будет рассматриваться как двухкомпонентный массив «значение-единица-ячейка» { value , '1' }.