В этом примере показано, как использовать отчет сравнения в MATLAB®, чтобы изучить то, что изменилось между двумя различными проектами. Это показывает, как просмотреть и объединить изменения между двумя моделями Simulink®, содержащими Stateflow® с помощью отчета сравнения. Лицензия Stateflow требуется запустить этот пример.
Создайте рабочую копию файлов в качестве примера. MATLAB® копирует файлы в папку в качестве примера так, чтобы можно было отредактировать их.
slcomparisons.examples.stateflowMerge;
Пользователь добавил новый kickdown
режим к shift_logic
. Можно использовать Сравнение Модели Simulink, чтобы сравнить эти две модели и представить отчет, чтобы исследовать и слить различия.
Используйте visdiff
сравнить sl_sfcar_1
и sl_sfcar_2
модели.
visdiff('sl_sfcar_1', 'sl_sfcar_2');
Инструмент Сравнения показывает отчет, который только включает различия между этими двумя моделями, не полные иерархии модели.
Цвета указывают, были ли элементы изменены (фиолетовые), вставили (синий), или удаленный (желтый).
Используйте Следующие и Предыдущие кнопки навигации на вкладке Comparison, чтобы продвинуться через группы изменений в отчете:
Отчет проходит изменения один за другим. Если выбранный пункт в Левом дереве будет иметь соответствие, это будет также выбрано в Правильном дереве.
MATLAB отображает обе модели рядом с отчетом. Отчет подсвечивает выбранные пункты в обеих моделях Simulink, если это возможно.
Выберите древовидный узел Out1
в Правильном дереве. Заметьте, что отчет подсвечивает Out1
в отчете и соответствующем блоке в модели sl_sfcar_2
.
Управлять выделением в моделях, на вкладке Comparison, в разделе Highlight, выборе или очищать флажок Always Highlight. Можно нажать кнопку Highlight Now, чтобы подсветить в настоящее время выбранный узел отчета в любое время.
Просмотрите вниз дерево, чтобы определить местоположение диаграмм Stateflow в отчете. Наблюдайте значок диаграммы Stateflow рядом с shift_logic
узел. Нажмите kickdown
в Правильном дереве. Отчет отображает оба shift_logic
Диаграммы Stateflow. Наблюдайте где новый kickdown
функциональность была добавлена к одному из графиков.
Можно управлять типом изменений, отображенных в отчете сравнения путем применения фильтров. Чтобы видеть доступные фильтры и применяются ли они к текущему отчету, на вкладке Comparison, в разделе Filter, кликают по стрелке вниз, чтобы расширить галерею фильтра. Кликните по именам фильтра к переключателю, применяются ли они. В разделе Filter нажмите Show или Hide, чтобы управлять, как фильтры применяются.
Например, некоторая информация в файле модели Simulink задана как являющийся нефункциональным. Это изменения, которые вряд ли изменят поведение проекта. Нефункциональные элементы скрыты по умолчанию. Можно показать им путем отмены выбора кнопки Nonfunctional Changes, когда Скрыть кнопка фильтра нажимается.
Можно объединить изменения между двумя моделями Simulink и Stateflow путем нажатия кнопки Merge Mode в панели инструментов. Это создает третий файл, targetFile
, который может содержать изменения или из левой или из правильной модели модели. Используйте кнопки в Целевом дереве, чтобы выбрать различия, чтобы сохранить в targetFile
.
Нажмите кнопку Save File, чтобы сохранить изменения, которые вы выбрали по правильной модели (sl_sfcar_2
).
Необходимо объединить блоки перед линиями в части Simulink отчета. Необходимо объединить состояния и соединения прежде, чем объединить переходы, или отчет не может установить связи.
Для получения информации о слиянии между моделями с идентичными именами смотрите Сравнение Моделей с Идентичными Именами.
Сравнение моделей с идентичными именами