SET
SAVE
= L 148.6
L W#16#E6
T #Command_s7_scl_DB_W
L W#16#212
T #CommunicationCheckDB_W
L W#16#213
T #SclDoserVersionDB_W
L W#16#190
T #ThreadStatusDB_W
L W#16#FA
T #DoserRecipe1DB_W
L W#16#116
T #DoserRecipe2DB_W
L W#16#117
T #DoserRecipe3DB_W
L W#16#15E
T #PrepOQRecipe1DB_W
L W#16#17A
T #PrepOQRecipe2DB_W
L W#16#17B
T #PrepOQRecipe3DB_W
L W#16#17C
T #PrepDCRecipe1DB_W
L W#16#17D
T #PrepDCRecipe2DB_W
L W#16#17E
T #PrepDCRecipe3DB_W
L W#16#262
T #ThreadConfigDB_W
L W#16#324
T #MmcScadaDB_W
L #MainInitializeFlag
L B#16#0
<>I
SPBN A7d0
L 1
T #k
A7d1: L #k
L 6
<=I
SPBN A7d2
L #k
ITD
L L#-1
+D
L L#8
*D
TAR2
+D
L B#16#1
TAK
LAR1
TAK
T DIB [AR1,P#1638.0]
L #k
L 1
+I
T #k
SPA A7d1
A7d2: L 0
T #k
A7d3: L #k
L 220
<=I
SPBN A7d4
L #ThreadStatusDB_W
T LW 150
L #k
ITD
L L#8
*D
L DW#16#0
AUF DB [LW 150]
TAK
LAR1
TAK
T DBD [AR1,P#0.0]
L #k
L 1
+I
T #k
SPA A7d3
A7d4: L B#16#0
最佳答案
1、程序解释:
SET //使用 RLO 置位(SET)指令,可以将 RLO 的信号状态置为“1”。
SAVE //使用 SAVE 指令,可以将 RLO 存入 BR 位
= L 148.6//如果RLO=1,则临时变量L 148.6这个位置1.。
2、有关 RLO、BR 位等状态位的意义:
<西门子PLC CPU寄存器状态字的用法>连接:
http://www.ad.siemens.com.cn/club/bbs/post_elite.asp?b_id=4&a_id=381947
或
http://bbs.cec.pandabuying.com/Topic/84423.aspx
3、有关SET 、 SAVE 指令联用的功能:
首先弄清BR位:状态字的第8位称为二进制结果位。它将字处理程序与位处理联系起来,在一段既有位操作又有字操作的程序中,用于表示字逻辑是否正确。将BR位加入程序后,无论字操作结果如何,都不会造成二进制逻辑链中断。
了“SET、SAVE”。就此而论,SET与SAVE两指令。SET即将状态字RLO置位;SAVE将RLO保存到状态字的BR位。此时表示功能被正确执行,即BR位为1.
. 在一个NetWork中串联执行多个指令或并联执行多个指令时,该如何处理?
一般不要顾及用SAVE指令保存RLO。在下面的情况可用:
一个逻辑块中需检另一查逻辑块的BR位。
例如:在用户编写的FB/FC程序中,应该对BR位进行管理,功能块正确执行后,使BR位为1,否则使其为0。使用SAVE指令将RLO存入BR中,从而达到管理BR位目的。
4、SPA A7d3//无条件跳转到标号A7d3处。
跳转指令 ,无条件跳转,SPA为德文,英文为JU。A7d3为程序标号。
提问者对于答案的评价:
thanks you much!
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc244839.html