//PID值缓存,PID模式3,自动运行状态下保存PID参数
#T_0(IN := #PID.State = 3,
PT := T#5S);
//STEP1,缓存写入
IF #T_0.ET >= 2000 AND #T_0.ET <= 3000 THEN
#PID.Retain.CtrlParams := #PID_TEMP;
END_IF;
//step2 实时保存PID参数
IF #T_0.ET>=4000 THEN
#PID_TEMP := #PID.Retain.CtrlParams;
END_IF;
测试好像也能用,
之前玩欧姆龙的PID自整定,就自己整定完就OK了,啥也不用管,用法相对我们使用者来说可能更友好一些。
~~上面逻辑还是有问题。
调整过程中,状态=2,整定完成切换到3,就把整定好的数据用旧数据覆盖了。
改成整定状态字=9999(完成)把整定好的PID值写入PID_TEMP,
要把缓存数据写入的条件改一下,自动运作状态+没有整定。
T_0.IN := #PID.State = 3 AND #PID.PIDSelfTune.TIR.State = 0;、
应该可以了,后续有问题再说。
[此贴子已经被作者于2024/5/17 18:51:38编辑过]