MATLAB: How to change the number of Input / output ports of a referenced subsystem in simulink

powertrain blocksetreferenced subsystemsimulinksubsystemVehicle Dynamics Blockset

I'm working on powertrain blockset and vehicle dynamics blockset in simulink, and I'm trying to combine some features from both of them, to do so, I need to add/remove some inputs and outputs ports from some of the referenced subsystems in theses models. However, the error message I'm getting says that I cannot change the number of ports of the referenced subsystem, Like the following:
is there anyway to fix this issue, or how to de-reference the subsystem ?
Thank you.

Best Answer

Hi Tamim,
As far as I can tell, the issue is that you're trying to modify the I/O for one of the variants in a variant subsystem. That means each variant in that subsystem must use a subset of the signals from the parent. For example, if the variant subsystem has inputs A, B and C, then each of the variants must use only those signals. If you want to add a 4th input (D), then you've created an incompatible variant. This is what your error message is telling you.
You have 2 options:
  1. Update the variant subsystem to include the new signals you want in your individual variant. This will require you updating the model level above this to feed in the new signal.
  2. Get rid of the variant subsystem and just put in a new subsystem like Ashish recommended. Think of it like hard coding your subsystem I/O. It's simpler, but more rigid in its design.
For more info on variant subsystems, check out this example.
Cheers,
Mike
Related Question