I'm hoping to do some hierarchical modeling of power systems using Specialized Power Systems library. Unfortunately, it seems that physical signals (i.e. Simscape signals) cannot cross Referenced Model boundaries, so that leaves Referenced Subsystems or Custom Libraries (as far as I know). I know that you could use controlled V/I sources and V/I measurements to somewhat make conversions to Simulink signals, but I don't want to create algebraic loops or introduce delays to break them. My question is:
Is there a way to programmatically change and save the block parameters of a single instance of a Referenced Subsystem without updating all instances of the same Referenced Subsystem? For custom libraries: is there a way to do the same with an instance of a library subsystem without affecting the link to the library (as in preventing the need to restore the original block parameters or push an update to the library subsystem block parameters)?
I guess another way to say this: is there a way to create model block structure dependency without also creating model block parameter dependency?
My goal is to be able to develop a single model file (say for a battery energy storage system) and then place multiple instances of the model in the top level model and modify the block parameters to achieve different model output behavior (say energy storage capacities). Later, if a structural change was made to the model file (say a new control loop is added), then that would propagate to model instances.
I'd like to avoid creating separate Referenced Subsystems or separate Library Subsystems for each model with different block parameters if that's possible.
Thanks in advance!