polyspacePackNGo
構文
説明
は、Simulink® モデル archivePath
= polyspacePackNGo(mdlName
)mdlName
を調べ、これから Polyspace® オプション ファイルを抽出して、このオプション ファイルを zip ファイルにパッケージ化して archivePath
に配置します。polyspacePackNGo
を使用する前に、Simulink モデルからコードを生成します。次に、生成されたコードを、たとえば packNGo
を使用してアーカイブします。Simulink モデルから Polyspace オプション ファイルを生成し、これらを polyspacePackNGo
を使用してコード アーカイブに含めます。さまざまな開発環境で、生成されたコードの Polyspace 解析を実行する場合、コード アーカイブに含まれているオプション ファイルを使用して、設計範囲指定などのモデル固有の情報を保持します。slbuild
を使用するには、Embedded Coder® を所有していなければなりません。
は、archivePath
= polyspacePackNGo(mdlName
,psOpt
)psOpt
の仕様に従って生成される Polyspace オプション ファイルを生成してパッケージ化します。オブジェクト psOpt
は、pslinkoptions
を使用して生成される Polyspace オプション オブジェクトでなければなりません。psOpt
を使用して、Polyspace 解析のオプションを変更します。
は、モデル参照コードまたはスタンドアロン コードのオプション ファイルを生成するかどうかを指定するために、archivePath
= polyspacePackNGo(mdlName
,psOpt
,asModelRef
)asModelRef
を使用して Polyspace オプション ファイルを生成し、パッケージ化できます。
例
Polyspace オプション ファイルの生成とパッケージ化
Simulink モデルの Polyspace オプション ファイルを生成してパッケージ化するには、polyspacePacknGo
を使用します。
Simulink モデル polyspace_controller_demo
を開き、生成されたコードを格納するフォルダーを指定します。
cd(matlabroot); mdlName = 'polyspace_controller_demo'; openExample('polyspace_code_prover/OpenSimulinkModelForPolyspaceAnalysisExample',... 'supportingFile',mdlName); mkdir TempDir; load_system(mdlName); cd TempDir;
生成されたコードのアーカイブへのパッキングを有効にするには、オプション PackageGeneratedCodeAndArtifacts
を true
に設定します。生成されたコードのアーカイブの名前を genCodeArchive.zip
として指定します。
configSet = getActiveConfigSet(mdlName); set_param(configSet, 'PackageGeneratedCodeAndArtifacts', true); set_param(configSet, 'PackageName', 'genCodeArchive.zip');
モデルに Polyspace との互換性をもたせるには、SystemTargetFile
を ert.tlc
に設定します。
set_param(configSet, 'SystemTargetFile', 'ert.tlc');
モデルの構成が完了したら、コードを生成します。
slbuild(mdlName)
PackageGeneratedCodeAndArtifacts
は true
に設定されているため、生成されたコードはアーカイブ genCodeArchive.zip
に挿入されます。
Polyspace オプション ファイルを生成してパッケージ化します。
zipFile = polyspacePackNGo(mdlName);
genCodeArchive.zip
では、Polyspace オプション ファイルは TempDir\polyspace
フォルダーにパッケージ化されます。特定の Polyspace 解析オプションをもつ Polyspace オプション ファイルのパッケージ化
オプション ファイルをパッケージ化および生成するときに Polyspace 解析オプションを指定するには、pslinktoptions
を使用します。
Simulink モデル polyspace_controller_demo
を開いて、Polyspace と互換性のあるコード アーカイブを生成するためにモデルを構成します。
cd(matlabroot); mdlName = 'polyspace_controller_demo'; openExample('polyspace_code_prover/OpenSimulinkModelForPolyspaceAnalysisExample', ... 'supportingFile',mdlName); mkdir TempDir; load_system(mdlName); cd TempDir; 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');
モデルの構成が完了したら、コードを生成します。
slbuild(mdlName)
PackageGeneratedCodeAndArtifacts
は true
に設定されているため、生成されたコードはアーカイブ genCodeArchive.zip
に挿入されます。
Polyspace 解析のモデル コンフィギュレーションを指定するには、pslinkoptions
オブジェクトを使用します。関数 pslinkoptions
を使用してオブジェクトを作成します。
psOpt = pslinkoptions(mdlName);
psopt
は、ユーザーが指定できるモデル コンフィギュレーションをフィールドとしてもつ構造体です。psOpt
オブジェクトを使用してモデル コンフィギュレーションを指定します。たとえば、InputRangeMode
の全範囲を設定します。完全なオプション リストについては、入力引数 psOpt
を参照してください。
psOpt.InputRangeMode = 'FullRange';
Polyspace オプション ファイルを生成してパッケージ化します。psOpt
オブジェクトを polyspacePacknGo
の 2 番目の引数として使用します。
zipFile = polyspacePackNGo(mdlName,psOpt);
genCodeArchive.zip
では、Polyspace オプション ファイルは TempDir\polyspace
フォルダーにパッケージ化されます。ファイル optionsFile.txt
には、指定された Polyspace 解析オプションが含まれます。モデル参照として生成されたコードの Polyspace オプション ファイルのパッケージ化
モデルのシミュレーションを高速化するには、参照される Simulink モデルをシミュレーション ターゲットとして呼び出します。Simulink モデルからモデル参照のシミュレーション ターゲットを生成するには、ModelReferenceCoderTarget
として指定されるビルド プロセスで slbuild
を使用してモデルからコードを生成します。次に、packNGo
を使用して生成されたコードをパッケージ化します。このようなコードを解析するために Polyspace オプション ファイルを生成してパッケージ化するには、関数 polyspacePacknGo
を使用してオプションの引数 asModelRef
を true
に設定します。
Simulink モデル polyspace_controller_demo
を開いて、Polyspace と互換性のあるコード アーカイブを生成するためにモデルを構成します。
cd(matlabroot); mdlName = 'polyspace_controller_demo'; openExample('polyspace_code_prover/OpenSimulinkModelForPolyspaceAnalysisExample', ... 'supportingFile',mdlName); mkdir TempDir; load_system(mdlName); cd TempDir; 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');
モデルの構成が完了したら、関数 slbuild
を使用してこのモデルからモデル参照シミュレーション ターゲットを生成します。オプション ModelReferenceCoderTarget
を指定します。slbuild
を参照してください。
slbuild(mdlName,'ModelReferenceCoderTarget');
slprj
に格納されます。モデル参照として生成されるコードをパッケージ化するには、関数 packNGo
を使用します。ファイル buildinfo.mat
を
に置いて、このファイルへの絶対パスを <working folder>
/slprj/ert/polyspace_controller_demopackNGo
への入力として使用します。このコマンドは、生成されたコードとオブジェクト buildinfo.mat
を含むアーカイブを生成します。packNGo
(Embedded Coder) を参照してください。
% Locate buildinfo and generate code archive buildinfo = fullfile(pwd,'slprj','ert',mdlName,'buildinfo.mat'); packNGo(buildinfo)
Polyspace オプション ファイルを生成してパッケージ化します。オプションの 2 番目の引数は省略します。3 番目の引数 asModelRef
を true
に設定します。
zipFile = polyspacePackNGo(mdlName,[],true);
polyspace
フォルダーにパッケージ化されます。入力引数
mdlName
— Polyspace オプション ファイルを生成する Simulink モデルの名前
モデル名
Polyspace オプション ファイルを生成してパッケージ化するモデルの名前を含む文字配列です。
例: polyspacePackNGo('
modelName
')
データ型: char
psOpt
— Polyspace オプション オブジェクト
model
に関連付けられているオプション (既定値) | pslinkoptions
を使用して作成されるオブジェクト
pslinkoptions
オブジェクトを使用して、Polyspace 解析のモデル コンフィギュレーションを指定します。個々のフィールドが解析オプションを表す構造体である psOpt
を変更して、特定の解析オプションを変更できます。変更できるオプションの完全なリストについては、polyspacePacknGo
によってサポートされる Polyspace 解析オプションのテーブルを参照してください。
polyspacePacknGo
によってサポートされる Polyspace 解析オプション
プロパティ | 値 | 説明 |
---|---|---|
EnableAdditionalFileList: 解析対象の追加ファイル リストを有効化します。true または false として指定します。AdditionalFileList オプションと共に使用します。 | true | Polyspace は、AdditionalFileList オプションで指定された追加ファイルを検証します。 |
false (既定の設定) | Polyspace は、追加ファイルを検証しません。 | |
AdditionalFileList: ファイルの cell 配列として指定する追加ファイルのリスト。これらのファイルを解析に追加するには、EnableAdditionalFileList オプションを使用します。 | cell 配列 | 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('
とします。ここで、modelName
', psOpt)psOpt
は pslinkoptions
を呼び出すと作成されるオプション オブジェクトです。
asModelRef
— モデル参照の解析のインジケーター
false
(既定値) | true
モデル参照の解析のインジケーター。true
または false
として指定します。
asModelRef
がfalse
(既定の設定) である場合、関数は、Polyspace が生成されたコードをスタンドアロン コードとして解析するためのオプション ファイルを生成します。asModelRef
がtrue
である場合、関数は、Polyspace が生成されたコードをモデル参照コードとして解析するためのオプション ファイルを生成します。メモ
asModelRef
をtrue
に設定する場合、slbuild
を使用してコードを生成します。
例: polyspacePackNGo('
modelName
', psOpt,true)
データ型: logical
出力引数
archivePath
— 生成されたオプション ファイルを含むアーカイブへの絶対パス
アーカイブへのパス
生成されたアーカイブへのパスを含む文字配列です。オプション ファイルは、アーカイブ内の polyspace
フォルダーにあります。polyspace
フォルダーには、次のオプション ファイルが含まれます。
optionsFile.txt
: 設計範囲指定などのモデル固有の情報を失わずに、生成されたコードで Polyspace 解析を実行するために必要な Polyspace オプションを含むテキスト ファイル。
:モデルの設計範囲指定を含むファイル。model
_drs.xmllinksData.xml
:生成されたコードをモデルのコンポーネントにリンクさせるファイル。
コードが Simulink モデルから生成された環境とは異なる環境において、生成されたコードで Polyspace 解析を実行するには、これらのファイルを使用します。
データ型: char
バージョン履歴
R2020b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)