Самый легкий способ реализации заземляющего компонента - использовать соединение с неявным ссылочным узлом. Пример компонента, который обеспечивает электрическое заземление цепи, см. в источнике для блока 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
Переменная A Through, текущая i
, чтобы соединиться с электрической областью позже в файле. Обратите внимание, что нет необходимости объявлять переменную Across (напряжение), потому что это компонент заземления.
The branches
раздел устанавливает связь между переменной Through компонента, текущей i
, и узлы компонента (и, следовательно, переменная области). The 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