Main Content

rtw.codegenObjectives.Objective

カスタム コード生成の目的

説明

コード生成の目的を使用して、コード生成アドバイザーが検証するチェックとパラメーターのセットを指定します。

作成

説明

rtw.codegenObjectives.Objective(newObjID) は、指定された識別子をもつ新しいコード生成の目的を作成します。

rtw.codegenObjectives.Objective(newObjID, baseObjID) は、指定された既存のコード生成の目的に基づいてコード生成の目的を作成します。既存の目的は、コード生成アドバイザーに登録されている必要があります。

入力引数

すべて展開する

新しい目的の識別子。文字ベクトルまたは string スカラーとして指定します。

新しい目的のベースとなる既存の目的の識別子。文字ベクトルまたは string スカラーとして指定します。

オブジェクト関数

setObjectiveNameSpecify objective name
addCheckAdd check to code generation objective
addParamAdd parameters to code generation objective
excludeCheckExclude check from code generation objective
modifyInheritedParamModify inherited parameter values in code generation objective
removeInheritedCheckRemove inherited check from objective
removeInheritedParamRemove inherited parameter from objective
registerコード生成アドバイザーの目的の登録

すべて折りたたむ

チェックを実行してパラメーター値を検証し、モデルが生成コードで使用される RAM を削減するように構成されていることを確認する Reduced RAM Example という名前のカスタムの目的を作成します。

ファイル sl_customization.m を作成して、カスタムの目的を作成するコールバック関数を含めます。

function sl_customization(cm)
%SL_CUSTOMIZATION objective customization callback

objCustomizer = cm.ObjectiveCustomizer;
index = objCustomizer.addCallbackObjFcn(@addObjectives);
objCustomizer.callbackFcn{index}();

end

関数 addObjectives で目的を作成して構成します。目的の名前を設定し、検証するチェックとパラメーターを追加します。その後、目的をコード生成アドバイザーに登録します。

function addObjectives

% Create the custom objective
obj = rtw.codegenObjectives.Objective('ex_ram_1');
setObjectiveName(obj, 'Reduce RAM Example');

% Add parameters to the objective
addParam(obj, 'InlineParams', 'on');
addParam(obj, 'BooleanDataType', 'on');
addParam(obj, 'OptimizeBlockIOStorage', 'on');
addParam(obj, 'EnhancedBackFolding', 'on');
addParam(obj, 'BooleansAsBitfields', 'on');

% Add additional checks to the objective
% The Code Generation Advisor automatically includes 'Check model
% configuration settings against code generation objectives' in every
% objective.
addCheck(obj, 'Identify unconnected lines, input ports, and output ports');
addCheck(obj, 'Check model and local libraries for updates');

%Register the objective
register(obj);

end

バージョン履歴

R2009a で導入