Senden und Empfang

Allgemeines

Im Folgenden wird die Verwendung der Puffer Input MTU und Output MTU erläutert.

Je nach Framelänge und Betriebskonfiguration ergeben sich unterschiedliche Kombinationen aus Kontrollbytes und Datenbytes an der seriellen Schnittstelle.

Jeder Frame beinhaltet mindestens ein Kontrollbyte. In Abhängigkeit von der Framelänge wird der Frame ggf. in mehrere Segmente und MTUs zerlegt.

Beim Empfang von Daten wird die Position der Daten- und Kontrollbytes in der MTU über die Konfiguration ermittelt: siehe Multiple Segments / Segment Size und Block Forward.

Beim Senden von Daten können Verfahren und Struktur nach Bedarf über die Anwendung ausgewählt werden.

Je nach Kombination sind folgende Optionen verfügbar:

oMaximierung der Kontrolle und Überwachung der einzelnen Schritte

oMaximierung des Datendurchsatzes

Maximierung der Kontrolle und Überwachung der einzelnen Schritte

oKeine Weiterleitung von MTU-Bausteinen

oEin einzelnes Segment in der MTU

oSegmentgröße überschreitet MTU-Größe nicht

Vorteile:

oKlar strukturierte Kontrollbytes beim Start der MTU

Nachteile:

oGeringer Datendurchsatz

Maximierung des Datendurchsatzes

oWeiterleitung von MTU-Bausteinen

oMehrere Segmente in der MTU

oSegmentgröße übersteigt MTU-Größe

Mit dieser Konfiguration wird der Datendurchsatz optimiert.

Vorteile:

oHoher Datendurchsatz durch die Nutzung von Weiterleitung (Forward) und mehreren Segmenten in einer MTU

Nachteile:

oHöherer Programmieraufwand

Bei Erkennung eines Zyklusausfalls (Sequenznummer verloren) oder eines belegten Übertragungspuffers sit die Fehlerhandhabung dieselbe: Das Verfahren muss ab der ersten nicht quittierten Sequenznummer wiederholt werden.

Beim Empfang einer gültigen Sende-Sequenznummer wird nur die Datenübertragung in den Übertragungspuffer quittiert: Das entspricht keiner Bestätigung, dass der Frame tatsächlich gesendet wurde. Je nach Übertragungsstrecke kann die Rückmeldung der Sende-Sequenznummer mehrere Zyklen dauern.

Eine Änderung des Quittierungswerts der Empfangssequenznummer in der InputSequence verweist darauf, dass die neuen, vom Modul empfangenen Daten noch ausstehen. Jede Empfangssequenznummer muss über die Empfangssequenznummer-Quittierung in der OutputSequence quittiert werden. Andernfalls wird die Verbindung zum Modul getrennt.