请问各位专家在UC/OS任务中计算电量相对误差在上升?

[复制链接]
3157|4
 楼主| lw2008 发表于 2007-1-12 10:50 | 显示全部楼层 |阅读模式
<br />请问各位专家在UC/OS任务中计算电量相对误差在上升?<br /><br />开了一个独立任务累计电量,有功功率在AD任务计算。<br />在标准电子台上与0.1级电能表比较,相对误差在5小时内由-0.5%升到+0.5%。<br />U,I,cos和时间都是常数,电能误差也应是个常数。<br /><br />void&nbsp;Task_Meter(void&nbsp;*pdata)&nbsp;//优先级比AD任务高<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;fp32&nbsp;fv1,fv2;<br />&nbsp;&nbsp;&nbsp;&nbsp;pdata&nbsp;=&nbsp;pdata;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(;;)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;fv1&nbsp;=&nbsp;sDRtime.uiPower.fPW_P[0];&nbsp;&nbsp;//&nbsp;总有功<br />&nbsp;&nbsp;&nbsp;&nbsp;fv2&nbsp;=&nbsp;sDRtime.uiPower.fPW_Q[0];&nbsp;&nbsp;//&nbsp;总无功<br />&nbsp;&nbsp;&nbsp;&nbsp;assay_Energy&nbsp;&nbsp;(fv1,&nbsp;fv2,&nbsp;3600);&nbsp;&nbsp;//&nbsp;累加总有功/无功<br />&nbsp;&nbsp;&nbsp;&nbsp;OSTimeDly(100);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />void&nbsp;Task_AD(void&nbsp;*pdata)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;pdata&nbsp;=&nbsp;pdata;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(;;)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AD_Task();&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;实时采样分析(采样,计量)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OSTimeDly(88);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br />&nbsp;<br />&nbsp;<br />
bozai 发表于 2007-1-12 11:16 | 显示全部楼层

会不会是系统抖动引起的

  
zhiyu03 发表于 2007-1-12 11:54 | 显示全部楼层

计量的时间准不?

  
 楼主| lw2008 发表于 2007-1-12 12:31 | 显示全部楼层

把功率乘100倍累计,与基准表电量的相对误差,10秒就显示出

<br />把功率乘100倍累计,与基准表电量的相对误差,10秒就显示出来。<br />E=P*T,是T的间隔小于1秒引起,每秒多累计电能。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;基准表&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UC计量<br />&nbsp;0秒&nbsp;&nbsp;1.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.99&nbsp;&nbsp;&nbsp;&nbsp;-1.0%<br />&nbsp;5秒&nbsp;&nbsp;2.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.0%<br />10秒&nbsp;&nbsp;3.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.01&nbsp;&nbsp;&nbsp;&nbsp;+1.0%&nbsp;<br /><br />可能是OSTimeDly(100)的原因,&nbsp;很难控制在精确1秒。<br />
 楼主| lw2008 发表于 2007-1-12 14:20 | 显示全部楼层

要把累时间从OSTimeDly(100)减去

OSTimeDly(100)&nbsp;&nbsp;-&gt&nbsp;&nbsp;OSTimeDly(74)<br />考虑了累计电量时间<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

296

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部