Main Content

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

MATLAB System

System object をモデルに含める

  • MATLAB System block

ライブラリ:
Simulink / User-Defined Functions
HDL Coder / User-Defined Functions

説明

MATLAB System ブロックでは、(matlab.System に基づく) 既存の System object が Simulink® に導入されます。また、Simulink の新しいブロックを開発するための System object API を使用できます。このブロックの詳細については、MATLAB System ブロックを参照してください。

インタープリター型実行では、ブロックは MATLAB® 実行エンジンを使用してシミュレートされます。

コード生成では、モデルによりブロックはコード生成を使用してシミュレートされます (コード生成をサポートする MATLAB コードのサブセットを使用)。MATLAB System ブロックは MATLAB で使用できる関数のサブセットだけをサポートします。すべての関数の一覧は、C/C++ コードの生成でサポートされている関数およびオブジェクトを参照してください。これらの関数には、次のような一般的カテゴリの関数が含まれます。

既定では、MATLAB System ブロックは 1 次元の入力信号を認識し、1 次元の出力信号を 2 次元として伝播します。ブロックで 1 次元の入力と出力を 1 次元信号として認識して伝播できるようにするには、supports1DVectorsImpl メソッドを使用します。

System object

MATLAB System ブロックを使用するには、新しい System object™ を事前に用意するか既存のものを使用しなければなりません。詳細については、Author Blocks Using MATLAB System Objectsを参照してください。

端子

入力

すべて展開する

MATLAB System ブロックは、[ブロックの特性] テーブルにリストされた型の入力を受け入れます。詳細については、Simulink でサポートされているデータ型を参照してください。

このブロックの固定小数点サポートの詳細は、コードの高速化と MATLAB からのコード生成 (Fixed-Point Designer)を参照してください。

MATLAB System ブロックは、Simulink フレームをサポートします。詳細については、サンプルベースおよびフレームベースの概念 (DSP System Toolbox)を参照してください。

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

出力

すべて展開する

System object が返す MATLAB System ブロックの信号出力。

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

パラメーター

すべて展開する

ユーザー定義の System object クラスの完全な名前をファイル拡張子なしで指定します。このエントリでは大文字と小文字が区別されます。クラス名は MATLAB パス上に存在しなければなりません。

System object 名は次のいずれかの方法で指定できます。

  • テキスト ボックスに名前を入力します。

  • テキスト ボックスに付いているリスト矢印をクリックします。現在のフォルダーに有効な System object があれば、それらの名前がリストに表示されます。このリストから System object を選択します。

  • 有効な System object があるフォルダーを参照します。フォルダーが MATLAB パスにない場合は、追加するように求められます。

System object を作成する必要がある場合は、[新規] をクリックしてテンプレートから作成できます。

System object を保存した後、[System object 名] テキスト ボックスに名前が表示されます。

ユーザー定義の System object クラス名の完全な名前を使用します。System object クラス名に割り当てた MATLAB 変数はこのブロックでは受け入れられません。

プログラムでの使用

ブロック パラメーター: System
型: 文字ベクトル
値: System object の名前
既定の設定: ' '

System object テンプレートのいずれかのオプションを選択します。

標準

MATLAB エディターを起動し、System object メソッドが少ないシンプルな System object のテンプレートを表示します。

詳細設定

MATLAB エディターを起動し、System object メソッドが多い高度な System object のテンプレートを表示します。

Simulink 拡張

MATLAB エディターを起動し、Simulink のブロックをカスタマイズするためのユーティリティを含むファイルを表示します。これは、MATLAB で [新規][System object][Simulink 拡張] を選択したときに使用できるファイルと同じものです。

System object を保存した後、[System object 名] テキスト ボックスに名前を入力できます。

シミュレーション モードを選択します。

コード生成

モデルの最初の実行時にコード生成をサポートする MATLAB 関数のみを使用して MATLAB System ブロックのシミュレーションとコード生成が行われます。ブロックの構造が変更されていない場合は、以降のモデルの実行でコードは再生成されません。

シミュレーション モードが [コード生成] の場合、System object では最大 32 個の入力を受け入れます。

インタープリター型実行

サポートされるすべての MATLAB 関数を使用してモデルをシミュレートします。このオプションを使用するとシミュレーションのパフォーマンスが遅くなる場合があります。

有効な System object クラス名をブロックに割り当てた後、次にこのブロックのダイアログ ボックスを開くと、パラメーターが表示されます。このパラメーターはすべての MATLAB System ブロックに表示されます。削除することはできません。

  • ブロックにタブがない場合、このパラメーターはダイアログ ボックスの一番下に表示されます。

  • ブロックに複数のタブがある場合、このパラメーターはダイアログ ボックスの最初のタブの一番下に表示されます。

オン

オーバーフローは、データ型が表現できる最小値または最大値のいずれかに飽和します。たとえば、符号付き 8 ビット整数に関連付けられたオーバーフローは、-128 または 127 に飽和することができます。

オフ

オーバーフローは、データ型によって表現される適切な値にラップされます。たとえば、数 130 は符号付き 8 ビット整数 1 つに収まりきらないので、-126 にラップされます。

ヒント

  • モデルでオーバーフローが発生する可能性があり、生成コードに飽和保護を明示的に組み込む必要があるときには、このチェック ボックスをオンにすることを検討してください。

  • 生成コードの効率を最適化する場合には、このチェック ボックスをオフにすることを検討してください。このチェック ボックスをオフにすると、ブロックが範囲外の信号を処理する方法を指定しすぎないようにする点でも役立ちます。詳細については、信号範囲のエラーのトラブルシューティングを参照してください。

  • このチェック ボックスをオンにすると、飽和は出力や結果だけでなく、このブロックの内部演算すべてに適用されます。

  • 通常、オーバーフローが可能ではない場合は、コード生成プロセスで検出されます。この場合、コード ジェネレーターでは飽和コードは生成されません。

依存関係

このチェック ボックスは、System object で showFiSettingsImpl メソッドを使用すると表示されます。

プログラムでの使用

ブロック パラメーター: SaturateOnIntegerOverflow
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

fi データ型を扱う継承されるデータ型を選択します。

固定小数点

固定小数点データ型を fi データ型として扱います。

固定小数点および整数

固定小数点データ型および整数データ型を fi データ型として扱います。

依存関係

このチェック ボックスは、System object で showFiSettingsImpl メソッドを使用すると表示されます。

使用する固定小数点の算術設定を選択します。

MATLAB と同じ

現在の MATLAB 固定小数点の算術設定を使用します。

それ以外を指定

目的の固定小数点の算術設定を指定するためのエディット ボックスを有効にします。固定小数点の算術の設定については、fimath (Fixed-Point Designer) を参照してください。

依存関係

このチェック ボックスは、System object で showFiSettingsImpl メソッドを使用すると表示されます。

ブロックの特性

データ型

Booleana | busba | doublea | enumerateda | fixed pointa | halfa | integera | singlea | stringa

直達

いいえ

多次元信号

はいa

可変サイズの信号

はいca

ゼロクロッシング検出

いいえ

a 実際のデータ型または機能のサポートは、ブロックの実装に依存します。

b 詳細は、「非バーチャル バスと MATLAB System ブロック」を参照してください。

c 詳細は、「可変サイズの信号」を参照してください。

拡張機能

バージョン履歴

R2013b で導入