メインコンテンツ

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

addConstraint

バリアント コンフィギュレーション データ オブジェクトに制約を追加

    説明

    メモ

    この関数には Variant Manager for Simulink® が必要です。

    addConstraint(varConfigData,constraintName) は、constraintName で指定された名前をもつ制約を Simulink.VariantConfigurationData オブジェクト varConfigData に追加します。

    制約を使用して、varConfigData に存在するすべてのバリアント コンフィギュレーションが特定の条件を満たしているかどうかをチェックできます。制約は有効な boolean の条件式として指定しなければなりません。式には、モデルの階層構造で使用されているバリアント制御変数、階層内にある参照コンポーネントのバリアント コンフィギュレーションの名前、またはそれらの組み合わせ (R2025a 以降)を含めることができます。これらの制約は、バリアント コンフィギュレーションのアクティベーション、モデルのコンパイル、シミュレーション、およびコード生成ワークフローの実行時に Simulink によって評価されます。

    addConstraint(___,condition) は、前述の構文の入力引数を使用して制約を追加し、さらに条件式を condition に設定します。

    addConstraint(___,description) は、制約をその説明と共に追加します。

    すべて折りたたむ

    最上位モデルに関連付けられたバリアント コンフィギュレーション データ オブジェクトに新しい制約を追加します。モデルの階層構造で使用されているバリアント制御変数を使用して条件を定義します。

    modelName="slexVariantManagement";
    open_system(modelName);
    vcd = Simulink.VariantManager.getConfigurationData("slexVariantManagement");
    addConstraint(vcd,"ControllerPlantConstraint",...
    "~((Ctrl == ControllerType.Linear) && (PlantLoc == PlantLocation.External))",...
    "Linear controller must not have an external plant")
    

    モデルの階層構造にある参照コンポーネントのバリアント コンフィギュレーション データ オブジェクトを取得します。

    open_system("slexVariantManagementExternalPlantMdlRef");
    subvcd = Simulink.VariantManager.getConfigurationData("slexVariantManagementExternalPlantMdlRef");
    

    参照コンポーネントに対して定義されているコンフィギュレーションの名前を使用して、最上位モデルに制約をもう 1 つ追加します。

    addConstraint(vcd,"ExternalPantFidelityConstraint", ...
     "(isConfigActive(subvcd,""LowFid"") || isConfigActive(subvcd,""HighFid""))");
    

    入力引数

    すべて折りたたむ

    新しい制約の追加先となるバリアント コンフィギュレーション データ。Simulink.VariantConfigurationData オブジェクトとして指定します。

    制約の名前。文字ベクトルまたは string スカラーとして指定します。

    例: "LinInternal"

    データ型: char | string

    バリアント制御変数および参照コンポーネントのコンフィギュレーションを使用して定義される boolean の条件式。文字ベクトルまたは string スカラーとして指定します。制約が満たされるには、この式が true に評価される必要があります。

    例: "~((Ctrl==ControllerType.Linear) && (PlantLoc==PlantLocation.External))"

    データ型: char | string

    制約の説明。文字ベクトルまたは string スカラーとして指定します。

    例: "Linear controller must not have an external plant"

    データ型: char | string

    制限

    • バリアント マネージャーの制約は、ベース ワークスペースで定義されているバリアント制御変数の値、または制約が定義されているモデルにリンクされたデータ ディクショナリで定義されているバリアント制御変数の値に基づいて評価されます。

    バージョン履歴

    R2013b で導入

    すべて展開する