Discusiones sobre Productos NI

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

event structure

Hola. Al ejecutar los diferentes casos de un event structure se observa en mi programa como todos los demás botones y acciones  se bloquean hasta que este no acaba. De esta forma si inicio ejecuto cualquier evento no puedo pararlo o realizar cualquier otra acción sobre el programa hasta que acabe. Alguien tiene alguna idea de porque se puede producir esto?. Un saludo y muchas gracias
0 kudos
Mensaje 1 de 6
3.328 Vistas

Hola,

 

Te recomiendo que utilices un Productor/consumidor con cola de eventos

 

File/New/Vi/From template/Producer-Consumert Design Pattern-Events

http://zone.ni.com/devzone/cda/tut/p/id/3085

 

http://zone.ni.com/devzone/cda/tut/p/id/3023

 

Este tipo de arquitectura de programación es bastante bueno para no perder datos, ya que se almacenan en colas. Pudiendo dar prioridad a diferentes tareas con sus vi´s (queue operations)

 

y para forzar el fin de un bucle que se ejecuta, puedes utilizar los controles con shared variables. te permitirán finalizar el bucle sin problemas

http://zone.ni.com/devzone/cda/tut/p/id/4679

 

 

Un saludo

0 kudos
Mensaje 2 de 6
3.320 Vistas
Me podrías mandar algun vi que lo hiciese? es que no se mucho ingles. Lo estoy intentando pero no consigo enterarme bien. Un saludo y muchas gracias
0 kudos
Mensaje 3 de 6
3.302 Vistas

No es complicado el funcionamiento de este tipo de estructuras, tienes que intentar seguir la línea de código.

 

Te envío un vi demo, tiene 5 botones presionalos como quieras, luego verás un indicador string que va mostrando el botón que has presionado. Si lo haces rápido verás como se ha quedado en memoria la secuencia en como los has presionado.

 

Estructura codigo:

 

     Productor:Detecta los eventos, cuando presionas los controles,y los guarda en colas. Tienes que saber el tipo de dato que vas a pasar en la cola, te lo indico en el VI.

 

     Consumidor:Según el dato que recibe, ejecuta una parte del codigo. Te he puesto un delay de 1000ms para que veas como almacena colas. Quita después ese delay y pruebalo.

 

Espero te sirva de ayuda, un saludo

0 kudos
Mensaje 4 de 6
3.295 Vistas
Muchas gracias pero tengo labview 8.5. No me deja abrirlo!!!
0 kudos
Mensaje 5 de 6
3.290 Vistas
0 kudos
Mensaje 6 de 6
3.286 Vistas