Why is the initialization code for a block mask not executed in protected models?

조회 수: 21 (최근 30일)
I have a protected model reference containing blocks with initialization commands specified on the Initialization pane of the Mask Editor.  I expect these commands to execute at model update (Ctrl+D).  However, I noticed that they do not execute when I run or update my model.
However, if I use a model reference(unprotected) in place of the protected model reference, the initialization callback runs fine.
How do I use the Initialization commands callback in a protected model reference? 

채택된 답변

MathWorks Support Team
MathWorks Support Team 2023년 12월 2일
편집: MathWorks Support Team 2024년 2월 6일
Currently (as of R2018a), the block mask initialization commands do not execute in protected models.
If you have scripts that run in the Initialization Commands, then they will not execute.
There is a way to register callbacks for a protected model is documented as follows: 
To refer to the documentation, run the following command in MATLAB R2018a:
web(fullfile(docroot, 'rtw/ug/define-callbacks-for-protected-model.html'))
If you want the protected model to execute any m-code during model initialization, you will need to specify that m-code in the protected model's PreAccess SIM callback. 
Please follow the below link to search for the required information regarding the current release:
  댓글 수: 1
Mikhail
Mikhail 2018년 4월 30일
The question was regarding block callbacks, not model callbacks. Anyways, this is probably not possible because there are no "blocks" in protected model, since "The software stores the protected model as a compiled MEX binary."

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Model, Block, and Port Callbacks에 대해 자세히 알아보기

제품


릴리스

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by