'InitFcn' callback error
Show older comments
I was trying to design and tune a MPC controller for a MIMO system and I keep getting the following error.

This is my Simulink block diagram:


6 Comments
Walter Roberson
on 1 Mar 2020
You need to look at the properties of m_p_c/MPC_Controller
Mariam Dabbous
on 1 Mar 2020
Walter Roberson
on 2 Mar 2020
That is what I expected you would get: that is what the error message said you would find there.
The problem is that impcblock_initFcn needs to use mpc1 inside it, but mpc1 is not defined.
I cannot tell from the messages whether mpc1 is intended to be a block, or a model, or a constant parameter, or a variable that is defined inside the base workspace, or something else.
The name mpc1 hints that possibly at one time the the mpc model was renamed to mpc1 and that the code in impcblock_initFcn was not adjusted back to refer to mpc . But that is speculation. You need to find impcblokc_initFcn and examine the code there.
Jonah Embry-Seckler
on 13 Apr 2020
I am having the exact same problems as described above. I found the impcblock_InitFcn file using my command window, and tried to run it in the standard IDE. It indicated that there was an error using mpc_chkmpcobjxmpc: it couldn't resolve mpc1. This makes sense since mpc_chkmpcobjxmpc is the utility function which obtains @mpc and @mpcstate objects from the block diagram. However, when I go to edit mpc_chkmpcobjxmpc, it says syas that I do not have enough input arguments. The error is called on line 10. Additionally, when I attempt to edit the file, Matlab doesn't let me save or compile anything. I am not sure what to do next.
For reference, I am running R2019a. I downloaded the MPC Simulink package this morning after having had Matlab R2019a for several months prior. Not sure if this makes a difference, but just incase.
Thanks!
Jonah Embry-Seckler
on 13 Apr 2020
Additionally, the exact error appears to occur on line 14 in this line:
mpcobj = slResolve(mpcobjname,blk)
slResolve cannot resolve mpc1. What is slResolve? It doesn't appear to be a standard Matlab function based on my google searches.
Walter Roberson
on 29 May 2021
slResolve() is probably the internal Simulink symbol resolution; https://www.mathworks.com/help/simulink/ug/resolving-symbols.html
Accepted Answer
More Answers (3)
Wissal Tabib
on 29 May 2021
0 votes
did you find a solution to your problem what was it ? I am facing the same
Adesola Bankole
on 23 Apr 2022
0 votes
Make sure that the 'clear' or 'clear all' syntax is either commented or deleted.
The issue should be resolved with that action
Guilherme Vitor Santos
on 3 Jun 2022
Edited: Guilherme Vitor Santos
on 3 Jun 2022
0 votes
Estous com esse problema no matlab online
Error evaluating 'InitFcn' callback of Audio Device Writer block (mask) 'labtelecom/Audio Device Writer'.
Callback string is 'audioblkAudioDeviceIO(gcbh, 'initfcn');'
Caused by:
No audio input device detected
3 Comments
Walter Roberson
on 3 Jun 2022
MATLAB Online can only hope to find audio devices if you are using the Chrome browser to access it.
Ashlesh
on 8 Jun 2022
I have the same issue ..how can I resolve it?
Walter Roberson
on 8 Jun 2022
Ashlesh, are you using Chrome to access MATLAB Online? No other browser can possibly work.
Categories
Find more on Linear Plant Specification in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!