等式を入力して制約ブロックの作成

<< 目次を表示 >>

ページ位置:  SysMLのモデリング > パラメトリック図の作成支援 >

等式を入力して制約ブロックの作成

設計対象によっては、例えば 力=質量×加速度(またはf=m*a)のような等式を使用して設計内容を表現する場合があります。このような等式は、モデル内では制約として保持され、等式の構成要素(この場合、f・m・a)は制約のパラメータとして保持されます。

 

このような等式で表現される制約をSysMLの制約ブロック要素に設定するには、制約ブロックの編集ダイアログを利用します。国際的な標準式の場合でも、仕事の領域内で自分で導き出した式の場合でも、モデルに制約として保持し、自動でパラメータを作成できます。

 

 

利用手順:  

コンテキストメニュー

制約ブロック要素を右クリックし、「制約ブロックの編集」を選択

その他

ツールボックス内の制約ブロック要素をドラッグし、ダイアグラム内にドロップ

 

 

等式の解釈とパラメータの生成

次の例は、制約としていくつかの等式を入力した状態です。3つの等式には、合計で5つのパラメータが含まれています。等式を入力すると、その等式に含まれるパラメータを自動的に抽出し、追加対象にします。 パラメータの一覧の書くパラメータの先頭にある '+' マークは、現在モデル内には存在せず、追加対象であることを示します。

 

 

 

閉じるボタンを押すと、次のようなメッセージボックスが表示され、パラメータを追加するかどうか選択します。「はい」を押すとパラメータがモデル内に追加されます。この方法以外に、制約ブロックの編集ダイアログ内の一覧に表示されているパラメータを右クリックして「生成」を選択することで、個別に指定できます。

 

 

 

この例では、追加した結果は次のようになります。

 

 

 

必須ではないパラメータの削除

先の例で、制約ブロックの編集ダイアログを開き直し、以下の制約を削除したとします。

 

    lossPower = f * v_rel

 

(制約を右クリックして削除を実行します。)

 

削除する制約にのみ関係するパラメータは、必須ではないパラメータとして表示されるようになります。

 

この例では、 'lossPower'パラメータは、必須ではないパラメータとして表示されます。

 

 

 

 

既存のパラメータと等式のパラメータを結びつける

先ほどの例で、入力済みの等式を変更する場合を考えます。例として

 

    f = d * v_rel

 

を、以下のように変更します。

 

    f = distance * v_rel

 

(制約をクリックし、さらにクリックすることで内容を編集できます。名前の変更や追加などを行い、制約の表示領域外をクリックすると編集内容が保存されます。)

 

この変更の結果、以下の内容が発生します。

 

ここで、パラメータ 'd' を削除して、新たにパラメータ 'distance' を作成するという選択肢もあります。しかし、パラメータを既に他の図で利用している場合には、その図で利用されている内容にも削除が影響します。そのため、パラメータ'd' の名前を変更し、'distance'に変えるということができます。パラメータ'd'を右クリックし、「名前の変更: 'd' → 'distance'」を選択してください。

 

 

(パラメータの結びつけについては、プロパティと制約プロパティの結びつけのヘルプページをご覧ください。)

 

 

数学的関数

等式の中に、derなど数学的な関数が含まれる場合には、それを関数であると認識して対応します。関数として認識させるには、関数名とその直後の括弧の間に空白文字を含まないようにしてください。関数の引数はパラメータとして認識され抽出されます。関数名がパラメータとして扱われることはありません。

 

 

関数と追加対象外のパラメータ

等式に関数表現を利用する場合には、関数の名前に続いて括弧を記述する必要があります。

また、関数の引数を追加対象のパラメータとして認識させたくない場合には、「追加対象外のパラメータ」ボタンを押して指定できます。

 

例:

例えば、等式I 'r = cos(time)' を入力し、関数の引数 'time' を追加対象外にしたい状況で、指定が必要です。

 

 

 

制約ブロックの合成

次の例では、制約ブロックKには制約は定義されていません。しかし、3つの制約ブロックK1, K2, K1TimesK2を持っています。制約ブロックKには5つのパラメータが定義されています。

 

 

この制約ブロックKのパラメトリック図は次のようになるとします。

 

 

このような場合に、制約ブロックを対象に制約ブロックの編集ダイアログを開くと、以下のように表示されます。

 

 

この例では、Kの値を1つの計算で抽出するのではなく、まずK1とK2を計算し、最後にこれらの計算結果を利用してKを抽出しています。

 

制約プロパティ要素欄の項目を選択すると表示される ボタンを押すと、SysML制約プロパティとパラメータの結びつけダイアログが表示され、関係を定義できます。

 

 

参照: