欢迎光临散文网 会员登陆 & 注册

求解Um_01的定义

2023-06-16 11:29 作者:momo点1  | 我要投稿

#pragma CODE_SECTION(YC_trace,"UserFuncs")

void  YC_trace(void)  //调档延迟

{

 int i;

 float a;

 float Um[10]={0};

 if(Flagtimer_yc==1)

  {

    for(i=0;i<10;i++)

{

   AD_64();

   Calc(5);

   if(u01_rms>U_Fault)

     return;

   Um[i] = u01_rms;

}

     bubble_sort(Um,10);      //冒泡法由小到大排列

for(i=3;i<8;i++)         //取其中5个值的和

{

  Um_02 = Um_02+Um[i];

}

a=fabs(Um_02-Um_01);

if(Flag_U0==0)

      {

        if((a/Um_01)>0.25&&Um_01>150&&Um_02>150&&(timer_trace>=360000))  //每个周波浮动10%,防止电压浮动太频繁,最多一小时跟踪一次。

         {

           Flag_U0=1;

           Flag_U0_timer=timer_trace;

          }

    else

    Flagtimer_yc=0;

        Um_01 = Um_02;  //不论浮动是否超出阈值,都要更新Um_01

        Um_02=0;

   }

  else

  {

   if((a/Um_01)>0.25&&Um_01>150&&Um_02>150&&(timer_trace>=(Flag_U0_timer+180000)))  //若浮动后30分钟又出现浮动继续等30分钟。

         {

           Flag_U0=1;

   Flag_U0_timer=timer_trace;

          }

if((a/Um_01)<0.25&&(timer_trace>=(Flag_U0_timer+180000)))//如果30分钟后不浮动,则跟踪

  {

    Flag_Trace=1;

Flag_U0=0;

   }

    Flagtimer_yc=0;

        Um_01 = Um_02;  //不论浮动是否超出阈值,都要更新Um_01

        Um_02=0;

  }

   }//if(Flagtimer_yc==1)

 }


求解Um_01的定义的评论 (共 条)

分享到微博请遵守国家法律