Page 784
PROFIBUS-Specification-Normative-Parts-8:1997
Copyright by PNO 1997 - all rights reserved
12.4 Communication between DP-Master and DP-Master
The communication between DP-Master (class 2) and DP-Master (class 1) is handled
in a fixed way (see figure 30) with one exception.
This exception is the function DDLM_Act_Para_Brct, which is transferred as a
multicast from the DP-Master (class 2) to the corresponding DP-Master (class 1).
Communication is always initiated by the DP-Master (class 2). The DP-Master
(class 2) sends a request to the DP-Master (class 1) and waits for the response.
The service is processed by the DDLM of the DP-Master (class 2). After the
receipt of the response the DP-Master (class 2) can make a new request.
At one point of time the DP-Master (class 1) can only communicate with one DP-
Master (class 2).
The DP-Master communication is initiated by a DDLM_xxx.req (see also section
"DP-Master - DP-Master Functions") from the DP-Master (class 2). The DDLM passes
this request to layer 2 and checks the SRD_RES_PDU after receipt of the
response. If the response status is NR (no reply data) it will retry once more
with a new SRD with no L_sdu to get response data. This procedure will be
repeated by the DP-Master (class 2) until
- an erroneous SRD_RES_PDU
- or a SRD_RES_PDU with response data is received,
- or the watchdog T1 expires.
The result will then be passed to the User of the DP-Master (class 2) by means
of a corresponding DDLM_xxx.con.
The timer T1 will be started after receipt of the DDLM_xxx.req in the DDLM of
the DP-Master (class 2) and will be stopped after release of the DDLM_xxx.con.
The value loaded in the timer T1 depends on the FDL parameter and the
performance of the DP-Master (class 1).
The responder (DP-Master (class 1)) waits after a reset for a request. If the
DDLM of the DP-Master (class 1) receives a valid request, this request is passed
to the user by the corresponding DDLM_xxx.ind. At this point of time an access
protection was set to the local service access point (SAP) for the communication
with the DP-Master (class 2). This is necessary to make sure that the response
data will be sent to the right DP-Master (class 2).
After receipt of the response from the user (DDLM_xxx.res) the response data
will be passed with a FDL_REPLY_UPDATE.req to layer 2. Additionally, a timer
will be started which controls the request for the response. If this timer
expires and the response data are still not fetched by the DP-Master (class 2),
the DDLM deletes the response data because the DDLM presumes that the DP-Master
(class 2) is no longer available. In this case the access protection for the DP-
Master (class 2) will be cancelled. This will also be done in the case of a
single transaction if a FDL_DATA_REPLY.ind indicates that the response data are
fetched by the DP-Master (class 2). The value loaded in the timer of the DP-
Master (class 1) depends on the FDL parameter and the performance of the DP-
Master (class 2).
In case of master-master communication a sequence of requests can put into
parentheses. Therefore the access protection will be set by the "DDLM_Start_Seq"
and released by the "DDLM_End_Seq". To avoid errors the time between two
requests will be supervised. The value for the time supervision is added to the
DDLM_Start_Seq request. With the DDLM_Start_Seq.req the user can additionally
send an areacode. By means of this areacode at the beginning of a sequence an
area can be reserved at the user in the DP-Master (class 1).