В этом примере показано, как использовать отчет сравнения в MATLAB ®, чтобы понять, что изменилось между двумя различными проектами. Он показывает, как просмотреть и объединить изменения между двумя моделями Simulink ®, содержащими Stateflow ®, используя отчет сравнения. Для выполнения этого примера требуется лицензия Stateflow.
Создайте рабочую копию файлов примера. MATLAB ® копирует файлы в папку примера, чтобы можно было их редактировать.
slcomparisons.examples.stateflowMerge;
Пользователь добавил новую kickdown
режим на shift_logic
. Можно использовать Simulink Model Comparison, чтобы сравнить две модели и создать отчет для исследования и объединения различий.
Использование visdiff
для сравнения sl_sfcar_1
и sl_sfcar_2
модели.
visdiff('sl_sfcar_1','sl_sfcar_2');
Инструмент сравнения показывает отчет, который включает только различия между двумя моделями, а не полные иерархии модели.
Цвета указывают, были ли элементы изменены (фиолетовые), вставлены (синие) или удалены (желтые).
Используйте кнопки навигации Далее (Next) и Предыдущий (Previous) на вкладке Сравнение (Comparison), чтобы пройти по группам изменений в отчете:
Отчет проходит через изменения один за другим. Если выбранный элемент в левом дереве имеет совпадение, он также будет выбран в правом дереве.
MATLAB отображает обе модели рядом с отчетом. Отчет подсвечивает выбранные элементы в обеих моделях Simulink, если это возможно.
Выберите узел дерева Out1
в дереве справа. Наблюдайте, как отчет подсвечивает Out1
в отчете и соответствующем блоке в модели sl_sfcar_2
.
Чтобы управлять подсветкой в моделях, на вкладке Сравнение (Comparison), в разделе Подсветка (Highlight), установите или снимите флажок Всегда подсвечивать (Always Highlight). Вы можете нажать кнопку Подсветить сейчас (Highlight Now), чтобы подсветить текущий выбранный узел отчета в любое время.
Просмотрите дерево, чтобы найти диаграммы Stateflow в отчете. Наблюдайте значок диаграммы Stateflow рядом со shift_logic
узел. Нажмите kickdown
в дереве справа. В отчете отображаются оба shift_logic
Диаграммы Stateflow. Наблюдайте, где новый kickdown
функциональность добавлена к одной из графиков.
Можно управлять типом изменений, отображаемых в отчете сравнения, применяя фильтры. Чтобы просмотреть доступные фильтры и их применение к текущему отчету, на вкладке «Сравнение», в разделе «Фильтр», щелкните стреле вниз, чтобы развернуть коллекцию фильтров. Щелкните имена фильтров, чтобы переключить их применение. В разделе «Фильтр» нажмите кнопку Показа или Скрыть, чтобы контролировать применение фильтров.
Для примера некоторая информация в файле модели Simulink определяется как нефункциональная. Это изменения, которые вряд ли изменят поведение проекта. Нефункциональные элементы по умолчанию скрыты. Чтобы отобразить их, снимите флажок «Нефункциональные изменения» при нажатии кнопки «Скрыть фильтр».
Можно объединить изменения между двумя моделями Simulink и Stateflow, нажав кнопку «Режим объединения» на панели инструментов. Это создает третий файл, targetFile
, который может содержать изменения либо левой модели, либо правой модели. Используйте кнопки в дереве целей, чтобы выбрать различия, которая будет сохранена в targetFile
.
Нажмите кнопку «Сохранить файл», чтобы сохранить изменения, выбранные вами над правой моделью (sl_sfcar_2
).
Необходимо объединить блоки перед линиями в части отчета Simulink. Необходимо объединить состояния и соединения перед объединением переходов, или отчет не может установить соединения.
Для получения информации об объединении моделей с идентичными именами смотрите Сравнение моделей с идентичными именами.
Сравнение моделей с идентичными именами
Сравнение и объединение моделей Simulink
Разрешение конфликтов с помощью трехстороннего слияния Simulink