При запуске анализа Polyspace ® непосредственно с панели инструментов Simulink ® при анализе учитывается специфичный для модели контекст, например диапазоны проектирования. При выполнении анализа Polyspace без доступа к Simulink необходимо указать специфичную для модели информацию с помощью файлов опций. Вместо создания этих файлов опций используйте файлы опций, созданные и упакованные функцией.polyspacePackNGo.
Сохранение контекстной информации модели Simulink при выполнении анализа Polyspace может быть полезным в различных ситуациях. Например:
Распределенный рабочий процесс: пользователь Simulink генерирует код из модели и отправляет код в другую среду разработки. В этой среде пользователь Polyspace, у которого может отсутствовать Simulink, выполняет отдельный анализ созданного кода. При использовании пакетных файлов опций диапазоны конструкции и другая специфичная для модели информация сохраняются в анализе Polyspace.
Опции анализа, недоступные в Simulink: Некоторые опции анализа Polyspace доступны только при выполнении анализа Polyspace отдельно от Simulink. Пакетные файлы опций используются для выполнения отдельного анализа Polyspace с сохранением специфичной для модели информации. Например, проанализируйте параллельные потоки в сгенерированном коде, выполнив анализ Polyspace в сгенерированном коде с помощью пакетных файлов опций.
Для выполнения функции необходимо использовать Simulink. polyspacePackNGo. Для создания файлов опций из модели Simulink не требуется приложение Polyspace. polyspacePackNGo поддерживает код, созданный Embedded Coder ® и TargetLink ®. Учебное пособие по использованиюpolyspacePackNGoсм. раздел Анализ кода, созданного как автономный код в распределенном рабочем процессе.
Чтобы создать и упаковать файл параметров Polyspace для анализа кода, созданного из модели Simulink, используйте polyspacePackNGo.
В редакторе Simulink откройте диалоговое окно «Параметры конфигурации» и настройте модель для создания кода.
Чтобы настроить модель на совместимость с Polyspace, выберите ert.tlc в качестве целевого файла системы
Чтобы включить создание архива кода, выберите параметр Код пакета и артефакты. При необходимости укажите имя пакета опций в поле Имя ZIP-файла. Если код содержит блок пользовательского кода, выберите «Использовать те же настройки пользовательского кода, что и цель моделирования» на панели «Создание кода» > «Пользовательский код».
Либо в окне команд MATLAB ® введите:
% Configure the Simulink model mdlName for code generation configSet = getActiveConfigSet(mdlName); set_param(configSet, 'PackageGeneratedCodeAndArtifacts', true); set_param(configSet, 'PackageName', 'CodeArchive.zip'); set_param(configSet, 'SystemTargetFile', 'ert.tlc'); set_param(configSet,'RTWUseSimCustomCode','on');
Создайте архив кода.
Для создания архива автономно созданного кода из модели верхнего уровня используйте функцию slbuild.
Чтобы создать код в качестве ссылки на модель, используйте функцию slbuild. После создания кода в качестве ссылки на модель создайте архив кода с помощью функции packNGo (Встроенный кодер).
Кроме того, для создания кода можно использовать TargetLink. Создайте архив кода путем архивирования созданного кода в zip-файл.
Для создания и упаковки файлов опций Polyspace в окне команд MATLAB используйте polyspacePackNGo функция:
zipFile = polyspacePackNGo(mdlName);
Если для создания кода используется TargetLink, используйте имя подсистемы TargetLink в качестве входного аргумента для polyspacepacknGo.
При необходимости можно использовать pslinkoptions объект в качестве второго аргумента для изменения конфигурации модели по умолчанию для анализа Polyspace. Создать pslinkoptions , изменить конфигурации модели и указать объект при создании архива:
psOpt = pslinkoptions(mdlName); psOpt.InputRangeMode = 'FullRange'; psOpt.ParamRangeMode = 'DesignMinMax'; zipFile = polyspacePackNGo(mdlName,psOpt);
Используйте дополнительный третий аргумент, чтобы указать, нужно ли создавать и упаковывать файлы опций Polyspace для кода, созданного как ссылка на модель. Предположим, что код был создан как ссылка на модель с помощью slbuild функция. Чтобы создать и упаковать параметры Polyspace для кода, в окне команд MATLAB введите:
zipFile = polyspacePackNGo(mdlName,[],true);
Функция polyspacepackNGo возвращает полный путь к архиву, содержащему файлы параметров. Файлы находятся в папке polyspace в иерархии архивированных папок. Содержание polyspace папка зависит от входных данных polyspacePackNGo функция.
Если не указать дополнительные второй и третий аргументы, то папка polyspace содержит следующие файлы опций в плоской иерархии:
optionsFile.txt: Этот файл определяет исходные файлы, файлы включения, спецификации диапазона данных и параметры анализа, необходимые для анализа созданного кода с помощью Polyspace. Если код содержит пользовательский код C, то в этом файле указываются относительные пути к пользовательскому исходному и заголовочному файлам.
Этот файл определяет спецификацию диапазона проектирования модели.modelname_drs.xml
linkdata.xmlЭтот файл связывает созданный код с компонентами модели.
При указании psOpts.ModelbyModelRef = true, затем создаются соответствующие файлы опций для всех ссылочных моделей. Эти файлы параметров хранятся в отдельных папках с именами polyspace_ в архиве кода. Папка <referenced model name>polyspace содержит файлы опций для модели верхнего уровня.
После создания архива кода и файлов опций Polyspace можно использовать архив для выполнения анализа Polyspace для созданного кода в другой среде разработки без Simulink.
Распакуйте архив кода и найдите polyspace папка.
В командной строке Windows ® или Linux ® выполните следующее:. productname -options-file optionsFile.txt -results-dir resultdir
соответствует одному из: polyspace-bug-finder, polyspace-code-prover, polyspace-bug-finder-server или polyspace-code-prover-server.productname
соответствует расположению результатов Polyspace. Этот аргумент необязателен.resultdir
Чтобы связать созданный код с моделью Simulink, файл linkdata.xml требуется. В случае, если файл linkdata.xml не создается в архиве файлов опций, используйте опцию Поддержка генератора кода в интерфейсе пользователя рабочего стола Polyspace, чтобы указать, какие комментарии в коде действуют как ссылки на модель Simulink. В интерфейсе пользователя рабочего стола Polyspace выберите «Сервис» > «Установки» и перейдите на вкладку «Разное». В контекстном меню Code comments, которые действуют как code-to-model-link, выберите используемый генератор кода. Если выбран параметр Определено пользователем (User defined), укажите комментарии, которые действуют как связь кода с моделью, указав их префикс в поле Комментарии (Comments), начиная с. Например, если указать префикс как //Link_to_model, то Polyspace интерпретирует комментарии, начиная с //Link_to_model в качестве ссылок на модель.
При использовании Polyspace Access для просмотра результатов загрузите файл linkdata.xml в той же папке, что и результаты Polyspace. Невозможно связать код с моделью Simulink, если файл отсутствует linkdata.xml или при загрузке за пределы папки результатов Polyspace.
Чтобы просмотреть результат, загрузите его в Polyspace Access и просмотрите результаты в веб-браузере. Можно также просмотреть результат с помощью интерфейса пользователя настольных продуктов Polyspace.
polyspacePackNGo | slbuild | packNGo (встроенный кодер)