Von welchen Kriterien hängt diese Latenz ab?
Pufferung, Datenrahmung, Übertragung, Protokoll und Timeout würde ich als die wichtigsten erachten.
Wie in anderen Kommentaren erwähnt, gibt es mindestens Verzögerungen bei der Protokollübersetzung. Sie müssen die Endpunkt- und Bridge-Datenpufferung, -codierung, den Protokolloverhead und die Übertragungszeit berücksichtigen. Die Latenzzeit wird davon beeinflusst, ob vor der Übertragung ein vollständiger Datenrahmen gepuffert wird oder wie die internen Zeitüberschreitungen aussehen. Diese können in einigen Geräten konfiguriert werden.
Es hängt auch davon ab, ob das Ethernet-Protokoll UDP, TCP oder ein benutzerdefiniertes Protokoll verwendet. Es hängt davon ab, ob das Protokoll die erneute Übertragung unterstützt und ob es zusätzliche Integritäts- oder Signalisierungsinformationen hinzufügt. Wieder können diese in einigen Geräten konfiguriert werden. Ohne nachgeschaut zu haben, würde ich vermuten, dass Low-End-Geräte dazu neigen, UDP ohne jegliche Integrität oder erneute Übertragung zu verwenden, und dazu neigen, einen vollständigen UDP-Datenrahmen mit einem internen Timeout zu puffern, um einen Teilrahmen zu senden, wenn der Datenfluss stoppt.
Ist die Latenzzeit von der Baudrate abhängig?
Es hängt wirklich davon ab, welche Latenz Sie messen. Der Unterschied bei den seriellen Datenraten beeinflusst Ihren Durchsatz wahrscheinlich stärker als Ihre Latenz . Ja, es wirkt sich zwar auf die Latenz aus, aber bedenken Sie, dass ein Byte bei 9600 Bit / s etwa 1 ms für die Übertragung benötigt.
Was muss ich in den DataSheets nachprüfen, um die Latenz zu ermitteln?
Stellen Hersteller Informationen zur Latenzzeit zur Verfügung?
Bridges für industrielle Anwendungen liefern manchmal Informationen über Latenz und / oder Durchsatz. Eine solche Produktseite gibt beispielsweise eine Latenz von 2ms an. Es gibt auch einige vom Unternehmen gesponserte Testberichte wie diesen Wettbewerbsvergleich 2003 oder diesen Bericht 2002, in dem die Latenzzeiten für mehrere Geräte verglichen werden. Die Latenzen in ihrem Test reichen von wenigen Millisekunden bis zu einem Durchschnitt von 861 ms.
Wie dem auch sei, es scheint, dass Ihr zugrunde liegendes Problem eher ein Timeout der seriellen Schnittstelle als ein Latenzproblem ist. Nach allem, was Sie gesagt haben, vermute ich vorläufig einen Software- oder Konfigurationsfehler. In einer seriellen Schnittstellenbibliothek sind in der Regel mehrere Timeouts angegeben, z. B. Interbyte-Timing, Lese- und Schreibzeit für mehrere Bytes. Es gibt auch Pufferüberlauffehler, wenn die gepufferten Daten nicht schnell genug geleert werden. Wie Sie vielleicht wissen, können Sie normalerweise jedes Timeout in Ihrem seriellen Client anpassen oder deaktivieren.
Ich würde zunächst feststellen, wo der Fehler entsteht. Sie können auch die Geschwindigkeit auf 9600 reduzieren, da billige Adapter bei ihren angegebenen Maximalwerten nicht immer gut funktionieren.