PID Smith predictor

OP wanted something, I assume load change, to control against, or to control with, instead of an open loop step change. I provided it. If you think it needs bells and whistles, feel free to implement your own. I don't have to prove I can move bits around.
Anybody can move bits.
You have failed with your swept sine wave example.
This is why a step jump is so much easier for many applications that don't involve motion. A step change is the simplest option for the OP.
 
I think any manual excitation could cause problems, whether it is a manual step change, or some other waveform.
If I were the Original Prankster/Poster, I might be looking for - with an existing 'roughly' tuned controller running in Auto, perform a SP step change. From the resultant change in CV and PV, work out the nearest approximation of the plant.

A change in SP other than a step change may also be substituted.

The advantage here is, you should be able to leave the room for a coffee, without having to worry that your process will go out of acceptable limits.
 
Thank you all for your great feedback! It has opened my eyes.

Until now, I always did a step response. This always gave a good model.

Does anyone have a "model" function that can be used in Siemens? A function that gives a step response on the CO. Stores the resulting data and then processes it into a model.
 
Does anyone have a "model" function that can be used in Siemens? A function that gives a step response on the CO. Stores the resulting data and then processes it into a model.

Yes, but until now, you should be able to implement one yourself.
I imagine this would go something like described in the attachment.

This is just an idea, something to get you started. The rest is just to write the code that would be a basically combination of what was already provided to you.

Best of luck!
 
Is a sine sweep the way to find the response of a non-self regulating process or is there a trick with a step response and non-self regulating process to do so? ie. water level and a pump, temperature and a discrete relay, position and a servo.
 
Thank you very much for all your help.

Over the past few weeks, I have been working to improve the predictor. In addition, I have started to make a PID auto tuning function.

Regarding the PID auto tuning function: I find it difficult to detect when the process value is stable. Do you have a function for this? The other calculations I can already perform, this works perfectly.

Thanks again for your help, I am very grateful.
 
Thank you very much for all your help.

Over the past few weeks, I have been working to improve the predictor. In addition, I have started to make a PID auto tuning function.

Regarding the PID auto tuning function: I find it difficult to detect when the process value is stable. Do you have a function for this? The other calculations I can already perform, this works perfectly.

Thanks again for your help, I am very grateful.
The process doesn't need to be stable.
The problem with most attempts to estimate the plant parameters is that people use only a few points estimate the plant parameters. This is not the best way to do it. A better way is to the whole trend or system response.
I like to have the .csv file with 3 columns. The time, CV and PV.
The more data the better as long as the system is being excited. Data while the plant is just sitting is not good.
look up Levenberg-Marquardt system identification. L-M will use all the data to find the best statistical fit by minimizing the error between the estimated model's response and the actual PV.
https://www.youtube.com/watch?v=qzr6eL90Aok
https://www.youtube.com/watch?v=lermULNDz3M

A more general minimizing algorithm is BFGS. The simpliest is Nelder-Mead.
The advantage of Nelder-Mead is that it doesn't need to find derivatives which are prone to feed back noise and resolution problems.

Read this. Notice the author is comparing BFGS with Nelder-Mead and says BFGS is better and faster. This is true if optimizing mathematical functions where it is easy to find the derivative but not so true when dealing with real data that may be noisy.
https://m-clark.github.io/models-by-example/nelder-mead.html
 

Similar Topics

Hi all, The problem is to control the dry mass with a delay time system. I know Smith Predictor method can do it but how to implement it on ladder...
Replies
4
Views
3,746
Hello, I have a motor that we are sending a RPM Speed Output from 0-100% to the VFD. However, the Motor HP needs to be limited to 6000 HP and the...
Replies
3
Views
85
I have S7 1512C controler for controlling 48 PID temperature loop, the output is PWM. Please I need the best, most efficient way to write the...
Replies
13
Views
591
Hi all, I'm having trouble solving a problem I've been working on for several months, and thought you might like a stab at it. The machine runs...
Replies
22
Views
926
How can I connect PID Output to a valve. In ladder logic program is there any logic do I want to add between valve and PID? PV=SP What will be the...
Replies
7
Views
409
Back
Top Bottom