Zunächst müssen die Nachrichten in Segmente geteilt werden. Wie in der Standardkonfiguration muss sicherge-
stellt 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 ge-
setzt, 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 Controlbyte
C0 generiert, um die Kommunikation auf Standby halten zu können.
C1 (Controlbyte1)
- SegmentLength (6)
- nextCBPos (1)
- MessageEndBit (0)
Controlbyte
Tabelle 26: 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ändig 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 27: Flatstream-Ermittlung der Controlbytes für Beispiel mit MultiSegmentMTU (Teil 2)
X20 System Anwenderhandbuch 4.00
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
Zusätzliche Informationen
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
=
2
=
64
=
128
Σ
194
=
2
=
64
=
128
Σ
194
251