让我们以线性电阻为例,讨论Simscape™语言中的建模是如何工作的。
线性电阻是一种简单的电气元件,用下面的方程描述:
在哪里
V |
电阻跨电阻器 |
我 |
通过电阻的电流 |
R |
反抗 |
实现这种线性电阻的Simscape文件可能如下所示:
线性电阻的电压-电流(V-I)关系是V=I*R, %其中R是恒定电阻,单位为欧姆。电阻的正极和负极分别用% +号和% -号表示。节点p = foundation.electric .electric;% +:left n = foundation.electric .electric;% -:右结束变量i = {0, 'A'};% Current v = {0, ' v '};%电压端参数R ={1, '欧姆'};%电阻末端分支i: p.i -> n.i;end equation assert(R>0) v == p.v - n.v;v = =我* R; end end
让我们检查一下Simscape文件的结构my_resistor.ssc
.
第一行表示这是一个组件文件,组件名称是my_resistor
.
在这一行之后,有一些可选的注释,用于自定义块名称,并在块对话框中提供简短的描述。注释以%
的性格。
Simscape文件的下一部分是声明部分。对于线性电阻,它声明:
两个电气节点,p
和n
(分别为+和 - 终端)。
通过和跨越变量,当前我
和电压v
,以连接到电域Through和Across变量,稍后在文件中。您可以通过指定组件变量和节点之间的连接来连接组件和域变量。
所有公共组件变量都出现在变量从组件文件生成的块的对话框的选项卡。要指定如何在对话框中显示变量的名称,请在变量声明后立即使用该评论(当前的
和电压
).
参数R
,默认值为1欧姆
,指定电阻值。该参数出现在由组件文件生成的块的对话框中,可以在构建和模拟模型时进行修改。紧跟着参数声明的注释,反抗
,指定块参数的名称如何出现在对话框中。
的分支
段建立了组件Through变量和组件节点(以及域Through变量)之间的关系。的I:P.I - > N.I
语句表示通过电阻的电流从节点流过p
到节点n
.
最后一节包含方程式:
的断言
构造通过检查电阻值大于零来执行参数验证。如果块参数设置不正确,则断言
触发一个运行时错误。
第一个等式,V == p.v - n.v
,在组件跨变量和组件节点(以及域跨变量)之间建立关系。它将电阻两端的电压定义为节点电压之间的差值。
第二方程,v == i * r
,描述了基于欧姆定律的线性电阻的工作。它定义了组件Through和Across变量current之间的数学关系我
和电压v
,参数R
.
的==.
这些等式中使用的操作数指定了左侧和右侧表达式之间的连续数学平等。这意味着等式不代表分配,而是左手和右手操作数之间的对称数学关系。在整个模拟中不断评估该等式。
下图显示了从这个组件文件生成的自定义块结果。
要了解关于编写Simscape文件和将文本组件转换为自定义Simscape块的更多信息,请参考下表。
为… | 看到…… |
---|---|
声明语义,规则和示例 | 声明域和组件 |
写分量方程的详细信息 | 定义组件方程 |
对组件文件进行注释,以改进生成的块修饰和可用性 | 自定义块名称和外观 |
从组件文件生成Simscape块 | 从Simscape组件文件生成自定义块 |