主要内容

指定组件连接

关于结构部分

Simscape™文件的结构部分在编译期间执行一次。此部分包含有关组成组件的端口如何相互连接,以及如何连接外部输入、输出和顶级组件的节点的信息。

结构部分以a开始连接关键字,并由结束关键字。这连接块包含一组连接构造,它既描述了保存连接(between节点)和物理信号连接(之间的输入而且输出).

在下面的例子中,自定义组件文件包括基础库电压传感器和电气参考块,并指定以下连接:

  • 电压传感器的正端口连接到复合元件的外部电保护端口+

  • 电压传感器对地负端

  • 电压传感器的物理信号输出端口到复合元件的外部输出,位于结果块图标的右侧

组件VoltSG节点p = foundation.electric .electric;= {0.0, 'V'};% V:右端组件(ExternalAccess=observe) VoltSensor = foundation.electric .sensors.voltage;Grnd = foundation.electric .elements.reference;connect(p, VoltSensor.p);连接(接地。V, VoltSensor.n);连接(VoltSensor。V,);结束结束

在这个例子中,是前两个连接构造指定保留电气节点之间的连接。第三个连接构造是一个物理信号连接。尽管这些结构看起来相似,但它们的语法规则是不同的。

保存联系

保存连接时,使用连接Construct可以有两个或多个参数。例如,下面示例中的连接

连接连接(R1。p, R2.n);连接(R1。p, R3.p);结束

可以用

连接连接(R1。R2 p。n, R3.p);结束

参数的顺序并不重要。唯一的要求是连接的节点都是相同类型的(也就是说,都与同一个域相关联)。

在下面的例子中,复合元件由三个相同的电阻并联组成:

component ParResistors节点p = foundation.electric .electrical;电气的;结束参数p1 ={3, '欧姆'};end components(ExternalAccess=observe) r1 = foundation.electric .elements.resistor(R=p1);r2 = basic .electric .elements.resistor(R=p1);r3 = foundation.electric .elements.resistor(R=p1);连接端连接(r1.)r2 p。p, r3。p, p);连接(r1。n, r2。n, r3。n, n); end end

到隐式引用节点的连接

符号表示到引用节点的连接分支语句。你也可以用它来表示到组件结构段内隐式引用节点的连接:

连接连接(A, *);结束

隐式引用节点充当虚拟接地组件。连接到隐式引用的节点的所有Across变量都等于0。

符号不是特定于领域的,相同的结构段可以包含到不同领域的隐式引用的连接:

构件abc节点M = foundation.hydraulic.hydraulic;电气的;端部连接连接(M,*);连接(N, *);结束结束

但是,多个端口连接到同一个隐式引用连接语句必须都属于同一个域:

连接(a, b, *);结束

端口的顺序不重要。该行为符合多个保存端口的一般连接规则。

物理信号连接

物理信号连接是有方向性的,因此连接Construct的格式如下:

连接(s、d);

在哪里年代信号源端口和d目的端口。

可以有多个目的端口连接到同一个源端口:

连接(s, d1, d2);

源端口和目的端口属于输入输出类成员。下表列出了有效的源和目标组合。

目的地
复合元件外部输入端口 部件输入端口
成员部件输出端口 部件输入端口
成员部件输出端口 复合元件外部输出端口

例如,考虑下面的框图。

它表示一个复合组件CompMeas,它又包含一个复合组件阀子系统,以及几个Foundation库块。复合组件的Simscape文件将使用以下构造指定等效的信号连接。

构造 解释
连接(subt.I1); 连接端口到输入端口+PS减去块。演示了将组合组件的输入端口连接到成员组件的输入端口。
连接(subt。O, gain.I); 连接PS减去块的输出端口到PS增益块的输入端口。演示了将一个成员组件的输出端口连接到同一级别的另一个成员组件的输入端口。
连接(fl_rate。问,subt。I2); 连接输出口将液压流量传感器块连接到输入端口-的PS减去块和输出端口复合组件的。演示了将单个源连接到多个目的地,以及将成员组件的输出端口连接到封闭复合组件的输出端口。

还要注意PS增益块的输出端口连接到Valve Subsystem复合块(同一级别的另一个成员组件)的输入端口。Valve子系统是一个独立的复合组件,因此如果您将PS增益块的输出端口连接到Valve子系统内部某个成员组件的输入端口,将违反物理信号连接的因果关系(目标端口不能连接到多个源)。

非标量物理信号连接

多维物理信号可用于:

  • 聚合在不同空间点上的测量值,例如沿着线圈或元素的二维网格的温度

  • 使用三维身体位置或速度

  • 在三维中使用旋转矩阵或四元数

  • 使用张量

Simscape语言支持非标量(向量万博1manbetx值或矩阵值)物理信号输入而且输出声明。这样的矢量或矩阵中的所有信号都应该有相同的单位。例如,以下声明

I = {0 (3), 'm/s'};%:左端

将组件输入初始化为线性速度的3 × 3矩阵。

当连接携带非标量物理信号的输入和输出端口时,可以在源上使用信号索引和连接,但不能在目标上使用。不允许标量展开。

下表显示了有效的语法示例,假设子组件A具有输出信号端口A.o子组件B有输入信号端口,并且所有尺寸和单元都是兼容的。

构造 解释
连接(A.o(1、2),我); 源索引,连接到标量目标:获取输出A.o的条目(1,2)并将其连接到输入b.i.。
连接(A.o(1:2:5 2:3)我); 按行和列进行索引,以指定子矩阵。
连接(A.o(1:2:,:)我); 使用冒号符号来指定数组边界(将输出A.o的每一列传递给输入b.i.。
连接([A1。o, A2。啊,我); 连接输出A1。o和A2。o列,并将结果传递给输入b.i.。

类中的块参数值可以用于索引连接语句,例如:

连接(a.o(价值(param_name, '1'), 3), b.i);

当您连接两个物理信号时,它们的单位必须直接转换。如果其中一个信号被声明为无单位(即,单位为' 1 '),然后你就可以将任何基单位的讯号连接到它。但是,在这种情况下不支持单位转换。万博1manbetx例如,如果为2x1无单位输入端口,则此语句有效:

Connect ([out1_in_meters, out2_in_seconds], a.i);

如果你用一个无单位输入端口连接相同单位的不同规模的信号,编译器会提醒你单位转换被忽略了。例如,下面的语句在编译时产生一个警告:

Connect ([out1_in_km, out2_in_mm], a.i);

相关的例子

更多关于