How to read To Workspace block signal value to App Designer ?
5 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Fangjun Jiang
2024-3-28
编辑:Fangjun Jiang
2024-3-28
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 个评论
Fangjun Jiang
2024-3-29
To Workspace data is written when the simulation is finished. To do what you want, see Block Run-Time Objects
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!