How to protect a subsystem but still change it programmatically?

I am looking to interact between a Simulink model and a MATLAB App GUI, where I use the app to update calibratable values of the model and rebuild it programmatically. However, I do not want to let the user view the model, so I tried protecting the model and interacting with it through the app. I'm using a data store memory block to calibrate the values of certain parameters in the model, but once I protect the model, I am unable to update the values of the data store memory blocks from the GUI.
I have also tried to generate an app from the model using simulink.compiler.genapp function, but it throws up error:
Error using Simulink.BlockDiagram.buildRapidAcceleratorTarget
Unable to build a standalone executable to simulate the model 'BCM_Base_SW_V1_4' in rapid accelerator mode.
My goal is to use the GUI only to update and rebuild the model, but I don't want to grant access of the model to the end-user. Can anyone help out with this?

Answers (1)

If you want to protect a subsystem in Simulink but still be able to update it programmatically, you can use a protected model reference. This way, the user won't be able to see the contents of the subsystem, but you can still programmatically access and modify it.

Products

Release

R2022b

Asked:

on 2 Dec 2022

Answered:

on 20 Mar 2023

Community Treasure Hunt

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

Start Hunting!