刚开始用STL编程,想实现的功能是:I0.0到I99.7 to DB36.DBX0.0复制到DB36.DBX99.7,M1000.0到M1099.7 to DB36.DBX100.0复制到DB36.DBX199.7。请问下面的程序有问题吗?
Network1:
OPN "REG_AREA_6_1" //打开DB36
LAR1 P#0.0 //初始化地址寄存器1
L 50 //循环次数(数据个数)
NEXT: T LW 20 //存储当前的循环次数
L IW [AR1,P#0.0] //装载当前IW地址里面的数据到ACCU1(从IW0开始)
CAW //反转ACCU 1-L 中的字节顺序
T DBW [AR1,P#0.0] //将当前ACCU1地址里面的数据写到DB36当前的地址里面
+AR1 P#2.0 //地址寄存器1的内容加P#2.0,相当于PIW的地址递增一个字
L LW 20 //装载当前循环次数
LOOP NEXT //循环次数减一,跳转到NEXT标签,当循环次数减至0,离开循环,往下执行
Network2:
OPN "REG_AREA_6_1" //打开DB36
LAR1 P#1000.0 //初始化地址寄存器1
LAR2 P#100.0
L 50 //循环次数(数据个数)
NEX1: T LW 30 //存储当前的循环次数
L MW [AR1,P#0.0] //装载当前IW地址里面的数据到ACCU1(从MW1000开始)
T DBW [AR2,P#0.0] //将当前ACCU1地址里面的数据写到DB36当前的地址里面
+AR1 P#2.0 //地址寄存器1的内容加P#2.0,相当于PIW的地址递增一个字
+AR2 P#2.0
L LW 30 //装载当前循环次数
LOOP NEX1 //循环次数减一,跳转到NEXT标签,当循环次数减至0,离开循环,往下执行