システムの設計

このチュートリアルのこのパートでは、Requirements & Systems Portal 内でシステムを設計する際の典型的なユースケースを見ていきます。このプロセスには、システムのデジタルモデルと構成分解の作成、性能パラメータの計算、トレードオフ検討の実施、そして設計判断が含まれます。

Valitype の設定

Valitype を設定すると、新しく作成するすべてのブロックに、既定の式と単位を持つ特定タイプの vali(例: 質量、消費電力など)があらかじめ含まれるようになります。正しい valitype が存在していることを確認する必要があります。

  1. 左下の  アイコンをクリックし、表示されるメニューから Settings を選択します。開いたページで、左側ペインの Valitypes エントリを選択すると、既存の valitype をすべて確認できます。 

  2. valitype MassPowerConsumption が存在することを確認してください。存在しない場合は、ページ右下の  ボタンをクリックして、これらの名前で valitype を追加します。

  3. PowerConsumption valitype の単位は kW または W になっている場合があります。単位が kW の場合は、そのセルをダブルクリックして kW を W に編集してください。また、このチュートリアルではブロックの質量プロパティをグラムで使用します。単位を kg のままにするか g にするかは任意です。

  4. valitype MassPowerConsumption について、add by default プロパティを有効にします。これらの valitype のいずれかのセルをダブルクリックし、表示されるメニューから True を選択して、もう一方の valitype に対しても同じ操作を行ってください。 これらの valitype は、このチュートリアルの後半で新しく作成するすべてのブロックに自動的に追加されます。

    なお、このプロパティはユーザー設定です。つまり、他のユーザーが既定としてチェックしている valitype には影響しません。

soc() が valitype の値にある場合、それは「子要素の合計」を意味し、既定ではこの vali がシステム分解内の同じタイプの vali を合算することを保証します。

プロジェクトへのシステムの追加

それでは、ファンの構築を始めましょう。あらゆる製品は、ツリー構造のようにサブシステムへ分解できます。この階層型システムツリーは、Requirements & Systems Portal の中核機能の 1 つです。

System Design Module では、システムツリーを作成してアクセスできます。このツリーには、技術パラメータ(vali)を含むすべてのシステムおよびサブシステムが含まれます。

  1. 左側の Module Navigation バーにある  アイコンをクリックして、System Design Module に移動します。

  2. 既定では、プロジェクトにはプロジェクト名と同じ名前のブロックが含まれています(この例では Valifan)。プロジェクトツリー内のそのエントリを右クリックし、Create block コマンドを選択します。表示される Create new block ウィンドウの Name フィールドに Propeller と入力し、 をクリックします。

    Valifan ブロックを展開して、ナビゲーションツリー内の新しいサブブロックを確認します。

  3. 同様に、Fan ブロックに対して次のサブブロックを作成します: Motor、 Speed_Controller、および Structure

    • Create new block ウィンドウでは、  ボタンオプションをクリックすると、ウィンドウを閉じずに複数のブロックを作成できます。

    • ツリー内でブロックをドラッグ&ドロップして、階層レベルを変更できます。

技術パラメータ(Vali)の変更

Requirements & Systems Portal では、 Valis はエンジニアリング値を保持する技術パラメータです。Vali には、式、値、履歴など、さまざまなプロパティがあります。では、vali に値を追加していきましょう。

  1. ナビゲーションペインで Valifan ブロックを選択します。ブロックの Properties ビューが開き、このブロックにすでに 2 つの vali、 Mass と PowerConsumption が含まれていることが確認できます(これらの vali は valitype 設定で既定で追加されるよう構成されているためです)。

    vali の詳細情報や属性をさらに確認したい場合は、vali 名をクリックします。すると vali の詳細ページが開き、そこで式を編集することもできます。このチュートリアルでは、リストビュー内の値のみを変更します。

  2. 次に、Fan ブロックの各サブブロックで、Mass と PowerConsumption の値を変更します。これを行うには、サブブロックを選択し、Value 列の該当セルをダブルクリックします。次の値を入力してください:

    • MotorMass = 110gPowerConsumption = 1W

    • PropellerMass = 30gPowerConsumption = 0W (soc() ではなく 0W を入力するようにしてください)

    • Speed_ControllerMass = 15gPowerConsumption = 0.1W

    • StructureMass = 80gPowerConsumption = 0W (soc() ではなく 0W を入力するようにしてください)

    • Value プロパティを入力する際は、数値と単位の両方を含めることが重要です。例: 110g

    • Display Unit 列では、値をどの単位で表示するかを指定できます。そのため、最初に値を 110g として入力し、Display Unit を kg に設定すると、計算エンジンによって 0.11kg として変換・表示されます。

    • 計算では、計算エンジンは Value フィールドで指定された単位を使用します。ポンド(lbs)のように別の形式で単位を表示したい場合、計算エンジンが表示単位をそれに応じて変換します。計算エンジンで使用される 単位一覧 の詳細をご確認ください。

    • 値の小数点区切りには、必ずドット(.)を使用してください。

    Motor サブブロックに追加された値の例を以下に示します。

  3. Fan ブロックに移動すると、その合計 Mass が自動的に 235 g(または 0.235 kg)として計算され、合計 PowerConsumption は 1.1 W として計算されていることがわかります。

新しい Vali の追加

前の手順では、valitype の追加方法を示しました。ただし、vali(プロパティ)は質量や消費電力だけに限定されません。ブロックにはさまざまなプロパティを追加できます。Requirements & Systems Portal では、単位ありまたは単位なしの数値として新しい vali を作成できます。また、matrix、textvali(例: 材料)、datevali(例: 購入日)、dataset(二次元)にすることもできます。式内では、任意のフィールドで $ 記号を使用して vali にアクセスできます。

次の手順では、プロペラ効率と供給電力を追加します。

  1. Propeller ブロックに移動します。

  2. 右上の  ボタンをクリックして Create Property ウィンドウを開きます。このウィンドウで、Vali タブが開いていることを確認し、Name フィールドに Efficiency、 Formula and unit フィールドに 0.85 を入力します。Display Unit フィールドは空のままにして、  をクリックします。

  3. 同様に、名前が power_delivered の別の vali を追加し、式として  $Motor.PowerConsumption*$Propeller.efficiency を入力します。Formula and unit フィールドで $ 記号を入力すると、必要な項目を選択できるドロップダウンが表示されます。 Display Unit フィールドは空のままにしてください(正しい単位 W は計算に基づいて自動的に割り当てられます)。その後、  をクリックします。

    式や解析では、$ と入力し、ドロップダウンから show other projects を選択することで、別のプロジェクトの vali にアクセスすることもできます。

    Propeller ブロックの vali は、以下に示すような状態になっているはずです。

  4. power_delivered vali の名前をクリックすると、追加情報やプロパティを含む詳細ページが開きます。 ここでは、Formula、Properties、Info、Connected Copies、Actions を確認でき、History、Sensitivity Analysis、Connections Graph などの追加機能にもアクセスできます。

設計の詳細化とブロックの再利用

基本設計ができたら、製品のより詳細なモデルを作成できます。複製が必要なブロックがある場合は、「connected copies」機能を利用できます。これにより、それらは同期された状態に保たれます。つまり、1 つの接続ブロックに変更を加えると、他のすべての接続ブロックも自動的に更新されます。

この例では、ローターブレードが 3 枚あり、すべて同一です。

  1. ナビゲーションペインで Propeller Block を右クリックし、Add Block コマンドを選択します。新しい Block に Blade1 という名前を付けます。

  2. 新しい Blade1 ブロックを右クリックし、 Copy & connect を選択します。同じ階層に新しい connected Block Blade2 が表示されます。

  3. 同様に、connected block Blade3 を作成します。

  4. 3つのブロックのいずれかに移動し、その Mass 値を 10g に、さらに PowerConsumption 値を 0W に変更します。接続されているすべてのブレードブロックで、MassPowerConsumption が同じになっていることを確認できます。

vali またはブロック全体の接続を解除できます。詳細については、Copies of System Blocks ページを参照してください。

式が soc()(子要素の合計)であるすべての vali には、関連付けられた予算テーブルとチャートがあり、vali 情報から表示できます。

  1. Fan ブロックに移動し、Mass vali 名をクリックして詳細を開きます。

  2. 上部の Budget コントロールをクリックすると、ファンの総質量の内訳を表示できます。ブロック名の左側にある矢印をクリックすると、構造を展開できます。

  3. Breakdown Chart コントロールをクリックすると、ファンの総質量の内訳を表示できます。円グラフには、直下レベルのサブシステムにおける質量の内訳が表示されます。

マージンの使用

開発の初期段階では、通常、どのプロパティの正確な値もまだ確定していません。そのため、値にマージンを追加すると便利です。Requirements & Systems Portal は、この不確実性をすべての計算にわたって伝播します(線形不確かさ伝播)。

たとえば、最終的な質量値が分からない場合があります。多くの場合、質量は予想より大きくなります。そのような場合には、vali に安全マージンを追加できます。このマージンを使用すると、Requirements & Systems Portal は vali のワーストケースを自動的に計算します。これをプロペラの質量で試してみましょう。

  1. Propeller ブロックに移動し、右側の Columns コントロールを使用して、テーブル内の Margin + 列と Margin - 列を表示するようにします。

  2. Mass vali の Margin + 列に、10 を入力します(これは 10% のマージン+ を意味します)。

  3. Mass vali の名前をクリックして詳細ビューを開きます。10% のマージン+ により、Worst Case 値は 33g | 30g として表示されます。

  4. Propeller Block で定義されたマージンに基づき、Requirements & Systems Portal は上位レベルのマージンとワーストケースを自動的に更新します。Fan ブロックに移動し、その Mass vali の詳細ビューを開きます。ご覧のとおり、ファンの質量には現在、合計マージン +1.28% とワーストケース 238g | 235g が設定されています。

カスタムニーズのためのタグ追加

タグは、チーム固有のニーズに対応する多目的ツールです。vali やブロックに印を付けるために使用できます。たとえば、次のような用途があります。

  • 値の信頼性(例: assumption/calculated/measured)。

  • チームメンバー向けのアクション(例: review: Tom/approval: Christine)。

  • その他の任意のマーキングやグループ化。

  1. Motor ブロックに移動します。

  2. Mass vali の Tags 列のセルをダブルクリックし、 measurement と入力して Enter を押し、タグを追加します。

  • テーブルは特定のタグでフィルタリングできます。Tags 列ヘッダーにカーソルを合わせ、 アイコンをクリックし、表示されるポップアップ内の  アイコンをクリックしてフィルターオプションにアクセスします。

  • 設定( » Settings » Tags)でタグの色を変更できます。

ブロックを要件にリンクする

基本的なシステム構造ができたので、Fan システムと Fan_Specs 仕様の要件を関連付けましょう。これにより、システム設計と要件の間に直接リンクが作成されます。

  1. 左側の Module Navigation バーにある アイコンをクリックして Requirements Module に移動し、Fan_Specs 仕様を開きます。

  2. Identifier 列ヘッダーの左側にあるチェックボックスをオンにして、仕様内のすべての要件を選択します。

  3. Applicable Block 列のセル内をダブルクリックし、ドロップダウンから Fan を選択して、一括更新を確定します。

    Javascript ID: RSP_FanTutorial_Requirements_AddApplicableBlock
  • Applicable Block 列のエントリにカーソルを合わせ、 ボタン () をクリックすると、System Design Module 内のリンクされたシステムへすばやく移動できます。

  • System Design Module では、vali テーブルの上にある Requirements コントロール()をクリックすると、システムにリンクされた要件を確認できます。

  • 要件を作成すると、その要件は現在選択されているシステムに自動的にリンクされます。

Applicable Blocks 機能の詳細については、Applicable Blocks ページを参照してください。

予算テーブルと円グラフの作成

これでシステムの予備的な設計内訳ができたので、先ほど作成した解析ドキュメント(Project_Summary)で質量予算を確認したいと思います。ドキュメントに新しいブロックを追加しましょう。

  1. Module Navigation バーの アイコンをクリックして Analyses Module に移動し、Project_Summary を選択します。

  2. ドキュメント下部の Click to add new block コントロールをクリックします。

  3. 開いた Add Block ウィンドウで、Table エントリを展開し、Budget を選択します。

  4. 新しいブロックがドキュメントに追加されます。Add data to this table コントロールをクリックして Table Block ウィンドウを開くと、内訳を表示したい vali を選択できます。vali フィールドで Fan.Mass を選択します。

  5. Table Block ウィンドウで  をクリックします。新しいテーブルがドキュメントに追加されます。このテーブルでは、完全な内訳、マージン、ワーストケースシナリオを含む Valifan の質量予算を確認できます。

  6. チャートを使用して、質量内訳のグラフィカルな表現を作成することもできます。ドキュメント下部の Click to add new block コントロールをクリックします。

  7. Add Block ウィンドウで、Charts エントリを展開し、Budget を選択します。

  8. 新しいブロックがドキュメントに追加されます。Add data to this table コントロールをクリックして Table Block ウィンドウを開きます。vali フィールドで Fan.Mass を選択し、 をクリックします。新しいチャートがドキュメントに追加されます。

モードの定義

一部の値は固定ではなく、構築中の製品の状態に依存します。そのためにあるのがモードです。モードは、異なる構成と、それらが製品とどう関係するかを追跡します。

このチュートリアルのこの部分では、ファンのモード、つまり異なる速度、電力モード、ON/OFF 状態を定義します。

モードの追加

モーターは 3 つの離散的な速度で動作でき、これらはモードとしてモデル化できます。

  1. Requirements Module()で、Motor ブロックを開きます。

  2. 上部の Modelists タブに移動します。Modelists は、消費電力、回転速度、推力など、モード依存のプロパティをモデル化するために使用されます。

  3. 右上の ボタンをクリックします。開いた Create Modelist ウィンドウで、speed_settingsNew Modelist name に入力し、3# (Number of modes) フィールドに入力します。

  4. Create Modelist ウィンドウで ボタンをクリックすると、新しい modelist が作成されます。新しい modelist 名の左側にある矢印をクリックして展開します。

  5. デフォルトのモード名 abc を、それぞれ ZEROLOWHIGH に変更します。

  6. ページ上部の Properties コントロールをクリックして、ブロックの vali に戻ります。

  7. 右上の ボタンをクリックして Create Property ウィンドウを開きます。このウィンドウで次を行います。

    1. Matrix タブを選択します。

    2. rotational_speeds を Name フィールドに入力します。

    3. Mode reference フィールドのドロップダウンから speed_settings を選択します。

    4. rpmDisplay Unit フィールドに入力します。

    モード参照を追加しているため、行数と列数は modelist から自動的に取得されて入力されます。したがって、Create Property ウィンドウで行と列を定義する必要はありません。

  8. Create Property ウィンドウで ボタンをクリックし、新しいプロパティ名の左側にある矢印をクリックして展開します。値(現在は 0)を次のように変更します。

    • ZERO = 0rpm

    • LOW = 2000rpm

    • HIGH = 5000rpm

  9. Speed_Controller Block 用に、power_modes という名前で 2 つのモードを持つ modelist を作成します。デフォルトのモード名 a および b を、それぞれ ON および OFF に変更します。

  10. Fan ブロックに対して、名前を state とし、3 つのモードを持つ modelist を作成します。モード名をデフォルトの abc から、それぞれ OFFMINMAX に変更します。 

Vali をモード依存にする

これでシステムのモードが定義されたので、vali をそれらに依存させることができます。vali は常に同じ値を持つとは限らず、特定のモードに依存した値を持つ場合があります。

  1. Fan ブロックのプロパティに移動し、PowerConsumption vali 名をクリックして詳細ビューを開きます。

  2. ボタンをクリックして Select Modelist ウィンドウを開きます。ドロップダウンから state を選択し、 ボタンをクリックします。

  3. 同様に、Motor ブロックの PowerConsumption vali を speed_settings モードに依存させ、Speed_Controller ブロックの PowerConsumption vali を power_modes モードに依存させます。

  4. Motor ブロックの消費電力の値を次のように変更します:

    • ZERO = 0W

    • LOW = 1W

    • HIGH = 4W

  5. Speed_Controller ブロックの消費電力の値を次のように変更します:

    • ON = 0.1W

    • OFF = 0W

モードをリンクする

システムの状態は相互に依存することがあります。そのため、Requirements & Systems Portal では、関連するモード同士をリンクできます。

このチュートリアルのこのパートでは、ファンの状態と、モーターおよびスピードコントローラーのモードとの間に接続を作成します。

  1. Fan ブロックの modelists に移動し、state modelist 名をクリックして詳細ペインを開きます。

  2. ペイン上部の アイコンをクリックします。ペイン下部の Select Modelist ドロップダウンで Speed_Controller.power_modes を選択し、 ボタンをクリックしてから、Motor.speed_settings ボタンをクリックします。モードは以下のように追加されます。

  3. 以下のようにモード間のリンクを編集し、 ボタンをクリックして変更を保存します。

  4. Fan ブロックの Properties ビューでは、Power Consumption の値が以下のように変化していることを確認できます。

これで製品への要求事項と製品自体が定義されたので、システムを検証しましょう

AI-LocalizedAI で翻訳
問題が見つかった場合、文字/画像を選択し、Ctrl + Enter キーを押してフィードバックをお送りください。
機能の可用性

利用できる機能は、所有する Altium ソリューション (Altium DevelopAltium Agile のエディション (Agile Teams、または Agile Enterprise)、または Altium Designer (有効な期間)) によって異なります。

説明されている機能がお使いのソフトウェアに表示されない場合、Altium の営業担当者にお問い合わせください

Content