23.12.2011, 07:26
(Dieser Beitrag wurde zuletzt bearbeitet: 23.12.2011 07:27 von dereinzug.)
Beitrag #1
|
dereinzug
LVF-Grünschnabel
Beiträge: 34
Registriert seit: Jul 2006
2010 Sp1 / 2011
2006
DE
91xxx
Deutschland
|
Liste aller im Speicher befindlichen Bildreferenzen?
Hallo,
gibts ein VI, das mir alle aktuell erstellten Bilder(referenzen) bzw. aller aktuell
im Speicher befindlichen Bilder ausgibt?
Hintergrund: Ich möchte für ein SubVI den Namen eines Hilfsbildes für eine Maske
automatisch vergeben und dabei sicher gehen, dass der Name und damit die Referenz noch nicht vorhanden ist.
Das Bild soll jedesmal wieder aus dem Speicher gelöscht werden.
Plan B: wäre ein Name, dessen Teil Zahlen sind, die ich per Zufallsgenerator erstelle. Ohne es probiert zu haben, bin ich
damit aber noch nicht ganz glücklich.
ciao Tom
|
|
|
23.12.2011, 08:00
Beitrag #2
|
b.p
LVF-Gelegenheitsschreiber
Beiträge: 197
Registriert seit: Oct 2010
2009-14
-
DE_EN
Sonstige
|
RE: Liste aller im Speicher befindlichen Bildreferenzen?
Morgen,
so Dinge kommen mir bekannt vor. IMAQ und memory management ist suboptimal und ich habe mich dann letztes Jahr mal hingesetzt und meine eigene lib drübergeschrieben. Objektorientiert und alles :-)
Die quick-und-dirty-Lösung lautet: Namen mit timestamp(cycles..)+aufrufender Prozessor/THread (Multicore!) erstellen... und dann entweder am Ende des subVIs löschen oder, schlimmer noch, diese Option beim Dispose wählen, die alle Daten verwirft..
Besser: Selber verwalten..
Soweit ich weiß, kriegt man keine Liste an Referenzen, außer, wenn man sich die Buffer selbst configuriert (und dann hat man die Info eh). Lasse mich da gerne eines besseren belehren, vor allem weil diese Information intern da sein muss (sh Dispose..) und vielleicht kann einer von den Skripting-Wizards da was herzaubern..
Gruß,
Birgit
|
|
|
24.12.2011, 01:17
Beitrag #3
|
|
|
28.12.2011, 14:38
Beitrag #4
|
dereinzug
LVF-Grünschnabel
Beiträge: 34
Registriert seit: Jul 2006
2010 Sp1 / 2011
2006
DE
91xxx
Deutschland
|
RE: Liste aller im Speicher befindlichen Bildreferenzen?
@b.p
Ich habs jetzt mal mit den Zufallszahlen probiert.
Ich ruf das SubVI mehrmals parallel auf. Von daher kann ich nicht ganz ausschliessen, dass es auch mal genau im gleichen Moment
vom gleichen Prozessor ausgeführt wird.
Is vermutlich zwar sehr unwahrscheinlich, das zwei addierte Zufallszahlen zur gleichen Zeit das gleiche ergeben, erscheint mir da aber noch etwas unwahrscheinlicher
@unicorn
Danke für den Tipp. Behalte ich auf jeden Fall mal im Hinterkopf. Für den angedachten Zweck erscheints mir aber zu aufwändig.
Natürlich vor dem Hintergrund, das mein Ansatz mit dem zufälligen Namen funktioniert.
@b.p. und unicorn
Danke für eure Tipps!
ciao Tom
|
|
|
02.01.2012, 14:03
Beitrag #5
|
|
|
03.01.2012, 11:42
Beitrag #6
|
b.p
LVF-Gelegenheitsschreiber
Beiträge: 197
Registriert seit: Oct 2010
2009-14
-
DE_EN
Sonstige
|
RE: Liste aller im Speicher befindlichen Bildreferenzen?
^^ Im Regelfall stimme ich zu.
Es heißt ja nicht, dass man so viele Bilder im Speicher hat, sondern vielleicht nur ganz bestimmte aufhebt. Und wenn man dann Fehlerquoten im ppm-Bereich garantieren muss und hundert Bilder in der Minute erstellt und die Anlage im Dauerbetrieb ist..
Bin nur gerade auf das Thema sensibilisiert, weil ich so was in die Richtung mache :-) .. ja, Hyperthreading zur selben Zeit ist aber auch seehr theoretisch möglich.. deswegen am besten kombinieren :-)
|
|
|
03.01.2012, 14:48
Beitrag #7
|
|
|
03.01.2012, 22:33
Beitrag #8
|
b.p
LVF-Gelegenheitsschreiber
Beiträge: 197
Registriert seit: Oct 2010
2009-14
-
DE_EN
Sonstige
|
RE: Liste aller im Speicher befindlichen Bildreferenzen?
Also zumindest bei mir werden nicht nur Kamerabilder verwendet, sondern auch dynamisch welche erzeugt..
|
|
|
04.01.2012, 14:57
Beitrag #9
|
|
|
04.01.2012, 15:49
|
b.p
LVF-Gelegenheitsschreiber
Beiträge: 197
Registriert seit: Oct 2010
2009-14
-
DE_EN
Sonstige
|
RE: Liste aller im Speicher befindlichen Bildreferenzen?
Ich glaube, jetzt bewegen wir uns nur noch auf theoretischem Grund.
Dass man sich eine eigene Lib über IMAQ basteln muss, ist nach ein paar Projekten klar :-), hab ich auch gemacht, und der OP wird schon eine Lösung gefunden haben.
Eine singuläre Namen-vergeb-Funktion ist aber wirklich eine gute Idee, und vermutlich schneller als meine Prozess-ID-Lösung. Mal testen/umbauen muss... (Und wenn man wirklich parallel fahren will, könnte man ja dynamisch mehrere solcher Funktionen mit unterschiedlichen Präfixen für jeden Prozess erzeugen und dann.. ich gleite ab. )
Gruß,
Birgit
|
|
|
| |