Discusiones sobre Productos NI

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

Eventos en el proyecto Finite Measurement Sample Project

Saludos

 

Estoy modificando el proyecto "Finite Measurement Sample Project" de forma que exista un botón que permita abortar una adquisición. Para ello estoy utlizando este ejemplo https://decibel.ni.com/content/docs/DOC-15815, El problema que estoy teniendo es que en el momento en que ejecuto la adquisición el panel frontal se queda bloqueado y no se acepta ningúna pulsación de botones. He probado ha deselecionar "Lock front panel" de la estructura de eventos pero permanece el mismo funcionamiento.

 

Adjunto una versión simplificada del proyecto en el que reproduzco el problema.

 

Gracias a todos

 

 

0 kudos
Mensaje 1 de 10
4.018 Vistas

 Hola senper,

 

¿Pödrías describir un poco más la problemática que se presenta con tu aplicación? ¿El VI deja de responder y por ende deja de responder el panel frontal? ¿Los botones no son leídos por la estructura? ¿No se pueden cambiar los valores de los controles aunque el VI si esté funcionando correctamente?

 

Un saludo!

0 kudos
Mensaje 2 de 10
4.006 Vistas

Si, intento explicarme mejor, la idea es poder realizar una adquisición que se pueda abortar programaticamente utilizando un botón en el panel frontal.  Si sigo el ejemplo del vinculo de "abort task" en un vi en blanco funciona correctamente. El problema es cuando intento realizar lo mismo en el proyecto adjunto, por alguna razón el panel frontal se bloquea durante todo el tiempo que dura la adquisición y no responde a los botones. Lo que desconozco es la razón por la que se bloquea el panel frontal ya que no está habilitado el bloqueo del panel frontal en la estructura de eventos.

Espero que ahora esté más claro el problema, y te agradezco tu interés

0 kudos
Mensaje 3 de 10
3.997 Vistas

Hola senper,

 

Me parece que el problema se encuentra en la estructura de eventos, específicamente en la manera de registrar los cambios de valores de la referencia al control tipo booleano que tiene en el VI, ya que ésta debe ser del tipo dinámico para que sea reconocido por el caso.

 

DynamicEvents.PNG

 

Así mismo un cambio en el punto en donde se abre el registro a eventos puede favorecer el rendimiento del programa, del siguiente modo:

 

DynamicEvents2.png

 

Mucho éxito en su aplicación. Un saludo!

0 kudos
Mensaje 4 de 10
3.996 Vistas

Hola Oscar:

 

He realizado los cambios que me indicas y el panel frontal sigue teniendo el mismo comportamiento, bloqueado ¿te sucede a tí lo mismo?. Lo que no entiendo es la razón del bloqueo ya que el evento dinámico dura muy poco, lo justo para activar el siguiente estado.

 

De todas formas te agradezco el tiempo dedicado y los consejos para mejorar el código.

 

Saludos

0 kudos
Mensaje 5 de 10
3.989 Vistas

Hola senper,

 

No tengo problemas de bloqueo de la aplicación cuando se ejecuta el VI, o se llama a partir de otro panel frontal con la referencia de entrada. Comentaba anteriormente que en un proyecto nuevo sí funcionaba correctamente, ¿ha logrado reproducir este error en otro equipo? ¿con cuál versión de LabVIEW, sistema operativo y equipo está probándolo?

 

Un saludo!

0 kudos
Mensaje 6 de 10
3.979 Vistas

Hola Oscar

 

Lo he probado en dos máquinas distintas, se ha programado en ambos casos con LabVIEW 12, una máquina con windows XP y otra con windows 10. En ambas el vi funciona perfectamente salvo que  el panel frontal bloquea los controles y no puedo presionar el botón de abort. Pero si sólo hay un vi "limpio" como el adjunto funciona perfectamente.

 

Saludos

 

 

Descargar todos
0 kudos
Mensaje 7 de 10
3.973 Vistas

Hola senper,

 

Efectivamente, los VIs enviados no se bloquean en el panel frontal. Me parece que el problema puede estar en alguno de estos dos casos:

 

a) Que en el bloque "Reg Events" esté seleccionada la opción de "Lock Panel Until Handler Completes", como se explica en la siguiente imagen y este foro: http://forums.ni.com/t5/LabVIEW/Disable-front-panel-lock-on-dynamic-events/m-p/3227243#U3227614

 

b) Que el problema se encuentre en la estructura de eventos, al estar activada la casilla de "Lock Panel", como se explica en este documento: http://digital.ni.com/public.nsf/allkb/572E42F380622D0586257CAD007C06DD?OpenDocument

 

Espero se pueda resolver de este modo. Un saludo!

0 kudos
Mensaje 8 de 10
3.967 Vistas

Hola Oscaz:

 

Gracias por los consejos pero tampoco han funcionado, estaba ya dispuesto a reescribir la toda aplicación cuando probe a crear dos botones más y crear un nuevo evento y un nuevo case en la máquina de estados y ha funcionado.

 

 

 

No se muy bien que le sucede al código original pero al menos puedo seguir con la aplicación. Te adjunto el proyecto modificado por si tienes curiosidad, el boton del nuevo estado es adquirir y el que genera el evento el el subvi es ok button

 

Muchas gracias por la ayuda, si realmente descubro que le sucedía al código original te aviso y te lo cuento.

 

Saludos

0 kudos
Mensaje 9 de 10
3.958 Vistas

Hola senper,

 

Suena intrigante, muchas gracias por hacernos saber tu avance. Quedamos al pendiente de más noticias.

 

Un saludo!

0 kudos
Mensaje 10 de 10
3.950 Vistas