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は、モデル信号やブロックパラメータを、ユーザのモニタリングやチューニングのインタフェースで可視化するためのメカニズムを提供します。これらのメカニズムは、すべてのコードフォーマットでの利用に適しており、以下のものが含まれます。

割り込みのサポート

Interrupt ブロック を使って、割り込みルーチン(ISR)、ハードウェア生成割り込み、非同期読み込みと書き出しの作業を含む、同期イベントおよび非同期イベントを取り扱うモデルを作成することができます。与えられたブロックは、Tornadoターゲットと共に機能します。ターゲット環境に対して新規の割り当てブロックを作成する際に、これらのブロックをテンプレートとして使用できます。Interruptブロックには以下のものが含まれます。

Custom Codeライブラリ

Custom Codeライブラリには、ターゲット固有のコードをインラインS-ファンクションなしでモデルに容易に挿入できるブロックを含んでいます。 コードを、運用上モデル全体に配置することができます。


 ターゲット環境 基本的な概念