LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Como adquirir correctamente señales trifasicas ( Problema con los desfasajes entre señales)

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

Download All
0 Kudos
Message 1 of 5
(3,912 Views)

English:

 

Greetings

I need to analyze three sinusoidal signals 120 degrees out of phase by nature including my version of LabVIEW 7.1 and the acquisition card I used is the Measurement Computing USB 1208FS. In principle the acquisition and display them individually does not represent any kind of inconvenience, the problem arises when I try to observe the three signals in the same waveform graph. At this point to run the test continuously (Continuously RUN) the signals lose their phase shift and this becomes variable along the process of signal acquisition occasionally taking its original phase shift (in Figure 2 shows how to vary the phase angle between the signals), just watch the same channel form using 3 distinct stages and the signal (in theory the same) is outdated fig 4. How can this problem be corrected? There is some appreciable time lag between data collection in the different channels that would alter the correct acquisition of the signals. You can correct varying the sampling frequency (rate) and the count?

  Pd = vi attachment used for the acquisition

Thanks
Cory K
0 Kudos
Message 2 of 5
(3,905 Views)

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.

Cory K
Message 3 of 5
(3,903 Views)

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?

 

 

0 Kudos
Message 4 of 5
(3,877 Views)

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.

 

Example.png

 

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'

Cory K
0 Kudos
Message 5 of 5
(3,860 Views)