Отобразите информацию о шине

Можно отобразить информацию о шине с помощью нескольких подходов.

  • Отображаться, является ли шина виртуальной или невиртуальной, обновление или симулирует модель. Виртуальная шина появляется как три сплошных линии (), и невиртуальная шина появляется как две сплошных линии по обе стороны от пунктирной линии ().

  • Чтобы в интерактивном режиме отобразить иерархию шины, смотрите Иерархию Шины Отображения.

  • Чтобы в интерактивном режиме отобразить значение элементов шины в порте, смотрите Значение Отображения Элементов Шины.

  • Чтобы программно отобразить виртуальность и иерархию шины, смотрите, Программно Получают Иерархию Шины и Виртуальность.

Отобразите иерархию шины

В интерактивном режиме отобразить иерархию шины:

  1. Кликните по сигнальной линии.

  2. На вкладке Signal выберите Signal Hierarchy.

    Средство просмотра Иерархии Сигнала открывается, показывая иерархию сигнала для выбранного сигнала.

Например, это Средство просмотра Иерархии Сигнала показывает иерархию сигнала для шины под названием main_bus.

The Signal Hierarchy Viewer shows the hierarchy for a bus with two nested buses that contain two and three elements respectively.

Каждое Средство просмотра Иерархии Сигнала сопоставлено с определенной моделью. Если вы редактируете модель, в то время как связанное Средство просмотра Иерархии Сигнала открыто, Средство просмотра Иерархии Сигнала отражает те обновления.

Примечание

Чтобы привести к точным результатам во время редактирования в Средстве просмотра Иерархии Сигнала, ваша модель должна скомпилировать успешно.

Чтобы отфильтровать отображенные сигналы, нажмите кнопку Options на правой стороне окна редактирования Filter by name.

  • Использовать MATLAB® регулярные выражения для фильтрации имен сигнала, выберите Enable regular expression. Например, чтобы отобразить все сигналы, имена которых заканчиваются строчным r (и их непосредственные родители), введите r$ в окне редактирования Filter by name. Для получения дополнительной информации смотрите Регулярные выражения.

  • Чтобы отобразить плоский список отфильтрованных результатов, выберите Show filtered results as a flat list. Плоский список использует запись через точку, чтобы указать на иерархию шин. Этот пример показывает отфильтрованный набор вложенных шин.

    The nested buses that match the filter use dot notation to indicate their hierarchy

Отобразите значение элементов шины

В интерактивном режиме отобразить значения элементов шины в порте:

  1. Кликните по сигнальной линии.

  2. На вкладке Signal выберите Output Value Label.

  3. Кликните по метке значения порта и выберите сигналы, которые вы хотите отобразить.

    Например, в этой модели, можно выбрать, какие сигналы отобразить от сигналов, которые содержатся в ModelBus.

Для получения дополнительной информации смотрите Значение Отображения для Определенного Порта.

Программно получите иерархию шины и виртуальность

Чтобы программно получить иерархию и виртуальность шины в скомпилированной модели, запросите эти параметры с get_param функция:

  • 'SignalHierarchy' — Если сигнал является шиной, возвращает имя и иерархию сигналов в шине.

  • 'CompiledBusType' — Для модели, которая находится в 'compile' фаза, возвращает информацию о том, является ли сигнал, соединенный с портом, шиной и является ли сигнал виртуальной или невиртуальной шиной. Прежде чем вы запросите CompiledBusType значение параметров, используйте model функционируйте, чтобы поместить модель в 'compile' фаза.

Например, откройте и симулируйте busdemo модель.

open_system('busdemo')
sim('busdemo');

Получите указатель порта, для которого вы хотите информацию о шине.

ph = get_param('busdemo/Bus Creator', 'PortHandles');

Получите иерархию сигнала в порте.

sh = get_param(ph.Outport, 'SignalHierarchy')
sh = struct with fields:
    SignalName: 'main_bus'
     BusObject: ''
      Children: [2x1 struct]

Получите скомпилированный тип шины в порте, в то время как модель компилирует.

busdemo([],[],[],'compile');
bt = get_param(ph.Outport, 'CompiledBusType')
bt = 
'VIRTUAL_BUS'

Оконечная компиляция.

busdemo([],[],[],'term');

Похожие темы