(25.01.2012 14:54 )labrat schrieb: Nun vielleicht hilft ja noch der folgende Hinweis: Im Windows Gerätemanager erscheinen die beiden Kameras unter verschiedenen Kategorien.
Die Sumix SMX-150 USB ist untder dem Punkt "Bildbearbeitungsgeräte" aufgelistet, während die Xencis Xeva XS in einem extra Verzeichnis "Xenics devices" vorzufinden ist.
Meine Vermutung ist jetzt, dass dem Rechner nicht wirklich klar ist, dass da zwei Kameras angeschlossen sind. Folglich lässt er die Initialisierung nur für eine Kamera (mit der DeviceID = 0) zu. Würde das Sinn machen oder bin ich da komplett auf dem Holzweg?
Danke
Ich tippe auf den Holzweg
Meines Erachtens sind das zwei grundlegend verschiedene Treiber, die beide ihr eigenes Resourcen Management haben. Damit ist es nicht verwunderlich, dass die beide mit der Device Number 0 beginnen zu zählen, und da Du nur je eine Kamera hast, gibts halt bei beiden auch kein Device 1. Die Tatsache dass hier halt beide Treiber Device 0 als erstes Gerät haben ist einfach eine Koinzidenz aber keine wirkliche Fehlerursache.
Interessant wäre es zu wissen, ob man in einer anderen Umgebung (bevorzugt C) beide Kameras problemlos gleichzeitig betreiben kann. Geht das, dann hakelt es wohl mit der Tatsache dass LabVIEW VIs threadingmässig etwas aufwendiger aufgerufen werden dann man das typischerweise in C macht. Threadmanagement ist nämlich eine komplizierte Angelegenheit, weshalb die meisten Programmierer dies in C nur machen wenn es absolut nicht zu vermeiden ist. In LabVIEW ist Defaultmässig alles Multithreading, und muss man einiges an Mühe machen um das anders zu kriegen. Das ist normalerweise kein Problem, ausser Du rufst Dinge auf, die mit Multithreading nicht zurecht kommen (was in der heutigen Zeit eindeutig als Makel (sprich Bug) der aufgerufenen Komponente gesehen werden sollte).
Wen das auch in einem C Programm nicht funktioniert wirds lustig. Dann haben die zwei Treiber irgendwo einen Konflikt weil sie dieselben Windows Resourcen zu verwenden versuchen. Dann kannst Du die Lieferanten anschreiben und Ihnen dies als Bug melden. Grosse Chancen dass die aber nur mit dem Finger auf den anderen weisen und sagen dass sie nichts falsch machen und der Fehler beim anderen Treiber liegt.