Main Content

State Reader

ブロックの状態を読み取る

  • State Reader block

ライブラリ:
Simulink / Signal Routing

説明

State Reader ブロックは、サポートされている状態オーナー ブロックの現在の状態を読み取ります。

State Reader ブロックは、以下の状態オーナー ブロックの状態を読み取ることができます。

  • Discrete State-Space

  • Discrete-Time Integrator

  • Delay

  • Unit Delay

  • Discrete Transfer Fcn

  • Discrete Filter

  • Discrete FIR Filter

  • Integrator

  • Second-Order Integrator

  • Enabled SubsystemTriggered SubsystemFunction-Call Subsystem などの条件付きサブシステム ブロックの Outport

  • 複数の離散状態をもつ S-Function

    S-Function ブロックを状態オーナー ブロックとして設定するには、1 つのデータ型作業ベクトルが、ssSetDWorkUsedAsDState を使用して離散状態ベクトルとして宣言され、また mdlInitializeSizesssSetDWorkName または ssSetDWorkRTWIdentifier を使用して命名されなければなりません。

ヒント

ブロックが当該ブロックの IsStateOwnerBlock パラメーターの値でサポートされる状態オーナー ブロックであるかどうか確認できます。式

get_param(blk,'IsStateOwnerBlock')
ここで、blk はブロック名またはハンドルで、ブロックがサポートされている状態オーナー ブロックの場合は 'on'、それ以外の場合は 'off' を返します。

State Reader ブロックまたは State Writer ブロックをモデルに追加するには、状態オーナー ブロックをクリックして強調表示します。次に、Simulink® ツールストリップの現在のブロックのタブから [リーダー-ライター] をクリックします。メニューから [State Reader ブロック] または [State Writer ブロック] を選択します。

メモ

ツールストリップの現在のブロックのタブには、強調表示するブロックのタイプに応じて、[Outport] などの強調表示されたブロックの名前がラベルに使用される場合と [ブロック] というラベルが使用される場合があります。

Block tab of Simulink toolstrip, showing Reader-Writer button with drop-down menu beneath it. List items are State Reader Block and State Writer Block. An Unit Delay block is highlighted on the canvas.

状態オーナー ブロックに複数の状態がある場合、State Reader ブロックまたは State Writer ブロックのダイアログが開きます。[状態オーナー セレクター ツリー] から状態を選択します。

メモ

Second-Order Integrator ブロックに対する State Reader ブロックや State Writer ブロックを追加する前に、状態に明示的に名前を付ける必要があります。状態名の指定を参照してください。

State Reader ブロックまたは State Writer ブロックを作成すると、状態オーナー ブロックの上に diamond shape with an x inside it バッジが表示され、状態オーナー ブロック名前が State Reader ブロックまたは State Writer ブロックの横に表示されます。

Simulink canvas showing Unit Delay block with a badge above it, and a State Writer block with "Unit Delay" appearing next to it

State Reader ブロックまたは State Writer ブロックは、その状態オーナー ブロックと同じシステムに残ることはできません。State Reader ブロックまたは State Writer ブロックを作成した後に、そのブロックを切り取り、モデルの階層構造内の目的の場所に貼り付けて移動します。

もしくは、State Reader ブロックまたは State Writer ブロックを Simulink ライブラリ ブラウザーからモデルに追加し、[ブロック パラメーター] ダイアログから [状態オーナー ブロック] パラメーターを設定できます。

メモ

State Reader ブロックまたは State Writer ブロックをもつライブラリ ブロックを作成するときは、対応する状態オーナー ブロックもライブラリ ブロックに含めなければなりません。

State Reader ブロックまたは State Writer ブロックあるいは対応する状態オーナー ブロックを選択して、それに関連するブロックを強調表示できます。開いているブロック線図または新しいタブに関連するブロックを表示するには、選択後に表示される省略記号で一時停止します。その後、操作バーから [関連するブロック] Related Blocks button を選択します。選択したブロックに複数のブロックが対応している場合は、関連するブロックのリストが開きます。関連するブロックのリストはテキスト ボックスに検索語を入力してフィルター処理できます。関連するブロックをリストから選択すると、関連するブロックが表示された開いているブロック線図または新しいタブにウィンドウのフォーカスが移ります。

端子

出力

すべて展開する

状態値は状態オーナー ブロックから読み取られます。

出力の次元は完全な状態ベクトルの次元です。特定のブロックについては、[初期条件] パラメーターを参照してください。たとえば、[遅延の長さ]NDelay ブロックの場合、State Reader ブロックは長さが [1xN] の状態ベクトルを返します。

データ型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

パラメーター

すべて展開する

このブロックが状態を読み取っている状態オーナー ブロックの名前。状態オーナー ブロックを変更するには、[状態オーナー セレクター ツリー] からブロックを選択します。

メモ

状態オーナー ブロックの名前にスラッシュ (/) が含まれている場合、State Reader ブロックのパラメーター ダイアログでは 2 つのスラッシュ (//) として表示されます。この表記法により、ブロックの名前自体に含まれるスラッシュとモデルの階層構造の異なるレベルにある名前を区切るスラッシュが区別されます。

プログラムでの使用

ブロック パラメーター: StateOwnerBlock
型: 文字ベクトル
値: '' | '<model path/block name>'
既定の設定: ''

ブロックの特性

データ型

Boolean | bus | double | enumerated | fixed point | half | integer | single

直達

いいえ

多次元信号

はい

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

拡張機能

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

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