Сравнение моделей Simulink

Навигация по отчету сравнения моделей Simulink

Можно сравнить модели из любой версии Simulink®. Инструмент сравнения создает отчет сравнения, основанный на файлах SLX, восстановленных в текущей версии, если это необходимо. Используйте отчет для исследования различий, просмотра изменений, выделенных в исходных моделях, и объединения различий.

В отчете Comparison отображаются только изменения, а не все содержимое файла. Отчет показывает иерархическое представление фрагментов файлов, которые отличаются, и не показывает разделы файлов, которые идентичны. Чтобы узнать об отчете, см. «О сравнении моделей Simulink».

Чтобы пройти через различия, на вкладке Comparison, в разделе Navigate, нажмите Next или Previous. Смотрите Шаг через изменения.

Можно также щелкнуть значок, чтобы выбрать элементы в иерархических деревьях и наблюдать за следующими функциями отображения:

  • Выбранные элементы отображаются подсвеченными в поле.

  • Если выбранный элемент является частью совпадающей пары, он подсвечивается в поле как на левом, так и на правом дереве.

  • При выборе элемента отображается исходная модель, и соответствующий элемент подсвечивается. См. Исследование изменений в исходных моделях.

Подсветка элемента отчета указывает на характер каждого различия следующим образом:

Тип элемента отчетаВыдвижение на первый планПримечания
ИзмененныйФиолетовый

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

ВставленныйСиний

Когда вы выбираете несопоставленный элемент, он подсвечивается в поле только в одном дереве.

УдаленныйЖелтый
КонтейнерНичего

Строки без подсветки указывают на элемент контейнера, содержащий другие измененные или несопоставленные элементы.

Значки указывают категорию элемента, например: модель, подсистема, Stateflow® машина или график, блок, линия, параметр и т.д.

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

  • Filter - Используйте фильтры, чтобы показать только интересующие вас изменения. По умолчанию отчет скрывает все нефункциональные изменения, такие как изменение положения элементов. Отключите фильтры, чтобы исследовать все различия, включая нефункциональные изменения. См. раздел «Отчеты сравнения фильтров».

  • Find - открывает диалоговое окно Найти, в котором можно искать элементы.

  • Если вы хотите обменять файлы, на вкладке Comparison, выберите Swap. Отчет меняет стороны и повторяет сравнение. Refresh также снова запускает анализ.

Чтобы создать новый отчет, смотрите Выбор моделей Simulink для сравнения.

Для примеров с инструкциями смотрите также Примеры сравнения моделей.

Проход изменений по шагам

На вкладке Comparison, в разделе Navigate, когда вы нажимаете кнопку со стрелой Next (или нажимаете клавишу Down, когда отчет имеет особое внимание), вы проходите группы изменений в отчете в следующем порядке:

  1. При первом клике Next он выбирает первый измененный (фиолетовый) или вставленный (синий) узел.

  2. Пройдите по различиям с помощью кнопки Next.

    • Когда выбранные элементы совпадают в правом дереве, они также подсвечиваются.

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

    • Если существует вставка или удаление с дочерними узлами, Next пропускает дочерние узлы, если все они также являются вставками или удалениями. Например, если вы вставляете подсистему, Next выбирает узел верхней подсистемы, то пропускает все узлы внутри подсистемы (если все они также являются вставками) и выбирает следующее различие.

    • Next минимизирует переключение контекста при подсветке в моделях. При нажатии кнопки Next отчет проходит все различия на том же уровне модели, подсистемы или графика как слева, так и справа в отчете перед переходом на следующий уровень отчета. Для примера вы проходите через все различия в подсистеме в левом и правом деревьях, прежде чем переходить к другой подсистеме.

  3. Когда вы прошли через все изменения, Next останавливается в конце.

При клике элемента в отчете элементы управления Next/ Previous будут проходить через изменения от выбранной точки .

Исследуйте изменения в исходных моделях

При сравнении моделей Simulink можно выбрать отображение соответствующих элементов в исходных моделях при выборе элементов отчета. Можно использовать эту функцию подсветки, чтобы исследовать изменения в исходных моделях. При выборе элемента в отчете подсвечивается соответствующий элемент в модели.

Управление отображением осуществляется с помощью кнопки Highlight Now и флажка Always Highlight.

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

Слияние различий

Чтобы объединиться, на вкладке Comparison нажмите Merge Mode. В нижней части отчета появится целевая панель. Используйте кнопки, чтобы выбрать различия для сохранения в цели. Для получения дополнительной информации смотрите Объединить модели Simulink из Отчета о сравнении.

Откройте дочерние отчеты сравнения для выбранных узлов

Если для конкретных параметров доступны дополнительные сравнения, вы увидите кнопку Compare, чтобы открыть отчет для этой пары узлов. Для примера, если есть различия в Рабочем пространстве модели, можно щелкнуть Compare, чтобы открыть новый отчет, чтобы исследовать различия в переменных.

  • Вы можете открыть новое сравнение для параметров, когда отчет не может отобразить все детали, например, длинные строки или скрипт.

  • Если исходные модели содержат компоненты блока MATLAB Function, и если различия найдены, нажмите кнопку Compare в конце элементов отчета блока MATLAB Function, чтобы открыть новые сравнения в инструменте сравнения, показывая отчеты о текстовых различиях для компонентов блока MATLAB Function. Вы можете объединить различия в коде Блока MATLAB function из отчета сравнения текста. См. раздел «Объединение моделей Simulink» из отчета о сравнении.

  • Если исходные модели содержат таблицы истинности, и если различия найдены:

    • Нажмите кнопку Compare в конце узла Функция MATLAB, чтобы просмотреть сводные данные всех изменений.

    • Нажмите на truthtable узел для сторнирования аннотации и отображения обоих редакторов таблицы истинности.

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

    • Аналогично нажмите кнопку Compare для Action Table чтобы просмотреть только изменения Action.

Осмыслите иерархию отчетов и соответствие

Примечание

Возможно, анализ не сможет обнаружить совпадения между ранее соответствующими разделами файлов, которые слишком сильно различаются.

Если вы не видите изменений, которые вы ожидали увидеть в отчете, отключите фильтры и увидите все идентифицированные изменения. См. раздел «Отчеты сравнения фильтров».

Отчеты сравнения фильтров

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

Чтобы увидеть доступные фильтры и применить ли они к текущему отчету, на вкладке Comparison, в разделе Filter, щелкните стреле вниз, чтобы развернуть коллекцию фильтров. Щелкните имена фильтров, чтобы переключить их применение. В разделе Filter щелкните Show, чтобы включить изменения выбранных фильтров в отчет или Hide, чтобы исключить изменения выбранных фильтров из отчета.

Используйте фильтры, чтобы включить только интересующие вас изменения. По умолчанию отчет скрывает все нефункциональные изменения. Эти изменения не влияют на поведение проекта, например, на изменение положения элементов. Отключите фильтры, чтобы исследовать все различия, включая нефункциональные изменения. Попробуйте, если вы не видите изменений, которые вы ожидали увидеть в отчете.

Встроенные фильтры включают:

  • Lines. Выберите все изменения в сигнальных линиях, включая функциональные изменения.

  • Nonfunctional Changes. Отчет идентифицирует определенные элементы в файле модели как нефункциональные, например, элементы, представляющие такие параметры, как блок, система, график или позиции меток; шрифт и настройки цвета для блоков и линий; и системные настройки печати и отображения.

  • Block Defaults. Значения по умолчанию для блоков редко изменяются и вызывают более длительные отчеты при добавлении или удалении блоков. Часто отчет проще, когда вы скрываете значения по умолчанию блоков.

Чтобы показать все изменения, используйте один из следующих методов:

  • Скрыть ничего - Нажмите Hide и отключить все фильтры в галерее.

  • Показать все - Создать пользовательский фильтр. В диалоговом окне «Новый фильтр» удалите содержимое первого столбца, чтобы оно показало Any, затем удалите оставшуюся часть строки под Parameter Name. Нажмите Show и включите фильтр «все» в галерее.

Чтобы задать новый пользовательский фильтр:

  1. На вкладке Comparison, в разделе Filter, нажмите New Filter.

  2. В диалоговом окне «Новый фильтр» задайте одно или несколько правил для нового фильтра. Для примера можно выбрать параметры или блоки определенных типов или значений. Предлагаемые значения зависят от элементов вашего отчета о сравнении. Задайте уникальное имя для вашего фильтра и нажатия кнопки Apply.

  3. Чтобы проверить, применяется ли фильтр к элементам, которые вы ожидаете, включите только новый фильтр в коллекции фильтров и нажмите Show. Это часто проще, чем проверка того, что фильтр скрывает изменения, которые вы ожидаете увидеть в отчете.

Наблюдайте, как заданы эти пользовательские фильтры.

ЦельSelect столбецParameter NameParameter Value
Отфильтровывать изменения аннотацииAnnotationНажмите кнопку «минус» для удаления строки.Оставить пустым
Отфильтровывайте Inport и Outport изменения блоковBlockBlockTypeInport
Чтобы добавить строку, нажмите кнопку Add Rule, а затем выберите BlockBlockTypeOutport
Отфильтровывайте изменения параметра шага расчетаParameterSampleTimeAny

  • Изменения аннотации:

  • Inport и Outport изменения блоков:

  • Шаг расчета:

Исключения

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

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

  • Движущиеся блоки могут в некоторых случаях изменить порядок выполнения.

  • На диаграмме Stateflow, если вы перемещаете состояния или соединения так, чтобы они пересекались, модель не может моделировать.

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

Изменение цветовых настроек

Вы можете изменить и сохранить настройки цвета diff для инструмента сравнения. Можно применить настройки цвета ко всем типам сравнения.

  1. На MATLAB® На вкладке Home» нажмите Preferences.

  2. В диалоговом окне Preferences, в разделе MATLAB, нажмите Comparison.

  3. Отредактируйте настройки цвета для различий и слияний. Просмотрите цвета на панели Sample.

    Список Active Settings отображается Default (modified).

  4. Чтобы использовать измененные настройки в сравнении, нажмите Apply и обновите отчет сравнения.

  5. Чтобы вернуться к настройкам цвета по умолчанию, в диалоговом окне Preferences, нажмите Reset и нажмите Apply. Обновите отчет о сравнении.

  6. Если необходимо сохранить измененные настройки цвета для использования в будущих сеансах работы с MATLAB, нажмите кнопку Save As. Введите имя профиля цветовых настроек и нажатие кнопки OK.

    После сохранения настроек можно выбрать их в списке Active Settings.

Сохранение результатов сравнения

Чтобы сохранить результаты сравнения, используйте следующие Comparison кнопки вкладки:

Кроме того, можно опубликовать отчет о сравнении в файл, используя visdiff функция.

Примеры сравнения моделей

Для примеров с инструкциями смотрите:

См. также

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

Подробнее о