09-23-2009 03:10 PM
Saludos
Necesito analizar tres señales senoidales desfasadas por naturaleza 120º entre ellas , mi version de LABVIEW es la 7.1 y la tarjeta de adquisicion que he utilizado es la Measurement Computing USB 1208FS . En principio la adquisicion y visualizacion individual de ellas no representa ningun tipo de inconveniente, el problema surge cuando pretendo observar las tres señales , en el mismo waveform graph. En este punto al ejecutar la prueba continuamente ( RUN CONTINOUSLY) las señales pierden su desfasaje y este se torna variable a lo largo del proceso de adquisicion de la señales tomando ocasionalmente su desfasaje original ( en la fig 2 se observa como varia el angulo de fase entre las señales), de la misma forma observe el mismo canal mediante 3 etapas distintas y la señal ( en teoria la misma)se encuentra desfasada fig 4. Como puede ser corregido este inconveniente? existe algun retardo de tiempo apreciable entre toma de datos en los distintos canales que pueda modificar la correcta adquisicion de las señales. Es posible corregir variando la frecuencia la de muestreo( rate) y el count ?
Pd= adjunto el vi utilizado para la adquisicion
Gracias
09-23-2009 03:33 PM
English:
09-23-2009 03:37 PM
You answered your own question, you just didnt realize it.
Your code will only run once, UNLESS you use the RUN CONTINUOUSLY button.
Do not run using this button. Place your code inside of a while loop.
Otherwise, all of your code will run over and over.
You only want the data collection to be continuous, not all of the code.
I cannot do to much debugging with the code because I do not have the included subVI's (or rather Express VI's)
Try placing the data collection and write to measurement file functions in a while loop, with a 'wait' function.
09-23-2009 04:35 PM
hello and thank you for answering
The question is I need the visualization and processing of three-phase signals is in 'real time', because the amplitudes of these vary over time, which is why I run the program in RUN Continuously, otherwise the data acquisition would not be made continuously.
What would you recommend?
09-23-2009 10:26 PM
You only need the data aquistion part of the code to run continuously, not all of it.
For example, that code that specifies channel,range, rate, etc only needs to be run once.
Place a While loop around all of your code except the "AInScFg.VI".
Also, are you trying to write all 3 channels to the same file?
You do not need 3 different 'Write to Measurement File"
Just use a "Merge Signals" function and pass the merged signal to the Measurement File VI.
... Or on second thought. Why are you even using this function?
This requires a data coercion from a 1D array of type double into dynamic data.
You should just build an array of the data and pass it to a build array.
I cannot use the Express VI's you are using, because I do not have them.
However, I used the VISA 'Configure Port' where you should place your 'AInScFg'.
Then place the other Express VI's inside the Loop where I said 'Data 1', 'Data 2', 'Data 3'