恭喜,你发布的帖子
发布于 2015-12-20 12:36:06
6楼
A #CPU0_MSTR
JCN a0x0
CALL #S7300GET_ID1
REQ :=#REQ
ID :=#ID1
NDR :=
ERROR :=
STATUS:=#GET_STATUS
ADDR_1:=#GET_ADDR1
ADDR_2:=
ADDR_3:=
ADDR_4:=
RD_1 :=#GET_RD1
RD_2 :=
RD_3 :=
RD_4 :=
A #S7300GET_ID1.NDR
O #S7300GET_ID1.ERROR
JCN a2x0
L 1
L #POLLING_GET
+I
T #POLLING_GET
a2x0: NOP 0
JU a0x1
a0x0: NOP 0
CALL #S7300GET_ID2
REQ :=#REQ
ID :=#ID2
NDR :=
ERROR :=
STATUS:=#GET_STATUS
ADDR_1:=#GET_ADDR1
ADDR_2:=
ADDR_3:=
ADDR_4:=
RD_1 :=#GET_RD1
RD_2 :=
RD_3 :=
RD_4 :=
A #S7300GET_ID2.NDR
O #S7300GET_ID2.ERROR
JCN a2x1
L 1
L #POLLING_GET
+I
T #POLLING_GET
a2x1: NOP 0
其实好简单的,准备两个PUT就可以了。一个PUT给ID=1的时候用,另一个给ID=2的时候用。
再奉上CPU判断程序:
//~read cpu information
A #REQ
JCN h0a0
CALL "RDSYSST"
REQ :=#REQ
SZL_ID :=#SZL_ID
INDEX :=#INDEX
RET_VAL :=#SFC51_RET
BUSY :=#BUSY
SZL_HEADER:=#SSL_HEADER
DR :=#DR
h0a0: NOP 0
A #BUSY
JC g0a0
//Get Cpu master state
L P##DR
LAR1
A [AR1,P#2.4]
= #CPU0_MSTR
A [AR1,P#2.5]
= #CPU1_MSTR
//get cpu running infomation
A(
L #DR.Bz_cpu_0
L W#16#8
==I
)
O
A(
L #DR.Bz_cpu_0
L W#16#9
==I
)
= #CPU0_RUN
A(
L #DR.Bz_cpu_1
L W#16#8
==I
)
O
A(
L #DR.Bz_cpu_1
L W#16#9
==I
)
= #CPU1_RUN
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
由SFc51读出的信息DR的内容含义
ContentsLengthMeaning
Redinf2 bytesInformation about redundancy
#16#0011:Single H CPU
#16#0012:1 of 2 H system
Mwstat1 byteStatus byte 1
bit 0:reserved
bit 1:reserved
bit 2:reserved
bit 3:reserved
bit 4:H status of CPU in rack 0
=0: standby CPU
=1: master CPU
bit 5:H status of CPU in rack 1
=0: standby CPU
=1: master CPU
bit 6:reserved
bit 7:reserved
---------------------------------------------------
Bz_cpu_0 bytesMode of CPU in rack 0
#16#0001: STOP (update)
#16#0002: STOP (reset memory)
#16#0003: STOP (self-initialization)
#16#0004: STOP (internal)
#16#0005: STARTUP (cold restart)
#16#0006: STARTUP (warm restart)
#16#0007: STARTUP (hot restart)
#16#0008: RUN (solo mode)
#16#0009: RUN-R (redundant mode)
#16#000A: HOLD
#16#000B: LINK-UP
#16#000C: UPDATE
#16#000D: DEFECTIVE
#16#000E: SELFTEST
#16#000F: NO POWER
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
请填写推广理由:
分享
只看
楼主