Real-Time Workshop User's Guide    

Nonvirtual Subsystem Code Generationオプション

非仮想サブシステムに対して、サブシステムのBlock parametersダイアログのRTW system code ポップアップメニューから、以下のコード生成オプションを選択できます。

以下の節では、Auto, Inline, Functionオプションを説明します。

Autoオプション

現在のリリースでは、Auto オプションにより、Real-Time Workshopはサブシステムをインライン化します。

将来のリリースでは、Auto オプションにより、Real-Time Workshopはサブシステムをインライン化するか、サブシステムに対して別の関数や(とは別のmodel.c)個々のコードファイルを生成するかどうかを決定する予定です。複数のサブシステムがある場合や、サブシステムを複数が呼び出す場合、サブシステムはインライン化されません。この機能を利用するには、Auto オプションを選択します。サブシステムを明確にインラインしたい場合、あるいは別々の関数およびコードモジュールを生成したい場合は、Inline または Functionを選択します。

Autoオプションを利用するには、以下のようにします。

  1. subsystemブロックを選択します。それから、Simulinkの編集メニューからSubsystem parametersを選択します。Block Parameters ダイアログが図 3-7のようにオープンします。

    あるいは、以下のようにBlock Parameters ダイアログをオープンします。

  1. サブシステムが仮想の場合、Treat as atomic unit を図図 3-7に示すように選択します。これにより、サブシステムは非仮想になり、RTW system code オプションが利用可能になります。

    システムが既に非仮想である場合、RTW system code オプションは既に利用可能です。

  1. 図 3-7に示すようにRTW system code ポップアップからAutoを選択します。
  2. Apply をクリックしてダイアログをクローズします。

図 3-7: 非仮想サブシステムに対するAuto Code Generationオプション

Inlineオプション

上記のように、サブシステムコードは、サブシステムが非仮想である場合にのみインラインされます。

インライン化の例外   Real-Time Workshopが、Inlineオプションが選択されていても非仮想サブシステムをインラインしない場合があります。つぎのような場合です。

インラインサブシステムコードを生成するには、

  1. subsystemブロックを選択します。それから、Simulinkの編集メニューからブロックパラメータを選択します。Block Parameters ダイアログが図 3-8のようにオープンします。

    あるいは、つぎのようにBlock Parameters ダイアログをオープンします。

  1. サブシステムが仮想の場合、図 3-8のようにTreat as atomic unit を選択します。これにより、サブシステムはatomicになり、RTW system code ポップアップメニューが利用可能になります。

    システムが既に非仮想である場合、RTW system code ポップアップメニューは既に利用可能です。

  1. 図 3-8のようにRTW system code ポップアップメニューからInlineを選択します。
  2. Applyをクリックしてダイアログをクローズします。

図 3-8: 非仮想サブシステムに対するインラインコード生成

モデルからコードを生成する際に、Real-Time Workshopは、model.cにインラインコードを書き込んで、サブシステムの計算を実行します。このコードは、つぎのようにシステム/ブロック識別タグを使って識別できます。

システム/ブロック識別タグに関する情報は、「生成コードをSimulinkモデルでトレース」を参照してください。

Functionオプション

このオプションにより、Real-Time Workshopはサブシステムに対して別々の関数とファイルを生成します。Functionオプションを選択すると、さらに2つのオプションが利用可能になります。

図 3-9は、Functionオプションが選択されたBlock Parameters ダイアログを示します。

RTW Function Name Options Menu.   このメニューを使ってつぎの選択を行います。

RTW File Name Options Menu.   このメニューを使ってつぎの選択を行います。

別々のサブシステム関数およびファイルを生成するには

  1. サブシステムブロックを選択します。それからSimulinkの編集メニューからブロックパラメータを選択します。Block Parameters ダイアログが図 3-9のようにオープンします。

    あるいは、つぎのようにBlock Parameters ダイアログをオープンします。

  1. サブシステムが仮想の場合、図 3-9のようにTreat as atomic unit を選択します。これにより、サブシステムはatomicになり、RTW system code ポップアップメニューが利用可能になります。

    システムが既に非仮想である場合、RTW system code ポップアップメニューは既に利用可能です。

  1. 図 3-9のようにRTW system code ポップアップメニューからFunction を選択します。
  2. 「RTW Function Name Options Menu」に記述されているRTW function name オプションを使って関数名を設定します。
  3. 「RTW File Name Options Menu」に記述されているRTW file name オプションを使ってファイル名を設定します。
  4. Applyをクリックしてダイアログをクローズします。

図 3-9: デフォルトのネーミングオプションを使ったサブシステム関数のコード生成


 非仮想サブシステムのコード生成 サブシステムコードのモジュール性