How to acces a simscape.logging.Node
5 views (last 30 days)
Show older comments
I have a simulink/Simscape model, the results are logged in a variable called 'simlog'. I am struggeling to get the rotational speed from the Motor to plot it in a matlab skript.
I started to extract the informationm to a separate varibale called temp:
>> temp=(simlog.Motor_And_Load.PMSM.Permanent_Magnet_Synchronous_Motor.angular_velocity);
>> whos temp
Name Size Bytes Class Attributes
temp 1x1 8 simscape.logging.Node
>> temp
temp =
Node with properties:
id: 'angular_velocity'
savable: 1
exportable: 0
series: [1×1 simscape.logging.Series]
With plot(temp) a new figure opens every time. My goal is to have an array with time and velocity values that I can use in subplots and for further calculations. I tried it with a get but that doesn't work. Can someone please help?
>> test = get(temp, 'angular_velocity');
Path 'angular_velocity' is not a valid path for this node.
3 Comments
madhan ravi
on 2 Dec 2023
Moved: madhan ravi
on 2 Dec 2023
Unfortunately I can’t test MAT file either since I don’t have access to computer. But you are right it’s already a figure.
Accepted Answer
Githin George
on 12 Dec 2023
Hello,
My understanding is that you would like to store the velocity and time values of a simulation output, for a model containing Simscape blocks.
I’m assuming that the variable “simlog” is the simulation output variable exported to workspace. You can use the following code to obtain the values of ‘angular_velocity’ and store them in an array.
data = simlog.Motor_And_Load.PMSM.Permanent_Magnet_Synchronous_Motor.angular_velocity.series
angular_velocity = values(data)
% the time variable is already stored in workspace as ‘tout’
You can verify these values by doing a plot of tout vs angular_velocity.
I hope this helps.
More Answers (0)
See Also
Categories
Find more on Data Logging in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!