Why does this bus creator output a multiplexed signal?
19 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Kristian Krajewski
il 7 Mar 2019
Commentato: Kristian Krajewski
il 13 Mar 2019
I have a bus creator in my model that is behaving weirdly, or at least I have never seen this before and I have no idea how to fix this (I've tried several things to no avail, first of all replacing the bus creator with a fresh one from the library browser to make sure nobody messed with the properties). I am getting the following error message(s) when trying to run the model:
Simulink cannot unify the dimensions of the multiplexed signal at output port 1 of '[...]/HMI Spec/Bus Creator' to match the input dimension of input port 1 of '[...]/HMI Spec/Out1'. Specifically, Simulink cannot unify {1,1,1,1,1,1,1} to match 1. Consequently, Simulink cannot propagate dimension information from output port 1 of '[...]/HMI Spec/Bus Creator' to input port 1 of '[...]/HMI Spec/Out1'.
Component:Simulink | Category:Modelerror
Error in port widths or dimensions. Invalid dimension has been specified for output port 1 of '[...]/HMI Spec/Bus Creator'.
Component:Simulink | Category:Modelerror
Error in port widths or dimensions. Input port 1 of '[...]/HMI Spec/Out1' is a one dimensional vector with 1 elements.
In the model it looks like this:

Inside the submodels there's a structure like this (they all look the same):

As you can see, these are all 1-dimensional signals. They initially come from a dSpace RTICAN-Block, but this has never been a problem before, as they're all just doubles. I have no idea why this single bus creator is acting up like this. Any ideas or input is greatly appreciated!
0 Commenti
Risposta accettata
Yingye Gan
il 7 Mar 2019
Hi Kristian,
I am assuming that you are using R2018a release and that the output signal of the dSpace RTICAN-Block is a virtual bus signal. In that case, this type of error occurs by design.
There are a few options you can try that may solve the problem,
Option (1): Create the Bus Object create the CAN_MESSAGE_BUS object in the base workspace by executing the canMessageBusType function, and then convert the virtual bus to a nonvirtual bus before entering the CAN Unppack using a Signal Conversion block.
Option (2): Create a Bus Object for the Bus Creator combining the CAN Msg buses and make this one also nonvirtual.
Option (3): Use Vector Concatenate/Selector instead of Bus Creator/Selector.
Option (4): Try out the model in R2018b or later releases.
Hope you find the reply helpful.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su General Applications in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!