'PID Controller' in library 'simulink_need_slupdate', error while trying to run old Simulink Code
7 views (last 30 days)
Show older comments
John Robinson
on 23 Jun 2011
Answered: Abhishek Dhiman
on 11 Dec 2020
Hi,
I'm trying to run an old Simulink code and I'm getting the error:
Failed to find 'PID Controller' in library 'simulink_need_slupdate' referenced by '.../PID Controller1'.
I checked the library 'simulink_need_slupdate' on several different versions of MATLAB and could not find the PID controller in there.
My idea is to replace all of these blocks with a PID controller, and see if the code runs, the only problem is that I don't know the gains which were used in the old blocks, and I'm not sure if this will actually fix the code and there are several (~50) PID controllers to be replaced.
In the Simulink code itself the blocks show up as bad links, because the 'Source Link' shows up as 'simulink_need_slupdate/PID Controller'.
Any advice? Should I just replace all the PID's and try to recalculate the gains, or is there another easier path? Thanks for any help!
JR
2 Comments
Kaustubha Govind
on 23 Jun 2011
What version of MATLAB are you using? I do see a PID Controller block in simulink_need_slupdate on R2011a.
Typically, you can open up the model as text and look for the Block record corresponding to the unresolved PID Controller to see the values of the parameters.
Accepted Answer
Guy Rouleau
on 24 Jun 2011
It looks like your model has been made in an old release (before ~R2009), then open and saved in a recent release. But now you are trying to reopen it in an old release.
The PID block is in the "simulink_need_slupdate" library since R2010a or R2010b. The reason is that this old PID block has been replaced by a new PID block (<http://www.mathworks.com/help/toolbox/simulink/slref/pidcontroller.html>)
Before, it was inside the Simulink Extras library (I think the exact name is simulink_extras.mdl, please verify)
What you can do is write a script to find the problematic blocks using FIND_SYSTEM, then use SET_PARAM on these blocks to modify the "ReferenceBlock" property and point to the right place. (see http://www.mathworks.com/help/toolbox/simulink/slref/f23-7517.html for all the block parameters)
Please cnmtact technical support if you need help with that, your are not the first to encounter this situation.
More Answers (1)
Abhishek Dhiman
on 11 Dec 2020
I am using matlab 2015a but in simulink library there is no pid
0 Comments
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!