Main Content

Truth Table

条件、判定、アクションを伴う論理的意思決定動作を表現

  • ライブラリ:
  • Stateflow

説明

Truth Table ブロックは、MATLAB® をアクション言語として使用する真理値表関数です。Simulink® モデルで真理値表ロジックを直接使用する場合は、このブロックを使用します。このブロックには Stateflow® が必要です。

真理値表関数を Stateflow チャートから呼び出す代わりに、Truth Table ブロックをモデルに直接加えると、次のような利点があります。

  • 特にモデルに真理値表が 1 つだけ必要な場合は、Stateflow チャート内で真理値表を作成するよりも直接的なアプローチとなる。

  • 継承した型とサイズを使用して、真理値表の入出力を定義できる。

Truth Table ブロックでは、組み込み可能な C コードの生成用に最適化された MATLAB 言語のサブセットが使用されます。このブロックでは、その内容が MATLAB コードとして生成されます。その結果、シミュレーションにおいて他のツールを利用して Truth Table ブロックをデバッグできるようになります。

Truth Table ブロックをダブルクリックすると、真理値表エディターが開いてブロックの条件、アクション、判定が表示されます。

真理値表エディターを使用すると、以下の操作を実行できます。

  • 条件、アクション、および判定の入力と編集。

  • [シンボル] ペインおよび [プロパティ インスペクター] を使用した、Stateflow のデータと端子の追加または修正。

  • 診断を実行してパーサーによるエラーを検出。

  • シミュレーション後の生成内容の表示。

真理値表エディターの詳細については、真理値表を使用して組み合わせ論理をモデル化を参照してください。

端子

入力

すべて展開する

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

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

出力

すべて展開する

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

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

パラメーター

すべて展開する

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

メイン

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

なし

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

FromPortIcon

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

FromPortBlockName

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

SignalName

信号名が存在する場合、Truth 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 は、個々の関数を個々のファイルに明示的に生成します。このように設定された Truth table ブロックは、関数インターフェイス, Function interface関数インターフェイスFunction interface (Simulink)パラメーターの設定に基づく引数をもつ関数を生成します。生成された関数とファイルは、関数名, Function name関数名Function name (Simulink)およびファイル名 (拡張子なし), File name (no extension)ファイル名 (拡張子なし)File name (no extension) (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™ を使用して固定小数点システムの設計とシミュレーションを行います。

バージョン履歴

R2006a より前に導入