想学习间接寻址,老是似懂非懂,编了一段短程序.不知有哪些错误?应该怎样才能达到目的?(程序后面是我的思路.)
Network 1
LD SM0.0
MOVB 0, VB0 给VB0-VB4赋值。
MOVB 1, VB1
MOVB 2, VB2
MOVB 3, VB3
MOVB 4, VB4
Network 2
LD SM0.0
MOVD &VB0, LD10 将起始地址装载到指针中
Network 3
LD SM0.5 每隔一秒指针+1,同时将指
EU 针所指向的值送到VB100
+D 1, LD10 中去。
MOVB *LD10, VB100
我想得到的结果是:每隔一秒VB100就显示0,1,2···4。(实际运行不能达到目的)。
最佳答案
问题在网络2,不应该用SM0.0
LD SM0.1
MOVD &VB0,VD10
局部变量虽然可以做指针,但这样用不行,因为局部变量只在它的POU内有效,到下一个周期,它的值又是不确定的了。
累加器AC1_AC3和局部变量也是一样的。
Network 2
LD SM0.1
MOVD &VB0, VD10
Network 3
LD SM0.5
EU
MOVB *VD10, VB100
+D 1, VD10
提问者对于答案的评价:
OK
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc354337.html