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.
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.
el 01-20-2015 05:05 AM
Hola me gustaría saber que estoy haciendo mal porque no me carga los datos de una gráfica en la tabla cuando pulso el botón OK.
Gracias y un saludo.
el 01-22-2015 08:31 AM
Estás usando la función de reemplazar en un array. Si el array inicial (el table control) está vacío, no hay nada que reemplazar y esa función devolverá un array vacío, o si tuviera valores pero el tamaño es menor del que se quiere escribir, tampoco se podrá escribir todo. No das ningún detalle de lo que quieres hacer, así que es complicado proponer soluciones, pero ¿lo que quieres hacer es un reemplazo o te valdría simplemente un build array?
el 01-23-2015 10:00 AM
Hola Yotu,
en primer lugar, al crear el array estás colocando el valor de dt como primer elemento del arreglo, esto debido a que estás concatenando este dato (escalar) a un arreglo (1D). El resultado sigue siendo un arreglo de 1D, y lo que quieres hacer es escribir sobre una tabla, la cual es de 2D. Me pregunto cómo quieres crear esa tabla, con qué datos: ¿quieres colocar en la primera columna el valor de dt (este no debería cambiar en el tiempo, porque es la separación entre punto y punto), y la segunda columna deberían ser los datos (eje Y)?
Una forma muy rápida qu quizás te pueda ayudar, es con la función Build Table, la cual toma una "señal" que puede ser la data que obtiene de tu gráfico y la lleva a una tabla. En las propiedades de esta función le puedes agregar el timestamp de cada punto. En la imagen aparece la función.
Espero haber sido de ayuda.
el 01-26-2015 03:56 AM
Hola Pcortes y jrafa puede que no me haya explicado bien, lo siento.
Adjunto el .vi para que me entendáis mejor.
Pcortes he puesto tu consejo y no sé porqué se guarda todos los datos en la misma columna.
En cuanto los datos que quiero colocar en la tabla son los datos del eje x (no el dt sino el tiempo acumulado desde el inicio) y en el eje Y (el valor del dato).
Tambien me gusta´ria poner el nº del dato y la fecha y hora a la que se a adquirido el dato.
¿Por cierto cómo modifico la hora para que me ponga la hora del pc y no la de 1904 que me aparece por defecto?
Nº de dato Dato eje X Dato eje Y Fecha y hora del PC(a la que se adquirió el dato)
1
2
3
...
Gracias y un saludo
el 01-26-2015 07:43 AM
Hola Yotú, una pregunta: ¿la gráfica la estás obteniendo desde un sistema de adquisición de datos, o simplemente de la creación de una onda, como se está haciendo en el VI?
saludos!
el 01-26-2015 07:56 AM
Los datos se guardan en una sóla columna porque le pasas un array de una dimensión. Para añadir otras columnas lo primero es crearlas y construir un array de dos dimensiones con ellas.
Un ejemplo podría ser:
La referencia y la propiedad WFGraph se han añadido al hacer el snippet. En tu programa se sustituirían por la variable local.
Para la fecha tendrás que escribir algo en el parámetro t0 del waveform cuando se genera la señal. Aquí hay un ejemplo: http://digital.ni.com/public.nsf/allkb/0A4899EF6D01B9C5862568B70074F989. Y aquí una explicación de cada parámetro del tipo waveform http://zone.ni.com/reference/en-XX/help/371361J-01/lvwave/build_waveform/. Este tipo de datos es para señales muestreadas uniformemente, por lo que sólo se indica la fecha inicial y el periodo de muestreo.
el 01-29-2015 04:20 AM
Hola siento no haber contestado antes.
Pcortes la gráfica la obtengo de una creación de onda pero más adelante la quiero obtener también mediante adquisición de datos.
Y gracias por tu ejemplo jrafa he conseguido crear las columnas como tú dices y he hecho un par de modificaciones para que no me muestre decimales en el número de datos pero creo que en el eje X tambien me marca el número de datos y no el tiempo en el que se adquiere el punto.
El dato en el eje Y se escribe correctamente
La fecha y hora sigo sin ponerla correctamente y es que el enlace que me pasaste no funciona.
Gracias por vuestro tiempo y espero que me echeis una mano en esto, gracias.
01-30-2015 07:45 AM - editado 01-30-2015 07:47 AM
Hola Yotú.
Para solucionar tu problema con el Time stamp solo debes dejar de usar el t0 de la gráfica y usar el t0 de ESTE MOMENTO, y eso se hace con la función Get Date/Time in Seconds, que te entrega la hora y fecha de tu computador, como lo muestro en la siguiente imagen:
Ahora, verás que con este cambio tampoco verás que aumenta el tiempo en cada muestra, pero esto debes tener cuidado ya que la generación de la onda es casi instantanea, y por eso no verás mayores cambios en los segundos del tiempo. Tendrías que hacer una generación de cada punto (o adquisición de datos en cada segundo para que veas cambios en el tiempo. Recuerda además, que el ciclo while corre a 1 ms, es decir, 0,001 segundos, y si observas la gráfica, cada punto rojo aparece en cada 0,001 seg.
Si presentas más puntos, por ejemplo si generas 10 ciclos, ya podrás ver un aumento en los segundos, como verás en la siguiente imagen (muestra 184):
Adjunto tu mismo código con la modificación hecha. (te moví algunos elementos del panel frontal y diagrama de bloques, espero no te moleste, y además te agregué un botón para limpiar la tabla y así veas los cambios)
Saludos !
el 01-31-2015 03:21 AM
El enlace anterior no va porque el sistema de los foros ha incluido el punto y seguido del final de la frase como parte del enlace, sólo hay que quitarlo de la barra de direcciones.
Por completar el comentario de pcortes, si quieres que la fecha también aparezca en la gráfica tienes que:
http://digital.ni.com/public.nsf/allkb/0A4899EF6D01B9C5862568B70074F989
http://digital.ni.com/public.nsf/websearch/163EE33AFCD1D94E86256DB80074EBEA?OpenDocument
el 02-02-2015 11:28 AM
Hola gracias por vuestra ayuda.
Pcortes ¿Me puedes adjuntar tu vi anterior en la versión 2013?
Me ha quedado claro que no puedo obterner el tiempo absoluto partiendo del t0 de la gráfica.
He arregldo el vi para obtener la fecha y hora del ordenador como me habeis recomendado pero con la función format date/time string, pero ahora en el eje x de la gráfica, que es el tiempo relativo en la tabla, se carga como una hora 1:oo:oo,ooo y no desde 0:oo:oo,ooo como se carga en la tabla.Aun poniendo en las propiedades de la tabla relative time.
¿Donde tengo el fallo?
Por curiosidad, ¿el while loop puede ir más rápido de 1 ms?
Un saludo y gracias.