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 

Dataflow violation



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!

18.09.2015, 13:30 (Dieser Beitrag wurde zuletzt bearbeitet: 18.09.2015 13:32 von Frank M-F.)
Beitrag #1

Frank M-F Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 55
Registriert seit: Oct 2011

2011
2011
DE



Dataflow violation
Hallo zusammen,

ich bin grade in meinem Code auf einen blöden Fehler gestoßen, der mich einiges an Zeit gekostet hat.
Anbei ein runtergebrochenes Beispiel VI.

Ich erwarte eine Zeitdauer von 2002 ms. Aber der Datenfluss umgeht das wait, sodass eine Zeitdauer von 2ms gemessen wird.

Ich habe zwar verschiedenste Lösungswege für das Problem gefunden aber ich finde, dass hier eine Verletzung des Datenflusses vorliegt. Und als LabVIEW-Prorgammierer verlasse ich mich ja auf den Datenfluss.

Gibts da weitergehende Informationen zu ?


Angehängte Datei(en)
12.0 .vi  Dataflow violation.vi (Größe: 9,84 KB / Downloads: 187)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
18.09.2015, 14:01
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Dataflow violation
Hallo Frank,

ich konnte den Fehler mit LV2014SP1 nachvollziehen.

Lösung/Workaround: entweder die parallele Ausführung der FOR-Loop deaktivieren oder eine flache Sequenz um diese FOR-Loop herum programmieren.

Ich würde den Support bemühen und mir eine CAR geben lassen…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.09.2015, 14:10
Beitrag #3

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Dataflow violation
Auch ich kann das nachstellen - aber man muss genau sein: die Gesamtausführungsdauer liegt schon bei 2 Sekunden, das VI spukt dir in der Anzeige aber nur 2 ms aus.

Hier noch eine Möglichkeit, das Problem zu umgehen: Ein Schieberegister für den Error-Cluster in der While Loop.

Wieso passt das? Da kann ich nur spekulieren. Vermutlich optimiert der Compiler im Hintergrund zu viel heraus. Er erkennt wahrscheinlich, dass prinzipiell deine Parallel-Loop auch schon während der While-Loop gestartet werden kann, denn der Error-Cluster stellt so kein "Hindernis" dar, da er in der While-Loop nicht manipuliert wird. Zwecks Parallelität der For-Loop wird dann offensichtlich die Ausführung nach vorne gezogen.

Trotzdem hast du Recht, so sollte das nicht sein, wenn man sich auf DATAFLOW verlassen will.

Ab mit dem Bsp zu NI!

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
18.09.2015, 14:17
Beitrag #4

Frank M-F Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 55
Registriert seit: Oct 2011

2011
2011
DE



RE: Dataflow violation
Lustiger Weise hilft schon ein doppelter Error Draht....

Ich tippe auch auf den Compiler.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.09.2015, 10:35
Beitrag #5

Frank M-F Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 55
Registriert seit: Oct 2011

2011
2011
DE



RE: Dataflow violation
FYI: CAR 547120

Tracken kann ich die nicht, oder?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.09.2015, 18:30
Beitrag #6

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Dataflow violation
Es besteht da wahrscheinlich kein Grund zur Aufregung. Ich habe mit dem VI etwas herumgespielt, dann aber den Originalzustand wieder hergestellt. Überraschenderweise funktioniert es jetzt richtig.
Und ohne die parallele Ausführung der For-Schleife funktionert es sowieso.

14.0 .vi  Dataflow violation.vi (Größe: 10,23 KB / Downloads: 189)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.09.2015, 19:45
Beitrag #7

BNT Offline
LVF-Freak
****


Beiträge: 744
Registriert seit: Aug 2008

5.0 - 22Q3
1999
EN

64291
Deutschland
RE: Dataflow violation
Es gibt im LabVIEW Champions Forum eine Diskussion zu diesem Thema.
Dort geht es um eine anderes Detail, könnte aber mit diesem zu tun haben.
Es handelt sich um Einen Compiler-Bug, für den es bereits ein Fix gefunden wurde.


Vielleicht hilft dieses Beispiel, das Problem genauer zu erfassen.
Ich habe diesen Thread dort zitiert. Ich berichte, wenn ich etwas Neues weis.

Holger

NI Alliance Partner & LabVIEW Champion
GnuPG Key: 6C077E71, refer to http://www.gnupg.org for details.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.09.2015, 20:49
Beitrag #8

BNT Offline
LVF-Freak
****


Beiträge: 744
Registriert seit: Aug 2008

5.0 - 22Q3
1999
EN

64291
Deutschland
RE: Dataflow violation
Zitat aus dem Champions Forum:
Zitat:Bug noted, analyzed, diagnosed, and bug fixing is now in progress.
CAR 547269

Es handelt sich offenbar um dasselbe Problem.
Der Optimizer schießt hier leider über das Ziel hinaus.

Gruß Holger

NI Alliance Partner & LabVIEW Champion
GnuPG Key: 6C077E71, refer to http://www.gnupg.org for details.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.09.2015, 21:00
Beitrag #9

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Dataflow violation
Da habe ich mit meiner Vermutung, dass der Compiler zu gut optimiert, genau richtig gelegen...

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
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Dataflow Verständnis Beispiel 911tom 9 6.308 28.11.2017 07:54
Letzter Beitrag: GerdW
  Queue und (kein) Dataflow NoWay 9 7.386 01.06.2015 11:56
Letzter Beitrag: Kiesch

Gehe zu: