恭喜,你发布的帖子
发布于 2019-02-15 13:45:16
17楼
程序没看完,先给最基本的4点建议:
1:PID运算块最好采用200官方库,自己写的话参照论坛里FB41或FB58的代码,三个分量都应有权重比考量(限幅比例,不完全微分(无滤波时尽量采用,有滤波可适当忽略),抗饱和限幅积分,这最基本的三点要考量,其余高级的算法可忽略不考虑,有滤波且控制精度基本满足要求的话可仅用PI,D分量不加),这样的成熟封装块才让人放心。
2:掌握好滤波的算法(滤波权重以及滤波时序)。(滤波相当于在确定时间内制造变量合理的坡度(直线坡度或曲线坡度(在计算机眼里长曲线都是用时序合理的多段短直线拟合出来的)),类似不完全微分)
3:PID块和滤波块都应在时间确定的中断里做(滤波和PID的时序关系怎么定呢你自己考虑),这两个虽然很多时候放在主循环里做效果可能也可以,但尽量不要过分违背差分运算的时序要求,且采样时间要符合控制器性能以及项目的实际响应。
4:适当考虑阀门的折线状死区特性。
请填写推广理由:
分享
只看
楼主