请问各位专家在UC/OS任务中计算电量相对误差在上升?
开了一个独立任务累计电量,有功功率在AD任务计算。 在标准电子台上与0.1级电能表比较,相对误差在5小时内由-0.5%升到+0.5%。 U,I,cos和时间都是常数,电能误差也应是个常数。
void Task_Meter(void *pdata) //优先级比AD任务高 { fp32 fv1,fv2; pdata = pdata; for (;;) { fv1 = sDRtime.uiPower.fPW_P[0]; // 总有功 fv2 = sDRtime.uiPower.fPW_Q[0]; // 总无功 assay_Energy (fv1, fv2, 3600); // 累加总有功/无功 OSTimeDly(100); } }
void Task_AD(void *pdata) { pdata = pdata; for (;;) { AD_Task(); // 实时采样分析(采样,计量) OSTimeDly(88); } }
|