Simulink Coder

リアルタイム環境でのコード実行

Simulink Coder では、生成したコードをリアルタイムで実行し、このコードをユーザーの実行環境に組み込むための、完全なフレームワークが提供されています。これにより、モデルで指定されているサンプル時間の周期に基づいたシングルレートまたはマルチレートコードが生成されます。

実行モード

コードは RTOS の有無にかかわらず、シングルタスク モード、マルチタスク モード、非同期モードに対応します。

シングルタスク モード

シングルタスク モードではレート間の優先度を妨げないように、簡単なスケジューラーが生成コードをシングルス レッドで実行するように呼び出します。

マルチタスク モード

マルチタスク モードでは、確定的なレート モノトニック スケジューラーが生成されたコードを呼び出し、レート間の優先度を有効にします。ベアボード環境では、入れ子になった割り込みでコードをプリエンプトします。RTOS 環境では、タスク プライオリティとタスク プリエンプションを使用します。

非同期モード

非同期モードでは、Simulink の S-function を使用して、非周期的レートまたは非同期レートが指定されます。Simulink Coder によって、これらのレートがユーザーの実行環境で必要なコードに変換されます。ユーザーは、ハードウェアの割り込みや、独立したタスクのトリガ サブシステムのようなイベントごとに、コードをモデリングし生成します。付属の非同期ブロック ライブラリをテンプレートとして使用し、他の環境に適したライブラリを作成できます。

リアルタイム ディプロイメント

Simulink と Simulink Coder では、リアルタイム ディプロイメントのために、ターゲットに依存しない完全な機能セットが提供されています。これには以下が含まれます。

  • ユーザー モデル内の各レートに指定可能な、タスクの優先度
  • 絶対時間および経過時間を計算するための量産品質のカウンターとタイマー
  • 。データの完全性、決定論、およびパフォーマンスのトレードオフを考慮してレート間のデータ転送メカニズム(セマフォ、ミューテックス、ダブルバッファリングなど)を指定するための Rate Transition ブロック
  • 各レートのオーバーランを検出するための統合されたエラーハンドリング ロジック

レガシー コードの統合

C、Fortran、Ada、 C++ のカスタムのレガシー コードをシミュレーションやコード生成に組み込むことで、生成されるコードと実行時環境をカスタマイズできます。Simulink Coder のカスタマイズ ツールには、Target Language Compiler (TLC)、カスタム コード ブロック、テンプレート makefile、ビルド プロセスの API、および S-Function Builder があります。Legacy Code Tool を使用すれば、既存の C や C++ の関数を Simulink モデルにすばやく統合でき、組込みシステムで通常使用される離散時間コードの統合に特に便利です。

次のトピック: パラメーターのチューニングとデータのロギング

製品評価版の入手または製品の購入

Eclipse ™ の無料ハンズオン チュートリアル

チュートリアルのお申し込み