One variable, two 'To Workspace' blocks simulink

10 Ansichten (letzte 30 Tage)
Manu Agarwal
Manu Agarwal am 2 Jul. 2020
Kommentiert: Fangjun Jiang am 2 Jul. 2020
Hello, is there a way to update single struct variable using two or more 'To Workspace' blocks at different locations in simulink (2017b) ??
  2 Kommentare
Fangjun Jiang
Fangjun Jiang am 2 Jul. 2020
what do you mean "update"?
"struct" data type is not supported in Simulink.
Manu Agarwal
Manu Agarwal am 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.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Fangjun Jiang
Fangjun Jiang am 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 Kommentare
Manu Agarwal
Manu Agarwal am 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 am 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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Prepare Model Inputs and Outputs finden Sie in Help Center und File Exchange

Produkte


Version

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by