Discusiones sobre Productos NI

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

PID con DAQmx

Hola foreros de NI,

 

estoy intentando controlar el caudal de una instalación con el control de PID de labview (PID control Toolkit), entonces tengo una entrada de datos, que es la frecuencia (mediante un factor se transforma en caudal), estos datos entran en el PID.vi y tendría que salir unos datos que son voltaje y que van hasta la válvula de control. Por lo tanto el programa estaría compuesto de:

 

-NI-DAQmx Create Virtual Channel, uno para el canal de adquirir frecuencia y otro para el canal de generar voltaje.

-NI-DAQmx Start Task, igual que antes uno para cada uno

-NI-DAQmx Read, para leer los datos de frecuencia

- PID.vi, donde se cablea los datos adquiridos del DAQmx Read, y de donde salen los datos para generar el voltaje necesario para llegar al set point.

-NI-DAQmx Write, para generar el voltaje que indica el PID.vi

-NI-DAQmx Clear Task, para limpiar la tarea.

 

He visto un ejemplo, que esta adjuntado, y que es parecido a lo que necesito pero no es exactamente lo mismo, he intentado modificarlo para mi aplicación pero no me funciona, tiene que ver con el reloj externo, ya que no tengo, ni tengo pensado utilizarlo.

Se tiene que fijar la frecuencia de muestreo? Si los datos de entrada al PID son de frecuencia, los de salida que son?

 

Espero alguna respuesta, 

Gracias de antemano.

 

 

0 kudos
Mensaje 1 de 4
2.929 Vistas

Hola, Lou,

 

tienes que utilizar el reloj interno de la tarjeta. En el ejemplo que envías se utiliza una tarea de contadores, cosa que no te hace falta. Lo único que necesitas es una entrada analógica y una salida analógica. Has de poner la frecuencia de muestreo y generación en el VI de timing obligatoriamente. El samples por channel es el tamaño de buffer que reservas para cada operación.

 

Te he esbozado la aplicación y te mando una captura desde la cual partir. Empieza por ahí y ve modificando en función de tus necesidades. Te adjunto un tutorial bastante completo de DAQmx para que lo utilices como consulta.

 

Principal >> http://zone.ni.com/devzone/cda/tut/p/id/5434

 

Adicionales:

 

http://zone.ni.com/devzone/cda/tut/p/id/3116

http://niweb.natinst.com/confluence/display/MAG/DAQmx+Analog+Input+Tutorial

http://zone.ni.com/devzone/cda/tut/p/id/5371

http://zone.ni.com/devzone/cda/tut/p/id/5370

http://zone.ni.com/devzone/cda/tut/p/id/2744

 

Espero que esta información te sea de utilidad. Ahora, a pelearte con ello.

 

Saludos.

 

Jesús.

Mensaje 2 de 4
2.904 Vistas

Hola Jesus,

 

gracias por responder. Si canvio la entrada analogica por una entrada de contador, quedaría igual?

 

 

0 kudos
Mensaje 3 de 4
2.894 Vistas

Hola,

 

si quieres entrada de encoder para contar pulsos en lugar de analógica, el ejemplo que has encontrado y subido aquí te vale.

 

Saludos.

 

Jesús.

0 kudos
Mensaje 4 de 4
2.887 Vistas