05-26-2014 04:11 AM
Hello everyone,
I come to you because I now realize the control of a sinusoidal excitation shaker . The principle is simple, generating a sinusoidal setpoint variable frequency ( min - > max frequency ) .
Currently my system performs well incrementing my frequency , however I would like when I get my maximum frequency that is decremented to my minimum frequency and so on!
example :
50 Hz - > 100 Hz - > 50 Hz - > 100 Hz - > ...
I leave attached 2 faces of my supervision including the following principle :
On the first front , we enter the values of frequency and amplitude to reach. The following graph fits the points he was assigned .
On the second side on our graph is postponed, and regulation following the previous desired profile is achieved.
Until now I have tried to reverse the table of my data to see if the graph would fit correctly and realize my increment and decrement ... The frequency decrements well yet my amplitudes are false.
cordially
05-26-2014 04:13 AM
05-26-2014 04:17 AM
I tried to change the block sweep this way. Frequency amplitude decrements correctly but my poor! What should I do?
05-26-2014 04:21 AM
the amplitude of the frequency decrements correctly but the amplitude does not correspond at all to the opposite of what I want ...Sorrry for my bad english 😃
05-26-2014 04:52 AM
did you understand my problem ?
05-26-2014 05:39 AM - edited 05-26-2014 05:41 AM
Hi Geoff,
I do understand your problem, but I don't understand your VI.
Why do you use so much local variables? Why do you use them in such an insane way?
Why do you need to multiply a local variable by itself? Why do you need local variables fur such tasks?
Clean up your VI. Define app states and introduce a proper state machine architecture!
05-26-2014 05:52 AM
Hi
I use local variables to réalsier calculations. Indeed from the acceleration, I can get the movement and speed. Instead of realizing integration and double integration calculations I carries this way. This sets the limits, in my case the limits of shaker. However, this is not what block I have a problem 😃
05-26-2014 09:51 AM
Hi,
As GerdW told you, you need to define your app states and introduce a proper state machine architecture!
We are not talking about calculations you are doing but about your architecture.
Try to think about an FGV which increment or decrement your value. Could be helpful !
BR,
Vincent
05-26-2014 02:02 PM
Hello,
thank you for your answers. I'm sorry labview amateur. Do you have one or two concrete examples so I understand a little better now that you ask me to try? What are the advantages of using FGV?
Geoff
05-27-2014 02:21 AM
Hello Geoff,
You first have to say which architecure you need.
To just decrement or increment a simple value, a shift register could be enough. But in larger app's, FGV could be used as well.
Here is a community example showing the basic implementation of a FGV
https://decibel.ni.com/content/docs/DOC-2143
BR,
Vincent