Bus Assignment creates new copy of variable in generated code ?

Hi,
I have created one bus using Bus Creator and the output has been written to 'My_Signal' (Simulink.Signal object). That signal is fed to another subsystem through port.
I am using Bus Assignment to update one field of bus. Generated code looks like this,
My_Signal.Field_1= 5;
My_Signal.Field_2= 6;
...
...
...
% Subsystem2
rtb_My_Signal=My_Signal;
rtb_My_Signal.Field_2=10;
...
..
I do not understand why Embedded coder is creating new parameter ? Is it possible to reduce the unneccasry bus copy ?
I want the generated code looks like below
My_Signal.Field_1= 5;
My_Signal.Field_2= 6;
...
...
...
% Subsystem 2
My_Signal.Field_2=10;

3 Comments

Looking for the in-built solution. I was able to generate required code using tlc files. But it's good to have a built in solution.
Hello, I am facing the same issue, do you have some documentation about how to use tlc files to avoid the copy ?
Have you tried using Data Store Read and Data Store Write blocks ?

Sign in to comment.

Answers (0)

Categories

Find more on Simulink Coder in Help Center and File Exchange

Asked:

on 7 Feb 2019

Commented:

on 15 May 2019

Community Treasure Hunt

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

Start Hunting!