exponenta event banner

Отображение информации о модели

Отображение отсортированных списков модели

В режиме GUI на панели отладЧик отсортированный список (debugger Sorted List) отображаются списки блоков для корневой системы моделей и каждой невиртуальной подсистемы. В каждом списке перечислены блоки, которые содержат подсистемы, отсортированные в соответствии с их вычислительными зависимостями, алфавитным порядком и другими правилами сортировки блоков. В режиме командной строки можно использовать slist для отображения отсортированных списков модели.

---- Sorted list for 'vdp' [11 nonvirtual block(s), directFeed=0]
     Total number of tasks = 2
- Sorted list of task index [0], 10 nonvirtual block(s)
  (0)0:1   'vdp/x1' (Integrator)
          Input ports:  [0]
          Output ports: [0]
  (0)0:2   'vdp/Out1' (Outport)
          Input ports:  [0]
          Output ports: []
  (0)0:3   'vdp/x2' (Integrator)
          Input ports:  [0]
          Output ports: [0]
  (0)0:4   'vdp/Out2' (Outport)
          Input ports:  [0]
          Output ports: []
  (0)0:5   'vdp/Scope' (Scope)
          Input ports:  [0]
          Output ports: []
  (0)0:6   'vdp/Square' (Math)
          Input ports:  [0]
          Output ports: [0]
  (0)0:7   'vdp/Sum1' (Sum)
          Input ports:  [0 1]
          Output ports: [0]
  (0)0:8   'vdp/Product' (Product)
          Input ports:  [0 1]
          Output ports: [0]
  (0)0:9   'vdp/Mu' (Gain)
          Input ports:  [0]
          Output ports: [0]
  (0)0:10  'vdp/Sum' (Sum)
          Input ports:  [0 1]
          Output ports: [0]

- Sorted list of task index [1], 1 nonvirtual block(s)
  (1)0:1   'vdp/Constant' (Constant)
          Input ports:  []
          Output ports: [0]


 ----- Task Index Legend -----
 Task Index [0]: Cont	
 Task Index [1]: Constant	
 -----------------------------

На этих экранах отображается индекс блока для каждой команды. Их можно использовать для определения идентификаторов блоков блоков моделей. Некоторые команды отладчика принимают идентификаторы блоков в качестве аргументов.

Идентификация блоков в алгебраических контурах

Если блок принадлежит алгебраическому списку, slist отображает идентификатор алгебраического цикла в записи для блока в отсортированном списке. Идентификатор имеет форму

algId=s#n

где s - индекс подсистемы, содержащей алгебраический цикл и n - индекс алгебраического цикла в подсистеме. Например, следующая запись для блока интегратора указывает, что он участвует в первом алгебраическом цикле на корневом уровне модели.

0:1 'test/ss/I1' (Integrator, tid=0) [algId=0#1, discontinuity]

Когда отладчик запущен, можно использовать ashow в интерфейсе командной строки отладчика для выделения блоков и строк, составляющих алгебраический цикл. Дополнительные сведения см. в разделе Отображение алгебраических циклов.

Отображение блока

Для определения блока на диаграмме моделей, соответствующего определенному индексу, введите bshow s:b в командной строке, где s:b является индексом блока. bshow открывает систему, содержащую блок (при необходимости), и выбирает блок в окне системы.

Отображение невиртуальных систем модели

systems отображает список невиртуальных систем в отлаживаемой модели. Например, sldemo_clutch модель содержит следующие системы:

openExample('sldemo_clutch')
set_param(gcs, 'OptimizeBlockIOStorage','off')
sldebug sldemo_clutch
(sldebug @0): %----------------------------------------------------------------%
[TM = 0                      ] simulate(sldemo_clutch)
(sldebug @0): >> systems
 0   'sldemo_clutch'
 1   'sldemo_clutch/Locked'
 2   'sldemo_clutch/Unlocked'

Примечание

systems не перечисляет подсистем, которые являются чисто графическими. То есть подсистемы, которые схема модели представляет как блоки подсистемы, но которые решаются как часть родительской системы. не перечислены. В моделях Simulink ® корневая система и запущенные или включенные подсистемы являются истинными системами. Все остальные подсистемы являются виртуальными (то есть графическими) и не отображаются в списке из systems команда.

Отображение невиртуальных блоков модели

slist отображает список невиртуальных блоков в модели. Классификатор группирует блоки по системе. Например, следующая последовательность команд создает список невиртуальных блоков в Van der Pol (vdp) пример модели.

sldebug vdp
%----------------------------------------------------------------%
[TM = 0                      ] simulate(vdp)
sldebug @0): >> slist

---- Sorted list for 'vdp' [9 nonvirtual blocks, directFeed=0]
  0:0    'vdp/x1' (Integrator)
  0:1    'vdp/Out1' (Outport)
  0:2    'vdp/x2' (Integrator)
  0:3    'vdp/Out2' (Outport)
  0:4    'vdp/Scope' (Scope)
  0:5    'vdp/Fcn' (Fcn)
  0:6    'vdp/Product' (Product)
  0:7    'vdp/Mu' (Gain)
  0:8    'vdp/Sum' (Sum)

Примечание

slist не перечисляет блоки, которые являются чисто графическими. То есть блоки, которые указывают взаимосвязи между или группировки между вычислительными блоками.

Отображение блоков с потенциальными пересечениями нулей

zclist команда отображает список блоков, в которых во время моделирования могут возникать неклассифицированные пересечения нулей. Например, zclist отображает следующий список для модели образца сцепления:

(sldebug @0): >> zclist
  0  0:4:0    F  HitCross  'sldemo_clutch/Friction Mode Logic/Lockup 
Detection/Velocities Match'
  1  0:4:1    F
  2  0:10:0    F  Abs  'sldemo_clutch/Friction Mode Logic/Lockup 
Detection/Required Friction for Lockup/Abs'
  3  0:12:0    F  RelationalOperator  'sldemo_clutch/Friction Mode 
Logic/Lockup Detection/Required Friction for Lockup/Relational Operator'
  4  0:19:0    F  Abs  'sldemo_clutch/Friction Mode Logic/Break Apart 
Detection/Abs'
  5  0:20:0    F  RelationalOperator  'sldemo_clutch/Friction Mode 
Logic/Break Apart Detection/Relational Operator'
  6  2:3:0    F  Signum  'sldemo_clutch/Unlocked/slip direction'

Отображение алгебраических контуров

ashow команда выделяет указанный алгебраический цикл или алгебраический цикл, содержащий указанный блок. Чтобы выделить указанный алгебраический цикл, введите ashow s#n, где s - индекс системы (см. раздел Идентификация блоков в алгебраических циклах), содержащий цикл и n - индекс цикла в системе. Для отображения контура, содержащего выбранный в данный момент блок, введите ashow gcb. Для отображения цикла, содержащего указанный блок, введите ashow s:b, где s:b - индекс блока. Чтобы очистить подсветку алгебраического цикла от диаграммы модели, введите ashow clear.

Отображение состояния отладчика

В режиме GUI отладчик отображает настройки различных параметров отладки, таких как условные точки останова, на панели «Состояние». В режиме командной строки status отображает настройки отладчика. Например, следующая последовательность команд отображает начальные настройки отладки для vdp модель:

sim('vdp', 'StopTime', '10', 'debug', 'on')
%----------------------------------------------------------------%
[TM = 0                      ] simulate(vdp)
(sldebug @0): >> status
%----------------------------------------------------------------%
Current simulation time                    : 0.0 (MajorTimeStep)
Solver needs reset                         : no
Solver derivatives cache needs reset       : no
Zero crossing signals cache needs reset    : no
Default command to execute on return/enter : ""
Break at zero crossing events              : disabled
Break on solver error                      : disabled
Break on failed integration step           : disabled
Time break point                           : disabled
Break on non-finite (NaN,Inf) values       : disabled
Break on solver reset request              : disabled
Display level for disp, trace, probe       : 1 (i/o, states)
Solver trace level                         : 0
Algebraic loop tracing level               : 0
Animation Mode                             : off
Execution Mode                             : Normal
Display level for etrace                   : 0 (disabled)
Break points                               : none installed
Display points                             : none installed
Trace points                               : none installed

Связанные примеры

Подробнее