Main Content

Advisor.authoring.CompositeConstraint クラス

名前空間: Advisor.authoring

複数の制約をチェックするモデル アドバイザー制約を作成する

説明

Advisor.authoring.CompositeConstraint クラスのインスタンスには複数の制約が含まれます。インスタンス定義に応じて、モデルが制約の 1 つまたはすべてを満たしていない場合にモデル アドバイザーは違反をレポートします。

作成

cc = Advisor.authoring.CompositeConstraint() はこのクラスのインスタンスを作成します。

プロパティ

すべて展開する

Advisor.authoring.CompositeConstraint オブジェクトを作成する制約の ID。このプロパティは読み取り専用です。addConstraintID メソッドを使用して CompositeConstraint を作成します。

and 演算子を使用して、モデルがチェック制約のすべてを満たしていない場合にモデル アドバイザーが違反をレポートするように指定します。or 演算子を使用して、モデルがチェック制約の 1 つ以上を満たしていない場合にモデル アドバイザーが違反をレポートするように指定します。このプロパティは読み取りと書き込みが可能です。

メソッド

addConstraintID 制約を複合制約に追加する

すべて折りたたむ

以下のコマンドでは、Multiport Switch ブロックの複合制約を指定します。

3 つの PositiveBlockParameter 制約オブジェクトを作成します。

c1 = Advisor.authoring.PositiveBlockParameterConstraint(); 
c1.ID = 'ID_A2'; 
c1.BlockType = 'MultiPortSwitch'; 
c1.ParameterName = 'DataPortOrder'; 
c1.SupportedParameterValues = {'Specify indices'}; 
c1.ValueOperator = 'eq'; 

c2 = Advisor.authoring.PositiveBlockParameterConstraint(); 
c2.ID = 'ID_A3'; 
c2.BlockType = 'MultiPortSwitch'; 
c2.ParameterName = 'DataPortForDefault'; 
c2.SupportedParameterValues = {'Additional data port'}; 
c2.ValueOperator = 'eq'; 

c3 = Advisor.authoring.PositiveBlockParameterConstraint(); 
c3.ID = 'ID_A4'; 
c3.BlockType = 'MultiPortSwitch'; 
c3.ParameterName = 'DiagnosticForDefault'; 
c3.SupportedParameterValues = {'None'}; 
c3.ValueOperator = 'eq'; 

addPreRequisiteConstraintID メソッドを使用して、c1 をチェック制約 c2 および c3 の前提条件にします。

c2.addPreRequisiteConstraintID('ID_A2'); 
c3.addPreRequisiteConstraintID('ID_A2'); 

Rate Transition ブロックが c2c3 の両方の制約を満たしていない場合にブロックがこのチェックの違反になることを指定する複合制約を作成します。

CC = Advisor.authoring.CompositeConstraint(); 
CC.addConstraintID('ID_A3');
CC.addConstraintID('ID_A4'); 
CC.CompositeOperator = 'and'; 

バージョン履歴

R2018a で導入