メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

pslinkoptions

オプション オブジェクトを作成して、Simulink モデルの生成コードまたはカスタム コードの Polyspace 解析をカスタマイズする

説明

opts = pslinkoptions(codegen) は、codegen によって生成されるコードの構成オプションをもつオプション オブジェクトを返します。

opts = pslinkoptions(model) は、Simulink® モデルの構成オプションをもつオプション オブジェクトを返します。

opts = pslinkoptions(sfunc) は、S-Function の構成オプションをもつオプション オブジェクトを返します。

メモ

MATLAB® から Polyspace® を実行する前に、Polyspace インストールと MATLAB インストールをリンクしなければなりません。MATLAB や Simulink との Polyspace の統合を参照してください。

すべて折りたたむ

この例では、Embedded Coder を使用して生成されたコードの解析に適した汎用 Polyspace オプション オブジェクトを作成する方法を示します。このオプション オブジェクトには、適切な Embedded Coder パラメーターが事前に設定されます。汎用解析を変更するにはオプション オブジェクトを編集します。

関数 pslinkoptions に入力引数として 'ec' を指定して呼び出すことにより、新しい Polyspace 構成オブジェクト new_opt を作成します。

new_opt = pslinkoptions('ec')
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'
           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: '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 解析を開始する際には、Polyspace ユーザー インターフェイスを開いて、解析の進捗状況と解析結果を確認することをお勧めします。解析を開始するときに Polyspace インターフェイスを開くには、次のコードを実行します。

new_opt.OpenProjectManager = true
new_opt =

                    ResultDir: 'results_$ModelName$'
         VerificationSettings: 'PrjConfigAndMisraC2012'
           OpenProjectManager: 1
         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

この例では、Simulink モデルの Polyspace 構成をオブジェクトに保存し、そのオブジェクトを使用して構成オプションを編集する方法を示します。

モデル 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
           ModelRefIgnoreList: []
     EnableModelRefIgnoreList: 0
          ModelRefMinMaxVerif: 'CheckAndConstrain'

モデルは既に Embedded Coder® 用に構成されているので、Embedded Coder 構成オプションのみがオブジェクト model_opt のフィールドとして表示されます。

Polyspace 構成オプションを変更するには、model_opt の対応するフィールドを設定します。たとえば、結果ディレクトリを変更する場合は model_opt.ResultDir フィールドを変更し、検証モードを CodeProver に設定する場合は 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
           ModelRefIgnoreList: []
     EnableModelRefIgnoreList: 0
          ModelRefMinMaxVerif: 'CheckAndConstrain'

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 オプションを true に設定して、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 のプロパティ を参照してください。

例: ec_opt = pslinkoptions('ec')

例: tl_opt = pslinkoptions('tl')

データ型: char

モデル名で指定される Simulink モデル。そのモデルの構成オプションを指定して Polyspace オプション オブジェクトを作成します。オプションが設定されていない場合、オブジェクトは既定の構成オプションをもちます。コード ジェネレーターが設定されると、オブジェクトはそのコード ジェネレーター用の既定のオプションをもちます。

すべての構成オプションとその値の詳細は、pslinkoptions のプロパティ を参照してください。

例: model_opt = pslinkoptions('my_model')

データ型: char

S-Function へのパス。文字ベクトルとして指定します。S-Function の構成オプションをもつ Polyspace オプション オブジェクトを作成します。オプションが設定されていない場合、オブジェクトは既定の構成オプションをもちます。

すべての構成オプションとその値の詳細は、pslinkoptions のプロパティ を参照してください。

例: sfunc_opt = pslinkoptions('path/to/sfunction')

データ型: char

出力引数

すべて折りたたむ

オプション オブジェクトとして返される Polyspace 構成オプション。オブジェクトは pslinkrun と共に使用され、MATLAB コマンド ラインからPolyspace を実行します。

pslinkoptions オブジェクトを使用すると、Polyspace 解析の多数のプロパティを指定できます。オブジェクト プロパティのリストについては、pslinkoptions のプロパティ を参照してください。

pslinkoption オブジェクトを使用して指定するプロパティは、Polyspace 解析オプションのサブセットです。他のプロパティは、クラス polyspace.ModelLinkOptions を使用して指定できます。このクラスを使用して、polyspace.Project オブジェクトが生成されたコードで解析を実行する対象のプロパティを指定できます。既存の pslinkoptions オブジェクトを使用して polyspace.ModelLinkOptions オブジェクトを作成できます。

例: opts= pslinkoptions('ec')
opts.VerificationSettings = 'Misra'

バージョン履歴

R2012a で導入