我在STEP7里编了段运算程序通过增量编码器值进行周期性测长,但实际运行时总是每隔一段时间就报错停机一次, 监控发现程序中几个指令框总是在编码器值(S120参数r482)到-2086473728附近后,它们的ENO 端就都变为 0,同时程序出错停机,再细看,感觉在线值显示似乎不太正常,感觉像是超范围的样子。每次报错停机后,重新启动电机又能运转,过一会照旧。麻烦各位大侠给看看这是咋回事?谢谢了。
问题补充:
感谢大家的解答。确实是超出双整数的范围了,改为 Real 格式运算不行,感觉 “f1968” 说得对,需要对编码器值进行过零处理,但不知道怎么做过零处理,试了半天,还是不行,能否进一步解答一下,谢谢了。
图片说明:
最佳答案
补充:不清楚你的系统,说说下面的思路看是否有帮助。码值和长度相对应,最大长度值对应最大码值,计数器数值超过最大码值时复位计数器,差值计算时若测量码值小于参考值,则计算结果加上最大码值,其实若是机械上具备条件,直接把物理位置和码值对应好,则可省去运算判断
提问者对于答案的评价:
非常感谢!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc287024.html