La Estructura de Eventos no Captura el Evento del "Cambio de Valor" Cuando los Valores son Cambiados Dinamicamente.



Hardware: PXI/CompactPCI>>Controllers

Problema:
Utilizando una estructura de eventos, yo configure un caso para ejecutarse cuando hay un cambio de valor en un indicador del Panel Frontal. En mi VI, el indicador es enviado de un valor a otra parte de mi código. Cuando ejecuto el VI, yo puedo ver que el valor del indicador cambia, pero el código en el evento que yo cree nunca se ejecuta. ¿Por qué mi Estructura de Eventos no registra el Cambio de Valor de mi indicador?

Solución: La Estructura de Eventos solamente registra eventos generados por la interacción directa del usuario en el Panel Frontal. En este ejemplo, el valor del indicador es cambiado dinámicamente, de este modo LabVIEW no captura evento del cambio de valor. Además, los eventos de cambio de valor no ocurren si usted utiliza el VI Server, variables globales, variables locales y otros para cambiar el VI o los objetos del panel frontal dinámicamente.

Hay una excepción: los eventos para los controles y los indicadores pueden ser generados dinámicamente con un nodo de propiedad, utilizando la propiedad Value (Signaling). Esto escribe solamente la propiedad creada en un evento que actúa como cambio de valor en el panel frontal cada vez que es escrito. Tenga cuidado al utilizar esta propiedad en un ciclo, ya que si es escrito en cada iteración del ciclo, esto puede generar un cambio de valor para cada iteración, sin importar si el valor ya fue cambiado.

Vea la figura debajo y el VI adjunto para una demostración.



El objetivo es detectar el cambio de valor del indicador Event Source, el cual fue planeado para ser cableado al control Numeric. Más que cablear el Numeric al Event Source fuera de la estructura de eventos, esto es hecho dentro de la estructura de eventos para el cambio del valor de Numeric para que el nodo de eventos de datos NewVal pudiera utilizarse para prevenir el cambio en Event Source siendo enviado cada tiempo. Inmediatamente después de que Numeric tiene un cambio de valor, el caso 2 de la estructura de eventos se ejecuta y un cambio de valor del Event Source ha se marca para la siguiente iteración del ciclo While. El caso 1 de la estructura de eventos es el siguiente:




En LabVIEW 7.1 o anteriores, consulte el Manual de Usuario de LabVIEW (Adjuntado debajo) para mas información en el registro de eventos. En LabVIEW 8.0 o más nuevos consulte los temas de Eventos de Usuarios(User Events) en LabVIEW Help(El vinculo se agrega a continuación).

Ligas Relacionadas:

Product Manuals: LabVIEW Help LabVIEW Help: User Events

Developer Zone Tutorial: Event-Driven Programming in LabVIEWKnowledgeBase 30BENK7Y: Value Change Event Case Not Reading the Correct Value



Archivos Adjuntos:


Indicator Event 8.2.1.vi - Indicator Event 8.2.1.vi
Indicator Event 7.1.vi - Indicator Event 7.1.vi



Día del Reporte: 10/04/2001
Última Actualización: 04/24/2009
Identificación del Documento: 2E3EMFO9