Simulink の System object のトラブルシューティング
クラスが見つかりません
MATLAB System ブロックの [System object 名] パラメーターには、System object™ クラスの絶対パスを入力する必要があります。さらに、
System object クラスが MATLAB® パス上にあることを確認してください。
大文字が一致していることを確認してください。
クラス名がサポートされている System object であることを確認してください。
ファイルの拡張子は含めないでください。
Error Invoking Object Method
MATLAB System ブロックでは、MATLAB 言語で記述された System object のみがサポートされます。ソフトウェアは、代わりのブロックを特定できる場合には、そのブロックを以下のようなエラー メッセージで提示します。
このメッセージは、専用の最適化されたブロックが既に存在し、それを使用する必要があることを示しています。
パフォーマンス
パフォーマンスを最大限に高めるには、[シミュレーション実行方法] ブロック パラメーターを [コード生成]
に設定します。この設定により、MATLAB System ブロックを可能な限り高速に実行できます。このパラメーターは既定でこの値に設定されます。
この設定により、起動時間が長くなります。ソフトウェアが C コードを生成し、そのコードから MEX ファイルを作成するからです。ただし、コードが生成されると、後のシミュレーションのパフォーマンスが向上します。ブロックが生成されたコードを使用してシミュレーションを行う場合、通常は生成されたコードなしのシミュレーションよりもパフォーマンスが向上します。
System object の実装によっては、コードを生成できない場合があります。この場合は、[シミュレーション実行方法] を [インタープリター型実行]
に設定する必要があります。たとえば、System object では、コード生成をサポートするサブセットを超える MATLAB 関数が必要になる場合があります。この場合は、伝播メソッドを使用してブロックの入力および出力端子情報を指定します。その後、MATLAB System ブロックがこの信号属性情報を伝播します。