2 receiving eoe datagrams – BECKHOFF ET9300 User Manual

Page 50

Advertising
background image

48

Application Note ET9300

EOE_SendFrameReq()

SendFragment()

MBX_MailboxSendReq()

Pending frame?

Yes

Full Mbx buffer?

Yes

Frame complete?

No

Store datagram in

„pEoESendStored“

No

No

Clear

„bSendFramePending“ flag

This function is called to send an
ethernet frame.
(Slave -> Master)

If no ethernet frame is currently
pending
(

„bSendFramePending“ is FALSE).

Split the ethernet frame into EoE
datagrams

Generic send mailbox handling
(write mailbox data to Input Mbx
SyncManger (default: SM1))

If MBX_MailboxSendReq() returns
a value unequal 0 the mailbox
buffer is full

If the complete ethernet frame was
splitted into EoE datagrams and at
least enqued for sending

The function
„EOE_SendFrameReq()“
need to be called once
again by the application

If frame was not complete
sended the flag
„bSendFramePending“ is
still set and
„SendFragment()“ is
called by
„EOE_ContinueInd()“

Yes

Figure 5: Send EoE datagram

8.2.1.2

Receiving EoE datagrams

Received EoE datagrams are handled by the function “EOE_ServiceInd()” which is called from the
generic mailbox stack. The program flow is shown in Figure 6.

Advertising