From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Ejecutar dos cálculos en diferentes tiempos.

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.

0 Kudos
Message 1 of 2
(2,163 Views)

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

 

0 Kudos
Message 2 of 2
(2,145 Views)