03-21-2017 08:23 PM - editado 03-21-2017 08:25 PM
Necesito crear un Digital Waveform con la siguiente condición:
Tengo un contador (cronometro) que se inicia al ejecutar el VI.
Tengo el control de dos valores numericos (Num1 y Num2) Cuando el valor de Num1 sea mayor que Num2, se enciende un indicador LED, y el cronometro se detiene indicando el tiempo transcurrido.
Quiero crear una onda digital que muestre el valor 0 todo el tiempo que ha transcurrido antes de encender el LED, y mostrar el valor 1 para cuando el LED se haya encendido.
En el eje X tengo el valor numerico del tiempo transcurrido. Mi problema está en el eje Y, cuando el LED se enciende! Como hago una grafica digital de esta forma? Es una unica señal.
el 03-22-2017 10:34 AM
Que tal alvaroespinola!
Para poder crear una gráfica digital es necesario usar los vi's encontrados en Programming > Waveform > Digital Wfm. Utilizando la función Build Digital Waveform puede establecer el tiempo 0 (to), el espaciamiento entre muestras (dt) y el arreglo de datos (Y). Para poder convertir tus datos booleanos es necesario usar el vi Bool Array to Digital, encontrado en Programming > Waveform > Digital Wfm > Digital Conversion, este vi es polimórfico, es decir, puede tener diferentes tipos de datos a la entrada o salida. En el caso de este vi, puede tener como salida un tipo de dato Digital Waveform, para el cual necesitaremos un arreglo de dos dimensiones de booleanos como entrada, en donde cada columna del arreglo representa una linea o canal, y cada fila representa un dato del canal. También necesitaremos la tasa de muestreo, la cual sería el inverso del separamiento entre muestras (dt), y el modo en que estan acomodados los datos (LSB o MSB). La salida de esta instancia de VI podría conectarse direectamente al indicador Digital Waveform Graph. El otro tipo de salida que podría tener el vi Bool Array to Digital es de tipo Digital Table, el cual necesita las mismas entradas excepto la tasa de muestreo, ya que esta se puede especificar en la función Build Digital Waveform.
Te anexo unas capturas de pantalla para que puedas ver como utilizé este vi que te comento y como se ve en el indicador.
Espero esto te sea de utilidad.
Saludos!
03-22-2017 01:16 PM - editado 03-22-2017 01:19 PM
Fernando Becerra muchisimas gracias por tomarte el tiempo!
Entiendo todo lo que me has explicado, de como realizar un grafico digital.
Pero mi problema creo que es mas sencillo, solo que no le estoy encontrando a la solución .
Anexo imagenes para entender mejor mi problema.
1- Diagrama de bloques
2- Panel frontal. A la izquierda LED OFF debido a que X es menor que Y, y el tiempo corriendo; en la imagen de la derecha LED ON por ser X mayor que Y, se detiene el tiempo en 3.94393 segundos y a su vez todo el vi.
3- Idea del grafico digital que necesito. En el tiempo 3.94393 segundos, pasa del valor 0 al valor 1, por ser en ese tiempo el evento LED ON.
el 03-24-2017 12:59 PM
Hola Alvaro,
No puedes adjuntar tu VI al foro?
Saludos,
el 04-03-2017 12:35 PM
Hola alvaroespinola.
Puedes resolverlo implementando una estructura Case, en la cual mandes los valores numéricos que quieres (1,0) a un Waveform Chart.
También sería buena idea cambiar la condición de paro, ya que al detener tu VI justo cuando obtienes el escalón, no vas a poder visualizarlo en la gráfica. Quizá con un botón de paro adicional.
el 04-03-2017 12:56 PM
Dejo el VI por si alguien quiera darme una mano! Muchas gracias! Creo que es bien sencillo pero no estoy consiguiendo.
el 04-07-2017 03:07 PM
Hola Alvaro,
Creo que esta VI lo hace.
Saludos
el 04-07-2017 05:00 PM
Hola Davidvilla87 , podrias guardar el archivo para un versión mas antigua, y volver a levantar? Tengo la version 15.0
el 04-10-2017 12:53 PM
Claro,
Aqui esta.
el 04-11-2017 09:44 AM
Davidvilla87, no grafica nada el VI. Necesito que grafique así como explique más arriba!