Simulink® файлы кэша содержат программные продукты сборки, которые могут ускорить симуляцию и генерацию кода. Чтобы сгенерировать эти программные продукты сборки и автоматически упаковать их в файлы кэша Simulink, выполните одно из следующих действий:
Обновите схему для иерархии модели, которая содержит модели, на которые ссылаются в режиме Accelerator
Симулируйте иерархию модели, которая содержит модели, на которые ссылаются в режиме Accelerator
Симулируйте верхнюю часть модели в режиме Accelerator или Rapid Accelerator
Сгенерируйте код для иерархии модели или модели
Во второй раз, когда вы выполняете любое из этих действий, Simulink создает только устаревшие файлы, пока параметр конфигурации Rebuild установлен на If any changes detected
(по умолчанию) или If any changes in known dependencies detected
. С меньшим количеством файлов для сборки действия выполняются быстрее.
Примечание
В то время как вы можете избежать всех ссылок модели перестроения путем установки параметра конфигурации Rebuild на Never
, использование этой настройки может привести к недействительным результатам симуляции.
Представители команды или системы непрерывного интегрирования (CI) могут генерировать файлы кэша Simulink для моделей, которые вы используете. Чтобы уменьшить время, необходимое для первого создания этих моделей, можно скопировать соответствующие файлы кэша Simulink в локальную папку, заданную Simulation cache folder выбора. Simulink извлекает любое содержимое файла кэша Simulink, которое отличается от содержимого на диске. Если Simulink генерирует или обновляет программные продукты сборки на диске, он локально обновляет соответствующие файлы кэша Simulink.
Можно идентифицировать файл кэша Simulink по его .slxc
расширение. Его имя файла совпадает с именем соответствующей модели.
Файлы кэша Simulink могут содержать несколько типов программных продуктов сборки, включая:
Цели акселератора
Цели быстрого ускорителя
Моделируйте опорные цели симуляции
Информация об использовании переменной
Цели генерации кода (Simulink Coder™, Embedded Coder®)
Представления модели (Simulink Design Verifier™)
Файлы кэша Simulink накапливают программные продукты сборки для нескольких платформ и релизов Simulink.
Чтобы узнать, что содержит определенный файл кэша Simulink, откройте отчет, дважды щелкнув файл.
Кроме того, чтобы получить содержимое файла кэша Simulink в MATLAB® таблица, используйте slxcinfo
функция.
Можно повторно использовать программные продукты сборки, поддерживающие используемую платформу и релиз. Например, предположим, что вы используете Windows® machine и R2019a релиз. В файле кэша Simulink, описанном в этом отчете, можно использовать цели симуляции под R2019a : win64. Командный представитель, использующий Linux® машина и R2019b могут использовать цели симуляции и генерации кода под R2019b : glnxa64 и представления модели под R2019b : all platforms.
Файл кэша Simulink может накапливать программные продукты сборки для релиза, в котором он был создан, и последующих релизов. Предположим, вы создаете файл кэша Simulink в R2019b. Вы не сможете использовать этот файл кэша Simulink в R2019a.
Хотя большинство команд могут извлечь выгоду из использования файлов кэша Simulink, среда разработки с этими функциями лучше всего подходит для использования файлов кэша Simulink.
Иерархия модели, которая содержит много ссылок на модели.
Модель верхней части, которая симулирует в режиме Accelerator или Rapid Accelerator, заставляя Simulink сгенерировать цель симуляции для верхней части модели и всех ссылочных моделей.
Стандартизированная платформа, компилятор и релиз Simulink для всей команды разработчиков.
Относительные пути или согласованные абсолютные пути, заданные с помощью параметра конфигурации Include директорий, для всей команды разработчиков.
Система контроля версий, такая как Git™, которая управляет файлами проекта. См. Раздел «Настройка Git системы контроля версий»
Примечание
Поскольку файлы кэша Simulink являются производными файлами, вы не должны управлять ими под системой контроля версий. Даже если вы делитесь файлами кэша Simulink, храня их в системе контроля версий, вы не можете различать или объединять различные версии этих файлов.
Система CI, такая как Jenkins™, которая периодически создает последнюю версию иерархии модели с помощью пула параллельных рабочих.
Примечание
Чтобы избежать ненужных перестроек для целей симуляции и кодера, которые используют пользовательский код, сопоставьте системные директории CI с именованными томами или символьными ссылками, которые одинаковы в песочницах представителей группы. Например, если система CI и представители команды хранят пользовательский код в сопоставленной директории, таком как B:\path\customcode
.
В этой среде разработки вы взаимодействуете с файлами в системе контроля версий и создаете архив.
Чтобы уменьшить количество времени, которое вы тратите на обновление целей симуляции, выполните следующие шаги.
Извлеките последнюю версию всех файлов проекта из системы контроля версий.
Скопируйте последнюю версию всех файлов кэша Simulink из архива сборки и поместите их в свой Simulation cache folder.
Откройте верхнюю часть и промоделируйте ее.
Simulink извлекает необходимые программные продукты сборки из файлов кэша Simulink. Симуляция завершается без перестройки каких-либо моделей, пока модели не изменились с момента последней сборки, завершенной системой CI.
Примечание
Чтобы распаковать цели симуляции и генерации кода из файлов кэша Simulink без обновления, симуляции или генерации кода для иерархии модели, используйте slxcunpack
функция.
Измените модель и снова симулируйте иерархию модели.
Simulink перестраивает необходимые модели и обновляет локальную копию соответствующего файла кэша Simulink.
Зафиксировать обновленную модель в системе контроля версий. Вы не фиксируете файл кэша Simulink, который является производным файлом.
Когда вы создаете проект из верхней модели, проект включает соответствующие файлы кэша Simulink для модели и ее ссылочных моделей.
Чтобы просмотреть зависимости файла кэша Simulink в иерархии модели, можно выбрать Dependency Analyzer в панели Views соответствующего проекта.
Для получения дополнительной информации смотрите Что такое анализ зависимостей?