pslinkoptions

Создайте объект опций настроить настройку модели Simulink, сгенерированного кода или Блока s-function. Используйте объект задать параметры конфигурации для этих объектов Simulink в Polyspace, запущенном из командной строки MATLAB

Описание

пример

opts = pslinkoptions(codegen) возвращает объект опций с параметрами конфигурации для кода, сгенерированного codegen.

пример

opts = pslinkoptions(model) возвращает объект опций с параметрами конфигурации для Simulink® модель.

opts = pslinkoptions(sfunc) возвращает объект опций с параметрами конфигурации для S-функции.

Примечание

Прежде чем вы запустите Polyspace® из MATLAB®, необходимо соединить Polyspace и установки MATLAB. Смотрите Интегрируют Polyspace с MATLAB и Simulink (Polyspace Bug Finder).

Примеры

свернуть все

В этом примере показано, как можно создать типовой объект опций Polyspace, который подходит для анализа кода, сгенерированного при помощи Embedded Coder. Этот объект опций предварительно заполняется соответствующими параметрами Embedded Coder. Отредактируйте объект опций изменить типовой анализ.

Создайте новый объект new_opt настройки Polyspace путем вызова функционального pslinkoptions и задайте 'ec' как входной параметр.

new_opt = pslinkoptions('ec')
new_opt =

                    ResultDir: 'results_$ModelName$'
         VerificationSettings: 'PrjConfig'
           OpenProjectManager: 0
         AddSuffixToResultDir: 0
     EnableAdditionalFileList: 0
           AdditionalFileList: {}
             VerificationMode: 'BugFinder'
          EnablePrjConfigFile: 0
                PrjConfigFile: ''
         AddToSimulinkProject: 0
               InputRangeMode: 'DesignMinMax'
               ParamRangeMode: 'None'
              OutputRangeMode: 'None'
           ModelRefVerifDepth: 'Current model only'
      ModelRefByModelRefVerif: 0
                  AutoStubLUT: 1
      CxxVerificationSettings: 'PrjConfig'
    CheckConfigBeforeAnalysis: 'OnWarn'
        VerifAllSFcnInstances: 0

По умолчанию этот объект опций использует те же настройки верификации, которые вы задаете в проекте Polyspace. Чтобы проверять MISRA C® 2012, кодирующий нарушения правила в дополнение к существующим верификациям, заданным в проекте, запустите этот код в командной строке MATLAB:

new_opt.VerificationSettings = 'PrjConfigAndMisraC2012'
new_opt =

                    ResultDir: 'results_$ModelName$'
         VerificationSettings: 'PrjConfigAndMisraC2012'
           OpenProjectManager: 0
         AddSuffixToResultDir: 0
     EnableAdditionalFileList: 0
           AdditionalFileList: {}
             VerificationMode: 'BugFinder'
          EnablePrjConfigFile: 0
                PrjConfigFile: ''
         AddToSimulinkProject: 0
               InputRangeMode: 'DesignMinMax'
               ParamRangeMode: 'None'
              OutputRangeMode: 'None'
           ModelRefVerifDepth: 'Current model only'
      ModelRefByModelRefVerif: 0
                  AutoStubLUT: 1
      CxxVerificationSettings: 'PrjConfig'
    CheckConfigBeforeAnalysis: 'OnWarn'
        VerifAllSFcnInstances: 0

Когда вы запускаете анализ Polyspace сгенерированного кода, вы можете хотеть открыть Пользовательский интерфейс Polyspace, чтобы следовать за прогрессом и рассмотреть результаты впоследствии. Чтобы открыть интерфейс Polyspace, когда вы запустите анализ, запустите этот код:

new_opt.OpenProjectManager = true
new_opt =

                    ResultDir: 'results_$ModelName$'
         VerificationSettings: 'PrjConfigAndMisraC2012'
           OpenProjectManager: 1
         AddSuffixToResultDir: 0
     EnableAdditionalFileList: 0
           AdditionalFileList: {}
             VerificationMode: 'BugFinder'
          EnablePrjConfigFile: 0
                PrjConfigFile: ''
         AddToSimulinkProject: 0
               InputRangeMode: 'DesignMinMax'
               ParamRangeMode: 'None'
              OutputRangeMode: 'None'
           ModelRefVerifDepth: 'Current model only'
      ModelRefByModelRefVerif: 0
                  AutoStubLUT: 1
      CxxVerificationSettings: 'PrjConfig'
    CheckConfigBeforeAnalysis: 'OnWarn'
        VerifAllSFcnInstances: 0

В этом примере показано, как можно сохранить настройки Polyspace модели Simulink в к объекту и использовать объект отредактировать параметры конфигурации.

Загрузите модель closed_loop_control.

load_system('closed_loop_control');

Чтобы создать объект, содержащий настройки Polyspace модели, вызовите pslinkoptions.

model_opt = pslinkoptions('closed_loop_control')
model_opt =

                    ResultDir: 'results_$ModelName$'
         VerificationSettings: 'PrjConfig'
           OpenProjectManager: 0
         AddSuffixToResultDir: 0
     EnableAdditionalFileList: 0
           AdditionalFileList: {}
             VerificationMode: 'BugFinder'
          EnablePrjConfigFile: 0
                PrjConfigFile: ''
         AddToSimulinkProject: 0
               InputRangeMode: 'DesignMinMax'
               ParamRangeMode: 'None'
              OutputRangeMode: 'None'
           ModelRefVerifDepth: 'Current model only'
      ModelRefByModelRefVerif: 0
                  AutoStubLUT: 1
      CxxVerificationSettings: 'PrjConfig'
    CheckConfigBeforeAnalysis: 'OnWarn'
        VerifAllSFcnInstances: 0

Модель уже сконфигурирована для Embedded Coder®, поэтому только параметры конфигурации Embedded Coder появляются как поля объекта model_opt.

Чтобы изменить параметр конфигурации Polyspace, установите соответствующее поле model_opt. Например, измените директорию результатов и установите режим верификации на CodeProver путем изменения полей: model_opt.ResultDir и model_opt.VerificationMode, соответственно.

model_opt.ResultDir = 'results_v1_$ModelName$';
model_opt.VerificationMode = 'CodeProver'
model_opt =

                    ResultDir: 'results_v1_$ModelName$'
         VerificationSettings: 'PrjConfig'
           OpenProjectManager: 0
         AddSuffixToResultDir: 0
     EnableAdditionalFileList: 0
           AdditionalFileList: {}
             VerificationMode: 'CodeProver'
          EnablePrjConfigFile: 0
                PrjConfigFile: ''
         AddToSimulinkProject: 0
               InputRangeMode: 'DesignMinMax'
               ParamRangeMode: 'None'
              OutputRangeMode: 'None'
           ModelRefVerifDepth: 'Current model only'
      ModelRefByModelRefVerif: 0
                  AutoStubLUT: 1
      CxxVerificationSettings: 'PrjConfig'
    CheckConfigBeforeAnalysis: 'OnWarn'
        VerifAllSFcnInstances: 0

Создайте объект опций Polyspace®, названный new_opt параметрами TargetLink®:

new_opt = pslinkoptions('tl')
new_opt =

                   ResultDir: 'results_$ModelName$'
        VerificationSettings: 'PrjConfig'
          OpenProjectManager: 0
        AddSuffixToResultDir: 0
    EnableAdditionalFileList: 0
          AdditionalFileList: {}
            VerificationMode: 'CodeProver'
         EnablePrjConfigFile: 0
               PrjConfigFile: ''
        AddToSimulinkProject: 0
              InputRangeMode: 'DesignMinMax'
              ParamRangeMode: 'None'
             OutputRangeMode: 'None'
                 AutoStubLUT: 1

Установите OpenProjectManager опция к истине, чтобы следовать за прогрессом интерфейса Polyspace. Также измените настройку, чтобы проверять на обе ошибки времени выполнения и MISRA C®, кодирующий нарушения правила:

new_opt.OpenProjectManager = true;
new_opt.VerificationSettings = 'PrjConfigAndMisra'
new_opt =

                   ResultDir: 'results_$ModelName$'
        VerificationSettings: 'PrjConfigAndMisra'
          OpenProjectManager: 1
        AddSuffixToResultDir: 0
    EnableAdditionalFileList: 0
          AdditionalFileList: {}
            VerificationMode: 'CodeProver'
         EnablePrjConfigFile: 0
               PrjConfigFile: ''
        AddToSimulinkProject: 0
              InputRangeMode: 'DesignMinMax'
              ParamRangeMode: 'None'
             OutputRangeMode: 'None'
                 AutoStubLUT: 1

Входные параметры

свернуть все

Генератор кода в виде любого 'ec' для Embedded Coder® или 'tl' для TargetLink®. Каждый аргумент создает объект опций Polyspace со свойствами, характерными для того генератора кода.

Для описания всех параметров конфигурации и их значений, см. pslinkoptions Свойства (Polyspace Bug Finder).

Пример: ec_opt = pslinkoptions('ec')

Пример: tl_opt = pslinkoptions('tl')

Типы данных: char

Модель Simulink, заданная именем модели. Создает объект опций Polyspace с параметрами конфигурации той модели. Если вы не установили опций, объект имеет параметры конфигурации по умолчанию. Если вы установили генератор кода, объект имеет опции по умолчанию для того генератора кода.

Для описания всех параметров конфигурации и их значений, см. pslinkoptions Свойства (Polyspace Bug Finder).

Пример: model_opt = pslinkoptions('my_model')

Типы данных: char

Путь к S-функции в виде вектора символов. Создает объект опций Polyspace с параметрами конфигурации для S-функции. Если вы не установили опций, объект имеет параметры конфигурации по умолчанию.

Для описания всех параметров конфигурации и их значений, см. pslinkoptions Свойства (Polyspace Bug Finder).

Пример: sfunc_opt = pslinkoptions('path/to/sfunction')

Типы данных: char

Выходные аргументы

свернуть все

Параметры конфигурации Polyspace, возвращенные как объект опций. Объект используется с pslinkrun запускать Polyspace из командной строки MATLAB.

Для списка свойств объектов см. pslinkoptions Свойства (Polyspace Bug Finder).

Пример: opts = pslinkoptions ('ЕС')
opts.VerificationSettings = 'Misra'

Смотрите также

(Polyspace Bug Finder)

Представленный в R2012a