Discusiones sobre Productos NI

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

¿Generador de diente sierra peculiar?

¡Resuelto!
Ir a solución

Hola Montero

 

Mira te paso el codigo que me mandaste con el error corregido, pruebalo. Tambien te envio el otro guardado para la version 8.5

 

Espero te sirva la ayuda , si tienes problemas o dudas adelante, estamos para ayudarte

 

Saludos

Jaime Peña
National Instruments Mexico
Ingeniería de Aplicaciones
www.ni.com/soporte
Descargar todos
Mensaje 11 de 40
1.780 Vistas

Muchas gracias James, he podido abrir el Waveform sawtooth.vi pero no me deja seleccionar el canal de salida analogica solo se muestran para seleccionar entradas analogicas, he cambiado ese selector por otro con las salidas analogicas y me da el error de antes (te lo envio en una captura).

 

Y con el vi que me has corregido, va bien el programa, no da errores y se muestra la señal pero no la transmite a la salida analógica, osea que no optengo la señal en el AO0 pero el programa si la dibuja en la grafica (la salida fisica funciona bien), en el DAQmx write sale un error y parece como que no estan seleccionadas las I/O pero no me da ninguna opción para seleccionar (tambien te envio la captura).

 

Te envio tambien el vi con las ultimas modificaciones que simplente he añadido unos controles de Amplitud y SR, tambien comentarte que cuando le doy al STOP me sale el mismo error de antes. Y queria saber como puedo hacer que la grafica me pinte de forma continua, osea que deje impreso en pantalla el recorrido de la señal que como puedes ver ahora que he ajustado las escalas dibuja solo lo del instante actual.

 

Perdona que te inunde de dudas, me imagino que serán tonterias pero mis conocimientos se estancan aqui, aunque poco a poco voy aprendiendo más cosas, se cumple de que con los errores se aprende 😉

 

Muchas gracias de nuevo por tu buen trato y ayuda.

 

Saludos.

0 kudos
Mensaje 12 de 40
1.777 Vistas

Hola,

Se me olvido que estabas utilizando USB 6009 , remueve el sample clock de tu programa. Tambien asegurate que el nombre del dispositivo corresponde al que aparece en max para tu USB 6009, osea que sea Dev1 y no Dev2 o Dev3. Si te genera mas errores tambien puedes utilizaz una funcion express para la salida analoga, seria mas facil que la otra manera y la podrias utilizar debido a que aqui el tiempo no es importante y tu codigo no es muy largo.

 

El nombre de tu dispositivo aparece en MAX, aqui esta un tutorial de como verlo:

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

 

No se si ya lo hayas visto, pero te dejo este ejemplo que puedes utilizar directamente en tu USB 6009 sin cambiarle nada.En especial creo que esta aplicacion era la que estabas buscando.

https://decibel.ni.com/content/docs/DOC-14687, solamente debes seleccionar el canal adecuado ( Dev).

 

Y por ultimo tambien aqui hay algunas aplicaciones que puedes realizar con tu dispositivo


https://decibel.ni.com/content/docs/DOC-8357

 

Saludos, cualquier duda me la comentas.

Jaime Peña
National Instruments Mexico
Ingeniería de Aplicaciones
www.ni.com/soporte
Mensaje 13 de 40
1.770 Vistas

Muy buenas de nuevo, mira he encontrado un VI hecho que genera una señal senoidal y esta si que logro obtenerla en la salida analogica, pero sigo siendo incapaz de cambiar la señal senoidal por la triangular que necesito.

 

Saludos.

0 kudos
Mensaje 14 de 40
1.769 Vistas

Hola

 

Ya lo probaste con el ejemplo que te recomende en esta liga?

https://decibel.ni.com/content/docs/DOC-14687

 

El funcionamiento es basicamente el mismo que el que tu encontraste pero con la forma de diente de sierra.

 

Modifique el ejemplo anterior para que sea una grafica continua. Lo probe con la tarjeta que tengo y el funcionamiento es correcto. Lo puedes visualizar en la grafica. Informame si te funciona tambien.

 

Saludos

Jaime Peña
National Instruments Mexico
Ingeniería de Aplicaciones
www.ni.com/soporte
Mensaje 15 de 40
1.767 Vistas

¡¡¡FUNCIONA A LA PERFECCIÓN!!! Muchas gracias James, este si que funciona bien, la salida siempre utilizaba la Dev1 asi que no se porque no funcionaban los otros, pero con este genial, ahora solo tengo que adaptarlo a mis necesidades que el tema de la velocidad de barrido me da tarea pero vamos que esto ya lo tengo!!! Muchisimas gracias 😉

 

Lo unico que no entiendo es lo que representa el: Software Loop Time (ms) y el sampling info (Fs y #s), es que queria quitar los controladores porque lo unico que necesito controlar es la velocidad de barrido (mV/s) y quizas con estos valores pueda crearlo pero no los entiendo, si me pudieras asesorar con ellos te lo agradeceria mucho.

 

Un saludo y muchas gracias 😉

0 kudos
Mensaje 16 de 40
1.764 Vistas

 

Hola, excelente que ya funciona 🙂 .

El Software Loop si te fijas tiene una duracion de 1 ms (puede ser 0) , esto es nadamas para darle tiempo al CPU de realizar otros procesos.  El sampling info es para configurar el tiempo de muestreo y el numero de muestras de la señal que vas a generar .

 

sampling info contains sampling information.

  Fs is the sampling rate in samples per second. The default is 1000.
  #s is the number of samples in the waveform. The default is 1000.

 

Saludos

Jaime Peña
National Instruments Mexico
Ingeniería de Aplicaciones
www.ni.com/soporte
Mensaje 17 de 40
1.759 Vistas

Muchas gracias por toda la información James, ya tengo lo de la velocidad de barrido programado. Ya solo me falta el conseguir poder controlar el numero de periodos que quiero que se repita la señal (no tiene que ser continua). He estado probando con ponerle una comparación en la restriccion del bucle while pero no se como temporizar para contar el tiempo que lleva el bucle en funcionamiendo, ¿sabrias de alguna forma de hacerlo?.

 

Un saludo y muchas gracias.

0 kudos
Mensaje 18 de 40
1.740 Vistas

Para esto remueve el ciclo while y juega con el sampling info asi como con la frecuencia de la señal que generas, para obtener el numero de periodos que tu quieres utilizar.

 

 

Saludos.

Jaime Peña
National Instruments Mexico
Ingeniería de Aplicaciones
www.ni.com/soporte
Mensaje 19 de 40
1.734 Vistas

Muy buenas James, te contexto tarde porque he tenido que estar unos dias desconectado forzosamente a mi pesar, y siento decirte que vuelvo con la misma duda.

 

No logro conseguir el dibujar X periodos de la forma de onda y que se pare con el sampling info. Si remuevo el bucle while directamente no me dibuja nada :S

 

La idea que más me da vueltas en la cabeza es dejar el bucle while y poner un contador de tiempo que se carge con el tiempo que duran X periodos a traves del valor de la frecuencia, y que cuando acabe la cuenta detenga el programa con el stop del bucle while. Pero no se como hace un temporizador así, ¿hay manera de hacerlo así?, ¿o como podria hacerlo?.

 

Un saludo y muchas gracias por tu ayuda, y espero que estas dudas sean tambien instructivas a mas gente que este en mi situación.

0 kudos
Mensaje 20 de 40
1.671 Vistas