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 

Cluster-Laufzeit Problem



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!

14.07.2010, 11:34 (Dieser Beitrag wurde zuletzt bearbeitet: 14.07.2010 11:37 von jg.)
Beitrag #1

Bigred Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: May 2007

2011
2005
DE

45661
Deutschland
Cluster-Laufzeit Problem
Hallo,

ich habe eine Clustervariable aus dieser möchte ich lesen und schreiben. Das Ergebnis möchte ich dann wieder im Cluster haben. Dazu benutze ich eine Referenz.
Man sieht im Bsp. glaube ich gut dass der Klick auf den Schalter nicht immer angenommen wird.
Mit in der While-Schleife ist natürlich weiterer Code und das Lesen und Schreiben des Clusters ist auch etwas umfangreicher.
Hat jemand eine Erklärung dafür, oder noch besser eine Lösung parat?
Ich könnte mir auch gut vorstellen, dass es ein ganz einfaches, grundlegendes Problem mit der Referenz o. ä. ist.

Auf jeden Fall vielen Dank schon im Voraus für die Hilfe!

Mit freundlichen Grüßen

Christian Geiger

Lv09_img2


Angehängte Datei(en)
Sonstige .vi  Forum_Frage.vi (Größe: 8,29 KB / Downloads: 175)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.07.2010, 11:42
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Cluster-Laufzeit Problem
' schrieb:Man sieht im Bsp. glaube ich gut dass der Klick auf den Schalter nicht immer angenommen wird.
Das liegt aber nur an dem viel zu kurzen 1ms-Wait. Mit z.B. 50 ms funktioniert es einwandfrei.
Oder auch mit Event-Struktur, s. z.B. hier:
Lv09_img2
Sonstige .vi  Forum_Frage_JG.vi (Größe: 9,69 KB / Downloads: 190)


Gruß, Jens

P.S.:Profil_ergaenzen

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.07.2010, 12:01
Beitrag #3

Bigred Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: May 2007

2011
2005
DE

45661
Deutschland
Cluster-Laufzeit Problem
Hi,
Profil ist aktualisiert.

Eine längere Wartezeit löst im realen Programm das Problem aber leider nicht. Im realen Programm läuft die Schleife mit 100ms. Im realen Programm sind auch drei weitere While-Schleifen die mit ähnlicher Geschwindigkeit parallel laufen.
Ich habe mal einen Screenshot einer solchen Cluster-Kette angehängt. Im realen Programm laufen 7 solcher Ketten durch die While-Schleife.

Grüße Christian


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.07.2010, 12:18
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Cluster-Laufzeit Problem
Das Setzen einer FP-Elements per Refnum und PropertyNode Value ist in LV auch nicht gerade das Schnellste, u.a., da dies im UI-Thread durchgeführt wird.
Außerdem bricht dies die goldene Regel in LV, Datenfluss.

Wo bei dir jetzt genau die Race Condition auftritt, ist schwer zu sagen.Glas2

Vielleicht hilft dir das Konzept einer FGV weiter?

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.07.2010, 12:20 (Dieser Beitrag wurde zuletzt bearbeitet: 14.07.2010 12:26 von GerdW.)
Beitrag #5

GerdW Offline
______________
LVF-Team

Beiträge: 17.419
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Cluster-Laufzeit Problem
Hallo Christian,

der Fehler liegt in der Verwendung lokaler Variablen ("value"-Property ist nahezu das Gleiche) und der damit verbundenen Möglichkeit von RaceConditions...

In deinem ersten Beispiel kann es vorkommen, dass du genau dann klickst, wenn das VI schon den Status des Schalters gelesen hat, aber noch nicht die LED gesetzt hat. Dann wird der vorherige Schalterwert in die LED geschrieben und dann der ganzen Cluster überschrieben. RaceCondition aufgrund getrennter (nicht atomarer) Lese- und Schreibzugriffe auf den gleichen Cluster...

Generell:
Warum verwendest du bei deiner "Kette" nicht ein Eingabe-Element (Cluster_In) und ein Ausgabe-Element (Cluster_Out)? Warum liest du aus einer lokalen Variablen, wenn das Terminal gleich daneben unbenutzt rumliegt? Dein gezeigtes BD sollte ein subVI darstellen, welches sich den aktuellen Status des Clusters nicht zu merken braucht - dies sollte das mainVI übernehmen...

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
  Elemente Cluster in Cluster ansprechen simcum 3 2.447 02.10.2023 10:49
Letzter Beitrag: th13
  Laufzeit Problem? Timesplinter 9 5.929 03.11.2017 12:50
Letzter Beitrag: GerdW
  Element in Cluster of Array of Cluster ausblenden R.Fuertig 4 6.382 26.09.2016 07:47
Letzter Beitrag: GerdW
  Ringtextwechsel zur Laufzeit andrepf 3 3.498 02.05.2016 14:16
Letzter Beitrag: Lucki
  String Array zur Laufzeit wandeln und einem Cluster zuführen hTed 6 5.532 28.11.2014 14:44
Letzter Beitrag: Lucki
  Cluster - Elemente ausblenden und Größe des Cluster anpassen? dragonos 13 17.548 01.06.2014 18:43
Letzter Beitrag: "Chris"

Gehe zu: