在DB块与DB块之间传送数据,长度为14字,以下为调用的子程序,可以解读一下吗?
L #db_number1
T "db_num1"
L #db_number2
T "db_num2"
L P#0.0
T "track_temp1"
L 0
T #temp
a001: OPN DB ["db_num1"]
L DBW ["track_temp1"]
OPN DB ["db_num2"]
T DBW ["track_temp1"]
OPN DB ["db_num1"]
L 0
T DBW ["track_temp1"]
L "track_temp1"
L P#2.0
+D
T "track_temp1"
L #temp
L 2
+I
T #temp
A(
L #temp
L #db_legth
>=I
)
JCN a001
BE
最佳答案
L #db_number1 //装入数据块号1
T "db_num1" //传给变量1
L #db_number2
T "db_num2"
L P#0.0 装入指针地址p#0.0
T "track_temp1" //传给指针临时变量
L 0 //赋循环次数的初值0
T #temp
a001: OPN DB ["db_num1"] 打开第一个数据块
L DBW ["track_temp1"]// 取第一个块的数据dbw0
OPN DB ["db_num2"]//打开第二个数据块
T DBW ["track_temp1"]//传给第二个数据块的dbw0
OPN DB ["db_num1"]//再打开第一个数据块
L 0
T DBW ["track_temp1"] //再将第一个块的dbw0赋0
L "track_temp1" 装入指针值,也就是p#0.0
L P#2.0//装入p#2.0,也就是指向下一个需要传送的数据字
+D //相加
T "track_temp1" //再传给该变量
L #temp//读取字节次数
L 2
+I //+2
T #temp//以下为判断次数是否完成,完成则结束,没有完成则跳转到a001
A(
L #temp
L #db_legth
>=I
)
JCN a001
BE
以上程序都是一些基本指令,只要熟悉这些指令就非常容易懂了
提问者对于答案的评价:
谢谢!语句表用得少,指针更没用过了。
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc231232.html