• 検索結果がありません。

FbiDa.DLL 関数リファレンス

ドキュメント内 Visual C++によるDA入門書 (ページ 48-57)

5. DLL リファレンス

5.1. FbiDa.DLL 関数リファレンス

DaSetBoardConfig

アナログ出力ボードの動作設定を行います。

宣言 宣言 宣言 宣言

INT DaSetBoardConfig(HANDLE hDeviceHandle,ULONG ulSmplBufferSize,HANDLE hEvent,LPDACALLBACK lpCallBackProc,DWORD dwUser);

パラメータ パラメータ パラメータ パラメータ

hDeviceHandle 有効なデバイスハンドルを指定します。

ulSmplBufferSize アナログ出力データ格納用バッファサイズを指定します。既定値は1024です。

hEvent アナログ出力更新停止時にシグナル状態に設定されるイベントを識別します。

イベント通知を行わない場合、Visual C++ではNULLを指定します。

lpCallBackProc アナログ出力更新停止時に呼び出すユーザ・コールバック関数を指定します。

ユーザ・コールバック関数の呼び出しを行わない場合、Visual C++ではNULL を指定します。

dwUser ユーザ・コールバック関数へ引き渡すユーザ・データを指定します。

ユーザ・コールバック関数の呼び出しを行わない場合には、0を指定します。

既定値は0です。

戻り値戻り値 戻り値戻り値

関数が成功すると0が返されます。

関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については「エラーコード一覧」を 参照してください。

解説 解説 解説 解説

データがセットされている状態でアナログ出力バッファサイズを変更した場合、データはクリアされます。

アナログ出力データバッファサイズのみは、アナログ出力更新中に変更することは出来ません。

コールバック関数の詳細はCallBackProc関数を参照下さい。

DaGetBoardConfig

アナログ出力ボードの現在のボード動作条件を取得します。

宣言 宣言 宣言 宣言

INT DaGetBoardConfig(HANDLE hDeviceHandle,ULONG *ulSmplBufferSize,ULONG *ulSmplEventFactor);

パラメータ パラメータ パラメータ パラメータ

hDeviceHandle 有効なデバイスハンドルを指定します。

ulSmplBufferSize 現在設定されているナログ出力データを格納しておくバッファサイズ件数を格納す

るための変数へのポインタを指定します。

ulSmplEventFactor アナログ出力更新のイベント要因を格納する変数へのポインタです。

定数 意味

DA_EVENT_STOP_TRIGGER トリガによるサンプリング停止

DA_EVENT_STOP_FUNCTION 関数によるサンプリング停止

DA_EVENT_STOP_SAMPLING サンプリング終了

DA_EVENT_RESET_IN リセットイン発生

DA_EVENT_CURRENT_OFF 電流断検出

戻り値戻り値 戻り値戻り値

関数が成功すると0が返されます。

関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については「エラーコード一覧」を 参照してください。

DaSetSamplingConfig

アナログ出力ボードのアナログ出力更新条件の設定を行います。

宣言宣言 宣言宣言

INT DaSetSamplingConfig(HANDLE hDeviceHandle,PDASMPLREQ pDaSmplConfig);

パラメータ パラメータ パラメータ パラメータ

hDeviceHandle 有効なデバイスハンドルを指定します。

pDaSmplConfig アナログ出力更新条件構造体(DASMPLREQ構造体)へのポインタを指定します。

戻り値 戻り値 戻り値 戻り値

関数が成功すると0が返されます。

関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については「エラーコード一覧」を 参照してください。

解説解説 解説解説

アナログ出力チャンネル数とリピート回数は、アナログ出力更新中に変更することは出来ません。

DaGetSamplingConfig

アナログ出力ボードの現在設定されているアナログ出力更新条件を取得します。

宣言 宣言 宣言 宣言

INT DaGetSamplingConfig(HANDLE hDeviceHandle, PDASMPLREQ pDaSmplConfig);

パラメータ パラメータ パラメータ パラメータ

hDeviceHandle 有効なデバイスハンドルを指定します。

pDaSmplConfig アナログ出力更新条件構造体(DASMPLREQ構造体)へのポインタを指定します。

戻り値 戻り値 戻り値 戻り値

関数が成功すると0が返されます。

関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については「エラーコード一覧」を 参照してください。

DaSetMode

アナログ出力ボードのボード固有の動作モードの設定を行います。

ボード 機能

PCI-3305 波形出力モードを設定する

PCI-3310 PCI-3336 PCI-3340

EXCLK OUT端子からのクロック出力を制御する(出力/停止)

宣言宣言 宣言宣言

INT DaSetMode(HANDLE hDeviceHandle,PDAMODEREQ pDaMode);

パラメータ パラメータ パラメータ パラメータ

hDeviceHandle 有効なデバイスハンドルを指定します。

pDaMode 波形出力モード構造体(DAMODEREQ構造体)へのポインタを指定します。

戻り値 戻り値 戻り値 戻り値

関数が成功すると0が返されます。

関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については「エラーコード一覧」を 参照してください。

解説解説 解説解説

EXCLK OUT端子より出力されるクロック信号を停止させることができる型式では、DAMODEREQ構造体

のメンバulExClockにDA_EXCLK_INを設定するとクロック出力を停止します、DA_EXCLK_OUTを設定す

るとクロックを出力します。

DaGetMode

アナログ出力ボードのボード固有の動作モードの設定を行います。

ボード 機能

PCI-3305 波形出力モードを設定する

PCI-3310 PCI-3336 PCI-3340

EXCLK OUT端子からのクロック出力を制御する(出力/停止)

宣言 宣言 宣言 宣言

INT DaGetMode(HANDLE hDeviceHandle,PDAMODEREQ pDaMode);

パラメータ パラメータ パラメータ パラメータ

hDeviceHandle 有効なデバイスハンドルを指定します。

pDaMode 波形出力モード構造体(DAMODEREQ構造体)へのポインタを指定します。

戻り値 戻り値 戻り値 戻り値

関数が成功すると0が返されます。

関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については「エラーコード一覧」を 参照してください。

解説 解説 解説 解説

本関数は、PCI-3305とEXCLK OUT端子より出力されるクロック信号を停止させることができる型式で、有 効となります。

EXCLK OUT端子より出力されるクロック信号を停止させることができる型式では、DAMODEREQ構造体

のメンバulExClockにクロックの出力状態が格納されます。

DaSetSamplingData

アナログ出力ボードから出力するアナログ出力更新データのセットを行います。

宣言宣言 宣言宣言

INT DaSetSamplingData(HANDLE hDeviceHandle,PVOID pSmplData,ULONG ulSmplDataNum);

パラメータ パラメータ パラメータ パラメータ

hDeviceHandle 有効なデバイスハンドルを指定します。

pSmplData アナログ出力データが格納されたバッファへのポインタを指定します。

ulSmplDataNum 有効なバッファ内の件数を指定します。

戻り値戻り値 戻り値戻り値

関数が成功すると0が返されます。

関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については「エラーコード一覧」を 参照してください。

解説解説 解説解説

本関数ではアナログ出力更新データをアナログ出力バッファにセットするのみで、実際のアナログ出力更 新は行いません。アナログ出力更新の開始はDaStartSampling関数で行います。また、既にアナログ出力バ ッファにデータがセットされている場合には、そのデータの後に指定されたアナログ出力データを連結しま す。

アナログ出力更新中に本関数を実行した場合、次のアナログ出力データとしてバッファにセットされます。

既にセットされていたデータのアナログ出力が終了してから、次のデータのアナログ出力更新が開始されま す。

メモリ方式のボード(PCI-3335,3337)では、データは後ろに追加されずに先頭から上書きされます。

PCI-3305ではボードの仕様上、アナログ出力更新中に本関数を実行する事はできません。

DaClearSamplingData

出力バッファ内のアナログ出力データをクリアします。

宣言 宣言 宣言 宣言

INT DaSetSamplingData(HANDLE hDeviceHandle);

パラメータ パラメータ パラメータ パラメータ

hDeviceHandle 有効なデバイスハンドルを指定します。

戻り値 戻り値 戻り値 戻り値

関数が成功すると0が返されます。

関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については「エラーコード一覧」を 参照してください。

DaStartSampling

アナログ出力ボードのアナログ出力更新をスタートさせます。

宣言 宣言 宣言 宣言

INT DaStartSampling(HANDLE hDeviceHandle,ULONG ulSyncFlag);

パラメータ パラメータ パラメータ パラメータ

hDeviceHandle 有効なデバイスハンドルを指定します

ulSyncFlag アナログ出力更新処理を同期で行うか、非同期で行うかを指定します。

定数 意味

FLAG_SYNC 同期処理でアナログ出力更新を行います。

FLAG_ASYNC 非同期処理でアナログ出力更新を行います。

戻り値戻り値 戻り値戻り値

関数が成功すると0が返されます。

関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については「エラーコード一覧」を 参照してください。

解説解説 解説解説

DaSetSamplingData関数でセットしたすべてのデータのアナログ出力更新が完了時点(リピートありの場合 はリピート回数分完了時点)でアナログ出力更新は停止します。

①同期/非同期処理について

・同期出力(FLAG_SYNC)

アプリケーションはアナログ出力更新が完了するまで待ちます。

・非同期入出力(FLAG_ASYNC)

アプリケーションはアナログ出力更新の完了まで待たず、制御がAPIから戻ります。アナログ出力更新の 完了はイベントで通知されます。アプリケーション側ではWIN32APIのWaitForSingleObject関数でイベン トがシグナル状態になるのを待ちます。

②非同期処理で開始したアナログ出力更新は、DaStopSampling 関数にてアナログ出力更新を強制終了させ ることができます。

③同期処理でアナログ出力更新を行う場合は、アナログ出力更新動作の繰り返し回数(DASMPLREQ構造 体のulSmplRepeat)を0にすることはできません。0に設定されていた場合、本関数はエラーを返します。

DaStartFileSampling

データファイルから出力データを読み込み、アナログ出力ボードからアナログ出力更新を行います。

宣言宣言 宣言宣言

INT DaStartFileSampling(HANDLE hDeviceHandle, LPCTSTR pszPathName, ULONG ulFileFlag, ULONG ulSmplNum);

パラメータ パラメータ パラメータ パラメータ

hDeviceHandle 有効なデバイスハンドルを指定します。

pszPathName アナログ出力を行う、データファイルへのパスを指定します。

ulFileFlag データファイルの形式を指定します。

定数 意味

FLAG_BIN バイナリ形式でデータを書き込みます。

FLAG_CSV CSV形式(物理量)でデータを書き込みます。

ulSmplNum アナログ出力件数を指定します

戻り値 戻り値 戻り値 戻り値

関数が成功すると0が返されます。

関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については「エラーコード一覧」を 参照してください。

解説 解説 解説 解説

CSV形式でデータを読み込む時には、データを物理量からバイナリに変換するので、オーバーヘッドがかか り、設定した更新レートでアナログ出力更新ができない場合があります。

アナログ出力の繰り返し設定はできません。設定されていても無視されます。

アナログ出力バッファにデータが残っている状態でファイルアナログ出力を開始した場合には、ファイルア ナログ出力開始と同時にアナログ出力バッファはクリアされます。

DaSyncSampling

複数枚同期アナログ出力機能を使用したアナログ出力更新を行います。

宣言宣言 宣言宣言

INT DaSyncSampling(HANDLE hDeviceHandle, ULONG ulMode);

パラメータ パラメータ パラメータ パラメータ

hDeviceHandle 有効なデバイスハンドルを指定します。

ulMode マスタで使用するかスレーブで使用するかを指定します。

定数 意味

DA_MASTER_MODE マスターモード

DA_SLAVE_MODE スレーブモード

戻り値 戻り値 戻り値 戻り値

関数が成功すると0が返されます。

関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については「エラーコード一覧」を 参照してください。

解説 解説 解説 解説

・本関数は、複数枚同期アナログ出力機能に対応したボードのみで使用できます。その他のボードでは使用 できません。また、異なる型式のボード間での使用もできません。現在対応している型式はPCI-3340[11]、

PCI-3310[12]、PCI-3336[12]、PCI-3522A、PCI-3523Aです。

・本関数にはDaStartSampling関数のように同期処理(FLAG_SYNC)、非同期処理(FLAG_ASYNC)の設定 はありません。常に非同期処理として実行されます。

・アナログ出力更新終了時に、イベントの通知、コールバックルーチンの呼び出しを行う事ができます。イ ベント、コールバックルーチンの設定はDaSetBoardConfig関数でマスタモードのボードのみに設定します。

・アナログ出力更新を途中で終わらせる場合にはDaStopSampling関数を使用します。

・アナログ出力更新条件はDaSetSamplingConfig関数、DaSetMode関数で設定します。

アナログ出力更新条件には以下のような制限があります。

ドキュメント内 Visual C++によるDA入門書 (ページ 48-57)

関連したドキュメント