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 不成立时,代码的执行流程如下:

  1. 跳过积分累加,ui_reg 保持不变。
  2. 计算比例项 up_reg
  3. 计算 PI 输出 pi_out_reg = ui_reg + up_reg
  4. pi_out_reg 进行上下限幅处理。

原文地址: https://www.cveoy.top/t/topic/bha7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录