Сгенерируйте и файлы опций пакета, чтобы запустить анализ Polyspace кода, сгенерированного из модели Simulink
исследует модель archivePath
= polyspacepacknGo(mdlName
)mdlName
Simulink®, извлечения файлы опций Polyspace® от него и пакеты файлы опций в zip-файле, расположенном в
archivePath
. Перед использованием polyspacePackNGo
, сгенерируйте код из своей модели Simulink. Затем заархивируйте сгенерированный код, например, при помощи packNGo
. Сгенерируйте файлы опций Polyspace из модели Simulink и включайте их в архив кода при помощи polyspacePackNGo
. В различной среде разработки, при выполнении анализа Polyspace сгенерированного кода, используют файлы опций, включенные в архив кода, чтобы сохранить информацию модели специфичную, такую как технические требования области значений проекта. У вас должен быть Embedded Coder®, чтобы использовать rtwbuild
(Embedded Coder).
генерирует и группирует файлы опций Polyspace, которые сгенерированы согласно спецификации в archivePath
= polyspacepacknGo(mdlName
,psOpt
)psOpt
. Объект psOpt
должен быть объект опций Polyspace, который сгенерирован при помощи pslinkoptions
. Используя psOpt
, измените опции для анализа Polyspace.
генерирует и группирует файлы опций Polyspace при помощи archivePath
= polyspacepacknGo(mdlName
,psOpt
,asModelRef
)asModelRef
задавать, сгенерировать ли файлы опции для кода модели - ссылки или автономного кода.
Чтобы сгенерировать и группировать файлы опций Polyspace для модели Simulink, использовать polyspacePacknGo
.
Откройте модель Simulink rtwdemo_counter
и задайте папку для хранения сгенерированного кода.
% Open the model mdlName = 'rtwdemo_counter'; open_system(mdlName); % Specify a folder for generated code codegenFolder = 'rtwdemo_counter_ert_rtw';
Чтобы позволить упаковать сгенерированный код в архиве, установите опцию PackageGeneratedCodeAndArtifacts
к true
. Задайте имя архива сгенерированного кода как genCodeArchive.zip
.
configSet = getActiveConfigSet(mdlName); set_param(configSet, 'PackageGeneratedCodeAndArtifacts', true); set_param(configSet, 'PackageName', 'genCodeArchive.zip');
Чтобы сделать модель совместимой с Polyspace, установите SystemTargetFile
к etr.tlc
.
set_param(configSet, 'SystemTargetFile', 'ert.tlc');
После конфигурирования модели сгенерируйте код.
if exist(fullfile(pwd,codegenFolder), 'dir') == 0 rtwbuild(mdlName) end
Поскольку PackageGeneratedCodeAndArtifacts
установлен в true
, сгенерированный код упаковывается в архив genCodeArchive.zip
.
Сгенерируйте и файлы опций Polyspace пакета.
zipFile = polyspacePackNGo(mdlName);
genCodeArchive.zip
, файлы опций Polyspace упакованы в polyspace
папка.Чтобы задать аналитические опции Polyspace при упаковке и генерации файлов опций, использовать pslinktoptions
.
Откройте модель Simulink rtwdemo_counter
и сконфигурируйте модель для генерации архива кода, который совместим с Polyspace.
% Open the model mdlName = 'rtwdemo_counter'; open_system(mdlName); % Specify a folder for generated code codegenFolder = 'rtwdemo_counter_ert_rtw'; configSet = getActiveConfigSet(mdlName); % Enable packing the generated code into an archive set_param(configSet, 'PackageGeneratedCodeAndArtifacts', true); % Specify a name for the code archive set_param(configSet, 'PackageName', 'genCodeArchive.zip'); % Configure the model to be Polyspace Compatible set_param(configSet, 'SystemTargetFile', 'ert.tlc');
После конфигурирования модели сгенерируйте код.
if exist(fullfile(pwd,codegenFolder), 'dir') == 0 rtwbuild(mdlName) end
Поскольку PackageGeneratedCodeAndArtifacts
установлен в true
, сгенерированный код упаковывается в архив genCodeArchive.zip
.
Чтобы задать аналитические опции Polyspace, используйте pslinkoptions
объект. Создайте этот объект при помощи функционального pslinkoptions
.
psOpt = pslinkoptions(mdlName);
psopt
структура, где отдельные поля представляют аналитические опции Polyspace, которые можно задать.Задайте опции Polyspace при помощи psOpt
объект. Например, установите InputRangeMode
к полному спектру. Для полного списка опций смотрите входной параметр psOpt
.
psOpt.InputRangeMode = 'FullRange';
Сгенерируйте и файлы опций Polyspace пакета. Используйте psOpt
возразите в качестве второго аргумента в polyspacePacknGo
.
zipFile = polyspacePackNGo(mdlName,psOpt);
genCodeArchive.zip
, файлы опций Polyspace упакованы в polyspace
папка. Файл optionsFile.txt
содержит заданные аналитические опции Polyspace.Чтобы ускорить симуляции модели, вызовите модели Simulink, на которые ссылаются, как цели симуляции. Чтобы сгенерировать цели симуляции модели - ссылки из модели Simulink, сгенерируйте код из модели при помощи slbuild
с процессом сборки, заданным как ModelReferenceCoderTargetOnly
. Затем группируйте сгенерированный код при помощи packNGo
. Чтобы сгенерировать и группировать файлы опций Polyspace для анализа такого кода, используйте функцию polyspacePacknGo
с дополнительным аргументом asModelRef
установите на true
.
Откройте модель Simulink rtwdemo_counter
и сконфигурируйте модель для генерации архива кода, который совместим с Polyspace.
% Load model mdlName = 'rtwdemo_counter'; load_system(mdlName); configSet = getActiveConfigSet(mdlName); % Enable packing the generated code into an archive set_param(configSet, 'PackageGeneratedCodeAndArtifacts', true); % Configure the model to be Polyspace Compatible set_param(configSet, 'SystemTargetFile', 'ert.tlc');
После конфигурирования модели сгенерируйте цель симуляции модели - ссылки от него при помощи функции slbuild
. Задайте опцию ModelReferenceCoderTargetOnly
. Смотрите slbuild
.
slbuild(mdlName,'ModelReferenceCoderTargetOnly');
slprj
.Чтобы группировать код, который сгенерирован как модель - ссылка, используйте функцию packNGo
. Найдите файл buildinfo.mat
в
и используйте полный путь для него как вход к <working folder>
/slprj/ert/rtwdemo_counterpackNGo
. Эта команда генерирует архив, содержащий сгенерированный код и объект buildinfo.mat
. Смотрите packNGo
(Embedded Coder).
% Locate buildinfo and generate code archive buildinfo = fullfile(pwd,'slprj','ert',mdlName,'buildinfo.mat'); packNGo(buildinfo)
Чтобы задать аналитические опции Polyspace, используйте pslinkoptions
объект. Создайте этот объект при помощи функционального pslinkoptions
.
psOpt = pslinkoptions(mdlName);
psOpt
структура, где отдельные поля представляют аналитические опции Polyspace, которые можно задать.Задайте опции Polyspace при помощи psOpt
объект. Например, установите InputRangeMode
к полному спектру. Для полного списка опций смотрите входной параметр psOpt
psOpt.InputRangeMode = 'FullRange';
Сгенерируйте и файлы опций Polyspace пакета. Используйте psOpt
возразите в качестве второго аргумента в polyspacePacknGo
. Установите третий аргумент asModelRef
к true
.
zipFile = polyspacePackNGo(mdlName,psOpt,true);
rtwdemo_counter.zip
, файлы опций Polyspace упакованы в polyspace
папка.mdlName
— Имя модели Simulink, для которой можно сгенерировать файлы опций PolyspaceСимвольный массив, содержащий имя модели, для которой вы хотите сгенерировать и группировать файлы опций Polyspace.
Пример: polyspacePackNGo('rtwdemo_roll')
Типы данных: char
psOpt
— Объект опций Polyspacemodel
(значение по умолчанию) | объект, созданный при помощи pslinkoptions
Задает опции для анализа Polyspace при помощи a pslinkoptions
объект. Можно изменить определенные аналитические опции путем изменения psOpt
, который является структурой, где отдельные поля представляют аналитические опции Polyspace. Для списка заливок опций, которые можно изменить, см. таблицу Polyspace Analysis Options Supported polyspacePacknGo
.
Аналитические опции Polyspace, поддержанные polyspacePacknGo
Свойство | Значение | Описание |
---|---|---|
EnableAdditionalFileList: Позвольте дополнительному списку файлов анализироваться в виде true или false . Используйте с AdditionalFileList опция. | true | Polyspace проверяет дополнительные файлы, заданные в AdditionalFileList опция. |
false (значение по умолчанию) | Polyspace не проверяет дополнительные файлы. | |
AdditionalFileList: Список дополнительных файлов, которые будут анализироваться заданный как массив ячеек файлов. Чтобы добавить эти файлы в анализ, используйте EnableAdditionalFileList опция. | cellArray | Polyspace рассматривает перечисленные файлы для верификации. |
InputRangeMode: Указывает диапазон входных переменных. | 'DesignMinMax' (значение по умолчанию) | Polyspace использует входной диапазон, заданный в рабочей области или блоке. |
'Fullrange' | Polyspace использует полнофункциональные входные параметры. | |
ParamRangeMode: Указывает диапазон постоянных параметров. | 'DesignMinmax' | Polyspace использует постоянную область значений параметра, заданную в рабочей области или в блоке. |
'None' (значение по умолчанию) | Polyspace использует значение параметров, заданных в коде. | |
OutputRangeMode: Задает выходные утверждения. | 'DesignMinMax' | Polyspace применяет утверждения к выходным параметрам при помощи области значений, заданной в блоке или рабочей области. |
'None' (значение по умолчанию) | Polyspace не применяет утверждения к выходным переменным. | |
ModelRefVerifDepth: Задайте глубину для анализа моделей, на которые ссылается текущая модель. | 'Current model Only' (значение по умолчанию) | Polyspace анализирует только топ-модель, не анализируя модели, на которые ссылаются. Используйте эту опцию, когда вы обращаетесь к моделям, которые не должны анализироваться, такие как модели библиотеки. |
'1'|'2'|'3'
| Polyspace анализирует модели, на которые ссылаются, до заданной глубины в ссылочной иерархии. Чтобы анализировать модели, на которые ссылается топ-модель, задайте свойство ModelRefVerifDepth как '1' . Чтобы анализировать модели, на которые ссылается первый уровень ссылок, задайте это свойство как '2' . | |
'All' | Polyspace проверяет все модели, на которые ссылаются. | |
ModelRefByModelRefVerif: Задайте, хотите ли вы анализировать все модели, на которые ссылаются, вместе или индивидуально. | true | Polyspace анализирует топ-модель и модели, на которые ссылаются, вместе. Используйте эту опцию, чтобы проверять на интегрирование или масштабирующиеся проблемы. |
false (значение по умолчанию) | Polyspace анализирует топ-модель и модели, на которые ссылаются, индивидуально. | |
AutoStubLUT: Задает, как используются интерполяционные таблицы. | true (значение по умолчанию) | Polyspace блокирует интерполяционные таблицы и проверяет модель, не анализируя код интерполяционной таблицы. |
false | Polyspace включает код интерполяционной таблицы в анализ. | |
CheckConfigBeforeAnalysis: Задает уровень проверки настройки, сделанной, прежде чем анализ Polyspace запустится. | 'Off' | Polyspace проверяет только на ошибки. Анализ останавливается, если ошибки найдены. |
'OnWarn' (значение по умолчанию) | Polyspace останавливает анализ, когда ошибки найдены, и отображает сообщение, когда предупреждения найдены. | |
'OnHalt' | Polyspace останавливает анализ, когда или ошибки или предупреждения найдены. |
Пример: polyspacePackNGo('rtwdemo_roll', psOpt)
, где ps_opt
объект опций, созданный путем вызова pslinkoptions
asModelRef
— Индикатор для анализа модели - ссылкиfalse
(значение по умолчанию) | true
Индикатор для анализа модели - ссылки в виде true
или false
.
Если asModelRef
false
(значение по умолчанию), функция генерирует файлы опций так, чтобы Polyspace анализировал сгенерированный код как автономный код.
Если asModelRef
true
, функция генерирует файлы опций так, чтобы Polyspace анализировал сгенерированный код как код модели - ссылки.
Примечание
Если вы устанавливаете asModelRef
к true
Использование slbuild
сгенерировать код.
Пример: polyspacePackNGo('rtwdemo_roll', psOpt,true)
Типы данных: логический
archivePath
— Полный путь в архив, содержащий сгенерированные файлы опцийСимвольный массив, содержащий путь к сгенерированному архиву. Файлы опций расположены в polyspace
папка в архиве. polyspace
папка содержит эти файлы опций:
optionsFile.txt
: текстовый файл, содержащий опции Polyspace, требуемые запускать анализ Polyspace сгенерированного кода, не теряя информацию модели специфичную, такую как спецификация области значений проекта.
: Файл, содержащий спецификацию области значений проекта модели.model
_drs.xml
linkdata.xml
: Файл, который соединяет сгенерированный код с компонентами модели.
Чтобы запустить анализ Polyspace сгенерированного кода в среде, которая отличается, чем среда, где код был сгенерирован из модели Simulink, используйте эти файлы.
Типы данных: char
pslinkoptions
| slbuild
| rtwbuild
(Embedded Coder)
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.