This submission contains an interactive GUI for navigating and plotting Simscape simulation data. You can navigate the Simscape logging object using a tree browser, and the data is plotted for you automatically. This makes it easier to plot the different physical quantities in your network without using sensors. To use this file, simply pass the Simscape logging object to the function:
This submission also contains a function that lists the components that generated zero crossings and indicate locations in the Simscape language code where the zero crossing was generated. To use this file, simply pass the Simscape logging object to the function:
To learn more about ssc_printzcs, view the comments within the file:
>> help ssc_printzcs
This is a great tool, we use it a lot. I have a feature request: Could there be a feature for generating the MATLAB code needed to create the current plot? We could then use this as a tool for creating plotting scripts for specific test cases, for comparing runs, etc.
I have a suggestion that I think would improve usability a great deal.
When selecting multiple signals to overplot in the same figure, it is very easy to select the name instead of just the "plus" sign when expanding the hierarchy and inadvertently cause the plot to disappear. Then all of the signals have to be selected again.
Line 1171, U.S. units for mass flow should be "lbm/s" rather than "lb/s". This causes an error when trying to switch to U.S. units for a mass flow plot, because the pm_commensurate command does not recognize 'lb' as being commensurate with 'kg' or any other unit of mass.
Great tool, I use it all the time. This should be a part of the SimScape product!
I have a dataset that would be best inspected via a tree structure. The labels can be broken into something like a tree. I was hoping to use this tool. Is there a way that I can generate a SimScape logging node without actually using Simulink, but creating a node from the data?
can someone give me a more detailed explanation of how to set this tool up? I am not sure what is exactly meant by "To use this file, simply pass the simscape.logging.Node object to the function:
Thanks for the feedback. I'll keep this in mind for future updates. I provided this functionality in MATLAB Central so that the community can modify and improve the implementation and submit changes back to MATLAB Central for others to use.
The underlying simscape.logging.Node object provides unit conversion functionality so plotting in "human-friendly" units is supported by the underlying object. It is also simple to implement: all you need to do is define a list of "human-friendly" units and then in the localPlot function extract the values in "human-friendly" units if such units exist for the quantity being plotted. Everything else should work just fine.
This is a significant improvement to the usability of Simscape, and an encouraging sign that Simscape will continue to develop.
As well as the obvious productivity improvement, this will help modelling accuracy because the ability to browse all of the logged data using the tree encourages critical examination of all of the activity inside the model, rather than just the signals which have signal converters chosen by the user.
I look forward to the ability to define default "human-friendly" units for the various quantities in a future release. Certainly for hydraulics, "m3/s" and "Pa" are difficult for engineers to relate to.
12 Jul 2010
30 Nov 2010
Updated ssc_explore to include several new capabilities. New enhancements include:
* Reload data
* Plot options
** Marker selection
** Time axis linking
** Axis alignment
** Custom units
20 Sep 2012
Updated for R2012b including adding support for zero-crossing statistics.
30 Jan 2013
Added links to videos that demonstrate these functions.