LabVIEWForum.de - 2 Datasocket Read in einer While-Schleife sehr langsam

LabVIEWForum.de

Normale Version: 2 Datasocket Read in einer While-Schleife sehr langsam
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe folgendes Problem: Ich möchte mehrere Werte (bool) aus einer SPS über einen OPC-Server visualisieren. Lese ich einen einzelnen Wert mittels einer while-Schleife aus, funktioniert dies auch ohne Probleme. Versuche ich jetzt parallel einen zweiten Wert auszulesen, dauert es bis zu 5 Sekunden bis sich beide Werte aktualisieren.

Anbei mal ein Screenshot von meinem Programm. Die untere while-Schleife aktualisiert den Wert ohne Verzögerung. Entferne ich den DataSocket read für "Schalter 3" dann wird auch "Schalter 1" wieder ohne Verzögerung aktualisiert. Ist es also nicht möglich 2 DataSocket read Funktionen in einer while-Schleife auszuführen?
Eigentlich hatte ich vor mittels einer for-Schleife alle Verbindungen herzustellen und diese dann in der while-Schleife wieder mit Hilfe einer for-Schleife auszulesen, um dann die entsprechenden Anzeigen zu aktualisieren. Ähnlich dem Beispiel "Multiple OPC Items Monitor" nur halt für boolsche-Werte.

Viele Grüße,
Haarry

Edit: Sorry, wollte den Thread eigentlich in "Datenkommunikation" posten.
' schrieb:Edit: Sorry, wollte den Thread eigentlich in "Datenkommunikation" posten.
Kein Problem, schon:verschoben12:
Zitat:Versuche ich jetzt parallel einen zweiten Wert auszulesen, dauert es bis zu 5 Sekunden bis sich beide Werte aktualisieren.
Liegt das evtl. am OPC-Server? Du hast für beide DS-Read "Wait for updated value = TRUE" eingestellt...evtl. dauert es so lange, bis der Server alle möglichen "Kanäle" durch hat...Kann ich mir zwar nicht so recht vorstellen, aber...


Zitat:Ist es also nicht möglich 2 DataSocket read Funktionen in einer while-Schleife auszuführen?
Sollte funktionieren!

Zitat:Eigentlich hatte ich vor mittels einer for-Schleife alle Verbindungen herzustellen und diese dann in der while-Schleife wieder mit Hilfe einer for-Schleife auszulesen,
Mach ich genauso!


EDIT: Wie genau sollen die Schleifen wieder gestoppt werden, wenn der Stop-Button AUSSERHALB der Schleife liegt?
Danke schonmal für deine Antwort.

Zitat:Liegt das evtl. am OPC-Server?

Am OPC-Server liegt es glaube ich nicht, weil die Werte ja aktualisiert werden, wenn sie nicht in der selben While-Schleife abgefragt werden.

Zitat:Du hast für beide DS-Read "Wait for updated value = TRUE" eingestellt...
Wodran siehst du das, bzw wie kann man das umstellen? "Das True" liegt am type-Eingang von dem DS-Read.

Grüße,
Haarry
' schrieb:Wodran siehst du das, bzw wie kann man das umstellen? "Das True" liegt am type-Eingang von dem DS-Read.

Das ist "Default"...siehe die Kontext-Hilfe zum Read-VI!
' schrieb:Das ist "Default"...siehe die Kontext-Hilfe zum Read-VI!

Danke, das war das Problem!
Referenz-URLs