Discusiones sobre Productos NI

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

Salida analogica con distintos valores

Hola, soy Javier y tengo el siguiente problema, estoy intentado hacar un programa que haga la siguiente secuencia:

 

1º Sacar por una salida analogica una señal senoidal con una amplitud y frecuencia conocida

2º Adquirir 8 canales a una frecuencia de 25600hz

3º Copiar datos de un FTP al PC

 

así hasta 8 veces.

 

Tengo los vi´s ya realizados pero no se como implementar la secuencia y que los valores de amplitud y frecuencia vayan cambiando a unos valores constantes que ya conozco para cada vez que tenga que pasar por la secuencia de sacar los valores por una salida analógica estos aparezcan en la salida. Estoy intentado hacer una maquina de estados o bien hacerlo con un stacked sequence structure, pero cuando hago un tunel para indicar los valores de frecuencia y amplitud en el frame correspondiente, no funciona. Tampoco con la maquina de estados. Que puedo hacer ?? 

 

Gracias 

0 kudos
Mensaje 1 de 8
3.348 Vistas

Hola Javier,

 

Mi recomendación es que utilices una máquina de estados con un Type Definition para especificar el estado, puesto que es bastante más fácil de seguir y será más útil para reutilizar código. Prácticamente con tres estados podrías implementar toda tu aplicación.

 

El problema tal vez se deba a un error en la programación. Si posteas tu código es posible que se pueda encontrar el error.

 

Un saludo.

0 kudos
Mensaje 2 de 8
3.339 Vistas

Este es el programa que estoy haciendo, el problema que expuesto seria algo general puede que sea una parte del código lo que haga que falle la maquina de estados. Se podría mejorar reduciendo los estados ya que tendría que crear 24 según mi idea y se podría hacerse en 4 o 5  ya que es lo mismo todo el rato pero no se muy bien como,  adjunto los vi´s. También tarda mucho en pasar de un estado a otro (2-3 segundos), como se puede solventar o eso depende de mi pc??? Falta un vi, solo me deja tres seria el de comunicación tcp/ip

Descargar todos
0 kudos
Mensaje 3 de 8
3.329 Vistas
Este es el otro vi que falta, aunque en el programa principal no esta dentro de un estado, este iría dentro, estaría en el segundo caso que e comentado, y lanzaría una trama por tcp/ip a otro equipo antes de iniciar la adquisición de los 8 canales
0 kudos
Mensaje 4 de 8
3.328 Vistas

Puedes colgarlo en 8.2 ? Creo que te podria ayudar pero no dispongo de la 8.6

 

Un saludo

0 kudos
Mensaje 5 de 8
3.298 Vistas
Solo dispongo de la versión 8.6 no se como hacer para que puedas ver el código. Pero gracias, esto de labview me esta volviendo loco. Lo dificil se vuelve facil y lo facil imposible
0 kudos
Mensaje 6 de 8
3.295 Vistas

Hola Javier,

 

Tu máquina de estados está continuamente generando una señal de diferentes frecuencias y amplitudes. En cada iteración del bucle estás generando la trama por el puerto serie en vez de en el primer estado. Además, es posible que se estén produciendo errores en la generación de la señal. Te recomiendo añadir entradas y salidas de error al subVI ExciterOUT para verificar que no está ocurriendo nada anómalo. Por otra parte, qué tarjeta de adquisición estás utilizando?

 

Un saludo,

0 kudos
Mensaje 7 de 8
3.289 Vistas

Así es en cada iteración saca la trama eso funciona bien y no me genera error, lo que no puedo hacer es la secuencia ya que el programa se queda estancado en ciclos en los que no quiero que eso ocurra, por ejemplo al mandar un comando a través del vi que controla el tcp/ip el programa se queda ay estancado y quiero que eso no pase sino que que abra la comunicación, envíe el comando y se cierre el enlace tcp/ip y salga de ese vi. 

 

La tarjeta que tengo es la PCI-6071E

 

Gracias 

0 kudos
Mensaje 8 de 8
3.287 Vistas