MATLAB Answers

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

51 views (last 30 days)
Tamim Boubou
Tamim Boubou on 24 Jun 2020
Answered: Tamim Boubou on 1 Jul 2020
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.
Tamim Boubou
Tamim Boubou on 25 Jun 2020
I was trying to avoid this because there are many subsystems and doing so everytime I want to adjust some input/output would take some amount of time since I'll have to adjust the variables, etc...
Thank you for the suggestion.

Sign in to comment.

Accepted Answer

Mike Sasena
Mike Sasena on 30 Jun 2020
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.

More Answers (1)

Tamim Boubou
Tamim Boubou on 1 Jul 2020
That was exactly my problem, I noticed this after few hours of asking the questions, but forgot to answer my own question.
Thank you very much for the answer.

Community Treasure Hunt

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

Start Hunting!