Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Programación Multinúcleo

Estoy  desarrollando un aplicación de visión artificial , la cual consta de 5 líneas independientes (1 cámara a color (GigEVision) x línea). Algunas características generales de la aplicación:

 

  • Las lineas giran a 1.3 m/s, todas tomadas desde un mismo rodillo al cual se le acopla un encoder incremental.
  • deben procesar como minimo 10 unidades x segundo (alta velocidad).
  • Distancia mínima entre un producto y otro es de 80 mm (8 cm), por ende, se tiene 60 ms aprox.  para adquirir y procesar la imagen (reconocimiento y toma de decisión)   para luego adquirir la 2º imagen. Todo esto por cada línea independiente. es 100 % seguro que las 5 líneas van a estar trabajando similtaneamente.
  • Para cada línea la imegen que se adquiere, en un principio, no se va a almacenar, o sea, se adquiere y se procesa en un espacio de memoria.

 

MI pregunta es: Dado que tengo 5 líneas lo más obvio es que utilizaré una programación de multinúcleo (tengo un programa hecho sólo para una linea), ¿Es posible utilizar la programación multinúcleo de Labview en Windows o sólo está restringido a aplicaciones RT (Real Time)?

 

y mi otra pregunta es referente a las presetaciones que debe tener el PC para cumplir con los requisitos mencionados arriba, para ello adquiri 2  tarjetas  NI PCIe 8235, Quad GigEVision (áun no las pruebo). Mi duda es ¿ Que tan eficientes son estas tarjetas y cual es la tarea especificamente que ejecutan; Adquiere y procesa imagenes?.

 

Esas son algunas de mis dudas.

se agradeceria un poco de ayuda!!!

 

Saludos a todos!!!     

 

0 kudos
Mensaje 1 de 3
3.206 Vistas
Buen día!
 
En Windows sí es posible la programación multinúcleo y se hace utilizando las estructuras de Timed Loop y un control o constante para establecer cúal es el core que se desea utilizar. 
 
En cuanto a tus tarjetas NI PCIe 8235, éstas están optimizadas para trabajar en conjunto con el software NI Vision Acquisition, por lo que te ayudan a optimizar la utilización de tus cámaras, mientras que se mantiene el uso de los procesadores de la computadora al mínimo: el uso del CPU para adquirir imágenes es muy bajo.  El procesamiento de imágenes se hace ya sea a través de LabVIEW (usando el Vision Development Module), CVI, el VBAI (Vision Builder Automated Inspection), entre otros. Te pongo una liga que te podría ser de utilidad:
 
Vision Setup and Services
 
En la liga encontrarás manuales y tutoriales acerca de como empezar tus aplicaciones de visión.
 
Sobre los requrimientos de tiempo, depende de muchos factores: 
 
- Resolución que requieras de tus cámaras 
- Si las imágenes serán en blanco y negro o a color 
- El nivel de procesamiento que tú realices para tomar una decisión
 
De cualquier manera, existen algunas herramientas dentro del software de visión (Performance meter dentro del VBAI) que te podrían ayudar a hacer un estimado del tiempo que le toma a tu sistema hacer la adquisición de la imagen y el tiempo de procesamiento. 
 
Espero esto te sea de utilidad!!
José Alberto G.
National Instruments
ELP Support Engineer
www.ni.com/soporte
0 kudos
Mensaje 2 de 3
3.113 Vistas

Hola,

 

       LabVIEW por si solo esta hecho para funcionar multinucleo, y hasta donde sé con solo tener flujos de programa independiente él aprovechara la oportunidad de hacerlo de manera paralela.

 

        En caso de que tengas ciclos for, puedes activar la opcion de ejecutarlos paralelamente.

 

        Aquí puedes leer alguna información más específica Multicore Programming with LabVIEW

 

Saludos,

Luis A. Mata C.
Ing. Electrónico
Whatsapp: +58-414-1985579
BBM Pin: 2B83E99A
Thanks: Kudos
0 kudos
Mensaje 3 de 3
3.097 Vistas