Menu

#85 PD recovery in case of undetected sequenceCounter overflow

1.3.0.0
closed
1402 (1)
2015-06-19
2015-06-12
No

In case of PD flow lost there is a possibility that PD packets are discarded for long time. Let’s assume:

  1. sequenceCounter is 0xFFFFF000 and connection is lost.
  2. The sequencCounter overflows during connection lost.
  3. Packet flow continues when the PD sequencCounter is 0x10.
  4. Now all the packets are discarded until the sequenceCounter raises to 0xFFFFFFF0.

Also if only sequenceCounter 0 packet is lost data is discarded until next 0 sequence counter is got.
Tested fix where the PD packets are discarded if counter is smaller than previous until the timeout overflow happens. In this case lastSeqCnt is set to
current sequenceCounter value and PD data receiving continues.
Example fix as an attachment.

1 Attachments

Discussion

  • Joni Sandelin

    Joni Sandelin - 2015-06-18

    Example fix sent by me is invalid. And also the idea do not work as the timeout is for ComId and not for each sender. Any ideas how to handle this situation where first packet is lost?

     
  • Armin-Hagen Weiss

    • status: open --> accepted
    • assigned_to: Bernd Löhr
    • Milestone: 1.2.0.0 --> 1.3.0.0
     
  • Armin-Hagen Weiss

    IEC61375-2-3 Table A.3:
    The sequence counter:
    · Shall be managed for sending process telegrams per
    ComId/MsgType at each requester/publisher.
    · Shall be managed (stored) for received process
    telegrams per SourceIPAddr/ComId/MsgType at each
    publisher/subscriber.
    · Shall be incremented with each sending of the process
    telegram. Telegrams sent in parallel via different
    subnets are sent with the same sequence counter to
    detect duplication at receiver side.
    · Can be used for communication layer surveillance (PD
    sending).
    A surveillance that the application is still updating its process
    data (user data) can be done via the safe data transmission
    protocol (SDTv2, see Annex B) or can be implemented by the
    application (e.g. via a life sign).

    The standard is only requiring to suppress duplicates (same sequence counter).
    It needs to be discussed whether a defined variance e.g. <=3 can be included. If older counters are received, a re-synchronisation would need to be implemented (suppress telegram but take over sequence counter in case sequ. counter is smaller).

     
  • Armin-Hagen Weiss

    Decision: Sequence counter surveillance for PD shall be implemented acc. IEC61375-2-3. Thus sequence counter surveillance discards only duplicated packets (same sequence counter).

     
  • Armin-Hagen Weiss

    • labels: --> 1402
    • status: accepted --> closed
    • assigned_to: Bernd Löhr --> Armin-Hagen Weiss
     

Log in to post a comment.

MongoDB Logo MongoDB