App_CurCurOscClear 函数详解:清除电流振荡故障标志位
App_CurCurOscClear 函数详解:清除电流振荡故障标志位
该函数用于清除电流振荡故障标志位,每隔1秒钟检测一次,如果标志位为1,则计数器加1,如果计数器大于20,则将标志位清零,否则计数器归零。
void App_CurCurOscClear(void)
{
static uint16_t u16Cnt = 0;
if(st_TimerFlag1.u16_b1Second !=1)return;
if(1==AcFaultWrd.bit.bCurOsc)
{
u16Cnt++;
if(u16Cnt>20)
{
u16Cnt=0;
AcFaultWrd.bit.bCurOsc=0;
}
}
else
{
u16Cnt=0;
}
}
函数功能:
- 每隔1秒钟检测一次
AcFaultWrd.bit.bCurOsc标志位,该标志位表示电流振荡故障。 - 如果标志位为1,则计数器
u16Cnt加1。 - 如果计数器
u16Cnt大于20,则将标志位AcFaultWrd.bit.bCurOsc清零,并重置计数器u16Cnt为0。 - 如果标志位为0,则重置计数器
u16Cnt为0。
作用:
该函数用于处理电流振荡故障,防止由于短时间内的电流振荡而误判为故障。通过计数器累计检测次数,只有当振荡持续时间超过20秒时才真正触发故障标志。
应用场景:
该函数通常应用于电力系统或其他需要对电流进行监控的场景。
原文地址: https://www.cveoy.top/t/topic/n958 著作权归作者所有。请勿转载和采集!