One variable, two 'To Workspace' blocks simulink

17 views (last 30 days)
Hello, is there a way to update single struct variable using two or more 'To Workspace' blocks at different locations in simulink (2017b) ??
  2 Comments
Fangjun Jiang
Fangjun Jiang on 2 Jul 2020
what do you mean "update"?
"struct" data type is not supported in Simulink.
Manu Agarwal
Manu Agarwal on 2 Jul 2020
Actually, in my simulink model I am using 'To Workspace' block to save data of some of the output signals in variable 'Res'. Now, with "update" I mean that I want to save data of some other signals as well under the same variable 'Res' but using different 'To Workspace' block. Here, my question is, is that possible??
In 'To Workspace' block there is an option to save in struct format. (Save formate -> Structure With Time), this is what I am using.
Thanks in advance.

Sign in to comment.

Answers (1)

Fangjun Jiang
Fangjun Jiang on 2 Jul 2020
"Res" is the variable created in the based workspace after simulation is done to log your simulation data
  1. You can't have two "To Workspace" blocks in the model with the same variable name "Res".
  2. You can log more than one signals to the same variable "Res" with just one "To Workspace" block. To do that, use a Mux block or Bus Creator block to combine all those signals together and then feed it to the "To Workspace" block. Observe the "Res" data after simulation to figure how to access the data inside it.
  4 Comments
Manu Agarwal
Manu Agarwal on 2 Jul 2020
I just tried this, it is combining the two variables (say Res and Res1) from two 'To Workspace' blocks into one variable 'out'. I can access the data in 'Res' and 'Res1' through 'out.Res' and 'out.Res1'. But what I precisely need is to append the data of Res1 to Res but by not connecting them to one 'To Workspace' block.
Fangjun Jiang
Fangjun Jiang on 2 Jul 2020
Don't quite understand the use case of your particular saving format.
  1. Do post processing, combine out.Res and out.Res1 into out.Res
  2. Use global Goto/From block to avoid signl routing but Mux all the needed signals together
  3. Not to use "To Workspace" block, use individual signal logging by setting signal line properties, then post processing, combine signals by name, i.e. out.FrontWheelSpeed and out.RearWheelSpeed to out.WheelSpeed

Sign in to comment.

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!