メインコンテンツ

[データ型] パラメーターを使用した [編集] パラメーターのデータ型の指定

マスクの [データ型] パラメーターを使用して、ブロックのパラメーターや出力信号の値を変換できます。[データ型] パラメーターは、[最小値]、[最大値]、[値] の各パラメーターに関連付けられます。[データ型] パラメーターの重要性は、子ブロックにリンクされたときにのみ明らかになります。また、出力信号の検証や変換はコンパイル時にのみ行われ、編集時には行われません。子ブロックにおいて、関連付けられたマスクの [データ型] パラメーターによってパラメーターのデータ型が変換されますが、パラメーターの値は [最小値] パラメーターと [最大値] パラメーターによって制限されます。

モデルの確認

[編集] パラメーターのデータ型、最小値、最大値を指定するには、ブロック DataTypeStr を使用します。マスク ブロック DataTypeStr には、[編集] パラメーター Gain、[最小値] パラメーター Minimum、[最大値] パラメーター Maximum、[データ型] パラメーター DataTypeStrParameter があります。サブシステム DataTypeStr には "Gain" ブロックが含まれています。

[編集] パラメーターへのデータ型の関連付け

ブロック DataTypeStr はマスクされており、必要なパラメーターが作成されています。同様のモデルを作成する場合は、次の手順に従います。

1. マスク ブロック DataTypeStr を開きます。

2. [エディット] パラメーター Gain、[最小値] パラメーター Minimum、[最大値] パラメーター Maximum、[データ型] パラメーター DataTypeStrParameter を作成します。

3. Gain パラメーターで許容されるデータ型、最小値、最大値を指定するには、[パラメーター] ペインで [データ型] パラメーターを選択し、[プロパティ エディター] ペインで [タイプ オプション] をダブルクリックします。タイプ オプション エディターが開きます。[組み込み型] ペインを選択し、doublesingle を選択します。

4. [関連付け] をクリックして、[データ型] パラメーターを [編集] パラメーターに関連付けます。[設計の最小値][設計の最大値] で、[最小値] パラメーター Minimum、[最大値] パラメーター Maximum を選択して、[最小値] パラメーターと [最大値] パラメーターを [編集] パラメーターの Gain パラメーターに関連付けます。

5. [タイプ オプション] エディターで [OK] をクリックして、ルールの選択を保存します。

6. [マスクの保存] をクリックして、マスクを保存します。

[データ型] パラメーターを通じて許容されるデータ型を設定しても、関連する [編集] パラメーターの信号属性または出力データ型は設定されません。[編集] パラメーターに関連付けられたデータ型を、[編集] パラメーターを使用するマスク サブシステムの基になるブロックで直接設定してください。

7. ブロック DataTypeStr を右クリックします。[マスク] を選択し、[マスク内を表示] を選択します。

8. "Gain" ブロックをダブルクリックし、[ブロック パラメーター] ダイアログで "Gain" の値を Gain として指定して [編集] パラメーターの値を参照します。

9. [信号属性] を選択し、[出力の最小値]Minimum[出力の最大値]Maximum を指定して、"Gain" ブロックの出力の最小値と最大値を制限します。[出力データ型]DataTypeStrParameter を指定して、[編集] パラメーターの出力信号をマスク ダイアログで選択されたデータ型に変換します。

10. DataTypeStr ブロックのマスク ダイアログを開きます。Gain パラメーターの値を 34 と指定し、データ型を single として選択してモデルをシミュレートします。

Gain の値が最小値と最大値に照らして検証され、診断ビューアーにエラーが表示されることを確認します。また、選択できるデータ型は singledouble のどちらかだけであり、出力信号は single に変換されることに注意してください。

メモ: "データ型" パラメーターと "パラメーター" 制約の違いは、データ型パラメーターは入力信号をマスク ダイアログで選択されたデータ型に変換するのに対し、パラメーター制約は入力信号を条件に照らして検証することです。

継承、組み込みデータ型、固定小数点、およびユーザー定義のデータ型のルールに関する情報を次に示します。

  • 継承ルール — データ型を決定する継承ルールを指定します。継承ルールは 3 つのカテゴリに分類されます。"共通の Simulink ルール""カスタム ルール"、および "詳細な Simulink ルール" です。"詳細なルール" のセクションでは、Lookup table、Constant、Gain などのブロックからルールを継承できます。たとえば、ブレークポイント データ、定数値、ゲイン、テーブル データ、論理データ、アキュムレータ、乗算出力、Simulink などです。また、入力と同じ語長をもつことも、すべての端子で同じデータ型をもつこともできます。[カスタム ルール] セクションには、MATLAB® 検索パスに登録されているカスタム継承ルールが一覧表示されます。一部の継承ルールの定義については、データ型の継承ルールを参照してください。

  • 固定小数点 — 固定小数点データ型のスケーリング モードおよび符号付きモードを指定します。詳細については、固定小数点データ型の指定を参照してください。

  • ユーザー定義 — バス オブジェクト、列挙データ型、または string を指定します。詳細については、列挙データ型の指定を参照してください。

プログラムによる [編集] パラメーターへのデータ型の関連付け

1. 現在のモデルにマスクを作成します。

maskObj = Simulink.Mask.get(gcb);

2. editmin、および max パラメーターを作成します。

maskObj.addParameter('Name','Gain', 'Type','edit');
maskObj.addParameter('Name','Min', 'Type','min');
maskObj.addParameter('Name','Max', 'Type','max');

3. data type パラメーターを追加し、それを [編集] パラメーター Gain に関連付けます。

dataTypeParam = maskObj.addParameter('Name','DataType');
dataTypeParam.Type = 'unidt({a=DataType|Min|Max|Gain}{i=Inherit: auto|Inherit:Inherit via internal rule}{b=double|single})'

ここで、Type[データ型] パラメーターに指定された値を表示します。また、次のような定義があります。

  • 関連付けは a によって定義されます。

  • 継承ルールは i によって定義され、対応する値は Inherit: Same as first input です。

  • 組み込み型は b によって定義され、対応する値は doublesingle です。

参考