el 09-13-2007 04:50 AM
el
09-13-2007
05:24 AM
- fecha de última edición
04-18-2025
01:46 PM
por
Content Cleaner
El problema de la sincronización lo puedes resolver con semáforos:
https://www.ni.com/docs/en-US/bundle/labview/page/suggestions-for-using-execution-systems-and-priori...
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000kFGkSAM&l=en-US.
Para crearte un buffer la mejor forma serían las colas:
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000P7OfSAK&l=en-US.
Para lanzar y parar VIs desde otro puedes usar VI Server. Aquí http://digital.ni.com/public.nsf/allkb/F60C3F5BC762B62986256CCD0054F26E se muestra cómo abrir, para cerrar usar abort en lugar de Run.
Y para que la cpu no se ponga al 100% seguramente será simplemente añadir un retardo: http://digital.ni.com/public.nsf/allkb/8638139D6236D42086256A340073554A
el
09-14-2007
03:07 AM
- fecha de última edición
04-18-2025
01:46 PM
por
Content Cleaner
Hola,
Efectivamente, para lanzar vi's tienes que hacerlo con vi servers.
El problema del 100% de CPU es que no tendrás temporizado el bucle while. Inserta un wait o un wait until next ms dentro del bucle while para resolver dicho problema.
Las comunicaciones de datos entre vi's lo puedes hacer de diferentes formas. Tal y como te comentan tienes las colas, pero también tienes las variables. Desde LV 8 están las shared variables que lo hacen mucho más sencillo. Te paso un link con la explicación:
https://www.ni.com/en/support/documentation/supplemental/06/using-the-labview-shared-variable.html
Espero que te sirva de ayuda,
Saludos,