PSpice和Simulink联合仿真笔记(五)Simulink 和PSpice之间的数据交换及Simulink仿真设置

我们在联合仿真时,需要考虑到两个仿真器仿真步长的设置问题,这就涉及到两个仿真器之间的数据交换。对仿真器的数据交换机制的了解可以方便我们进行设置。(欢迎各位前辈批评指正,大家留下宝贵的赞呀)

Simulink 和PSpice之间的数据交换

当SLPS块被放置在Simulink模型中时,使用两个不同的分析引擎进行仿真,其中瞬态分析将在各自的时间步骤中进行。

通过SLPS在Simulink和PSpiceA/D之间进行数据交换如下所示。

在Simulink中,我们不能检查PSpice的内部属性,它的仿真步长比Simulink小。此外,还有一些Simulink内部的小步骤,数据没有与PSpice交换,从上面的图中可以看到。

若要检查PSpice的内部结果,可以在“SLPS设置”窗口中的“数据保存选项”下指定“None”以外的项之一。然后在完成分析之后使用PSpice A/D打开PSpice数据文件SLPS。

设置Simulink仿真

我们可以使用Simulink参数对话框指定Simulink仿真的设置。SLPS可以选择Variable-step和Fixed-step,以及所有的求解器。

由于SLPS数据交换只与每个Simulink步骤一起工作,为了避免忽略PSpice电路中的现象,Simulink的最大步长(如果选择Fixed-step)。步骤被选择)必须是一个足够小的值。然而,该值不能太小,否则Simulink的总体分析可能会变得缓慢。

从图中可以看出,如果最大步长设置为较大,则无法获得正确的波形。

 

尽管PSpice的一些波形不会显示在Simulink中,如果想在PSpice中看到波形,以确定步长,可以通过启动PSpiceA/D并打开PSpice数据文件来检查它。

注意:当SLPS块插入反馈回路中时,SLPS块中的计算由PSpice执行,PSpice在与Simulink不同的内存空间中工作。原则上,一个Simulink循环步骤将发生在SLPS块的输入和输出之间。为了尽量减少这种影响,Simulink的时间步长必须足够小。

猜你喜欢

转载自blog.csdn.net/qq_40678163/article/details/104169006