我在DB块里建了100个双字,用来存储一组数据。当下一数据来了,上一个数据往左移动一个双字(即DB3.DBD0里的数移至DB3.DBD4,而DB3.DBD0存新数据)。我是新手,还请高手帮帮忙啊?有没有什么方法可以实现这种比较大的数据的连续存储?
最佳答案
用间接寻址的方法来实现。每次赋值完后调用此块即可。
OPN DB3
L 396 //根据取多少个数定义,(n-1)*2
T #a //临时变量Temp中的,类型为INT
L #a
L 4
-I
T #b //临时变量Temp中的,类型为INT
_001: NOP 0
L #a
SLD 3
LAR1
L #b
SLD 3
LAR2
L DBW [AR2,P#0.0]
T DBW [AR1,P#0.0]
L #a
L 4
-I
T #a
L #b
L 4
-I
T #b
A(
L #b
L 0
==I
)
JNB _001 //#b没到0就从_001循环,
JU _002 //直到#b等于0跳出循环
_002: BEU
程序没有测试,自己参考下或修改
提问者对于答案的评价:
谢谢
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc236589.html