exponenta event banner

соединиться

Подключение двух или более портов компонентов одного типа

Синтаксис

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
Представлен в R2012b