Anschlussbox C-Box 300
Die Implementierung des C-BOX PROFIBUS-Protokolls
5.5.4 Fragmentierung und Wiederzusammensetzen
Wenn Anwendungsdaten nicht in den zugewiesenen Austauschbereichpuffer
passen, muss ein Fragmentierungsprozess aktiviert werden. Dies geschieht immer
auf der C-BOX-Seite.
Die C-BOX kann keine Anwendungspuffer verwalten, die länger als 256 Bytes sind
(dies gilt sowohl für die Fragmentierung als auch für das Wiederzusammensetzen).
Der Fragmentierungsprozess wird eingeleitet, indem das Mehr-Bit (Bit 3) des
entsprechenden Puffers auf 1 gesetzt wird. Alle folgenden Fragmente, die sich vom
letzten unterscheiden, tragen ebenfalls das Mehr-Bit mit dem Wert 1. Abschließend
wird das letzte Fragment dadurch erkannt, dass sein Mehr-Bit auf 0 gesetzt ist.
Anzumerken ist hier, dass Bit 0 und Bit 1 für jedes Fragment unabhängig verwaltet
werden müssen.
Die Empfangsstation kann die vollständigen Daten nur dann wieder
zusammensetzen, wenn das letzte Fragment angekommen ist (das Mehr-Bit den
Wert 0 annimmt).
Schließlich ist noch anzumerken, dass nur das letzte Fragment ein Längenfeld
aufweisen darf, das von Max(In/Out)Bytes-4 abweicht.
Wurden also n Fragmente verwendet, beträgt die Länge der wieder
zusammengesetzten Daten:
( n-1)*(Max(In/Out)Bytes-4) + Längenfeld (des letzten Fragments)
Bild und Bild 5.8 zeigen wie sich das Kontrollbyte bei zwei unterschiedlichen
Beispielen des Fragmentierungsprozesses ändert. Beachten Sie die Änderung des
Mehr-Bit sowie die Wechselbeziehung zwischen dem Fragment und dem normalen
Quittungsaustausch-Mechanismus.
OUT[0]
0 x 00
IN[0]
time
Bild 5.7
Master sendet Datenpakete, Slave empfängt und bestätigt
OUT[0]
0 x 00
IN[0]
time
Bild 5.8
Slave schickt Datenpakete, Master empfängt und bestätigt
Subject to reasonable modifications due to technical advances.
30
Pepperl+Fuchs Group • Tel.: Germany (06 21) 7 76-0 • USA (330) 4 25 35 55 • Singapore 7 79 90 91 • Internet http://www.pepperl-fuchs.com
0 x 0a
0 x 00
0 x 02
piece 1
(first)
ack
piece 1
0 x 00
0 x 00
0 x 09
piece 1
(first)
0 x 08
0 x 02
0 x 00
piece 2
piece 3
(last)
ack
piece 2
0 x 01
0 x 00
0 x 08
ack
ack
piece 1
piece 2
piece 2
0 x 02
ack
piece 3
0 x 01
0 x 01
ack
piece 3
piece 3
(last)
Copyright Pepperl+Fuchs, Printed in Germany