В режиме GUI отладчик Отсортированная панель Списка отображает списки блоков для корневой системы моделей и каждой невиртуальной подсистемы. Каждый список перечисляет блоки, которые подсистемы содержат отсортированный согласно их вычислительным зависимостям, алфавитному порядку и другим правилам блочной сортировки. В режиме командной строки можно использовать команду 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)
Эти отображения включают индекс блока для каждой команды. Можно использовать их, чтобы определить блок 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