Подключение двух или более портов компонентов одного типа
connect(n1, n2);
connect(s, d1);
connect конструкции описывают оба сохраняющих соединения (между nodesи физические сигнальные соединения (между inputs и outputs). Можно разместить connect конструкция только внутри connections блок в файле составного компонента.
Для сохраняющего соединения синтаксис:
connect(n1, n2);
Конструкция может иметь более двух аргументов. n1, n2, n3, и так далее nodes объявлен в составном компоненте или в любом из файлов компонентов-членов. Единственное требование - все эти узлы связаны с одним и тем же доменом. Порядок аргументов не имеет значения. connect создает физическое сохраняющее соединение между всеми узлами, перечисленными в качестве аргументов.
* символ обозначает соединение с неявным опорным узлом:
connect(n1, *);
Дополнительные сведения см. в разделе Соединения с неявным ссылочным узлом.
Для физического сигнального соединения используется синтаксис:
connect(s, d1);
Конструкция может иметь более двух аргументов. Все аргументы: inputs и outputs объявлен в составном компоненте или в любом из файлов компонентов-членов. Первый аргумент, s, является исходным портом, а остальные аргументы, d1, d2, d3и т.д., являются портами назначения. connect создает направленное физическое сигнальное соединение от порта источника к порту назначения или портам назначения. Например,
connect(s, d1, d2);
означает, что источник s подключен к двум адресатам, d1 и d2. Назначение не может быть подключено к нескольким источникам. Если оператор подключения сигнала имеет более одного пункта назначения, порядок аргументов пункта назначения (d1, d2, и так далее) не имеет значения.
В следующей таблице перечислены допустимые комбинации источника и назначения.
| Источник | Место назначения |
|---|---|
| Внешний входной порт составного компонента | Входной порт компонента-элемента |
| Выходной порт компонента-члена | Входной порт компонента-элемента |
| Выходной порт компонента-члена | Внешний выходной порт составного компонента |
Если компонент элемента сам является составным компонентом, connect конструкции могут обращаться только к своим внешним узлам, а не к внутренним узлам лежащих в их основе элементов. Например, рассмотрим следующую диаграмму.

Определение составного компонента a, который состоит из компонентов-членов b и c. Компонент c является, в свою очередь, составным компонентом, содержащим элементы d и e. Каждый компонент имеет узлы n1 и n2.
Следующие конструкции являются законными:
connect(n1, c.n1);
connect(b.n1, c.n1);
Однако следующие конструкции
connect(n1, c.d.n1);
connect(b.n1, c.d.n1);
недопустимы, поскольку они пытаются получить доступ к базовому компоненту-члену в компоненте-члене c.
Также можно использовать for циклы для объявления массива компонентов-членов и указания соединений компонентов. Дополнительные сведения см. в разделе Массивы компонентов.
В следующем примере составной компонент состоит из трех одинаковых резисторов, соединенных параллельно:
component ParResistors
nodes
p = foundation.electrical.electrical;
n = foundation.electrical.electrical;
end
parameters
p1 = {3 , 'Ohm'};
end
components(ExternalAccess=observe)
r1 = foundation.electrical.elements.resistor(R=p1);
r2 = foundation.electrical.elements.resistor(R=p1);
r3 = foundation.electrical.elements.resistor(R=p1);
end
connections
connect(r1.p, r2.p, r3.p, p);
connect(r1.n, r2.n, r3.n, n);
end
end