Задайте соединения для портов представителя компонента в составном компоненте
connections connect(a, b); end
connections
начинает раздел структуры в составном файле компонента; этот раздел завершен end
ключевое слово. Он выполняется один раз во время компиляции. Раздел структуры содержит информацию о том, как порты составляющих компонентов соединяются друг с другом и с внешними входами, выходами и узлами компонента верхнего уровня. Все представители компонентов объявлены в components
объявление блока доступно по их именам в разделе структуры.
The connections
блок содержит набор connect
конструкции, которые описывают оба соединения (между nodes
) и соединений физического сигнала (между inputs
и outputs
). Для обращения к узлу, входу или выходу представителя компонента используйте синтаксис comp_name.port_name
, где comp_name
- идентификатор, назначенный представителем компонента в components
блок объявления и port_name
- имя узла, входа или вывода в файле представителя компонента.
Следующий синтаксис соединяет узлы a
составного компонента в узел a
от представителя компонента c1
, узел b
от представителя компонента c1
к узлу a
от представителя компонента c2
, и узловой b
от представителя компонента c2
к узлу b
составного компонента.
connections connect(a, c1.a); connect(c1.b, c2.a); connect(c2.b, b); end
Смотрите connect
страница с описанием для получения дополнительной информации о connect
синтаксис конструкции.
Можно также использовать for
циклы для объявления массива представителя компонентов и определения соединений компонентов. Для получения дополнительной информации смотрите Компонент Массивов.
Этот пример реализует простую схему RC, которая моделирует разряд первоначально заряженного конденсатора. Составной компонент использует компоненты из библиотеки Simscape™ Foundation в качестве базовых блоков и соединяет их как показано на следующей блок-схеме.
component CircuitRC outputs Out = { 0.0, 'V' }; % I:right end parameters p1 = {1e-6, 'F'}; % Capacitance p2 = {10, 'Ohm'}; % Resistance end components(ExternalAccess=observe) c1 = foundation.electrical.elements.capacitor(c=p1); VoltSensor = foundation.electrical.sensors.voltage; r1 = foundation.electrical.elements.resistor(R=p2); Grnd = foundation.electrical.elements.reference; end connections connect(Grnd.V, c1.n, r1.n, VoltSensor.n); connect(VoltSensor.p, r1.p, c1.p); connect(VoltSensor.V, Out); end end
The connections
блок содержит три connect
конструкции:
Первый соединяет отрицательные порты конденсатора, резистора и датчика напряжения друг с другом и с землей
Второй соединяет положительные порты конденсатора, резистора и датчика напряжения друг с другом
Третий соединяет выходной порт физического сигнала датчика напряжения с внешним выходом Out
составного компонента
Полученный составной блок имеет один выходной порт физического сигнала, Out
, и три внешне регулируемых параметры в диалоговом окне блока: Capacitance, Initial voltage и Resistance.