What is a SubrefProxy block?

59 views (last 30 days)
Yuri Orlov
Yuri Orlov on 27 Jul 2017
Commented: Tilman on 24 May 2023
Hi,
Simulink is providing very strange error message: "Invalid output port data type. Data type of output port 11 of 'MyModel/MyModelRef/MyModelRef_In2_SelectorProxy' is invalid. This error message is indirectly related to a hidden SubrefProxy block. Consider manually inserting such a block to debug the problem."
What is a SubrefProxy block? Where to find it?

Answers (1)

Wilson A N
Wilson A N on 31 Jul 2017
I think these error messages usually appear when the signals being fed to the bus creator block do not have their data types configured correctly.
To see the real error, try commenting out the model reference block in the harness model (and the bus selector block downstream from this model block) and then simulate the model.
For example, the signals feeding into the bus creator may be all doubles but the bus object expects {boolean, boolean, boolean, uint32}. Correcting this may help in resolving the issue.
As this error only happens when an incorrect bus signal is fed to a model reference block, commenting out the model reference block can help narrow down the real error.
  1 Comment
Tilman
Tilman on 24 May 2023
I also had this issue. I tried to debug it as described above: by commenting out the bus creator blocks.
In the end I found the bus creator causing the problem and I recreated it from scratch, which solved the problem.
Also if you have this problem, check that the signal order going into the bus creator is the same as the order of the bus object you defined in matlab. This might also cause this problem.

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!