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

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

В режиме GUI на панели «Сортированный список» отладчика отображаются списки блоков для корневой системы моделей и каждой невиртуальной подсистемы. В каждом списке перечислены блоки, которые содержат подсистемы, отсортированные в соответствии с их вычислительными зависимостями, алфавитным порядком и другими правилами сортировки блоков. В режиме командной строки можно использовать 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 - индекс алгебраического цикла в подсистеме. Для примера следующая запись для блока Integrator указывает, что он участвует в первом алгебраическом цикле на корневом уровне модели.

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

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

Отобразите блок

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

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

The 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'

Примечание

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

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

The slist команда отображает список невиртуальных блоков в модели. Листинг группирует блоки по системам. Например, следующая последовательность команд создает список невиртуальных блоков в ван дер Поль (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)

Примечание

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

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

The 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'

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

The 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

Похожие примеры

Подробнее о