From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
el 10-28-2009 11:45 AM
Hola, estoy tratando de sincronizar dos VIS. Mi problema es el siguiente; tengo do VIS y comparto información atrvez de ellas con variables compartidas, solo que como el while loop de una vi corre cada interacion mas rapido que la del otro vi, se pierden algunos datos en la transaccion. les estoy mandando un proyecto lo mas simplificado posible que demuestre mi problema. Cabe mencionar que ya he logrado solucionar ese problema con notificadores, el problema con estos es que no solo basta con poner un send notification en la subvi y un wait notification en la vi principal sino que tambien debo poner otro send notification en la vi principal para que no se quede buscando el wait mientras mi subvi esta inactiva, ademas de esto en una aplicacion mucho mas grande que esta, con multiples subvis y muchas variables , se agrandaria muchisimo el codigo.
En pocas palabras quiero que el programa corra de la siguiente manera, si es posible. Mientras no se llama a una subvi el programa corre normalmente, cuando se llama a una subvi primero corre una interacion del subvi pero no se completa sino que pasa a la interacion del vi principal y lee los datos de la subvi que aun no cierra su ciclo, luego se termina la interacion del vi principal junto con la de la subvi. De esta manera podria utilizar las variables que necesitara y sin necesidad de estar preocupado por sincronizar cada una de ellas sino que ya estarian sincronizadas al estalo las vis. Espero el haber sido claro, Muchismimas gracias de antemano, cabe mencionar que estoy utilizando el modulo de real time, por si exsite alguna manera de lograrlo con este. Gracias.
¡Resuelto! Ir a solución.
el 10-30-2009 01:20 PM
Hola cordova MR
Me parece que la forma con la cual podrías atacar tu problema es con una estructura productor consumidor que utiliza buffers de tal manera que puedes enviar datos entre ciclos paralelos por medio de buffers y no estarías perdiendo datos. Aquí te anexo más información al respecto:
http://zone.ni.com/devzone/cda/tut/p/id/3023
Ahora por otra parte para sincronizar inicio o términos de Vis puedes utilizar las funciones de Rendezvous. En el example finder podrás ver un buen ejemplo llamado Rendezvous with SubVIs.vi en el cual se sincronizan las iteraciones de 3 subvis.
Espero esto te sea de ayuda.el 11-02-2009 10:28 AM
el 11-02-2009 11:00 AM