Zitat von NilsS
Beitrag anzeigen
Ich vermute das SIEMENS das 3964R mal definiert hat. Wäre ja nicht das erste mal, sowas.
http://support.automation.siemens.co...iew/de/1117397
Dort in "Grundlage der Seriellen Datenübertragung" ist alles zu finden.
Unter Senden ist auch das Zustandsmodell zu finden. Was eben genau die Timer genau erklärt.
Danach haben wir eigentlich alles richtig gemacht. Also das DLE im Konfliktfall zur Lösung zu schicken.
Unsere Problem ist aber wohl nicht der Konfliktfall selbst, sondern die Wartezeit ( die du nun eingefügt hast) zwischen den beiden Grundzuständen also dem letzten DLE und dem neuen STX.
Wir müssen also das letzte Zeichen DLE erst verarbeiten lassen, dabei wird der Timer T_QVZ augezogen. Der ist bei 3964R = 2 Sekunden.
In der Zeit dürfen wir noch kein neues STX senden.
Daraus erklärt sich dann die 3 Sekunden, die Du gefunden hast. Dadurch ist sichergestellt, dass T_QVZ verstrichen ist.
Das ist aber nur relevant, wenn die Senderichtung gewechselt wird.
Warum, weil wenn die Senderichtung gleichbleibt ja der andere das STX sendet und damit den empfang des DLE bestätigt hat. Somit kann es da sofort weiter gehen.
Also wenn sich die Senderichtung ändert,sollten wir also T_QVZ+(1 Sekunde als Sicherheit) warten und erst dann das neue STX rauschicken.
Gruß Tbi
Kommentar