How to read To Workspace block signal value to App Designer ?
6 views (last 30 days)
Show older comments
Hi Everyone
I know I am asking the question for which answer exists somewhere , but I am new to app designer and I have simple requirement.
In mymodel.slx has "To Workspace1" output block.
In GUI callback to read model output , I am reading using get_param.
Signal1 = get_param('mymodel.slx/To Workspace1','VariableName');
As Signal1 is timeseries data. I want to extract last value to use further.
valueout1 = Signal1.Data(end,:); % Reads the value as last timestamp
At above line I am getting error as "Struct contents reference from a non-struct array object."
In command window code line valueout1 = Signal1.Data(end,:);
works as expected.
valueout1 is expected to get numeric value from 0-9. which I will use in switch case to displa\y some string in Text Box.
***********************
Request your inputs . I am trying to get simplest way to read model output and use it to display on App designer GUI.
0 Comments
Accepted Answer
Fangjun Jiang
on 28 Mar 2024
Edited: Fangjun Jiang
on 28 Mar 2024
Likely it is caused by this
Signal1 = get_param('mymodel.slx/To Workspace1','VariableName') gives you a char array containing the variable name, like
Signal1='MyOutput'.
In the base workspace, variable named 'MyOutput' does exist but you need to do
MyVariable=evalin('base',Signal1);
Then you can do, MyVariable.Data(end,:)
4 Comments
Fangjun Jiang
on 29 Mar 2024
To Workspace data is written when the simulation is finished. To do what you want, see Block Run-Time Objects
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!