16.08.2007, 12:25
Beitrag #1
|
wolfmichael
LVF-Grünschnabel
Beiträge: 29
Registriert seit: Aug 2007
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...
--------------------------------------------------------
|
|
|
16.08.2007, 12:40
Beitrag #2
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Laufzeitprobleme
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!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
16.08.2007, 12:53
Beitrag #3
|
wolfmichael
LVF-Grünschnabel
Beiträge: 29
Registriert seit: Aug 2007
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...
--------------------------------------------------------
|
|
|
16.08.2007, 13:28
Beitrag #4
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Laufzeitprobleme
' 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!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
16.08.2007, 14:53
Beitrag #5
|
thomas.sandrisser
LVF-SeniorMod
Beiträge: 1.298
Registriert seit: Sep 2005
xxxx
2005
EN
78759
United States
|
Laufzeitprobleme
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.
|
|
|
17.08.2007, 07:51
Beitrag #6
|
wolfmichael
LVF-Grünschnabel
Beiträge: 29
Registriert seit: Aug 2007
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...
--------------------------------------------------------
|
|
|
| |