チャートでのステートの複数回再利用
次の例は、リンクされた Atomic サブチャートを使用して、Stateflow® チャートでステートと遷移の同じ構成を複数回繰り返す方法を示します。詳細については、Atomic サブチャート使用した再利用可能なサブコンポーネントの作成を参照してください。
Atomic サブチャートがない元のモデル
次のモデルには Sine Wave (Simulink) ブロックが 2 つあり、一方は周波数が毎秒 1 ラジアンで、もう一方は周波数が毎秒 2 ラジアンです。

チャートの各ステートは飽和論理を使用して、入力正弦波を同じ周波数の出力矩形波に変換します。ステートは同じアクションを実行します。入力データと出力データの名前のみが異なります。

モデルのシミュレーションを行うと次の結果が得られます。

この例では Atomic サブチャートが使用されていないため、各サブコンポーネントを手動で維持する必要があります。たとえば、ステート A でロジックの変更を行った場合は、ステート B でも同じ変更を行わなければなりません。
一方で、この例のステートを Atomic サブチャートに置き換えると、モデル内で同じオブジェクトを再利用して同じシミュレーション結果を保持できます。ステート A を Atomic サブチャートとしてライブラリ モデルに保存し、そのサブチャートのリンクされたインスタンスをチャートで複数使用することができます。ライブラリ モデルでの変更は、サブチャートのリンクされたインスタンスすべてに伝播します。
Atomic サブチャートを使用するようにモデルを編集
手順 1: ステートの Atomic サブチャートへの変換
ステート A を右クリックして、[グループとサブチャート]、[Atomic サブチャート] を選択します。ステート A が Atomic サブチャートに変わり、左上隅に [Atomic] というラベルが表示されます。

手順 2: Atomic サブチャートでのライブラリの作成
新しいライブラリ モデルを作成します。
Atomic サブチャートをコピーし、ライブラリ モデルに貼り付けます。
ライブラリ モデルを保存します。
ライブラリ モデルでは、Atomic サブチャートが入力端子と出力端子をもつ独立したチャートとして表示されます。

手順 3: ステートのリンクされている Atomic サブチャートへの置換
チャートで両方のステートを削除します。
ライブラリの Atomic サブチャートをコピーし、チャートに 2 回貼り付けます。
2 番目の Atomic サブチャートの名前を
Bに変更します。
リンクされた各 Atomic サブチャートは不透明で、左上隅にラベル [Link] が付いています。

手順 4: 入出力変数のマッピングの編集
ここでモデルのシミュレーションを行うと、y2 の出力はゼロになります。未使用のデータについての警告も表示されます。Atomic サブチャート B が u2 と y2 の代わりに u1 と y1 を使用しているため、この警告が表示されます。

これらの警告に対処するには、入力変数と出力変数のマッピングを編集しなければなりません。
サブチャート
Bを右クリックし、[サブチャートのマッピング] を選択します。[Input マッピング] で、
u1のメイン チャート シンボルがu2になるように指定します。[Output マッピング] で、
y1のメイン チャート シンボルがy2になるように指定します。[OK] をクリックします。

新しいモデルの実行
新しいモデルのシミュレーションを実行すると、結果が元の設計の結果と一致します。

ライブラリ チャートでの変更の伝播
ライブラリ チャートで、Pos から Neg への遷移を編集するとします。

この変更は、メイン チャートでリンクされているすべての Atomic サブチャートに伝播されます。各ステートを別々に更新する必要はありません。
参考
Sine Wave (Simulink)