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!
8.2.1, 8.5.1, 2013 FullDev+Vision+AppBuilder
2007
DE
09599
Deutschland
Laufzeitprobleme
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.
Kann mir jemand einen Tip geben ? Besten Dank im Voraus !
--------------------------------------------------------
...und immer auf den String achten...
--------------------------------------------------------
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
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!
8.2.1, 8.5.1, 2013 FullDev+Vision+AppBuilder
2007
DE
09599
Deutschland
Laufzeitprobleme
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
--------------------------------------------------------
...und immer auf den String achten...
--------------------------------------------------------
' 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
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!
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.
8.2.1, 8.5.1, 2013 FullDev+Vision+AppBuilder
2007
DE
09599
Deutschland
Laufzeitprobleme
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
--------------------------------------------------------
...und immer auf den String achten...
--------------------------------------------------------