可以实现交流电流有效值计算,采用C语言实现,方便调用,也可用于其他交流量有效值计算。 void RMS_Cal_Macro_step(void)
 void RMS_Cal_Macro_step(void)
{
  real_T Vrms;
  int32_T Index;
  if (!RMS_Cal_Macro_DW.Init_not_empty) {
    RMS_Cal_Macro_DW.Init_not_empty = true;
  }
  RMS_Cal_Macro_DW.CountNum ;
  if (RMS_Cal_Macro_DW.CountNum > 40.0) {
    RMS_Cal_Macro_DW.CountNum = 1.0;
  }
  RMS_Cal_Macro_DW.Upeak[(int32_T)RMS_Cal_Macro_DW.CountNum - 1] =
    RMS_Cal_Macro_U.In;
  Vrms = 0.0;
  for (Index = 0; Index < 40; Index ) {
    Vrms = RMS_Cal_Macro_DW.Upeak[Index] * RMS_Cal_Macro_DW.Upeak[Index];
  }
  RMS_Cal_Macro_Y.Out = sqrt(Vrms / 40.0);
}        

 
  
					
				
评论