Можно сравнить модели из любой версии Simulink®. Инструмент сравнения создает отчет сравнения, основанный на файлах SLX, восстановленных в текущей версии, если это необходимо. Используйте отчет для исследования различий, просмотра изменений, выделенных в исходных моделях, и объединения различий.
В отчете Comparison отображаются только изменения, а не все содержимое файла. Отчет показывает иерархическое представление фрагментов файлов, которые отличаются, и не показывает разделы файлов, которые идентичны. Чтобы узнать об отчете, см. «О сравнении моделей Simulink».
Чтобы пройти через различия, на вкладке Comparison, в разделе Navigate, нажмите Next или Previous. Смотрите Шаг через изменения.
Можно также щелкнуть значок, чтобы выбрать элементы в иерархических деревьях и наблюдать за следующими функциями отображения:
Выбранные элементы отображаются подсвеченными в поле.
Если выбранный элемент является частью совпадающей пары, он подсвечивается в поле как на левом, так и на правом дереве.
При выборе элемента отображается исходная модель, и соответствующий элемент подсвечивается. См. Исследование изменений в исходных моделях.
Подсветка элемента отчета указывает на характер каждого различия следующим образом:
Тип элемента отчета | Выдвижение на первый план | Примечания |
---|---|---|
Измененный | Фиолетовый | Измененные элементы являются совпадающими парами, которые различаются между этими двумя файлами. При выборе измененного элемента он подсвечивается в поле на обоих деревьях. |
Вставленный | Синий | Когда вы выбираете несопоставленный элемент, он подсвечивается в поле только в одном дереве. |
Удаленный | Желтый | |
Контейнер | Ничего | Строки без подсветки указывают на элемент контейнера, содержащий другие измененные или несопоставленные элементы. |
Значки указывают категорию элемента, например: модель, подсистема, Stateflow® машина или график, блок, линия, параметр и т.д.
Чтобы развернуть или фильтровать древовидное представление, используйте панель инструментов для следующих функций:
Filter - Используйте фильтры, чтобы показать только интересующие вас изменения. По умолчанию отчет скрывает все нефункциональные изменения, такие как изменение положения элементов. Отключите фильтры, чтобы исследовать все различия, включая нефункциональные изменения. См. раздел «Отчеты сравнения фильтров».
Find - открывает диалоговое окно Найти, в котором можно искать элементы.
Если вы хотите обменять файлы, на вкладке Comparison, выберите Swap. Отчет меняет стороны и повторяет сравнение. Refresh также снова запускает анализ.
Чтобы создать новый отчет, смотрите Выбор моделей Simulink для сравнения.
Для примеров с инструкциями смотрите также Примеры сравнения моделей.
На вкладке Comparison, в разделе Navigate, когда вы нажимаете кнопку со стрелой Next (или нажимаете клавишу Down, когда отчет имеет особое внимание), вы проходите группы изменений в отчете в следующем порядке:
При первом клике Next он выбирает первый измененный (фиолетовый) или вставленный (синий) узел.
Пройдите по различиям с помощью кнопки Next.
Когда выбранные элементы совпадают в правом дереве, они также подсвечиваются.
Следующий пропускает белые узлы без цветного фона, если у них нет изменений параметра ниже. Белые узлы являются частями иерархии, которые не содержат различий.
Если существует вставка или удаление с дочерними узлами, Next пропускает дочерние узлы, если все они также являются вставками или удалениями. Например, если вы вставляете подсистему, Next выбирает узел верхней подсистемы, то пропускает все узлы внутри подсистемы (если все они также являются вставками) и выбирает следующее различие.
Next минимизирует переключение контекста при подсветке в моделях. При нажатии кнопки Next отчет проходит все различия на том же уровне модели, подсистемы или графика как слева, так и справа в отчете перед переходом на следующий уровень отчета. Для примера вы проходите через все различия в подсистеме в левом и правом деревьях, прежде чем переходить к другой подсистеме.
Когда вы прошли через все изменения, 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 и включите фильтр «все» в галерее.
Чтобы задать новый пользовательский фильтр:
На вкладке Comparison, в разделе Filter, нажмите New Filter.
В диалоговом окне «Новый фильтр» задайте одно или несколько правил для нового фильтра. Для примера можно выбрать параметры или блоки определенных типов или значений. Предлагаемые значения зависят от элементов вашего отчета о сравнении. Задайте уникальное имя для вашего фильтра и нажатия кнопки Apply.
Чтобы проверить, применяется ли фильтр к элементам, которые вы ожидаете, включите только новый фильтр в коллекции фильтров и нажмите Show. Это часто проще, чем проверка того, что фильтр скрывает изменения, которые вы ожидаете увидеть в отчете.
Наблюдайте, как заданы эти пользовательские фильтры.
Цель | Select столбец | Parameter Name | Parameter Value |
---|---|---|---|
Отфильтровывать изменения аннотации | Annotation | Нажмите кнопку «минус» для удаления строки. | Оставить пустым |
Отфильтровывайте Inport и Outport изменения блоков | Block | BlockType | Inport |
Чтобы добавить строку, нажмите кнопку Add Rule, а затем выберите Block | BlockType | Outport | |
Отфильтровывайте изменения параметра шага расчета | Parameter | SampleTime | Any |
Изменения аннотации:
Inport и Outport изменения блоков:
Шаг расчета:
Отчет не фильтрует изменения в именах блоков и систем, аннотациях и примечаниях Stateflow как нефункциональные, хотя изменения этих элементов не влияют на результат симуляции. Отчет всегда отображает эти изменения, чтобы облегчить просмотр изменений кода, поскольку они могут содержать важную информацию о намерениях пользователей.
В редких случаях отчет отфильтровывает изменения, которые могут повлиять на поведение проекта. По умолчанию перемещения фильтруются как нефункциональные, но в этих случаях перемещения могут изменить поведение проекта:
Движущиеся блоки могут в некоторых случаях изменить порядок выполнения.
На диаграмме Stateflow, если вы перемещаете состояния или соединения так, чтобы они пересекались, модель не может моделировать.
Чтобы просмотреть эти типы изменений в отчете, отключите фильтр для нефункциональных изменений.
Вы можете изменить и сохранить настройки цвета diff для инструмента сравнения. Можно применить настройки цвета ко всем типам сравнения.
На MATLAB® На вкладке Home» нажмите Preferences.
В диалоговом окне Preferences, в разделе MATLAB, нажмите Comparison.
Отредактируйте настройки цвета для различий и слияний. Просмотрите цвета на панели Sample.
Список Active Settings отображается Default (modified).
Чтобы использовать измененные настройки в сравнении, нажмите Apply и обновите отчет сравнения.
Чтобы вернуться к настройкам цвета по умолчанию, в диалоговом окне Preferences, нажмите Reset и нажмите Apply. Обновите отчет о сравнении.
Если необходимо сохранить измененные настройки цвета для использования в будущих сеансах работы с MATLAB, нажмите кнопку Save As. Введите имя профиля цветовых настроек и нажатие кнопки OK.
После сохранения настроек можно выбрать их в списке Active Settings.
Чтобы сохранить результаты сравнения, используйте следующие Comparison кнопки вкладки:
Publish > HTML, Word или PDF - Откройте диалоговое окно Save, где можно выбрать сохранение версии отчета сравнения для печати. См. раздел «Сохранение отчета о печати».
Publish > Workspace Variable - Экспорт результатов сравнения в рабочую область. См. раздел Экспорт результатов в рабочую область.
Кроме того, можно опубликовать отчет о сравнении в файл, используя visdiff
функция.
Для примеров с инструкциями смотрите: