选择模块来建模电气系统
Simscape™ 软件提供模块库和仿真功能,您可利用这些工具在 Simulink® 环境中对物理系统进行建模。使用 Simscape,您可以基于物理连接构建物理模型,并与 Simulink 模块图集成。
Simscape Electrical™ 软件是 Simscape 的附加产品,为电气系统提供更复杂的组件和分析能力。您可以使用 Simscape Electrical 模块库来建模电子系统、机电系统、电力系统以及电力电子系统。您可以使用 Simscape 系列产品的组件,将电气、机械、热学及其他物理系统集成到模型中。当您需要与第三方共享电气系统控制器设计或信号处理算法时,可通过 Simulink 技术保护模型,在不泄露知识产权的前提下实现安全共享。您还可以使用 MATLAB® 实现设计自动化,或对数据进行分析和可视化处理。
使用 Simscape 和 Simscape Electrical 构建电气网络
您使用 Simscape 模块构建电气网络。Simscape 模块是指使用 Simscape 语言开发的任何模块,该语言是一种专门用于建模物理系统的文本语言。这包括您通过 Simscape、Simscape Electrical 或其他 Simscape 附加产品获得的库中绝大多数模块:
Simscape Battery™
Simscape Driveline™
Simscape Fluids™
Simscape Multibody™
Simscape 模块通过定义两个或多个物理变量之间的数学关系来表示物理组件。这些模块之间的连接代表物理连接,如同电路中的理想化导线。这些模块具有守恒端口,这些端口属于特定的物理域。要建模电气网络,可使用具有端口的模块,这些模块属于电气域和三相电气域。在这些领域中,物理变量是电流和电压。您可以在画布上添加模块,并像在电路图中那样将它们连接起来组装成组件。连接 Simscape 模块时无需指定流向,正如连接真实物理组件时也无需指定此信息。Simscape 会在每个时间步同时计算电流和电压的值。三相电气域通过将三相连接简化为单一物理连接线来简化模块,该物理连接线在电气域中相当于三条物理连接线。您还可以单独建模每个相位,例如将单相接地故障注入电路时,可将此模块的三相端口扩展为三个独立的单相电气端口。
要建模简单的电气网络,您可以使用属于 Simscape 产品的 Simscape Foundation Library 中的模块。该库包含基本物理元素和构建模块,这些元素和模块根据技术学科和函数划分为子库。要构建电气网络,请使用 Simscape > Foundation Library > Electrical 库中的模块。
通过 Simscape Electrical 可用的模块库扩展了电气和三相电气领域。该库包含许多与 Simscape Foundation Library 相同的组件,但提供了更多自定义选项。它还包含 Simscape 所不具备的附加组件。要在 Simulink 库浏览器中显示此库,请滚动至 Simscape 节点。若您已安装任何 Simscape 附加产品,可在 Simscape 库下查看对应的库文件。展开 Simscape 节点,然后展开电气节点。或者,在 MATLAB 命令行窗口中输入此命令。
ee_lib

要探索顶级 Simscape Electrical 库中的模块,请进一步展开节点。
除控制外,所有库均包含 Simscape 模块。您可以使用此模块,以及 Simscape 系列产品的其他模块,来构建电气网络及其他物理领域的网络。
选择模块构建电气网络
若多个模块均可用于建模同类设备,请选择最简洁的模块,同时确保其提供的细节足以满足设计目标。选择最简单的模块可使模型更易于参数化,并提高仿真速度。使用模块参数、模块描述和文档来决定使用哪些模块。参数数量较多的模块通常更为复杂。
要理解如何为电气网络选择具有适当复杂度的模块,请参考使用运算放大器的三角波发生器模型示例。要打开模型,请在 MATLAB 命令行窗口中输入此命令。
openExample('simscapeelectrical/TriangleWaveGeneratorExample')
电路的第一级代表由运算放大器构成的比较器。两个 Diode 模块建模齐纳二极管,将比较器的输出限制在正负 5 伏范围内。这些限制产生了方波。电路的第二级是一个积分器。将方波进行整流后,可生成三角波。
此示例使用了来自 Simscape Foundation 和 Simscape Electrical 库的模块。两个库都包含一个 Capacitor 模块和一个 Diode 模块。模块说明指出:Simscape Foundation Library 中的 Capacitor 模块建模线性电容器,而 Simscape Electrical 库中的 Capacitor 模块则建模具有可选容差、工作极限和故障行为的电容器。两个 Capacitor 模块在没有自定义选项的情况下完全相同,因此您可以任选其中一个模块。若查看两个模块的参数或文档,可知仅 Simscape Electrical 库中的模块能建模齐纳二极管,因此请选择 Simscape Electrical 库中功能更全面的模块。您还使用了来自 Simscape Electrical 库的 Band-Limited Op-Amp 模块。这是个更高级的模块,在 Simscape Foundation Library 中不可用。
使用 Simulink 模块生成信号、设计控制器并可视化数据
Simulink 模块代表数学运算。您将一个模块的输出端口连接到另一个模块的输入端口。Simulink 在每个时间步长中,随着信息从一个模块传递到下一个模块,依次计算信号的值。您可以将此模块与物理网络连接,以实现:
生成和处理信号
执行数学变换
开发控制算法
可视化数据
在运算放大器模型三角波发生器示例中,Sine Wave 模块生成的信号控制着 Variable Resistor 模块的电阻值。Scope 模块可让您在 Simulink 环境中可视化输出电压。
位于 Simscape Electrical 中的控制库包含 Simulink 模块,可用于开发单相和多相电力系统的控制系统。
本表总结了 Simulink 和 Simscape 模块的主要特征。
| Simulink 模块 | Simscape 模块 | |
|---|---|---|
| 用途 | 动态系统建模 | 对物理系统及其在不同物理领域间的相互作用进行建模 |
| 在电气模型中的常见用途 |
| 在电子、机电一体化和电力系统中表示物理组件 |
| 数学关系 | 输入与输出之间 | 两个或多个物理量之间,例如电流和电压 |
| 模块端口 | Simulink 输入端口和输出端口 | 物理信号端口与保护端口 |
| 连接 | Simulink 信号线 | 物理信号线与物理连接线 |
| 动态行为 | Simulink 在每个时间步长内,随着信号从一个模块传递到下一个模块,依次计算其值。 | Simscape 在每个时间步同时计算物理变量。 |
| 自定义模块 | 使用 MATLAB、C/C++ 和 Fortran 代码创建自定义 Simulink 模块。 | 使用 Simscape 语言创建自定义 Simscape 模块。 |
通过兼容端口连接模块
除了节省端口外,某些 Simscape 模块还配备了物理信号端口。这些端口是定向端口,其信号传输方式类似于 Simulink 的模块端口。Simscape 采用物理信号输入端口替代 Simulink 的输入输出端口,以提升计算速度并避免代数循环问题。物理信号也可以与特定单位相关联。
通过兼容端口将模块连接在一起。这些规则定义了兼容性条件:
您只能将 Simulink 输出端口连接至 Simulink 输入端口。
您只能将 Simscape 物理信号输出端口连接至 Simscape 物理信号输入端口。
仅可将 Simscape 节能端口连接至同一域内的其他节能端口。
您可以将 Simulink 图连接到 Simscape 网络,或使用具有多个端口类型的模块将不同域中的 Simscape 网络相互连接。
此表总结了不同端口类型的行为。
功能 | Simulink 输入和输出端口 | Simscape 物理信号端口 | Simscape 保留端口 |
|---|---|---|---|
| 连接线 | Simulink 表示数据流的信号线 | 代表数据流的物理信号线 | 物理连接线,代表物理连接,如同电路中的理想化导线。 |
| 连接规则 | 您只能将 Simulink 输出端口连接至 Simulink 输入端口。 | 您只能将 Simscape 物理信号输出端口连接至 Simscape 物理信号输入端口。 | 仅可将 Simscape 节能端口连接至同一域内的其他节能端口。 |
| 方向 | 有方向性。箭头指示信息流从一个模块的 Simulink 输出端口流向另一个模块的 Simulink 输入端口的方向。 | 有方向性。箭头指示信息流从一个模块的 Simscape 输出端口流向另一个模块的 Simscape 输入端口的方向。 | 不具有固有的方向性。电流等变量可双向流动。 |
| 拆分连接 | 将 Simulink 信号线分开会为同一信号创建多条路径。 | 将物理信号线分开会为同一信号创建多条路径。该信号代表一个物理量。 | 分割物理连接线会在系统中形成物理接点和独立分支。这种分支将电流等贯穿变量分配到相连的组件中。分支同样适用于每个连接组件上的相同变量,例如电压。 |
在运算放大器模型三角波发生器示例中,您使用 Simscape 实用工具库中的模块将电路网络连接至 Simscape 模块。
您使用一个 Simulink-PS Converter 模块,将来自 Sine Wave 模块的 Simulink 信号转换为物理信号,该信号可传递至 Variable Resistor 模块。该信号设置 Variable Resistor 模块的电阻值。
您使用 PS-Simulink Converter 模块将 Voltage Sensor 模块输出的物理信号转换为 Simulink 信号,该信号可传递至 Scope 模块。该信号可让您通过 Scope 模块观察电路两端的电压。
Solver Configuration 模块具有一个无类型的保守端口。您可以将此未类型化的端口连接到任何域的保留端口。Solver Configuration 模块用于指定模型在开始仿真前所需的求解器参数。您必须将此模块连接至每个拓扑上相互独立的 Simscape 网络。
该运算放大器模型三角波发生器示例仅包含一个 Simscape 网络。该网络属于电气领域。您可以通过具有多个域端口的模块连接两个或多个网络。端口、模块和物理连接线采用颜色编码,以便您识别所属域。
Simscape Electrical 系列库中的多数模块在热学、磁学、机械平移、机械旋转以及电气和三相电气领域均设有端口。您可以使用热端口选项,在热网络中建模由电气损耗产生的热量。您可使用 Electromechanical 库中的模块开发机电系统模型。您还可以通过相同域的保守端口,将模块连接至 Simscape 系列产品的模块,从而构建多域系统模型。
您可以通过双点击画布并输入要查找的模块名称的一部分来搜索模块。仅搜索具有与另一个模块的特定端口兼容的端口模块:
点击端口并拖动以创建节点。
点击该节点。
键入以搜索模块。
仅包含至少一个兼容端口的模块会出现在搜索结果中。
使用 Simscape 生成 C 代码、加速仿真并绘制记录的仿真数据
Simscape 模块在 Simscape Electrical 库中与 Simscape 的功能兼容。您可以:
从物理网络模型生成独立的 C 或 C++代码,用于快速原型设计和硬件在环应用 - Simscape 模块支持此功能。您还需要 Simulink Coder™ 许可证。
使用 Simscape HDL 工作流顾问生成 HDL 实现模型,为该实现模型生成 HDL 代码,并将代码部署到现场可编程门阵列 (FPGA) 平台。
使用 Solver Configuration 模块执行以下操作:
在连续状态表示与离散状态表示之间进行选择。
通过在频-时模式下运行仿真,对具有单一标称频率的系统执行相量分析并加速仿真。
从选定状态开始,使用工作点进行仿真。
使用分区求解器提高仿真速度。
使用 Simscape 结果浏览器导航并绘制记录的仿真数据。
使用 Probe 模块输出 Simscape 变量或中间结果作为 Simulink 信号。
使用支持故障建模的模块模拟故障 - 您可以将故障触发器和故障参数值保存到单独的文件中,同时保留原始模型而不受故障影响。
使用 Simscape Electrical 设计系统与组件
Simscape Electrical 库包含实现电力电子器件低保真度、分段线性数学模型的模块。该库还包含实现相同器件的高保真、非线性数学模型的模块。低保真度模型更易于参数化且仿真速度更快。高保真度的模型提供了更详细的仿真结果。首先使用低保真模块开发系统级设计模型,然后逐步转向使用高保真模块进行更详细的组件级设计。
探索示例
Simscape Electrical 文档包含数百个示例模型,您可以从中学习并根据自己的仿真目标进行调整。浏览应用分类中的示例,以找到与您的应用场景相近的模型。您还可以使用 modelfinder 函数搜索模型。