Main Content

Simulink-PS Converter

Simulink 入力信号を物理量信号に変換する

  • Simulink-PS Converter block

ライブラリ:
Simscape / Utilities

説明

Simulink-PS Converter ブロックは、入力 Simulink® 信号を物理量信号に変換します。このブロックを使用して、Simulink ソースや他の Simulink ブロックを Simscape™ 物理ネットワークの入力に接続します。

モデル キャンバスでのブロック アイコンの表示

信号の変換を最小限のキャンバス スペースで示すために、ブロックが他のブロックに接続されているかどうかに基づいてブロック アイコンが動的に変わるようになっています。

ブロックの状態ブロック アイコン

切断

他のブロックに接続

ブロック アイコンは、[入力フィルター次数] パラメーターの値に基づいて、フィルターが入力信号に適用されているかどうかを示すためにも変化します。

入力フィルター次数未接続のブロック アイコン接続されているブロック アイコン

1 次フィルター処理

[2 次フィルター処理]

単位の変換とチェック

Simscape 単位マネージャーは、物理ネットワーク内で単位の伝播とチェックを自動的に処理し、必要な単位変換処理を実行します。

Simulink-PS Converter ブロックの出力端子における物理量信号は、そのブロックの接続先の Simscape 物理ネットワークの入力信号になります。物理量信号の単位は、接続先のブロックの入力端子、すなわち Simulink-PS Converter ブロックの出力端子に接続されている入力端子で必要とされる単位に相応するものでなければなりません。

Simulink の信号の単位は物理ネットワークに伝播されません。[入力信号の単位] パラメーターにより、入力信号値の物理単位を指定できます。これにより、Simscape 単位マネージャーは必要な単位変換を行い、それに応じて出力物理量信号をスケーリングできます。

メモ

ブロックの入力端子に接続された Simulink 信号の属性としても物理単位を指定している場合は、2 つの単位が一致するかどうかがソフトウェアでチェックされます。詳細については、Simulink の単位の取り扱いを参照してください。

言い換えれば、[入力信号の単位] パラメーターでは、出力物理量信号の単位は決定されず、スケーリング値が提供されるだけです。出力物理量信号の単位は、接続先ブロックから推定されます。既定の接続先ブロックの単位はメートル-キログラム-秒、すなわち MKS (SI) です。[入力信号の単位] パラメーターが 1 に設定されている状態で Simulink-PS Converter ブロックを単位なしのままにした場合、ブロックは入力信号にスケーリングを適用しません。接続先ブロックの入力で必要とされる既定の単位に相応する別の単位を指定した場合、単位マネージャーは該当する単位を入力 Simulink 信号値に付加し、信号を接続先ブロックに送るときに必要な単位変換を行います。

下のブロック線図では、Ideal Torque Source ブロックの [S] 端子には単位が N*m のトルク信号が必要です。Constant ソース ブロックがこの入力信号の値を提供します。Simulink-PS Converter ブロックを単位なしのままにした場合、Ideal Torque Source ブロックはトルク 1000 N*m を生成します。この例の他のブロックのパラメーターは、Ideal Torque Sensor ブロックの出力値が Ideal Torque Source ブロックで生成されるトルクに等しくなるように選択されるため、Display ブロックでは値 1000 が表示されます。Simulink-PS Converter ブロックの [入力信号の単位] パラメーターの値を N*cm に変更すると、単位マネージャーは変換を実行し、Ideal Torque Source ブロックはトルク 10 N*m を生成します。このブロック線図に示されているように、Display ブロックのトルクの値が 10 に変わります。

入力信号が熱力学の変数に関連するものであり、温度の単位が含まれている場合は、アフィン変換を適用する必要があるかどうかを判断しなければなりません。詳細については、アフィン変換を適用する場合を参照してください。通常、入力信号が相対温度、つまり温度の変化を表す場合は、線形変換 ΔTnew = L * ΔTold (既定のメソッド) を適用する必要があります。一方、入力信号が絶対温度を表す場合は、アフィン変換 Tnew = L * Told + O を適用する必要があります。

たとえば、次のブロック線図に示されている Simulink-PS Converter ブロックでは、[入力信号の単位] フィールドに「degC」と入力し、[アフィン変換を適用] チェック ボックスを選択すると、Ideal Temperature Source ブロックによって生成される温度は 293.15 K に等しくなります。しかし、[アフィン変換を適用] チェック ボックスをオフのままにした場合は、Ideal Temperature Source ブロックの出力は 20 K になります。

メモ

型なしの入力ではアフィン単位はサポートされていません。Simulink-PS Converter ブロックでアフィン単位を指定してから型なしの入力端子にそれを直接接続すると、信号値は対応する基本単位に変換され、その値を使用してさらに数学演算が実行されます。

入力の取り扱い

モデルをシミュレーションするときに特に陽的ソルバーを使用する際は、一部の入力信号の時間微分の提示が必要となる場合があります。必要な入力微分を求める 1 つの方法は、入力をローパス フィルターでフィルター処理することです。入力のフィルター処理では入力信号が平滑化され、通常はモデルのパフォーマンスが改善します。もうひとつの利点は、Simscape エンジンがフィルター処理された入力の時間微分を計算することです。1 次フィルターでは 1 つの導関数が提供され、2 次フィルターでは 1 次および 2 次導関数が提供されます。入力のフィルター処理を使用する場合は、フィルター時定数の値を適切に選択することが重要です。

フィルター時定数は入力信号のフィルター処理を制御します。フィルター処理された入力は本来の入力に対して遅れますが、平滑化され、選択した時定数とほぼ同じだけの遅れを伴います。時定数は、使用するシステムの最小時間間隔を超えない値に設定します。非常に小さい時定数を選択すると、フィルター処理された入力信号は本来の入力信号に近くなります。しかし、このフィルター処理された入力信号によりシステムの剛性が上昇し、シミュレーションの実行速度が遅くなります。

入力をフィルター処理する代わりに、入力信号の時間微分を追加の Simulink 信号として直接提供することもできます。提供された微分が入力信号と不整合の場合、シミュレーション時に数量の一部が正しくなくなる可能性があります。

区分的に一定な信号については、入力微分を明示的にゼロに設定することもできます。このオプションは、ステップなど、真に区分的に一定な信号で使用します。離散サンプル時間を使用してサンプリングされた連続入力信号がある場合、入力微分をゼロに設定すると、正しくないシミュレーション結果が生成されることがあります。入力をフィルター処理するか、時間微分を別個の信号として提供するという、他の 2 つのオプションのいずれかを使用します。

端子

入力

すべて展開する

ブロックで出力物理量信号に変換する入力 Simulink 信号。

データ型: double

[Port_1] で入力信号の 1 階微分を提供する Simulink 信号。

依存関係

この端子を有効にするには、[提供される信号] パラメーターを [入力と最初の微分] または [入力と最初の 2 つの微分] に設定します。

データ型: double

[Port_1] で入力信号の 2 階微分を提供する Simulink 信号。

依存関係

この端子を有効にするには、[提供される信号] パラメーターを [入力と最初の 2 つの微分] に設定します。

データ型: double

出力

すべて展開する

出力物理量信号。信号のサイズは、[Port_1] の入力信号のサイズと一致します。信号の単位は、接続先ブロックによって決定されます。[入力信号の単位] パラメーターと [アフィン変換を適用] チェック ボックスを使用すると、入力信号の値にスケーリングと線形オフセットを適用して出力信号の正しい値を計算できます。

パラメーター

すべて展開する

単位

入力 Simulink 信号に割り当てられる単位。これにより、単位マネージャーは必要な単位変換を行い、それに応じて信号値をスケーリングできます。これらの単位は、接続先ブロック入力で必要とされる既定の単位に相応するものでなければなりません。ドロップダウン リストから単位を選択するか、目的の単位の名前 (rpm など) または有効な式 (mm/s など) を入力できます。詳細および単位の省略形の一覧については、ブロック ダイアログで単位を指定する方法および単位の定義を参照してください。既定値は 1 で、この場合スケーリングは適用されません。ブロック出力における物理量信号は、物理ネットワーク内の接続先ブロックで必要とされる単位での、[Port_1] における入力 Simulink 信号の値に一致します。

このチェック ボックスは、アフィン オフセットがあるかどうかは関係なく、degCdegF などの変換可能な単位にのみ適用されます。このチェック ボックスは、入力信号が摂氏または華氏の絶対温度を表す場合にオンにします。詳細については、熱単位の変換を参照してください。

入力の取り扱い

このパラメーターにより、追加の入力端子を介して入力信号の時間微分を提供するのか、フィルター処理を使用するのかを決定できます。

  • 信号の提供[信号の提供] パラメーターを使用して、入力信号のみを提供するのか、追加の入力信号として入力信号の時間微分も提供するのかを選択します。既定の入力処理オプションは [信号の提供] および [入力のみ] です。陽的ソルバーを使用する場合は、他のオプションのいずれかを選択して入力微分を提供することをお勧めします。詳細については、入力信号のフィルター処理と時間微分の提供を参照してください。

  • 入力のフィルター処理、微分の算出 — ローパス フィルターで入力をフィルター処理します。これにより、入力微分も提供されます。この場合、入力信号は (フィルター処理によって) 変更されてから、物理量信号に変換されます。1 次フィルターでは 1 つの導関数が提供され、2 次フィルターでは 1 次および 2 次導関数が提供されます。このオプションを使用する場合は、[入力フィルター処理時定数] パラメーターで適切な値を設定します。

  • ゼロ微分 (区分定数) — 入力信号が区分的に一定 (ステップなど) である場合、このオプションにより、入力微分を明示的にゼロに設定できます。

このパラメーターにより、追加の入力信号として入力信号の時間微分を提供できます。

  • 入力のみ — 入力信号のみを提供します。これは既定値です。このオプションを選択すると、ブロックでは Simulink 入力端子が 1 つ、物理量信号出力端子が 1 つになります。

  • 入力と最初の微分 — このオプションを選択すると、追加の Simulink 入力端子が Simulink-PS Converter ブロックに表示され、入力微分を提供する信号を接続できるようになります。

  • 入力と最初の 2 つの微分 — このオプションを選択すると、追加の Simulink 入力端子が 2 つ Simulink-PS Converter ブロックに表示され、入力微分を提供する信号を接続できるようになります。

依存関係

このパラメーターを有効にするには、[フィルター処理と微分][信号の提供] に設定します。

このパラメーターにより、フィルター処理で提供される、入力信号の時間微分の数を指定できます。

  • 1 次フィルター処理 — 1 階微分のみを提供します。

  • 2 次フィルター処理 — 1 階微分と 2 階微分を提供します。

依存関係

このパラメーターを有効にするには、[フィルター処理と微分][入力のフィルター処理、微分の算出] に設定します。

入力信号のフィルター処理を制御するフィルター時定数 (秒) を指定します。フィルター処理された入力は本来の入力に対して遅れますが、平滑化され、時定数とほぼ同じだけの遅れを伴います。このパラメーターの値を選択する際には、システム ダイナミクスを考慮し、シミュレーション時に対象の最小時間間隔を超えない値に時定数を設定します。非常に小さい時定数を選択する場合のトレードオフとして、システムの剛性が増大し、シミュレーションが遅くなりますが、フィルター処理された入力信号が本来の入力信号に近くなります。

依存関係

このパラメーターを有効にするには、[フィルター処理と微分][入力のフィルター処理、微分の算出] に設定します。

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2007a で導入