04-20-2009 10:47 AM
Hola.
Estoy realizando un pograma de cálculo en el que también necesito para ciertas cosas datos por UDP. He conseguido hacer una Sub-vi que envía/recibe datos desde el otro sistema. El problema que tengo es que al insertarla en la VI general (donde tengo el típico while) la ejecución se ralentiza hasta unos 100milisegundos. He mirado los iconos de las UDP y no existe ningún tiempo de comunicaciones que se pueda modificar excepto el timeout del icono UDP Read. Al bajarlo a 1 ms el labivew se detiene apareciendo un error con lo que lo tengo que dejar en 150 ms.
La pregunta es como puedo ejecutar en la misma VI procesos a diferentes velocidades. (Una para los cálculos y más rápida y otra para las comunicaciones que no es tan exigente).
Gracias y un saludo.
04-21-2009 04:06 PM
Hola Allende!
Una opción que se me ocurre es que dividas tu programa en dos ciclos, uno dedicado a la comunicación y otro a los calculos. Si los datos para los calculos son dependientes de la comunicación lo que puedes hacer es implementar una estructura productor/consumidor, está te permite tener los ciclos en diferentes velocidades. La arquitectura báasica la puedes consultar en las ligas que te dejo a continuación:
http://zone.ni.com/devzone/cda/tut/p/id/3023
http://decibel.ni.com/content/docs/DOC-2431
Espero que está información te sea útil.
Que tengas un excelente día!
Oswald Branford