Сравните и объедините модели Simulink, содержащие Stateflow

В этом примере показано, как просмотреть и объединить изменения между двумя моделями Simulink® из отчета сравнения. Можно просмотреть и объединить Simulink и различия Stateflow® в получившемся отчете. Лицензия Stateflow® требуется запустить этот пример.

Этот пример показывает вам, как использовать отчет сравнения в MATLAB, чтобы изучить то, что изменилось между двумя различными проектами. Некоторая техническая разработка добавила новый "kickdown" режим в логику сдвига. Можно использовать Сравнение Модели Simulink, чтобы сравнить эти две модели и представить отчет для того, чтобы исследовать и слить различия.

Сравните модели

Setup файлы в качестве примера путем выполнения следующей команды.

slxmlcomp.internal.examples.setupStateflowExample();
% Then use visdiff to compare the models.
visdiff('slxml_sfcar_1', 'slxml_sfcar_2');

Изучите результаты

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

Цвета указывают, были ли элементы изменены (фиолетовые элементы), вставлены (синие элементы) или удалены (желтые элементы).

Продвижение через различия

Используйте "Следующие" и "Предыдущие" кнопки навигации на вкладке Comparison, чтобы продвинуться через группы изменений в отчете. Когда вы делаете это, чтобы выбрать элемент:

  • Отчет подсвечивает соответствующий элемент в другом дереве (если это существует),

  • Обе модели отображаются рядом с отчетом. Отчет подсвечивает соответствующий элемент в модели Simulink, если это возможно.

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

Подсветите различия в моделях Simulink

Щелкните, чтобы выбрать древовидный узел "Out1" в дереве правой стороны. Заметьте, что отчет подсвечивает "Out1" в отчете и соответствующий блок в модели "slxml_sfcar_2".

Подсветите различия в диаграмме Stateflow

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

Фильтрация результатов

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

Например, некоторая информация в файле модели Simulink задана как являющийся "нефункциональным". Это изменения, которые вряд ли изменят поведение проекта. Нефункциональные элементы скрыты по умолчанию, но можно показать им путем отмены выбора 'Нефункциональных Изменений' элемент в списке 'Встроенных Фильтров, когда 'Скрыть' кнопка панели инструментов фильтра нажимается.

Объедините изменения в моделях, содержащих Stateflow

Можно объединить изменения между двумя моделями Simulink & Stateflow путем нажимания кнопки 'Merge Mode' в панели инструментов. Это создает третий файл, 'targetFile', который может содержать изменения или из левой или из правильной модели модели. Чтобы выбрать, какие изменения вы хотели бы в конечном файле, используют переключатели в праве на отчет.

Если вы выбрали изменения, которые вы хотите в целевой модели, которую можно сохранить, они переключаются, правильная модель (slxml_sfcar_2) с помощью 'Сохранили Файл' кнопка панели инструментов.

Обратите внимание на то, что для инструмента, чтобы автоматически соединить объединенные переходы, необходимо объединить состояния и соединения перед переходами.

Дополнительная информация

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