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関数で設定します。
アナログ出力更新条件には以下のような制限があります。