Twin ActivateからのEmbedブロックのエクスポート

Tutorial Level: Intermediate 生成されたコードをシミュレーション用にエクスポートしたり、ターゲットへの配置を目的として生成されたコードをEmbedに含めることができます。

重要: Available only with Twin Activate commercial edition.

このチュートリアルの前提条件

このチュートリアルには以下のソフトウェアが必要です:

  • Altair Twin Activate
  • Altair Embed
  • Visual Studio Compiler: Twin Activateから生成されたコードをコンパイルし、Embedブロックを作成するために必要です。

概要

Twin Activateのコード生成オプションの1つに、生成されたコードをシミュレーション用にエクスポートする機能と、ターゲットへの配置を目的に生成されたコードをEmbedにインクルードする機能があります。このチュートリアルでは、このような設計フローをセットアップし、動作するようにするための全体的な手順を説明します。

Embedは、シミュレーションとコード生成のためのブロック動作を定義する標準ブロックAPIを提供します。コード生成オプションEmbed Blockは、これらの公開API を活用して、Twin Activateから生成されたコードを自動的に包括し ます。

Twin Activateダイアグラムでシミュレーション図を作成すると、生成されたコードをターゲット環境で簡単にテストできます。コードはターゲットにとらわれず、インラインコード生成オプションを活用して最適化されています。Embedは1200以上のマイコンターゲットをサポートしています。Embedのビジュアルインターフェースを使用して、必要なターゲット固有のドライバと実行スケジュールを含めることができます。Processor In the LoopおよびHardware In the Loopコンフィギュレーションでのテスト用に、EmbedでRTOSの動作とソフトウェア/ハードウェア割り込みスケジューリングをカスタマイズすることもできます。

Embedブロックのエクスポート

このチュートリアルでは、標準的なTwin Activateデモを使用しますが、他のどのダイアグラムでも同じように処理できます。スーパーブロックは、その内容がインラインコードジェネレーターでサポートされていれば、Embedブロックとしてエクスポートすることができます。インラインコードジェネレーターがサポートするブロックの最新リストは、Extended Definitionsにあります。
  1. Twin Activateダイアグラムで、エクスポートするスーパーブロックを選択します。
  2. エクスポート > エクスポートを選択します。
    スーパーブロックを右クリックしコードの生成とエクスポート(Code Generation and Export)を選択することもできます。
  3. Embedブロックターゲットに 設定します。Embedのインストールに応じて、Processor64ビット または 32ビットに設定します。Embedのインストールパスと出力先Outputディレクトリを選択します。必要に応じて他の名前フィールドを設定します。
  4. 作成をクリックします。
    出力ディレクトリには以下のファイルがあります:
    • Body.c: 実際のスーパーブロックの実装を提供するCファイル。
    • Body.h: Body.hに実装する関数の定義を含むヘッダーファイル。
    • main.cpp: Embedブロック固有のラッパーをBody.hファイルに埋め込み、Twin Activateから生成される関連コードをインクルードします。このファイルには、シミュレーションとコード生成のためのEmbed Block APIを活用した関数が含まれています。
    • make.batmake.sh: 生成されたコードに関連するmakeプロセスが含まれています。
      注: Embedのインストールに基づき、関連するライブラリ(Vissim32.lib/Vissim64.lib)がリンクのために参照されます。
    • [DLL name].def: 現在のダイアグラムの関数をエクスポートします。
      注: 上のスクリーンショットの例では、このファイル名はBlock_From_Activate.defです。
    • [DLL name].dll: Embedのコンパイルされたモデル。

Twin Activate ブロック - Embed

DLLが作成されると、自動的にEmbedに追加されます。

Embedでは、新しいブロックはImported Blocks > Twin Activateから利用できます。

注: 新しいブロックは、選択されたフィールド内の位置を保持します。EmbedのEdit > Preferencesから削除できます。

新しいブロックはシミュレーションやコード生成に使用できます。