Real-Time Workshop User's Guide | ![]() ![]() |
オープンで拡張可能なモデリング環境
Simulink / Real-Time Workshop環境は、複数の方法で拡張が可能です。
カスタムコードのサポート
S-ファンクションは、モデリング環境を拡張するためにSimulinkにバインドされている、ダイナミックにリンクされたオブジェクト(.DLLまたは .so)です。S-ファンクションを開発することにより、Simulinkにカスタムブロックアルゴリズムを追加することができます。そのようなS-ファンクションは、モデルに対する補助ロジックを与えます。S-ファンクションは、フレキシブルで、複雑なアルゴリズムの方程式や基本的な低水準デバイスドライバを実現することができます。Real-Time WorkshopのS-ファンクションのサポートには、S-ファンクションを生成コードに直接インライン化する機能が含まれます。Target Language Compilerによってサポートされているインライン化は、メモリの使用量と呼び出しのオーバヘッドを大きく削減します。
管理コードのサポート
生成コードは、モデルで定義されたアルゴリズムに正確に対応するアルゴリズムを実現します。組み込みコードフォーマットを使って、生成したモデルコードをプロシージャとして呼び出すことができます。これにより、生成コードを、生成コードを実行するタイミングを決定する大規模システムに組み込むことができます。概念的に、生成コードは管理コードによって呼び出される関数内の方程式の集合と考えられます。これは、モデルコードの大規模既存システムへの統合や、信号の流れの処理(Simulink)と状態機械(Stateflow)やそれ以外で構成される環境への統合を容易にします。
モニタリングとパラメータチューニングのAPI
External モードSimulinkを使ってターゲット上で実行されている生成コードへのインタフェース用に通信チャンネルを提供します。これにより、Simulinkを実行中のモデルに対するデバッグのフロントエンドとして利用することができます。標準的に、外部モードの構成は、リアルタイムコードフォーマットまたはリアルタイムmallocコードフォーマットと共に機能します。
Real-Time Workshopは、モデル信号やブロックパラメータを、ユーザのモニタリングやチューニングのインタフェースで可視化するためのメカニズムを提供します。これらのメカニズムは、すべてのコードフォーマットでの利用に適しており、以下のものが含まれます。
k
が含まれる場合、k
は外部変数、外部変数のポインタ、グローバル変数として宣言したり、変数の宣言方法や宣言の場所をReal-Time Workshopが決定することができます。Model Parameter Configuration 機能は、管理コードが、モデルの実行中に変更する必要があるブロックパラメータ変数へアクセスすることを可能にします。
割り込みのサポート
Interrupt ブロック を使って、割り込みルーチン(ISR)、ハードウェア生成割り込み、非同期読み込みと書き出しの作業を含む、同期イベントおよび非同期イベントを取り扱うモデルを作成することができます。与えられたブロックは、Tornadoターゲットと共に機能します。ターゲット環境に対して新規の割り当てブロックを作成する際に、これらのブロックをテンプレートとして使用できます。Interruptブロックには以下のものが含まれます。
Custom Codeライブラリ
Custom Codeライブラリには、ターゲット固有のコードをインラインS-ファンクションなしでモデルに容易に挿入できるブロックを含んでいます。 コードを、運用上モデル全体に配置することができます。
![]() | ターゲット環境 | 基本的な概念 | ![]() |