[データ型] パラメーターを使用した [編集] パラメーターのデータ型の指定
マスクの [データ型] パラメーターを使用して、ブロックのパラメーターや出力信号の値を変換できます。[データ型] パラメーターは、[最小値]、[最大値]、[値] の各パラメーターに関連付けられます。[データ型] パラメーターの重要性は、子ブロックにリンクされたときにのみ明らかになります。また、出力信号の検証や変換はコンパイル時にのみ行われ、編集時には行われません。子ブロックにおいて、関連付けられたマスクの [データ型] パラメーターによってパラメーターのデータ型が変換されますが、パラメーターの値は [最小値] パラメーターと [最大値] パラメーターによって制限されます。
モデルの確認
[編集] パラメーターのデータ型、最小値、最大値を指定するには、ブロック DataTypeStr
を使用します。マスク ブロック DataTypeStr
には、[編集] パラメーター Gain
、[最小値] パラメーター Minimum
、[最大値] パラメーター Maximum
、[データ型] パラメーター DataTypeStrParameter
があります。サブシステム DataTypeStr
には "Gain" ブロックが含まれています。
[編集] パラメーターへのデータ型の関連付け
ブロック DataTypeStr
はマスクされており、必要なパラメーターが作成されています。同様のモデルを作成する場合は、次の手順に従います。
1. マスク ブロック DataTypeStr
を開きます。
2. [エディット] パラメーター Gain
、[最小値] パラメーター Minimum
、[最大値] パラメーター Maximum
、[データ型] パラメーター DataTypeStrParameter
を作成します。
3. Gain
パラメーターで許容されるデータ型、最小値、最大値を指定するには、[パラメーター] ペインで [データ型] パラメーターを選択し、[プロパティ エディター] ペインで [タイプ オプション] をダブルクリックします。タイプ オプション エディターが開きます。[組み込み型] ペインを選択し、double
と single
を選択します。
4. [関連付け] をクリックして、[データ型] パラメーターを [編集] パラメーターに関連付けます。[設計の最小値] と [設計の最大値] で、[最小値] パラメーター Minimum
、[最大値] パラメーター Maximum
を選択して、[最小値] パラメーターと [最大値] パラメーターを [編集] パラメーターの Gain
パラメーターに関連付けます。
5. [タイプ オプション] エディターで [OK] をクリックして、ルールの選択を保存します。
6. [マスクの保存] をクリックして、マスクを保存します。
[データ型] パラメーターを通じて許容されるデータ型を設定しても、関連する [編集] パラメーターの信号属性または出力データ型は設定されません。[編集] パラメーターに関連付けられたデータ型を、[編集] パラメーターを使用するマスク サブシステムの基になるブロックで直接設定してください。
7. ブロック DataTypeStr
を右クリックします。[マスク] を選択し、[マスク内を表示] を選択します。
8. "Gain" ブロックをダブルクリックし、[ブロック パラメーター] ダイアログで "Gain" の値を Gain
として指定して [編集] パラメーターの値を参照します。
9. [信号属性] を選択し、[出力の最小値] で Minimum
、[出力の最大値] で Maximum
を指定して、"Gain" ブロックの出力の最小値と最大値を制限します。[出力データ型] で DataTypeStrParameter
を指定して、[編集] パラメーターの出力信号をマスク ダイアログで選択されたデータ型に変換します。
10. DataTypeStr
ブロックのマスク ダイアログを開きます。Gain
パラメーターの値を 34
と指定し、データ型を single
として選択してモデルをシミュレートします。
Gain
の値が最小値と最大値に照らして検証され、診断ビューアーにエラーが表示されることを確認します。また、選択できるデータ型は single
と double
のどちらかだけであり、出力信号は single
に変換されることに注意してください。
メモ: "データ型" パラメーターと "パラメーター" 制約の違いは、データ型パラメーターは入力信号をマスク ダイアログで選択されたデータ型に変換するのに対し、パラメーター制約は入力信号を条件に照らして検証することです。
継承、組み込みデータ型、固定小数点、およびユーザー定義のデータ型のルールに関する情報を次に示します。
継承ルール — データ型を決定する継承ルールを指定します。継承ルールは 3 つのカテゴリに分類されます。"共通の Simulink ルール"、"カスタム ルール"、および "詳細な Simulink ルール" です。"詳細なルール" のセクションでは、Lookup table、Constant、Gain などのブロックからルールを継承できます。たとえば、ブレークポイント データ、定数値、ゲイン、テーブル データ、論理データ、アキュムレータ、乗算出力、Simulink などです。また、入力と同じ語長をもつことも、すべての端子で同じデータ型をもつこともできます。[カスタム ルール] セクションには、MATLAB® 検索パスに登録されているカスタム継承ルールが一覧表示されます。一部の継承ルールの定義については、データ型の継承ルールを参照してください。
組み込み型 — 1 つ以上の組み込みの Simulink データ型 (
double
やsingle
など) を指定します。詳細については、Simulink でサポートされているデータ型を参照してください。
固定小数点 — 固定小数点データ型のスケーリング モードおよび符号付きモードを指定します。詳細については、固定小数点データ型の指定を参照してください。
ユーザー定義 — バス オブジェクト、列挙データ型、または string を指定します。詳細については、列挙データ型の指定を参照してください。
プログラムによる [編集] パラメーターへのデータ型の関連付け
1. 現在のモデルにマスクを作成します。
maskObj = Simulink.Mask.get(gcb);
2. edit
、min
、および 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
によって定義され、対応する値はdouble
とsingle
です。