前页 | 后页 |
数字电子仿真示例
在本例中,我们为一个简单的数字电子电路创建 SysPhS模型,然后使用模拟来预测和绘制该电路的行为。
此示例适用于 SysPhS 通用组件中未包含的组件,因此它贯穿了创建块以从头开始匹配外部组件的过程。有关演示这一点的网络研讨会,请参阅主题末尾的了解更多信息中的链接。
先决条件
运行此模拟需要:
- OpenModelica 或
- MATLAB 的 Simulink
图表- 数字分频器
我们要学习的数字电子电路模型如图所示,它使用标准电子电路符号。
本例中的电路包括一个脉冲数字信号源、四个触发器和一个逻辑布尔真状态,构成一个简单的分频器电路。
创建 SysML模型
这张表显示了我们如何构建一个完整的完成模型来表示电路,从最低级别的类型开始,一步一步地构建模型。
部件 |
行动 |
---|---|
块 |
在 SysML 中,使用 SysPhS,可以使用块来表示电路和每个组件类型。 首先在一个名为“数字模型”的包下创建一个块定义图(BDD)。 在 BDD 中,您将为电路创建一组组件,作为 SysML 块。该电路包含四种Part-端口一个脉冲数字信号源、一个Flip-Flop、一个布尔真端口和一个逻辑布尔状态表示。这些部件属于不同的类型,具有不同的行为。 为每个部件类型创建一个部件块。电路内部块定义 (IBD) 的部件将通过端口连接,端口代表电气引脚。这些必须在 BDD 中定义。 此图显示了 BDD,其中块定义了所用组件的类型。
注记这些模块是使用 Modelica Blocks 或 Simulink Blocks 从工具箱创建的。您可以在这两个工具中键入这些块。 有关详细信息,请参阅将模块设置为 Modelica 和 Simulink帮助主题。 |
设置 Modelica 和 Simulink 路径 |
为了定义 Modelica 或 Simulink 特定的块,您需要在相应的应用程序中访问部件的路径,然后在块的属性中设置它。 例如,我们可以在 Modelica 中找到 Flip-Flop 组件。
然后我们将其复制到块的属性中。
有关更多详细信息,请参阅创建 Modelica 特定模块和创建 Simulink 特定模块帮助主题。 |
端口 |
要在块上设置(在这种情况下为 Flip-端口时钟端口),您可以将 Modelica 或 Simulink PhS端口拖到块上。然后必须将该端口输入为端口。
注记:
|
公共类型 |
作为所有 SysPhS 模型的启动器,您必须确保使用包导入连接器将 SysPhS 常用类型加载到存储库中并在新模型中引用。有关更多信息,请参阅引用 SysPhS仿真库 帮助主题。 用于端口的值类型在端口仿真库中预先定义。使用的两种键类型是 BooleanInSignal 和 BooleanOutSignal ValueTypes。 此图显示块定义图中的触发器块,时钟设置为端口ValueType,并且在浏览器窗口中引用。
|
Phs 常数 |
Clock 和 Boolean-true 模块都在 MATLAB 和 Modelica 的各自组件中定义了属性。 让我们以时钟为例。对于这种组件类型,在 Simulink 和 Modelica 中,我们都需要为每个脉冲的周期和每个脉冲的宽度设置一个值。必须设置和键入这些属性。属性的值将在 IBD、参数图或可能在模拟数据集中设置。 设置定义周期的属性:
要设置单个组件(部件)中的值,请参阅此表中的Initial Values行。 |
内部结构——电路 |
对于内部结构,我们创建一个带有子 IBD 图的块。
|
绑定 |
到模型这些组件的接线:
请注意,这遵循与原始电路图相同的结构,但每个组件的符号已替换为由我们定义的块键入的属性。 |
初始值 |
数字脉冲源是 Modelica 和 Simulink 中的 DigitalClock 组件。这需要两个参数 - 'Period' 和 'Width',如 Modelica 编辑器中所示。
这些参数的值必须在 IBD部件的“Clk”中设置,在属性窗口“属性”选项卡的“初始”字段中 J & K端口需要一个固定的逻辑“ True ”状态。这是通过使用初始值设置为“true”的库表定义的,如此处针对 Modelica 所示。
返回 BDD 后,您现在应该将 Counter块显示为:
|
配置仿真行为
此表显示了 SysMLSim 配置的详细步骤。
节 |
行动 |
---|---|
创建一个工件 |
|
设置包 |
|
设置 Modelica 或 Simulink |
在顶部下拉列表中选择要使用的模拟工具:
|
设置块为仿真 |
|
选择要绘制的属性 |
您现在可以选择要绘制的属性:
|
运行仿真
在“仿真”页面上,单击求解按钮。这显示了在以下位置生成的图的示例:
模型
Simulink
在图例中,您可以看到端口2 已被选中,而另一个端口已被取消选中,以显示一个简单的Plot
在 Modelica 或 Simulink 中视图模型
要在外部应用程序、Modelica 或 Simulink 中查看生成的模型,请参阅查看生成的模型帮助主题。另请参阅SysPhS调试提示帮助帮助中有关调试生成代码中任何问题的提示。