5

マルチメータ 34461A を制御するために、ヘッダ .h または .dll ファイルを CAPL (具体的には Visa32.dll、visa.h または sicl.h) に統合したいと考えています。.h ファイルまたは .dll ファイルを CANoe に含めるにはどうすればよいですか? multimeterというECUモジュールを作成しました。ありがとう、

4

2 に答える 2

5

CAPL に外部 DLL を含めることは可能ですが、使用するすべての関数のラッパーを作成する必要があります。

\CANoe\Demo_AddOn\Capldllこのようなラッパーを備えたディレクトリを見てください。のようないくつかの単純な関数を CAPL にエクスポートする MSVC プロジェクトint f(int a, int b) {return a+b;}です。

ライブラリ ファイル (Visa32.dll、visa.h) をこの Capldll プロジェクトに追加し、CANoe から呼び出すすべての関数のラッパーを定義する必要があります。たとえばint visa_init(double arg)、Visa32.dll にある場合は、ラッパーを作成します。

int CAPLEXPORT far CAPLPASCAL capl_visa_init(double arg)
{
    return visa_init(arg);
}

また、関数のプロトタイプをエクスポート テーブルに追加する必要があります。

CAPL_DLL_INFO CAPL_DLL_INFO_LIST[] =
{
    {"my_visa_init", (CAPL_FARCALL)capl_visa_init, 'D', 1, "F", "\000"},
    ....
    {0,0}
}; 

ラッパー DLL (サンプルを再利用する場合は capldll.dll という名前になります) を正常にビルドしたら、それを CANoe にインポートする必要があります。エクスポート テーブルで定義した名前で関数を呼び出すことができます。 、例えばmy_visa_init(1.0);

于 2015-10-27T10:44:26.330 に答える
3

CAPL は C ではありません。.h ファイルを含めることはできません。

最も簡単なのは、GPIB バスを介してマルチメータを制御することです。CAPL GPIB ライブラリを見てください。

于 2015-10-26T11:16:08.837 に答える