В режиме 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
-----------------------------Эти отображения включают индекс блока для каждой команды. Можно использовать их, чтобы определить блок IDs блоков моделей. Некоторые команды отладчика принимают блок IDs как аргументы.
Если блок принадлежит алгебраическому списку, 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 индекс блока. bshow команда открывает систему, содержащую блок (при необходимости), и выбирает блок в системном окне.
systems команда отображает список невиртуальных систем в модели, которую вы отлаживаете. Например, sldemo_clutch модель содержит следующие системы:
open_system('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 команда не перечисляет подсистемы, которые являются чисто графическими. Таким образом, подсистемы, которые диаграмма модели представляет как блоки Subsystem, но которые решены как часть родительской системы. не перечислены. В моделях Simulink® корневая система и инициированные или включенные подсистемы являются истинными системами. Все другие подсистемы являются виртуальными (то есть, графическими), и не появляйтесь в листинге от systems команда.
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)
Примечание
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