Simulink Signals Data Types

1 view (last 30 days)
Luca Ferro
Luca Ferro on 4 Jan 2023
Commented: Luca Ferro on 6 Jan 2023
I have a script which creates simulink bus creators and their relative input/oupt blocks programmatically from a simulink data dictionary.
In some cases it is needed to have the same signal as an input in different buses and i have not found a solution to reference the data dictionary signal multiple times across the project.
I would like to have diffent signal block names for the same signals, but only one reference entry in the data dictionary.
I was wondering if there is an explicit casting type for signals as the one for buses that would do the trick:
Pretty much allong the lines of: Signal: <signal name>

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 4 Jan 2023
The best approach is to Create Duplicate Inport Blocks.
To do it by script, I think you only need to set the duplicated port number.
"In2" and "In3" are block name, not signal name.
You can set the data type for the signal as long as the data type is defined. The data type could be those built-in, such as single, int8, etc. or defined in your data dictionary. Take a look at all the possible options in the "Output data type" dropdown list.
  7 Comments
Fangjun Jiang
Fangjun Jiang on 5 Jan 2023
The error must have been caused by the "multiple" references. The "resolution" can only be done at only one place, the true source of that signal. All other places are destinations, not soure. They inherit the signal data type.
Luca Ferro
Luca Ferro on 6 Jan 2023
For know i will workaround this issue by creating multiple clones of the same signal with a different naming convention in the data dictionary and reference them singularly. It is not as clean but it does the job pretty conveniently. If i somehow progress on the matter with the other method i will let you know here.

Sign in to comment.

More Answers (0)

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!