参照モデルとの識別子名の競合の回避
参照モデルを使用するモデルでは、モデルの名前に競合があってはなりません。モデル参照を使用するモデルからコードを生成する場合は次のようになります。
[識別子の書式の制御] パラメーターの指定に (
$M
トークンに加えて)$R
トークンを含めなければなりません。[識別子の最大の長さ] は、
$R
トークンと$M
トークンの拡張を格納するのに十分な大きさでなければなりません。[識別子の最大の長さ] が小さすぎると、コード生成エラーが発生します。
上位レベル モデルの範囲内の識別子と参照モデル範囲内の識別子間で名前の競合が発生すると、参照モデルの識別子が保持されます。名前マングリングは上位レベル モデルからの識別子に対して実行されます。
モデルに入力端子または出力端子の名前が同じ 2 つの参照モデルがあり、その参照モデルの一方に関数のパッケージ化, Function packaging関数のパッケージ化Function packagingが [再利用できない関数]
に設定された Atomic サブシステムが含まれている場合、名前の競合が発生する可能性があり、ビルド プロセスでエラーが発生します。
モデル アドバイザーを使用したコード生成時に変更される識別子名の検出
参照モデルで、次のパラメーターに $R
トークン (参照モデルの名前を表す) を含まない指定が行われている場合、コード生成により $R
トークンが識別子の書式の先頭に付加されます。
モデル アドバイザーを使用して、これらのコンフィギュレーション パラメーター設定がコード生成で変更される参照モデルをモデル参照階層において特定できます。
[モデル化] タブで、[モデル アドバイザー] をクリックします。
[タスク別] を選択します。
[モデル参照に使用されているコード生成識別子の書式をチェック] チェックを実行します。