Можно сравнить модели из любой версии Simulink ®. Инструмент сравнения создает отчет сравнения на основе файлов SLX, при необходимости повторно сохраняемый в текущей версии. Используйте отчет для изучения различий, просмотра изменений, выделенных в исходных моделях, и объединения различий .
В отчете о сравнении отображаются только изменения, а не все содержимое файла. Отчет показывает иерархическое представление частей файлов, которые различаются, и не отображает разделы файлов, которые идентичны. Сведения о отчете см. в разделе Сведения о сравнении моделей Simulink.
Чтобы просмотреть различия, на вкладке Сравнение (Comparison) в разделе Навигация (Navigate) щелкните Далее (Next) или Предыдущий (Previous). См. раздел Пошаговые изменения.
Можно также щелкнуть для выбора элементов в иерархических деревьях и просмотра следующих функций отображения:
Выбранные элементы отображаются подсвеченными в рамке.
Если выбранный элемент является частью совпадающей пары, он подсвечивается в рамке в левом и правом деревьях.
При выборе элемента отображается исходная модель, и соответствующий элемент подсвечивается. См. раздел Изучение изменений в исходных моделях.
Выделение элемента отчета указывает на характер каждого различия следующим образом:
| Тип элемента отчета | Выдвижение на первый план | Примечания |
|---|---|---|
| Измененный | Фиолетовый | Измененные элементы представляют собой пары совпадений, различающиеся между двумя файлами. При выборе измененного элемента он подсвечивается в поле в обоих деревьях. |
| Вставленный | Синий | При выборе несопоставленного элемента он подсвечивается в рамке только в одном дереве. |
| Удаленный | Желтый | |
| Контейнер | Ничего | Строки без выделения указывают элемент контейнера, который содержит другие измененные или несопоставленные элементы. |
Значки указывают категорию элемента, например: модель, подсистема, машина или диаграмма Stateflow ®, блок, линия, параметр и т.д.
Чтобы развернуть или отфильтровать древовидное представление, используйте панель инструментов для следующих функций:
Фильтр (Filter) - используйте фильтры, чтобы показать только интересующие вас изменения. По умолчанию отчет скрывает все нефункциональные изменения, такие как изменение положения элементов. Отключите фильтры, чтобы изучить все различия, включая нефункциональные изменения. См. раздел Отчеты о сравнении фильтров.
Найти (Find) - открывает диалоговое окно Найти (Find), в котором можно найти элементы.
Если требуется поменять местами файлы, на вкладке Сравнение выберите Заменить. Отчет заменяет стороны и повторно выполняет сравнение. Команда «Обновить» также снова запускает анализ.
Чтобы создать новый отчет, см. раздел Выбор моделей Simulink для сравнения.
Примеры с инструкциями см. также в разделе Примеры сравнения моделей.
На вкладке Сравнение (Comparison) в разделе Навигация (Navigate) при нажатии кнопки со стрелкой Далее (Next) (или клавиши Вниз (Down), когда отчет находится в фокусе) выполняется переход к группам изменений в отчете в следующем порядке:
При первом нажатии кнопки «Далее» выбирается первый измененный (фиолетовый) или вставленный (синий) узел.
Перейдите к различиям с помощью кнопки Next.
Если выбранные элементы совпадают в правом дереве, они также подсвечиваются.
Далее пропускаются белые узлы без цветового фона, если под ними нет изменений параметров. Белые узлы - это части иерархии, не содержащие различий.
Если имеется вставка или удаление с дочерними узлами, команда Далее пропускает дочерние узлы, если все они также являются вставками или удалениями. Например, если вставить подсистему, Next выбирает верхний узел подсистемы, затем пропускает все узлы внутри подсистемы (если все они также являются вставками) и выбирает следующее различие.
Далее минимизирует переключение контекста при подсвечивании в моделях. При нажатии кнопки Далее (Next) отчет просматривает все различия на одном и том же уровне модели, подсистемы или диаграммы в левом и правом деревьях отчета перед переходом на следующий уровень отчета. Например, перед переходом к другой подсистеме необходимо просмотреть все различия в подсистеме в левом и правом деревьях.
Когда вы пройдете через все изменения, Next останавливается в конце.
Если щелкнуть элемент в отчете, элементы управления Следующий/Предыдущий (Next/Previous) будут выполнять изменения с выбранной точки.
При сравнении моделей Simulink можно выбрать отображение соответствующих элементов в исходных моделях при выборе элементов отчета. Эту функцию подсветки можно использовать для изучения изменений в исходных моделях. При выборе элемента отчет выделяет соответствующий элемент в модели.
Управление отображением осуществляется с помощью кнопки Подсветить сейчас (Highlight Now) и флажка Всегда выделять (Always Highlight).
Дополнительные сведения см. в разделе Отображение различий в исходных моделях.
Для объединения на вкладке Сравнение (Comparison) щелкните Режим объединения (Merge Mode). В нижней части отчета появится панель Цель (Target). Используйте кнопки, чтобы выбрать различия для сохранения в целевом объекте. Дополнительные сведения см. в разделе Объединение моделей Simulink из отчета о сравнении.
Если для определенных параметров доступны дополнительные сравнения, для открытия отчета для этой пары узлов отображается кнопка Сравнить. Например, при наличии различий в рабочей области модели можно щелкнуть Сравнить (Compare), чтобы открыть новый отчет для изучения различий в переменных.
Можно открыть новое сравнение для параметров, когда отчет не может отобразить все подробные данные, например, длинные строки или сценарий.
Если исходные модели содержат компоненты блока MATLAB Function и если различия обнаружены, нажмите кнопку Compare в конце элементов отчета блока MATLAB Function, чтобы открыть новые сравнения в средстве сравнения, показывая текстовые отчеты о различиях для компонентов блока MATLAB Function. Различия в коде функционального блока MATLAB можно объединить из отчета сравнения текстов. См. раздел Объединение моделей Simulink в отчете о сравнении.
Если исходные модели содержат таблицы истинности и если обнаружены различия:
Нажмите кнопку Compare в конце узла MATLAB Function, чтобы просмотреть сводку всех изменений.
Щелкните значок truthtable для реверсирования аннотаций и отображения обоих редакторов таблиц истинности.
Нажмите кнопку Сравнить (Compare) на параметре, чтобы открыть новое сравнение текста, показывающее только различия таблицы Условия (Condition).
Аналогичным образом нажмите кнопку Сравнить для Action Table для просмотра только изменений действия.
Примечание
Анализ может оказаться невозможным для обнаружения совпадений между ранее соответствующими разделами файлов, которые слишком сильно разошлись.
Если вы не видите изменений, которые ожидаете увидеть в отчете, отключите фильтры и просмотрите все выявленные изменения. См. раздел Отчеты о сравнении фильтров.
Можно определить пользовательские фильтры, чтобы упростить отчеты и сосредоточиться на указанных элементах. Можно импортировать и экспортировать фильтры для общего доступа. Для управления отображением категорий изменений используются встроенные фильтры. Отключить фильтрацию для просмотра всех выявленных изменений.
Чтобы просмотреть доступные фильтры и определить, применяются ли они к текущему отчету, на вкладке Сравнение (Comparison) в разделе Фильтр (Filter) щелкните стрелку вниз, чтобы развернуть галерею фильтров. Щелкните имена фильтров, чтобы переключить их применение. В разделе Фильтр (Filter) щелкните Показать (Show), чтобы включить выбранные изменения фильтров в отчет, или Скрыть (Hide), чтобы исключить выбранные изменения фильтров из отчета.
Используйте фильтры, чтобы включить только интересующие вас изменения. По умолчанию отчет скрывает все нефункциональные изменения. Эти изменения не влияют на поведение конструкции, например изменение положения элементов. Отключите фильтры, чтобы изучить все различия, включая нефункциональные изменения. Попробуйте, если вы не видите изменений, которые вы ожидаете увидеть в отчете.
Встроенные фильтры включают в себя:
Линии. Выберите все изменения сигнальных линий, включая функциональные изменения.
Нефункциональные изменения. Отчет идентифицирует определенные элементы в файле модели как нефункциональные, например элементы, представляющие такие параметры, как позиции блока, системы, диаграммы или метки; настройки шрифта и цвета для блоков и линий; и системные параметры печати и отображения.
Блокировать значения по умолчанию. Значения по умолчанию для блоков редко изменяются и приводят к более длинным отчетам при добавлении или удалении блоков. Часто отчет проще при скрытии значений по умолчанию для блоков.
Чтобы показать все изменения, используйте один из следующих методов:
Скрыть ничего - нажмите кнопку Скрыть и отключите все фильтры в галерее.
Показать все - создать пользовательский фильтр. В диалоговом окне «Новый фильтр» удалите содержимое первого столбца. Anyзатем удалите оставшуюся часть строки в разделе «Имя параметра». Нажмите кнопку Показать и включите фильтр «все» в галерее.
Чтобы определить новый пользовательский фильтр, выполните следующие действия.
На вкладке Сравнение (Comparison) в разделе Фильтр (Filter) щелкните Новый фильтр (New Filter).
В диалоговом окне Новый фильтр (New Filter) определите одно или несколько правил для нового фильтра. Например, можно выбрать параметры или блоки определенных типов или значений. Предлагаемые значения зависят от элементов в отчете о сравнении. Укажите уникальное имя фильтра и нажмите кнопку Применить.
Чтобы проверить, применим ли фильтр к ожидаемым элементам, включите только новый фильтр в коллекции фильтров и нажмите кнопку Показать. Это часто проще, чем проверить, скрывает ли фильтр изменения, которые вы ожидаете увидеть в отчете.
Обратите внимание, как определяются эти пользовательские фильтры.
| Цель | Выбрать столбец | Имя параметра | Значение параметра |
|---|---|---|---|
| Фильтрация изменений аннотаций | Annotation | Нажмите кнопку «минус», чтобы очистить строку. | Оставить пустым |
| Фильтрация изменений блоков ввода и вывода | Block | BlockType | Inport |
Чтобы добавить строку, щелкните Добавить правило и выберите Block | BlockType | Outport | |
| Фильтрация изменений параметров времени выборки | Parameter | SampleTime | Any |
Изменения аннотаций:

Изменения блоков «» Ввод «» и «» Вывод «»:

Изменение параметра времени выборки:

Отчет не фильтрует изменения в именах блоков и систем, аннотациях и заметках Stateflow как нефункциональные, даже если изменения в этих элементах не влияют на результат моделирования. Эти изменения всегда отображаются в отчете для упрощения проверки изменений кода, поскольку они могут содержать важную информацию о намерениях пользователей.
В редких случаях отчет отфильтровывает изменения, которые могут повлиять на поведение конструкции. По умолчанию перемещения фильтруются как нефункциональные, но в этих случаях перемещения могут изменить поведение конструкции:
В некоторых случаях движущиеся блоки могут изменять порядок выполнения.
В диаграмме Stateflow при перемещении состояний или соединений таким образом, чтобы они пересекались, модель не может быть смоделирована.
Чтобы просмотреть эти типы изменений в отчете, отключите фильтр для нефункциональных изменений.
Можно изменить и сохранить настройки цвета для инструмента сравнения. Настройки цвета можно применить ко всем типам сравнения.
На вкладке Главная страница MATLAB ® щелкните Настройки.
В диалоговом окне Настройки (Preferences) в разделе MATLAB (MATLAB) щелкните Сравнение (Comparison).
Отредактируйте параметры цвета, необходимые для различий и слияний. Просмотрите цвета на панели «Образец».
В списке «Активные параметры» отображается значение по умолчанию (изменено).
Чтобы использовать измененные параметры при сравнении, нажмите кнопку Применить (Apply) и обновите отчет о сравнении.
Чтобы вернуться к настройкам цвета по умолчанию, в диалоговом окне «Установки» нажмите кнопку «Сброс» и нажмите кнопку «Применить». Обновить отчет о сравнении.
Чтобы сохранить измененные настройки цвета для использования в будущих сессиях MATLAB, нажмите кнопку «Сохранить как». Введите имя профиля параметров цвета и нажмите «ОК».
После сохранения настроек их можно выбрать в списке «Активные настройки».
Чтобы сохранить результаты сравнения, используйте следующие кнопки вкладки Сравнение:
Публикация > HTML, Word или PDF - открытие диалогового окна «Сохранить», в котором можно сохранить версию сравнительного отчета для печати. См. раздел Сохранение отчета для печати.
Публикация > Переменная рабочей области - экспорт результатов сравнения в рабочую область. См. раздел Экспорт результатов в рабочую область.
Кроме того, можно опубликовать отчет о сравнении в файле с помощью visdiff функция.
Примеры с инструкциями см. в: