From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discusiones sobre Productos NI

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

Multiples senales digitales con diferente periodo y frecuencia

Hola!

 

Estoy escribiendo un codigo que me envie multiples senales digitales con distinto periodo y frecuencia. La idea es que cada senal (ademas de tener distinto periodo y frecuencia respecto al resto de senales), tambien debe ir actualizando su propio periodo y frecuencia. Los valores de periodo y frecuencia los actualizo desde MatLab (mediante MatLab node), porque necesito que sean valores aleatorios de una determinada distribucion de probabilidad.

 

He escrito el codigo muy simple para dos senales, en el que mediante un "for loop" y mediante un vector de datos, voy escribiendo los datos del vector para cada paso del loop en el DAQmx. El vector de datos, por filas representa los canales y las columnas representan cada muestra que quiero escribir (0 = 0V, 1=5V). Mediante un elemento "wait" dentro del loop intento controlar el tiempo por iteraci'on dentro del loop. Sin embargo, cuando lo conecto al osciloscopio, una de las senales no funciona, la otra si pero con mucho ruido y la frecuencia que marca el osciloscopio no corresponde con el elemento "wait" que le he puesto.

 

Aqui adjunto mi programa por si teneis alguna idea de cual puede ser el problema o nuevas formas de escribir el programa.

Muchas gracias!!

 

Miguel

 

p.d: Perdonad por las faltas ortograficas pero no tengo teclado espanol.

 

 

 

 

0 kudos
Mensaje 1 de 3
4.178 Vistas

code.pngSorry, here is the code.

0 kudos
Mensaje 2 de 3
4.174 Vistas

Buen día Mike,

 

1. Intenta utilizar la función de "Wait (ms).vi" en vez de Wait untitl next ms multiple.vi""

 

2. El tunel de entrada del array al for loop, tiene deshabilitado el autoindexing, por lo qe solo está pasando un valor a la entrada al ejecutar el programa.

 

3. Cuando habilites el auto indexing, recuerda que el for loop va a iterar tantas veces como filas tenga el array de 2 dimensiónes (en este caso 2 veces, extrayendo primero toda la primera fila y luego toda la segunda fila), ignorando el valor cableado en "N" si este es mayor al número de filas del array.

 

Saludos,

 

>>Daniel C.

0 kudos
Mensaje 3 de 3
4.139 Vistas