INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Liste aller im Speicher befindlichen Bildreferenzen?



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!

23.12.2011, 07:26 (Dieser Beitrag wurde zuletzt bearbeitet: 23.12.2011 07:27 von dereinzug.)
Beitrag #1

dereinzug Offline
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
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.12.2011, 08:00
Beitrag #2

b.p Offline
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.. Denknach

Gruß,
Birgit
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.12.2011, 01:17
Beitrag #3

unicorn Offline
LVF-Freak
****


Beiträge: 680
Registriert seit: Jul 2009

8.6.1, 2010 - 2012
1994
EN

10xxx
Deutschland
RE: Liste aller im Speicher befindlichen Bildreferenzen?
Man könnte auch ein eigenes Create IMAQ Image erstellen, das sich alle Namen aller erstellen Bilder merkt. Dann hätte man die gewünschte Liste zur Verfügung. Man muss natürlich dann in allen Applikationen dieses neu Create-VI benutzen und das IMAQ Dispose Vi müsste ebenfalls durch eine eigene Version ersetzt werden, die die Name der gelöschten Bilder wieder freigibt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.12.2011, 14:38
Beitrag #4

dereinzug Offline
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
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.01.2012, 14:03
Beitrag #5

unicorn Offline
LVF-Freak
****


Beiträge: 680
Registriert seit: Jul 2009

8.6.1, 2010 - 2012
1994
EN

10xxx
Deutschland
RE: Liste aller im Speicher befindlichen Bildreferenzen?
Zufallszahlen sind eine gute Idee für den Dateinamen. Da es sich auf einem Computer tatsächlich nur um Pseudo-Zufallszahlen handelt, sind aufeinanderfolgende Zahlen niemals gleich und die Zufallszahlenfolge wiederholt sich erst nach 10 hoch ziemlich viel (je nach Qualität des Generators). Jedenfalls wirst Du niemals soviele Bilder gleichzeitig im Speicher haben können.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.01.2012, 11:42
Beitrag #6

b.p Offline
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 :-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
03.01.2012, 14:48
Beitrag #7

unicorn Offline
LVF-Freak
****


Beiträge: 680
Registriert seit: Jul 2009

8.6.1, 2010 - 2012
1994
EN

10xxx
Deutschland
RE: Liste aller im Speicher befindlichen Bildreferenzen?
Vielleicht sollte man den Bildnamen auch so zusammenbauen: Kameranummer-laufendeNummer.

Da jede angeschlossene Kamera zu einem Zeitpunkt nur ein Bild aufnehmen kann, hat man ein VI/LV-Klasse/Objekt, das die Kamera steuert und die laufende Nummer verwaltet. Sollte doch klappen, oder?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.01.2012, 22:33
Beitrag #8

b.p Offline
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..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.01.2012, 14:57
Beitrag #9

unicorn Offline
LVF-Freak
****


Beiträge: 680
Registriert seit: Jul 2009

8.6.1, 2010 - 2012
1994
EN

10xxx
Deutschland
RE: Liste aller im Speicher befindlichen Bildreferenzen?
Dann wird es etwas schwieriger. Man könnte sich ein einmalig existierendes VI bauen, bei dem die Namen für die einzelnen Bilder angefordert werden. Dieses singuläre VI zählt dann einfach mit und spuckt entsprechende Namen aus.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.01.2012, 15:49
Beitrag #10

b.p Offline
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. Blush )
Gruß,
Birgit
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Gehe zu: