One variable, two 'To Workspace' blocks simulink

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

what do you mean "update"?
"struct" data type is not supported in Simulink.
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)

"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

I am already using Mux, problem is that model is huge and I cannot drag every required signal to the place where 'Mux' and 'To Workspace' block is because the model has many layers in the form of subsystems.
In model configuration parameters, Data Import/Export, check "single simulation output". It will combine all the "To Workspace" variable into one structure or object. I think this can help you.
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.
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.

Categories

Find more on Prepare Model Inputs and Outputs in Help Center and File Exchange

Products

Release

R2017b

Asked:

on 2 Jul 2020

Commented:

on 2 Jul 2020

Community Treasure Hunt

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

Start Hunting!