Zusätzliche Informationen
Zunächst müssen die Nachrichten in Segmente geteilt werden. Wie in der Standardkonfiguration muss si-
chergestellt sein, dass jede Sequenz mit einem Controlbyte beginnt. Die freien Bits in der MTU am Ende
einer Nachricht, werden allerdings mit Daten der Folgenachricht aufgefüllt. Bei dieser Option wird das Bit
"nextCBPos" immer gesetzt, wenn im Anschluss an das Controlbyte Nutzdaten übertragen werden.
MTU = 7 Bytes → max. Segmentlänge 6 Bytes
• Nachricht 1 (7 Bytes)
➯ erstes Segment = Controlbyte + 6 Datenbytes (MTU voll)
➯ zweites Segment = Controlbyte + 1 Datenbyte (MTU noch 5 leere Bytes)
• Nachricht 2 (2 Bytes)
➯ erstes Segment = Controlbyte + 2 Datenbytes (MTU noch 2 leere Bytes)
• Nachricht 3 (9 Bytes)
➯ erstes Segment = Controlbyte + 1 Datenbyte (MTU voll)
➯ zweites Segment = Controlbyte + 6 Datenbytes (MTU voll)
➯ drittes Segment = Controlbyte + 2 Datenbytes (MTU noch 4 leere Bytes)
• Keine weiteren Nachrichten
➯ C0-Controlbyte
Für jedes gebildete Segment muss ein spezifisches Controlbyte generiert werden. Außerdem wird das Con-
trolbyte C0 generiert, um die Kommunikation auf Standby halten zu können.
C1 (Controlbyte1)
- SegmentLength (6)
- nextCBPos (1)
- MessageEndBit (0)
Controlbyte
Tabelle 33: Flatstream-Ermittlung der Controlbytes für Beispiel mit MultiSegmentMTU (Teil 1)
Warnung!
Die zweite Sequenz darf erst über den SequenceAck bestätigt werden, wenn sie vollstän-
dig verarbeitet wurde. Im Beispiel befinden sich 3 verschiedene Segmente innerhalb der
zweiten Sequenz, das heißt, im Programmablauf müssen ausreichend Empfänger-Arrays
gehandhabt werden können.
C4 (Controlbyte4)
- SegmentLength (1)
- nextCBPos (6)
- MessageEndBit (0)
Controlbyte
Tabelle 34: Flatstream-Ermittlung der Controlbytes für Beispiel mit MultiSegmentMTU (Teil 2)
258
C2 (Controlbyte2)
=
6 - SegmentLength (1)
=
64 - nextCBPos (1)
=
0 - MessageEndBit (1)
Σ
70 Controlbyte
C5 (Controlbyte5)
=
1 - SegmentLength (6)
=
6 - nextCBPos (1)
=
0 - MessageEndBit (1)
Σ
7 Controlbyte
C3 (Controlbyte3)
=
1 - SegmentLength (2)
=
64 - nextCBPos (1)
=
128 - MessageEndBit (1)
Σ
193 Controlbyte
C6 (Controlbyte6)
=
6 - SegmentLength (2)
=
64 - nextCBPos (1)
=
0 - MessageEndBit (1)
Σ
70 Controlbyte
X20 System Anwenderhandbuch 4.30
=
2
=
64
=
128
Σ
194
=
2
=
64
=
128
Σ
194