LabVIEWForum.de
IMAQdx Read Register - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW Vision (/Forum-LabVIEW-Vision)
+---- Thema: IMAQdx Read Register (/Thread-IMAQdx-Read-Register)



IMAQdx Read Register - stud12 - 13.11.2012 15:15

Hallo liebe LabVIEW-Gemeinde,

ich habe mal wieder ein Problem und erhoffe mir hier ein paar Ratschläge:
Ich steuere momentan über IMAQdx eine Kamera an, AVT Guppy 036C mit Firewire. Das Problem is, dass ich mit IMAQdx an dessen Grenzen stoße, da bestimmte Parameter der Kamera nur über das Register (IIDC 1394-based) zu schreiben bzw. auszulesen sind. Das is für mich komplett neu, hab mich aber den letzten Abend etwas mit der Sache auseinander gesetzt und ein bisschen rumprobiert. Im Technical Manual HIER sind die RegisterAdressen beschrieben und wie die zurüchgelieferten Werte zu interpretieren sind (32-bit, Big Endian), und genau da beginnen aber schon meine ersten Probleme.

Mal ein Bsp.:
Ich möchte die Camera-ID auslesen (siehe Bild 1), Bit [0...15] (Ergebnis sollte 204 sein). Dazu gebe ich den Befehl F1000018 in "Read Register" ein, bekomme dann aber als Bitfolge nur 24 Bit zurück, siehe Bild 2 (Man muss dazu sagen, der Ursprungswert wird, wenn ich ein Anzeigeelement erstellen lasse, in Hex ausgegeben). Das verwirrt mich schonmal, schließlich hätte ich 32-bit erwartet Huh
Versucht LabVIEW dass in sowenige Bit wie möglich umzuwandeln, und wenn ja, wie kann ich das ändern? Und aus welcher Richtung muss ich die Bits dann lesen, da ich nich weiß wie rum LabVIEW das rechnet (is ja Big-Endian)?

Das wär jetzt Problem Nr. 1, und dabei belass ich es erstmal, um den Beitrag kurz zu halten.

Viele Grüße,
Fabian


RE: IMAQdx Read Register - stud12 - 13.11.2012 17:04

Okay, hab die Lösung selbst rausgefunden.
Ich schreib mir in Gedanken noch 8 weitere Bit vor die angegebene Reihenfolge (LabVIEW würde die sofort wieder löschen, das sie ja nicht gezählt werden), und dann les ich die ersten 16 Bit ganz normal von rechts nach links aus, und komme auf meinen erwarteten Wert von 204.