LabVIEWForum.de
IMAQ fileWrite & IMAQ erase - Erase löscht bilder vor dem Schreiben - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW Vision (/Forum-LabVIEW-Vision)
+---- Thema: IMAQ fileWrite & IMAQ erase - Erase löscht bilder vor dem Schreiben (/Thread-IMAQ-fileWrite-IMAQ-erase-Erase-loescht-bilder-vor-dem-Schreiben)



IMAQ fileWrite & IMAQ erase - Erase löscht bilder vor dem Schreiben - gottfried - 09.06.2007 10:33

Hallo,

ich bin ratlos. Wieso löscht mir das Erase trotz der Error-Line viele Bilder (nicht Alle) vor dem Schreiben? Wenn ich das Dispose aus der Schleife heraus nehme geht Alles ohne Problem.

Danke

Gottfried


IMAQ fileWrite & IMAQ erase - Erase löscht bilder vor dem Schreiben - jg - 10.06.2007 10:12

Hallo, Gottfried,

gute Frage! Ich hätte auch erst einmal erwartet, dass dein Code funktioniert. Durch den Error-Cluster sorgst du ja dafür, dass das Dispose-VI erst nach dem Schreiben-VI aufgerufen wird.

Meine Erklärung ist somit (extrem) mit Fragezeigen behaftet und ins Blaue hinein vermutet:
Kann mir eigentlich nur folgendes vorstellen: Das IMAQ-WriteFile ist ja im Prinzip nur ein dll-Aufruf (s. BD des VI's). Da ein Bild in einen File geschrieben wird, wird das wohl eine gewisse Zeit brauchen. Mglw. wird der Fehlerausgang schon zurück gegeben, während das Bild noch geschrieben wird (oder noch gar nicht geschrieben wurde). Dann schlägt gleich das Dispose-VI zu, das wahrscheinlich recht schnell geht (schließlich wird da nur Speicher freigegeben). Und dann hat die Write-Funktion nichts mehr zu schreiben. Aber wie gesagt, dies ist sehr fakultativ und mglw. völlig falsch.

Du könntest diese Vermutung mal folgendermaßen überprüfen: Bau mal zwischen Write & Dispose künstlich eine Wartezeit (z.B. 100 ms o.ä.) ein, ob es dann ohne Fehler funktioniert.

MfG, Jens


IMAQ fileWrite & IMAQ erase - Erase löscht bilder vor dem Schreiben - Mr.T - 10.06.2007 10:57

Hmm...

wieviele Schleifendurchläufe macht das Konstrukt denn? Stimmt das mit deiner Vermuteten Anzahl an Bildern überein? (sammle mal die Image-Namen via Autoindex...kommt da das erwartete raus?)
Ansonsten würde ich einfach mal eine Sequenz mit drei Feldern einfügen, um den Errorcluster zu bestätigen.

Wobei ich das überhauptnicht rekonstruieren kann...siehe Anhang.
[attachment=7031]
[attachment=6605]

Das VI erzeugt 10 TIFFs weisse Winkelhalbierende verschiedener Intensität auf schwarzem Hintergrund...funzt!
Da ist aber noch definitiv ein LV-BUG, weil zusätzlich mehrere PIX verändert weden, als gewollt.

Schau mal durch mit einem Breakpoint vor der Anzeige die IMAQs aber ansehen!

Gruß!


IMAQ fileWrite & IMAQ erase - Erase löscht bilder vor dem Schreiben - gottfried - 10.06.2007 15:08

Hallo & Danke für Euren Input,

ich probiere das morgen - nur noch zur Verdeutlichung: ich sammle im Normalfall 100 Bilder mit Autoindex, aber das Ganze zwei Mal (2.Kamera) und beim Schreiben ist plötzlich, obwohl die Schleifen 100x durchlaufen wird, werden viel weniger Bilder erzeugt. Also von 200 Bildern etwa 40.

Ich melde mich Morgen mit den Testresultaten

Gottfried


IMAQ fileWrite & IMAQ erase - Erase löscht bilder vor dem Schreiben - Mr.T - 10.06.2007 16:53

Hmm...

Überprüfe bei der Gelegenheit auch mal, ob Du vielleicht doppelte Imagenamen vergeben hastBig Grin- naja...an den Haaren herbeigezogen, aber manchmal sieht man dann den Wald nicht mehr...

Gruß!


IMAQ fileWrite & IMAQ erase - Erase löscht bilder vor dem Schreiben - gottfried - 13.06.2007 08:49

' schrieb:Hmm...

Überprüfe bei der Gelegenheit auch mal, ob Du vielleicht doppelte Imagenamen vergeben hastBig Grin- naja...an den Haaren herbeigezogen, aber manchmal sieht man dann den Wald nicht mehr...

Gruß!

Nein das ist OK, auch spricht dagegen dass ich alle 200 Bilder habe wenn ich die Bilder erst lange nach dem Schreiben gemeinsam lösche.

Danke für die Idee

Gottfried


IMAQ fileWrite & IMAQ erase - Erase löscht bilder vor dem Schreiben - gottfried - 13.06.2007 08:55

' schrieb:Hmm...

wieviele Schleifendurchläufe macht das Konstrukt denn? Stimmt das mit deiner Vermuteten Anzahl an Bildern überein? (sammle mal die Image-Namen via Autoindex...kommt da das erwartete raus?)
Ansonsten würde ich einfach mal eine Sequenz mit drei Feldern einfügen, um den Errorcluster zu bestätigen.

Wobei ich das überhauptnicht rekonstruieren kann...siehe Anhang.

Schau mal durch mit einem Breakpoint vor der Anzeige die IMAQs aber ansehen!

Gruß!

Die Schleifen sind OK, die Bilder auch. Das Problemlöst sich in Nichts auf wenn ich das löschen ausserhalb der Schleife mache .... ist etwas sonderbar.

Danke


IMAQ fileWrite & IMAQ erase - Erase löscht bilder vor dem Schreiben - Mr.T - 13.06.2007 18:48

lass mal drinnen und mach ne Sequenzstruktur und steck die VI´s in eine eigne Sequenz rein...wie ist es dann?


IMAQ fileWrite & IMAQ erase - Erase löscht bilder vor dem Schreiben - rolfk - 28.06.2007 08:30

' schrieb:Hallo,

ich bin ratlos. Wieso löscht mir das Erase trotz der Error-Line viele Bilder (nicht Alle) vor dem Schreiben? Wenn ich das Dispose aus der Schleife heraus nehme geht Alles ohne Problem.

Danke

Gottfried

Klingt vielleicht blöd aber bist Du sicher dass der Error Cluster vom Write VI zum Dispose geht? Solche Fehler sind mir öfters passiert und alles sah gut aus bis ich es im Einzelschrittbetrieb Stuck für Stuck abarbeitete und sah dass die Funktion eben früher ausgeführt wurde da der Error Cluster auf der Eingangsseite des vorigen VIs angeschlossen war.

Ansonsten wäre das wohl eine Sache von delayed Write, was natürlich auch sein kann.

Rolf Kalbermatter