メインコンテンツ

非バーチャル バスに対して生成されたコードの検証

この例では、非バーチャル バスが、あるモデルに対して生成されたコードにどのように表示されるかを示します。

非バーチャル バスを含むモデル例を開いてシミュレーションします。

mdl = "NonvirtualBusCode";
open_system(mdl)
sim(mdl);

NonvirtualBusCode model

モデルのコードを生成するには、Simulink ツールストリップの [アプリ] タブの [アプリ] ギャラリーで、[Simulink Coder] をクリックします。[C コード] タブが開いたら、[コード生成] をクリックします。あるいは、"Ctrl+B" を押すか以下のコマンドを入力します。

slbuild(mdl)
### Searching for referenced models in model 'NonvirtualBusCode'.
### Total of 1 models to build.
### Starting build procedure for: NonvirtualBusCode
### Successful completion of code generation for: NonvirtualBusCode

Build Summary

Top model targets:

Model              Build Reason                                         Status           Build Duration
=======================================================================================================
NonvirtualBusCode  Information cache folder or artifacts were missing.  Code generated.  0h 0m 20.955s 

1 of 1 models built (0 models already up to date)
Build duration: 0h 0m 22.306s

生成されたファイルを確認するには、NonvirtualBusCodeGenModel_grt_rtw フォルダーを開きます。

NonvirtualBusCode_types.h は、Simulink.Bus オブジェクトを構造体として定義します。

typedef struct {
  real_T a;
  real_T b;
  real_T c;
} BusObject;

NonvirtualBusCode.h は、BusObject struct を使用して Unit Delay ブロックを定義します。

typedef struct {
  BusObject UnitDelay_DSTATE;          /* '<Root>/Unit Delay' */
} DW_NonvirtualBusCode_T;

NonvirtualBusCode.c は、非バーチャル バスを Outport ブロックに渡す、Unit Delay ブロックを実装します。

NonvirtualBusCode_Y.Out1 = NonvirtualBusCode_DW.UnitDelay_DSTATE;

参考

ブロック

オブジェクト

トピック