INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

TCP IP Verzögerung / Delay / Ping über Netzwerk



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

24.02.2014, 15:11 (Dieser Beitrag wurde zuletzt bearbeitet: 24.02.2014 15:34 von LazyBoNe.)
Beitrag #1

LazyBoNe Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Jul 2012

11.0.1 (32bit)
2010
DE_EN


Sonstige
TCP IP Verzögerung / Delay / Ping über Netzwerk
Hallo zusammen.

Zu einem Haupt-VI möchte ich eine Visualisierungs-VI für den Patienten auf einem zweiten PC im Netzwerk laufen lassen. Eine wichtige Anforderung ist, dass diese ich Echtzeit läuft, bzw. mit möglichst kleiner zeitlicher Verzögerung Signalverläufe auf einem Chart anzeigt.

Nach gründlicher Suche bin ich zum Resultat gekommen, dass die beste Leistung mit dem Low-Level Verfahren TCP / IP erreicht werden kann. Im Testaufbau habe ich einen zweiten PC direkt am gleichen Netzwerk-Switch wie der Haupt-PC am laufen und somit eine hervorragende Ping von 1ms. (getestet mit cmd)

Ich habe nun die Beispiel VI zum TCP IP ein wenig abgeändert (siehe Anhang). Mit dem Slider kann die Signaländerung im Server realisiert werden. Im Client sieh man dann die Änderung des Signals. Es scheint ein ziemlich grosses Delay zu geben, vllt. 200ms (das ist leider gut bemerkbar für eine Visu und kann den Patienten verwirren) durch den Nagle Algorithmus? Dies ist für eine Visualisierung ziemlich ungünstig Confused

Leider habe ich kein LV2012 und kann nicht nachvollziehen, wie man den Nagle Algorithmus ausschaltet:
NagleOff

Fragen an euch:
-Ist TCP IP grundsätzlich der richtige Ansatz für echtzeitfähige Visualisierungen? (Verzögerungszeit<50ms gewünscht, wie beim gaming)
-Könnte der Nagle Algo verantwortlich sein für diese Verzögerung oder habe ich etwas noch falsch gemacht?
-Könnte mir jemand die VI, welche den Nagle ausschalten auf LV2011 speichern, damit ich dies ausprobieren kann?

Mit freundlichen Grüssen
LazyBoNe


Angehängte Datei(en)
11.0 .vi  Simple Data Client_slider.vi (Größe: 15,11 KB / Downloads: 296)

11.0 .vi  Simple Data Server_slider.vi (Größe: 13,77 KB / Downloads: 272)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
24.02.2014, 17:06
Beitrag #2

macmarvin Offline
CLA
***


Beiträge: 445
Registriert seit: Sep 2006

2014
2004
EN

81373
Deutschland
RE: TCP IP Verzögerung / Delay / Ping über Netzwerk
Ohne deinen Code angeschaut zu haben, klingt dein Lösungsansatz Nagle deaktivieren richtig.
Anbei die Version für LV2011. Auf der NI Seite lag an dieser Stelle jahrelang so eine uralte (räudige) LLB. Immerhin hat da NI nochmal etwas Arbeit rein gesteckt und es aufgehübscht.
Die VIs sehen im wesentlichen so aus wie die Alten, deshalb würde ich vermuten, dass du damit dein Problem löst.
Sonst gibt es noch Windowseinstellungen für die Netzwerkkarte Stichwort: tcpackfrequency/nagle
Das wird dann aber schon esoterisch, mir ist bisher nur ein Messgerät gesehen, das sowas gebraucht hätte.


Angehängte Datei(en)
0.0 .zip  nagle_lv11.zip (Größe: 53,09 KB / Downloads: 287)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.02.2014, 16:19
Beitrag #3

LazyBoNe Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Jul 2012

11.0.1 (32bit)
2010
DE_EN


Sonstige
RE: TCP IP Verzögerung / Delay / Ping über Netzwerk

Akzeptierte Lösung

Zurück aus dem Google-Land mit neuen Erkenntnissen. Google

Besten Dank für die Version11 der Files. Ich war geschockt als ich diese angeschaut habe Blush
Scheint doch wohl ein Gebastel zu sein mit TCP und dem Aussschalten von Nagle... Construction Da merkte ich, dass da etwas nicht stimmen konnte.

Nach langem googeln bis tief in die Nacht habe ich die Lösung gefunden:

UDP verwenden.

UDP wird meistens bei realtime Anwendungen verwendet (z.B. VOIP), da TCP diesen Anforderungen nur schwer gerecht werden kann. Moderne PC games verwenden eine Kombination aus TCP und UDP.

Wichtig: Es kann bei UDP zu Paketverlust kommen.
Die ist das bei einer Visualisierung aber total egal, solange genügend Daten/Sekunde ankommen.

Source:
TCP or UDP in games
TCP vs UDP


Habe nun UDP verwendet und es funktioniert tadellos. Rofl2

Mit freundlichen Grüssen
LazyBoNe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Problem mit Datasocket Ping Pong Hubert R. 6 5.655 10.11.2021 14:17
Letzter Beitrag: Martin.Henz
  Zugriff auf Software im Netzwerk Tobi Wan Kenobi 4 5.719 28.01.2015 12:53
Letzter Beitrag: th13
  Daten via Netzwerk bereitstellen marc10k 3 5.464 10.07.2014 14:06
Letzter Beitrag: GerdW
  Große Datenmengen via Netzwerk-Shared-Variable übertragen dane90 2 5.508 17.06.2014 08:09
Letzter Beitrag: dane90
  Netzwerk Shared Variablen haben unterschiedliche Werte dane90 2 4.169 11.06.2014 13:20
Letzter Beitrag: dane90
  VI Fernsteuerung über Netzwerk Banick 3 5.743 25.03.2014 09:04
Letzter Beitrag: Banick

Gehe zu: