ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

既存のモデルを更新して単位を使用

以下の例では、既存のモデルに単位を追加する方法を説明します。次の方法について説明します。

  • インクリメンタルなワークフローを使用してモデルのコンポーネントに単位を追加する

  • 異なる単位系を使用するコンポーネントを統合する

  • バス オブジェクトの個々の要素の単位を指定する

  • 単位の不一致の問題をトラブルシューティングする

例のモデルは燃料制御システムです。モデルのコントローラー (Fuel Rate Controller) とプラント (Engine Gas Dynamics) コンポーネントは非バーチャル サブシステムです。非バーチャル サブシステムでは、[Atomic サブシステムとして扱う] パラメーターが選択されています。単位をプラントに導入してから、単位をコントローラーに導入して信号を接続します。また、モデルのバス オブジェクトの個々の要素に対する単位も指定します。

ex_units_fuelsys モデル例を開きます

最上位モデルの場合は、[許可された単位系] コンフィギュレーション パラメーターで、モデルで使用できる単位系を決定します。プラント サブシステムとコントローラー サブシステムそれぞれで、Unit System Configuration ブロックで使用できる単位系を決定します。

コンポーネント許可された単位系
最上位モデルSI
Fuel Rate Controller サブシステム (コントローラー)all
Engine Gas Dynamics サブシステム (プラント)all

プラント サブシステムでは、各 Inport ブロック ダイアログ ボックスの [信号属性] タブで、[単位] パラメーターを接続されている物理量信号に適した値に設定します。

ブロック物理量信号[単位] パラメーターの設定
1エンジン速度rad/s (ラジアン/秒)
2スロットル角度deg (度)
3燃料比g/s (秒あたりのグラム数)

モデル内で端子と信号の単位を表示するには、[情報表示][信号と端子][端子の単位] を選択します。

プラント サブシステムでは、Inport ブロックと接続されている信号に単位が表示されます。

最上位モデルに戻ります。モデルをコンパイルするには、Ctrl + D キーを押します。これにより、単位の整合性チェックも実行されます。

モデルには、throttle angle 信号に許可されない単位があることを示す警告が表示されます。警告アイコンをクリックすると、詳細を示すモデル アドバイザー レポートへのリンクが表示されます。

モデルでは、モデル編集ウィンドウの下部にも警告が表示されます。

プラント サブシステムで、throttle angle 信号に deg (度) の単位を指定しました。しかし、警告メッセージで、度は SI 単位系に含まれないことが示されます。[許可された単位系] コンフィギュレーション パラメーターで確認したように、SI は現在最上位モデルで許可されている唯一の単位系です。この警告を解決するには、次の 2 つのオプションがあります。

  • プラント サブシステムで、SI 単位系がサポートする throttle angle 信号の単位を指定する。サポートされる単位系とそれらの単位系に含まれる単位の詳細については、「許可されている単位」を参照してください。

  • 最上位モデルで、[許可された単位系] コンフィギュレーション パラメーターを変更して許可される一連の単位系を拡張する。

この場合は、throttle angle 信号に対して deg の単位が適切です。代わりに、警告を解決するために、最上位モデルに対して許可される一連の単位系を拡張します。最上位モデルの [許可された単位系] コンフィギュレーション パラメーターを all に設定します。モデルを再コンパイルするには、Ctrl + D キーを押します。

最上位モデルに、警告は表示されなくなります。

単位をプラントに導入し、単位の不一致の問題を正しく解決したので、単位をコントローラーに追加できます。Fuel Rate Controller サブシステムで、fuel_rate Outport ブロックの [単位] パラメーターを kg/s (秒あたりのキログラム数) に設定します。

最上位モデルに戻ります。再コンパイルするには、Ctrl + D キーを押します。

最上位モデルに、コントローラーとプラント間での単位の不一致に関する警告が表示されます。このエラーを解決するには、以下のようにします。

  • 2 つのコンポーネント間に Unit Conversion ブロックを明示的に挿入する。

  • [自動単位変換を許可] コンフィギュレーション パラメーターを選択する。

どちらのオプションでも、単位は同じように変換されます。自動変換が許可されず、代わりに変換ブロックを挿入する状況になるのは、大きなシステム モデルに多くのコンポーネントを統合している場合です。その場合は、変換ブロックを手動で挿入して、モデルの単位変換の制御段階を追加することができます。また、変換ブロックを使用して、変換された信号のデータ型を制御することもできます。これは、固定小数点精度のモデリングを行う場合などに便利です。

この場合は、Simulink® で単位の不一致を自動的に解決できるようにするために、[自動単位変換を許可] を選択します。モデルを再コンパイルするには、Ctrl + D キーを押します。

Simulink は、コントローラーとプラント間で単位を自動的に変換します。警告が自動変換アイコンに置き換えられます。

最上位モデルには、さまざまなセンサー信号を合成信号としてコントローラーに渡す EngSensors バス オブジェクトが含まれます。バス エディターを使用して単位をバス オブジェクトの個々の要素に追加するには、[編集][バス エディター] を選択します。

EngSensors バス オブジェクトの場合は、各要素の [単位] パラメーターを設定します。

信号[単位] パラメーターの設定
throttledeg (度)
speedrad/s (ラジアン/秒)
egoV (ボルト)
mapbar (バー)

モデルを再コンパイルするには、Ctrl + D キーを押します。

モデルでは、バス オブジェクトの個々の要素に単位が表示されます。

モデルのインターフェイス ビューにも単位が表示されます。[情報表示][インターフェイス] を選択します。

コントローラー サブシステムの airflow_calc ブロックでは、コンポーネント インターフェイスとコンポーネント内の両方で、バス オブジェクトの個々の要素に単位が表示されます。

単位をインクリメンタルに導入し、不整合と不一致の問題を解決した後に、モデルのシミュレーションを実行できます。

スコープに接続されている fuel 信号の場合、プロット ウィンドウには、関連付けられた kg/s の単位が y 軸ラベルとして表示されます。

参考

| | |

関連するトピック