Cascade control simulation
Dear Sirs
I am interested in developing a cascade control simulation in LabVIEW 8.2 using LabVIEW Simulation Module. I have developed a program that I have sent you. Do you tell me if the program is good implemented?. How I should tune the primary and secundary loops?(I don`t know how should be the conections in order to tune each loop). Excercises could be great!.
Adittional data
Process transfer function is determinated usig Step Test
Controller parameters are obteined using Ziegler Nichols Method
Best Regards
Attachments:
control en cascada.vi 638 KB
Hi Pablo,
I'm sorry for attached 8.6. Follow attached the VI saved for version 8.2, and about reference Control Systems Engineering, by Norman S. Nise Cap. 9. Another interesting reference, but I think it is not exactly you are finding is Modern Control Engineering, by Katsuhiko Ogata Section 10.5.
Happy new year!
Regards,
Message Edited by Osvaldo Santos on 12-29-2008 09:48 AM
Osvaldo Santos
Attachments:
Filtered Noise.zip 30 KB
Block Diagram.GIF 15 KB
Similar Messages
-
I would like to build Process Control Simulator Virtual for my University. I know LABVIEW has an example PID Control Level, In these example I see the level is moving (going up and going down ) I want to do some similar with feedback control, feedfoward control and cascada PID control, I mean level going up an going down, parametres Kp, Ti and Td, Graphips (manipulated variable vs. controlled variable), Controller in manual mode and automatic mode. I´ve read that I can do that with LABVIEW SIMULATOR MODULE but I don´t have experiencee using LABVIEW. I have Transfers Functions but I don´t know how begin. I will show you the first project I want to do.
Thanks for all you support you are going to give me
Best Regards
Tomas Cabrera
Venezuela
email: [email protected]
Attachments:
Virtual Process Control Simulator.jpg 27 KBHola Thomas,
I also want to let you know that the simulation you are trying to do would be much easier if you have the Simulation Module and the Control Design Toolkit. They are add-on to LabVIEW that allow you to do transfer functions and continuous simulation easily. For more information, you can try:
http://www.ni.com/labview/embeddedcontrol/simulation.htm
Please let me know if we can help you more to understand those products.
Barp - Control and Simulation Group - LabVIEW R&D - National Instruments -
I am trying to implement this: http://blogs.office.com/2013/08/01/introducing-a-new-user-experience-feature-in-access-web-apps-cascading-controls/
I have a table Encounters with two rows: M1
(lookup to OMed) and M1LotNumber (ShortText).
There is another table OMed Attributes which has rows: Med (lookup to OMed) and Lot Number (ShortText).
In this view, M1 is an autocomplete and M1LotNumber is a dropdown. I want M1LotNumber to show items related to the M1 lookup value. This works flawlessly.
My problem is that once selected, the dropdown value will not save to the M1LotNumber row. Even though control source is set, when I save the view, the lot number does not save. Furthermore, if I open a saved record and change ONLY the M1LotNumber, the view
does not let me save - this tells me that Access is not recognizing the control source.
What about my setup is wrong?My problem is that once selected, the dropdown value will not save to the M1LotNumber row. Even though control source is set, when I save the view, the lot number does not save. Furthermore, if I open a saved record and change ONLY the M1LotNumber, the view
does not let me save - this tells me that Access is not recognizing the control source.
What about my setup is wrong?
Hi Dr.Cole,
Is there any error message when you click on the Save button in the web page? I can successfully save the cascading ComboBox's value into the current table without any problem.
If there's some errors pop up in the web page, in ordinary circumstances, the problem is that you didn't correctly set those fields for the cascading ComboBox, "Bound Field", "Display Field" or "Related Field" (especially the
"Related Field", you need to set it to the M1's control's bound field). So please try to change these fields.
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
Control & Simulation Loop failed to compile
Dear Forum Members,
I have a problem with a Control & Simulation Loop program (attached) that just doesn't compile & run. I believe that the problem is associated with the 'Feedback Node' at the bottom of this Control & Simulation Frame since if this is taken out the program will run ok.
Can anyone please advise me if this 'Feedback Node' is incorrectly used or in violation of anything. I have tried various ways to overcome the problem i.e. initialising it at the start but nothing works. The error message that I received just says "VI failed to compile".
Appreciate any help with this.Hello bunnykins,
The Feedback node really isn't a supported function in control design and simulation. The behavior you're reporting, and the work around are both documented in the know issues of the module here:
201449
Return
A Feedback Node on a Simulation Diagram causes the VI to fail to compile
The Feedback Node does not make sense semantically within a Simulation Diagram, due to the fact that most ODE Solvers will execute the diagram multiple times per iteration and may need to reject steps and try again, filling the Feedback Node with bad data.
Workaround: Use the Memory block from the Simulation Utility palette. If a delay of greater than 1 is desired you can chain multiple memory blocks in sequence.
Reported Version: 8.5
Resolved Version: N/A
Added: 07/31/2010
Applications Engineer
National Instruments
CLD Certified -
Hi, I have to develop/program an organ bath system - a feedback system mimicking real sinusoidal breathing oscillations (shown in attached images). I have NI Labview 8.5, NI-Motion 7.6, a linear motor (M-235 DC-Mike actuator), an MID-7654 Servo Power Motor Drive and a pressure transducer. I believe I will need to control the PID controller and am aware of the PID Control Toolkit as well as the Control Design and Simulation Toolkit for NI Labview. However, is it possible to control the system using the NI-Motion software I have at the moment? If not, do I have to purchase both the PID and Control/Simulation Toolkit or just one? Thanks in advance...
Attachments:
feedback design1.JPG 25 KB
feedback system1.JPG 42 KBDear Garry,
Do you have a motion controller to interface the MID-7654 to your
computer and LabVIEW? This would be the PCI-734x or PCI-735x. If you
do, I believe that you could implement your application with LabVIEW
and NI-Motion. You could do so by using the analog feedback feature for
the control loops for each axis. Then, you could specify the optimal
sinusoidal moves/pressure patterns that mimic real breathing patterns.
The analog feedback from your pressure transducer will be used during
the move(s) to maintain the pressure that you want.
Please see Chapter 13 here for more details:
NI-Motion User Manual
http://www.ni.com/pdf/manuals/371242c.pdf
Here is also a good discussion forum post on Analog feedback:
Can i use NI-7358 to implement a hybrid position force/torque control system?
http://forums.ni.com/ni/board/message?board.id=240&thread.id=2976&view=by_date_ascending&page=1
I believe that the above option would work for you, and you would not
have to use the Control Design and Simulation Module or the PID
Toolkit. Please let me know if you have any additional questions. I
haven't actually set up a system with analog feedback from a pressure
transducer before, but I believe that the above would be a very viable
option.
Best Regards,
~Nate -
Simple counter within Control & Simulation Loop
Does anyone know a simple way of creating an incremental counter within the Control & Simulation Loop ? It's not possible to have a For loop within the Control & Simulation Loop hence the shift register method is out.
The "simulation parameters" function on the utilities pallete outputs a "Timestep Index" that is incremented each step. That's the simplest option. Alternatively, you could use a sub VI that executes on major steps and contains a for loop.
-
Extract Signal Tone Information in Control & Simulation Loop
Hi,
I have a simple Block Diagram to try Control & Simulation Loop. I added a Sine Wave signal and a Waveform Chart connected to it. They work just fine.
I tried to add a Extract Single Tone Information , from Signal Processing, and connect it to the output of the Sine Wave generator but I do not know how to create a proper Time Signal.
I thought of storing the output of the Sine Wave in an array but I was unsuccessful since I could not add any shift register to this type of control loops.
Any help or suggestions?
Thanks
Attachments:
Control_n_Sim_Test.PNG 9 KBHi Siamak,
Thanks for your reply mate.
However, when I built a same BD as you posted on, it somehow didn't work. I also attached a photo of my BD here. I used the gauge to measure when I run the programme. The gauge shows there is no signal output after the "collector"VI (gauge no.13). would you please check it for me? Many thanks!
BR
Floyd
Attachments:
tone info extraction.png 134 KB -
Simulation of cascaded control loops
I building a simulation of a motor control system using LabVIEW Simulation 8.2. The controller has the traditional cascaded position-velocity-current loop design where each loop runs at a different speed.
The online help for Simulation says that simulation subsystems inherit the timing of the main diagram. How do I set the speed of the inner loops to be different than the outer main loop?
Solved!
Go to Solution.Actually, I solved the problem using a zero order hold block at the beginning of the subsystem diagram and setting the sampling time to the required period.
-
Control Simulation and Design with DAQmx
Hi all, thanks in advance for any helpful direction you can provide.
I was recently setup with Labview 2013 Developer Suite and the Control and Simulation Design add-on and was hoping to get a little nudge in the right direction.
I have used Labview and the NI DAQmx setup for regular external measurements before but never integrated with the Control and Simulation toolbox. I am trying to use the Control and Simulation Toolbox to model a simple system (to start) in conjunction with the DAQmx setup I have, and am somewhat at a loss.
For example, I want to use Labview Control and Simulation to simulate a simple integrator (1/s). The input for the integrator is an external analog voltage (from separate electronics) coming in through the DAQmx setup and the output of the integrator is also and external analog voltage going back to the external electronics. In essence, a very simple control loop.
I have been digging through tutorials and searching for examples, of which there have been many excellent ones. However, I have yet to find an example whereby the control and simulation loop is talking to the outside world through the DAQmx interface. I do not believe the RT module or RT target is necessary for timing as the fastest we are running the loop is around 10Hz. I have found some small examples discussing how the Control and Simulation Toolbox timing can be controlled by the RT target or even the DAQmx but I am still struggling on how to pass data in and out of the loop and how to set the timing parameters. How do you get it to simply run endless, for example.
Again, thanks for any information or direction you can provide.Hey Cabala,
Based on your description this would be a great starting example.
https://decibel.ni.com/content/docs/DOC-11521
Depending on your hardware you may or may not be able to use hardware timed single point for acquisition but you could set it up for continuous as well and use the same structure of 1 read and 1 rate for each cycle of the loop.
You can replace proportional gain function with the CD and Sim Loop and place a Integrator function with in that.
Sorry it appears one of the dependencies for that example is missing so you can't run it off immediately.
Please let us know if you have any other questions.
Kyle Hartley
RIO Product Support Engineer
National Instruments -
Control&Simulation - CD Draw Transfer Function Equation - update issue
Hi!
At initial start - the front panel looks like this below.
When I run the application - sweep for certain values, then the front panel shows this -
Equation is drawn with the second to last value and not with the last one ?!
If the application is repeated - then the front panel shows following results
Anyone could help me please ?!
Than!
Vasco
Solved!
Go to Solution.
Attachments:
Forum-question-equation-draft-1.vi 292 KBVasco,
On your code, you have the top part of the "Variables" calculation in parallel to the the simulation and you are connecting the wires with a 'local variable'. However, in dataflow, there is no guarantee that the top part will be running first than the second part. So, your local variable is not up to date to the last iteration.
To fix this, remove the local variable and wire from the "Variables" control to the "CD Construct Transfer Function Model.vi". This should guarantee that the top part of our code is executed before the simulation and using the correct values.
Please let me know if that works for you...
Barp - Control and Simulation Group - LabVIEW R&D - National Instruments -
I just installed the 2013 trial version of LabVIEW and LabVIEW Control Design and Simulation Module. Normally, for control design I only use Matlab/Simulink but LabVIEW does have some advantages and I want to take these advantages. The problem I feel it is annoying is that I cannot use the Silver Controls to replace the default classis style control - like the bode gain and phase margin or root lotus plot below
Solved!
Go to Solution.Hi muahang,
why not? What's the problem here?
Those plots look like standard XY graphs (maybe with some fancy background graphics for the root locus)...
Best regards,
GerdW
CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
Kudos are welcome -
Control & simulation loop, VI failed to compile
hi!
I want to simulate asynchronous generater. but I cant run my VI. It failed to compile. I have read some reason in this forum but I cant fix It. who can help me!
the name of main VI is: mpdb_2.vi
thanks you!
Attachments:
MPDB_2.zip 1951 KBWhich version of LabVIEW are you using?
In 2013, the error says: Tmech_Ef_1.vi 'Tmechc_Ef':subsystem has illegal term names. And in analyzing the subsystem, I noticed that the Enum where you choose "EF or Tmech" has a "2 <space>" as a label.
To fix this, just put simple name without spaces in the beginning or the end of the name. In doing this, the VI is runnable.
Now, another note: I noticed you are trying to pass paraemters between Mathscript and Control Design and Simulation. We have a feature called Parameter Hierarchy that you can just transfer information between both Models of Computation without going through the wires. Also, we do have a plug-in for Mathscript that you can just use for this purpose. Please see shipping examples in the links below and documentation for more information:
C:\Program Files (x86)\National Instruments\LabVIEW 2013\examples\Control and Simulation\Simulation\Mathscript Integration
C:\Program Files (x86)\National Instruments\LabVIEW 2013\examples\Control and Simulation\Simulation\Get-Set Model Parameters
Barp - Control and Simulation Group - LabVIEW R&D - National Instruments -
DC Motor PID Control Simulation
Hi everyone,
I'm trying to practice how to tune a DC motor PID gains using a simple simulation vi. I'm using a short tutorial at ni.com but I can't reproduce the simulator VI. I have attached my VI and picture of the VI code from the tutorial. I don't understand how the data type conversion was made in the connection between the collector express vi and the xy graph indicator. Please see attachments. I will appreciate any assistance.
Thanks
Attachments:
DC Motor PID Simulation.vi 62 KB
PID image.png 20 KBHello
I'm also using the same tutorial but
I'm interested to control a DC motor model but with another input which is TL....
for example in Labview there is simEx DC Motor.vi
which has two inputs Voltage and TL
if I set TL to Zero and concerned only with Voltage input ...I can tune PID using the stated mrthod in the tutorial ( manual (trial and error)) but when I increase TL to some value, I can not tune PID controller...any help or suggestion please?
A.Hakim -
Control Simulation Self-Balancing -- for expert
Hi,
I see this example : \examples\Control Design\Case StudiesCDCartpoleControllerDesignAndSimulation.llb
I wold modify for self-balancing type "HOT-V".
Message Edited by micman2 on 04-23-2008 11:47 AM
Attachments:
Copia (5) di MWSnap1.gif 64 KB
MWSnap1.gif 17 KBHi Hudson ,
Thanks you for your answer!
My goal is to study HOT-V :
http://zone.ni.com/devzone/cda/tut/p/id/4386
Now, since it is impossible to see the source code of hot-v (I have contacted by email authors but I had no answer)
and given that I recently purchased a daq , I'm trying to build/replicate hot-v.
I have the model (see attached pdf above) but I can not implement it labview.
How to control I use LQR (linear quadratic regulator)
Finally, the problem is how can implement the model of self-balancing robot described PDF in labview.
Thanks
Michele -
DMP 4400 Remote Control Simulation
Hi,
I need to please know how to send an HTTP MIB request to a certain DMP to simulate a "remote" key click if I don't now have a remote handy. Say I want to test the Yellow button after it is programmed. Can anyone help with the HTTP command string for this example?
ThanksThe Command to change or assign the button to a specific task is
correct.
The Command to execute the RED button is also correct for the DEFAULT
setting (which is "r"). Once you change the assignment to another value
the command (with the "r") is not correct and will not work.
The "irasrv" is what controls the remote command mappings. In this example; when
you press RED button, it interprets it and it is what sends to the "xfake" service "r",
which is mapped to the RED press button. So when you send a command directly to "xfake",
you are completely bypassing the "irasrv". And there is no way to send a keypress
directly into the "irasrv".
In summary, what this is saying the there is no way to send a command to the "irasrv"
(which is the infrared service for reading the remote control commands). We can
bypass this service to the next step to simulate the commands using the "xfake" service.
These are the commands in the second discussion thread that I posted.
the DEFAULT "xfake" commands work. But when you change them some may NOT work
based on the values that were changed in the key mappings.
In your case, the CAST string can not be passed in a MIB to the "xfake" service.
This has to do with commands and syntax in your remapped values.
The key mappings "do" work. I have tested them with a physical remote without issues.
Cheers!
T.
Maybe you are looking for
-
How can I pass arguments from one MIDlet to another MIDlet
Hi everybody ! Can anybody help me in knowing that how can I pass the parameters from one MIDlets to another one in same application. I am devloping a application in which I am using more than two MIDlet and I want to transfer Parameter from one MIDl
-
Hi guys have a problem with my ipod touch 4 gen i deleted my music and am now unable to put music on to my ipod. when i attache the ipod to itunes it says the music is still on my ipod any ideas thanks in advance.
-
How to migrate my address book from googlemail?
I am using windows 8.1. and find it difficult to use TB without my address book.
-
Get days from the java.util.date class
Does anyone know how to get the days from the java.util.date class. I'm trying to subtract two dates to get the total days between the two dates. Any help would be appriciated Rob
-
User tables belonging to the dbo schema were found in the database...
Hi I´m running SAP on windows server 2003 R2 x64 sql 2005. I have installed a sandbox system based on NW 7.01 SR1 ECC 6.0. It´s only abap. After that I wanted to make a system copy of our production system to the the sandbox. So my sql colleague took