LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Cómo funciona MAX? IMAQ serial write

Hola buenos días, llevo tiempo intentando averiguar cosas sobre la comunicación de una tarjeta PCIe 1433 y una cámara mikrotron 1462. La cosa esq através del icd file y el MAX he conseguido que cambiando parámetros en el MAX cambie el modo de adquisición, ya que envía dichos comandos a la camara y configura los atributos para la tarjeta de adquisición.

Para cambiar los parámetros de la cámara, desde el programa de LabView , estaba utilizando el IMAQ Serial Write. Para cambiar las ganacias y ciertos parámetros funciona a la perfección en tiempo de ejecución, incluso cuando la adquisición está en funcionamiento. Pero si envío los comando de cambiar el modo de adquisicion de la cámara (Los Taps X Bits), la tarjeta parece no enterarse del cambio y no funciona bien. Asi q lo intenté con el IMAQ Set Camera Atribute, lo que pasa esq esta opción no me deja aplicarla en tiempo de ejecución y debería cerrar la sesión de IMAQ, setear los nuevos atributos y crear una nueva. Ya que todos los demás se pueden cambiar, y el MAX aparentemente lo hace, me preguntaba si hay una manera de hacerlo sin crear una nueva sesión de IMAQ e alguna manera que no estoy teniendo en cuenta, o el propio Max cuando se produce un cambio de los atributos cierra y genera una nueva sesion de Imaq de manera transparente al usuario.

 

Gracias!

0 Kudos
Message 1 of 26
(3,437 Views)

Hola!

 

Una pregunta, ¿has probado con una referencia a la cámara y un property node?

 

Un saludo,

Applications Engineer - Certified LabVIEW Developer & Certified TestStand Developer
0 Kudos
Message 2 of 26
(3,413 Views)

pues con una referencia a la cámara no, he probado con una referencia al IMAQ y un property node... Es lo mismo o te refieres a otra manera?

0 Kudos
Message 3 of 26
(3,411 Views)

Hola,

 

Utiliza el VI de este link, ¿ves el atributo que quieres cambiar?

 

https://decibel.ni.com/content/docs/DOC-9038

 

Un saludo!

Applications Engineer - Certified LabVIEW Developer & Certified TestStand Developer
0 Kudos
Message 4 of 26
(3,409 Views)

Hola muchas gracias por echarme una mano. La verdad es que no veo el atributo que quiero cambiar, al ejecutarlo la primera vez me salian una lista en los que no se encontraba, pero aún así no encuentra una camara... Qué diferencia hay entre utilizar Imaqdx o IMAQ pq hasta ahora solo utilizo comandos de IMAQ, pq pensaba que IMAQdx tenia otra funcionalidad.

He estado haciendo pruebas y consigo cambiar unos comandos via "Set Atribute" del IMAQ y otros via puerto serie, para ambas opciones tengo que parar la sesion de IMAQ. La cosa es creo que hay algo raro porque ahora no me funcionana bien los comandos via Serial Write.

Gracias

0 Kudos
Message 5 of 26
(3,407 Views)

Perdona el mensaje anterior no era muy aclaratorio.

La cosa es que tengo que quiero hacer un menu con los parámetros de la cámara, con ell "Set Atribute" no pudeo acceder a todos puesto que el icd file q tengo está editado por mi misma y he añadido algunos pero no soy capaz de añadir todos los atributos necesarios, y este comando no funciona si no está definido en el icd file.

Otra opción es enviar los comandos por el puerto serie, en este caso, el parámetro output mode, no funciona puesto que cambia la configuración dell numero de bits por tap y por tanto la informacion por puerto de la tarjeta gráfica. Este atributo he conseguido añadirlo al icd file. con lo q estoy intentando setear unos por puerto serie y otros mediante el Set atribute, y aunq parece q envia correctamente los comandos la cámara no responde a los comadnos serie.

Es algo raro.

Agradezco mucho tu ayuda.

Maite!

0 Kudos
Message 6 of 26
(3,403 Views)

Hola Maite!

 

Una pregunta, ¿qué tipo de cámara es la tuya? He buscado en la página de Mikrotron y no he encontrado nada.

 

Un saludo,

Applications Engineer - Certified LabVIEW Developer & Certified TestStand Developer
0 Kudos
Message 7 of 26
(3,401 Views)

Es una CMOS, el modelo MC 1362. Temando estos dos enlaces que tiene toda la información.

 

http://www.mikrotron.de/index.php?en_cam_mikrotron

 

http://www.mikrotron.de/pdf/EoSens_CL_MC1360-63_man_e.pdf

 

Un saludo!

0 Kudos
Message 8 of 26
(3,399 Views)

Hola!

 

Ok, es que había estado buscando el modelo del primer mensaje y no lo encontraba 😄

 

Ahora otra pregunta, ¿cómo generaste el fichero icd?

 

Un saludo,

Applications Engineer - Certified LabVIEW Developer & Certified TestStand Developer
0 Kudos
Message 9 of 26
(3,394 Views)

Ay, perdona, que puse el modelo mal!! Smiley Surprised

 

Pues el icd file lo generé a partir de un modelo antiguo que funcionaba para esta cámara, que está en la página web de NI (El MC 1310), y con el file generator me cree uno con los atributos que necesitaba, xa ver la estructura que creaba y fijándome en files de otras cámaras (Contenidos en la carpeta Dat), fui probándo como se le añadian las opciones para enviar los parámetros. Vamos autodidacta total, porque los icd files son los grandes desconocidos. 

Adjunto mi icd file actual. En el cual se soportan todos los modos de la cámara (taps * bits) menos uno (16 tap 1 bit), una opción para aplicar una corrección, bining.. Y algún parámetro más. Y están definidos el resto de parámetros pero no envía el comando adecuado, porque no sé como definirlo.

El comando en sí depende del valor que le llega y no sé como recogerlo en el icd file. Por ejemplo, para cambiar la ganancia, si el nuevo valor es 400h el comando sería :D400h, en el icd file se defininen los comandos de la siguiente manera:

Action (Serial) {
               Command (:D400)
            }

En este caso sería :DValor y no sé como hacerlo para que recoja el valor q le llega y lo concatene al string del comando. Otro problema que me he encontrado es que creo q solo admite valores numéricos, y este comadno se envia en hexadecimal, por lo que es posible q contengan letras.

 

 

Gracias!

0 Kudos
Message 10 of 26
(3,391 Views)