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 

CCD Kamera mit externem Trigger über DLL ansteuern



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!

16.06.2009, 15:00 (Dieser Beitrag wurde zuletzt bearbeitet: 16.06.2009 17:51 von jg.)
Beitrag #1

aschi Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Jun 2009

2013
2008
kA

3132
Schweiz
CCD Kamera mit externem Trigger über DLL ansteuern
Hallo zusammen

Im Zusammenhang mit meiner Bachelorthesis möchte ich eine CCD Linien Kamera ansteueren. Zur Hardware wird ein SDK (haupsächlich für die Entwicklung mit C++) mitgeliefert, jedoch ist es auch möglich die mitgeliertete DLL mit LV nutzen.

Die Kamera hat folgende Funktionen:

Continous Frame Grabbing: Hier wird mit maximal möglicher Geschwindigkeit, Frames eingelesen und vom Computer abgeholt (maximal 4 frames im Speicher der Kamera)
Dazu habe ich ein Beispielprogram in LV und dieses Funktioniert einwandfrei.

Der andere Modus (für mich der entscheidende) ist das Frame Grabbing beim anstehen eines externen Triggers.
Dafür habe ich das Beispiel Programm ein wenig angepasst und ein DLL Call für die Funktion SetCameraWorkmode eingefügt. Soweit so gut. Wenn ich jetzt das VI starte passiert eine Weile gar nichts und dann stürzt LV entweder sofort ab oder beendet das VI mit der Meldung, dass LabVIEW-Speicher überschrieben worden sei, und LabVIEW das VI nicht weiter ausführen kann.
Ich habe heraus gefunden, dass die C-Funktion GetCurrentFrame, wenn kein externer Trigger anliegt und damit kein Frame im Speicher liegt, natürlich einen Leeren Pointer zurück gibt und deshalb das "MoveBlock" vi einen Fehler verursacht. Deshalb habe ich eine Entscheidung eingefügt, dass im Fall, dass die GetCurrentFrame Funktion einen leeren Pointer zurück gibt, das "MoveBlock" VI nicht ausgeführt wird. Danach möchte ich aber erneut schauen ob ein externer Trigger angekommen ist und damit auch ein neues Frame im Speicher ist.

LabVIEW stürtz aber trotzdem ab und diesmal kriege ich keine Fehlermeldung.

Dasselbe Problem tritt übrigens auf wenn ich im Countinous Mode die anzahl der Frames beschränke, nach einer bestimmten Zeit wird also auch hier der Speicher leer sein und zu den gleichen Resultaten führen wie oben Beschrieben.

Angehängt habe ich das angepasste LV Beispiel Programm (LV Version 8.6) und die DLL mit Headerfile und ein PDF in dem die Übergabeparameter der Funktionen beschrieben sind, das Problem dürfte jedoch sein, dass sich das VI ohne die Hardware nicht ausführen lässt, da zu beginn geprüft wird ob eine gültige Device angeschlossen ist, und die Wahrscheinlichkeit, sehr klein ist, dass jemand genau über die passende Hardware verfügt... Vieleicht kann mir ja dennoch jemand Helfen, und sagen ob das überhaupt so machbar ist, oder ob ich komplet auf dem Holzweg bin.

Freundliche Grüsse

Dominic

Lv86_img


Angehängte Datei(en)
Sonstige .dll  CCD_USBCamera_SDK.dll (Größe: 641 KB / Downloads: 212)

Sonstige .vi  LVExample.vi (Größe: 26,33 KB / Downloads: 249)

Sonstige .pdf  Mightex_CCD_Linear_Camera_SDK_Guide.pdf (Größe: 83,13 KB / Downloads: 2605)

Sonstige .zip  CCD_USBCamera_SDK.zip (Größe: 1,08 KB / Downloads: 244)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Nachrichten in diesem Thema
CCD Kamera mit externem Trigger über DLL ansteuern - aschi - 16.06.2009 15:00

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Trinamic TMCM-610 über Wrapper-dll ansteuern matzesl 14 17.017 14.11.2007 09:56
Letzter Beitrag: matzesl
  LabVIEW: Absturz nach externem Code-Aufruf abrissbirne 22 19.048 14.09.2007 07:18
Letzter Beitrag: rolfk

Gehe zu: