システムの設計
このチュートリアルのこのパートでは、Requirements & Systems Portal 内でシステムを設計する代表的なユースケースを見ていきます。このプロセスでは、システムのデジタルモデルとブレークダウンを作成し、性能パラメーターを計算し、トレードオフ検討を行い、設計上の意思決定を行います。
Valitype の設定
Valitype を設定しておくと、新しく作成する各ブロックに、既定の数式と単位を持つ特定タイプの vali(例: 質量、消費電力など)があらかじめ含まれるようになります。正しい valitype が存在していることを確認する必要があります。
-
左下の
アイコンをクリックし、表示されるメニューから Settings を選択します。開いたページで、左側ペインの Valitypes エントリを選択すると、既存の valitype をすべて確認できます。
-
valitype Mass と PowerConsumption が存在することを確認してください。存在しない場合は、ページ右下の
ボタンをクリックして追加し、これらの名前で valitype を作成します。
-
PowerConsumption valitype の単位は kW または W になっている場合があります。単位が kW の場合は、そのセルをダブルクリックして kW を W に編集してください。また、このチュートリアルではブロックの質量プロパティをグラムで使用します。単位を kg のままにするか g にするかは任意です。
-
valitype Mass と PowerConsumption について、add by default プロパティを有効にします。これらの valitype のいずれかのセルをダブルクリックし、表示されるメニューから True を選択して、もう一方の valitype に対しても同じ操作を行ってください。 これらの valitype は、このチュートリアルの後半で新しく作成するすべてのブロックに自動的に追加されます。
プロジェクトへのシステムの追加
それでは、ファンの構築を始めましょう。あらゆる製品は、ツリー構造のようにサブシステムへ分解できます。階層型のシステムツリーは、Requirements & Systems Portal の中核機能の 1 つです。
System Design Module では、技術パラメーター(vali)を含むすべてのシステムおよびサブシステムを含んだシステムツリーを作成し、アクセスできます。
-
左側の Module Navigation バーにある
アイコンをクリックして、System Design Module に移動します。
-
既定では、プロジェクトにはプロジェクト名が付いたブロックが含まれています(この例では Valifan)。プロジェクトツリー内のそのエントリを右クリックし、Create block コマンドを選択します。表示される Create new block ウィンドウの Name フィールドに
Propellerと入力し、
をクリックします。
Valifan ブロックを展開して、ナビゲーションツリーに新しいサブブロックが追加されたことを確認します。
-
同様に、Fan ブロックに対して次のサブブロックを作成します:
Motor、Speed_Controller、およびStructure。
技術パラメーター(Vali)の変更
Requirements & Systems Portal では、Valis はエンジニアリング値を保持する技術パラメーターです。Vali には、数式、値、履歴などのプロパティがあります。では、vali に値を追加していきましょう。
-
ナビゲーションペインで Valifan ブロックを選択します。左上の
ボタンをクリックして Create Property ウィンドウを開きます。このウィンドウで、Vali タブが開いていることを確認してください。Name フィールドに Massと入力し始め、ドロップダウンから Mass valitype を選択します。他のフィールドは既定値のままにして、
をクリックします。
-
同様に、PowerConsumption valitype の vali をもう 1 つ追加します。作成した vali は、Valifan ブロックの Properties ビューに表示されます。
-
新しく作成した Valifan ブロックのサブブロックには、すでに vali Mass と PowerConsumption が含まれています(これらの vali は valitype 設定で既定で追加されるよう構成されているためです)。 次に、各サブブロックでこれらの vali の値を変更します。これを行うには、サブブロックを選択し、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 サブブロックに追加された値の例を以下に示します。
-
-
Fan ブロックに移動し、その合計 Mass が自動的に 235 g(または 0.235 kg)として計算され、合計 PowerConsumption が 1.1 W として計算されていることを確認してください。
新しい Vali の追加
前の手順では、valitype の追加方法を説明しました。ただし、vali(プロパティ)は質量や消費電力だけに限定されません。さまざまなプロパティをブロックに追加できます。Requirements & Systems Portal では、単位ありまたは単位なしの数値として新しい vali を作成できます。また、行列、textvali(例: 材料)、datevali(例: 購入日)、データセット(二次元)にすることもできます。数式内では、任意のフィールドで $ 記号を使用して vali にアクセスできます。
次の手順では、プロペラ効率と供給電力を追加します。
-
Propeller ブロックに移動し、左上の
ボタンをクリックして Create Property ウィンドウを開きます。このウィンドウで、Vali タブが開いていることを確認し、Name フィールドに Efficiency、Formula and unit フィールドに0.85を入力します。Display Unit フィールドは空のままにして、
をクリックします。
-
同様に、名前が
power_deliveredの vali をもう 1 つ追加し、数式として$Motor.PowerConsumption*$Propeller.efficiencyを追加します。Formula and unit フィールドに$記号を入力すると、必要な項目を選択できるドロップダウンが表示されます。 Display Unit フィールドは空のままにしてください(正しい単位 W は計算に基づいて自動的に割り当てられます)。その後、
をクリックします。
Propeller ブロックの vali は、以下に示すような状態になっているはずです。
-
power_delivered vali の名前をクリックすると、追加情報やプロパティを含む詳細ページが開きます。 ここでは、Formula、 Properties、 Info、 Connected Copies、 Actions を確認でき、さらに History、Sensitivity Analysis、および Connections Graph などの追加機能にもアクセスできます。
設計の詳細化とブロックの再利用
基本設計ができたら、製品のより詳細なモデルを作成できます。複製が必要なブロックがある場合は、「connected copies」機能を利用できます。これにより、それらは同期された状態に保たれます。つまり、1 つの接続済みブロックに変更を加えると、他のすべての接続済みブロックも自動的に更新されます。
この例では、ローターブレードが 3 枚あり、すべて同一です。
-
ナビゲーションペインで Propeller Block を右クリックし、Add Block コマンドを選択します。新しい Block に
Blade1という名前を付けます。 -
新しい Blade1 block を右クリックし、Copy & connect を選択します。同じ階層に、新しく接続された Block Blade2 が表示されます。
-
同様に、接続された block Blade3 を作成します。
-
3 つの block のいずれかに移動し、その Mass 値を
10gに、PowerConsumption 値を0Wに変更します。接続されたすべての blade block が同じ Mass と PowerConsumption を持つようになったことを確認できます。
数式 soc()(子要素の合計)を持つすべての vali には、関連付けられた予算テーブルとチャートがあり、vali 情報で表示できます。
-
Fan block に移動し、Mass vali 名をクリックして詳細を開きます。
-
上部の Budget コントロールをクリックすると、ファンの総質量の内訳を表示できます。block 名の左側にある矢印をクリックすると、構造を展開できます。
-
Breakdown Chart コントロールをクリックすると、ファンの総質量の内訳を表示できます。円グラフには、直下のサブシステム階層の質量内訳が表示されます。
マージンの使用
開発の初期段階では、通常、どのプロパティの正確な値もまだ確定していません。そのため、値にマージンを追加すると便利です。Requirements & Systems Portal は、この不確実性をすべての計算にわたって伝播します(線形不確かさ伝播)。
たとえば、最終的な質量値がまだ分からない場合があります。多くの場合、質量は想定より大きくなります。このような場合、vali に安全マージンを追加できます。このマージンを使用すると、Requirements & Systems Portal は vali のワーストケースを自動的に計算します。これをプロペラの質量で試してみましょう。
-
Propeller block に移動し、右側の Columns コントロールを使用して、テーブル内の Margin + 列と Margin - 列を表示するようにします。
-
Mass vali の Margin + 列に
10を入力します(これは 10% の margin+ を意味します)。
-
Mass vali の名前をクリックして詳細ビューを開きます。10% の margin+ により、Worst Case 値は 33g | 30g として表示されます。
-
Propeller Block に定義されたマージンに基づき、Requirements & Systems Portal は上位レベルのマージンとワーストケースを自動的に更新します。Fan block に移動し、その Mass vali の詳細ビューを開きます。ご覧のとおり、ファンの質量は現在、合計マージン +1.28%、ワーストケース 238g | 235g になっています。
カスタムニーズのためのタグ追加
タグは、チーム固有のニーズに対応する多目的ツールです。vali や block にマークを付けるために使用できます。たとえば、次のような用途があります。
-
値の信頼性(例:
assumption/calculated/measured)。 -
チームメンバー向けのアクション(例:
review: Tom/approval: Christine)。 -
その他の任意のマーキングやグループ化。
-
Motor block に移動します。
-
Mass vali の Tags 列のセルをダブルクリックし、
measurementと入力してEnterを押し、タグを追加します。
Block を要件にリンクする
基本的なシステム構造ができたので、次は Fan system と Fan_Specs specification の要件を関連付けましょう。これにより、システム設計と要件の間に直接リンクが作成されます。
-
左側の Module Navigation バーにある
アイコンをクリックして Requirements Module に移動し、Fan_Specs specification を開きます。
-
Identifier 列ヘッダーの左側にあるチェックボックスをオンにして、specification 内のすべての要件を選択します。
-
Applicable Block 列のセル内をダブルクリックし、ドロップダウンから Fan を選択して、一括更新を確定します。
Applicable Blocks 機能の詳細については、Applicable Blocks ページを参照してください。
予算テーブルと円グラフの作成
これでシステムの予備的な設計内訳ができたので、先ほど作成した解析ドキュメント(Project_Summary)で質量予算を確認したいと思います。ドキュメントに新しい block を追加しましょう。
-
Module Navigation バーの
アイコンをクリックして Analyses Module に移動し、Project_Summary を選択します。
-
ドキュメント下部の Click to add new block コントロールをクリックします。
-
開いた Add Block ウィンドウで、Table エントリを展開し、Budget を選択します。
-
新しい block がドキュメントに追加されます。Add data to this table コントロールをクリックして Table Block ウィンドウを開き、内訳を表示したい vali を選択します。vali フィールドで Fan.Mass を選択します。
-
Table Block ウィンドウで
をクリックします。新しいテーブルがドキュメントに追加されます。このテーブルでは、完全な内訳、マージン、ワーストケースシナリオを含む Valifan の質量予算を確認できます。
-
チャートを使用して質量内訳をグラフィカルに表現することもできます。ドキュメント下部の Click to add new block コントロールをクリックします。
-
Add Block ウィンドウで、Charts エントリを展開し、Budget を選択します。
-
新しい block がドキュメントに追加されます。Add data to this table コントロールをクリックして Table Block ウィンドウを開きます。vali フィールドで Fan.Mass を選択し、次に
をクリックします。新しいチャートがドキュメントに追加されます。
モードの定義
一部の値は固定ではなく、構築中の製品の状態に依存します。モードはそのために用意されており、さまざまな構成と、それらが製品とどう関係するかを追跡します。
このチュートリアルのこの部分では、ファンのモード、つまり異なる速度、電力モード、ON/OFF 状態を定義します。
モードの追加
モーターは 3 つの離散的な速度で動作でき、これをモードでモデル化できます。
-
上部の Modelists タブに移動します。Modelists は、消費電力、回転速度、推力など、モード依存のプロパティをモデル化するために使用されます。
-
右上の
ボタンをクリックします。開いた Create Modelist ウィンドウで、New Modelist name に speed_settingsを入力し、# (Number of modes) フィールドに3を入力します。
-
Create Modelist ウィンドウで
ボタンをクリックすると、新しい modelist が作成されます。新しい modelist 名の左側にある矢印をクリックして展開します。
-
デフォルトのモード名 a、b、c を、それぞれ ZERO、LOW、HIGH に変更します。
-
ページ上部の Properties コントロールをクリックして、block の vali に戻ります。
-
右上の
ボタンをクリックして Create Property ウィンドウを開きます。このウィンドウで次を行います。
-
Matrix タブを選択します。
-
Name フィールドに
rotational_speedsを入力します。 -
Mode reference フィールドのドロップダウンから speed_settings を選択します。
-
Display Unit フィールドに
rpmを入力します。
-
-
Create Property ウィンドウで
ボタンをクリックし、次に新しいプロパティ名の左側にある矢印をクリックして展開します。値(現在は 0)を次のように変更します。-
ZERO =
0rpm -
LOW =
2000rpm -
HIGH =
5000rpm
-
-
Speed_Controller ブロックに対して、名前を
power_modesとし、2 つのモードを持つ modelist を作成します。デフォルトのモード名 a および b を、それぞれ ON と OFF に変更します。
-
Fan ブロックに対して、名前を
stateとし、3 つのモードを持つ modelist を作成します。デフォルトのモード名 a、b、および c を、それぞれ OFF、MIN、MAX に変更します。
Valis をモード依存にする
これでシステムのモードが定義されたので、valis をそれらに依存させることができます。vali は常に同じ値を持つとは限らず、特定のモードに依存した値を持つ場合があります。
-
Fan ブロックのプロパティに移動し、PowerConsumption vali 名をクリックして詳細ビューを開きます。
-
ボタンをクリックして Select Modelist ウィンドウを開きます。ドロップダウンから state を選択し、
ボタンをクリックします。
-
同様に、Motor ブロックの PowerConsumption vali を
speed_settingsモードに依存させ、Speed_Controller ブロックの PowerConsumption vali をpower_modesモードに依存させます。 -
Motor ブロックの消費電力の値を次のように変更します:
-
ZERO =
0W -
LOW =
1W -
HIGH =
4W
-
-
Speed_Controller ブロックの消費電力の値を次のように変更します:
-
ON =
0.1W -
OFF =
0W
-
モードをリンクする
システムの状態は相互に依存することがあります。そのため、Requirements & Systems Portal では、関連するモード同士をリンクできます。
このチュートリアルのこのパートでは、ファンの状態と、モーターおよびスピードコントローラーのモードの間に接続を作成します。
-
Fan ブロックの modelists に移動し、state modelist 名をクリックして詳細ペインを開きます。
-
ペイン上部の
アイコンをクリックします。ペイン下部の Select Modelist ドロップダウンで Speed_Controller.power_modes を選択し、
ボタンをクリックしてから、Motor.speed_settings と
ボタンをクリックします。モードは以下のように追加されます。
-
以下のようにモード間のリンクを編集し、
ボタンをクリックして変更を保存します。
-
Fan ブロックの Properties ビューでは、Power Consumption の値が以下のように変化していることを確認できます。
)
)