Defining sample Time of Model Reference block by using model mask

4 views (last 30 days)
Hello everybody,
I have a model that contains a controller. I want that model's sample time and a few sample times inside the model to be specified by a specific value that I can enter using a model mask. I tried setting the sample time of the model and the sample times of a few other blocks to "sampleTime", then I defined a new matlab variable in the model workspace called "sampleTime" and ticked the "argument" checkbox. Then I created a mask in order to specifiy that sample time, however when simulating the model as a model reference block, simulink gives me the error "Parameter 'SampleTime' of 'singlePid/i_nomA_dig' (and also for all other blocks where the sample Time was specified) is non-tunable but refers to model arguments (sampleTime)". Is there a way to set the parameter to tunable? Or is there any other way to specify that value?
Greetings,
David

Answers (1)

TAB
TAB on 30 May 2018
Model can resolve the sample time from base workspace only.
Just create the variable "sampleTime" in base workspace. In your mask, use mask initialization to change the value of "sampleTime".
For example: If you have edit dialog in mask and its name is mskChildMdlSampleT, then write below in maks initialization pane:
assignin('base', 'sampleTime', mskChildMdlSampleT);
  1 Comment
qfladen
qfladen on 5 Jun 2018
Hi Tabrez, I understand that for the sample time of the model itself. However, even when I set the model sample time to some fixed value, I still can not specify other sample times, e.g. a port sample time. The error message is
Parameter 'SampleTime' of 'singlePid/i_nomA_dig' is non-tunable but refers to model arguments (sampleTime)
Is there any way to solve that?

Sign in to comment.

Categories

Find more on Author Block Masks in Help Center and File Exchange

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!