西门子S7-300程序中语句表每一句都是什么意思
SETSAVEL0T#TEMP1L#IN0T#TEMP2L0<DJCM001TAKLL#9990000<=DJCM002LW#16#3999JCM001M002:L#TE...
SET
SAVE
L 0
T #TEMP1
L #IN0
T #TEMP2
L 0
<D
JC M001
TAK
L L#9990000
<=D
JC M002
L W#16#3999
JC M001
M002: L #TEMP2
L L#10
/D
T #TEMP2
L L#999
<=D
JC M003
L #TEMP1
INC 1
T #TEMP1
M003: TAK
DTB
L #TEMP1
SLW 12
OW
JU M004
M001: CLR
SAVE
M004: T
BE 展开
SAVE
L 0
T #TEMP1
L #IN0
T #TEMP2
L 0
<D
JC M001
TAK
L L#9990000
<=D
JC M002
L W#16#3999
JC M001
M002: L #TEMP2
L L#10
/D
T #TEMP2
L L#999
<=D
JC M003
L #TEMP1
INC 1
T #TEMP1
M003: TAK
DTB
L #TEMP1
SLW 12
OW
JU M004
M001: CLR
SAVE
M004: T
BE 展开
2个回答
展开全部
这是一个子程序, 具体要结合整体来看,我只解释其中几条,后面的类推.
SET
SAVE //一般用在子程序的开头,就是保存BR位,你可以简单理解为梯形图的EO
L 0 //把 0 赋给#TEMP1 , #TEMP1 可以在子程序资源里建立
T #TEMP1
L #IN0 // 把外部参数INO 给#TEMP2, 这个应该是这个子程序的一个输入参数
T #TEMP2
L 0 //比较INO(#TEMP2) 和 0
<D
JC M001 //若 #TEMP2 小于 0 则跳转到下面的MOO1 开始执行
TAK //互换累加器1和2的值, 这里就是把#TEMP2 和 0的在累加器中的位置互换
L L#9990000 //执行了上步后, 这里ACU1 装载一个长型整数999900000,
#TEMP2 自动填入ACU2 , 原来ACU2 里的0 被自动剔除
<=D //比较ACU2 和ACU1
JC M002 // 若 #TEMP2 小于等于9990000 则跳转到下面的MOO12开始执行
L W#16#3999 // 下面的基本雷同,不说了,打字太累
JC M001
SET
SAVE //一般用在子程序的开头,就是保存BR位,你可以简单理解为梯形图的EO
L 0 //把 0 赋给#TEMP1 , #TEMP1 可以在子程序资源里建立
T #TEMP1
L #IN0 // 把外部参数INO 给#TEMP2, 这个应该是这个子程序的一个输入参数
T #TEMP2
L 0 //比较INO(#TEMP2) 和 0
<D
JC M001 //若 #TEMP2 小于 0 则跳转到下面的MOO1 开始执行
TAK //互换累加器1和2的值, 这里就是把#TEMP2 和 0的在累加器中的位置互换
L L#9990000 //执行了上步后, 这里ACU1 装载一个长型整数999900000,
#TEMP2 自动填入ACU2 , 原来ACU2 里的0 被自动剔除
<=D //比较ACU2 和ACU1
JC M002 // 若 #TEMP2 小于等于9990000 则跳转到下面的MOO12开始执行
L W#16#3999 // 下面的基本雷同,不说了,打字太累
JC M001
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询