LabVIEWForum.de - Laufzeitprobleme

LabVIEWForum.de

Normale Version: Laufzeitprobleme
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo an die Forenuser,

eine Frage eines irritierten Vision-Nutzers (LV 8.2.1 + Vision)

Bei der Anwendung von VIs zur Bildmanipulation treten Effekte auf, die ich nicht erklären kann (wie ich aus dem Forum ersehe, bin ich mit solchen Problemen nicht der einzige). Damit meine ich vor allem Effekte, das trotz verbundener Errorleitung und evtl. Anordnen von Manipulations-VIs (z. B. IMAQ Resample, Filterfunktionen oder Speicher-VIs) in Sequenzstrukturen diese doch nicht in der richtigen Reihenfolge ausgegeben werden.

Als Beispiel vielleicht ein Blockschaltbild eines VIs, das nur ein auszuwählendes BMP laden soll, dieses im Originalzustand in einem Image-Rahmen ("Original") darstellt und eine weitere Darstellung nach Bearbeitung in einem Image-Rahmen daneben ("Bearbeitet") anzeigen soll (die Anwendung soll mit Schieberegler einstellbare Threshold-Werte für Filterfunktionen verwenden, deshalb Anordnung in Schleifen). Damit das Bild reinpasst, wird vorher ein Resampling auf die Bildrahmengröße durchgeführt. Und was passiert ? Das gefilterte Bild erscheint in beiden Rahmen, das dürfte laut Blockschaltbild nicht sein. Das ist nicht der einzige Fehler, dies ist nur ein konstruiertes Beispiel von vielen.

[attachment=8132]

Kann mir jemand einen Tip geben ? Besten Dank im Voraus !
Doch, könnte sein, dass in diesem Fall alles korrekt läuft.

Du hast nämlich nur ein IMAQ-Bild am Anfang angelegt (das mit dem Label Original). Und dann machst du damit Manipulationen, ohne eine Kopie anzulegen. Deshalb mglw. 2x dieselbe Ausgabe.

MfG, Jens
Hallo Jens, danke für die schnelle Antwort.

Vielleicht habe ich das Konzept doch nicht richtig verstanden, ich dachte nicht, das sich ein VI entgegengesetzt der Ablaufrichtung auf ein Objekt weiter vorn auswirken kann. Das heisst also, in jedem Schleifendurchlauf erst eine Kopie erstellen, diese manipulieren und dann darstellen. Ich bild mich mal weiter...

Micha
' schrieb:Vielleicht habe ich das Konzept doch nicht richtig verstanden, ich dachte nicht, das sich ein VI entgegengesetzt der Ablaufrichtung auf ein Objekt weiter vorn auswirken kann.
Doch, das geht schon, bei üblichen FP-Ctrl z.B. über Referenzen. Ich bin jetzt aber auch nicht der große VISION-Experte. Aber ein IMAQ-Bild existiert nur 1x im Speicher. Und wenn du damit Manipulationen machst, wirkt sich das (meines Wissens nach) auf alle Anzeigen aus.
' schrieb:Das heisst also, in jedem Schleifendurchlauf erst eine Kopie erstellen, diese manipulieren und dann darstellen. Ich bild mich mal weiter...
Nicht unbedingt in jedem Durchlauf, nur wenn du alle Ergebnisse auch darstellen willst.

Falls ich hier jetzt Mist erzählt habe, bitte ich darum, mich zu korregieren.

MfG, Jens
Ist korrekt Jens,
der IMAQ bilddatentyp ist eine referenz auf einen bestimmten speicherbereich.
D.h. es gilt im Falle der IMAQ Datenleitung NICHT unmittelbar das Datenflussprinzip.

Wenn du entweder quasi-parallel Bildmanipulationen durchfuehrst und/oder Bildanzeigen nach den einzelnen Bildmanipulationen haben willst, musst du fuer jeden Zweig eine Kopie des IMAQDatentyps anlegen.
Danke für eure Antworten. Die Aussage, das das Bild nur einmal im Speicher gehalten wird, erklärt so einige Effekte, die ich irrtümlich mit Laufzeitproblemen verwechselt habe (nicht im genannten Beispiel, andere Anwendungen).

Gruß Micha
Referenz-URLs