Основание компонента — электрическая ссылка

Самый легкий способ реализовать основывающийся компонент состоит в том, чтобы использовать связь с неявным ссылочным узлом. Для примера компонента, который предоставляет электрическую землю схеме, смотрите источник для блока Electrical Reference в библиотеке Foundation:

component reference
% Electrical Reference :0.5
% Electrical reference port. A model must contain at least one
% electrical reference port (electrical ground).

% Copyright 2005-2016 The MathWorks, Inc.

nodes
    V = foundation.electrical.electrical; % :top
end

connections
    connect(V, *);
end

end

Для получения дополнительной информации о связях компонента и неявном ссылочном синтаксисе узла, смотрите Связи с Неявным Ссылочным Узлом.

Следующий файл, elec_reference.ssc, показывает, как реализовать поведенческую модель электрической ссылки. Этот компонент имеет один узел, где напряжение равняется нулю. Это также объявляет текущую переменную, делает его инцидентом к узлу компонента с помощью раздела branches и не задает значения для него в разделе уравнения. Поэтому это может взять любое значение и обработать текущее течение в или из ссылочного узла.

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

  • Один электрический узел, V

  • Переменная Through, текущий i, чтобы быть соединенным с электрической областью позже в файле. Обратите внимание на то, что нет никакой потребности объявить переменную Across (напряжение), потому что это - основывающийся компонент.

Раздел branches устанавливает отношение между переменной Through компонента, текущим i, и узлами компонента (и поэтому доменной переменной Through). Оператор i : V.i -> * указывает что электрические токи от узла V к ссылочному узлу, обозначенному как *.

Раздел уравнения компонента содержит уравнение, которое задает основывающееся действие:

  • V.v == 0, то есть, напряжение в узле равняется нулю

component elec_reference
% Electrical Reference
% Electrical reference port. A model must contain at least one
% electrical reference port (electrical ground).

  nodes
    V = foundation.electrical.electrical; % :top
  end

  variables
    i = { 0, 'A' };
  end

  branches
    i : V.i -> *;
  end

  equations
    V.v == 0;
  end

end

Похожие темы