Page 432
PROFIBUS-Specification-Normative-Parts-6:1997
Copyright by PNO 1997 - all rights reserved
Master/Requester . Slave/Responder
.
User!FMS LLI FDL BUS FDL LLI FMS!User
=====!====!=============!======.======!=============!====!=====
Read.req ! ! ! !
<#7/IVID1>! ! ! !
----> ! ! ! !
\old IVID ! ! ! !
[READ_REQ_! ! ! !
PDU] ! ! ! !
DTC.req !*****IDM*****! ! !
<#7,0 !#7: IVID1 ! ! !
READ_ !*************! ! !
REQ_PDU>! ! ! !
---->!\IVID ident. ! ! !
! ! ! !
!*****IDM*****! ! !
!#7: READ_RES ! ! !
!*************! ! !
! : ! ! !
!"recall PDU ! ! !
! v ! ! !
<----!<-----+ ! ! !
DTC.con ! ! ! !
<#7,0, ! ! ! !
READ_ ! ! ! !
RES_PDU>! ! ! !
<---- ! ! ! !
Read.con ! ! ! !
<#7/IVID1>! ! ! !
! ! ! !
Figure 67. Master-Slave Communication Relationship / Connection for Cyclic Data
Transfer with no Slave Initiative / nth Read with the same Invoke ID
Write service:
On a connection for Cyclic Data Transfer with no Slave Initiative the Write
service is used for cyclical writing of data into a slave. For each connection
only one write request (Write.req) is permissible at a time. The user marks each
write request with a special identification (Invoke ID). In this way it is pos-
sible to relate the sent write request to the received write confirmation
(Write.con). FMS maps a write request (Write.req) from the user onto the LLI
service primitive DTC.req. The Invoke ID is stored in the IDM in the LLI of the
master. Each write request results in a transmission of the WRITE_REQ_PDU from
the master to the slave. A changed write request shall differ from the old re-
quest in its Invoke ID. Write requests on this connection with the same Invoke
ID cause the write confirmation to be read out of the IDM in the LLI of the mas-
ter after the next FDL_CYC_DATA_REPLY.con. A WRITE_REQ_PDU is sent in this case.
The received write request (WRITE_REQ_PDU) is stored in the IDM of the slave
specific to the connection. Each received WRITE_REQ_PDU overwrites the
WRITE_REQ_PDU stored in the IDM of the slave.
The Layer 2 service CSRD in the master causes a continual sending of
SRD_REQ_PDUs to the slave (polling). For each write request the
FDL_DATA_REPLY.ind contains a WRITE_REQ_PDU. This PDU is stored in the LLI and
the FMS receives a DTC.ind. The FMS maps the DTC.ind onto a Write.ind and passes
it to the user. When the user of the slave has given the Write.res to the FMS,
the FMS generates a WRITE_RES_PDU and passes it to the LLI with a DTC.res. The
LLI writes the WRITE_RES_PDU into the low priority Layer 2 update memory
(FDL_REPLY_UPDATE.req <Low>). The following SRD_REQ_PDU causes the update memory
to be read. The SRD_RES_PDU transports the WRITE_RES_PDU to the master. After
reading the update memory (FDL_DATA_REPLY.ind) the LLI passes the stored