LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

reset integral

 

i tried extract portion but it doesnt work and i dont think that arrays will work. Maybe there is some smarter way to do it? The program need to display nyquist plot and i used this formula for real and imaginary part to do itformula.jpg

 

0 Kudos
Message 11 of 20
(2,824 Views)

Dear edek,

you can find some information about using Nyquist plots in LabVIEW in the following documents:

http://zone.ni.com/reference/en-XX/help/372458C-01/lvsysid/nyquist_plot/

http://zone.ni.com/devzone/cda/epd/p/id/5791

http://zone.ni.com/devzone/cda/epd/p/id/2976

 

If this doesn't help, please share some details about what you want to achieve - then it will be easier to redesign your program.

 

Regards,

Message 12 of 20
(2,780 Views)

I ytried this nyquist plot from the toolkit but i have error:

 

Error -41201 occurred at error in NI_SysID.lvlib:si_ParaTest (ARX SISO).vi --> NI_SysID.lvlib:SI Estimate ARX Model (SISO Array).vi --> NI_SysID.lvlib:SI Estimate ARX Model (SISO Waveform).vi --> plugin.vi

Possible reason(s):

System Identification Toolset: The signal length is too small for computation, or the stimulus and response signals are not of the same lengthghf.jpg.

 

 

0 Kudos
Message 13 of 20
(2,745 Views)

Dear edek,

I modified you program to test it as I don't have your hardware and in my case it worked:

 

1.png

2.png

 

 

 

I was also able to reproduce your error - it appeared when the two input waveforms of SI Estimate ARX Model, "stimulus signal" and "response signal" have different lengths.

Please check their size in your program by using "Array Size" function block. Maybe the response signal is shorter or longer than the stimulus signal?

 

Regards,

Message 14 of 20
(2,719 Views)

Response signal is shorter. Probably because a/d converter can only write one value at the time. I tried put into a for loop (red rectangle) but the data type changesfor.JPG.

 

0 Kudos
Message 15 of 20
(2,704 Views)

Dear Edek,

if you put it in a for loop like this, you will create arrays of data for everything, not just the A\D converter. I don't know how your A\D converter works. If you want to convert sample-by-sample you should put ONLY the A\D conversion in the loop - the array of acquired data will be created automatically on the output of the loop.

 

 

Regards,

 

Message 16 of 20
(2,660 Views)

I put only a/d conversion in loop but length of stimulus is 1.plugin2code.JPG

If i use different noise generator the nyqust plot looks strange

 

plugin.JPGplugincode.JPG

 

0 Kudos
Message 17 of 20
(2,642 Views)

Dear edek,

first of all, to have a longer stimulus signal while using "Simulate Signal" Express VI, you need to configure it properly:

 

3.png

 

Without setting the desired number of samples, you will get one.

 

 

Secondly, maybe you are using the wrong VI? I dont know your application, but I think that in this particular case using "AD Acquire Waveform" VI would give you the whole signal.

 

4.png

 

Regards,

Message 18 of 20
(2,598 Views)

I configure it like you show me and signals hase the same length but the error still occures

Error -41201 System Identification Toolset: The signal length is too small for computation, or the stimulus and response signals are not of the same length.

 

About acquire waveform, it doesn't work, it crashes labview. There is example of streaming data but it freeze rest of the program when it works and writing samples can not be steamed, so i don't know if it'll change anything.

0 Kudos
Message 19 of 20
(2,591 Views)

Dear edek,

 

Does the "Acquire waveform" really crash LabVIEW, or does it just give the error? Could you give the specifics?

I had a quick look in the EDRE documentation and it seems that in order to acquire waveforms you need to first configure the operation. I believe it makes much more sense than acquiring one sample at a time.

You may also try the functions from EDRE API, not the Easy DAQ ones.

 

You need to thoroughly analyze what data is coming out of the A/D converter and what do you really want to do. I do not know the specifics of how does your hardware work, as it is not NI product and the documentation I found is poor. Also, if you really want to perform the analysis of a real filter your approach is not quite correct. You do not specify any timing or synchronisation in your program and that is crucial if you want to measure the response to a specific stimulus.

You may get some ideas from LabVIEW examples, like Multi-Function-Synch AI-AO, but you will need to adapt it to the API of your suppliers hardware.

 

Regards,

0 Kudos
Message 20 of 20
(2,552 Views)