子程序中递增计数问题

子程序中用递增的方法计数,居然跳一下就出现1024,我用的LW,然后改成VW的时候就正常了。请问这是为什么呢?

最佳答案

LW是局部变量,其中的数据在子程序返回后就处于一种非控状态,寄存器也有可能被其他子程序做使用。因此再次调用本子程序时,LW中的数据已经物是人非了。
若要保证LW中的数据还是上一次调用的数据,则需要一个VW寄存器作为LW的数值暂存。即将LW设为IN/OUT,并在管脚上连接一个VW。不过这样做有点画蛇添足,倒不如直接在子程序中用VW来得干脆,还省事。

提问者对于答案的评价:
大家的回答意思都差不多,我已經明白了,謝謝幫助。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc313309.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日
下一篇 2020年11月1日

相关推荐