Control Scope Blocks Programmatically - MATLAB & Simulink (original) (raw)

This example shows how to control scopes with programming scripts.

Use a Scope Configuration object for programmatic access to scope parameters.

Create a model and add a Scope and Time Scope block. Then, use get_param to create the Scope Configuration object myConfiguration.

mdl = 'myModel'; new_system(mdl); add_block('simulink/Sinks/Scope', [mdl '/myScope']); add_block('dspsnks4/Time Scope', [mdl '/myTimeScope']); myConfiguration = get_param([mdl '/myScope'],'ScopeConfiguration')

myConfiguration = Scope configuration with properties:

                            Name: 'myScope'
                        Position: [360 302 560 420]
                         Visible: 0
           OpenAtSimulationStart: 0
                 DisplayFullPath: 0
PreserveColorsForCopyToClipboard: 0
                   NumInputPorts: '1'
                LayoutDimensions: [1 1]
                      SampleTime: '-1'
            FrameBasedProcessing: 0
                    MaximizeAxes: 'Off'
                MinimizeControls: 0
                     AxesScaling: 'Manual'
           AxesScalingNumUpdates: '10'
                        TimeSpan: 'Auto'
           TimeSpanOverrunAction: 'Wrap'
                       TimeUnits: 'None'
               TimeDisplayOffset: '0'
                  TimeAxisLabels: 'Bottom'
               ShowTimeAxisLabel: 0
                   ActiveDisplay: 1
                           Title: '%<SignalLabel>'
                      ShowLegend: 0
                        ShowGrid: 1
            PlotAsMagnitudePhase: 0
                         YLimits: [-10 10]
                          YLabel: ''
                     DataLogging: 0
         DataLoggingVariableName: 'ScopeData'
      DataLoggingLimitDataPoints: 0
            DataLoggingMaxPoints: '5000'
         DataLoggingDecimateData: 0
           DataLoggingDecimation: '2'
           DataLoggingSaveFormat: 'Dataset'

Set a property.

myConfiguration.DataLoggingMaxPoints ='10000';

Find the Scope and Time Scope blocks.

find_system(mdl,'LookUnderMasks','on','IncludeCommented','on', ... 'AllBlocks','on','BlockType','Scope')

ans = 2×1 cell {'myModel/myScope' } {'myModel/myTimeScope'}

Find only Simulink Scope blocks.

find_system(mdl,'LookUnderMasks','on','IncludeCommented','on',... 'AllBlocks','on','BlockType','Scope','DefaultConfigurationName',... 'Simulink.scopes.TimeScopeBlockCfg')

ans = 1×1 cell array {'myModel/myScope'}

Find only the DSP Time Scope blocks.

find_system(mdl,'LookUnderMasks','on','IncludeCommented','on',... 'AllBlocks','on','BlockType','Scope','DefaultConfigurationName',... 'spbscopes.TimeScopeBlockCfg')

ans = 1×1 cell array {'myModel/myTimeScope'}

Scope Configuration Properties

For details about the Scope Configuration object properties, see TimeScopeConfiguration.

See Also

Floating Scope | Scope | Scope Viewer

Topics