Obtenga y establezca atributos programáticamente con NI-IMAQdx

Actualizado el Oct 18, 2022

Ambiente

Software

  • LabVIEW

Controlador

  • NI-IMAQdx
  • NI-IMAQ

Otros

IMAQ para IEEE 1394

  • ¿Cómo puedo configurar los atributos de mi cámara mediante programación, como el brillo, la velocidad de obturación y la ganancia, utilizando NI-IMAQdx?
  • Recientemente migré de NI-IMAQ para IEEE 1394 a NI-IMAQdx. Anteriormente usé IMAQ1394GetAttribute para C o la propiedad Attr con el property node IMAQ 1394. ¿Dónde puedo encontrar estas opciones en NI-IMAQdx?

Vea la información a continuación para configurar mediante programación los atributos de su cámara en LabVIEW y en lenguajes de programación en texto.

Utilizando LabVIEW

Use el property node IMAQdx para configurar los atributos de la cámara en LabVIEW. Para encontrar el property node IMAQdx:
  • Navegue a la paleta de funciones de Vision and Motion>>NI-IMAQdx
  • Coloque un property node general en el diagrama de bloques, haga clic con el botón derecho y navegue hasta Select Class >> IMAQdx.
Para detalles sobre cómo configurar el nodo de propiedad, consulte los Camera Attributes in LabVIEW en el documento de NI-IMAQdx Concepts Help (NI-IMAQdx Concepts Help >> Using NI-IMAQdx in LabVIEW >> Acquisition Types >> Camera Attributes in LabVIEW) . El enlace descargará un archivo zip del documento de ayuda en su computadora.

Si está utilizando una cámara GigE Vision, consulte Programmatically Controlling Camera Settings en el documento de NI-IMAQdx Concepts Help (NI-IMAQdx Concepts Help >> Acquiring from GigE Vision Cameras >> Programmatically Controlling Camera Settings).

La figura a continuación muestra un ejemplo de cómo un property node IMAQ1394 en comparación con un property node IMAQdx se puede configurar para cambiar el nivel de brillo de una cámara.

Usando lenguajes basados en texto

Utilice la llamada a la función IMAQdxGetAttribute para obtener un valor o configuración de atributo particular. Si no está seguro del nombre exacto o el valor de un atributo, puede llamar a IMAQdxEnumerateAttributes2 e IMAQdxEnumerateAttributeValues para devolver estos datos.

Si no conoce de antemano el número de valores de atributo disponibles, puede obtener esta información completando estos pasos:

  1. Llame a la función IMAQdxEnumerateAttributes2 con el parámetro attributeInformationArray establecido en NULL. El tamaño necesario se almacena en el count.
  2. Asignar count con el tamaño dado.
  3. Llama a esta función de nuevo usando la matriz previamente asignada.


Puede hacer los mismos pasos para IMAQdxEnumerateAttributeValues estableciendo el parámetro de list en NULL, que almacena el tamaño necesario en size. Para obtener más información sobre el uso de estas funciones y otras funciones de IMAQdx para idiomas basados en texto, consulte la Ayuda de referencia de funciones de NI-IMAQdx que se encuentra en National Instruments\NI-IMAQdx\Docs .

Additional Information

El controlador NI-IMAQdx permite que los atributos de la cámara se obtengan dinámicamente usando una entrada de string. El motivo de este cambio es que con el controlador IMAQ 1394, todas las cámaras eran compatibles con DCAM y tenían un conjunto específico de atributos. Con el controlador IMAQdx, hay muchas más cámaras compatibles con diferentes atributos. Por lo tanto, en lugar de enumerar una lista establecida de características, es necesario que los usuarios elijan las propiedades disponibles para sus cámaras particulares.

Solución de problemas adicionales al usar LabVIEW

Si obtiene un error: -1074360305 attribute not supported by the camera o no está seguro de qué cadena de atributo debe pasar a la propiedad Atributo activo, use el IMAQdx Enumerate Attributes VI para extraer información sobre el string exacto de un atributo, ya sea no se puede leer ni escribir ese atributo, y qué tipo de datos puede aceptar para una entrada.

El IMAQdx Enumerate Attributes VI rellena todas las propiedades disponibles para la cámara y se puede indexar en consecuencia. Las propiedades que aparecen son específicas de la cámara que forma parte de la sesión a la que el property node hace referencia.

Para obtener más información sobre el uso de estas funciones y otras funciones de IMAQdx para LabVIEW, consulte la Ayuda de referencia de NI-IMAQdx VI (en inglés) o consulte el ejemplo Grab and Attribute Setup.vi en el NI Example Finder. El enlace descargará un archivo zip del documento de ayuda en su computadora.