システム設計
このチュートリアルのこのパートでは、Requirements Portal 内でシステムを設計する際の典型的なユースケースを見ていきます。このプロセスでは、システムのデジタルモデルと分解構造の作成、性能パラメータの算出、トレードオフ検討、そして設計判断を行います。
Valitypes の設定
Valitypes を設定しておくと、新しいブロックを作成した際に、特定タイプの vali がデフォルトの式と単位(例:質量、消費電力など)を持った状態であらかじめ含まれるようになります。正しい valitypes が存在することを確認する必要があります。
-
右上の
アイコンをクリックし、表示されるメニューから Settings を選択します。開いたページで、左側ペインの Valitypes エントリを選択すると、既存の valitypes をすべて確認できます。
-
valitypes Mass と PowerConsumption が存在することを確認してください。存在しない場合は、ページ右下の
ボタンをクリックして追加し、これらの名前で valitypes を作成します。
-
PowerConsumption valitype の単位は kW または W になっている場合があります。単位が kW の場合は、セルをダブルクリックして kW を W に編集してください。また、このチュートリアルではブロックの質量プロパティをグラムで使用します。単位を kg のままにするか g にするかは任意です。
-
valitypes Mass と PowerConsumption について、add by default プロパティを有効にします。いずれかの valitype のセルをダブルクリックし、表示されるメニューから True を選択し、もう一方の valitype についても同様に行います。 これらの valitypes は、このチュートリアルの後半で新しいブロックを作成するたびに自動的に追加されます。
プロジェクトへのシステム追加
それではファンを作り始めましょう。あらゆる製品は、ツリー構造のようにサブシステムへ分解できます。階層型のシステムツリーは Requirements Portal の中核機能の1つです。
Blocks Module では、技術パラメータ(valis)を含む、すべてのシステム/サブシステムからなるシステムツリーを作成・参照できます。
-
左側のプロジェクトツリーで Blocks エントリをクリックして Blocks Module に移動します。
-
デフォルトでは、プロジェクトにはプロジェクト名のブロックが含まれます(この例では Valifan)。プロジェクトツリー内のそのエントリを右クリックし、Add Block コマンドを選択します。表示される Create new block ウィンドウの Name フィールドに
Propellerを入力し、
をクリックします。ナビゲーションツリーで Valifan ブロックを展開し、新しいサブブロックを確認します。
-
同様に、Valifan ブロックに対して次のサブブロックを作成します:
Motor、Speed_Controller、およびStructure。
技術パラメータ(Valis)の変更
Requirements Portal では、 Valis がエンジニアリング値を保持する技術パラメータです。Valis には、式、値、履歴など、さまざまなプロパティがあります。では、vali に値を追加していきましょう。
-
ナビゲーションペインで Valifan ブロックを選択します。左上の
ボタンをクリックして Create Property ウィンドウを開きます。このウィンドウで Vali タブが開いていることを確認し、Name フィールドのドロップダウンから Mass valitype を選択します。他のフィールドはデフォルトのままにして
をクリックします。
-
同様に、PowerConsumption valitype の別の vali を追加します。作成した valis は Valifan ブロックの Properties ビューに表示されます。
-
Valifan ブロックの新規サブブロックには、すでに valis Mass と PowerConsumption が含まれています(valitype 設定で、これらの valis がデフォルトで追加されるよう構成されているためです)。 次に、各サブブロックでこれらの valis の値を変更します。サブブロックを選択し、Value 列の該当セルをダブルクリックします。次の値を入力してください:
-
Motor: Mass =
110g、 PowerConsumption =1W -
Propeller: Mass =
30g、 PowerConsumption =0W(soc()ではなく0Wを入力してください) -
Speed_Controller: Mass =
15g、 PowerConsumption =0.1W -
Structure: Mass =
80g、 PowerConsumption =0W(soc()ではなく0Wを入力してください)
Motor サブブロックに追加した値の例を以下に示します。
-
-
Valifan ブロックに移動し、合計 Mass が自動的に 235 g(または 0.235 kg)に計算され、合計 PowerConsumption が 1.1 W に計算されていることを確認してください。
新しい Vali の追加
前の手順では valitypes の追加方法を示しました。しかし、vali(プロパティ)は質量や消費電力だけに限定されません。ブロックにはさまざまなプロパティを追加できます。Requirements Portal では、単位あり/なしの数値として新しい vali を作成できます。また、行列、textvali(例:材料)、datevali(例:購入日)、データセット(2次元)にすることも可能です。任意のフィールドで $ 記号を使用すると、式から valis にアクセスできます。
次の手順では、プロペラ効率と出力(delivered power)を追加します。
-
Propeller ブロックに移動し、左上の
ボタンをクリックして Create Property ウィンドウを開きます。このウィンドウで Vali タブが開いていることを確認し、Name フィールドに Efficiency、Formula and unit フィールドに0.85を入力します。Display Unit フィールドは空のままにして
をクリックします。
-
同様に、名前を
power_deliveredとする別の vali を追加し、式を$Motor.PowerConsumption*$Propeller.efficiencyとして追加します。Formula and unit フィールドで$記号を入力するとドロップダウンが表示され、必要なものを選択できます。 Display Unit フィールドは空のままにします(計算に基づいて正しい単位 W が自動的に割り当てられます)。そして
をクリックします。
Propeller ブロックの valis は、次のように表示されるはずです。
-
power_delivered vali の名前をクリックすると、追加情報やプロパティを含む詳細ページが開きます。 ここでは Formula、Properties、Info、Connected Copies、Actions を確認でき、vali の History にアクセスできます。
設計の詳細化
soc()(子の合計)という式を持つすべての valis には、関連する予算テーブルとチャートがあり、vali 情報から表示できます。
-
Valifan ブロックに移動し、Mass vali 名をクリックして詳細を開きます。
-
上部の Budget コントロールをクリックして、ファンの総質量の内訳を表示します。ブロック名の左側にある矢印をクリックすると、ブロックの子要素を表示できます。
-
Breakdown Chart コントロールをクリックして、ファンの総質量の内訳を表示します。円グラフは、直下のサブシステム階層における質量の内訳を示します。
マージンの使用
開発の初期段階では、どのプロパティについても正確な値が分からないのが通常です。そのため、値にマージンを追加すると役立ちます。Requirements Portal は、この不確かさをすべての計算にわたって伝播させます(線形の不確かさ伝播)。
たとえば、質量の最終値が分からないことがあります。多くの場合、結果として想定よりも質量が大きくなります。こうしたケースでは、vali に安全マージンを追加できます。このマージンを使用すると、Requirements Portal が自動的に vali のワーストケースを計算します。プロペラ質量で試してみましょう。
-
Propeller ブロックに移動し、右側の Columns コントロールを使って、テーブル内の Margin + 列と Margin - 列の表示を有効にします。
-
Mass vali の Margin + 列に
10を入力します(10% の margin+ を意味します)。
-
Mass vali の名前をクリックして詳細ビューを開きます。10% の margin+ により、Worst Case の値は 33g | 30g として表示されます。
-
Propeller ブロックで定義したマージンに基づき、Requirements Portal は上位レベルのマージンとワーストケースを自動的に更新します。Valifan ブロックに移動し、その Mass vali の詳細ビューを開きます。ご覧のとおり、ファンの質量は合計マージンが +1.28%、ワーストケースが 238g | 235g になっています。
カスタム用途のためのタグ追加
タグは、チーム固有のニーズに対応する多目的ツールです。vali やブロックにマークを付けるために使用できます。次のような用途に使えます。
-
値の信頼性(例:
assumption/calculated/measured)。 -
チームメンバー向けのアクション(例:
review: Tom/approval: Christine)。 -
その他のマーキングやグルーピング。
-
Motor ブロックに移動します。
-
Mass vali の Tags 列のセルをダブルクリックし、
measurementと入力してEnterを押し、タグを追加します。
ブロックを要件にリンクする
Main page: 適用可能なブロック
基本的なシステム構造ができたので、Fan_Specs 仕様の要件と Valifan システムの間に接続を確立しましょう。これにより、システム設計と要件の間に直接リンクが作成されます。
-
Fan_Specs 仕様に移動します(プロジェクトツリーで Requirements エントリを展開し、Fan_Specs エントリをクリックします)。
-
Identifier 列ヘッダーの左側にあるチェックボックスをオンにして、仕様内のすべての要件を選択します。
-
Applicable Block 列のセル内をダブルクリックし、ドロップダウンから Valifan を選択して、一括更新を確定します。
)をクリックすると、Blocks Module 内のリンクされたシステムへすばやく移動できます。
)をクリックすると、Blocks Module でシステムにリンクされた要件を確認できます。