PR控制器以及准PR控制器原理分析-程序员宅基地

技术标签: 笔记  控制模型  

1 PR控制器

1.1 PI控制器应用的局限性

  • 通过dq动态坐标系,可以实现对电源系统的有功和无功分别控制,通过前馈交叉项补偿实现零稳态误差,但在当系统长时间工作之后,电源随着发热导致电感,电阻等参数会逐渐不准确,从而使得前馈耦合项不准确,使得系统控制精度下降;
  • 对于直流控制系统(阶跃信号)使用PI控制,能够实现零稳态误差,但是对于交流控制系统,PI控制效果往往差强人意,达不到预期效果,而使用Clark、Park变换将交流量变化为直流量再使用PI控制,不仅使得计算量增加还让控制逻辑变得更复杂。
  • 根据内模原理,要实现对信号的无静差跟踪,控制器必须包含信号的的模型,PI的积分环节的传递函数为 1 s \frac{1}{s} s1,所以PI控制只能对阶跃信号进行无静差跟踪,而余弦信号的传递函数为 L { c o s ( w t ) } = s s 2 + w 2 L\{cos(wt)\}=\frac{s}{s^2+w^2} L{ cos(wt)}=s2+w2s,故:如若要实现无静差跟踪,控制器模型中必须包含 s s 2 + w 2 \frac{s}{s^2+w^2} s2+w2s——PR控制器的谐振环节满足。

在这里插入图片描述
在这里插入图片描述

1.2 PR控制器

  工程近似PR控制器传递函数为:
G P R ( s ) = ≈ 1 2 [ G P I ( s + j w 0 ) + G P I ( s − j w 0 ) ] = K p + K i s s 2 + w o 2 G_{PR}(s)=\approx \frac{1}{2}[G_{PI}(s+jw_0)+G_{PI}(s-jw_0)]=Kp+\frac{K_is}{s^2+w_o^2} GPR(s)=≈21[GPI(s+jw0)+GPI(sjw0)]=Kp+s2+wo2Kis
  根据 L { e − a t } = 1 s + a L\{ e^{-at} \}=\frac{1}{s+a} L{ eat}=s+a1有:
F ( s ) = L { c o s ( w t ) } = L { ∫ 0 ∞ e − s t c o s ( w t ) d t } = L { 1 2 ∫ 0 ∞ e − s t ( e j w t + e − j w t ) } ⇒ s s 2 + w 2 F(s)=L\{cos(wt)\}=L\{ \int_{0}^{\infty} {e^{-st}cos(wt)dt}\}=L\{ \frac{1}{2} \int_{0}^{\infty}{e^{-st}(e^{jwt}+e^{-jwt})} \} \Rightarrow \frac{s}{s^2+w^2} F(s)=L{ cos(wt)}=L{ 0estcos(wt)dt}=L{ 210est(ejwt+ejwt)}s2+w2s
  定义: G P R ( s ) = K p + K r s s 2 + w 0 2 G_{PR}(s)=K_p+\frac{K_rs}{s^2+w_0^2} GPR(s)=Kp+s2+w02Krs显然谐振环节是PR控制器的核心,其中, K p 、 K r K_p、K_r KpKr分别为比例增益系数和谐振增益系数, w 0 w_0 w0为谐振频率。
  PR控制器的增益函数为:
∣ G P R ( s ) I s = j w 0 ∣ = K p 2 + K r w 0 − w 0 2 + w 0 2 |G_{PR}(s)I_{s=jw_0}|=\sqrt{K_p^2+ \frac{K_rw_0}{-{w_0}^2+w_0^2}} GPR(s)Is=jw0=Kp2+w02+w02Krw0
  PR控制器在 w 0 w_0 w0处的增益接近于无限大,在其他频率下增益低,能够有效地抑制扰动信号。可以把PR看作带宽极窄的二阶带通滤波器。

  下图为PR控制器的波特图:(注:横坐标单位是rad/s,可以右键点击“属性”–>“单位”–>“频率”–>“HZ”)
在这里插入图片描述
  附matlab绘图代码:

% % %理想PR控制器Bode图
Kr = 1;Kp = 1;wo = 100*pi;PR_ideal1 = Kp +tf([Kr,0],[1,0,wo^2]);
Kr = 10;Kp = 1;wo = 100*pi;PR_ideal2 = Kp +tf([Kr,0],[1,0,wo^2]);
bode(PR_ideal1,PR_ideal2);grid on;
legend('Kr=1','Kr=10');
title('PR控制器Bode图')

  理想的PR控制器是完全可以实现对应频率的交流量实现无静差跟踪的,但是在谐振频率附近的频段带宽过于狭窄,而在 w 0 w_0 w0处的增益过高,会使得系统的稳定性不够,当交流信号发生些许偏移时,PR控制器就无法精准工作在预设频率上了,虽然可以通过调节 K r K_r Kr增大带宽,但是会使得增益变化和相位变化明显增大,会造成系统不稳定。由于PR控制器对于电网参数过于敏感,所以通常不在实际中运用。

2 准PR控制器

2.1 准PR控制器传递函数

  为了提高PR控制器抵抗网侧频率干扰的能力,对PR控制器进行改进,改进后的传递函数如下所示:
G P R ( s ) = K p + 2 K r w c s s 2 + 2 w c s + w 0 2 G_{PR}(s)=K_p+\frac{2K_rw_cs}{s^2+2w_cs+w_0^2} GPR(s)=Kp+s2+2wcs+w022Krwcs
  其中 w c w_c wc为截止频率,代表控制器跟踪参考信号的响应速度
  准PR控制器的增益函数:
∣ G P R ( s ) ∣ s = j w 0 = K p + K r |G_{PR}(s)|_{s=jw_0}=K_p+K_r GPR(s)s=jw0=Kp+Kr
  根据准PR增益函数可知,当输入信号频率为 w 0 w_0 w0时,增益为 ( K p + K r ) (K_p+K_r) (Kp+Kr),不再像PR控制器那样增益无穷大。
  下图为准PR控制器的波特图:
在这里插入图片描述
  附matlab绘图代码:

% % %准PR控制器Bode图
Kp = 1;Kr = 1;wc = 0.5*2*pi;wo = 100*pi;PRs1 = Kp+tf([2*Kr*wc,0],[1 2*wc wo*wo]);
Kp = 1;Kr = 10;wc = 0.5*2*pi;wo = 100*pi;PRs2 = Kp+tf([2*Kr*wc,0],[1 2*wc wo*wo]);
bode(PRs1,PRs2);grid on;
legend('Kr=1','Kr=10');
title('准PR控制器Bode图')

  通过准PR控制器的Bode图可知增益幅度符合传递函数所述,同时调节谐振增益系数可以增大谐振频率附近的频段带宽。

2.2 准PR控制器各系数作用

  使用控制变量,分别对与不同的Kp、Kr、wc进行比较,熟悉不同参数对于控制器带来的影响,如下图所示:

在这里插入图片描述

  1. K p K_p Kp增大,整体增益随之增大,加入 K p K_p Kp是为了调节系统的动态性能;
  2. 根据传递函数可知,PR控制器在 w 0 w_0 w0处的增益不再是无穷大,而是 20 l o g ( K p + K r ) 20log(K_p+K_r) 20log(Kp+Kr),如上图,当 K p 、 w c K_p、w_c Kpwc相同时,控制器的增益随 K r K_r Kr增大而增大,而谐振频率附近的带宽也有所增加,所以调节 K r K_r Kr使得准PR控制器有足够大的增益,实现零稳态误差;
  3. K p 、 K r K_p、K_r KpKr相同时,增加 w c w_c wc可以提升带宽,加快响应速度,但是可能会引入高频噪声,根据国际规定,电网侧波动的范围为: ± 0.5 H z \pm0.5Hz ±0.5Hz,对应截止频率最值为: w c m a x = 3.14 r a d / s w_{cmax}=3.14rad/s wcmax=3.14rad/s,所以 w c w_c wc的取值范围为: 0   3.14 r a d / s 0~3.14rad/s 0 3.14rad/s,通常选取 0.628 r a d / s 0.628rad/s 0.628rad/s

  附matlab绘图代码:

% % %使用控制变量,分别对与不同的Kp、Kr、wc进行比较,熟悉不同参数对于控制器带来的影响
figure()
subplot(1,3,1)
Kp = 1;Kr = 100;wc = 0.5*2*pi;wo = 100*pi;PRs1 = Kp+tf([2*Kr*wc,0],[1 2*wc wo*wo]);
Kp = 10;Kr = 100;wc = 0.5*2*pi;wo = 100*pi;PRs2 = Kp+tf([2*Kr*wc,0],[1 2*wc wo*wo]);
Kp = 100;Kr = 100;wc = 0.5*2*pi;wo = 100*pi;PRs3 = Kp+tf([2*Kr*wc,0],[1 2*wc wo*wo]);
bode(PRs1,PRs2,PRs3);grid on;
legend('KP=1','KP=10','KP=100');title('变KP')

subplot(1,3,2)
Kp = 1;Kr = 10;wc = 0.5*2*pi;wo = 100*pi;PRs1 = Kp+tf([2*Kr*wc,0],[1 2*wc wo*wo]);
Kp = 1;Kr = 100;wc = 0.5*2*pi;wo = 100*pi;PRs2 = Kp+tf([2*Kr*wc,0],[1 2*wc wo*wo]);
Kp = 1;Kr = 1000;wc = 0.5*2*pi;wo = 100*pi;PRs3 = Kp+tf([2*Kr*wc,0],[1 2*wc wo*wo]);
bode(PRs1,PRs2,PRs3);grid on;
legend('Kr=10','Kr=100','Kr=1000');title('变Kr')

subplot(1,3,3)
Kp = 1;Kr = 100;wc = 0.1*2*pi;wo = 100*pi;PRs1 = Kp+tf([2*Kr*wc,0],[1 2*wc wo*wo]);
Kp = 1;Kr = 100;wc = 0.5*2*pi;wo = 100*pi;PRs2 = Kp+tf([2*Kr*wc,0],[1 2*wc wo*wo]);
Kp = 1;Kr = 100;wc = 1*2*pi;wo = 100*pi;PRs3 = Kp+tf([2*Kr*wc,0],[1 2*wc wo*wo]);
bode(PRs1,PRs2,PRs3);grid on;
legend('wc=0.1*2*pi','wc=0.5*2*pi','wc=1*2*pi');title('变wc')

3 PR控制器传递函数离散化

3.1 Matlab实现PR控制器传递函数离散化

在进行理论分析时,Matlab实现离散化很方便。
  当 K p = 10 、 K r = 100 、 w c = 0.5 ∗ 2 ∗ π 、 w o = 100 π K_p=10、K_r=100、wc=0.5*2*\pi、wo=100\pi Kp=10Kr=100wc=0.52πwo=100π时,连续时间模型为:
在这里插入图片描述
  当采样时间 T s = 1 0 − 6 Ts=10^{-6} Ts=106时,其他参数不变,离散时间模型为:
在这里插入图片描述

  附matlab转换代码:(注:表达式后面不要加“ ; ”,静态检查的警告忽略)

% % % 准PR控制器传递函数离散化,其中Ts、Kp、Kr、wo、wc自定义输入
Ts = 1*10^-6;Kp = 10;Kr = 100;wc = 0.5*2*pi;wo = 100*pi;
sysc = Kp+tf([2*Kr*wc,0],[1,2*wc,wo*wo])%sysc为连续时间模型
sysd = c2d(sysc,Ts,'tustin')%sysd为带采样时间Ts的离散时间模型

3.2 计算推导实现PR控制器传递函数离散化

  在DSP或单片机中对于仅改变 K p 、 K r 、 w c 、 w o K_p、K_r、wc、wo KpKrwcwo离散化传递函数可过程借助编程得到,而不需要借助三方软件计算得到离散化传递函数,故而具备离散化的计算推导能力是很有必要的。
  使用Tustin变换(大多数DSP厂家算法库的选择), s = 2 T s z − 1 z + 1 s=\frac{2}{T_s}\frac{z-1}{z+1} s=Ts2z+1z1,带入PR传递函数,便可以得到PR控制器的差分方程,再根据差分方程得到离散域表达式(二者只是形式不一样),根据Z域表达式进行代码实现。
差分方程:
Y ( z ) X z = a 0 + a 1 z − 1 + a 2 z − 2 + . . . + a k z − k b 0 + b 1 z − 1 + b 2 z − 2 + . . . + b k z − k \frac{Y(z)}{X{z}}=\frac{a_0+a_1z^{-1}+a_2z^{-2}+...+a_kz^{-k}}{b_0+b_1z^{-1}+b_2z^{-2}+...+b_kz^{-k}} XzY(z)=b0+b1z1+b2z2+...+bkzka0+a1z1+a2z2+...+akzk
  Z域表达式:
b 0 y [ n ] + b 1 y [ n − 1 ] + b 2 y [ n − 2 ] + . . . + b k y [ n − k ] = a 0 x [ n ] + a 1 x [ n − 1 ] + a 2 x [ n − 2 ] + . . . + a k x [ n − k ] b_0y[n]+b_1y[n-1]+b_2y[n-2]+...+b_ky[n-k]=a_0x[n]+a_1x[n-1]+a_2x[n-2]+...+a_kx[n-k] b0y[n]+b1y[n1]+b2y[n2]+...+bky[nk]=a0x[n]+a1x[n1]+a2x[n2]+...+akx[nk]
  PR控制器离散化推导过程:
P R ( s ) = K p + 2 K r w c s s 2 + 2 w c s + w 0 2 = s p K + 2 w c s K p + w 0 2 K p + 2 K r w c s s 2 + 2 w c s + w 0 2 = s 2 K p + 2 w c s ( K p + K r ) + w 0 2 K p s 2 + 2 w c s + w 0 2 \begin{aligned} PR(s)&=K_p+\frac{2K_rwcs}{s^2+2wcs+w_0^2}\\ &=\frac{s^K_p+2wcsK_p+w_0^2K_p+2K_rwcs}{s^2+2wcs+w0^2}\\ &=\frac{s^2K_p+2wcs(K_p+K_r)+w_0^2K_p}{s^2+2wcs+w_0^2}\\ \end{aligned} PR(s)=Kp+s2+2wcs+w022Krwcs=s2+2wcs+w02spK+2wcsKp+w02Kp+2Krwcs=s2+2wcs+w02s2Kp+2wcs(Kp+Kr)+w02Kp
  将 s = 2 T s z − 1 z + 1 s=\frac{2}{T_s}\frac{z-1}{z+1} s=Ts2z+1z1带入上式,得差分方程:
P R ( z ) = Y ( z ) X ( z ) = K p ( 2 T s z − 1 z + 1 ) 2 + ( 2 w c K p + 2 w c K r ) ( 2 T s z − 1 z + 1 ) + K p w 0 2 ( 2 T s z − 1 z + 1 ) 2 + 2 w c ( 2 T s z − 1 z + 1 ) + w 0 2 = 4 K p T s 2 ( z 2 − 2 z + 1 ) + 4 w c T s ( K p + K r ) ( z 2 − 1 ) + K p w 0 2 ( z 2 + 2 z + 1 ) 4 T 2 ( z 2 − 2 z + 1 ) + 4 w c T s ( z 2 − 1 ) + w 0 2 ( z 2 + 2 z + 1 ) = ( 4 K p T s 2 + 4 w c T s + K p w 0 2 ) z 2 + ( − K p T s 2 + 2 K p w 0 2 ) z + [ 4 K p T s 2 − 4 w c T s ( K p + K r ) + K p w 0 2 ] ( 4 T s 2 + 4 w c T s + w 0 2 ) z 2 + ( − 8 T s 2 + 2 w 0 2 ) z + ( 4 T s 2 − 4 w c T s + w 0 2 ) = [ 4 K p T s 2 + 4 w c T s ( K p + K r ) + K p w 0 2 ] + ( − 8 K p T s 2 + 2 K p w 0 2 ) z − 1 + [ 4 K p T s 2 − 4 w c T s ( K p + K r ) + K p w 0 2 ] z − 2 ( 4 T s 2 + 4 w c T s + w 0 2 ) + ( − 8 T s 2 + 2 w 0 2 ) z − 1 + ( 4 T s 2 − 4 w c T s + w 0 2 ) z − 2 \begin{aligned} PR(z)=\frac{Y(z)}{X(z)}&=\frac{K_p(\frac{2}{T_s}\frac{z-1}{z+1})^2+(2wcK_p+2wcK_r)(\frac{2}{T_s}\frac{z-1}{z+1})+K_pw_0^2}{(\frac{2}{T_s} \frac{z-1}{z+1})^2+2wc(\frac{2}{T_s}\frac{z-1}{z+1})+w_0^2}\\ &=\frac{\frac{4K_p}{T_s^2}(z^2-2z+1)+\frac{4wc}{T_s}(K_p+K_r)(z^2-1)+K_pw_0^2(z^2+2z+1)}{\frac{4}{T^2}(z^2-2z+1)+\frac{4wc}{T_s}(z^2-1)+w_0^2(z^2+2z+1)}\\ &=\frac{(\frac{4K_p}{T_s^2}+\frac{4wc}{T_s}+K_pw_0^2)z^2+(-\frac{K_p}{T_s^2}+2K_pw_0^2)z+[\frac{4K_p}{T_s^2}-\frac{4wc}{T_s}(K_p+K_r)+K_pw_0^2]}{(\frac{4}{T_s^2}+\frac{4wc}{T_s}+w_0^2)z^2+(-\frac{8}{T_s^2}+2w_0^2)z+(\frac{4}{T_s^2}-\frac{4wc}{T_s}+w_0^2)}\\ &=\frac{[\frac{4K_p}{T_s^2}+\frac{4wc}{T_s}(K_p+K_r)+K_pw_0^2]+(-\frac{8K_p}{T_s^2}+2K_pw_0^2)z^{-1}+[\frac{4K_p}{T_s^2}-\frac{4wc}{T_s}(K_p+K_r)+K_pw_0^2]z^{-2}}{(\frac{4}{T_s^2}+\frac{4wc}{T_s}+w_0^2)+(-\frac{8}{T_s^2}+2w_0^2)z^{-1}+(\frac{4}{T_s^2}-\frac{4wc}{T_s}+w_0^2)z^{-2}}\\ \end{aligned} PR(z)=X(z)Y(z)=(Ts2z+1z1)2+2wc(Ts2z+1z1)+w02Kp(Ts2z+1z1)2+(2wcKp+2wcKr)(Ts2z+1z1)+Kpw02=T24(z22z+1)+Ts4wc(z21)+w02(z2+2z+1)Ts24Kp(z22z+1)+Ts4wc(Kp+Kr)(z21)+Kpw02(z2+2z+1)=(Ts24+Ts4wc+w02)z2+(Ts28+2w02)z+(Ts24Ts4wc+w02)(Ts24Kp+Ts4wc+Kpw02)z2+(Ts2Kp+2Kpw02)z+[Ts24KpTs4wc(Kp+Kr)+Kpw02]=(Ts24+Ts4wc+w02)+(Ts28+2w02)z1+(Ts24Ts4wc+w02)z2[Ts24Kp+Ts4wc(Kp+Kr)+Kpw02]+(Ts28Kp+2Kpw02)z1+[Ts24KpTs4wc(Kp+Kr)+Kpw02]z2
  Z域表达式:
b 0 y [ n ] + b 1 y [ n − 1 ] + b 2 y [ n − 2 ] = a 0 x [ n ] + a 1 x [ n − 1 ] + a 2 x [ n − 2 ] b_0y[n]+b_1y[n-1]+b_2y[n-2]=a_0x[n]+a_1x[n-1]+a_2x[n-2] b0y[n]+b1y[n1]+b2y[n2]=a0x[n]+a1x[n1]+a2x[n2]
{ a 0 = ( 4 K p T s 2 + 4 w c T s ( K p + K r ) + K p w 0 2 ) a 1 = ( − 8 K p T s 2 + 2 K p w 0 2 ) a 2 = [ 4 K p T s 2 − 4 w c T s ( K p + K r ) + K p w 0 2 ] { b 0 = ( 4 T s 2 + 4 w c T s + w 0 2 ) b 1 = ( − 8 T s 2 + 2 w 0 2 ) b 2 = ( 4 T s 2 − 4 w c T s + w 0 2 ) \begin{cases} a_0=(\frac{4K_p}{T_s^2}+\frac{4wc}{T_s}(K_p+K_r)+K_pw_0^2)\\ a_1=(-\frac{8K_p}{T_s^2}+2K_pw_0^2)\\ a_2=[\frac{4K_p}{T_s^2}-\frac{4wc}{T_s}(K_p+K_r)+K_pw_0^2]\\ \end{cases} \begin{cases} b_0=(\frac{4}{T_s^2}+\frac{4wc}{T_s}+w_0^2)\\ b_1=(-\frac{8}{T_s^2}+2w_0^2)\\ b_2=(\frac{4}{T_s^2}-\frac{4wc}{T_s}+w_0^2)\\ \end{cases} a0=(Ts24Kp+Ts4wc(Kp+Kr)+Kpw02)a1=(Ts28Kp+2Kpw02)a2=[Ts24KpTs4wc(Kp+Kr)+Kpw02] b0=(Ts24+Ts4wc+w02)b1=(Ts28+2w02)b2=(Ts24Ts4wc+w02)
  通常会将差分方程表示成:
Y ( z ) X ( z ) = a 0 + a 1 z − 1 + a 2 z − 2 + . . . + a k z − k 1 + b 1 z − 1 + b 2 z − 2 + . . . + b k z − k y [ n ] + b 1 y [ n − 1 ] + b 2 y [ n − 2 ] = a 0 x [ n ] + a 1 x [ n − 1 ] + a 2 x [ n − 2 ] \frac{Y(z)}{X(z)}=\frac{a_0+a_1z^{-1}+a_2z^{-2}+...+a_kz^{-k}}{1+b_1z^{-1}+b_2z^{-2}+...+b_kz^{-k}}\\ y[n]+b_1y[n-1]+b_2y[n-2]=a_0x[n]+a_1x[n-1]+a_2x[n-2]\\ X(z)Y(z)=1+b1z1+b2z2+...+bkzka0+a1z1+a2z2+...+akzky[n]+b1y[n1]+b2y[n2]=a0x[n]+a1x[n1]+a2x[n2]
  故而在代码实现中可以看到 a 0 、 a 1 、 a 2 、 b 1 、 b 2 a_0、a_1、a_2、b_1、b_2 a0a1a2b1b2各系数除以 b 0 b_0 b0

4 总结

  比例增益系数 K p K_p Kp和谐振增益系数 K r K_r Kr主要影响控制器的增益和相位裕度,截止频率 w c w_c wc主要影响谐振频率 w o w_o wo处的带宽,调节 K p K_p Kp K r K_r Kr可以优化系统的动态性能和稳态性能,调节 w c w_c wc可以改善系统的抗干扰能力。

相关资源附件:

PR控制器基于Matlab绘制Bode图
准PR控制器程序

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/mz__zm/article/details/132662393

智能推荐

18个顶级人工智能平台-程序员宅基地

文章浏览阅读1w次,点赞2次,收藏27次。来源:机器人小妹  很多时候企业拥有重复,乏味且困难的工作流程,这些流程往往会减慢生产速度并增加运营成本。为了降低生产成本,企业别无选择,只能自动化某些功能以降低生产成本。  通过数字化..._人工智能平台

electron热加载_electron-reloader-程序员宅基地

文章浏览阅读2.2k次。热加载能够在每次保存修改的代码后自动刷新 electron 应用界面,而不必每次去手动操作重新运行,这极大的提升了开发效率。安装 electron 热加载插件热加载虽然很方便,但是不是每个 electron 项目必须的,所以想要舒服的开发 electron 就只能给 electron 项目单独的安装热加载插件[electron-reloader]:// 在项目的根目录下安装 electron-reloader,国内建议使用 cnpm 代替 npmnpm install electron-relo._electron-reloader

android 11.0 去掉recovery模式UI页面的选项_android recovery 删除 部分菜单-程序员宅基地

文章浏览阅读942次。在11.0 进行定制化开发,会根据需要去掉recovery模式的一些选项 就是在device.cpp去掉一些选项就可以了。_android recovery 删除 部分菜单

mnn linux编译_mnn 编译linux-程序员宅基地

文章浏览阅读3.7k次。https://www.yuque.com/mnn/cn/cvrt_linux_mac基础依赖这些依赖是无关编译选项的基础编译依赖• cmake(3.10 以上)• protobuf (3.0 以上)• 指protobuf库以及protobuf编译器。版本号使用 protoc --version 打印出来。• 在某些Linux发行版上这两个包是分开发布的,需要手动安装• Ubuntu需要分别安装 libprotobuf-dev 以及 protobuf-compiler 两个包•..._mnn 编译linux

利用CSS3制作淡入淡出动画效果_css3入场效果淡入淡出-程序员宅基地

文章浏览阅读1.8k次。CSS3新增动画属性“@-webkit-keyframes”,从字面就可以看出其含义——关键帧,这与Flash中的含义一致。利用CSS3制作动画效果其原理与Flash一样,我们需要定义关键帧处的状态效果,由CSS3来驱动产生动画效果。下面讲解一下如何利用CSS3制作淡入淡出的动画效果。具体实例可参考刚进入本站时的淡入效果。1. 定义动画,名称为fadeIn@-webkit-keyf_css3入场效果淡入淡出

计算机软件又必须包括什么,计算机系统应包括硬件和软件两个子系统,硬件和软件又必须依次分别包括______?...-程序员宅基地

文章浏览阅读2.8k次。计算机系统应包括硬件和软件两个子系统,硬件和软件又必须依次分别包括中央处理器和系统软件。按人的要求接收和存储信息,自动进行数据处理和计算,并输出结果信息的机器系统。计算机是脑力的延伸和扩充,是近代科学的重大成就之一。计算机系统由硬件(子)系统和软件(子)系统组成。前者是借助电、磁、光、机械等原理构成的各种物理部件的有机组合,是系统赖以工作的实体。后者是各种程序和文件,用于指挥全系统按指定的要求进行..._计算机系统包括硬件系统和软件系统 软件又必须包括

随便推点

进程调度(一)——FIFO算法_进程调度fifo算法代码-程序员宅基地

文章浏览阅读7.9k次,点赞3次,收藏22次。一 定义这是最早出现的置换算法。该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。该算法实现简单,只需把一个进程已调入内存的页面,按先后次序链接成一个队列,并设置一个指针,称为替换指针,使它总是指向最老的页面。但该算法与进程实际运行的规律不相适应,因为在进程中,有些页面经常被访问,比如,含有全局变量、常用函数、例程等的页面,FIFO 算法并不能保证这些页面不被淘汰。这里,我_进程调度fifo算法代码

mysql rownum写法_mysql应用之类似oracle rownum写法-程序员宅基地

文章浏览阅读133次。rownum是oracle才有的写法,rownum在oracle中可以用于取第一条数据,或者批量写数据时限定批量写的数量等mysql取第一条数据写法SELECT * FROM t order by id LIMIT 1;oracle取第一条数据写法SELECT * FROM t where rownum =1 order by id;ok,上面是mysql和oracle取第一条数据的写法对比,不过..._mysql 替换@rownum的写法

eclipse安装教程_ecjelm-程序员宅基地

文章浏览阅读790次,点赞3次,收藏4次。官网下载下载链接:http://www.eclipse.org/downloads/点击Download下载完成后双击运行我选择第2个,看自己需要(我选择企业级应用,如果只是单纯学习java选第一个就行)进入下一步后选择jre和安装路径修改jvm/jre的时候也可以选择本地的(点后面的文件夹进去),但是我们没有11版本的,所以还是用他的吧选择接受安装中安装过程中如果有其他界面弹出就点accept就行..._ecjelm

Linux常用网络命令_ifconfig 删除vlan-程序员宅基地

文章浏览阅读245次。原文链接:https://linux.cn/article-7801-1.htmlifconfigping <IP地址>:发送ICMP echo消息到某个主机traceroute <IP地址>:用于跟踪IP包的路由路由:netstat -r: 打印路由表route add :添加静态路由路径routed:控制动态路由的BSD守护程序。运行RIP路由协议gat..._ifconfig 删除vlan

redux_redux redis-程序员宅基地

文章浏览阅读224次。reduxredux里要求把数据都放在公共的存储区域叫store里面,组件中尽量少放数据,假如绿色的组件要给很多灰色的组件传值,绿色的组件只需要改变store里面对应的数据就行了,接着灰色的组件会自动感知到store里的数据发生了改变,store只要有变化,灰色的组件就会自动从store里重新取数据,这样绿色组件的数据就很方便的传到其它灰色组件里了。redux就是把公用的数据放在公共的区域去存..._redux redis

linux 解压zip大文件(解决乱码问题)_linux 7za解压中文乱码-程序员宅基地

文章浏览阅读2.2k次,点赞3次,收藏6次。unzip版本不支持4G以上的压缩包所以要使用p7zip:Linux一个高压缩率软件wget http://sourceforge.net/projects/p7zip/files/p7zip/9.20.1/p7zip_9.20.1_src_all.tar.bz2tar jxvf p7zip_9.20.1_src_all.tar.bz2cd p7zip_9.20.1make && make install 如果安装失败,看一下报错是不是因为没有下载gcc 和 gcc ++(p7_linux 7za解压中文乱码