Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

共有ライブラリを使用した開発用コンピューターのシミュレーターへのインターフェイス

この例では、開発用コンピューターで実行されるシミュレーターへのインターフェイスとして機能する共有ライブラリを生成します。システム ターゲット ファイル ert_shrlib.tlc を使用することで、共有ライブラリを生成します。

モデルから共有ライブラリを作成して、そのライブラリをアプリケーションで使用するには、次のようにします。

1. モデルを開発します。この例では、モデル SharedLibraryCode を開きます。書き込み可能な場所にモデルのコピーを保存します。

open_system('SharedLibraryCode');

モデルは、シングルレートの離散時間モデルです。8 ビット カウンターが Amplifier という名前の Triggered Subsystem に送信を行います。パラメーター INCLIMITRESET に定数値 1、4、0 がそれぞれ設定されます。信号の equal_to_count が真の場合、サブシステムは入力信号をゲイン ファクター K=3 で増幅し、出力信号は更新されます。

2. Embedded Coder アプリを開きます。

3. モデル コンフィギュレーション パラメーター [システム ターゲット ファイル]ert_shrlib.tlc に設定します。

4. 共有ライブラリ ファイルを作成します。コード ジェネレーターによって生成されるファイルは、開発プラットフォームによって異なります。たとえば、Windows® システムでは、コード ジェネレーターはライブラリ ファイル SharedLibraryCode_win64.dll を生成します。

5. 共有ライブラリを使用するアプリケーション コードを作成します。この例では、次のファイルで使用可能なアプリケーション コードを使用します。

SharedLibraryCode_app.h SharedLibraryCode_app.c

これらのファイルのソース コードを表示するには、モデル内で、.h ファイルと .c ファイルの白いボタンをクリックします。

6. ファイル アプリケーションと共有ライブラリ ファイルをコンパイルおよびリンクして、実行可能プログラムを生成します。次のスクリプトは、プログラムのコンパイル、ビルド、実行を行います。

run_SharedLibraryCode_app
 
=== Demo usage of ERT Shared Library Target ===
 
=== Parameter List ===
 
LIMIT: 4; INC: 1; RESET: 0; K: 3
 
=== Build SharedLibraryCode ===
 
### Starting build procedure for: SharedLibraryCode
### Successful completion of build procedure for: SharedLibraryCode

Build Summary

Top model targets built:

Model              Action                        Rebuild Reason                                    
===================================================================================================
SharedLibraryCode  Code generated and compiled.  Code generation information file does not exist.  

1 of 1 models built (0 models already up to date)
Build duration: 0h 0m 9.1309s
Building with 'gcc'.
MEX completed successfully.
 
=== Execute example application ===
 
Counter out(sum_out): 1	Amplifier in(Input): 0	out(Output): 0
Counter out(sum_out): 2	Amplifier in(Input): 1	out(Output): 0
Counter out(sum_out): 3	Amplifier in(Input): 2	out(Output): 0
Counter out(sum_out): 4	Amplifier in(Input): 3	out(Output): 0
Counter out(sum_out): 1	Amplifier in(Input): 4	out(Output): 12
Counter out(sum_out): 2	Amplifier in(Input): 5	out(Output): 12
Counter out(sum_out): 3	Amplifier in(Input): 6	out(Output): 12
Counter out(sum_out): 4	Amplifier in(Input): 7	out(Output): 12
Counter out(sum_out): 1	Amplifier in(Input): 8	out(Output): 24
Counter out(sum_out): 2	Amplifier in(Input): 9	out(Output): 24
Counter out(sum_out): 3	Amplifier in(Input): 10	out(Output): 24
Counter out(sum_out): 4	Amplifier in(Input): 11	out(Output): 24
Counter out(sum_out): 1	Amplifier in(Input): 12	out(Output): 36
 
=== End of Demo ===
 

スクリプト コードを表示するには、モデル内で、.m ファイルの白いボタンをクリックします。

モデルをビルドし、生成された共有ライブラリを使用するアプリケーションを実行するには、モデル内で、青いボタンをダブルクリックします。

共有ライブラリの使用の詳細については、生成コードを共有ライブラリとしてパッケージ化を参照してください。

関連するトピック