Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

State Transition Table

モーダル ロジックを表形式で表現

  • State Transition Table block

ライブラリ:
Stateflow

説明

State Transition Table ブロックは、順序モーダル ロジック用の有限ステート マシンを表形式で表現します。ステートと遷移を Stateflow® チャートで描画する代わりに、状態遷移表を使用して、グラフィカル オブジェクトのメンテナンスが必要最小限で済む簡潔でコンパクトな形式でステート マシンをモデル化できます。詳細については、状態遷移表を使用した順序論理の表形式での表現を参照してください。

State Transition Table ブロックで制御ロジックを実装するには、MATLAB® または C をアクション言語として使用できます。詳細については、アクション言語構文としての MATLAB と C の相違点を参照してください。

State Transition Table ブロックのプロパティは、状態遷移表が Simulink® モデルとどのように連動するかを指定します。これらのプロパティは、[プロパティ インスペクター]、モデル エクスプローラー、または [状態遷移表] プロパティ ダイアログ ボックスで変更できます。詳細については、状態遷移表のプロパティの指定を参照してください。あるいは、状態遷移表のプロパティは、Stateflow.StateTransitionTableChart オブジェクトを使用してプログラムで指定することもできます。Stateflow プログラム インターフェイスの詳細については、Stateflow API の概要を参照してください。

端子

入力

すべて展開する

[シンボル] ペインで入力データを作成すると、Stateflow により入力端子が作成されます。作成した入力データは、データの作成後に表示される入力端子に対応しています。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | string

出力

すべて展開する

[シンボル] ペインで出力データを作成すると、Stateflow により出力端子が作成されます。作成した出力データは、データの作成後に表示される出力端子に対応しています。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | string

パラメーター

すべて展開する

[コード生成] タブのパラメーターには Simulink Coder™ または Embedded Coder® が必要です。

メイン

State Transition Table ブロック アイコンに端子ラベルを表示する方法を選択します。

なし

端子ラベルを表示しません。

FromPortIcon

対応する端子アイコン上に信号名が表示される場合、State Transition Table ブロック上に信号名を表示します。それ以外の場合は、端子のブロック名を表示します。

FromPortBlockName

State Transition Table ブロック上に対応する端子のブロック名を表示します。

SignalName

信号名が存在する場合、State Transition Table ブロック上の端子に接続されている信号の名前を表示します。それ以外の場合は、対応する端子のブロック名を表示します。

プログラムでの使用

パラメーター: ShowPortLabels
: string スカラーまたは文字ベクトル
: "none""FromPortIcon" | "FromPortBlockName" | "SignalName"
既定の設定: "FromPortIcon"

チャートのコンテンツへのユーザー アクセスを制御します。

ReadWrite

チャートのコンテンツを開き、変更することができます。

ReadOnly

チャートを開くことはできますが、変更することはできません。チャートがブロック ライブラリに存在する場合、チャートへのリンクを作成して開くことができます。また、チャートのローカル コピーを作成して変更することはできますが、アクセス許可や元のライブラリ インスタンスの内容を変更することはできません。

NoReadOrWrite

チャートを開くことも変更することもできません。チャートがライブラリに存在する場合、モデルにあるチャートへのリンクを作成することはできますが、チャートを開いたり、変更したりすることはできません。また、アクセス許可の変更や、チャートのローカル コピーの作成もできません。

プログラムでの使用

パラメーター: Permissions
: string スカラーまたは文字ベクトル
: "ReadWrite" | "ReadOnly" | "NoReadOrWrite"
既定の設定: "ReadWrite"
オフ

Atomic サブチャートを含むすべての人為的な代数ループを削除しません。

オン

Atomic サブチャートを含むすべての人為的な代数ループを削除しようとします。

プログラムでの使用

パラメーター: MinAlgLoopOccurrences
: string スカラーまたは文字ベクトル
: "off" | "on"
既定の設定: "off"

このチャートのすべてのブロックを同じレートで実行しなければならないか、異なるレートで実行できるかを指定します。

  • チャートのブロックを異なるレートで実行できる場合、チャートのサンプル時間を継承 (-1) に指定します。

  • すべてのブロックを同じレートで実行しなければならない場合、[サンプル時間] パラメーターの値として、このレートに相当するサンプル時間を指定します。

  • チャート内の任意のブロックで異なるサンプル時間 (-1 または inf 以外) が指定されていると、Simulink は、モデルを更新またはシミュレートするときにエラー メッセージを表示します。たとえば、チャート内のすべてのブロックを 1 秒につき 5 回実行しなければならないとします。この時間を確実にするには、チャートのサンプル時間を 0.2 に指定します。この例では、チャート内の任意のブロックで 0.2-1 または inf 以外のサンプル時間が指定されると、Simulink はモデルを更新またはシミュレートするときにエラーを表示します。

-1

継承されたサンプル時間を指定します。チャートのブロックを異なるレートで実行できる場合は、このサンプル時間を使用します。

[Ts 0]

周期的なサンプル時間を指定します。

プログラムでの使用

パラメーター: SystemSampleTime
: string スカラーまたは文字ベクトル
: "-1" | "[Ts 0]"
既定の設定: "-1"

コード生成

Atomic (非バーチャル) サブチャートに対して生成されるコード形式を指定します。

自動

Simulink Coder は、モデル内に存在するチャートのインスタンスのタイプと数に基づき、システムに最適な形式を選択します。

インライン

Simulink Coder は、無条件にチャートをインライン化します。

再利用できない関数

Simulink Coder は、個々の関数を個々のファイルに明示的に生成します。この設定をもつ状態遷移表により生成される関数は、コード生成 (Simulink)"関数インターフェイス" のパラメーター設定に応じた引数をもつ場合があります。生成された関数とファイルには、コード生成 (Simulink)"関数名" および "ファイル名 (拡張子なし)" のパラメーターをそれぞれ使用して名前を付けることができます。これらの関数は再呼び出し可能ではありません。

再利用可能な関数

Simulink Coder は、モデルがチャートの複数のインスタンスを含む場合、チャートのコードの再利用を可能にする引数をもつ関数を生成します。

このオプションは、参照モデル全体にわたりチャートの複数のインスタンスを含むモデル参照階層の生成コードで、チャートのコードの再利用を可能とする引数をもつ関数を生成します。この場合、チャートはライブラリに含まれていなければなりません。

ヒント

  • チャートの複数のインスタンスを 1 つの再利用可能な関数として表す場合、それぞれ [自動] または [再利用可能な関数] として指定できます。両方を使用すると、各指定につき 1 つずつ、2 つの再利用可能な関数が作成されるため、どちらか一方を使用するのが最適です。これらの選択の結果は、再利用が不可能な場合にのみ異なります。[自動] を選択しても、チャートのコードの関数やファイル名は制御できません。

  • [再利用可能な関数][自動] のオプションは両方とも、チャートのインスタンスが複数存在するかどうかと、コードが再利用可能かどうかを判定します。コードの再利用が不可能な場合はオプションの動作が異なります。この場合、[自動] はインライン化されたコードを生成し、インライン化が禁止されている場合は、チャートのインスタンスごとに別の関数を生成します。

  • 生成コードがソース管理対象の場合に [再利用可能な関数] を選択する際は、[ファイル名オプション][サブシステム名を使用][関数名を使用][ユーザー指定] のいずれかに設定します。そうしないと、モデルを変更するたびにコード ファイルの名前が変更され、ファイルのソース管理ができません。

依存関係

  • このパラメーターには Simulink Coder が必要です。

  • このパラメーターを [再利用できない関数] または [再利用可能な関数] に設定すると、以下のパラメーターが有効になります。

    • 関数名オプション

    • ファイル名オプション

    • 初期化/終了関数のメモリ セクション (Embedded Coder および ERT ベースのシステム ターゲット ファイルが必要)

    • 実行関数のメモリ セクション (Embedded Coder および ERT ベースのシステム ターゲット ファイルが必要)

  • このパラメーターを [再利用できない関数] に設定すると、[別々のデータをもつ関数] が有効になります (Embedded Coder および ERT ベースのシステム ターゲット ファイルが必要)。

プログラムでの使用

パラメーター: RTWSystemCode
: string スカラーまたは文字ベクトル
: "Auto" | "Inline" | "Nonreusable function" | "Reusable function"
既定の設定: "Auto"

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。

固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。

バージョン履歴

R2012b で導入

すべて展開する