'PID Controller' in library 'simulink_need_slupdate', error while trying to run old Simulink Code
8 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
John Robinson
el 23 de Jun. de 2011
Respondida: Abhishek Dhiman
el 11 de Dic. de 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 comentarios
Kaustubha Govind
el 23 de Jun. de 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.
Respuesta aceptada
Guy Rouleau
el 24 de Jun. de 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.
Más respuestas (1)
Abhishek Dhiman
el 11 de Dic. de 2020
I am using matlab 2015a but in simulink library there is no pid
0 comentarios
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!