simulink仿真电力系统控制时,积分模块(Intergrator)和传递函数模块(Transfer FCN)的用法以及其等效条件
文章目录
在做稳态分析时,我们需要对模型的稳态建模,此时我们不可避免地会使用到传递函数,而传递函数有多种搭建方式,本文仅讨论最简易的两种: 积分模块搭建和 传递函数模块搭建。同时,我们能够获得系统中各个变量的 稳态终值,但在simulink中只有积分模块可以 赋初值,而传递函数模块不能。本文对不同情况下两个模块进行了讨论,得到了其 等效转换所需的条件。
注意: 本文可能涉及到一些积分变换相关知识。
模块的简介
图示
积分模块(Intergrator)、
传递函数模块(Transfer FCN)
使用方法
我们以以下方程为例,简要介绍积分模块和传递函数模块的用法
F ( s ) = Y ( s ) X ( s ) = a 1 s + b 1 a 2 s + b 2 F(s)=\frac{Y(s)}{X(s)}=\frac{a_{1}s+b_{1}}{a_{2}s+b_{2}} F(s)=X(s)Y(s)=a2s+b2a1s+b1
积分模块
如果对该模块的搭建和赋初值不熟悉,可以看这一篇博客https://blog.csdn.net/weixin_50025625/article/details/127708372
在simulink中搭建如下
传递函数模块
在simulink中搭建如下
等效条件
从数学角度上来看,二者本质是同一个公式的不同变形。但由于积分模块多了一个初值赋予部分,对实际仿真效果产生了一定的影响。
问题发现
在某些时候,仿真达到稳定的速度不一致
赋值1
X0 = 1;
a1 = 1;
a2 = 2;
b1 = 2;
b2 = 1;
Y0 = b1/b2*X0;
A1 = a2*Y0-a1*X0;
输出结果1
在一定情况下,二者输出一致。
赋值2
X0 = 1;
a1 = 1;
a2 = 2;
b1 = 1;
b2 = 2;
Y0 = b1/b2*X0;
A1 = a2*Y0-a1*X0;
输出结果2
原理解释
终值定理: f ( ∞ ) = lim s → 0 s F ( s ) f(\infty)=\lim _{s \rightarrow 0} s F(s) f(∞)=lims→0sF(s)
初值定理: f ( 0 + ) = lim s → ∞ s F ( s ) f(0+)=\lim _{s \rightarrow \infty} s F(s) f(0+)=lims→∞sF(s)
使即 Y ( S ) = X ( S ) F ( S ) , x ( 0 + ) = x ( ∞ ) Y(S)=X(S)F(S),\quad x(0+)=x(\infty) Y(S)=X(S)F(S),x(0+)=x(∞),同时令 lim s → ∞ S X ( S ) = lim s → 0 S X ( S ) = A \lim_{s\rightarrow\infty}S X(S)=\lim_{s\rightarrow 0}S X(S)=A lims→∞SX(S)=lims→0SX(S)=A
y ( 0 + ) = lim s → ∞ S X ( S ) F ( S ) = A lim s → ∞ F ( S ) y(0+)=\lim _{s \rightarrow \infty} S X(S) F(S)=A \lim _{s \rightarrow \infty} F(S) y(0+)=lims→∞SX(S)F(S)=Alims→∞F(S)
y ( 0 + ) = lim s → ∞ S X ( S ) F ( S ) = A lim s → ∞ F ( S ) y(0+)=\lim _{s \rightarrow \infty} S X(S) F(S)=A \lim _{s \rightarrow \infty} F(S) y(0+)=lims→∞SX(S)F(S)=Alims→∞F(S)
得到:
y ( ∞ ) y ( 0 + ) = 1 , A = 0 \frac{y(\infty)}{y(0+)}=1, A=0 y(0+)y(∞)=1,A=0
y ( ∞ ) y ( 0 + ) = lim s → 0 F ( S ) lim s → ∞ F ( S ) , A ≠ 0 \frac{y(\infty)}{y(0+)}=\frac{\lim _{s \rightarrow 0} F(S)}{\lim _{s \rightarrow \infty} F(S)}, \quad A \neq 0 y(0+)y(∞)=lims→∞F(S)lims→0F(S),A=0
注意到,当 A = 0 A=0 A=0,比值为1;当 A ≠ 0 \quad A \neq 0 A=0时,则计算 lim s → 0 F ( S ) lim s → ∞ F ( S ) \frac{\lim _{s \rightarrow 0} F(S)}{\lim _{s \rightarrow \infty} F(S)} lims→∞F(S)lims→0F(S)可以得到在不置初值情况下,仿真运行的终值和初值的比值。当比值为1时,两种方法等效;当比值不为1时,就应该通过转换成单个积分器置初值的方法,对其初值进行强制赋值来增强仿真运行的稳定性。
总结
在仿真模拟的模块选择时,特别是在初值对于结果影响较大的情况下,应该选用积分模块。若对初值无要求,或影响较小,或满足上述讨论条件时,再使用传递函数模块。