Discusiones sobre Productos NI

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

Grafico en tiempo real y SubVi PID

Hola,

 

 

Estoy realizando una interfaz para un control de temperatura, quisiera realizar un grafico en tiempo real de los valores de salidaa que me den como resultado del SubVI de control PID con respecto al tiempo. La grafica dejaría de acumular valores hasta que el usuario detenga la adquisición. Además quisiera saber si el procedimiento que tengo hasta ahorita funciona en tiempo real o que elementes tendría que modificar para que sea así?

 

Además tengo una duca sobre el SubVi PID que estoy utilizando, es funcional para mi sistema? Cuál el la función de la terminal d(t) y que valores sn óptimos para que el controlador funcione?

 

Adjunto mi VI para aquel que pueda ayudarme.

 

Saludos y espero su pronta respuesta.

0 kudos
Mensaje 1 de 6
3.765 Vistas

Que tal Adilene,

 

Lamentablemente para poder garantizar una ejecución en tiempo real es necesario utilizar FPGA o un Sistema Operativo en tiempo real como VxWorks, para esto debes de utilizar un cRIO. 

 

Lo que te recomendaría para asegurar una mejor ejecución de tu programa es asignar algunos nucleos específicamente para LabVIEW y utilizar VIs de bajo nivel para la adquisición, ya que el DAQ Assistant es muy lento.

 

El PID que pusiste no debes de tener ningún problema! 

 

Ahora, otra cosa que te recomiendo es temporizar el ciclo, para evitar que se consuma mucha memoria.

 

No se que tarjeta estás utilizando, sin embargo hay muchos ejemplos en el Find Examples que puedes utilizar.

 

dt (s) specifies the loop-cycle time, or interval in seconds, at which this VI is called. If dt (s) is less than or equal to zero, this VI calculates the time since it was last called using an internal timer with 1 ms resolution. If dt (s) must be less than 1 ms, specify the value explicitly. The default is -1.

 

Revisa el uso de VIs de bajo nivel y funcionará mejor!!!

 

Otra duda, no supe que era el DAQ Assistant 2 para que lo quieres?? es la salida para compenzar?

 

Saludos,

Luis Elias
NI VeriStand and HIL Product Manager
0 kudos
Mensaje 2 de 6
3.754 Vistas

yo tambien tengo una pregunta en este sentido, yo trabajo con control basado en modelo (MPC) y tengo una tarjeta 6221, con todo esto, puedo hacer que de manera programatica (con solo codigo de labview) pueda manejar tiempo real?, mi proceso no es muy exigente en tiempo y le queria pedir recomendaciones en cuanto a que hacer con lo que tengo para lograr asegurar tiempo real.

 

muchas gracias

.:. Pedro Rivera .:.
i love to work and develop on labview, this is real fun!!!
Photobucket
0 kudos
Mensaje 3 de 6
3.750 Vistas

Que tal Pedro,

 

La verdad para poder garantizar tiempo real es indispensable contar con un sistema operativo de tiempo real, por lo que cualquier VI que ejecutes desde Windows no se ejecutará en tiempo real, ya que los recursos windows los dispone de manera que el Sistema operativo decide.

 

Por lo que aunque tengas un loop de alta prioridad comuncandote con una tarjeta DAQ, pues al final el antivirius ocupara los recursos para hacer su escaneo de virus y no le importará labVIEW.

 

hay algunas recomendaciones, si te metes en el task manager en la parte de procesos tu peudes darle prioridad de real time y opnerle en afinidad que corran con un nucleo específico, con lo quepuede hacer que haya nucleos dedicados a LabVIEW y otros nucleos a todo lo demás pero no puedes garantizar una ejecucion de tiempo real.

Luis Elias
NI VeriStand and HIL Product Manager
Mensaje 4 de 6
3.748 Vistas

Gracias por tus recomendaciones Elias,

 

 

Mira estoy utilizando la tarjeta NI 6009, voy a tomar en cuenta lo de los VI s de bajo nivel, sin embargo hasta ahorita ha funcionado bien para mi sistema, en caso que requiera una adquisición más rapida, tomaré en cuenta tus sugerencias.

 

El segundo DAQ Assistant lo utilizo para enviar la señal de salida del SubVI PID como señal analógica a través de la tarjeta y luego retroalimentar mi etapa de pontencia.

 

En cuanto a la temporización quisiera saber si con sustituir el ciclo while con una estructura Timed Loop sería suficiente? Aunqte también tedría dudas sobre la configuración de la estructura, al hacer la temporización, la configuración de mis Daq Assistan cambiaría?  Espero tu respuesta, agradeciendo tu ayuda.

0 kudos
Mensaje 5 de 6
3.738 Vistas

cordial saludos a todos,

 

yo quisiera preguntar sobre el subvi PID, la parte donde se ponene las ganancias kp, ki, kd, en ki y ki se lee algo como (ki,min) a que hace referencia ese termino,,, se ubican normal las constantes??? o tengo que pasar a minutos a segundos algo,,,, podrian resolver mi duda...

 

en cuanto a velocidad de respuesta yo uso una ni usb 6009 para ser demorado el daq asistent, me ha parecido rapido, ya que controlo un variador con la tarjeta...... pero bueno tendre en cuenta, lo cierto es que entonces no deberia usarse el termino en tiempo real, cuando uno compra una tarjeta de este tipo. 😕

0 kudos
Mensaje 6 de 6
3.352 Vistas