Stateflow Atomic サブチャートからの再利用可能なコードの生成
リンクされている Atomic サブチャートでの再利用可能なコードの生成
同じライブラリからリンクされている Atomic サブチャートのコード生成パラメーターを指定するには、以下のようにします。
Atomic サブチャートをもつライブラリ モデルを開きます。
ライブラリロックを解除。
ライブラリ チャートを右クリックし、[ブロック パラメーター] を選択します。
このダイアログ ボックスで、以下のパラメーターを指定します。
[メイン] タブで、パラメーター [Atomic サブシステムとして扱う] を選択します。
[コード生成] タブで、パラメーター [関数のパッケージ化] を
[再利用可能な関数]
に設定します。[ファイル名オプション] を
[ユーザー指定]
に設定します。[ファイル名] で、ファイルの名前を拡張子なしで入力します。
[OK] をクリックして変更を適用します。
(オプション) Atomic サブチャート用に生成された関数名をカスタマイズします。
モデル コンフィギュレーション パラメーター [システム ターゲット ファイル] を
[ert.tlc]
に設定します。モデル コンフィギュレーション パラメーター [サブシステムのメソッド] に、以下の命名規則トークンの組み合わせを使用して関数名の形式を指定します。
$R
: ルート モデル名$F
: Atomic サブチャート用のインターフェイスのタイプ$N
: ブロック名$H
: サブシステム インデックス$M
: 名前マングリング テキスト
[OK] をクリックして変更を適用します。
モデル用にコードを生成すると、同じライブラリからリンクされている Atomic サブチャートのコードが別のファイルに保存されます。
リンクされていない Atomic サブチャートでの再利用可能なコードの生成
リンクされていない Atomic サブチャートでコード生成パラメーターを指定するには、以下のようにします。
チャートで Atomic サブチャートを右クリックし、[プロパティ] を選択します。
ダイアログ ボックスで、以下のプロパティを指定します。
プロパティ [コード生成関数のパッケージ化] を
[再利用可能な関数]
に設定します。[コード生成ファイル名オプション] を
[ユーザー指定]
に設定します。コード生成の [ファイル名] で、ファイルの名前を拡張子なしで入力します。
[OK] をクリックして変更を適用します。
(オプション) Atomic サブチャート用に生成された関数名をカスタマイズします。
モデル コンフィギュレーション パラメーター [システム ターゲット ファイル] を
[ert.tlc]
に設定します。モデル コンフィギュレーション パラメーター [サブシステムのメソッド] に、以下の命名規則トークンの組み合わせを使用して関数名の形式を指定します。
$R
: ルート モデル名$F
: Atomic サブチャート用のインターフェイスのタイプ$N
: ブロック名$H
: サブシステム インデックス$M
: 名前マングリング テキスト
[OK] をクリックして変更を適用します。
モデル用にコードを生成すると、Atomic サブチャートのコードが別のファイルに保存されます。詳細については、Atomic サブチャートからのコードの生成を参照してください。
単体テストに再利用可能なコードの生成
ステートの Atomic サブチャートへの変換
ステート A を Atomic サブチャートに変換するには、ステートを右クリックして [グループとサブチャート] 、 [Atomic サブチャート] を選択します。ステート A が Atomic サブチャートに変わります。
Atomic サブチャートでのスタンドアロンの C ファイルの設定
A のプロパティのダイアログ ボックスを開きます。
プロパティ [コード生成関数のパッケージ化] を
[再利用可能な関数]
に設定します。[コード生成ファイル名オプション] を
[ユーザー指定]
に設定します。[コード生成ファイル名] で、
saturator
をファイル名に入力します。[OK] をクリックします。
コード生成レポートの設定
モデル コンフィギュレーション パラメーター [システム ターゲット ファイル] を
[ert.tlc]
に設定します。モデル コンフィギュレーション パラメーター [コード生成レポートを作成] および [レポートを自動的に開く] を選択します。
パラメーター [コードからモデルに] および [モデルからコードに] を選択します。
[適用] をクリックします。
生成される関数名のカスタマイズ
モデル コンフィギュレーション パラメーター [サブシステムのメソッド] を形式スキーム
$R$N$M$F
に設定します。ここで、$R
はルート モデル名。$N
はブロック名。$M
はマングル トークン。$F
は Atomic サブチャート用のインターフェイス関数のタイプ。
詳細については、Subsystem methodsを参照してください。
[適用] をクリックします。
Atomic サブチャートのみで使用するコードの生成
モデルのコードを生成するには、Ctrl + B キーを押します。表示されるコード生成レポートに、Atomic サブチャート用に生成されたコードをもつ別のファイルが表示されます。
saturator.c
のコードを点検するには、レポートのハイパーリンクをクリックすると次のコードが表示されます。
28 行目は Atomic サブチャート用に生成された during
関数が名前 ex_reuse_states_A_during
をもつことを示します。この名前は、[サブシステムのメソッド] 用に指定された形式化スキーム $R$N$M$F
に従います。
$R
はルート モデル名のex_reuse_states
。$N
はブロック名のA
。$M
は空のマングル トークン。$F
は Atomic サブチャート用のインターフェイス関数のタイプduring
。
メモ
行番号は、実際のコード生成レポートに表示される行番号とは異なる可能性があります。
関連するトピック
- Stateflow チャートを使用した有限ステート マシンのモデル化 (Stateflow)
- サブチャートを使用したモーダル ロジックのカプセル化 (Stateflow)
- 生成されたコードでの関数の再利用