'PID Controller' in library 'simulink_​need_slupd​ate', error while trying to run old Simulink Code

7 vues (au cours des 30 derniers jours)
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 commentaires
Kaustubha Govind
Kaustubha Govind le 23 Juin 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.
John Robinson
John Robinson le 27 Juin 2011
I'm using R2009a, so I guess it was moved in the later editions. Thanks!

Connectez-vous pour commenter.

Réponse acceptée

Guy Rouleau
Guy Rouleau le 24 Juin 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.

Plus de réponses (1)

Abhishek Dhiman
Abhishek Dhiman le 11 Déc 2020
I am using matlab 2015a but in simulink library there is no pid

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by