『7x24小时有问必答』
分享一种带死区和定时器保护的步进式(步进积分)调节算法的ST程序。我通过读取电机实际转速来实时调节控制电机的电压,实现电机的转速调节。实际效果在±30转附近震荡吧。细致调的话还能提高精度,与传统PID相比就是图的一个简单。
变量表定义截图:
ST程序代码:
TONR(IN := Adjusting,PT := K10000,R := ,Q => M101,ET =>);// 定时器循环运行,10秒定时

// 计算实际死区(目标转速的1%)IF Speed_SP >  0  THEN      DeadBandVal := REAL_TO_INT((INT_TO_REAL(Speed_SP) * DeadBand));ELSE      DeadBandVal :=  5;  // 当目标转速为0时,取固定小死区END_IF

// 若无调整等待且偏差超出死区,则执行一步调整IF (NOT Adjusting)   THEN      P_Error := Speed_PV - Speed_SP;      IF ABS(P_Error) > DeadBandVal THEN            IF P_Error <  0  THEN               // 转速偏低,增加控制电压值                  Cmd := Cmd +  0.05;                  IF Cmd >  3.5  THEN Cmd :=  3.5; END_IF   //限制输出电压            ELSE                                    // 转速偏高,减小控制电压值                  Cmd := Cmd -  0.05;                  IF Cmd <  0.0  THEN Cmd :=  0.0; END_IF  //限制输出电压            END_IF

            Adjusting := TRUE;      END_IFEND_IF

IF M101 THEN      Adjusting := FALSE;END_IF

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码