Why am I getting an "Incompatible global variables" after creating a protected reference model?
18 views (last 30 days)
Show older comments
MathWorks Support Team
on 15 Nov 2018
Edited: MathWorks Support Team
on 16 Dec 2025 at 19:53
I have a reference model that uses global Simulink parameters declared in the base workspace and after creating a protected model from it, I get the following error when trying to simulate the model from a function with different values for the Simulink parameters:
ERROR: "One or more global variables used by protected model are incompatible with the variables that existed when the model was created."
Why do I get this error?
Accepted Answer
MathWorks Support Team
on 20 Nov 2025
Edited: MathWorks Support Team
on 16 Dec 2025 at 19:53
There can be several possible reasons for this error:
1) If the parameters are in the function's workspace so they are not accessible to the model. You can resolve this issue by including the following in your function:
>> assignin('base','name_of_var', name_of_variable);
2) Comparing to the time when the protected model was created, if the Simulink parameters are called with different values in datatype, dimensions, Max/Min value, or unit. For example if you have the following case:
You create the reference model and protected model while the following variable (used in the model) is in the base workspace:
>> var1.Value = [1 2 3 4]
It is a 1x4 array. If you then try to use the protected model using a "var1" with different dimensions like
>> var1.Value = [1 2]
you will get an error saying that the variables used by the protected model are incompatible with the variable that existed when the model was created. This happens because the files generated when creating the protected model have the dimensions of the Simulink parameters hard coded.
0 Comments
More Answers (0)
See Also
Categories
Find more on Model Protection 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!