深入解析v->loop_index与v->i_period关系及代码执行逻辑
v->loop_index 与 v->i_period 的关系及代码执行逻辑
在PI控制中,v->loop_index 通常表示当前的循环次数,而 v->i_period 表示积分时间。当 v->loop_index >= v->i_period 不成立时,意味着当前循环次数还未达到设定的积分时间,此时不会执行积分操作。
具体来说,代码会跳过积分累加的部分,直接执行后面的计算。这意味着积分项 ui_reg 的值不会更新,保持上一次的值不变。
接下来,代码会继续计算比例项 up_reg,并将积分项 ui_reg 和比例项 up_reg 相加得到 PI 输出 pi_out_reg。
最后,程序会对 PI 输出 pi_out_reg 进行上下限幅处理,以确保输出值在合理的范围内。
总结:
当 v->loop_index >= v->i_period 不成立时,代码的执行流程如下:
- 跳过积分累加,
ui_reg保持不变。 - 计算比例项
up_reg。 - 计算 PI 输出
pi_out_reg = ui_reg + up_reg。 - 对
pi_out_reg进行上下限幅处理。
原文地址: https://www.cveoy.top/t/topic/bha7 著作权归作者所有。请勿转载和采集!