Why an initialization function in Simulink Dialog box code is not going to work?
2 views (last 30 days)
Need help. I have a simulation in Simulink and in dialog box code(in mask editor) I have an initialization code which takes a few parameters from the dialog box and calculates TimeFinal which is parameter for Stop Time of the simulation. It doesn't want to calculate that parameter from dialog box code when I want to run a simulation(Error evaluating expression 'TimeFinal' for 'StopTime' specified in the Configuration Parameters dialog for block diagram), but when I put that initialization function in Model Settings->Model Properties->Callbacks->InitFcn then it works.
Would someone be so kind to explain to me this initialization hierachy in Simulink and if someone has a link for a comprehensive Dialog Box tutorial(which includes code in dialog box) I would really appriciate?
Thankful in advance
Ritish Sehgal on 28 Jun 2022
It is my understanding that when you try to execute the initialization code in Mask Editor it gives an error while evaluating the expression.
You can enter any valid MATLAB expression, consisting of MATLAB functions and scripts, operators, and variables defined in the “mask workspace”. Initialization commands run in the “mask workspace”, not the base workspace. You can check if that is the case.
I am attaching a link to the documentation which gives the use cases and best practices for Mask Initialization:
There are some rules and conditions that apply for mask initialization commands. Below is a link which gives an overview of the Code Pane and mentions those rules as well:
Hope it helps!!