OBJECT_REQ and OBJECT_RSP for 8 byte process data channel
2.11.9 VX
65
Example:
P196 Bit 0..2 = "4" (8 Byte process data),
P196 Bit 7 ="0" (PD1/2 = STEUERWORT / STATUSWORT),
P196 Bit 5 = "1" (OBJECT_REQ and OBJECT_RSP can be temporarily assigned to PD),
P196 Bit 6 = "0" (OBJECT_RSP automatically assigns PED as answer to OBJECT_REQ)
Basic setting for PAD with P139="6322688" (LAGE_ZIEL=PAD3-6) and P142="6289152"
(OUTPUT_WORD=PAD7-8) and for PED with P135="6317056" (LAGE_IST=PED3-6) and P138="6289408"
(INPUT_WORD=PED7-8)
In this example you should make a backup copy of the contents of LAGE_ZIEL and OUTPUT_WORD before you
switch to OBJECT_REQ.
PAD Master
⇒
⇒⇒
⇒
COMPAX
PAD1 PAD2 PAD3 PAD4 PAD5 PAD6 PAD7 PAD8
STEUERWORT
1[1] ObjectReqEnable = "0"
1[0] FreezePAD = "0"
PED Master
⇐
⇐⇐
⇐
COMPAX
PED1 PED2 PED3 PED4 PED5 PED6 PED7 PED8
STATUSWORT
1[0] AckToggle = "0"
(angenommener
Anfangszustand)
FreezePAD = "1" COMPAX freezes previous PAD;
does not read from PAD anymore
PAD Master
⇒
⇒⇒
⇒
COMPAX
PAD1 PAD2 PAD3 PAD4 PAD5 PAD6 PAD7 PAD8
STEUERWORT
1[1] ObjectReqEnable = "0"
1[0] FreezePAD = "1"
Wait until COMPAX AckToggle = "1" message:
PED Master
⇐
⇐⇐
⇐
COMPAX
PED1 PED2 PED3 PED4 PED5 PED6 PED7 PED8
STATUSWORT
1[0] AckToggle = "1"
Describe PAD with "0" and set ObjectReqEnable = "1"
PAD Master
⇒
⇒⇒
⇒
COMPAX
PAD1 PAD2 PAD3 PAD4 PAD5 PAD6 PAD7 PAD8
STEUERWORT
1[1] ObjectReqEnable = "1"
1[0] FreezePAD = "1"
PED Master
⇐
⇐⇐
⇐
COMPAX
PED1 PED2 PED3 PED4 PED5 PED6 PED7 PED8
STATUSWORT
1[0] AckToggle = "0"
Transfer PAD with OBJECT_REQ (P23=200% write)
PAD Master
⇒
⇒⇒
⇒
COMPAX
PAD1 PAD2 PAD3 PAD4 PAD5 PAD6 PAD7 PAD8
STEUERWORT
1[1] ObjectReqEnable = "1"
1[0] FreezePAD = "1"
PED Master
⇐
⇐⇐
⇐
COMPAX
PED1 PED2 PED3 PED4 PED5 PED6 PED7 PED8
STATUSWORT
1[0] AckToggle = "1" POSITION_TARGETPOSITION_TARGETPOSITION_TARGETPOSITION_TARGETPOSITION_TARGETPOSITION_TARGET
Set ObjectReqEnable = "0"
PAD Master
⇒
⇒⇒
⇒
COMPAX
PAD1 PAD2 PAD3 PAD4 PAD5 PAD6 PAD7 PAD8
STEUERWORT
1[1] ObjectReqEnable = "0"
1[0] FreezePAD = "1" POSITION_TARGETPOSITION_TARGETPOSITION_TARGETPOSITION_TARGETPOSITION_TARGETPOSITION_TARGET
Answer from COMPAX by changing AckToggle
PED Master
⇐
⇐⇐
⇐
COMPAX
PED1 PED2 PED3 PED4 PED5 PED6 PED7 PED8
STATUSWORT
1[0] AckToggle = "0" POSITION_TARGETPOSITION_TARGETPOSITION_TARGETPOSITION_TARGETPOSITION_TARGETPOSITION_TARGET
Set PAD to the original value and set FreezePAD = "0"
PAD Master
⇒
⇒⇒
⇒
COMPAX
PAD1 PAD2 PAD3 PAD4 PAD5 PAD6 PAD7 PAD8
STEUERWORT
1[1] ObjectReqEnable = "0"
1[0] FreezePAD = "0" POSITION_TARGETPOSITION_TARGET
PED Master
⇐
⇐⇐
⇐
COMPAX
PED1 PED2 PED3 PED4 PED5 PED6 PED7 PED8
STATUSWORT
1[0] AckToggle = "1" POSITION_TARGETPOSITION_TARGET
OBJECT_REQ, OBJECT_RSP
This procedure allows you to write and read several objects.
Switch back to cyclic process data: