当前位置: 主页 > PLC控制

有段程序看不懂

在DB块与DB块之间传送数据,长度为14字,以下为调用程序,可以解读一下吗?
L#db_number1
T"db_num1"
L#db_number2
T"db_num2"

ASs='html_titleimg_p' STyle='text-align:CEnter;'>

LP#0.0
T"track_temp1"

L0
T#temp

a001:OPNDB["db_num1"]
LDBW["track_temp1"]
OPNDB["db_num2"]
TDBW["track_temp1"]
OPNDB["db_num1"]
L0
TDBW["track_temp1"]

L"track_temp1"
LP#2.0
+D
T"track_temp1"

L#temp
L2
+I
T#temp

A(
L#temp
L#db_legth
>=I
)
JCNa001
BE

最佳答案

L#db_number1//装入数据块号1
T"db_num1"//传给变量1
L#db_number2
T"db_num2"
LP#0.0装入指针地址p#0.0
T"track_temp1"//传给指针临时变量
L0//赋循环次数的初值0
T#temp
a001:OPNDB["db_num1"]打开第一个数据块
LDBW["track_temp1"]//取第一个块的数据dbw0
OPNDB["db_num2"]//打开第二个数据块
TDBW["track_temp1"]//传给第二个数据块的dbw0
OPNDB["db_num1"]//再打开第一个数据块
L0
TDBW["track_temp1"]//再将第一个块的dbw0赋0
L"track_temp1"装入指针值,也就是p#0.0
LP#2.0//装入p#2.0,也就是指向下一个需要传送的数据字
+D//相加
T"track_temp1"//再传给该变量
L#temp//读取字节次数
L2
+I//+2
T#temp//以下为判断次数是否完成,完成则结束,没有完成则跳转到a001
A(
L#temp
L#db_legth
>=I
)
JCNa001
BE

以上程序都是一些基本指令,只要熟悉这些指令就非常容易懂了

提问者对于答案的评价:
谢谢!语句表用得少,指针更没用过了。

专家置评

已阅,最佳答案正确。

  • 关注微信

猜你喜欢

微信公众号