Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
AD(PCI/C-PCI)Linux/RT
www.interface.co.jp
GPG-3100 アナログ入力インタフェースモジュール用Linux/RTドライバ Ver.6.10
Help for Linux
GPG-3100 Help for Linux
© 2000 Interface Corporation.
2
目 次
第 1 章 はじめに 4 1.1 概要............................................................................. 4 1.2 特長............................................................................. 4
第 2 章 製品仕様 5 2.1 基本仕様......................................................................... 5
第 3 章 実行手順 8 3.1 デバイスを動かすまで............................................................. 8 3.2 制御手順........................................................................ 12 3.3 カードバス ID 設定ユーティリティについて ......................................... 25
第 4 章 機能説明 26 4.1 サンプリング方式................................................................ 26 4.2 トリガ.......................................................................... 28 4.3 各製品で使用する端子の一覧 ...................................................... 33 4.4 データ形式...................................................................... 37 4.5 平均............................................................................ 47 4.6 スムージング.................................................................... 48 4.7 使用上の注意事項................................................................ 49
第 5 章 リファレンス 80 5.1 関数一覧........................................................................ 80 5.2 関数個別説明................................................................... 107 5.3 関数個別説明(PCI-3179,CTP-3179、CPZ-3179 用).................................. 167 5.4 関数個別説明(FIFO、バスマスタ系用) ........................................... 177 5.5 関数個別説明(バスマスタ系用) ................................................. 181 5.6 関数個別説明(メモリ系用) ..................................................... 192 5.7 関数個別説明(制御信号用) ..................................................... 196 5.8 関数個別説明(調整用)......................................................... 207 5.9 構造体......................................................................... 209 5.9.1 ●ADSMPLREQ 構造体 209 5.9.2 ●ADBMSMPLREQ 構造体 214 5.9.3 ●ADMEMSMPLREQ 構造体 225 5.9.4 ●ADSMPLCHREQ 構造体 229 5.9.5 ●ADTRIGCHREQ 構造体 231 5.9.6 ●ADBOARDSPEC 構造体 233
5.10 戻り値一覧................................................................... 235 5.11 テストドライバの使用方法 ..................................................... 238
第 6 章 サンプルプログラム 240 6.1 file ........................................................................... 240 6.2 adasync ........................................................................ 240 6.3 InputAD ........................................................................ 240 6.4 AdSampling ..................................................................... 241 6.5 AdWaitEvent .................................................................... 241 6.6 ExClk .......................................................................... 241 6.7 ATrg ........................................................................... 241 6.8 ATrg2 .......................................................................... 241 6.9 ExTrg .......................................................................... 241 6.10 Eternity ..................................................................... 241
GPG-3100 Help for Linux
© 2000 Interface Corporation.
3
6.11 SyncPci ...................................................................... 242 6.12 SyncCpz ...................................................................... 242 6.13 TrgSmpl ...................................................................... 242 6.14 MemTrg ....................................................................... 242 6.15 BmSampling ................................................................... 242 6.16 DmaSampling .................................................................. 242 6.17 BmExClk ...................................................................... 243 6.18 BmExTrg ...................................................................... 243 6.19 BmReTrg ...................................................................... 243 6.20 MemSampling .................................................................. 243 6.21 MemExClk ..................................................................... 243 6.22 MemExTrg ..................................................................... 243 6.23 ExTrgOut ..................................................................... 243 6.24 ExClkOut ..................................................................... 244 6.25 StatOut ...................................................................... 244 6.26 InputDi ...................................................................... 244 6.27 OutputDo ..................................................................... 244 6.28 AdInputAD .................................................................... 245 6.29 AdInputADEx .................................................................. 245 6.30 AdSync ....................................................................... 245 6.31 AdTrigger .................................................................... 245 6.32 BmATrg ....................................................................... 245 6.33 async ........................................................................ 245 6.34 sampledata ................................................................... 245
第 7 章 ユーティリティ 246 7.1 AD 診断プログラム .............................................................. 246 7.2 AD 調整プログラム .............................................................. 249 7.3 AD 倍速モード調整プログラム .................................................... 256
第 8 章 重要な情報 261
GPG-3100 Help for Linux
© 2000 Interface Corporation.
4
第1章 はじめに
1.1 概要 本ソフトウェアは、Linux アプリケーションから、弊社製品の制御を行うためのソフトウェアです。
GPG-3100 は、弊社アナログ入力製品を Linux アプリケーションから Lib をリンクし関数をコールす
ることにより制御します。
本ドキュメントは、Linux 上で GPG-3100 を使用するための情報を掲載しています。
1.2 特長 ●複数枚同期サンプリングをサポートしているので、複数のデバイス間で同時にサンプリングが可能
です。(複数枚同期サンプリングをサポートしていないデバイスがあります)
●キャリブレーションソフトウェアを含んでいます。
●ディスクへのデータ保存ができます。
●データ変換関数(AdDataConv 関数、AdReadFile 関数)を使用してサンプリングデータの各種変換
を行う事ができ、バイナリデータ、物理データの変換をサポートしています。
●平均化処理を使用することでノイズ除去を行うことができます。
●トリガ機能を備えているため、トリガ発生と同時にアナログ入力の開始または終了を行う事ができ
ます。
●トリガディレイ機能を持っていますので、事象発生の前後や事象発生から指定時間経過後のデータ
を取得する事ができます。
●ソフトウェアによるレンジ設定、オフセット・ゲイン調整が行えます。(一部型式未対応)
サンプリング終了時、フルスケール検出時、指定電圧検出時においてイベントを発生させます。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
5
第2章 製品仕様
2.1 基本仕様 ドライバ種別 キャラクタ型ドライバ
組み込み方式 モジュール(ダイナミックロード/アンロード)
メジャー番号割り当て 自動割り当て
ソースコードの
取り扱い
ドライバモジュール一部公開
ライブラリソースコード非公開
共用モジュール公開
ビルドサポート メイクファイル提供
ヘルプファイル PDF 形式
大デバイス数 同一型式 16 デバイスまで
チャンネル数 ハードウェアの仕様に依存する
サンプリング方式 I/O 方式,FIFO,Memory,バスマスタの 4種
サンプリングデータ数 1~PC 上で確保できるメモリ領域
サンプリング周波数 I/O 方式(PCI-3126、CTP-3126 以外) 0.01Hz~約 10kHz
I/O 方式(PCI-3126、CTP-3126) 0.01Hz~約 600Hz
FIFO 方式 0.01Hz~約 400kHz
メモリ方式 62500Hz~約 300kHz
バスマスタ方式 302.2Hz~1MHz
バスマスタ方式(PCI-3525, CPZ-3525)1kHz~10MHz(倍速 20MHz)
※これらの値は参考値です。使用環境によって異なります。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
6
トリガ機能 アナログトリガ
プラス/マイナス/デュアル/アウトレンジ/インレンジ
外部トリガ
DI マスク付き外部トリガ
PCI-3525, CTP/CPZ-3525, PEX-H3525 のみ以下のトリガ機能をサ
ポートしています。
インターバルタイマ
アナログ出力更新スタート
アナログ出力更新ストップ
アナログ出力更新指定件数
PCI-320412,320416,360112,360116,360216
CTP-320412,320416,360112,360116,360216
CPZ-320412,320416,360112,360116,360216
CSI/CBI-320412, CBI-320412TR, 320412TK, 320412TL,
CSI/CBI-320416, CBI-320416TR, 320416TK, 320416TL,
CSI/CBI-360112, CBI-360112TR, 360112TK, 360112TL,
CSI/CBI-360116, CBI-360116TR, 360116TK, 360116TL
LPC-321116. 321216, 321316, 321416, 361116, 361216, 361316,
361416
PEX-321116. 321216, 321316, 321416, 361116, 361216, 361316,
361416
PEX-H360116
のみ以下のトリガ機能をサポートしています。
カウンタ一致検出
Z 相入力検出
CSI/CBI-320110, CBI-320110TK, 320110TL
CTP/CPZ-360810
LPC-320910
PEX-320910
のみ以下の機能をサポートしています。
DI パターン一致トリガ
ソフトトリガ
トリガタイミング サンプリング開始時/サンプリング終了時
スタートトリガディレイ機能 ポストトリガ 1~ PC 上で確保できるメモリ領域
プリトリガ 1~ PC 上で確保できるメモリ領域
ストップトリガディレイ機能 ポストトリガ 1~ PC 上で確保できるメモリ領域
イベント機能 サンプリング終了
サンプリング停止
ポジティブフルスケールレンジ/ネガティブフルスケールレンジ
検出
ポジティブフルスケールレンジ/ネガティブフルスケールレンジ
発生によりサンプリング終了
PCI-320112, CTP/CPZ-3183 のみ以下の機能をサポートしていま
す。
過電圧入力時自動レンジ切替機能検出
過電圧入力時自動レンジ切替機能発生によりサンプリング終了
GPG-3100 Help for Linux
© 2000 Interface Corporation.
7
データ変換機能 平均(単純/移動)
スムージング
データ形式:バイナリ←→物理量変換
GPG-3100 Help for Linux
© 2000 Interface Corporation.
8
第3章 実行手順
3.1 デバイスを動かすまで 1. インストール、ドライバモジュールの組み込み
Readme を参照してください。 2. デバイス番号設定
デバイス番号を設定します。デバイス番号設定ユーティリティ dpg0101 を起動させます。
例)インストールディレクトリがデフォルトの場合
#cd /usr/src/interface/gpg3100/(アーキテクチャ名)/linux/drivers
#bash setup.sh デバイス番号設定ユーティリティを起動させると、以下の画面が表示されます。
**************************************************
Setup Utility
--------------------------------------------------
Version: 1.30-07
--------------------------------------------------
Copyright 2003, 2005 Interface Corporation.
All rights reserved.
**************************************************
Enter a model number of the product : GPG/GPH- 入力画面では、”3100”を打ち込んでリターンキーを押してください。
================================================
Ref.ID | Model | RSW1 | Device No.
------------------------------------------
1 | PCI-3120 | 0 | 1
------------------------------------------
2 | PCI-3174 | 1 | 2
================================================
項目 内容
Ref.ID そのデバイス番号の ID です。
次のメニューでデバイス番号の変更などを行う際に指定します。
Model 現在システムが認識している GPG-3100 が制御するデバイス一覧です。
RSW1 RSW1 設定値です。
Device No. デバイス番号です。
次にメニューを選択します。メニューに示されている番号を入力することでそれぞれの設定変更が可能です。
************** Command ***************
1. Change the device number.
2. Delete the device number.
3. Load new device setting file.
4. Run the initialization program.
5. Run the CardBus ID setup utility.
99. Exit the program.
**************************************
Enter the command number:
GPG-3100 Help for Linux
© 2000 Interface Corporation.
9
番号 項目 内容
1 デバイス番号の変更 デバイス番号の変更を行います。
2 デバイス番号(ノード)の削除
設定されたデバイス番号を削除します。ID を入力してくだ
さい。ここでデバイス番号を削除した場合は、再度 dpg0101
を実行するとデバイス番号が設定されます。
3 別のソフト型式のデバイス番
号設定
GPG-3100 以外の GPG-XXXX で制御する製品型式のデバイス
番号設定に移ります。他のカテゴリ(例えば DIO(GPG-2000)
など)と併用してシステムを構築している場合に使用して
ください。
4 初期設定ユーティリティの起
動
GPG-3100 では使用できません。
5 カードバス ID 設定ユーティリ
ティの起動
複数枚の同一型式カードバス製品を使用する際に使用し
ます。
『3.3 カードバスID設定ユーティリティについて』をご参
照ください。
99 プログラムの終了 デバイス番号設定ユーティリティを終了します。
※新しくデバイスをシステムに組み込んだ場合は、全てのデバイスに対してデバイス番号設定プロ
グラムでデバイスノードを作成してください。
複数カテゴリのドライバ使用時にドライバのロード順番が前回と変わった場合には、ドライバの
ロード順番を、デバイス番号設定プログラムを実行した際の順番に戻して下さい。
やむをえず、ドライバのロード順番を変更する場合は、デバイス番号設定プログラムで再設定を
行なって下さい。
※ソルコンCD製品(PCI-322012、PCI-361516)、デバイス番号設定は行えません。デバイス番号は257
となります。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
10
3. プログラム作成
プログラムの作成を行います。エディタを起動し、下記のコードを記述します。
ここでは RSW1 設定値が 0の PCI-3120(デバイス番号 1)についてコードを記述しています。
#include <stdio.h>
#include “fbiad.h”
int main()
{
int nRet;
ADSMPLREQ AdSmplConfig;
unsigned long ulSmplNum;
unsigned short SmplData[1024];
nRet = AdOpen( 1 );
if (nRet != AD_ERROR_SUCCESS){
printf("Open Error\n”);
return -1;
}
// サンプリング条件の取得
AdGetSamplingConfig( 1, &AdSmplConfig );
AdSmplConfig.ulChCount = 1;
AdSmplConfig.SmplChReq[0].ulChNo = 1;
AdSmplConfig.SmplChReq[0].ulRange = AD_5V;
AdSmplConfig.ulSamplingMode = AD_IO_SAMPLING;
AdSmplConfig.ulSingleDiff = AD_INPUT_SINGLE;
AdSmplConfig.ulSmplNum = 1024;
AdSmplConfig.ulSmplEventNum = 0;
AdSmplConfig.fSmplFreq = 1000.0;
AdSmplConfig.ulTrigPoint = AD_TRIG_START;
AdSmplConfig.ulTrigMode = AD_FREERUN;
AdSmplConfig.lTrigDelay = 0;
AdSmplConfig.ulTrigCh = 1;
AdSmplConfig.fTriglevel1 = 0.0;
AdSmplConfig.fTriglevel2 = 0.0;
AdSmplConfig.ulEClkEdge = AD_DOWN_EDGE;
AdSmplConfig.ulATrgPulse = AD_LOW_PULSE;
AdSmplConfig.ulTrigEdge = AD_DOWN_EDGE;
AdSmplConfig.ulTrigDI = 1;
AdSmplConfig.ulFastMode = AD_NORMAL_MODE;
// サンプリング条件の設定
AdSetSamplingConfig( 1, &AdSmplConfig );
// 連続サンプリングの開始
AdStartSampling( 1, FLAG_SYNC );
// データの取得
ulSmplNum = 1024;
AdGetSamplingData( 1, &SmplData[0], &ulSmplNum );
GPG-3100 Help for Linux
© 2000 Interface Corporation.
11
Ret = AdClose( 1 ); n
return 0;
}
ードの記述が終われば Adtest.c というファイル名で保存しておきます。
コンパイル
ムをコンパイルします。下記のコマンドを実行してください。
コ
4.
作成したプログラ
#gcc – o Adtest Adtest.c – lgpg3100
5. 実行
することで実行ファイル Adtest ができていますので、 コンパイル
#./Adtest
と入力し、プログラムを実行してください。
定」 → 「サンプリングの開始」 → 「データの取得」
り詳しいプログラム方法は、『3.2 制御手順
「デバイスオープン」→「サンプリング条件設
→ 「デバイスクローズ」の一連のデバイス制御を行います。
よ 』、およびチュートリアルをご参照ください。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
12
3.2 制御手順 サンプリングの方法
1. 連続してサンプリングを行うには
連続してサンプリングを行うには、AdSetSamplingConfig 関数にてサンプリング条件を設定してから、
AdStartSampling 関数でサンプリングを開始します。
サンプリングデータの取得は AdGetSamplingData 関数にて行います。
以下、C言語によるプログラム例を示します。
int AdSampling(int nDevice )
{
int nRet;
ADSMPLREQ AdSmplConfig;
unsigned long ulSmplNum;
unsigned short SmplData[1024][2];
nRet = AdOpen( nDevice );
if (nRet != AD_ERROR_SUCCESS){
printf("Open Error”);
return -1;
}
// サンプリング条件の取得
AdGetSamplingConfig( 1, &AdSmplConfig );
AdSmplConfig.ulChCount = 2;
AdSmplConfig.SmplChReq[0].ulChNo = 1;
AdSmplConfig.SmplChReq[0].ulRange = AD_5V;
AdSmplConfig.SmplChReq[1].ulChNo = 2;
AdSmplConfig.SmplChReq[1].ulRange = AD_5V;
AdSmplConfig.ulSamplingMode = AD_IO_SAMPLING;
AdSmplConfig.ulSingleDiff = AD_INPUT_SINGLE;
AdSmplConfig.ulSmplNum = 1024;
AdSmplConfig.ulSmplEventNum = 0;
AdSmplConfig.fSmplFreq = 1000.0;
AdSmplConfig.ulTrigPoint = AD_TRIG_START;
AdSmplConfig.ulTrigMode = AD_FREERUN;
AdSmplConfig.lTrigDelay = 0;
AdSmplConfig.ulTrigCh = 1;
AdSmplConfig.fTriglevel1 = 0.0;
AdSmplConfig.fTriglevel2 = 0.0;
AdSmplConfig.ulEClkEdge = AD_DOWN_EDGE;
AdSmplConfig.ulATrgPulse = AD_LOW_PULSE;
AdSmplConfig.ulTrigEdge = AD_DOWN_EDGE;
AdSmplConfig.ulTrigDI = 1;
AdSmplConfig.ulFastMode = AD_NORMAL_MODE;
// サンプリング条件の設定
AdSetSamplingConfig( nDevice, &AdSmplConfig );
// 連続サンプリングの開始
AdStartSampling( nDevice, FLAG_SYNC );
GPG-3100 Help for Linux
© 2000 Interface Corporation.
13
// データの取得
ulSmplNum = 1024;
AdGetSamplingData( nDevice, &SmplData[0][0], &ulSmplNum );
nRet = AdClose( nDevice );
if (nRet != AD_ERROR_SUCCESS){
printf("CloseError”);
return -1;
}
return 0;
}
GPG-3100 Help for Linux
© 2000 Interface Corporation.
14
2. 1 件のサンプリングを行うには
1件のサンプリングを行うには、AdInputAD 関数を使用します。
AdInputAD 関数を実行するたびに指定チャンネルで 1回サンプリングします。
int AdSampling(int nDevice )
{
int nRet;
ADSMPLCHREQ AdSmplChReq[2];
unsigned short Data[2];
nRet = AdOpen( 1 );
if (nRet != AD_ERROR_SUCCESS){
printf("Open Error”);
return -1;
}
AdSmplChReq[0].ulChNo = 1;
AdSmplChReq[0].ulRange = AD_5V;
AdSmplChReq[1].ulChNo = 2;
AdSmplChReq[1].ulRange = AD_5V;
// 1 件のサンプリング実行
AdInputAD( 1, 2, AD_INPUT_SINGLE, &AdSmplChReq[0], &Data[0]);
nRet = AdClose( nDevice );
if (nRet != AD_ERROR_SUCCESS){
printf("Close Error”);
return -1;
}
return 0;
}
GPG-3100 Help for Linux
© 2000 Interface Corporation.
15
3. 複数枚のデバイスを同期させてサンプリングするには
複数枚同期サンプリング機能を使用することによりサンプリングを同期させることができます。1枚
のデバイスをマスタとして残りのデバイスをスレーブとして処理を行います。
同期サンプリングを行うデバイスに対してそれぞれ、AdSetSamplingConfig 関数にてサンプリング条
件を設定してから、スレーブデバイスに対してそれぞれ AdSyncSampling 関数を実行します。
そして 後にマスタデバイスで、AdSyncSampling 関数を実行することにより、サンプリングが同期
して開始します。
サンプリングデータの取得はそれぞれのデバイスに対して AdGetSamplingData 関数を実行します。
int AdSampling_Mast_Slav(int nDevice1, int nDevice2, int nDevice3)
{
int nRet;
ADSMPLREQ AdConfigMaster;
ADSMPLREQ AdConfigSlave1;
ADSMPLREQ AdConfigSlave2;
unsigned short DataMaster[1024][2];
unsigned short DataSlave1[1024][2];
unsigned short DataSlave2[1024][2];
unsigned long ulSmplNum;
unsigned long Status, Count, AvailCount;
nRet = AdOpen( nDevice1 );
if (nRet != AD_ERROR_SUCCESS){
printf("Open Error”);
return -1;
}
nRet = AdOpen( nDevice2 );
if (nRet != AD_ERROR_SUCCESS){
printf("Open Error”);
AdClose(nDevice1);
return -1;
}
nRet = AdOpen( nDevice3 );
if (nRet != AD_ERROR_SUCCESS){
AdClose(nDevice1);
AdClose(nDevice2);
printf("Open Error”);
return -1;
}
// サンプリング条件の取得
AdGetSamplingConfig( nDevice1, & AdConfigMaster );
// サンプリング条件の設定(マスタデバイス)
AdConfigMaster.ulChCount = 2;
AdConfigMaster.SmplChReq[0].ulChNo = 1;
AdConfigMaster.SmplChReq[0].ulRange = AD_5V;
AdConfigMaster.SmplChReq[1].ulChNo = 2;
AdConfigMaster.SmplChReq[1].ulRange = AD_5V;
AdConfigMaster.ulSamplingMode = AD_IO_SAMPLING;
AdConfigMaster.ulSingleDiff = AD_INPUT_SINGLE;
GPG-3100 Help for Linux
© 2000 Interface Corporation.
16
AdConfigMaster.ulSmplNum = 1024;
AdConfigMaster.ulSmplEventNum = 0;
AdConfigMaster.fSmplFreq = 1000.0;
AdConfigMaster.ulTrigPoint = AD_TRIG_START;
AdConfigMaster.ulTrigMode = AD_FREERUN;
AdConfigMaster.lTrigDelay = 0;
AdConfigMaster.ulTrigCh = 1;
AdConfigMaster.fTriglevel1 = 0.0;
AdConfigMaster.fTriglevel2 = 0.0;
AdConfigMaster.ulEClkEdge = AD_DOWN_EDGE;
AdConfigMaster.ulATrgPulse = AD_LOW_PULSE;
AdConfigMaster.ulTrigEdge = AD_DOWN_EDGE;
AdConfigMaster.ulTrigDI = 1;
AdConfigMaster.ulFastMode = AD_NORMAL_MODE;
AdSetSamplingConfig( nDevice1, &AdConfigMaster );
// サンプリング条件の取得
AdGetSamplingConfig( nDevice2, &AdConfigSlave1 );
// サンプリング条件の設定(スレーブデバイス 1)
AdConfigSlave1.ulChCount = 2;
AdConfigSlave1.SmplChReq[0].ulChNo = 1;
AdConfigSlave1.SmplChReq[0].ulRange = AD_5V;
AdConfigSlave1.SmplChReq[1].ulChNo = 2;
AdConfigSlave1.SmplChReq[1].ulRange = AD_5V;
AdSetSamplingConfig( nDevice2, &AdConfigSlave1 );
// サンプリング条件の取得
AdGetSamplingConfig( nDevice3, &AdConfigSlave2);
// サンプリング条件の設定(スレーブデバイス 2)
AdConfigSlave2.ulChCount = 2;
AdConfigSlave2.SmplChReq[0].ulChNo = 1;
AdConfigSlave2.SmplChReq[0].ulRange = AD_5V;
AdConfigSlave2.SmplChReq[1].ulChNo = 2;
AdConfigSlave2.SmplChReq[1].ulRange = AD_5V;
AdSetSamplingConfig( nDevice3, &AdConfigSlave2 );
// スレーブデバイスから実行
AdSyncSampling( nDevice2, AD_SLAVE_MODE );
AdSyncSampling( nDevice3, AD_SLAVE_MODE );
// マスタデバイスで実行
nRet = AdSyncSampling( nDevice1, AD_MASTER_MODE );
// サンプリング終了まで待機
if ( !nRet ) {
do{
nRet = AdGetStatus( nDevice1, &Status, &Count, &AvailCount );
if (nRet) {
printf("Status Error\n");
AdClose( nDevice1 );
AdClose( nDevice2 );
GPG-3100 Help for Linux
© 2000 Interface Corporation.
17
AdClose( nDevice3 );
return -1;
}
} while ( Status != AD_STATUS_STOP_SAMPLING );
}
// データの取得(マスタデバイス)
ulSmplNum = 1024;
AdGetSamplingData( nDevice1, &DataMaster[0][0], &ulSmplNum );
// データの取得(スレーブデバイス 1)
ulSmplNum = 1024;
AdGetSamplingData( nDevice2, &DataSlave1[0][0], &ulSmplNum );
// データの取得(スレーブデバイス 2)
ulSmplNum = 1024;
AdGetSamplingData( nDevice3, &wDataSlave2[0][0], &ulSmplNum );
nRet = AdClose( nDevice1 );
if (nRet != AD_ERROR_SUCCESS){
AdClose(nDevice2);
AdClose(nDevice3);
printf("Close Error”);
return -1;
}
nRet = AdClose( nDevice2 );
if (nRet != AD_ERROR_SUCCESS){
AdClose(nDevice3);
printf("Close Error”);
return -1;
}
nRet = AdClose( nDevice3 );
if (nRet != AD_ERROR_SUCCESS){
printf("Close Error”);
return -1;
}
return 0;
}
その他の方法としては、外部クロックを使用し、全てのデバイスに同一クロックを入力する方法や、
外部トリガを、全てのデバイスに入力し、全てのデバイスでサンプリングを同時に開始する方法など
があります。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
18
4. トリガによるサンプリングを開始するには
トリガによるサンプリングを開始するには、AdSetSamplingConfig 関数でサンプリング条件のトリガ
位置とトリガの種類を設定します。
StartSampling 関数にてサンプリングを開始します。
サンプリングデータの取得は AdGetSamplingData 関数にて行います。
int AdSampling(int nDevice )
{
int nRet;
ADSMPLREQ AdSmplConfig;
unsigned long ulSmplNum;
unsigned short SmplData[1024][2];
nRet = AdOpen( nDevice );
if (nRet != AD_ERROR_SUCCESS){
printf("Open Error”);
return -1;
}
// サンプリング条件の取得
AdGetSamplingConfig( nDevice, &AdSmplConfig );
AdSmplConfig.ulChCount = 2;
AdSmplConfig.SmplChReq[0].ulChNo = 1;
AdSmplConfig.SmplChReq[0].ulRange = AD_5V;
AdSmplConfig.SmplChReq[1].ulChNo = 2;
AdSmplConfig.SmplChReq[1].ulRange = AD_5V;
AdSmplConfig.ulSamplingMode = AD_IO_SAMPLING;
AdSmplConfig.ulSingleDiff = AD_INPUT_SINGLE;
AdSmplConfig.ulSmplNum = 1024;
AdSmplConfig.ulSmplEventNum = 0;
AdSmplConfig.fSmplFreq = 1000.0;
AdSmplConfig.ulTrigPoint = AD_TRIG_START; // トリガによるサンプリング開始
AdSmplConfig.ulTrigMode = AD_EXTTRG; // 外部トリガ
AdSmplConfig.lTrigDelay = 0;
AdSmplConfig.ulTrigCh = 1;
AdSmplConfig.fTriglevel1 = 0.0;
AdSmplConfig.fTriglevel2 = 0.0;
AdSmplConfig.ulEClkEdge = AD_DOWN_EDGE;
AdSmplConfig.ulATrgPulse = AD_LOW_PULSE;
AdSmplConfig.ulTrigEdge = AD_DOWN_EDGE;
AdSmplConfig.ulTrigDI = 1;
AdSmplConfig.ulFastMode = AD_NORMAL_MODE;
// サンプリング条件の設定
AdSetSamplingConfig( nDevice, &AdSmplConfig );
// トリガ待ち状態にし、トリガ条件成立後に連続サンプリングが開始されます
AdStartSampling( nDevice, FLAG_SYNC );
// データの取得
GPG-3100 Help for Linux
© 2000 Interface Corporation.
19
ulSmplNum = 1024;
AdGetSamplingData( nDevice, &SmplData[0][0], &ulSmplNum );
nRet = AdClose( nDevice );
if (nRet != AD_ERROR_SUCCESS){
printf("Close Error”);
return -1;
}
return 0;
}
GPG-3100 Help for Linux
© 2000 Interface Corporation.
20
5. 外部クロックによるサンプリング開始するには
外部クロックによるサンプリングを開始するには、AdSetSamplingConfig 関数でサンプリング条件で
外部クロックを使用する設定をします。
外部クロックにするためにはサンプリング周波数の設定を 0Hz にします。AdStartSampling 関数を
実行後、外部からクロックが入力されるとサンプリングを開始します。
サンプリングデータの取得は AdGetSamplingData 関数にて行います。
int AdSampling(int nDevice )
{
int nRet;
ADSMPLREQ AdSmplConfig;
unsigned long ulSmplNum;
unsigned short SmplData[1024][2];
nRet = AdOpen( nDevice );
if (nRet != AD_ERROR_SUCCESS){
printf("Open Error”);
return -1;
}
// サンプリング条件の取得
AdGetSamplingConfig( nDevice, &AdSmplConfig );
AdSmplConfig.ulChCount = 2;
AdSmplConfig.SmplChReq[0].ulChNo = 1;
AdSmplConfig.SmplChReq[0].ulRange = AD_5V;
AdSmplConfig.SmplChReq[1].ulChNo = 2;
AdSmplConfig.SmplChReq[1].ulRange = AD_5V;
AdSmplConfig.ulSamplingMode = AD_IO_SAMPLING;
AdSmplConfig.ulSingleDiff = AD_INPUT_SINGLE;
AdSmplConfig.ulSmplNum = 1024;
AdSmplConfig.ulSmplEventNum = 0;
AdSmplConfig.fSmplFreq = 0.0; // 外部クロックを使用する
AdSmplConfig.ulTrigPoint = AD_TRIG_START;
AdSmplConfig.ulTrigMode = AD_FREERUN;
AdSmplConfig.lTrigDelay = 0;
AdSmplConfig.ulTrigCh = 1;
AdSmplConfig.fTriglevel1 = 0.0;
AdSmplConfig.fTriglevel2 = 0.0;
AdSmplConfig.ulEClkEdge = AD_DOWN_EDGE;
AdSmplConfig.ulATrgPulse = AD_LOW_PULSE;
AdSmplConfig.ulTrigEdge = AD_DOWN_EDGE;
AdSmplConfig.ulTrigDI = 1;
AdSmplConfig.ulFastMode = AD_NORMAL_MODE;
// サンプリング条件の設定
AdSetSamplingConfig( nDevice, &AdSmplConfig );
// 外部クロックが入力されると連続サンプリングが開始されます
AdStartSampling( nDevice, FLAG_SYNC );
// データの取得
GPG-3100 Help for Linux
© 2000 Interface Corporation.
21
ulSmplNum = 1024;
AdGetSamplingData( nDevice, &SmplData[0][0], &ulSmplNum );
nRet = AdClose( nDevice );
if (nRet != AD_ERROR_SUCCESS){
printf("Close Error”);
return -1;
}
return 0;
}
GPG-3100 Help for Linux
© 2000 Interface Corporation.
22
6. トリガ入力される度に 1件のサンプリングをするには AdTriggerSampling 関数を使用することでトリガが入力される度に 1 件のサンプリングが出来ます。
サンプリングデータの取得は AdGetSamplingData 関数にて行います。
以下、C言語によるプログラム例を示します。
int AdSampling(int nDevice )
{
int nRet;
unsigned long ulSmplNum;
unsigned short SmplData[1024];
unsigned long Status, Count, AvailCount;
nRet = AdOpen( nDevice );
if (nRet != AD_ERROR_SUCCESS){
printf("Open Error”);
return -1;
}
// トリガが入力される度に 1件のサンプリングが行われます
nRet = AdTriggerSampling(nDevice,1, AD_5V, AD_INPUT_SINGLE, AD_EXTTRG, AD_DOWN_EDGE,
1024 );
// サンプリング終了まで待機
if ( !nRet ) {
do{
nRet = AdGetStatus( nDevice, &Status, &Count, &AvailCount );
if (nRet) {
printf("Status Error\n");
AdClose( nDevice );
return -1;
}
} while ( Status != AD_STATUS_STOP_SAMPLING );
}
// データの取得
ulSmplNum = 1024;
AdGetSamplingData( nDevice, &SmplData[0], &ulSmplNum );
nRet = AdClose( nDevice );
if (nRet != AD_ERROR_SUCCESS){
printf("Close Error”);
return -1;
}
return 0;
}
GPG-3100 Help for Linux
© 2000 Interface Corporation.
23
7. メモリ方式デバイスでサンプリングをするには CSI/CBI-320110, CBI-320110TK, 320110TL, CTP/CPZ-360810, LPC-320910, PEX-320910 でサンプリ
ングを行うには、AdMemSetSamplingConfig 関数にてサンプリング条件を設定してから、
AdStartSampling 関数でサンプリングを開始します。
サンプリングデータの取得は AdGetSamplingData 関数にて行います。
int AdSampling(int nDevice )
{
int nRet;
unsigned long ulSmplNum;
unsigned short SmplData[1024];
ADMEMSMPLREQ AdSmplConfig;
unsigned long Status, Count, AvailCount;
nRet = AdOpen( nDevice );
if (nRet != AD_ERROR_SUCCESS){
printf("Open Error”);
return -1;
}
// サンプリング条件の設定
AdMemGetSamplingConfig( nDevice, &AdSmplConfig );
AdSmplConfig.ulChCount = 2;
AdSmplConfig.SmplChReq[0].ulChNo = 1;
AdSmplConfig.SmplChReq[0].ulRange = AD_1V;
AdSmplConfig.SmplChReq[1].ulChNo = 2;
AdSmplConfig.SmplChReq[1].ulRange = AD_1V;
AdSmplConfig.ulSingleDiff = AD_INPUT_DIFF;
AdSmplConfig.fSmplFreq = 1000.0;
AdSmplConfig.ulStopMode = AD_STOP_SOFT;
AdSmplConfig.ulPreTrigDelay = 0;
AdSmplConfig.ulPostTrigDelay = 1024;
AdSmplConfig.TrigChReq[0].ulChNo = 1;
AdSmplConfig.TrigChReq[0].fTrigLevel = 0.0f;
AdSmplConfig.TrigChReq[0].fHysteresis = 0.1f;
AdSmplConfig.TrigChReq[1].ulChNo = 1;
AdSmplConfig.TrigChReq[1].fTrigLevel = 0.0f;
AdSmplConfig.TrigChReq[1].fHysteresis = 0.1f;
AdSmplConfig.ulATrgMode = AD_DISABLE;
AdSmplConfig.ulATrgPulse = AD_LOW_PULSE;
AdSmplConfig.ulStopTrigEdge = AD_DOWN_EDGE;;
AdSmplConfig.ulEClkEdge = AD_DOWN_EDGE;
AdSmplConfig.ulFastMode = AD_NORMAL_MODE;
AdSmplConfig.ulStatusMode = AD_NO_STATUS;
AdSmplConfig.ulErrCtrl = AD_FREERUN;
// サンプリング条件の設定
AdMemSetSamplingConfig( nDevice, &AdSmplConfig );
// サンプリングの開始
GPG-3100 Help for Linux
© 2000 Interface Corporation.
24
AdStartSampling( nDevice, FLAG_ASYNC );
:
:
// サンプリングの停止
AdStopSampling( nDevice);
// データの取得
ulSmplNum = 1024;
AdGetSamplingData( nDevice, &SmplData[0], &ulSmplNum );
nRet = AdClose( nDevice );
if (nRet != AD_ERROR_SUCCESS){
printf("Close Error”);
return -1;
}
return 0;
}
GPG-3100 Help for Linux
© 2000 Interface Corporation.
25
3.3 カードバス ID 設定ユーティリティについて カードバス ID 設定ユーティリティは、複数枚の同一型式カードバス製品を使用する為のものです。
カード毎に異なる ID 番号を設定します。
【操作方法】
#dpg0101 -c
実行すると、現在挿入されている弊社カードバス製品の情報が表示されます。
=====================================================
Ref.ID | Bus | Dev | Func | Model | RSW1
-----------------------------------------------------
1 | 2 | 0 | 1 | CBI-3133A | 0
=====================================================
項目 内容
Ref.ID カードのインデックス番号です。
メニューでカードの選択を行う際に指定します。
Bus カードが挿入されているバス番号を示します。
Dev カードが挿入されているデバイス番号を示します。
Func カードが挿入されているデバイス番号を示します。
Model カードの型式を示します。
RSW1 設定されている ID 番号を示します。
ID 番号を変更したい場合はメニューから「1」を選択し、変更を行いたいカードのインデックス番号
を入力します。
**************Command********************
1. Change the board id number.
2. Run the device number setup utility.
99. Exit the program.
*****************************************
Enter the command number: 1
次にカード ID 番号を入力しリターンキーを押します。カード ID 番号は 0~15 の値を入力してくださ
い。
Enter Ref.ID: 1
Enter the board id number (0-15).
If you want to cancel this operation, enter -1.
: 1
「99」を選択することでユーティリティを終了します。
※変更した ID 番号をシステムに認識させるには、ドライバの再起動が必要です。
※設定した ID 番号がわかるように番号を記したシールをカードに貼ることをお勧めします。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
26
第4章 機能説明
弊社アナログ入力デバイスを制御するにあたって、知っておく必要がある事項を説明します。
4.1 サンプリング方式
サンプリング方式とは、サンプリングを行うときの動作方式のことを示します。サンプリング方式に
は次の 4種類があり、AdSetSamplingConfig関数で指定します。
I/O 方式
FIFO 方式
メモリ方式
バスマスタ方式
(AdBmSetSamplingConfig関数は、バスマスタ方式でのみ使用できます)。
(AdLvSetSamplingConfig関数は、PCI-3179, CTP/CPZ-3179 でのみ使用できます)。
( AdMemSetSamplingConfig 関 数 は 、 LPC-320910, PEX-320910, CPZ-360810, CSI/CBI-320110,
CBI-320110TK, CBI-320110TLのみ使用できます)。
ご使用のデバイスが対応しているサンプリング方式はAdGetDeviceInfo関数で取得することができま
す。
4.1.1 IO 方式 パソコンへのハードウェア割り込みで、1件ずつデータをサンプリングする方式です。
全てのトリガ機能、トリガディレイ機能が使用できます。
また、サンプリング件数の制限がありません。
デバイスによる制限については、使用上の注意事項を参照してください。
以下の型式が I/O 方式に対応しています。
PCI-3120, PCI-3126, PCI-3133, PCI-3135, PCI-3165, PCI-3166, PCI-3168C, PCI-3170A, PCI-3171A,
PCI-3172A, PCI-3173A, PCI-3177C, PCI-3178, PCI-3179, PCI-3180, PCI-3521, PCI-3522A, PCI-3523A,
PCI-322012, PCI-361516
CTP/CPZ-3120A, CTP/CPZ-3120B, CTP/CPZ-3120C, CTP/CPZ-3126, CTP/CPZ-3133, CTP/CPZ-3135,
CTP/CPZ-3165, CTP/CPZ-3168, CTP/CPZ-3170, CTP/CPZ-3171, CTP/CPZ-3172, CTP/CPZ-3173,
CTP/CPZ-3177, CTP/CPZ-3178, CTP/CPZ-3179, CTP/CPZ-3180A, CTP/CPZ-3180B, CTP/CPZ-3180C,
CTP/CPZ-3521, CTP/CPZ-3522, CTP/CPZ-3523
PEX-H3133, PEX-H3177, PEX-H3178
GPG-3100 Help for Linux
© 2000 Interface Corporation.
27
4.1.2 FIFO 方式 デバイス上の FIFO メモリにサンプリングデータを蓄え、一定件数のサンプリングデータが FIFO に蓄
えられるとパソコンにハードウェア割り込みをかけ、必要な件数分のサンプリングデータを FIFO か
ら取り出す方式です。
高速なサンプリングを実現できますが、トリガ機能、トリガディレイ機能、イベント処理への制限が
発生します。
ご使用のデバイスによりサンプリング件数に上限がある場合があります。
これらの制限は、使用するデバイスにより異なります。
デバイスによる制限については、使用上の注意事項を参照してください。
以下の型式が FIFO 方式に対応しています。また、これらの型式は I/O 方式としても使用できます。
PCI-3153, PCI-3155, PCI-362816
LPC-321316, LPC-321416, LPC-361316, LPC-361416
PEX-321316, PEX-321416, PEX-361316, PEX-361416
CBI-3133A, CBI-3133B, CBI-3134A, CBI-3134B, CSI/CBI-320212, CBI-320212TR, CBI-320212TK,
CBI-320212TL, CSI/CBI-320312, CBI-320312TR, CBI-320312TK, CBI-320312TL
CTP/CPZ-3167
4.1.3 メモリ方式 デバイス上のメモリを利用してサンプリングを行う方式です。非常に高速なサンプリングを行うこと
ができます。但し、サンプリング件数、トリガ機能、トリガディレイ機能、イベント処理に制限が発
生します。
デバイスによる制限については、使用上の注意事項を参照してください。
以下の型式がメモリ方式に対応しています。
PCI-3161, PCI-3163
LPC-320910
PEX-320910
CSI/CBI-320110, CBI-320110TK, CBI-320110TL
CTP/CPZ-360810
4.1.4 バスマスタ方式 PCI バスマスタ機能を使用した DMA 転送を利用してサンプリングを行う方式です。
デバイスからパソコン上のメモリに直接データが転送されるため、非常に高速なサンプリングを行う
ことができます。但し、トリガディレイ機能、イベント処理に制限が発生します。
デバイスによる制限については、使用上の注意事項を参照してください。
以下の型式がバスマスタ方式に対応しています。
PCI-3174, PCI-3175, PCI-3176, PCI-3525, PCI-320112, PCI-320412, PCI-320416, PCI-360116,
PCI-360112, PCI-360216, PCI-321516, PCI-362616
LPC-320724, LPC-321012, LPC-321116, LPC-321216, LPC-361116, LPC-361216
PEX-320724, PEX-321012, PEX-321116, PEX-321216, PEX-361116, PEX-361216
CTP/CPZ-3174, CTP/CPZ-3175, CTP/CPZ-3182, CTP/CPZ-3183, CTP/CPZ-320412, CTP/CPZ-320416,
CTP/CPZ-3525, CTP/CPZ-360116, CTP/CPZ-360112
CSI/CBI-320412, CBI-320412TR, CBI-320412TK, CBI-320412TL, CSI/CBI-320416, CBI-320416TR,
CBI-320416TK, CBI-320416TL, CSI/CBI-360112, CBI-360112TR, CBI-360112TK, CBI-360112TL,
CSI/CBI-360116, CBI-360116TR, CBI-360116TK, CBI-360116TL
PEX-H3525, PEX-H360116
GPG-3100 Help for Linux
4.2 トリガ トリガ機能は、サンプリングスタート(AdStartSampling関数呼び出し)後、実際のサンプリングを
開始、またはサンプリングを終了するタイミングを決定する機能です。
トリガ機能には、次のものがあります。
1. アナログトリガ
2. 外部トリガ
3. DI マスク付き外部トリガ
トリガディレイ機能が設定されている場合、実際のサンプリング開始/終了は、これらのトリガから
ディレイ件数分のずれが発生します。
サンプリングスタート、ストップの両方にトリガを指定した場合には、スタート時にしかディレイを
設定する事はできません。
また、この場合にはストップトリガより先に、指定したサンプリング件数に達するとサンプリングは
終了します。
4.2.1 アナログトリガ トリガチャンネルに指定されたチャンネルへの入力レベルと、トリガレベルで指定したレベルの関
係で、実際のサンプリングを開始/終了するタイミングを決定します。
アナログトリガには、次の種類があります。
レベルプラス
トリガレベル 1で設定したレベルより低いレベルから、高いレベルへと変化が起こった時をトリ
ガとします。
レベルマイナス
トリガレベル1で設定したレベルより高いレベルから低いレベルへと変化が起こった時をトリガ
とします。
トリガレベル 1 ○
トリガポイント
トリガポイント
○トリガレベル 1
© 2000 Interface Corporation.
28
GPG-3100 Help for Linux
レベルデュアル
レベルプラス(トリガポイント 1)とレベルマイナス(トリガポイント 2)の両方を OR条件で判定し、
トリガとします。
アウトレンジ
トリガレベル 1,2 の 2 つのレベルを設定し、2 つのレベル範囲内から範囲外へと変化が起こった
時をトリガとします。
インレンジ
トリガレベル 1,2 の 2 つのレベルを設定し、2 つのレベル範囲外から範囲内へと変化が起こった
時をトリガとします。
トリガレベル 1 ○ ○
トリガポイント 2
トリガポイント 1
トリガレベル 2 ○
○トリガレベル 1
トリガエリア
トリガエリア
トリガレベル 2
○
○
トリガレベル 1
トリガエリア
トリガポイント
トリガポイント
© 2000 Interface Corporation.
29
GPG-3100 Help for Linux
4.2.2 外部トリガ 外部トリガは、外部からのトリガ入力信号により実際のサンプリングを開始/終了するタイミング
を決定します。
外部トリガ入力端子は使用するデバイス、サンプリング方式により異なります。
サンプリング方式 外部トリガ入力端子
I/O 方式 EXINT IN 端子
FIFO 方式 EXTRG IN 端子
メモリ方式 EXTRG IN 端子
バスマスタ方式 EXTRG IN 端子
外部トリガ有効エッジ選択
外部トリガ入力の極性を設定可能なデバイスの場合、外部トリガ入力端子への立ち上がり/立
ち下がりの選択が可能です。設定不可能なデバイスの場合、有効となるトリガ信号は、ハード
ウェアユーザーズマニュアルを参照してください。
4.2.3 DI マスク付き外部トリガ 外部トリガ機能に、DI 入力状態によるマスク機能を追加したものです。
指定した DI 端子への入力が Low レベルとなっているときの外部トリガが有効なトリガ入力となり
ます。
DI 端子の入力状態が High レベルの場合、外部トリガ入力は無視されます。
使用するデバイス、サンプリング方式により使用できる DI 端子が異なります。
サンプリング方式 DI 端子
I/O 方式 IN1、IN2 端子
FIFO 方式 IN1 端子
メモリ方式 未対応
バスマスタ方式 IN1 端子
外部トリガ
DI 入力端子
このトリガでサンプリングは
開始されません。 このトリガでサンプリングは
開始されます。
© 2000 Interface Corporation.
30
GPG-3100 Help for Linux
© 2000 Interface Corporation.
31
4.2.4 トリガディレイ トリガ機能が設定されている場合、トリガとなったタイミングから更に実際のサンプリング開始
/終了のタイミングをずらせる機能です。トリガディレイには、次の 2つがあります。
ポストトリガディレイ
トリガとなったタイミングから、ディレイ件数分遅れたデータを実際のサンプリング開始/終
了タイミングとします。
プリトリガディレイ
トリガとなったタイミングから、ディレイ件数分、前のデータを実際のサンプリング開始タイ
ミングとします。
トリガディレイ時のサンプリング件数
サンプリング件数、トリガ件数はAdSetSamplingConfig関数、AdBmSetSamplingConfig関数で設
定する値です。
1) スタートトリガ+プリトリガディレイ
|<------サンプリング件数------->|
| | |
|プリトリガ件数| |
|<----->|---------------|
| |
トリガ発生 サンプリング終了
サンプリング件数にはプリトリガ件数も含まれます。
2)スタートトリガ+ポストトリガディレイ
|<------サンプリング件数------->|
| | |
|ポストトリガ件数| |
|<------>|-----------------------|
| |
トリガ発生 サンプリング終了
サンプリング件数にポストトリガ件数は含まれません。
3)ストップトリガ+ポストトリガディレイ
|<------サンプリング件数------->|
| |
| |ポストトリガ件数|
|--------------|<------>|
| |
トリガ発生 サンプリング終了
サンプリング件数にはポストトリガ件数も含まれます。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
32
※LPC-320910, PEX-320910, CPZ-360810, CSI/CBI-320110, CBI-320110TK, CBI-320110TL の場合は以
下のようになります。
プリトリガ件数、ポストトリガ件数は、AdMemSetSamplingConfig関数で設定できます。
プリトリガディレイ、ポストトリガディレイはストップトリガのみとなります。
サンプリング件数の設定はなく、ストップトリガが入った位置からプリトリガ/ポストトリガの
件数となります。
1)プリトリガあり-ポストトリガなし
トリガ発生
| | プリトリガ件数 |
|<-------->|<------------------------------>|
| | |
開始コマンド サンプリング終了
2)プリトリガなし-ポストトリガあり
トリガ発生
| | ポストトリガ件数 |
|<---------------------->|<------------------------->|
| | |
開始コマンド サンプリング終了
3)プリトリガあり-ポストトリガあり
トリガ発生
| |プリトリガ件数 | ポストトリガ件数 |
|<-------->|<------------------->|<------------------------>|
| | | |
開始コマンド サンプリング終了
GPG-3100 Help for Linux
© 2000 Interface Corporation.
33
4.3 各製品で使用する端子の一覧 使用する製品により使用する端子が異なります。
使用する端子は以下の通りです。
AdStartSampling
AdStartFileSampling
AdSyncSampling
AdBmStartFileSampling
AdTriggerSampling 製品
外部クロック 外部トリガ 外部トリガ
PCI-3120 EXTRG IN EXINT IN 関数未対応
PCI-3126 EXINT IN EXINT IN EXTRG IN
PCI-3133 EXINT IN EXINT IN EXTRG IN
PCI-3135 EXINT IN EXINT IN EXTRG IN
IO 方式 EXINT IN EXINT IN EXTRG IN PCI-3153
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
IO 方式 EXINT IN EXINT IN EXTRG IN PCI-3155
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
PCI-3161 EXCLK IN EXTRG IN 関数未対応
PCI-3163 EXCLK IN EXTRG IN 関数未対応
PCI-3165 EXINT IN EXINT IN EXTRG IN
PCI-3166 EXINT IN EXINT IN EXTRG IN
PCI-3168C EXINT IN EXINT IN EXTRG IN
PCI-3170A EXINT IN EXINT IN EXTRG IN
PCI-3171A EXINT IN EXINT IN EXTRG IN
PCI-3172A EXINT IN EXINT IN EXTRG IN
PCI-3173A EXINT IN EXINT IN EXTRG IN
PCI-320112 EXCLK IN EXTRG IN 関数未対応
PCI-3174 EXCLK IN EXTRG IN 関数未対応
PCI-3175 EXCLK IN EXTRG IN 関数未対応
PCI-3176 EXCLK IN EXTRG IN 関数未対応
PCI-3178 EXTRG IN EXINT IN 関数未対応
PCI-3179 EXTRG IN EXINT IN 関数未対応
PCI-3180 EXTRG IN EXINT IN 関数未対応
PCI-3521 EXINT IN EXINT IN EXTRG IN
PCI-3522A EXINT IN EXINT IN EXTRG IN
PCI-3523A EXINT IN EXINT IN EXTRG IN
PCI-3525 EXCLK IN EXTRG IN 関数未対応
PCI-320112 EXCLK IN EXTRG IN 関数未対応
PCI-320412 EXCLK IN EXTRG IN 関数未対応
PCI-320416 EXCLK IN EXTRG IN 関数未対応
PCI-360112 EXCLK IN EXTRG IN 関数未対応
PCI-360116 EXCLK IN EXTRG IN 関数未対応
PCI-360216 EXCLK IN EXTRG IN 関数未対応
PCI-321516 関数未対応 関数未対応 関数未対応
PCI-322012 関数未対応 EXTRG IN 関数未対応
PCI-361516 関数未対応 EXTRG IN 関数未対応
PCI-362616 EXCLK IN EXTRG IN 関数未対応
IO 方式 EXINT IN EXINT IN EXTRG IN PCI-362816
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
CTP/CPZ-3120A EXTRG IN EXINT IN 関数未対応
GPG-3100 Help for Linux
© 2000 Interface Corporation.
34
CTP/CPZ-3120B EXTRG IN EXINT IN 関数未対応
CTP/CPZ-3120C EXTRG IN EXINT IN 関数未対応
CTP/CPZ-3126 EXINT IN EXINT IN EXTRG IN
CTP/CPZ-3133 EXINT IN EXINT IN EXTRG IN
CTP/CPZ-3135 EXINT IN EXINT IN EXTRG IN
CTP/CPZ-3165 EXINT IN EXINT IN EXTRG IN
IO 方式 EXINT IN EXINT IN EXTRG IN CTP/CPZ-3167
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
CTP/CPZ-3168 EXINT IN EXINT IN EXTRG IN
CTP/CPZ-3170 EXINT IN EXINT IN EXTRG IN
CTP/CPZ-3171 EXINT IN EXINT IN EXTRG IN
CTP/CPZ-3172 EXINT IN EXINT IN EXTRG IN
CTP/CPZ-3173 EXINT IN EXINT IN EXTRG IN
CTP/CPZ-3177 EXINT IN EXINT IN EXTRG IN
CTP/CPZ-3178 EXTRG IN EXINT IN 関数未対応
CTP/CPZ-3180A EXTRG IN EXINT IN 関数未対応
CTP/CPZ-3180B EXTRG IN EXINT IN 関数未対応
CTP/CPZ-3180C EXTRG IN EXINT IN 関数未対応
CTP/CPZ-3174 EXCLK IN EXTRG IN 関数未対応
CTP/CPZ-3175 EXCLK IN EXTRG IN 関数未対応
CTP/CPZ-3182 EXCLK IN EXTRG IN 関数未対応
CTP/CPZ-3183 EXCLK IN EXTRG IN 関数未対応
CTP/CPZ-320412 EXCLK IN EXTRG IN 関数未対応
CTP/CPZ-320416 EXCLK IN EXTRG IN 関数未対応
CTP/CPZ-3521 EXINT IN EXINT IN EXTRG IN
CTP/CPZ-3522 EXINT IN EXINT IN EXTRG IN
CTP/CPZ-3523 EXINT IN EXINT IN EXTRG IN
CTP/CPZ-3525 EXCLK IN EXTRG IN 関数未対応
CTP/CPZ-360112 EXCLK IN EXTRG IN 関数未対応
CTP/CPZ-360116 EXCLK IN EXTRG IN 関数未対応
CTP/CPZ-360810 EXCLK IN EXTRG IN 関数未対応
CBI/CSI-320110 EXCLK IN EXTRG IN 関数未対応
CBI-320110TK EXCLK IN EXTRG IN 関数未対応
CBI-320110TL EXCLK IN EXTRG IN 関数未対応
IO 方式 EXINT IN EXINT IN EXTRG IN CBI-3133A
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
IO 方式 EXINT IN EXINT IN EXTRG IN CBI-3133B
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
IO 方式 EXINT IN EXINT IN EXTRG IN CBI-3134A
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
IO 方式 EXINT IN EXINT IN EXTRG IN CBI-3134B
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
IO 方式 EXINT IN EXINT IN EXTRG IN CSI/CBI-320212
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
IO 方式 EXINT IN EXINT IN EXTRG IN CBI-320212TR
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
IO 方式 EXINT IN EXINT IN EXTRG IN CBI-320212TK
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
IO 方式 EXINT IN EXTRG IN EXTRG IN CBI-320212TL
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
CSI/CBI-320312 IO 方式 EXINT IN EXINT IN EXTRG IN
GPG-3100 Help for Linux
© 2000 Interface Corporation.
35
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
IO 方式 EXINT IN EXINT IN EXTRG IN CBI-320312TR
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
IO 方式 EXINT IN EXINT IN EXTRG IN CBI-320312TK
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
IO 方式 EXINT IN EXINT IN EXTRG IN CBI-320312TL
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
CSI/CBI-320412 EXCLK IN EXTRG IN 関数未対応
CBI-320412TR EXCLK IN EXTRG IN 関数未対応
CBI-320412TK EXCLK IN EXTRG IN 関数未対応
CBI-320412TL EXCLK IN EXTRG IN 関数未対応
CSI/CBI-320416 EXCLK IN EXTRG IN 関数未対応
CBI-320416TR EXCLK IN EXTRG IN 関数未対応
CBI-320416TK EXCLK IN EXTRG IN 関数未対応
CBI-320416TL EXCLK IN EXTRG IN 関数未対応
CSI/CBI-360112 EXCLK IN EXTRG IN 関数未対応
CBI-360112TR EXCLK IN EXTRG IN 関数未対応
CBI-360112TK EXCLK IN EXTRG IN 関数未対応
CBI-360112TL EXCLK IN EXTRG IN 関数未対応
CSI/CBI-360116 EXCLK IN EXTRG IN 関数未対応
CBI-360116TR EXCLK IN EXTRG IN 関数未対応
CBI-360116TK EXCLK IN EXTRG IN 関数未対応
CBI-360116TL EXCLK IN EXTRG IN 関数未対応
LPC-320724 EXCLK IN EXTRG IN 関数未対応
LPC-320910 EXCLK IN EXTRG IN 関数未対応
LPC-321012 EXCLK IN EXTRG IN 関数未対応
LPC-321116 EXCLK IN EXTRG IN 関数未対応
LPC-321216 EXCLK IN EXTRG IN 関数未対応
IO 方式 EXINT IN EXINT IN EXTRG IN LPC-321316
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
IO 方式 EXINT IN EXINT IN EXTRG IN LPC-321416
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
LPC-361116 EXCLK IN EXTRG IN 関数未対応
LPC-361216 EXCLK IN EXTRG IN 関数未対応
IO 方式 EXINT IN EXINT IN EXTRG IN LPC-361316
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
IO 方式 EXINT IN EXINT IN EXTRG IN LPC-361416
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
PEX-320724 EXCLK IN EXTRG IN 関数未対応
PEX-320910 EXCLK IN EXTRG IN 関数未対応
PEX-321012 EXCLK IN EXTRG IN 関数未対応
PEX-321116 EXCLK IN EXTRG IN EXTRG IN
PEX-321216 EXCLK IN EXTRG IN EXTRG IN
IO 方式 EXINT IN EXINT IN EXTRG IN PEX-321316
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
IO 方式 EXINT IN EXINT IN EXTRG IN PEX-321416
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
PEX-361116 EXCLK IN EXTRG IN EXTRG IN
PEX-361216 EXCLK IN EXTRG IN EXTRG IN
IO 方式 EXINT IN EXINT IN EXTRG IN PEX-361316
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
GPG-3100 Help for Linux
© 2000 Interface Corporation.
36
IO 方式 EXINT IN EXINT IN EXTRG IN PEX-361416
FIFO 方式 EXCLK IN EXTRG IN 関数未対応
PEX-H3133 EXINT IN EXINT IN EXTRG IN
PEX-H3177 EXINT IN EXINT IN EXTRG IN
PEX-H3178 EXTRG IN EXINT IN 関数未対応
PEX-H3525 EXCLK IN EXTRG IN 関数未対応
PEX-H360116 EXCLK IN EXTRG IN 関数未対応
AdStartSampling 関数、AdStartFileSampling 関数、AdSyncSampling 関数、AdBmStartFileSampling
関数にて使用する場合の設定について
外部クロックを使用する場合には、AdSetSamplingConfig 関数における ADSMPLREQ 構造体のメンバ
fSmplFreq、または AdBmSetSamplingConfig 関数における ADBMSMPLREQ 構造体のメンバ fSmplFreq、
またはAdMemSetSamplingConfig関数におけるADMEMSMPLREQ構造体のメンバfSmplFreqに 0を設定し
ます。
外部トリガを使用する場合には、AdSetSamplingConfig 関数における ADSMPLREQ 構造体のメンバ
ulTrigMode、またはAdBmSetSamplingConfig関数におけるADBMSMPLREQ構造体のメンバulStartMode、
ulStopMode、またはAdMemSetSamplingConfig関数におけるADMEMSMPLREQ構造体のメンバulStopMode
に AD_EXTTRG または AD_EXTTRG_DI を設定します。
外部クロック、外部トリガに使用する端子が両方とも EXINT IN 端子のデバイスでは、外部クロック、
外部トリガを同時に使用することはできません。
AdMemTriggerSampling 関数にて使用する場合の設定について
外部クロックを使用する場合にはパラメータ fSmplFreq に 0 を設定します。
外部トリガを使用する場合には、AdSetSamplingConfig関数におけるADSMPLREQ構造体のメンバ
ulTrigMode、またはAdBmSetSamplingConfig関数おけるADBMSMPLREQ構造体のメンバulStartMode、
ulStopModeにAD_EXTTRGまたはAD_EXTTRG_DIを設定します。
外部クロック、外部トリガに使用する端子が両方とも EXINT IN 端子のデバイスでは、外部クロック、
外部トリガを同時に使用することはできません。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
37
4.4 データ形式
次の 4種類のデータを扱います。
アナログ入力データ AdStartSampling 関 数 、 AdStartFileSampling 関 数 、
AdBmStartFileSampling 関数による連続サンプリング、AdInputAD 関数
による 1件サンプリングで入力されるデータ
デジタル入力データ AdInputDI 関数によるデジタル入力で返されるデータ
デジタル出力データ AdOutputDO 関数によるデジタル出力で出力されるデータ
サンプリングステータス AdBmSetSamplingConfig 関数による指定により格納されるデータ
4.4.1 アナログ入力データ
アナログ入力データは、入力を行ったチャンネルの順番に入力した件数のデータが連続して並んでい
ます。
・アナログデータの格納形式(AdGetSamplingData 関数、AdStartFileSampling 関数、AdInputAD 関数
使用時)
チャンネル 1の 1件目
チャンネル 2の 1件目
:
:
1 件目 ←
チャンネル nの 1件目
チャンネル 1の 2件目
チャンネル 2の 2件目
:
:
2 件目 ←
チャンネル nの 2件目
:
:
:
:
:
:
チャンネル 1の m件目
チャンネル 2の m件目
:
:
m 件目 ←
チャンネル nの m件目
・1 件のデータ格納形式
1 チャンネル目
2 チャンネル目
:
:
n チャンネル目
AdInputAD関数の場合、アナログ入力データは、1件のみとなります。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
38
・アナログデータの格納形式(AdBmGetSamplingData 関数、AdBmStartFileSampling 関数使用時)
チャンネル数:奇数
サンプリングステータスなし
チャンネル数:偶数
サンプリングステータスなし
チャンネル 1の 1件目 チャンネル 1の 1件目
チャンネル 2の 1件目 チャンネル 2の 1件目
:
:
:
:
チャンネル nの 1件目 チャンネルn-1 の 1 件目
1 件目 ←
0
1 件目 ←
チャンネル nの 1件目
チャンネル 1の 2件目 チャンネル 1の 2件目
チャンネル 2の 2件目 チャンネル 2の 2件目
:
:
:
:
チャンネル nの 2件目 チャンネル n-1 の 2 件目
2 件目 ←
0
2 件目 ←
チャンネル nの 2件目
:
:
:
:
:
:
:
:
:
:
:
:
チャンネル 1の m件目 チャンネル 1の m件目
チャンネル 2の m件目 チャンネル 2の m件目
:
:
:
:
チャンネル nの m件目 チャンネル n-1 の m 件目
m 件目 ←
0
m 件目 ←
チャンネル nの m件目
チャンネル数:奇数
サンプリングステータス付加
チャンネル数:偶数
サンプリングステータス付加
チャンネル 1の 1件目 チャンネル 1の 1件目
チャンネル 2の 1件目 チャンネル 2の 1件目
:
:
:
:
チャンネル n-1 の 1 件目 チャンネル nの 1件目
チャンネル nの 1件目 0
1 件目 ←
1 件目のステータス
1 件目 ←
1件目のステータス
チャンネル 1の 2件目 チャンネル 1の 2件目
チャンネル 2の 2件目 チャンネル 2の 2件目
:
:
:
:
チャンネル n-1 の 2 件目 チャンネル nの 2件目
チャンネル nの 2件目 0
2 件目 ←
2 件目のステータス
2 件目 ←
2件目のステータス
:
:
:
:
:
:
:
:
:
:
:
:
チャンネル 1の m件目 チャンネル 1の m件目
チャンネル 2の m件目 チャンネル 2の m件目
:
:
:
:
チャンネル n-1 の m 件目 チャンネル nの m件目
チャンネル nの m件目 0
m 件目 ←
m 件目のステータス
m 件目 ←
m件目のステータス
GPG-3100 Help for Linux
© 2000 Interface Corporation.
39
・アナログデータの形式
分解能 サイズ
(バイト)
1 チャンネル分のデータ
bit7 ~ bit08bit AD の場合
unsigned char 型
(8bit)
1
bit15 ~ bit10 bit9 ~ bit010bit AD の場合
unsigned short 型
(16bit)
2
0 固定
bit15 ~ bit12 bit11 ~ bit012bit AD の場合
unsigned short 型
(16bit)
2
0 固定
bit15 ~ bit016bit AD の場合
unsigned short 型
(16bit)
2
bit31 ~bit24 bit23 ~ bit024bit AD の場合
unsigned long 型
(32bit)
4
0 固定
データ領域のサイズ
データ領域のサイズ[Bytes] = チャンネル数×サンプリング件数×データサイズ(バイト)
例 1) AdGetSamplingData 関数使用時
サンプリングチャンネル数 = 4 チャンネル
サンプリング件数 = 100 件
24bit AD デバイスの場合
データ領域のサイズ[Bytes]= 4[チャンネル] × 100[件] × 4[バイト] = 1600 バイト
例 2) AdBmGetSamplingData 関数使用時
サンプリングチャンネル数 = 3 チャンネル
サンプリングステータスなし
サンプリング件数 = 100 件
12bit AD デバイスの場合
データ領域のサイズ[Bytes]= (3[チャンネル] + 1[0])
× 100[件] × 2[バイト] = 800 バイト
例 3) AdBmGetSamplingData 関数使用時
サンプリングチャンネル数 = 4 チャンネル
サンプリングステータスなし
サンプリング件数 = 100 件
12bit AD デバイスの場合
データ領域のサイズ[Bytes]= 4[チャンネル] × 100[件] × 2[バイト] = 800 バイト
GPG-3100 Help for Linux
© 2000 Interface Corporation.
40
例 4) AdBmGetSamplingData 関数使用時
サンプリングチャンネル数 = 3 チャンネル
サンプリングステータス付加
サンプリング件数 = 100 件
12bit AD デバイスの場合
データ領域のサイズ[Bytes]= (3[チャンネル] + 1[ステータス])
× 100[件] × 2[バイト] = 800 バイト
例 5) AdBmGetSamplingData 関数使用時
サンプリングチャンネル数 = 4 チャンネル
サンプリングステータス付加
サンプリング件数 = 100 件
12bit AD デバイスの場合
データ領域のサイズ[Bytes]= (4[チャンネル] + 1[0] + 1[ステータス])
× 100[件] × 2[バイト] = 1200 バイト
GPG-3100 Help for Linux
© 2000 Interface Corporation.
41
4.4.2 デジタル入力データ
デジタル入力データは、そのデバイスが持っている汎用デジタル入力端子の状態を bit 単位で表し
たものです。
デバイスにより汎用デジタル入力端子の数および極性が異なります。
デバイスの USER'S MANUAL を参照してください。
デジタルデータの形式
bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24
未使用
bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16
未使用
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8
IN16 IN15 IN14 IN13 IN12 IN11 IN10 IN9
bit7 bit6 bit5 bit4 bit3 bit2 bit1 Bit0
IN8 IN7 IN6 IN5 IN4 IN3 IN2 IN1
4.4.3 デジタル出力データ
デジタル出力データは、そのデバイスが持っている汎用デジタル出力端子の状態を bit 単位で指定
するものです。
デバイスにより汎用デジタル出力端子の数および極性が異なります。
デバイスの USER'S MANUAL を参照してください。
デジタルデータの形式
bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24
未使用
bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16
未使用
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8
OUT16 OUT15 OUT14 OUT13 OUT12 OUT11 OUT10 OUT9
bit7 bit6 bit5 bit4 bit3 bit2 bit1 Bit0
OUT8 OUT7 OUT6 OUT5 OUT4 OUT3 OUT2 OUT1
GPG-3100 Help for Linux
© 2000 Interface Corporation.
42
4.4.4 サンプリングステータス
サンプリングステータスの付加は AdBmSetSamplingConfig 関数により設定します。サンプリングス
テータスにより、各サンプリングの状態を確認することができます。
対象デバイス
PCI-3174, PCI-3175, PCI-3176, CTP/CPZ-3174, CTP/CPZ-3175, CTP/CPZ-3182
サンプリングステータス
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8
未使用 ORER SCER
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
未使用 EXINT IN2 IN1 ATRG
ED
EXTRG
ED
ATRG
ST
EXTRG
ST
EXTRGST
1:外部トリガ(サンプリング開始条件)検出
0:外部トリガ(サンプリング開始条件)検出なし
ATRGST
1:アナログトリガ(サンプリング開始条件)検出
0:アナログトリガ(サンプリング開始条件)検出なし
EXTRGED
1:外部トリガ(サンプリング終了条件)検出
0:外部トリガ(サンプリング終了条件)検出なし
ATRGED
1:アナログトリガ(サンプリング終了条件)検出
0:アナログトリガ(サンプリング終了条件)検出なし
IN1
IN1 の状態
IN2
IN2 の状態
EXINT
1:外部割り込み検出
0:外部割り込み検出なし
SCER
1:サンプリングクロックエラー検出
0:サンプリングクロックエラー検出なし
ORER
1:オーバランエラー検出
0:オーバランエラー検出なし
GPG-3100 Help for Linux
© 2000 Interface Corporation.
43
対象デバイス
PCI-320112, CTP/CPZ-3183
サンプリングステータス
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8
Smpcnt7 Smpcnt6 Smpcnt5 Smpcnt4 Smpcnt3 Smpcnt2 Smpcnt1 Smpcnt0
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
OVPM EXINT ORER SCER ATRG
ED
EXTRG
ED
ATRG
ST
EXTRG
ST
EXTRGST
1:外部トリガ(サンプリング開始条件)検出
0:外部トリガ(サンプリング開始条件)検出なし
ATRGST
1:アナログトリガ(サンプリング開始条件)検出
0:アナログトリガ(サンプリング開始条件)検出なし
EXTRGED
1:外部トリガ(サンプリング終了条件)検出
0:外部トリガ(サンプリング終了条件)検出なし
ATRGED
1:アナログトリガ(サンプリング終了条件)検出
0:アナログトリガ(サンプリング終了条件)検出なし
SCER
1:サンプリングクロックエラー検出
0:サンプリングクロックエラー検出なし
ORER
1:オーバランエラー検出
0:オーバランエラー検出なし
EXINT
1:外部割り込み検出
0:外部割り込み検出なし
OVPM
1:過電圧入力時自動レンジ切替検出
0:過電圧入力時自動レンジ切替検出なし
Smpcnt[7..0]
サンプリングカウンタを取得します。
Smpcnt[7..0] サンプリングクロックカウンタ
0 0
1 1
: :
FF 255
※サンプリング開始時、カウンタクリアを行います。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
44
※サンプリングクロックの立ち下り時にカウントアップします。
※フリーランカウンタとする。00h→01h→02h→…→FEh→FFh→00h→…
GPG-3100 Help for Linux
© 2000 Interface Corporation.
45
対象デバイス
PCI-320412, PCI-320416, PCI-360116, PCI-360112, PCI-360216, PCI-362616
CTP/CPZ-320412, CTP/CPZ-320416, CTP/CPZ-360116, CTP/CPZ-360112
CSI/CBI-320412, CBI-320412TR, CBI-320412TK, CBI-320412TL, CSI/CBI-320416, CBI-320416TR,
CBI-320416TK, CBI-320416TL, CSI/CBI-360112, CBI-360112TR, CBI-360112TK, CBI-360112TL,
CSI/CBI-360116, CBI-360116TR, CBI-360116TK, CBI-360116TL
LPC-321116, LPC-321216, LPC-361116, LPC-361216
PEX-321116, PEX-321216, PEX-361116, PEX-361216
PEX-H360116
サンプリングステータス
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8
IN8 IN7 IN6 IN5 IN4 IN3 IN2 IN1
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
未使用 EXINT ORER SCER ATRG
ED
EXTRG
ED
ATRG
ST
EXTRG
ST
EXTRGST
開始条件に外部トリガを指定した場合
1:外部トリガ(サンプリング開始条件)検出
0:外部トリガ(サンプリング開始条件)検出なし
開始条件にカウンタ一致トリガを指定した場合(※1)
1:カウンタ一致トリガ(サンプリング開始条件)検出
0:カウンタ一致トリガ(サンプリング開始条件)検出なし
開始条件に Z相入力クリアトリガを指定した場合(※1)
1:Z 相入力クリアトリガ(サンプリング開始条件)検出
0:Z 相入力クリアトリガ(サンプリング開始条件)検出なし
ATRGST
1:アナログトリガ(サンプリング開始条件)検出
0:アナログトリガ(サンプリング開始条件)検出なし
EXTRGED
終了条件に外部トリガを指定した場合
1:外部トリガ(サンプリング終了条件)検出
0:外部トリガ(サンプリング終了条件)検出なし
終了条件にカウンタ一致トリガを指定した場合
1:カウンタ一致トリガ(サンプリング終了条件)検出
0:カウンタ一致トリガ(サンプリング終了条件)検出なし
終了条件に Z相入力トリガを指定した場合
1:Z 相入力クリアトリガ(サンプリング終了条件)検出
0:Z 相入力クリアトリガ(サンプリング終了条件)検出なし
ATRGED
1:アナログトリガ(サンプリング終了条件)検出
0:アナログトリガ(サンプリング終了条件)検出なし
GPG-3100 Help for Linux
© 2000 Interface Corporation.
46
SCER
1:サンプリングクロックエラー検出
0:サンプリングクロックエラー検出なし
ORER
1:オーバランエラー検出
0:オーバランエラー検出なし
EXINT
1:外部割り込み検出
0:外部割り込み検出なし
IN[8..1]
IN1~IN8 の状態
※1 PCI-360116 は RevisionID が 3 以前では使用できません。
PCI-320412, PCI-320416, PCI-360116, PCI-360112, PCI-360216
LPC-321116, LPC-361116
PEX-321116, PEX-361116
CTP/CPZ-320412, CTP/CPZ-320416, CTP/CPZ-360116, CTP/CPZ-360112
CSI/CBI-320412, CBI-320412TR, CBI-320412TK, CBI-320412TL, CSI/CBI-320416 ,
CBI-320416TR, CBI-320416TK, CBI-320416TL, CSI/CBI-360112 , CBI-360112TR,
CBI-360112TK, CBI-360112TL, CSI/CBI-360116, CBI-360116TR, CBI-360116TK, CBI-360116TL
は RevisionID が 2 以前では使用できません。
(RevisionIDはAdCommonGetPciDeviceInfo関数を使用することにより確認できます)
対象デバイス
PCI-321516
サンプリングステータス
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8
未使用 未使用 未使用 未使用 未使用 未使用 未使用 未使用
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
未使用 未使用 ORER SCER ATRG
ED
未使用 ATRG
ST
未使用
ATRGST
1:アナログトリガ(サンプリング開始条件)検出
0:アナログトリガ(サンプリング開始条件)検出なし
ATRGED
1:アナログトリガ(サンプリング終了条件)検出
0:アナログトリガ(サンプリング終了条件)検出なし
SCER
1:サンプリングクロックエラー検出
0:サンプリングクロックエラー検出なし
ORER
1:オーバランエラー検出
0:オーバランエラー検出なし
GPG-3100 Help for Linux
4.5 平均
AdDataConv 関数には、アナログデータを平均したデータに変換する機能を持っています。
AdDataConv 関数が行う平均の方法には次の 2つの方法があります。
単純平均 -------------------------------N 個-----------------------------------
-----n個------ -----n個------ -----n個------
平均前のデータ データ … データ データ … データ データ … データ
……… ↓
↓ ↓ ↓
平均後のデータ データ データ データ
n 件での単純平均を行った場合、平均後のアナログサンプリング周波数は、元のサンプリング周波数の
1/nになります。
平均前のデータ数を Nとすると、平均後のデータ数は N/n になります。
平均前のデータ数 Nが nで割り切れずに余るデータは平均処理に使用されません。
AdDataConv 関数で n 件の単純平均を行う場合、uEffect に AD_CONV_AVERAGE1 を、uCount に n を指定し
ます。
数式では以下のようになります。
平均前のデータ系列: xk1)-(N,,0・・・=k
© 2000 Interface Corporation.
47
∑−+
=
=1)1(1 in
nikki xy n
平均後のデータ系列: yi1
nN,,0 −= ・・・i
移動平均 -----------------------------------N 個-------------------------------------
-------n個-------- -------n個-------- -------n個--------
平均前のデータ データ … データ データ … データ データ … データ
↓
……
↓ ↓
↓ ↓
平均後のデータ データ データ データ データ データ N/A
平均前のデータ数を N として、n 件での移動平均を行った場合、平均後のデータ数は、(N-n+1)にな
ります。
AdDataConv 関数で n 件の移動平均を行う場合、uEffect に AD_CONV_AVERAGE2 を、uCount に n を指定し
ます。
数式では以下のようになります。
平均前のデータ系列: xk
1)-(N,,0・・・=k
∑−+
=
=11 ni
ikki xy n
平均後のデータ系列: yi n)-(N,,0・・・=i
GPG-3100 Help for Linux
4.6 スムージング
AdDataConv 関数には、アナログデータをスムージングしたデータに変換する機能を持っています。ス
ムージングとは、アナログデータのデータとデータの間のデータを作成し、データを滑らかにする機
能です。補間されるデータは直線補間で作成されます。
パラメータ n が与えられた場合、元の波形の 2 点間に新しく(n-1)個のデータが挿入されます。サン
プルされた波形がデータ系列 x で表現されるとき、 と の間に新しいデータ が下記のよう
に得られます。
xk xk 1+ x jk ,
)/)(( 1 njxxxx kkkkj −+=+
nj ,....,1,0=
AdDataConv 関数で n 件のスムージングを行う場合、uEffect に AD_CONV_SMOOTH を、uCount に n を指
定します。
x xk 1+
© 2000 Interface Corporation.
48
xk
●
●
x1
xN
tΔ
●
●
●
●
●
t
●
xk 1+
●● ●
●● x xk
x jk ,
tj n 2 0 1
GPG-3100 Help for Linux
© 2000 Interface Corporation.
49
4.7 使用上の注意事項
● 実行手順として
AdOpen・AdOpenEx 関数(デバイスの初期化)は他のどのコマンド(関数)よりも先に実行する必要が
あります。また、AdClose 関数(終了)は、プログラムの 後に実行するようにしてください。
● アナログ値とデジタル値の変換について
◎電圧からデジタル値を求める
デジタル値=(分解能*(電圧-レンジ下限))/(レンジ上限-レンジ下限)
◎デジタル値から電圧を求める
電圧=(レンジ上限-レンジ下限)*デジタル値/分解能+レンジ下限
レンジ上限:入力レンジ・出力レンジの上限 ±5では+5 を示す
レンジ下限:入力レンジ・出力レンジの下限 ±5では-5 を示す
分解能:12 ビット分解能時,4096、16 ビット分解能時,65536
この式は、変換データを示すデジタル値と入出力レンジに対する電圧の関係を示しています。
例えば、±5V レンジで 12 ビット分解能であれば、-5~+5V の電圧の幅を 4096 段階にして表してい
ます。
つまり、デジタル値の「1」は、約 0.00244V となります。
(例±5V レンジの AD 変換で、変換したデジタル値が 3000 の時の電圧は、
電圧=(レンジ上限-レンジ下限)×デジタル値/分解能+レンジ下限の式で表され各値を入れると電
圧=(+5-(-5))*3000/4096+(-5)≒2.324 となります。
変換データのデジタル値の 大値に相当する電圧は、レンジの上限になりません。
例えば、分解能が 12 ビット、レンジが±5V の時は、デジタル値の 大値は 4095 となり、これに相
当する電圧は、10/4096*4095-5≒4.9975V となります。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
50
4.7.1 使用上の注意事項(IO 方式 1)
PCI シリーズ(PCI バス製品)
PCI-3126 PCI-3133 PCI-3135 PCI-3165
PCI-3166 PCI-3168C PCI-3170A PCI-3171A
PCI-3172A PCI-3173A PCI-3177C PCI-3521
PCI-3522A PCI-3523A
CTP シリーズ(CompactPCI バス製品)
CTP-3126 CTP-3133 CTP-3135 CTP-3165
CTP-3168 CTP-3170 CTP-3171 CTP-3172
CTP-3173 CTP-3177 CTP-3521 CTP-3522
CTP-3523
CPZ シリーズ(CompactPCI バス製品)
CPZ-3126 CPZ-3133 CPZ-3135 CPZ-3165
CPZ-3168 CPZ-3170 CPZ-3171 CPZ-3172
CPZ-3173 CPZ-3177 CPZ-3521 CPZ-3522
CPZ-3523
PEX シリーズ(PCI Express バス製品)
PEX-H3133 PEX-H3177
● 外部クロック、外部トリガについて
EXINT IN 端子に接続される信号は設定により外部クロック信号または外部トリガ信号として扱
われます。そのため、外部クロックと外部トリガを同時に使用する事はできません。
● 混在設定が可能なレンジについて
PCI-3126, CTP/CPZ-3126
0-5V/0-20mA および、1-5V/4-20mA は混在設定可能です。
混在設定が可能なレンジは、ソフト,デバイスの両方とも設定が必要です。
例えば、チャンネル 1,2 を 1-5V、チャンネル 3,4 を 4-20mA に設定する場合には以下のようになり
ます。
・ソフトウェア設定
ADSMPLCHREQ 構造体の ulRange のチャンネル 1 と 2 には AD_1_5V を、チャンネル 3 と 4 には
AD_4_20mA を指定します。
・ハードウェア設定
PCI-3126 の場合:JP1,JP2 は A 側に、J3,JP4 は B 側にします。DSW1 の 1,2 を A 側に、3,4 を B 側
にします。
CTP/CPZ-3126 の場合:DSW1,DSW2 は A 側に、DSW3,DSW4 は B 側にします。DSW9 の 1,2 を OFF 側に、
3,4 を ON 側にします。
● 調整について
PCI-3126, CTP/CPZ-3126
電流レンジの調整は、対応する電圧レンジで調整します。
・0~20mA → 0~5V
・4~20mA → 1~5V
● AdTriggerSampling 関数について
この関数で使用するトリガ信号は EXTRG IN 端子に入力してください。
GPG-3100 Help for Linux
● タイマに 8254 相当品を使用しているデバイスのサンプリング周波数について
サンプリング周波数は AdSetSamplingConfig 関数にて設定できますが、この関数で設定した周波数
に対して、実際にタイマに設定された周波数が誤差を持つ場合があります。
実際のサンプリング周波数は、タイマの基準クロックを 2段の分周カウンタにより分周することで
生成されます。
各カウンタに設定できる分周値は 2~65535 です。
タイマが生成するサンプリング周波数は次式より求める事ができます。
100NN
ff×
=
ここで
f: サンプリング周波数(Hz)
f0: 基準クロック(Hz)
N0: カウンタ 0の分周値
N1: カウンタ 1の分周値
ライブラリは AdSetSamplingConfig 関数にて設定されたサンプリング周波数から適切な N0と N1を
求め、タイマをプログラムします。
このとき、N0 と N1 が整数ではない場合、丸めが発生します。
その結果、設定されたサンプリング周波数に対して実際のサンプリング周波数が誤差を持つことに
なります。
基準クロックが 8MHz のタイマの場合には、8MHz を分周する事により 小 125ns 単位でサンプリン
グ周波数を設定できます。
よって実際に設定できるサンプリング周波数は 8MHz を分周してできる周波数になります。
カウンタ値 N0 セット
カウンタ値 N1 セット
カウンタ#0
カウンタ#1
OSC8MHz
CLK0OUT0
CLK1OUT1
タイマ出力
プログラマブルタイマ
周波数は、下記の式により求められます。
108000000
NN ×=周波数
設定例)
AdSetSamplingConfig 関数でサンプリング周波数を 300Hz に指定した場合には、もっとも適切な
N0 と N1 はそれぞれ N0=3、N1=8889 となり、実際のサンプリング周波数は 299.99625Hz になりま
す。
HzHzHz 9850008.29926668
8000000133342
8000000==
×
© 2000 Interface Corporation.
HzHzHz 9962500.29926667
800000088893
8000000==
×
HzHzHz 007502.30026666
8000000133332
8000000==
×
51
GPG-3100 Help for Linux
© 2000 Interface Corporation.
52
● スタートストップトリガについて
スタートストップトリガ(AD_TRIG_START_STOP)を指定する場合は、トリガディレイを使用出来
ません。その場合、AD サンプリング構造体(ADSMPLREQ 構造体)の lTrigDelay には必ず 0 を指
定します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
53
4.7.2 使用上の注意事項(IO 方式 2)
PCI シリーズ(PCI バス製品)
PCI-3120 PCI-3178 PCI-3179 PCI-3180
CTP シリーズ(CompactPCI バス製品)
CTP-3120A CTP-3120B CTP-3120C CTP-3178
CTP-3179 CTP-3180A CTP-3180B CTP-3180C
CPZ シリーズ(CompactPCI バス製品)
CPZ-3120A CPZ-3120B CPZ-3120C CPZ-3178
CPZ-3179 CPZ-3180A CPZ-3180B CPZ-3180C
PEX シリーズ(PCI Express バス製品)
PEX-H3178
● 外部クロック、外部トリガについて
・外部クロックを使用する場合は、EXTRG IN 端子に入力してください。
・外部トリガを使用する場合は、EXINT IN 端子に入力してください。
● チャンネル番号の指定について
AdStartSampling 関数で複数チャンネルを指定するときは、必ずチャンネル 1 から連続するように
設定して下さい。
例えば 3チャンネル使用する場合には 1,2,3のように、5チャンネル使用する場合は 1,2,3,4,
5のように設定して下さい。
● AdTriggerSampling 関数について
この関数で使用するトリガ信号は EXTRG IN 端子に入力してください。
● レンジの設定について(PCI-3179, CTP/CPZ-3179)
AdInputAD 関 数 を 使 用 す る と き の レ ン ジ 設 定 は 、 AdSetSamplingConfig 関 数 ま た は
AdLvSetSamplingConfig 関数にて行います。
● AC カップリングについて(CTP/CPZ-3179)
AC カップリング機能を使用する場合には、レンジ識別子の AD_0P156V_AC、AD_1P25V_AC、
AD_0P625V_AC を指定して下さい。
※AC カップリング回路とは、直流バイアス成分を取り除き、交流成分だけを抽出する回路です。
GPG-3100 Help for Linux
● タイマに 8254 相当品を使用しているデバイスのサンプリング周波数について
PCI-3120, PCI-3180
CTP/CPZ-3120A, CTP/CPZ-3120B, CTP/CPZ-3120C, CTP/CPZ-3180A, CTP/CPZ-3180B, CTP/CPZ-3180C
サンプリング周波数は AdSetSamplingConfig 関数にて設定できますが、この関数で設定した周波数
に対して、実際にタイマに設定された周波数が誤差を持つ場合があります。
実際のサンプリング周波数は、タイマの基準クロックを 2段の分周カウンタにより分周することで
生成されます。
各カウンタに設定できる分周値は 2~65535 です。
タイマが生成するサンプリング周波数は次式より求める事ができます。
ここで
f: サンプリング周波数(Hz)
f0: 基準クロック(Hz)
N0: カウンタ 0の分周値
N1: カウンタ 1の分周値
ライブラリは AdSetSamplingConfig 関数にて設定されたサンプリング周波数から適切な N0と N1を
求め、タイマをプログラムします。
このとき、N0 と N1 が整数ではない場合、丸めが発生します。
その結果、設定されたサンプリング周波数に対して実際のサンプリング周波数が誤差を持つことに
なります。
基準クロックが 8MHz のタイマの場合には、8MHz を分周する事により 小 125ns 単位でサンプリン
グ周波数を設定できます。
よって実際に設定できるサンプリング周波数は 8MHz を分周してできる周波数になります。
100NN
ff×
=
カウンタ値 N0 セット
カウンタ値 N1 セット
カウンタ#0
カウンタ#1
OSC8MHz
CLK0OUT0
CLK1OUT1
タイマ出力
プログラマブルタイマ
周波数は、下記の式により求められます。
108000000
NN ×=周波数
設定例)
AdSetSamplingConfig関数でサンプリング周波数を 300Hzに指定した場合には、もっとも適切なN0
とN1 はそれぞれN0=3、N1=8889 となり、実際のサンプリング周波数は 299.99625Hzになります。
HzHzHz 9850008.29926668
800000013334
© 2000 Interface Corporation.
54
2 8000000
==×
HzHzHz 9962500.29926667
800000088893
8000000==
×
HzHzHz 007502.30026666
8000000133332
8000000==
×
GPG-3100 Help for Linux
© 2000 Interface Corporation.
55
● スタートストップトリガについて
スタートストップトリガ(AD_TRIG_START_STOP)を指定する場合は、トリガディレイを使用出来
ません。その場合、AD サンプリング構造体(ADSMPLREQ 構造体)の lTrigDelay には必ず 0 を指
定します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
56
4.7.3 使用上の注意事項(IO 方式 3)
PCI シリーズ(PCI バス製品)
PCI-322012
● デバイス番号について
各関数で指定するデバイス番号には、必ず 257 を指定します。
● 外部クロック、外部トリガについて
外部クロックを使用することは出来ません。
外部トリガを使用する場合は、EXTRG IN 端子に入力してください。
● サンプリング条件設定について
AdSetSamplingConfig 関数で設定するサンプリング条件ですが以下のように制限があります。
特に指定のないメンバに対しては、AD サンプリング構造体(ADSMPLREQ 構造体)の説明を参照し
てください。
SmplChReq 必ず CH1 から順番に指定します。
CH1,3,5 のような設定を行なう事は出来ません。
ulSamplingMode AD_IO_SAMPLING のみ指定出来ます。
ulSmplNum 1024 件単位で指定します。
ulSmplEventNum
256 件単位で指定します。
ストップトリガに設定した場合には、トリガ発生後からイベント通知が
行われます。
fSmplFreq 設定出来る 大周波数は 10000Hz であり、100μs 単位で指定します。
0.0f は指定する事が出来ません。 ※
ulEClkEdge 外部クロックは使用出来ません。必ず AD_DOWN_EDGE を指定します。
ulATrgPulse アナログトリガ出力は使用出来ません。
必ず AD_LOW_PULSE を指定します。
ulTrigDI 外部トリガに汎用デジタル入力を使用出来ません。必ず1を指定します。
ulFastMode 倍速モードは使用出来ません。必ず AD_NORMAL_MODE を指定します。
※サンプリング周波数の計算方法
サンプリング周波数は 100μs 単位で指定するため、以下の計算式となります。
「 (1 / fSmplFreq) * 10000 」を行い、小数点以下を四捨五入します。四捨五入したものを
「 A 」とします。
さらに、
「 (1 / A) * 10000 」としたものが実際に設定されるサンプリング周波数になります。
例)サンプリング周波数を 2600Hz に設定した場合
(1 / fSmplFreq) * 10000 = 3.8461・・・
四捨五入して、4とし、再度計算を行なう。
1 / 4 * 10000 = 2500
実際に設定される値は 2500Hz(400μs 周期でサンプリング)という設定となります。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
57
● デバイス情報の取得について
AdCommonGetPciDeviceInfo 関数で取得するデバイス情報ですが以下のように制限があります。
ulDeviceID デバイス ID が取得出来ます。
ulVendorID ベンダ ID が取得出来ます。
ulClassCode 不定値が取得出来ます。
ulRevisionID 不定値が取得出来ます。
ulBaseAddress0 不定値が取得出来ます。
ulBaseAddress1 不定値が取得出来ます。
ulBaseAddress2 不定値が取得出来ます。
ulBaseAddress3 不定値が取得出来ます。
ulBaseAddress4 不定値が取得出来ます。
ulBaseAddress5 不定値が取得出来ます。
ulSubsystemID サブシステム ID が取得出来ます。
ulSubsystemVendorID 不定値が取得出来ます。
ulInterruptLine 不定値が取得出来ます。
ulBoardID 不定値が取得出来ます。
● スタートストップトリガについて
スタートストップトリガ(AD_TRIG_START_STOP)を指定する場合は、トリガディレイを使用出来
ません。その場合、AD サンプリング構造体(ADSMPLREQ 構造体)の lTrigDelay には必ず 0 を指
定します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
58
4.7.4 使用上の注意事項(IO 方式 3)
PCI シリーズ(PCI バス製品)
PCI-361516
● デバイス番号について
各関数で指定するデバイス番号には、必ず 257 を指定します。
● 外部クロック、外部トリガについて
外部クロックを使用することは出来ません。
外部トリガを使用する場合は、EXTRG IN 端子に入力してください。
● サンプリング条件設定について
AdSetSamplingConfig 関数で設定するサンプリング条件ですが以下のように制限があります。
特に指定のないメンバに対しては、AD サンプリング構造体(ADSMPLREQ 構造体)の説明を参照し
てください。
SmplChReq 必ず CH1 から順番に指定します。
CH1,3,5 のような設定を行なう事は出来ません。
ulSamplingMode AD_IO_SAMPLING のみ指定出来ます。
ulSmplNum 1024 件単位で指定します。
ulSmplEventNum
設定出来る件数はサンプリングを行うチャンネル数により変わります。
設定チャンネル数 件数
17 ~ 32 チャンネル 64 件単位
9 ~ 16 チャンネル 128 件単位
5 ~ 8 チャンネル 256 件単位
3 ~ 4 チャンネル 512 件単位
1 ~ 2 チャンネル 1024 件単位
fSmplFreq
設定出来る 大周波数はサンプリングを行うチャンネル数により変わ
ります。
0.0f は指定する事が出来ません。 ※
設定チャンネル数 大周波数
17 ~ 32 チャンネル 1000Hz
9 ~ 16 チャンネル 2000Hz
5 ~ 8 チャンネル 4000Hz
3 ~ 4 チャンネル 8000Hz
1 ~ 2 チャンネル 16000Hz
ulEClkEdge 外部クロックは使用出来ません。必ず AD_DOWN_EDGE を指定します。
ulATrgPulse アナログトリガ出力は使用出来ません。
必ず AD_LOW_PULSE を指定します。
ulTrigDI 外部トリガに汎用デジタル入力を使用出来ません。必ず1を指定します。
ulFastMode 倍速モードは使用出来ません。必ず AD_NORMAL_MODE を指定します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
59
● デバイス情報の取得について
AdCommonGetPciDeviceInfo 関数で取得するデバイス情報ですが以下のように制限があります。
ulDeviceID デバイス ID が取得出来ます。
ulVendorID ベンダ ID が取得出来ます。
ulClassCode 不定値が取得出来ます。
ulRevisionID 不定値が取得出来ます。
ulBaseAddress0 不定値が取得出来ます。
ulBaseAddress1 不定値が取得出来ます。
ulBaseAddress2 不定値が取得出来ます。
ulBaseAddress3 不定値が取得出来ます。
ulBaseAddress4 不定値が取得出来ます。
ulBaseAddress5 不定値が取得出来ます。
ulSubsystemID サブシステム ID が取得出来ます。
ulSubsystemVendorID 不定値が取得出来ます。
ulInterruptLine 不定値が取得出来ます。
ulBoardID 不定値が取得出来ます。
● スタートストップトリガについて
スタートストップトリガ(AD_TRIG_START_STOP)を指定する場合は、トリガディレイを使用出来
ません。その場合、AD サンプリング構造体(ADSMPLREQ 構造体)の lTrigDelay には必ず 0 を指
定します。
● サンプリングデータについて
設定チャンネル数により、サンプリングデータの取得単位が変わります。
設定チャンネル数 サンプリングデータ取得件数
17 ~ 32 チャンネル 64 件単位
9 ~ 16 チャンネル 128 件単位
5 ~ 8 チャンネル 256 件単位
3 ~ 4 チャンネル 512 件単位
1 ~ 2 チャンネル 1024 件単位
・ AdGetStatus 関数の ulAdSmplCount, ulAdAvailCount は、上記の件数単位で更新されます。
・上記の件数単位で指定件数やサンプリング終了のイベントが発行されます。
設定チャンネル数 1, サンプリング周期 1000Hz, サンプリング件数 1500 件の場合、サン
プリング終了のイベントは、サンプリング開始から約 2048ms 後に発生します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
60
4.7.5 使用上の注意事項(FIFO 方式 1)
PCI シリーズ(PCI バス製品)
PCI-3153 PCI-3155
● 外部クロック、外部トリガについて
・外部クロックを使用する場合は、EXCLK IN 端子に入力してください。
・外部トリガを使用する場合は、EXTRG IN 端子に入力してください。
● FIFO 方式時のイベント発生タイミング指定について
FIFO 方式サンプリング時のイベントは、以下のデータ数サンプリングが行われるごとに発生させ
ることができます。
また、サンプリングバッファには以下の件数単位でサンプリングデータが格納されます。
下記計算式で導き出される周波数によって設定できるイベント件数が異なります。
SmplFreq = サンプリング周波数 * チャンネル数
SmplFreq チャンネル数
120kHz 以上 60kHz 以上
120kHz 未満
30kHz 以上
60kHz 未満
20kHz 以上
30kHz 未満
20kHz 未満
1 チャンネル使用時 16384 件単位 8192 件単位 4096 件単位 2048 件単位 1024 件単位
2 チャンネル使用時 8192 件単位 4096 件単位 2048 件単位 1024 件単位 256 件単位
3 チャンネル使用時 5461 件単位 2730 件単位 1365 件単位 682 件単位 341 件単位
4 チャンネル使用時 4096 件単位 2048 件単位 1024 件単位 512 件単位 256 件単位
5 チャンネル使用時 3276 件単位 1638 件単位 819 件単位 409 件単位 204 件単位
6 チャンネル使用時 2730 件単位 1365 件単位 682 件単位 341 件単位 170 件単位
7 チャンネル使用時 2340 件単位 1170 件単位 585 件単位 292 件単位 146 件単位
8 チャンネル使用時 2048 件単位 1024 件単位 512 件単位 256 件単位 128 件単位
9 チャンネル使用時 1820 件単位 910 件単位 455 件単位 227 件単位 113 件単位
10 チャンネル使用時 1638 件単位 819 件単位 409 件単位 204 件単位 102 件単位
11 チャンネル使用時 1489 件単位 744 件単位 372 件単位 186 件単位 93 件単位
12 チャンネル使用時 1365 件単位 682 件単位 341 件単位 170 件単位 85 件単位
13 チャンネル使用時 1260 件単位 630 件単位 315 件単位 157 件単位 78 件単位
14 チャンネル使用時 1170 件単位 585 件単位 292 件単位 146 件単位 73 件単位
15 チャンネル使用時 1092 件単位 546 件単位 273 件単位 136 件単位 68 件単位
16 チャンネル使用時 1024 件単位 512 件単位 256 件単位 256 件単位 64 件単位
GPG-3100 Help for Linux
© 2000 Interface Corporation.
61
● ディレイ件数について
FIFO 方式サンプリングで使用する場合に、ストップトリガのポストトリガディレイ件数は 2~
65537 件となります。
IO 方式サンプリングで使用する場合には 1~1,073,741,824 件まで指定できます。
● チャンネル番号の指定について
FIFO方式サンプリングでAdStartSampling関数を使用する場合は、必ずチャンネル 1 からの連番
で指定して下さい。
3 チャンネル使用する場合は、1,2,3と指定します。1,3,5 や 2,3,4 とは指定できません。
I/O 方式サンプリングでは、この制限はありません。
● アナログトリガパルスついて
FIFO 方式サンプリングでアナログトリガ条件を満たすと、ATRG OUT 端子よりパルスが出力され
ます。
このパルスはスタートトリガ、ストップトリガに関係なくトリガ条件を満たすと出力されます。
スタートストップトリガを指定して、スタートトリガの条件を満たす前にストップトリガの条件
を満たした場合には、パルスが出力されますがサンプリング自体の動作には問題ありません。
● スタートトリガ+プリトリガディレイについて
FIFO 方式サンプリングで使用する場合は、サンプリング件数を 1024 件単位で指定して下さい。
GPG-3100 Help for Linux
● タイマに 8254 相当品を使用しているデバイスのサンプリング周波数について
サンプリング周波数は AdSetSamplingConfig 関数にて設定できますが、この関数で設定した周波数
に対して、実際にタイマに設定された周波数が誤差を持つ場合があります。
実際のサンプリング周波数は、タイマの基準クロックを 2段の分周カウンタにより分周することで
生成されます。
各カウンタに設定できる分周値は 2~65535 です。
タイマが生成するサンプリング周波数は次式より求める事ができます。
ここで
f: サンプリング周波数(Hz)
f0: 基準クロック(Hz)
N0: カウンタ 0の分周値
N1: カウンタ 1の分周値
100NN
ff×
=
ライブラリはAdSetSamplingConfig関数にて設定されたサンプリング周波数から適切なN0とN1を求
め、タイマをプログラムします。
このとき、N0 と N1 が整数ではない場合、丸めが発生します。
その結果、設定されたサンプリング周波数に対して実際のサンプリング周波数が誤差を持つことに
なります。
基準クロックが 8MHz のタイマの場合には、8MHz を分周する事により 小 125ns 単位でサンプリン
グ周波数を設定できます。
よって実際に設定できるサンプリング周波数は 8MHz を分周してできる周波数になります。
カウンタ値 N0 セット
カウンタ値 N1 セット
カウンタ#0
カウンタ#1
OSC8MHz
CLK0OUT0
CLK1OUT1
タイマ出力
プログラマブルタイマ
周波数は、下記の式により求められます。
© 2000 Interface Corporation.
62
設定例)
AdSetSamplingConfig関数でサンプリング周波数を 300Hzに指定した場合には、もっとも適切なN0
とN1 はそれぞれN0=3、N1=8889 となり、実際のサンプリング周波数は 299.99625Hzになります。
108000000
NN ×=周波数
HzHzHz 9850008.29926668
8000000133342
8000000==
×
HzHzHz 9962500.29926667
800000088893
8000000==
×
HzHzHz 007502.30026666
8000000133332
8000000==
×
GPG-3100 Help for Linux
© 2000 Interface Corporation.
63
● PCI-3153, のアナログ入力データについて
GPG-3100 Ver2.04-09 以前のバージョンで、PCI-3153 を FIFO 方式で使用した場合には、アナロ
グデータに汎用入力と FIFO 状態の情報が付加されていました。(下記参照)
しかし、現在のバージョンでは付加されなくなりました。汎用入力と FIFO 状態の情報が必要な
場合は、AdFifoGetSamplingData 関数をご使用ください。
アナログデータの形式は次のようになります。
bit15 Bit14 bit13 bit12 bit11 ~ bit0
FE IN2 IN1 0 12bit のアナログデータ
FE:FIFO 状態
このbitが"1"であればFIFOが空の状態であり、"0"であればFIFOは空でない状態になります。
また、FIFO が空の場合 12bit のアナログデータは"0"になります。
IN1,IN2:汎用入力 IN1、IN2 の状態です。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
64
4.7.6 使用上の注意事項(FIFO 方式 2)
LPC シリーズ(Low Profile PCI バス製品)
LPC-321316 LPC-321416 LPC-361316 LPC-361416
PEX シリーズ(PCI Express バス製品)
PEX-321316 PEX-321416 PEX-361316 PEX-361416
CTP シリーズ(CompactPCI バス製品)
CTP-3167
CPZ シリーズ(CompactPCI バス製品)
CPZ-3167
CBI シリーズ(CardBus 製品)
CBI-3133A CBI-3133B CBI-3134A CBI-3134B
CBI-320212 CBI-320212TK CBI-320212TR CBI-320212TL
CBI-320312 CBI-320312TK CBI-320312TR CBI-320312TL
CSI シリーズ(CardBus 製品)
CSI-320212 CSI-320312
タフコン CD シリーズ
PCI-362816
● 外部クロック、外部トリガについて
・外部クロックを使用する場合は、EXCLK IN 端子に入力してください。
・外部トリガを使用する場合は、EXTRG IN 端子に入力してください。
● FIFO 方式時のイベント発生タイミング指定について
1 チャンネルのみのサンプリング時には、s 個(1≦s≦2048)のデータをサンプリングするたびに
イベントを発生させることができます。
複数のチャンネルをサンプリングする場合(サンプリングチャンネルをnとすると)チャンネル当
たりs/n個(1≦s/n≦2048/n)のデータをサンプリングするたびにイベントを発生させることがで
きます。
● ディレイ件数について
FIFO 方式サンプリングで使用する場合に、ストップトリガのポストトリガディレイ件数は 1~
65536 件となります。
IO 方式サンプリングで使用する場合には 1~1,073,741,824 件まで指定できます。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
65
●CBI-3133A, CBI-3133B, CBI-3134A, CBI-3134B の RevisionID の違いによる機能制限について
RevisionID = 1 ・I/O 方式サンプリングをフルサポート。
・FIFO 方式サンプリングは未サポート。
・フルスケール検出機能は未サポート。
RevisionID = 2 ・I/O 方式サンプリングをフルサポート。
・FIFO 方式サンプリングは指定件数サンプリング、無限サンプ
リングのみサポート。
・トリガ、ディレイ機能は未サポート。
・フルスケール検出機能は未サポート。
RevisionID = 3 以降 ・I/O 方式サンプリングをフルサポート。
・FIFO 方式サンプリングをフルサポート。
・フルスケール検出機能をサポート。
AdBmSetSamplingConfig関数、 AdBmGetSamplingConfig関数、
AdSetRangeEvent 関 数 、 AdGetRangeEventStatus 関 数 、
AdResetRangeEvent関数が使用可能。
※RevisionIDはAdCommonGetPciDeviceInfo関数を使用することにより確認できます。
● サンプリング条件設定について
AdSetSamplingConfig関数、AdBmSetSamplingConfig関数のどちらを使用してもサンプリング条件の
設定ができますが、いずれの関数を使用した場合でも、 後に設定した条件が有効になります。
また、それぞれの関数で指定した ADSMPLREQ 構造体と ADBMSMPLREQ 構造体の内容は、以下のように
対応しています。
ADSMPLREQ 構造体 ADBMSMPLREQ 構造体
ulChCount → ulChCount
SmplChReq → SmplChReq
ulSamplingMode (未使用)
ulSingleDiff → ulSingleDiff
ulSmplNum → ulSmplNum
ulSmplEventNum → ulSmplEventNum
(1) ulSmplRepeat
(AD_APPEND) ulBufferMode
fSmplFreq → fSmplFreq
- fScanFreq
ulTrigPoint → ulStartMode,ulStopMode
ulTrigMode → ulStartMode, ulStopMode, ulATrgMode
lTrigDelay → ulPreTrigDelay, ulPostTrigDelay
ulTrigCh → TrigChReq[0].ulChNo, TrigChReq[1].ulChNo
fTriglevel1 → TrigChReq[0].fTrigLevel
(レンジ幅の約 0.2%) TrigChReq[0].fHysteresis
fTriglevel2 → TrigChReq[1].fTrigLevel
(レンジ幅の約 0.2%) TrigChReq[1].fHysteresis
ulEClkEdge → ulEClkEdge
ulATrgPulse → ulATrgPulse
ulTrigEdge → ulStartTrigEdge, ulStopTrigEdge
ulTrigDI → ulTrigDI
ulFastMode → ulFastMode
(AD_NO_STATUS) ulStatusMode
(AD_FREERUN) ulErrCtrl
GPG-3100 Help for Linux
© 2000 Interface Corporation.
66
● サンプリングクロックエラーについて
複数チャンネルでのサンプリング時のチャンネル切り替え(スキャン)中に次のサンプリングクロ
ックが入力された場合、サンプリングクロックエラーが発生します。
AdBmSetSamplingConfig関数にて、サンプリングクロックエラー発生時のサンプリング停止/継続を
選択することができます。サンプリングを継続した場合、エラークロック(チャンネル切り替え中
に入力されたサンプリングクロック)を無視して、サンプリングを継続します。
● CTP/CPZ-3167 のアナログ入力データについて
CTP-3167 を FIFO 方式で使用した場合には、アナログデータに汎用入力の情報が付加されていま
した。
しかし、現在のバージョンでは付加されなくなりました。汎用入力とFIFO状態の情報が必要な場
合は、AdFifoGetSamplingData関数をご使用ください。
アナログデータの形式は次のようになります。
bit15 Bit14 bit13 bit12 bit11 ~ bit0
IN1 IN2 0 0 12bit のアナログデータ
IN1,IN2:汎用入力 IN1、IN2 の状態です。
アナログデータを参照する場合には、上位 4bit をマスクしてください。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
67
4.7.7 使用上の注意事項(メモリ方式 1)
PCI シリーズ(PCI バス製品)
PCI-3161 PCI-3163
● 外部クロック、外部トリガについて
・外部クロックを使用する場合は、EXCLK IN 端子(CN4)に入力してください。
・外部トリガを使用する場合は、EXTRG IN 端子(CN3)に入力してください。
● トリガ使用時の設定可能件数について
・スタートトリガ+ディレイなしで使用する場合
|<------------- Nsample --------------->|
| |
トリガ発生 サンプリング終了
Nsample:サンプリング件数
サンプリング件数は下記の範囲で指定できます。
1 ≤ Nsample ≤ 524288
・スタートトリガ+プリトリガディレイを使用する場合
|<------------------ Nsample -----------------> |
| |
|<--- Npre ---> |<---------- Npost ------------>|
| |
トリガ発生 サンプリング終了
Nsample:サンプリング件数
Npre:プリトリガ件数
Npost:トリガ後の件数
各件数は下記の範囲で指定できます。
Nsample = Npre + Npost
2 ≤ Nsample ≤ 524288
1 ≤ Npost ≤ 262144
1 ≤ Npre ≤ (524288 - 1024 * n)
n は Npost ≤ (1024 * n) を満たす 小の n。
・スタートトリガ+ポストトリガディレイを使用する場合
|<--- Npost --->|<---------- Nsample ----------->|
| |
トリガ発生 サンプリング終了
Nsample:サンプリング件数
Npost:ポストトリガ件数
各件数は下記の範囲で指定できます。
1 ≤ Npost ≤ 524287
1 ≤ Nsample ≤ (524288 - Npost)
GPG-3100 Help for Linux
© 2000 Interface Corporation.
68
・ストップトリガ+ディレイなしで使用する場合
|<------------- Nsample -------------> |
|
トリガ発生
サンプリング終了
Nsample:サンプリング件数
サンプリング件数は下記の範囲で指定できます。
1 ≤ Nsample ≤ 524288
・ストップトリガ+ポストトリガディレイを使用する場合
|<-------------- Nsample ---------------> |
| |
|<-------- Npre --------->|<--- Npost --->|
| |
トリガ発生 サンプリング終了
Nsample:サンプリング件数
Npre:トリガ前の件数
Npost:ポストトリガ件数
各件数は下記の範囲で指定できます。
Nsample = Npre + Npost
2 ≤ Nsample ≤ 524288
1 ≤ Npost ≤ 262144
1 ≤ Npre ≤ (524288 - 1024 * n)
n は Npost ≤ (1024 * n) を満たす 小の n。
・スタートストップトリガ+ディレイなしで使用する場合
ストップトリガが入力されなかった場合、指定件数でサンプリング終了します。
|<------------ Nsample ------------> | |
| | |
スタートトリガ発生 サンプリング終了 ストップトリガ発生
ストップトリガが入力された場合、トリガでサンプリング終了します。
|<------------ Nsample ----|---------------->|
| | |
スタートトリガ発生 ストップトリガ発生
サンプリング終了
Nsample:サンプリング件数
サンプリング件数は下記の範囲で指定できます。
1 ≤ Nsample ≤ 524288
スタートストップトリガではディレイは指定できません。
スタートストップトリガは、PCI-3161[12]C02 以降、PCI-3163[13]C04 以降のデバイスのみで使
用できます。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
69
● トリガについて
「アナログトリガ」と「DI マスク付き外部トリガ」を使用することができません。
● サンプリング周波数について
以下の周波数のみ設定できます。
20MHz(PCI-3161 のみ) 16MHz(PCI-3161 のみ)
10MHz 8MHz
5MHz 4MHz
02.5MHz 2MHz
1.25MHz 1MHz
625kHz 500kHz
312.5kHz 250kHz
156.25kHz 125kHz
78.125kHz 62.5kH
● 倍速モードについて
倍速モードを使用する場合には、チャンネル 1のみを使用します。
メモリは 1 チャンネルで 1M バイト(PCI-3163 は 1M ワード)使用できます。(通常は 1 チャンネル
当たり 512k バイト(PCI-3163 は 512k ワード))
実際のサンプリング周波数は設定した周波数の 2倍になります。
設定できるディレイ件数の範囲が 2倍になります。
サンプリング件数、ディレイ件数は偶数件単位での指定になります。
● CN3,CN4 の入出力方向について
CN3 が「EXTRG IN」になる条件
外部トリガ(ulTrigMode=AD_EXTTRG)を使用する場合に CN3 は「EXTRG IN」になります。
また、外部トリガを使用しない場合でも、トリガエッジの設定を外部トリガ入力
(ulTrigEdge=AD_EXTRG_IN)にすることにより、CN3 が「EXTRG IN」になります。
CN3 が「EXTRG OUT」になる条件
トリガ無し(ulTrigMode=AD_FREERUN)、無限サンプリング(ulTrigMode=AD_ETERNITY)に設定した
場合。
ulTrigMode ulTrigEdge CN3
AD_EXTTRG - EXTRG IN
AD_FREERUN AD_EXTRG_IN EXTRG IN
AD_ETERNITY AD_EXTRG_IN 以外 EXTRG OUT
CN4 が「EXCLK IN」になる条件
外部クロック(fSmplFreq=0.0f)を使用する場合に CN4 が「EXCLK IN」になります。
また、外部クロックを使用しない場合でも、外部クロックエッジの設定を外部クロック入力
(ulEClkEdge=AD_EXCLK_IN)にすることにより、CN4 が「EXCLK IN」になります。
CN4 が「EXCLK_OUT」になる条件
内部クロック(fSmplFreq=0.0f 以外の設定)を使用する場合。
fSmplFreq ulEClkEdge CN4
0.0 - EXCLK IN
AD_EXCLK_IN EXCLK IN 0.0 以外
AD_EXCLK_IN 以外 EXCLK_OUT
GPG-3100 Help for Linux
© 2000 Interface Corporation.
70
4.7.8 使用上の注意事項(メモリ方式 2)
LPC シリーズ(Low Profile PCI バス製品)
LPC-320910
PEX シリーズ(PCI Express バス製品)
PEX-320910
CTP シリーズ(CompactPCI バス製品)
CTP-360810
CPZ シリーズ(CompactPCI バス製品)
CPZ-360810
CBI シリーズ(CardBus 製品)
CBI-320110 CBI-320110TK CBI-320110TL
CSI シリーズ(CardBus 製品)
CSI-320110
● 外部クロック、外部トリガについて
・外部クロックを使用する場合は、EXCLK IN 端子に入力してください。
・外部トリガを使用する場合は、EXTRG IN 端子に入力してください。
● アナログトリガパルスについて
アナログトリガ条件を満たすと、ATRG OUT 端子からパルスが出力されます。
このパルスはストップトリガに関係なくトリガ条件を満たすと出力されます。
● オーバランエラーについて
サンプリング中に FIFO がフルになりデータ抜けが発生した場合、オーバランエラーが発生しま
す。
AdMemSetSamplingConfig 関数にて、オーバランエラー発生時のサンプリング停止/継続を選択す
ることができます。
サンプリングを継続した場合、オーバランエラーによりデータ抜けが発生するため、指定したサ
ンプリング件数と異なる件数でサンプリングが終了します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
71
4.7.9 使用上の注意事項(バスマスタ方式 1)
PCI シリーズ(PCI バス製品)
PCI-3174 PCI-3175 PCI-3176
CTP シリーズ(CompactPCI バス製品)
CTP-3174 CTP-3175 CTP-3182
CPZ シリーズ(CompactPCI バス製品)
CPZ-3174 CPZ-3175 CPZ-3182
● 外部クロック、外部トリガについて
・外部クロックを使用する場合は、EXCLK IN 端子に入力してください。
・外部トリガを使用する場合は、EXTRG IN 端子に入力してください。
● サンプリングデータの取得について
AdGetSamplingData 関数、AdBmGetSamplingData 関数のどちらを使用してもサンプリングデータを
取得できますが、AdGetSamplingData 関数では、AdBmSetSamplingConfig 関数にてサンプリングス
テータスの付加を指定しても、サンプリングステータスは取得できません。
● トリガについて
「DI マスク付き外部トリガ」にて使用できる DI 端子は、DI1 のみです。
ulStopMode に AD_ETERNITY(無限サンプリング)を設定した場合、ulStartMode には AD_FREERUN(ト
リガなし)のみ指定できます。
その他のトリガは設定することはできません。
● アナログトリガパルスについて
アナログトリガ条件を満たすと、ATRG OUT 端子からパルスが出力されます。
このパルスはスタートトリガ、ストップトリガに関係なくトリガ条件を満たすと出力されます。ス
タートストップトリガを指定して、スタートトリガの条件を満たす前にストップトリガの条件を満
たした場合には、パルスが出力されますがサンプリング自体の動作には問題ありません。
● ディレイ件数について
ポストトリガディレイ件数は 1,024~262,144 件の範囲を 1,024 件単位で指定して下さい。
● イベント通知サンプリング件数について
イベント通知サンプリング件数は、1~32768 件の範囲で 2のべき乗の件数を指定できます。
バスマスタ方式サンプリングでは、指定したイベント通知サンプリング件数単位でサンプリング件
数が更新されます(イベント通知サンプリング件数に 0を指定した場合には、32768 件単位でサン
プリング件数が更新されます)。
また、AdStartSampling 関数使用時、指定件数イベントで指定できる件数としては、データサイズ
としては、1Mbyte より小さくなるように指定してください。
イベント通知サンプリング件数を小さくすると、AdGetStatus 関数で取得するサンプリング済み件
数の値はよりリアルタイム性を増しますが、割り込みが頻繁に発生するようになるため CPU の負
荷(占有率)が高くなり、OS がフリーズしてしまうこともあります。
このような場合には、イベント通知サンプリング件数を大きくし、イベント発生間隔を 100ms 程
度となるようにしてください。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
72
● サンプリング条件設定について
AdSetSamplingConfig 関数、AdBmSetSamplingConfig 関数のどちらを使用してもサンプリング条件
の設定ができますが、いずれの関数を使用した場合でも、 後に設定した条件が有効になります。
また、それぞれの関数で指定した ADSMPLREQ 構造体と ADBMSMPLREQ 構造体の内容は、以下のように
対応しています。
ADSMPLREQ 構造体 ADBMSMPLREQ 構造体
UlChCount → UlChCount
SmplChReq → SmplChReq
UlSamplingMode (未使用)
UlSingleDiff → UlSingleDiff
UlSmplNum → UlSmplNum
UlSmplEventNum → UlSmplEventNum
(1) UlSmplRepeat
(AD_APPEND) UlBufferMode
FSmplFreq → FsmplFreq
(デバイスの 高サンプリング周波数) FscanFreq
UlTrigPoint → UlStartMode,ulStopMode
UlTrigMode → UlStartMode, ulStopMode, ulATrgMode
LTrigDelay → ulPreTrigDelay, ulPostTrigDelay
UlTrigCh → TrigChReq[0].ulChNo, TrigChReq[1].ulChNo
fTriglevel1 → TrigChReq[0].fTrigLevel
(レンジ幅の約 0.2%) TrigChReq[0].fHysteresis
fTriglevel2 → TrigChReq[1].fTrigLevel
(レンジ幅の約 0.2%) TrigChReq[1].fHysteresis
UlEClkEdge → ulEClkEdge
UlATrgPulse → ulATrgPulse
UlTrigEdge → ulStartTrigEdge, ulStopTrigEdge
UlTrigDI → ulTrigDI
UlFastMode → UlFastMode
(AD_NO_STATUS) UlStatusMode
(AD_FREERUN) UlErrCtrl
● オーバランエラーについて
サンプリング中に DMA バッファがフルになりデータ抜けが発生した場合、オーバランエラーが発生
します。
AdBmSetSamplingConfig 関数にて、オーバランエラー発生時のサンプリング停止/継続を選択する
ことができます。サンプリングを継続した場合、オーバランエラーによりデータ抜けが発生するた
め、指定したサンプリング件数と異なる件数でサンプリングが終了します。
● サンプリングクロックエラーについて
複数チャンネルでのサンプリング時のチャンネル切り替え(スキャン)中に次のサンプリングクロ
ックが入力された場合、サンプリングクロックエラーが発生します。
AdBmSetSamplingConfig 関数にて、サンプリングクロックエラー発生時のサンプリング停止/継続
を選択することができます。サンプリングを継続した場合、エラークロック(チャンネル切り替え
中に入力されたサンプリングクロック)を無視して、サンプリングを継続します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
73
● サンプリング終了条件を AD_FREERUN とした場合のサンプリング完了タイミングについて
バスマスタ方式でサンプリング終了条件を AD_FREERUN としてサンプリングを行った場合には、
AdSetSamplingConfig,AdBmSetSamplingConfig 関数で指定したサンプリング件数のサンプリング
終了後、+αクロック後にサンプリングステータスは AD_STATUS_STOP_SAMPLING となります。
(イベントがシグナル状態になる、コールバック関数が呼び出されるのも、このタイミングとなり
ます。)
このため、外部クロックを使用してサンプリングを行うときは、サンプリング件数+α分のクロッ
クを入力する必要があります。
+αは、以下の式で計算できます。
・サンプリングステータスなし
サンプリングチャンネル数が奇数(1,3,5,・・・)の場合
α = 256 / ((チャンネル数 + 1) / 2)
サンプリングチャンネル数が偶数(2,4,6,・・・)の場合
α = 256 / (チャンネル数 / 2)
・サンプリングステータスあり
サンプリングチャンネル数が奇数(1,3,5,・・・)の場合
α = 256 / ((チャンネル数 + 1) / 2)
サンプリングチャンネル数が偶数(2,4,6,・・・)の場合
α = 256 / ((チャンネル数 / 2) + 1)
● ドライバの組み込みについて
バスマスタ方式のデバイスは、ドライバ組み込み時にバスマスタ転送のためのバッファを確保す
る為、多くのメモリを消費します。その為、メモリ不足によりドライバの組み込みに失敗する場
合があります。
Xwindow 上でドライバを使用する場合は、キャラクタコンソール上でドライバを組み込んでから、
Xwindow を起動して下さい。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
74
4.7.10 使用上の注意事項(バスマスタ方式 2)
PCI シリーズ(PCI バス製品)
PCI-3525
LPC シリーズ(Low Profile PCI バス製品)
LPC-320724 LPC-321012
PEX シリーズ(PCI Express バス製品)
PEX-320724 PEX-321012
CTP シリーズ(CompactPCI バス製品)
CTP-3525
CPZ シリーズ(CompactPCI バス製品)
CPZ-3525
PEX シリーズ(PCI Express バス製品)
PEX-H3525
● 外部クロック、外部トリガについて
・外部クロックを使用する場合は、EXCLK IN 端子に入力してください。
・外部トリガを使用する場合は、EXTRG IN 端子に入力してください。
● サンプリングデータの取得について
AdGetSamplingData 関数のみ使用できます。サンプリングステータスに対応していないため
AdBmGetSamplingData 関数は使用できません。
● アナログトリガパルスについて
アナログトリガ条件を満たすと、ATRG OUT 端子からパルスが出力されます。
このパルスはスタートトリガ、ストップトリガに関係なくトリガ条件を満たすと出力されます。ス
タートストップトリガを指定して、スタートトリガの条件を満たす前にストップトリガの条件を満
たした場合には、パルスが出力されますがサンプリング自体の動作には問題ありません。
● ディレイ件数について
ポストトリガディレイ件数は 1~16,777,216 件の範囲を 1件単位で指定して下さい。
プリトリガディレイ件数は 1~1,073,741,824 件まで指定できます。
なお、バスマスタ方式サンプリングでは、ポストトリガディレイはストップトリガ使用時にのみ有
効となります(スタートトリガ+ポストトリガディレイは使用できません)。ストップトリガ未使
用時には、ポストトリガディレイ件数は 0を指定してください。
● イベント通知サンプリング件数について
イベント通知サンプリング件数は、1~32768 件の範囲で 2のべき乗の件数を指定できます。
バスマスタ方式サンプリングでは、指定したイベント通知サンプリング件数単位でサンプリング件
数が更新されます(イベント通知サンプリング件数に 0を指定した場合には、32768 件単位でサン
プリング件数が更新されます)。
また、AdStartSampling 関数使用時、指定件数イベントで指定できる件数としては、データサイズ
としては、1Mbyte より小さくなるように指定してください。
イベント通知サンプリング件数を小さくすると、AdGetStatus 関数で取得するサンプリング済み件
数の値はよりリアルタイム性を増しますが、割り込みが頻繁に発生するようになるため CPU の負
荷(占有率)が高くなり、OS がフリーズしてしまうこともあります。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
75
このような場合には、イベント通知サンプリング件数を大きくし、イベント発生間隔を 100ms 程
度となるようにしてください。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
76
● サンプリング条件設定について
AdSetSamplingConfig 関数、AdBmSetSamplingConfig 関数のどちらを使用してもサンプリング条件
の設定ができますが、いずれの関数を使用した場合でも、 後に設定した条件が有効になります。
また、それぞれの関数で指定した ADSMPLREQ 構造体と ADBMSMPLREQ 構造体の内容は、以下のように
対応しています。
ADSMPLREQ 構造体 ADBMSMPLREQ 構造体
ulChCount → ulChCount
SmplChReq → SmplChReq
ulSamplingMode (未使用)
ulSingleDiff → UlSingleDiff
ulSmplNum → UlSmplNum
ulSmplEventNum → UlSmplEventNum
(1) UlSmplRepeat
(AD_APPEND) UlBufferMode
fSmplFreq → FsmplFreq
(デバイスの 高サンプリング周波数) FscanFreq
ulTrigPoint → UlStartMode,ulStopMode
ulTrigMode → UlStartMode, ulStopMode, ulATrgMode
LTrigDelay → ulPreTrigDelay, ulPostTrigDelay
UlTrigCh → TrigChReq[0].ulChNo, TrigChReq[1].ulChNo
fTriglevel1 → TrigChReq[0].fTrigLevel
(レンジ幅の約 0.2%) TrigChReq[0].fHysteresis
fTriglevel2 → TrigChReq[1].fTrigLevel
(レンジ幅の約 0.2%) TrigChReq[1].fHysteresis
UlEClkEdge → ulEClkEdge
UlATrgPulse → ulATrgPulse
UlTrigEdge → ulStartTrigEdge, ulStopTrigEdge
UlTrigDI → ulTrigDI
UlFastMode → UlFastMode
(AD_NO_STATUS) UlStatusMode
(AD_FREERUN) UlErrCtrl
● オーバランエラーについて
サンプリング中に DMA バッファがフルになりデータ抜けが発生した場合、オーバランエラーが発生
します。
AdBmSetSamplingConfig 関数にて、オーバランエラー発生時のサンプリング停止/継続を選択する
ことができます。サンプリングを継続した場合、オーバランエラーによりデータ抜けが発生するた
め、指定したサンプリング件数と異なる件数でサンプリングが終了します。
● ドライバの組み込みについて
バスマスタ方式のデバイスは、ドライバ組み込み時にバスマスタ転送のためのバッファを確保す
る為、多くのメモリを消費します。その為、メモリ不足によりドライバの組み込みに失敗する場
合があります。
Xwindow 上でドライバを使用する場合は、キャラクタコンソール上でドライバを組み込んでから、
Xwindow を起動して下さい。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
77
4.7.11 使用上の注意事項(バスマスタ方式 3)
PCI シリーズ(PCI バス製品)
PCI-320112 PCI-320412 PCI-320416 PCI-360112
PCI-360116 PCI-360216 PCI-321516 PCI-362616
LPC シリーズ(Low Profile PCI バス製品)
LPC-321116 LPC-321216 LPC-361116 LPC-361216
PEX シリーズ(PCI Express バス製品)
PEX-321116 PEX-321216 PEX-361116 PEX-361216
CTP シリーズ(CompactPCI バス製品)
CTP-3183 CTP-320412 CTP-320416 CTP-360112
CTP-360116
CPZ シリーズ(CompactPCI バス製品)
CPZ-3183 CPZ-320412 CPZ-320416 CPZ-360112
CPZ-360116
CBI シリーズ(CardBus 製品)
CBI-320412 CBI-320412TK CBI-320412TR CBI-320412TL
CBI-320416 CBI-320416TK CBI-320416TR CBI-320416TL
CBI-360112 CBI-360112TK CBI-360112TR CBI-360112TL
CBI-360116 CBI-360116TK CBI-360116TR CBI-360116TL
CSI シリーズ(CardBus 製品)
CSI-320412 CSI-320416 CSI-360112 CSI-360116
PEX シリーズ(PCI Express バス製品)
PEX-H360116
● 外部クロック、外部トリガについて
・外部クロックを使用する場合は、EXCLK IN 端子に入力してください。
・外部トリガを使用する場合は、EXTRG IN 端子に入力してください。
● トリガについて
「DI マスク付き外部トリガ」にて使用できる DI 端子は、DI1 のみです。
ulStopMode に AD_ETERNITY(無限サンプリング)を設定した場合、ulStartMode には AD_FREERUN(ト
リガなし)のみ指定できます。
その他のトリガは設定することはできません。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
78
● イベント通知サンプリング件数について
イベント通知サンプリング件数は、1~32768 件の範囲で 2のべき乗の件数を指定できます。
バスマスタ方式サンプリングでは、指定したイベント通知サンプリング件数単位でサンプリング件
数が更新されます(イベント通知サンプリング件数に 0を指定した場合には、32768 件単位でサン
プリング件数が更新されます)。
また、AdStartSampling 関数使用時、指定件数イベントで指定できる件数としては、データサイズ
としては、1Mbyte より小さくなるように指定してください。
イベント通知サンプリング件数を小さくすると、AdGetStatus 関数で取得するサンプリング済み件
数の値はよりリアルタイム性を増しますが、割り込みが頻繁に発生するようになるため CPU の負
荷(占有率)が高くなり、OS がフリーズしてしまうこともあります。
このような場合には、イベント通知サンプリング件数を大きくし、イベント発生間隔を 100ms 程
度となるようにしてください。
● アナログトリガパルスについて
アナログトリガ条件を満たすと、ATRG OUT 端子からパルスが出力されます。
このパルスはスタートトリガ、ストップトリガに関係なくトリガ条件を満たすと出力されます。ス
タートストップトリガを指定して、スタートトリガの条件を満たす前にストップトリガの条件を満
たした場合には、パルスが出力されますがサンプリング自体の動作には問題ありません。
● サンプリングデータの取得について
AdGetSamplingData関数、AdBmGetSamplingData関数のどちらを使用してもサンプリングデータを取
得できますが、AdGetSamplingData関数では、AdBmSetSamplingConfig関数にてサンプリングステー
タスの付加を指定しても、サンプリングステータスは取得できません。
● オーバランエラーについて
サンプリング中に DMA バッファがフルになりデータ抜けが発生した場合、オーバランエラーが発生
します。
AdBmSetSamplingConfig関数にて、オーバランエラー発生時のサンプリング停止/継続を選択するこ
とができます。サンプリングを継続した場合、オーバランエラーによりデータ抜けが発生するため、
指定したサンプリング件数と異なる件数でサンプリングが終了します。
● サンプリングクロックエラーについて
複数チャンネルでのサンプリング時のチャンネル切り替え(スキャン)中に次のサンプリングクロ
ックが入力された場合、サンプリングクロックエラーが発生します。
AdBmSetSamplingConfig関数にて、サンプリングクロックエラー発生時のサンプリング停止/継続を
選択することができます。サンプリングを継続した場合、エラークロック(チャンネル切り替え中
に入力されたサンプリングクロック)を無視して、サンプリングを継続します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
79
● サンプリング条件設定について
AdSetSamplingConfig関数、AdBmSetSamplingConfig関数のどちらを使用してもサンプリング条件の
設定ができますが、いずれの関数を使用した場合でも、 後に設定した条件が有効になります。
また、それぞれの関数で指定した ADSMPLREQ 構造体と ADBMSMPLREQ 構造体の内容は、以下のように
対応しています。
ADSMPLREQ 構造体 ADBMSMPLREQ 構造体
ulChCount → ulChCount
SmplChReq → SmplChReq
ulSamplingMode (未使用)
ulSingleDiff → ulSingleDiff
ulSmplNum → ulSmplNum
ulSmplEventNum → ulSmplEventNum
(1) ulSmplRepeat
(AD_APPEND) ulBufferMode
fSmplFreq → fSmplFreq
(デバイスの 高サンプリング周波数) fScanFreq
ulTrigPoint → ulStartMode,ulStopMode
ulTrigMode → ulStartMode, ulStopMode, ulATrgMode
lTrigDelay → ulPreTrigDelay, ulPostTrigDelay
ulTrigCh → TrigChReq[0].ulChNo, TrigChReq[1].ulChNo
fTriglevel1 → TrigChReq[0].fTrigLevel
(レンジ幅の約 0.2%) TrigChReq[0].fHysteresis
fTriglevel2 → TrigChReq[1].fTrigLevel
(レンジ幅の約 0.2%) TrigChReq[1].fHysteresis
ulEClkEdge → ulEClkEdge
ulATrgPulse → ulATrgPulse
ulTrigEdge → ulStartTrigEdge, ulStopTrigEdge
ulTrigDI → ulTrigDI
ulFastMode → ulFastMode
(AD_NO_STATUS) ulStatusMode
(AD_FREERUN) ulErrCtrl
GPG-3100 Help for Linux
© 2000 Interface Corporation.
80
第5章 リファレンス
5.1 関数一覧
5.1.1 関数一覧(IO 方式 1)
PCI シリーズ(PCI バス製品)
PCI-3120 PCI-3126 PCI-3133 PCI-3135
PCI-3165 PCI-3166 PCI-3168C PCI-3170A
PCI-3171A PCI-3172A PCI-3173A PCI-3177C
PCI-3178 PCI-3180 PCI-3521 PCI-3522A
PCI-3523A
CTP シリーズ(CompactPCI バス製品)
CTP-3120A CTP-3120B CTP-3120C CTP-3126
CTP-3133 CTP-3135 CTP-3165 CTP-3168
CTP-3170 CTP-3171 CTP-3172 CTP-3173
CTP-3177 CTP-3178 CTP-3180A CTP-3180B
CTP-3180C CTP-3521 CTP-3522 CTP-3523
CPZ シリーズ(CompactPCI バス製品)
CPZ-3120A CPZ-3120B CPZ-3120C CPZ-3126
CPZ-3133 CPZ-3135 CPZ-3165 CPZ-3168
CPZ-3170 CPZ-3171 CPZ-3172 CPZ-3173
CPZ-3177 CPZ-3178 CPZ-3180A CPZ-3180B
CPZ-3180C CPZ-3521 CPZ-3522 CPZ-3523
PEX シリーズ(PCI Express バス製品)
PEX-H3133 PEX-H3177 PEX-H3178
関数名 機能
AdOpen アナログ入力デバイスのオープンを行い、以後デバイスへのアクセス
を行なえるようにします。
AdClose アナログ入力デバイスのクローズを行い、デバイスアクセスのために
使用されていた各種リソースの解放を行い、以後デバイスへのアクセ
スを禁止します。
AdGetDeviceInfo アナログ入力デバイスの仕様を取得します。
AdSetBoardConfig アナログ入力デバイスのコールバック関数の発生要因を取得します。
AdGetBoardConfig アナログ入力デバイスのコールバック関数の設定を行います。
AdSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を取得
します。
AdGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得しま
す。
AdClearSamplingData サンプリング入力バッファ内のサンプリングデータをクリアします。
AdStartSampling アナログ入力デバイスのサンプリングをスタートさせます。
AdTriggerSampling トリガ(EXTRG IN)が入力されるたびに、アナログ入力デバイスから
1件のアナログ入力を行います。
AdSyncSampling 複数枚同期サンプリング機能を使用したサンプリングを行います。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
81
AdStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイルに
書き込みながらサンプリングを行います。
AdStopSampling アナログ入力デバイスのサンプリングを停止させます。
AdGetStatus アナログ入力デバイスのサンプリング動作状態を取得します。
AdInputAD アナログ入力デバイスから 1件のアナログ入力を行います。
AdSetInputADEx AdInputADEx 関数で行う1件サンプリングの条件を設定します。
AdInputADEx アナログ入力デバイスから AdSetInputAdEx 関数で指定された条件
で 1件のアナログ入力(1件サンプリング)を行います。
AdInputDI アナログ入力デバイスの汎用デジタル入力端子を読み出します。
AdOutputDO アナログ入力デバイスの汎用デジタル出力端子へデータを出力しま
す。
AdReadSamplingBuffer サンプリングバッファに格納されているサンプリングデータを取得し
ます。
AdSetRangeEvent アナログ入力デバイスのフルスケール検出イベント条件の設定を行い
ます。
AdResetRangeEvent フルスケール検出イベントをリセットします。
AdGetRangeEventStatus アナログ入力デバイスのフルスケール検出イベントのステータスを取
得します。
AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに対
し平均処理やスムージング処理を行うことができます。
AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
82
5.1.2 関数一覧(IO 方式 2)
PCI シリーズ(PCI バス製品)
PCI-3179
CTP シリーズ(CompactPCI バス製品)
CTP-3179
CPZ シリーズ(CompactPCI バス製品)
CPZ-3179
関数名 機能
AdOpen アナログ入力デバイスのオープンを行い、以後デバイスへのアクセス
を行なえるようにします。
AdClose アナログ入力デバイスのクローズを行い、デバイスアクセスのために
使用されていた各種リソースの解放を行い、以後デバイスへのアクセ
スを禁止します。
AdGetDeviceInfo アナログ入力デバイスの仕様を取得します。
AdSetBoardConfig アナログ入力デバイスのコールバック関数の発生要因を取得します。
AdGetBoardConfig アナログ入力デバイスのコールバック関数の設定を行います。
AdSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を取得
します。
AdGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得しま
す。
AdClearSamplingData サンプリング入力バッファ内のサンプリングデータをクリアします。
AdStartSampling アナログ入力デバイスのサンプリングをスタートさせます。
AdTriggerSampling トリガ(EXTRG IN)が入力されるたびに、アナログ入力デバイスから
1件のアナログ入力を行います。
AdSyncSampling 複数枚同期サンプリング機能を使用したサンプリングを行います。
AdStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイルに
書き込みながらサンプリングを行います。
AdStopSampling アナログ入力デバイスのサンプリングを停止させます。
AdGetStatus アナログ入力デバイスのサンプリング動作状態を取得します。
AdInputAD アナログ入力デバイスから 1件のアナログ入力を行います。
AdSetInputADEx AdInputADEx 関数で行う1件サンプリングの条件を設定します。
AdInputADEx アナログ入力デバイスから AdSetInputAdEx 関数で指定された条件
で 1件のアナログ入力(1件サンプリング)を行います。
AdInputDI アナログ入力デバイスの汎用デジタル入力端子を読み出します。
AdOutputDO アナログ入力デバイスの汎用デジタル出力端子へデータを出力しま
す。
AdReadSamplingBuffer サンプリングバッファに格納されているサンプリングデータを取得し
ます。
AdSetRangeEvent アナログ入力デバイスのフルスケール検出イベント条件の設定を行い
ます。
AdResetRangeEvent フルスケール検出イベントをリセットします。
AdGetRangeEventStatus アナログ入力デバイスのフルスケール検出イベントのステータスを取
得します。
AdLvSetSamplingConfig PCI-3179, CTP/CPZ-3179 のサンプリング条件の設定を行います。
AdLvGetSamplingConfig PCI-3179, CTP-3179, CPZ-3179 の現在設定されているサンプリング条
件を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
83
AdLvGetSamplingData PCI-3179, CTP/CPZ-3179 から AdLvStartSampling 関数で入力されたサ
ンプリングデータを取得します。
AdLvCalibration PCI-3179, CTP/CPZ-3179 のオートキャリブレーション(較正)を行い
ます。
AdLvStartSampling PCI-3179, CTP-3179 の連続サンプリングをスタートさせます。
AdLvStopSampling AdLvStartSampling 関数でスタートさせた PCI-3179, CTP-3179 の連続
サンプリング入力を停止させます。
AdLvGetStatus PCI-3179, CTP/CPZ-3179 のサンプリング動作状態を取得します。
AdMeasureTemperature PCI-3179, CTP/CPZ-3179 の内部コネクタ付近の温度を取得します。
AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに対
し平均処理やスムージング処理を行うことができます。
AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
84
5.1.3 関数一覧(IO 方式 3)
PCI シリーズ(PCI バス製品)
PCI-322012 PCI-361516
関数名 機能
AdOpen アナログ入力デバイスのオープンを行い、以後デバイスへのアクセス
を行なえるようにします。
AdClose アナログ入力デバイスのクローズを行い、デバイスアクセスのために
使用されていた各種リソースの解放を行い、以後デバイスへのアクセ
スを禁止します。
AdGetDeviceInfo アナログ入力デバイスの仕様を取得します。
AdSetBoardConfig アナログ入力デバイスのコールバック関数の発生要因を取得します。
AdGetBoardConfig アナログ入力デバイスのコールバック関数の設定を行います。
AdSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を取得
します。
AdGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得しま
す。
AdClearSamplingData サンプリング入力バッファ内のサンプリングデータをクリアします。
AdStartSampling アナログ入力デバイスのサンプリングをスタートさせます。
AdStopSampling アナログ入力デバイスのサンプリングを停止させます。
AdGetStatus アナログ入力デバイスのサンプリング動作状態を取得します。
AdInputAD アナログ入力デバイスから 1件のアナログ入力を行います。
AdSetInputADEx AdInputADEx 関数で行う1件サンプリングの条件を設定します。
AdInputADEx アナログ入力デバイスから AdSetInputAdEx 関数で指定された条件
で 1件のアナログ入力(1件サンプリング)を行います。
AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに対
し平均処理やスムージング処理を行うことができます。
AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
85
5.1.4 関数一覧(FIFO 方式 1)
PCI シリーズ(PCI バス製品)
PCI-3153 PCI-3155
関数名 機能
AdOpen アナログ入力デバイスのオープンを行い、以後デバイスへのアクセス
を行なえるようにします。
AdClose アナログ入力デバイスのクローズを行い、デバイスアクセスのために
使用されていた各種リソースの解放を行い、以後デバイスへのアクセ
スを禁止します。
AdGetDeviceInfo アナログ入力デバイスの仕様を取得します。
AdSetBoardConfig アナログ入力デバイスのコールバック関数の発生要因を取得します。
AdGetBoardConfig アナログ入力デバイスのコールバック関数の設定を行います。
AdSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を取得
します。
AdGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得しま
す。
AdClearSamplingData サンプリング入力バッファ内のサンプリングデータをクリアします。
AdStartSampling アナログ入力デバイスのサンプリングをスタートさせます。
AdTriggerSampling トリガ(EXTRG IN)が入力されるたびに、アナログ入力デバイスから
1件のアナログ入力を行います。
AdStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイルに
書き込みながらサンプリングを行います。
AdStopSampling アナログ入力デバイスのサンプリングを停止させます。
AdGetStatus アナログ入力デバイスのサンプリング動作状態を取得します。
AdInputAD アナログ入力デバイスから 1件のアナログ入力を行います。
AdSetInputADEx AdInputADEx 関数で行う1件サンプリングの条件を設定します。
AdInputADEx アナログ入力デバイスから AdSetInputAdEx 関数で指定された条件
で 1件のアナログ入力(1件サンプリング)を行います。
AdInputDI アナログ入力デバイスの汎用デジタル入力端子を読み出します。
AdOutputDO アナログ入力デバイスの汎用デジタル出力端子へデータを出力しま
す。
AdReadSamplingBuffer サンプリングバッファに格納されているサンプリングデータを取得し
ます。
AdFifoGetSamplingData アナログ入力デバイスから入力されたサンプリングデータとデジタル
データを取得します。
※PCI-3153, CTP/CPZ-3167 でのみ使用できます。
AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに対
し平均処理やスムージング処理を行うことができます。
AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
86
5.1.5 関数一覧(FIFO 方式 2)
LPC シリーズ(Low Profile PCI バス製品)
LPC-321316 LPC-321416 LPC-361316 LPC-361416
PEX シリーズ(PCI Express バス製品)
PEX-321316 PEX-321416 PEX-361316 PEX-361416
CTP シリーズ(CompactPCI バス製品)
CTP-3167
CPZ シリーズ(CompactPCI バス製品)
CPZ-3167
CBI シリーズ(CardBus 製品)
CBI-3133A CBI-3133B CBI-3134A CBI-3134B
CBI-320212 CBI-320212TK CBI-320212TR CBI-320212TL
CBI-320312 CBI-320312TK CBI-320312TR CBI-320312TL
CSI シリーズ(CardBus 製品)
CSI-320212 CSI-320312
タフコン CD シリーズ
PCI-362816
関数名 機能
AdOpen アナログ入力デバイスのオープンを行い、以後デバイスへのアクセス
を行なえるようにします。
AdClose アナログ入力デバイスのクローズを行い、デバイスアクセスのために
使用されていた各種リソースの解放を行い、以後デバイスへのアクセ
スを禁止します。
AdGetDeviceInfo アナログ入力デバイスの仕様を取得します。
AdSetBoardConfig アナログ入力デバイスのコールバック関数の発生要因を取得します。
AdGetBoardConfig アナログ入力デバイスのコールバック関数の設定を行います。
AdSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を取得
します。
AdGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得しま
す。
AdClearSamplingData サンプリング入力バッファ内のサンプリングデータをクリアします。
AdStartSampling アナログ入力デバイスのサンプリングをスタートさせます。
AdTriggerSampling トリガ(EXTRG IN)が入力されるたびに、アナログ入力デバイスから
1件のアナログ入力を行います。
AdSyncSampling 複数枚同期サンプリング機能を使用したサンプリングを行います。
AdStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイルに
書き込みながらサンプリングを行います。
AdStopSampling アナログ入力デバイスのサンプリングを停止させます。
AdGetStatus アナログ入力デバイスのサンプリング動作状態を取得します。
AdInputAD アナログ入力デバイスから 1件のアナログ入力を行います。
AdSetInputADEx AdInputADEx 関数で行う1件サンプリングの条件を設定します。
AdInputADEx アナログ入力デバイスから AdSetInputAdEx 関数で指定された条件
GPG-3100 Help for Linux
© 2000 Interface Corporation.
87
で 1 件のアナログ入力(1件サンプリング)を行います。
AdInputDI アナログ入力デバイスの汎用デジタル入力端子を読み出します。
AdOutputDO アナログ入力デバイスの汎用デジタル出力端子へデータを出力しま
す。
AdReadSamplingBuffer サンプリングバッファに格納されているサンプリングデータを取得し
ます。
AdFifoGetSamplingData アナログ入力デバイスから入力されたサンプリングデータとデジタル
データを取得します。
※PCI-3153, CTP/CPZ-3167 でのみ使用できます。
AdSetRangeEvent アナログ入力デバイスのフルスケール検出イベント条件の設定を行い
ます。
AdResetRangeEvent フルスケール検出イベントをリセットします。
AdGetRangeEventStatus アナログ入力デバイスのフルスケール検出イベントのステータスを取
得します。
AdBmSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdBmGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を取得
します。
AdSetOutMode アナログ入力デバイスの外部出力信号制御設定を設定します。
AdGetOutMode アナログ入力デバイスの外部出力信号制御設定を取得します。
AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに対
し平均処理やスムージング処理を行うことができます。
AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
88
5.1.6 関数一覧(FIFO 方式 3)
PCI-362816
関数名 機能
AdOpen アナログ入力デバイスのオープンを行い、以後デバイスへのアクセス
を行なえるようにします。
AdClose アナログ入力デバイスのクローズを行い、デバイスアクセスのために
使用されていた各種リソースの解放を行い、以後デバイスへのアクセ
スを禁止します。
AdGetDeviceInfo アナログ入力デバイスの仕様を取得します。
AdSetBoardConfig アナログ入力デバイスのコールバック関数の発生要因を取得します。
AdGetBoardConfig アナログ入力デバイスのコールバック関数の設定を行います。
AdSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を取得
します。
AdGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得しま
す。
AdClearSamplingData サンプリング入力バッファ内のサンプリングデータをクリアします。
AdStartSampling アナログ入力デバイスのサンプリングをスタートさせます。
AdTriggerSampling トリガ(EXTRG IN)が入力されるたびに、アナログ入力デバイスから
1件のアナログ入力を行います。
AdSyncSampling 複数枚同期サンプリング機能を使用したサンプリングを行います。
AdStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイルに
書き込みながらサンプリングを行います。
AdStopSampling アナログ入力デバイスのサンプリングを停止させます。
AdGetStatus アナログ入力デバイスのサンプリング動作状態を取得します。
AdInputAD アナログ入力デバイスから 1件のアナログ入力を行います。
AdSetInputADEx AdInputADEx 関数で行う1件サンプリングの条件を設定します。
AdInputADEx アナログ入力デバイスから AdSetInputAdEx 関数で指定された条件
で 1件のアナログ入力(1件サンプリング)を行います。
AdReadSamplingBuffer サンプリングバッファに格納されているサンプリングデータを取得し
ます。
AdSetRangeEvent アナログ入力デバイスのフルスケール検出イベント条件の設定を行い
ます。
AdResetRangeEvent フルスケール検出イベントをリセットします。
AdGetRangeEventStatus アナログ入力デバイスのフルスケール検出イベントのステータスを取
得します。
AdBmSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdBmGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を取得
します。
AdSetOutMode アナログ入力デバイスの外部出力信号制御設定を設定します。
AdGetOutMode アナログ入力デバイスの外部出力信号制御設定を取得します。
AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに対
し平均処理やスムージング処理を行うことができます。
AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
89
5.1.7 関数一覧(メモリ方式 1)
PCI シリーズ(PCI バス製品)
PCI-3161 PCI-3163
関数名 機能
AdOpen アナログ入力デバイスのオープンを行い、以後デバイスへのアクセス
を行なえるようにします。
AdClose アナログ入力デバイスのクローズを行い、デバイスアクセスのために
使用されていた各種リソースの解放を行い、以後デバイスへのアクセ
スを禁止します。
AdGetDeviceInfo アナログ入力デバイスの仕様を取得します。
AdSetBoardConfig アナログ入力デバイスのコールバック関数の発生要因を取得します。
AdGetBoardConfig アナログ入力デバイスのコールバック関数の設定を行います。
AdSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を取得
します。
AdGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得しま
す。
AdClearSamplingData サンプリング入力バッファ内のサンプリングデータをクリアします。
AdStartSampling アナログ入力デバイスのサンプリングをスタートさせます。
AdMemTriggerSampling トリガ(EXTRG IN)が入力されるたびに、アナログ入力デバイスから
指定件数のサンプリングを行います。
AdStopSampling アナログ入力デバイスのサンプリングを停止させます。
AdGetStatus アナログ入力デバイスのサンプリング動作状態を取得します。
AdInputAD アナログ入力デバイスから 1件のアナログ入力を行います。
AdSetInputADEx AdInputADEx 関数で行う1件サンプリングの条件を設定します。
AdInputADEx アナログ入力デバイスから AdSetInputAdEx 関数で指定された条件
で 1件のアナログ入力(1件サンプリング)を行います。
AdSetRangeEvent アナログ入力デバイスのフルスケール検出イベント条件の設定を行い
ます。
AdResetRangeEvent フルスケール検出イベントをリセットします。
AdGetRangeEventStatus アナログ入力デバイスのフルスケール検出イベントのステータスを取
得します。
AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに対
し平均処理やスムージング処理を行うことができます。
AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
90
5.1.8 関数一覧(メモリ方式 2)
LPC シリーズ(Low Profile PCI バス製品)
LPC-320910
PEX シリーズ(PCI Express バス製品)
PEX-320910
CBI シリーズ(CardBus 製品)
CBI-320110 CBI-320110TK CBI-320110TL
CSI シリーズ(CardBus 製品)
CSI-320110
関数名 機能
AdOpen アナログ入力デバイスのオープンを行い、以後デバイスへのアクセス
を行なえるようにします。
AdClose アナログ入力デバイスのクローズを行い、デバイスアクセスのために
使用されていた各種リソースの解放を行い、以後デバイスへのアクセ
スを禁止します。
AdGetDeviceInfo アナログ入力デバイスの仕様を取得します。
AdSetBoardConfig アナログ入力デバイスのコールバック関数の発生要因を取得します。
AdGetBoardConfig アナログ入力デバイスのコールバック関数の設定を行います。
AdMemSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdMemGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を取得
します。
AdGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得しま
す。
AdClearSamplingData サンプリング入力バッファ内のサンプリングデータをクリアします。
AdStartSampling アナログ入力デバイスの連続サンプリングをスタートさせます。
AdStopSampling アナログ入力デバイスのサンプリングを停止させます。
AdGetStatus アナログ入力デバイスのサンプリング動作状態を取得します。
AdInputDI アナログ入力デバイスの汎用デジタル入力端子を読み出します。
AdOutputDO アナログ入力デバイスの汎用デジタル出力端子へデータを出力しま
す。
AdSetRangeEvent アナログ入力デバイスのフルスケール検出イベント条件の設定を行い
ます。
AdGetRangeEventStatus アナログ入力デバイスのフルスケール検出イベントのステータスを取
得します。
AdResetRangeEvent アナログ入力デバイスのフルスケール検出イベントをリセットしま
す。
AdSetOutMode アナログ入力モードの外部出力信号制御設定を取得します。
AdGetOutMode アナログ入力モードの外部出力信号制御設定を取得します。
AdMemSetDiPattern アナログ入力デバイスの DI パターン一致条件を設定します。
AdMemGetDiPattern アナログ入力デバイスの DI パターン一致条件を取得します。
AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに対
し平均処理やスムージング処理を行うことができます。
AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
91
5.1.9 関数一覧(メモリ方式 3)
CTP シリーズ(CompactPCI バス製品)
CTP-360810
CPZ シリーズ(CompactPCI バス製品)
CPZ-360810
関数名 機能
AdOpen アナログ入力デバイスのオープンを行い、以後デバイスへのアクセス
を行なえるようにします。
AdClose アナログ入力デバイスのクローズを行い、デバイスアクセスのために
使用されていた各種リソースの解放を行い、以後デバイスへのアクセ
スを禁止します。
AdGetDeviceInfo アナログ入力デバイスの仕様を取得します。
AdSetBoardConfig アナログ入力デバイスのコールバック関数の発生要因を取得します。
AdGetBoardConfig アナログ入力デバイスのコールバック関数の設定を行います。
AdMemSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdMemGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を取得
します。
AdGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得しま
す。
AdClearSamplingData サンプリング入力バッファ内のサンプリングデータをクリアします。
AdStartSampling アナログ入力デバイスの連続サンプリングをスタートさせます。
AdSyncSampling 複数枚同期サンプリング機能を使用したサンプリングを行います。
AdStopSampling アナログ入力デバイスのサンプリングを停止させます。
AdGetStatus アナログ入力デバイスのサンプリング動作状態を取得します。
AdInputDI アナログ入力デバイスの汎用デジタル入力端子を読み出します。
AdOutputDO アナログ入力デバイスの汎用デジタル出力端子へデータを出力しま
す。
AdSetRangeEvent アナログ入力デバイスのフルスケール検出イベント条件の設定を行い
ます。
AdGetRangeEventStatus アナログ入力デバイスのフルスケール検出イベントのステータスを取
得します。
AdResetRangeEvent アナログ入力デバイスのフルスケール検出イベントをリセットしま
す。
AdSetOutMode アナログ入力モードの外部出力信号制御設定を取得します。
AdGetOutMode アナログ入力モードの外部出力信号制御設定を取得します。
AdMemSetDiPattern アナログ入力デバイスの DI パターン一致条件を設定します。
AdMemGetDiPattern アナログ入力デバイスの DI パターン一致条件を取得します。
AdSetFunction アナログ入力デバイスの CN3 の機能設定を行います。
AdGetFunction アナログ入力デバイスの CN3 の機能設定を取得します。
AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに対
し平均処理やスムージング処理を行うことができます。
AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
92
5.1.10 関数一覧(バスマスタ方式 1)
PCI シリーズ(PCI バス製品)
PCI-3174 PCI-3175 PCI-3176
CTP シリーズ(CompactPCI バス製品)
CTP-3174 CTP-3175 CTP-3182
CPZ シリーズ(CompactPCI バス製品)
CPZ-3174 CPZ-3175 CPZ-3182
関数名 機能
AdOpen アナログ入力デバイスのオープンを行い、以後デバイスへのアクセ
スを行なえるようにします。
AdClose アナログ入力デバイスのクローズを行い、デバイスアクセスのため
に使用されていた各種リソースの解放を行い、以後デバイスへのア
クセスを禁止します。
AdGetDeviceInfo アナログ入力デバイスの仕様を取得します。
AdSetBoardConfig アナログ入力デバイスのコールバック関数の発生要因を取得しま
す。
AdGetBoardConfig アナログ入力デバイスのコールバック関数の設定を行います。
AdSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を
取得します。
AdGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得
します。
AdClearSamplingData サンプリング入力バッファ内のサンプリングデータをクリアしま
す。
AdStartSampling アナログ入力デバイスのサンプリングをスタートさせます。
AdSyncSampling 複数枚同期サンプリング機能を使用したサンプリングを行います。
AdStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイ
ルに書き込みながらサンプリングを行います。
AdStopSampling アナログ入力デバイスのサンプリングを停止させます。
AdGetStatus アナログ入力デバイスのサンプリング動作状態を取得します。
AdInputAD アナログ入力デバイスから 1件のアナログ入力を行います。
AdSetInputADEx AdInputADEx 関数で行う1件サンプリングの条件を設定します。
AdInputADEx アナログ入力デバイスから AdSetInputAdEx 関数で指定された条件
で 1件のアナログ入力(1件サンプリング)を行います。
AdInputDI アナログ入力デバイスの汎用デジタル入力端子を読み出します。
AdOutputDO アナログ入力デバイスの汎用デジタル出力端子へデータを出力し
ます。
AdReadSamplingBuffer サンプリングバッファに格納されているサンプリングデータを取
得します。
AdSetRangeEvent アナログ入力デバイスのフルスケール検出イベント条件の設定を
行います。
AdResetRangeEvent フルスケール検出イベントをリセットします。
AdGetRangeEventStatus アナログ入力デバイスのフルスケール検出イベントのステータス
を取得します。
AdBmSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdBmGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を
GPG-3100 Help for Linux
© 2000 Interface Corporation.
93
取得します。
AdBmGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得
します。
AdBmStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイ
ルに書き込みながらサンプリングを行います。
AdStartSamplingEx アナログ入力デバイスのサンプリングをスタートさせます。
(x86_64 以外でのみ使用できます)
AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに
対し平均処理やスムージング処理を行うことができます。
AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
94
5.1.11 関数一覧(バスマスタ方式 2)
PCI シリーズ(PCI バス製品)
PCI-320112
CTP シリーズ(CompactPCI バス製品)
CTP-3183
CPZ シリーズ(CompactPCI バス製品)
CPZ-3183
関数名 機能
AdOpen アナログ入力デバイスのオープンを行い、以後デバイスへのアクセ
スを行なえるようにします。
AdClose アナログ入力デバイスのクローズを行い、デバイスアクセスのため
に使用されていた各種リソースの解放を行い、以後デバイスへのア
クセスを禁止します。
AdGetDeviceInfo アナログ入力デバイスの仕様を取得します。
AdSetBoardConfig アナログ入力デバイスのコールバック関数の発生要因を取得しま
す。
AdGetBoardConfig アナログ入力デバイスのコールバック関数の設定を行います。
AdSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を
取得します。
AdGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得
します。
AdClearSamplingData サンプリング入力バッファ内のサンプリングデータをクリアしま
す。
AdStartSampling アナログ入力デバイスのサンプリングをスタートさせます。
AdSyncSampling 複数枚同期サンプリング機能を使用したサンプリングを行います。
AdStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイ
ルに書き込みながらサンプリングを行います。
AdStopSampling アナログ入力デバイスのサンプリングを停止させます。
AdGetStatus アナログ入力デバイスのサンプリング動作状態を取得します。
AdInputAD アナログ入力デバイスから 1件のアナログ入力を行います。
AdSetInputADEx AdInputADEx 関数で行う1件サンプリングの条件を設定します。
AdInputADEx アナログ入力デバイスから AdSetInputAdEx 関数で指定された条件
で 1件のアナログ入力(1件サンプリング)を行います。
AdInputDI アナログ入力デバイスの汎用デジタル入力端子を読み出します。
AdOutputDO アナログ入力デバイスの汎用デジタル出力端子へデータを出力し
ます。
AdReadSamplingBuffer サンプリングバッファに格納されているサンプリングデータを取
得します。
AdSetRangeEvent アナログ入力デバイスのフルスケール検出イベント条件の設定を
行います。
AdResetRangeEvent フルスケール検出イベントをリセットします。
AdGetRangeEventStatus アナログ入力デバイスのフルスケール検出イベントのステータス
を取得します。
AdGetOverRangeChStatus アナログ入力デバイスの過電圧入力時自動レンジ切換イベントの
ステータスを取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
95
AdResetOverRangeCh アナログ入力デバイスの過電圧入力時自動レンジ切換イベントの
ステータスをリセットします。
AdBmSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdBmGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を
取得します。
AdBmGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得
します。
AdBmStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイ
ルに書き込みながらサンプリングを行います。
AdStartSamplingEx アナログ入力デバイスのサンプリングをスタートさせます。
(x86_64 以外でのみ使用できます)
AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに
対し平均処理やスムージング処理を行うことができます。
AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
96
5.1.12 関数一覧(バスマスタ方式 3)
PCI シリーズ(PCI バス製品)
PCI-320412 PCI-320416 PCI-360112 PCI-360116
PCI-360216
CTP シリーズ(CompactPCI バス製品)
CTP-320412 CTP-320416 CTP-360112 CTP-360116
CPZ シリーズ(CompactPCI バス製品)
CPZ-320412 CPZ-320416 CPZ-360112 CPZ-360116
PEX シリーズ(PCI Express バス製品)
PEX-H360116
関数名 機能
AdOpen アナログ入力デバイスのオープンを行い、以後デバイスへのアクセ
スを行なえるようにします。
AdClose アナログ入力デバイスのクローズを行い、デバイスアクセスのため
に使用されていた各種リソースの解放を行い、以後デバイスへのア
クセスを禁止します。
AdGetDeviceInfo アナログ入力デバイスの仕様を取得します。
AdSetBoardConfig アナログ入力デバイスのコールバック関数の発生要因を取得しま
す。
AdGetBoardConfig アナログ入力デバイスのコールバック関数の設定を行います。
AdSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を
取得します。
AdGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得
します。
AdClearSamplingData サンプリング入力バッファ内のサンプリングデータをクリアしま
す。
AdStartSampling アナログ入力デバイスのサンプリングをスタートさせます。
AdSyncSampling 複数枚同期サンプリング機能を使用したサンプリングを行います。
AdStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイ
ルに書き込みながらサンプリングを行います。
AdStopSampling アナログ入力デバイスのサンプリングを停止させます。
AdGetStatus アナログ入力デバイスのサンプリング動作状態を取得します。
AdInputAD アナログ入力デバイスから 1件のアナログ入力を行います。
AdSetInputADEx AdInputADEx 関数で行う1件サンプリングの条件を設定します。
AdInputADEx アナログ入力デバイスから AdSetInputAdEx 関数で指定された条件
で 1件のアナログ入力(1件サンプリング)を行います。
AdInputDI アナログ入力デバイスの汎用デジタル入力端子を読み出します。
AdOutputDO アナログ入力デバイスの汎用デジタル出力端子へデータを出力し
ます。
AdReadSamplingBuffer サンプリングバッファに格納されているサンプリングデータを取
得します。
AdSetRangeEvent アナログ入力デバイスのフルスケール検出イベント条件の設定を
行います。
AdResetRangeEvent フルスケール検出イベントをリセットします。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
97
AdGetRangeEventStatus アナログ入力デバイスのフルスケール検出イベントのステータス
を取得します。
AdBmSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdBmGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を
取得します。
AdBmGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得
します。
AdBmStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイ
ルに書き込みながらサンプリングを行います。
AdStartSamplingEx アナログ入力デバイスのサンプリングをスタートさせます。
(x86_64 以外でのみ使用できます)
AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに
対し平均処理やスムージング処理を行うことができます。
AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
98
5.1.13 関数一覧(バスマスタ方式 4)
PCI シリーズ(PCI バス製品)
PCI-362616
LPC シリーズ(Low Profile PCI バス製品)
LPC-321116 LPC-321216 LPC-361116 LPC-361216
PEX シリーズ(PCI Express バス製品)
PEX-321116 PEX-321216 PEX-361116 PEX-361216
CBI シリーズ(CardBus 製品)
CBI-320412 CBI-320412TK CBI-320412TR CBI-320412TL
CBI-320416 CBI-320416TK CBI-320416TR CBI-320416TL
CBI-360112 CBI-360112TK CBI-360112TR CBI-360112TL
CBI-360116 CBI-360116TK CBI-360116TR CBI-360116TL
CSI シリーズ(CardBus 製品)
CSI-320412 CSI-320416 CSI-360112 CSI-360116
関数名 機能
AdOpen アナログ入力デバイスのオープンを行い、以後デバイスへのアクセ
スを行なえるようにします。
AdClose アナログ入力デバイスのクローズを行い、デバイスアクセスのため
に使用されていた各種リソースの解放を行い、以後デバイスへのア
クセスを禁止します。
AdGetDeviceInfo アナログ入力デバイスの仕様を取得します。
AdSetBoardConfig アナログ入力デバイスのコールバック関数の発生要因を取得しま
す。
AdGetBoardConfig アナログ入力デバイスのコールバック関数の設定を行います。
AdSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を
取得します。
AdGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得
します。
AdClearSamplingData サンプリング入力バッファ内のサンプリングデータをクリアしま
す。
AdStartSampling アナログ入力デバイスのサンプリングをスタートさせます。
AdStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイ
ルに書き込みながらサンプリングを行います。
AdStopSampling アナログ入力デバイスのサンプリングを停止させます。
AdGetStatus アナログ入力デバイスのサンプリング動作状態を取得します。
AdInputAD アナログ入力デバイスから 1件のアナログ入力を行います。
AdSetInputADEx AdInputADEx 関数で行う1件サンプリングの条件を設定します。
AdInputADEx アナログ入力デバイスから AdSetInputAdEx 関数で指定された条件
で 1件のアナログ入力(1件サンプリング)を行います。
AdInputDI アナログ入力デバイスの汎用デジタル入力端子を読み出します。
AdOutputDO アナログ入力デバイスの汎用デジタル出力端子へデータを出力し
ます。
AdReadSamplingBuffer サンプリングバッファに格納されているサンプリングデータを取
GPG-3100 Help for Linux
© 2000 Interface Corporation.
99
得します。
AdSetRangeEvent アナログ入力デバイスのフルスケール検出イベント条件の設定を
行います。
AdResetRangeEvent フルスケール検出イベントをリセットします。
AdGetRangeEventStatus アナログ入力デバイスのフルスケール検出イベントのステータス
を取得します。
AdBmSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdBmGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を
取得します。
AdBmGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得
します。
AdBmStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイ
ルに書き込みながらサンプリングを行います。
AdSetOutMode アナログ入力デバイスの外部出力信号制御設定を設定します。
AdGetOutMode アナログ入力デバイスの外部出力信号制御設定を取得します。
AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに
対し平均処理やスムージング処理を行うことができます。
AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。
AdStartSamplingEx アナログ入力デバイスのサンプリングをスタートさせます。
(x86_64 以外でのみ使用できます)
GPG-3100 Help for Linux
© 2000 Interface Corporation.
100
5.1.14 関数一覧(バスマスタ方式 5)
PCI シリーズ(PCI バス製品)
PCI-3525
CTP シリーズ(CompactPCI バス製品)
CTP-3525
CPZ シリーズ(CompactPCI バス製品)
CPZ-3525
PEX シリーズ(PCI Express バス製品)
PEX-H3525
関数名 機能
AdOpen アナログ入力デバイスのオープンを行い、以後デバイスへのアクセ
スを行なえるようにします。
AdClose アナログ入力デバイスのクローズを行い、デバイスアクセスのため
に使用されていた各種リソースの解放を行い、以後デバイスへのア
クセスを禁止します。
AdGetDeviceInfo アナログ入力デバイスの仕様を取得します。
AdSetBoardConfig アナログ入力デバイスのコールバック関数の発生要因を取得しま
す。
AdGetBoardConfig アナログ入力デバイスのコールバック関数の設定を行います。
AdSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を
取得します。
AdGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得
します。
AdClearSamplingData サンプリング入力バッファ内のサンプリングデータをクリアしま
す。
AdStartSampling アナログ入力デバイスのサンプリングをスタートさせます。
AdSyncSampling 複数枚同期サンプリング機能を使用したサンプリングを行います。
AdStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイ
ルに書き込みながらサンプリングを行います。
AdStopSampling アナログ入力デバイスのサンプリングを停止させます。
AdGetStatus アナログ入力デバイスのサンプリング動作状態を取得します。
AdInputAD アナログ入力デバイスから 1件のアナログ入力を行います。
AdSetInputADEx AdInputADEx 関数で行う1件サンプリングの条件を設定します。
AdInputADEx アナログ入力デバイスから AdSetInputAdEx 関数で指定された条件
で 1件のアナログ入力(1件サンプリング)を行います。
AdInputDI アナログ入力デバイスの汎用デジタル入力端子を読み出します。
AdOutputDO アナログ入力デバイスの汎用デジタル出力端子へデータを出力し
ます。
AdReadSamplingBuffer サンプリングバッファに格納されているサンプリングデータを取
得します。
AdSetRangeEvent アナログ入力デバイスのフルスケール検出イベント条件の設定を
行います。
AdResetRangeEvent フルスケール検出イベントをリセットします。
AdGetRangeEventStatus アナログ入力デバイスのフルスケール検出イベントのステータス
GPG-3100 Help for Linux
© 2000 Interface Corporation.
101
を取得します。
AdSetInterval アナログ入力デバイスのインターバルタイマの設定を行います。
AdGetInterval アナログ入力デバイスのインターバルタイマ設定を取得します。
AdSetFunction CN3、CN4 の機能設定を行います。
AdGetFunction CN3、CN4 の機能設定を取得します。
AdBmSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdBmGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を
取得します。
AdStartSamplingEx アナログ入力デバイスのサンプリングをスタートさせます。
(x86_64 以外でのみ使用できます)
AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに
対し平均処理やスムージング処理を行うことができます。
AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
102
5.1.15 関数一覧(バスマスタ方式 6)
LPC シリーズ(Low Profile PCI バス製品)
LPC-321012
PEX シリーズ(PCI Express バス製品)
PEX-321012
関数名 機能
AdOpen アナログ入力デバイスのオープンを行い、以後デバイスへのアクセ
スを行なえるようにします。
AdClose アナログ入力デバイスのクローズを行い、デバイスアクセスのため
に使用されていた各種リソースの解放を行い、以後デバイスへのア
クセスを禁止します。
AdGetDeviceInfo アナログ入力デバイスの仕様を取得します。
AdSetBoardConfig アナログ入力デバイスのコールバック関数の発生要因を取得しま
す。
AdGetBoardConfig アナログ入力デバイスのコールバック関数の設定を行います。
AdSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を
取得します。
AdGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得
します。
AdClearSamplingData サンプリング入力バッファ内のサンプリングデータをクリアしま
す。
AdStartSampling アナログ入力デバイスのサンプリングをスタートさせます。
AdStartSamplingEx アナログ入力デバイスのサンプリングをスタートさせます。
AdStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイ
ルに書き込みながらサンプリングを行います。
AdStopSampling アナログ入力デバイスのサンプリングを停止させます。
AdGetStatus アナログ入力デバイスのサンプリング動作状態を取得します。
AdInputAD アナログ入力デバイスから 1件のアナログ入力を行います。
AdSetInputADEx AdInputADEx 関数で行う1件サンプリングの条件を設定します。
AdInputADEx アナログ入力デバイスから AdSetInputAdEx 関数で指定された条件
で 1件のアナログ入力(1件サンプリング)を行います。
AdInputDI アナログ入力デバイスの汎用デジタル入力端子を読み出します。
AdOutputDO アナログ入力デバイスの汎用デジタル出力端子へデータを出力し
ます。
AdReadSamplingBuffer サンプリングバッファに格納されているサンプリングデータを取
得します。
AdSetRangeEvent アナログ入力デバイスのフルスケール検出イベント条件の設定を
行います。
AdResetRangeEvent フルスケール検出イベントをリセットします。
AdGetRangeEventStatus アナログ入力デバイスのフルスケール検出イベントのステータス
を取得します。
AdSetInterval アナログ入力デバイスのインターバルタイマの設定を行います。
AdGetInterval アナログ入力デバイスのインターバルタイマ設定を取得します。
AdSetOutMode アナログ入力デバイスの外部出力信号制御設定を設定します。
AdGetOutMode アナログ入力デバイスの外部出力信号制御設定を取得します。
AdBmSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
103
AdBmGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を
取得します。
AdStartSamplingEx アナログ入力デバイスのサンプリングをスタートさせます。
(x86_64 以外でのみ使用できます)
AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに
対し平均処理やスムージング処理を行うことができます。
AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
104
5.1.16 関数一覧(バスマスタ方式 7)
LPC シリーズ(Low Profile PCI バス製品)
LPC-320724
PEX シリーズ(PCI Express バス製品)
PEX-320724
関数名 機能
AdOpen アナログ入力デバイスのオープンを行い、以後デバイスへのアクセ
スを行なえるようにします。
AdClose アナログ入力デバイスのクローズを行い、デバイスアクセスのため
に使用されていた各種リソースの解放を行い、以後デバイスへのア
クセスを禁止します。
AdGetDeviceInfo アナログ入力デバイスの仕様を取得します。
AdSetBoardConfig アナログ入力デバイスのコールバック関数の発生要因を取得しま
す。
AdGetBoardConfig アナログ入力デバイスのコールバック関数の設定を行います。
AdSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を
取得します。
AdGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得
します。
AdClearSamplingData サンプリング入力バッファ内のサンプリングデータをクリアしま
す。
AdStartSampling アナログ入力デバイスのサンプリングをスタートさせます。
AdStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイ
ルに書き込みながらサンプリングを行います。
AdStopSampling アナログ入力デバイスのサンプリングを停止させます。
AdGetStatus アナログ入力デバイスのサンプリング動作状態を取得します。
AdInputAD アナログ入力デバイスから 1件のアナログ入力を行います。
AdSetInputADEx AdInputADEx 関数で行う1件サンプリングの条件を設定します。
AdInputADEx アナログ入力デバイスから AdSetInputAdEx 関数で指定された条件
で 1件のアナログ入力(1件サンプリング)を行います。
AdReadSamplingBuffer サンプリングバッファに格納されているサンプリングデータを取
得します。
AdSetFunction アナログ入力デバイスの CN3 の機能設定を行います。
AdGetFunction アナログ入力デバイスの CN3 の機能設定を取得します。
AdSetFilter アナログ入力デバイスのデジタルフィルタの設定を行います。
AdGetFilter アナログ入力デバイスのデジタルフィルタ設定を取得します。
AdBmSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdBmGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を
取得します。
AdStartSamplingEx アナログ入力デバイスのサンプリングをスタートさせます。
(i386 用)
AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに
対し平均処理やスムージング処理を行うことができます。
AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
105
5.1.17 関数一覧(バスマスタ方式 8)
LPC シリーズ(Low Profile PCI バス製品)
PCI-321516
関数名 機能
AdOpen アナログ入力デバイスのオープンを行い、以後デバイスへのアクセ
スを行なえるようにします。
AdClose アナログ入力デバイスのクローズを行い、デバイスアクセスのため
に使用されていた各種リソースの解放を行い、以後デバイスへのア
クセスを禁止します。
AdGetDeviceInfo アナログ入力デバイスの仕様を取得します。
AdSetBoardConfig アナログ入力デバイスのコールバック関数の発生要因を取得しま
す。
AdGetBoardConfig アナログ入力デバイスのコールバック関数の設定を行います。
AdSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を
取得します。
AdGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得
します。
AdClearSamplingData サンプリング入力バッファ内のサンプリングデータをクリアしま
す。
AdStartSampling アナログ入力デバイスのサンプリングをスタートさせます。
AdStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイ
ルに書き込みながらサンプリングを行います。
AdStopSampling アナログ入力デバイスのサンプリングを停止させます。
AdGetStatus アナログ入力デバイスのサンプリング動作状態を取得します。
AdInputAD アナログ入力デバイスから 1件のアナログ入力を行います。
AdSetInputADEx AdInputADEx 関数で行う1件サンプリングの条件を設定します。
AdInputADEx アナログ入力デバイスから AdSetInputAdEx 関数で指定された条件
で 1件のアナログ入力(1件サンプリング)を行います。
AdReadSamplingBuffer サンプリングバッファに格納されているサンプリングデータを取
得します。
AdSetRangeEvent アナログ入力デバイスのフルスケール検出イベント条件の設定を
行います。
AdResetRangeEvent フルスケール検出イベントをリセットします。
AdGetRangeEventStatus アナログ入力デバイスのフルスケール検出イベントのステータス
を取得します。
AdBmSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。
AdBmGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を
取得します。
AdBmGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得
します。
AdBmStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイ
ルに書き込みながらサンプリングを行います。
AdStartSamplingEx アナログ入力デバイスのサンプリングをスタートさせます。
(x86_64 以外でのみ使用できます)
AdOutputSync アナログ入力デバイスの内部同期制御を設定します。
AdCalibration アナログ入力デバイスのオートキャリブレーションを実行します
AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに
GPG-3100 Help for Linux
© 2000 Interface Corporation.
106
対し平均処理やスムージング処理を行うことができます。
AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
107
5.2 関数個別説明
1. AdOpen
アナログ入力デバイスのオープンを行い、以後デバイスへのアクセスを行なえるようにします。
int AdOpen(
int nDevice /* デバイス番号 */
);
パラメータ
nDevice オープンするデバイス番号を指定します。
ソルコン CD 製品(PCI-322012、PCI-361516)をご使用の場合は、デバイス番号は 257 を指定し
ます。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_NOT_DEVICE
・AD_ERROR_NOT_OPEN
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_ALREADY_OPEN
使用例
int nRet;
nRet = AdOpen(1);
デバイス番号 1のアナログ入力デバイスをオープンします。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
108
2. AdClose
アナログ入力デバイスのクローズを行い、デバイスアクセスのために使用されていた各種リソース
の解放を行い、以後のデバイスへのアクセスを禁止します。
int AdClose(
int nDevice /* デバイス番号 */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
使用例
int nRet;
nRet = AdOpen( 1 );
if (!nRet) {
:
:
nRet = AdClose( 1 );
}
デバイス番号 1のアナログ入力デバイスのクローズ処理を行います。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
109
3. AdGetDeviceInfo
アナログ入力デバイスからデバイスの各種仕様の取得を行います。
int AdGetDeviceInfo(
int nDevice, /* デバイス番号 */
PADBOARDSPEC pBoardSpec /* デバイス仕様格納用構造体へのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
pBoardSpec アナログデバイスの仕様を格納する構造体(ADBOARDSPEC 構造体)へのポインタです。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NULL_POINTER
使用例
int nRet;
ADBOARDSPEC BoardSpec;
nRet = AdGetDeviceInfo( 1, &BoardSpec );
if (!nRet) printf("デバイスタイプ:%d\n",BoardSpec.ulBoardType);
アナログ入力デバイス(デバイス番号=1)からデバイスの型式の取得を行います。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
110
4. AdCommonGetPciDeviceInfo
アナログ入力デバイスのリソース(デバイス ID、リソース情報、デバイス ID(RSW1)等)情報を
取得します。
int AdCommonGetPciDeviceInfo(
int nDevice, /* デバイス番号 */
unsigned long* ulDeviceID, /* デバイス ID へのポインタ */
unsigned long* ulVendorID, /* ベンダ ID へのポインタ */
unsigned long* ulClassCode, /* クラスコードへのポインタ */
unsigned long* ulRevisionID, /* リビジョン ID へのポインタ */
unsigned long* ulBaseAddress0, /* リソース 0データへのポインタ */
unsigned long* ulBaseAddress1, /* リソース 1データへのポインタ */
unsigned long* ulBaseAddress2, /* リソース 2データへのポインタ */
unsigned long* ulBaseAddress3, /* リソース 3データへのポインタ */
unsigned long* ulBaseAddress4, /* リソース 4データへのポインタ */
unsigned long* ulBaseAddress5, /* リソース 5データへのポインタ */
unsigned long* ulSubsystemID, /* サブシステム ID へのポインタ */
unsigned long* ulSubsystemVendorID, /* サブシステムベンダ ID へのポインタ */
unsigned long* ulInterruptLine, /* 割り込みラインへのポインタ */
unsigned long* ulBoardID /* デバイス ID へのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulDeviceID デバイス ID データを格納する変数へのポインタを指定してください。
デバイスを区別するための ID です。
弊社 PCI、CompactPCI バス及び CardBus 用アナログ入力デバイスは、製品型式の数字部分 4
桁が適用されます。PCI-3133 ならば 3133(16 進数では 0C3Dh)、CTP-3174 ならば 3174(16
進数では 0C66h)です。
PCI デバイス、CompactPCI デバイスや CardBus カードを判別する必要がある場合、
pdwSubsystemID を参照して下さい。
※デバイス ID から、下記割込みラインまでのデータは、PCI Rev2.1 で規定される PCI バス
用デバイスが持つデータです。
※デバイス ID は弊社のデバイス上に実装される RSW1 の値であり、PCI バス用デバイスが標
準で実装するデータではありません。
ulVendorID
ベンダ ID データを格納する変数へのポインタを指定してください。
弊社のベンダ ID は、1147h(16 進数)です。
ulClassCode クラスコードデータを格納する変数へのポインタを指定してください。
デバイスのクラスコードが格納されます。PCI Rev2.1 で規定されている値が格納されます。
ulRevisionID リビジョン ID データを格納する変数へのポインタを指定してください。
デバイスのリビジョン ID が格納されます。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
111
ulBaseAddress0 リソース 0データを格納する変数へのポインタを指定してください。
デバイスが占有する I/O または、メモリ領域が格納されます。
ulBaseAddress1 リソース 1データを格納する変数へのポインタを指定してください。
デバイスが占有する I/O または、メモリ領域が格納されます。
ulBaseAddress2 リソース 2データを格納する変数へのポインタを指定してください。
デバイスが占有する I/O または、メモリ領域が格納されます。
ulBaseAddress3 リソース 3データを格納する変数へのポインタを指定してください。
デバイスが占有する I/O または、メモリ領域が格納されます。
ulBaseAddress4 リソース 4データを格納する変数へのポインタを指定してください。
デバイスが占有する I/O または、メモリ領域が格納されます。
ulBaseAddress5 リソース 5データを格納する変数へのポインタを指定してください。
デバイスが占有する I/O または、メモリ領域が格納されます。
ulSubsystemID サブシステム ID データを格納する変数へのポインタを指定してください。
デバイスのサブシステム ID が格納されます。
ulSubsystemVendorID サブシステムベンダ ID データを格納する変数へのポインタを指定してください。
デバイスのサブシステム ID が格納されます。
ulInterruptLine 割り込みラインデータを格納する変数へのポインタを指定してください。
デバイスが使用する割込みレベルが格納されます。
ulBoardID デバイス ID データを格納する変数へのポインタを指定してください。
デバイス上に実装されている RSW1 の値が格納されます。
CardBus カードでは RSW1 がないため 0が格納されます。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。正常終
了した場合は、AD_ERROR_SUCCESSが返されます。
・AD_ERROR_INVALID_DEVICENO
GPG-3100 Help for Linux
© 2000 Interface Corporation.
112
使用例
int nRet;
unsigned long ulDeviceID;
unsigned long ulVendorID;
unsigned long ulClassCode;
unsigned long ulRevisionID;
unsigned long ulBaseAddress0;
unsigned long ulBaseAddress1;
unsigned long ulBaseAddress2;
unsigned long ulBaseAddress3;
unsigned long ulBaseAddress4;
unsigned long ulBaseAddress5;
unsigned long ulSubsystemID;
unsigned long ulSubsystemVendorID;
unsigned long ulInterruptLine;
unsigned long ulBoardID;
nRet = AdOpen(1);
nRet = AdCommonGetPciDeviceInfo(
1,
&ulDeviceID,
&ulVendorID,
&ulClassCode,
&ulRevisionID,
&ulBaseAddress0,
&ulBaseAddress1,
&ulBaseAddress2,
&ulBaseAddress3,
&ulBaseAddress4,
&ulBaseAddress5,
&ulSubsystemID,
&ulSubsystemVendorID,
&ulInterruptLine,
&ulBoardID
);
アナログ入力デバイス(デバイス番号=1)の、リソース情報を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
113
5. AdSetBoardConfig
アナログ入力デバイスのコールバック関数の設定を行います。
int AdSetBoardConfig(
int nDevice, /* デバイス番号 */
int nReserved1, /* 予約 */
PLPADCALLBACK pEventProc, /* ユーザ・コールバック関数 */
int uData /* ユーザ・データ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
nReserved1 予約:0を指定してください。
pEventProc サンプリング停止時に呼び出すユーザ・コールバック関数のアドレスを指定します。ユーザ・
コールバック関数の呼び出しを行わない場合には、NULL を指定してください。
uData ユーザ・コールバック関数へ引き渡すユーザ・データを指定します。
ユーザ・コールバック関数の呼び出しを行わない場合には、0を指定してください。
・デフォルト:0
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_SUPPORTED
備考
サンプリング中に本関数を実行した場合には、すぐに変更が反映されます。
使用例
int nRet;
int event_proc( int dummy ){
printf( "The sampling is successfully completed.\n");
}
nRet = AdSetBoardConfig( 1, 0, event_proc, 0 );
if (!nRet) {
nRet = AdStartSampling(1, FLAG_ASYNC);
}
デバイス番号 1のアナログ入力デバイスのコールバック関数の設定を行ないます。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
114
6. AdGetBoardConfig
アナログ入力デバイスのコールバック関数が呼び出された要因を取得します。
int AdGetBoardConfig(
int nDevice, /* デバイス番号 */
unsigned long* ulAdSmplEventFactor /* コールバック関数の発生要因へのポインタ
*/
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulAdSmplEventFactor コールバック関数の発生要因を格納する変数へのポインタです。
識別子 値 状 態
AD_EVENT_SMPLNUM 1 指定された数のデータがサンプルされた
AD_EVENT_STOP_TRIGGER 2 トリガによるサンプリング停止
AD_EVENT_STOP_FUNCTION 3 関数によるサンプリング停止
AD_EVENT_STOP_SAMPLING 5 サンプリング終了
AD_EVENT_STOP_SCER 6 サンプリングクロックエラー発生によるサン
プリング停止
AD_EVENT_STOP_ORER 7 オーバランエラー発生によるサンプリング停
止
AD_EVENT_SCER 8 サンプリングクロックエラー発生
AD_EVENT_ORER 9 オーバランエラー発生
AD_EVENT_STOP_LV_1 10 チャンネル 1サンプリング終了
(PCI-3179, CTP/CPZ-3179 の場合)
AD_EVENT_STOP_LV_2 11 チャンネル 2サンプリング終了
(PCI-3179, CTP/CPZ-3179 の場合)
AD_EVENT_STOP_LV_3 12 チャンネル 3サンプリング終了
(PCI-3179, CTP/CPZ-3179 の場合)
AD_EVENT_STOP_LV_4 13 チャンネル 4サンプリング終了
(PCI-3179, CTP/CPZ-3179 の場合)
AD_EVENT_RANGE 14 フルスケールレンジを検出
(フルスケール機能を搭載しているデバイス
のみ)
AD_EVENT_STOP_RANGE 15 フルスケール検出によりサンプリング終了
(フルスケール機能を搭載しているデバイス
のみ)
AD_EVENT_OVPM 16 過電圧保護入力時自動レンジ切り換え発生
(PCI-320112, CTP/CPZ-3183 のみ)
AD_EVENT_STOP_OVPM 17 過電圧保護入力時自動レンジ切り換え発生に
よりサンプリング終了
(PCI-320112, CTP/CPZ-3183 のみ)
GPG-3100 Help for Linux
© 2000 Interface Corporation.
115
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_NULL_POINTER
使用例
unsigned long EventFactor;
int nRet;
int event_proc( int dummy ){
printf( " The sampling is successfully completed.\n");
nRet = AdGetBoardConfig( 1, &EventFactor );
if (!nRet) {
printf( "Factor:%x\n", EventFactor);
}
}
nRet = AdSetBoardConfig( 1, 0, event_proc, 0 );
if (!nRet) {
nRet = AdSartSampling(1, FLAG_ASYNC);
}
デバイス番号 1 のアナログ入力デバイスからコールバック関数が呼び出された要因を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
116
7. AdSetSamplingConfig
アナログ入力デバイスのサンプリング条件を設定します。
int AdSetSamplingConfig(
int nDevice, /* デバイス番号 */
PADSMPLREQ pSmplConfig /* サンプリング構造体へのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
pSmplConfig AD サンプリング構造体(ADSMPLEQ 構造体)へのポインタを指定します。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOW_SAMPLING
・AD_ERROR_INVALID_PARAMETER
・AD_ERROR_NULL_POINTER
備考
・本関数をサンプリング中に実行した場合、次回のサンプリング開始時から有効になります。
・メモリ方式のデバイスではサンプリング中に本関数を実行する事ができません。
・設定を変更しない AD サンプリング構造体のメンバにはデフォルト値を設定して下さい。
・デフォルト値は設定の変更を行う前にAdGetSamplingConfig関数により取得できます。
対象デバイス
製品 ulSmplEventNum ポストトリガ
ディレイ
ulFastMode
倍速モード
PCI-3120 1 件単位 1 件単位 -
PCI-3126 1 件単位 1 件単位 -
PCI-3133 1 件単位 1 件単位 -
PCI-3135 1 件単位 1 件単位 -
IO 方式 1 件単位 1 件単位 - PCI-3153
FIFO 方式 1 件単位 1 件単位 -
IO 方式 1 件単位 1 件単位 - PCI-3155
FIFO 方式 1 件単位 1 件単位 -
PCI-3161 1024 件単位 1024 件単位 ○
PCI-3163 1024 件単位 1024 件単位 ○
PCI-3165 1 件単位 1 件単位 -
PCI-3166 1 件単位 1 件単位 -
PCI-3168C 1 件単位 1 件単位 -
PCI-3170A 1 件単位 1 件単位 -
PCI-3171A 1 件単位 1 件単位 -
PCI-3172A 1 件単位 1 件単位 -
PCI-3174 2 のべき乗 1024 件単位 -
PCI-3175 2 のべき乗 1024 件単位 -
PCI-3176 2 のべき乗 1024 件単位 -
GPG-3100 Help for Linux
© 2000 Interface Corporation.
117
PCI-3173A 1 件単位 1 件単位 -
PCI-3177C 1 件単位 1 件単位 -
PCI-3178 1 件単位 1 件単位 -
PCI-3179 1 件単位 1 件単位 -
PCI-3180 1 件単位 1 件単位 -
PCI-3521 1 件単位 1 件単位 -
PCI-3522A 1 件単位 1 件単位 -
PCI-3523A 1 件単位 1 件単位 -
PCI-3525 2 のべき乗 1024 件単位 -
PCI-320112 2 のべき乗 1024 件単位 -
PCI-320412 2 のべき乗 1024 件単位 -
PCI-320416 2 のべき乗 1024 件単位 -
PCI-360112 2 のべき乗 1024 件単位 -
PCI-360116 2 のべき乗 1024 件単位 -
PCI-360216 2 のべき乗 1024 件単位 -
PCI-322012 256 件単位 1 件単位 -
PCI-321516 2 のべき乗 1024 件単位 -
PCI-362616 1 件単位 1 件単位 -
PCI-362816 1 件単位 1 件単位 -
CTP/CPZ-3120A 1 件単位 1 件単位 -
CTP/CPZ-3120B 1 件単位 1 件単位 -
CTP/CPZ-3120C 1 件単位 1 件単位 -
CTP/CPZ-3126 1 件単位 1 件単位 -
CTP/CPZ-3133 1 件単位 1 件単位 -
CTP/CPZ-3135 1 件単位 1 件単位 -
CTP/CPZ-3165 1 件単位 1 件単位 -
IO 方式 1 件単位 1 件単位 - CTP/CPZ-3167
FIFO 方式 1 件単位 1 件単位 -
CTP/CPZ-3168 1 件単位 1 件単位 -
CTP/CPZ-3170 1 件単位 1 件単位 -
CTP/CPZ-3171 1 件単位 1 件単位 -
CTP/CPZ-3172 1 件単位 1 件単位 -
CTP/CPZ-3173 1 件単位 1 件単位 -
CTP/CPZ-3174 2 のべき乗 1024 件単位 -
CTP/CPZ-3175 2 のべき乗 1024 件単位 -
CTP/CPZ-3177 1 件単位 1 件単位 -
CTP/CPZ-3178 1 件単位 1 件単位 -
CTP/CPZ-3180A 1 件単位 1 件単位 -
CTP/CPZ-3180B 1 件単位 1 件単位 -
CTP/CPZ-3180C 1 件単位 1 件単位 -
CTP/CPZ-3182 2 のべき乗 1024 件単位 -
CTP/CPZ-3183 2 のべき乗 1024 件単位 -
CTP/CPZ-320412 2 のべき乗 1024 件単位 -
CTP/CPZ-320416 2 のべき乗 1024 件単位 -
CTP/CPZ-360112 2 のべき乗 1024 件単位 -
CTP/CPZ-360116 2 のべき乗 1024 件単位 -
IO 方式 1 件単位 1 件単位 - CBI-3133A
FIFO 方式 1 件単位 1 件単位 -
IO 方式 1 件単位 1 件単位 - CBI-3133B
FIFO 方式 1 件単位 1 件単位 -
CBI-3134A IO 方式 1 件単位 1 件単位 -
GPG-3100 Help for Linux
© 2000 Interface Corporation.
118
FIFO 方式 1 件単位 1 件単位 -
IO 方式 1 件単位 1 件単位 - CBI-3134B
FIFO 方式 1 件単位 1 件単位 -
IO 方式 1 件単位 1 件単位 - CSI/CBI-320212
FIFO 方式 1 件単位 1 件単位 -
IO 方式 1 件単位 1 件単位 - CBI-320212TR
FIFO 方式 1 件単位 1 件単位 -
IO 方式 1 件単位 1 件単位 - CBI-320212TK
FIFO 方式 1 件単位 1 件単位 -
IO 方式 1 件単位 1 件単位 - CBI-320212TL
FIFO 方式 1 件単位 1 件単位 -
IO 方式 1 件単位 1 件単位 - CSI/CBI-320312
FIFO 方式 1 件単位 1 件単位 -
IO 方式 1 件単位 1 件単位 - CBI-320312TR
FIFO 方式 1 件単位 1 件単位 -
IO 方式 1 件単位 1 件単位 - CBI-320312TK
FIFO 方式 1 件単位 1 件単位 -
IO 方式 1 件単位 1 件単位 - CBI-320312TL
FIFO 方式 1 件単位 1 件単位 -
CSI/CBI-320412 2 のべき乗 1024 件単位 -
CBI-320412TR 2 のべき乗 1024 件単位 -
CBI-320412TK 2 のべき乗 1024 件単位 -
CBI-320412TL 2 のべき乗 1024 件単位 -
CSI/CBI-320416 2 のべき乗 1024 件単位 -
CBI-320416TR 2 のべき乗 1024 件単位 -
CBI-320416TK 2 のべき乗 1024 件単位 -
CBI-320416TL 2 のべき乗 1024 件単位 -
CSI/CBI-360112 2 のべき乗 1024 件単位 -
CBI-360112TR 2 のべき乗 1024 件単位 -
CBI-360112TK 2 のべき乗 1024 件単位 -
CBI-360112TL 2 のべき乗 1024 件単位 -
CSI/CBI-360116 2 のべき乗 1024 件単位 -
CBI-360116TR 2 のべき乗 1024 件単位 -
CBI-360116TK 2 のべき乗 1024 件単位 -
CBI-360116TL 2 のべき乗 1024 件単位 -
LPC-320724 2 のべき乗 1024 件単位 -
LPC-321012 2 のべき乗 1024 件単位 -
LPC-321116 2 のべき乗 1024 件単位 -
LPC-321216 2 のべき乗 1024 件単位 -
LPC-321316 1 件単位 1 件単位 -
LPC-321416 1 件単位 1 件単位 -
LPC-361116 2 のべき乗 1024 件単位 -
LPC-361216 2 のべき乗 1024 件単位 -
LPC-361316 1 件単位 1 件単位 -
LPC-361416 1 件単位 1 件単位 -
PEX-320724 2 のべき乗 1024 件単位 -
PEX-321012 2 のべき乗 1024 件単位 -
PEX-321116 2 のべき乗 1024 件単位 -
PEX-321216 2 のべき乗 1024 件単位 -
PEX-321316 1 件単位 1 件単位 -
PEX-321416 1 件単位 1 件単位 -
GPG-3100 Help for Linux
© 2000 Interface Corporation.
119
PEX-361116 2 のべき乗 1024 件単位 -
PEX-361216 2 のべき乗 1024 件単位 -
PEX-361316 1 件単位 1 件単位 -
PEX-361416 1 件単位 1 件単位 -
PEX-H3133 1 件単位 1 件単位 -
PEX-H3177 1 件単位 1 件単位 -
PEX-H3178 1 件単位 1 件単位 -
PEX-H3525 2 のべき乗 1024 件単位 -
PEX-H360116 2 のべき乗 1024 件単位 -
使用例
ADSMPLREQ SmplConfig;
int nRet;
nRet = AdGetSamplingConfig( 1, &SmplConfig );
SmplConfig.ulChCount = 4;
SmplConfig.SmplChReq[0].ulChNo = 1;
SmplConfig.SmplChReq[0].ulRange = AD_5V;
SmplConfig.SmplChReq[1].ulChNo = 2;
SmplConfig.SmplChReq[1].ulRange = AD_5V;
SmplConfig.SmplChReq[2].ulChNo = 3;
SmplConfig.SmplChReq[2].ulRange = AD_5V;
SmplConfig.SmplChReq[3].ulChNo = 4;
SmplConfig.SmplChReq[3].ulRange = AD_5V;
SmplConfig.ulSamplingMode = AD_IO_SAMPLING;
SmplConfig.ulSingleDiff = AD_INPUT_SINGLE;
SmplConfig.ulSmplNum = 1024;
SmplConfig.ulSmplEventNum = 0;
SmplConfig.fSmplFreq = 1000.0;
nRet = AdSetSamplingConfig( 1, &SmplConfig );
アナログ入力デバイス(デバイス番号=1)のサンプリング条件(4 チャンネルの設定)を設定しま
す。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
120
8. AdGetSamplingConfig
アナログ入力デバイスの現在設定されているサンプリング条件を取得します。
int AdGetSamplingConfig(
int nDevice, /* デバイス番号 */
PADSMPLREQ pSmplConfig /* サンプリング構造体へのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
pSmplConfig 現在の設定されているサンプリング条件を格納するためのADサンプリング構造体(ADSMPLREQ
構造体)へのポインタを指定します。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NULL_POINTER
備考
デバイスオープン直後に本関数を実行することにより ADサンプリング構造体(ADSMPLREQ 構造体)
のデフォルトの設定値を取得することができます。
使用例
ADSMPLREQ SmplConfig;
int nRet;
nRet = AdGetSamplingConfig( 1, &SmplConfig );
if (!nRet) {
printf("Number of Samples:%d\n",SmplConfig.ulSmplNum );
printf("Sampling Rate:%f\n",SmplConfig.fSmplFreq );
}
アナログ入力デバイス(デバイス番号=1)からサンプリング件数、サンプリング周波数を取得し
ます。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
121
9. AdGetSamplingData
アナログ入力デバイスから入力されたサンプリングデータを取得します。
int AdGetSamplingData(
int nDevice, /* デバイス番号 */
void* pSmplData, /* サンプリングデータへのポインタ */
unsigned long* ulSmplNum /* サンプリングデータ件数へのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
pSmplData アナログ入力デバイスから取得するサンプリングデータを格納するためのバッファへのポイ
ンタを指定します。
ulSmplNum アナログ入力デバイスから取得するサンプリングデータ件数を格納している変数へのポイン
タを指定します。関数実行後、サンプリングデータ件数を ulSmplNum に格納します。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NULL_POINTER
備考
・本関数ではサンプリングバッファからデータを取得したら、取得したデータはサンプリングバ
ッファ内からクリアされます。
・PCI-3153 を FIFO 方式で使用される場合について
汎用入力とFIFO状態の情報が必要な場合は、AdFifoGetSamplingData関数をご使用ください。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
122
使用例
unsinged short SmplData[256];
unsigned long ulSmplNum;
int i,nRet;
ulSmplNum = 256;
nRet = AdGetSamplingData(1, &SmplData[0], &ulSmplNum);
if (!nRet) {
printf("Get Sampling Data = :\n");
for (i=0;i<ulSmplNum;i++) {
printf(" %x",SmplData[i]);
if ( i % 10 == 0 ) printf("\n");
}
}
アナログ入力デバイス(デバイス番号=1)から入力されたサンプリングデータを 256 件分バッフ
ァ(SmplData)に格納します。関数実行後、実際に取得したデータ件数が ulSmplNum に格納され
ます。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
123
10. AdReadSamplingBuffer サンプリングバッファに格納されているサンプリングデータを取得します。
int AdReadSamplingBuffer(
int nDevice, /* デバイス番号 */
long lOffset, /* 開始するオフセットアドレス */
unsigned long* ulSmplNum, /* 取得するサンプリングデータ件数へのポインタ */
void* pSmplData /* 取得するサンプリングデータ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
lOffset サンプリングバッファ内のサンプリングデータを取得開始するオフセットアドレスを指定し
ます。アドレスは件数単位で指定します。
-1 を指定した場合、 新の ulSmplNum 件数分のデータを取得できます。
ulSmplNum サンプリングバッファから取得するサンプリングデータ件数が格納されている変数へのポイ
ンタを指定します。
希望する件数を指定して本関数を呼び出します。本関数呼び出し後、実際に取得したデータ
件数が格納されます。
pSmplData サンプリングバッファから取得するサンプリングデータを格納するためのバッファへのポイ
ンタを指定します。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NULL_POINTER
備考
・本関数ではサンプリングバッファの任意の位置からデータを取得できます。取得したデータは
サンプリングバッファ内からクリアされることはありません。
・本関数はAdGetSamplingData関数の実行状態に関わらず、サンプリングバッファ内の任意のデー
タを取得できます。
・また、本関数の実行によりAdGetSamplingData関数で取得できるデータに影響を与えることはあ
りません。
・サンプリングバッファの先頭は 1 件目のサンプリングデータの位置になります。無限サンプリ
ング時は、サンプリングバッファがリングバッファとして扱われますが、バッファの先頭は常
に 初の 1件目の位置のままです。
データ件数 1 件目 … 101 件目 … 200 件目
オフセット +0 +100 +199
GPG-3100 Help for Linux
© 2000 Interface Corporation.
124
・無限サンプリングでデータが上書きされても、1 件目のデータがあったところが先頭になりま
す。
データ件数 201 件目 … 101 件目 … 200 件目
オフセット +0 +100 +199
・オフセットアドレス 0、データ件数 100 として AdReadSamplingBuffer 関数を実行すると、取得
できるデータは 1件目から 100 件目までの 100 件のデータになります。
<---- 100 件 ------>
データ件数 1 件目 … 100 件目 101 件目 … 200 件目
オフセット +0 +99 +100 +199
・オフセットアドレス 100、データ件数 100 として AdReadSamplingBuffer 関数を実行すると、取
得できるデータは 101 件目から 200 件目までの 100 件のデータになります。
<----- 100 件 ------>
データ件数 1 件目 … 100 件目 101 件目 … 200 件目
オフセット +0 +99 +100 +199
・オフセットアドレス-1、データ件数 100 として AdReadSamplingBuffer 関数を実行すると、取得
できるデータは 新のデータ 100 件になります。350 件のデータがあった場合には、251 件目か
ら 350 件目までの 100 件のデータになります。
<----- 100 件 ------>
データ件数 1 件目 … 250 件目 251 件目 … 350 件目
オフセット +0 +249 +250 +349
使用例
unsinged short pSmplData[256];
unsigned long ulSmplNum;
unsigned long ulSmplChCount;
ulSmplNum = 256;
ulSmplChCount = 3;
nRet = AdReadSamplingBuffer( 1, 100, &ulSmplNum, pSmplData);
アナログ入力デバイス(デバイス番号=1)のサンプリングバッファからデータを取得します。取
得するデータはサンプリングバッファ内の 101 件目から 256 件分のサンプリングデータです。実
際に取得したデータ件数が ulSmplNum に格納されます。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
125
11. AdClearSamplingData サンプリング入力バッファ内のサンプリングデータをクリアします。
int AdClearSamplingData(
int nDevice /* デバイス番号 */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOW_SAMPLING
備考
サンプリング中に本関数を実行することはできません。
サンプリング開始時には本関数とは関係なく、自動的にバッファをクリアします。
使用例
int nRet;
nRet = AdClearSamplingData( 1 );
アナログ入力デバイス(デバイス番号=1)のサンプリング入力バッファ内のサンプリングデータ
をクリアします。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
126
12. AdStartSampling アナログ入力デバイスの連続サンプリングをスタートさせます。
int AdStartSampling(
int nDevice, /* デバイス番号 */
int nSyncFlag /* サンプリング入力処理 */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
nSyncFlag サンプリング入力処理を同期で行うか非同期で行うかを指定します。
識別子 値 意味
FLAG_SYNC 1 同期処理でサンプリング入力を行います。
FLAG_ASYNC 2 非同期処理でサンプリング入力を行います。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOW_SAMPLING
・AD_ERROR_INVALID_PARAMETER
備考
1) 非同期処理で開始した連続サンプリング入力は、AdStopSampling関数にて連続サンプリング入
力を強制終了させることができます。
2) 連続サンプリング入力したデータは、ドライバ内のサンプリング入力バッファに格納されます。
サンプリング入力バッファからサンプリングデータを取り出すときはAdGetSamplingData関数
を使用します。
3) 同期/非同期処理について
・同期入力(FLAG_SYNC)
アプリケーションは連続サンプリング入力が完了するまで待ちます。
アプリケーション
アプリケーション アプリケーションへリターン
↓ ↑
Lib
AdStartSampling・ ・ ・ ・ ・ ・ ・ ・ ・ ・AdStartSampling 処理終了
[連続サンプリング中]
↓ ↑
ドライバ/デバイス
連続サンプリング開始・ ・ ・ ・ ・ ・ ・ ・ ・ ・連続サンプリング終了
[連続サンプリング中]
GPG-3100 Help for Linux
© 2000 Interface Corporation.
127
・非同期入力(FLAG_ASYNC)
アプリケーションは連続サンプリング入力の完了まで待たず、制御が API から即、戻ります。
連続サンプリング入力の完了はコールバック関数が実行されます。
アプリケーション
アプリケーションへリターン コールバック関数処理
↓ ↑
Lib
AdStartSampling 関数 コールバック関数の実行
AdStartSampling 関数終了
↓ ↑
ドライバ/デバイス
連続サンプリング開始・ ・ ・ ・ ・ ・ ・ ・ ・ ・連続サンプリング終了
[連続サンプリング中]
使用例
int nRet;
unsigned long Len;
unsigned short AdData[100];
nRet = AdStartSampling( 1 , FLAG_SYNC);
if (!nRet) {
Len = 100;
nRet = AdGetSamplingData( 1, &AdData[0], &Len);
}
アナログ入力デバイス(デバイス番号=1)の連続サンプリング入力を同期処理として開始します。
int nRet;
unsigned long Status, Count, AvailCount, Len;
unsigned short AdData[100];
nRet = AdStartSampling( 1 , FLAG_ASYNC);
if ( !nRet ) {
do{
nRet = AdGetStatus( 1, &Status, &Count, &AvailCount );
if (nRet) {
printf("Status Error\n");
AdClose(1);
exit(1);
}
} while ( Status != AD_STATUS_STOP_SAMPLING );
}
Len = 100;
nRet = AdGetSamplingData( 1, &AdData[0], &Len);
アナログ入力デバイス(デバイス番号=1)の連続サンプリング入力を非同期処理として開始しま
す。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
128
13. AdStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイルに書き込みながら連続サ
ンプリング入力を行います。
int AdStartFileSampling(
int nDevice, /* デバイス番号 */
char* szPathName, /* 保存するデータファイルへのポインタ */
unsigned long ulFileFlag /* データファイル形式 */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
szPathName サンプリングしたデータを保存するデータファイルへのパスを指定します。
ulFileFlag データファイルの形式を指定します。
フラグ 値 意味
FLAG_BIN 1 バイナリ形式でデータを書き込みます。
FLAG_CSV 2 CSV 形式(物理量)でデータを書き込みます。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_DEVICE
・AD_ERROR_NOW_SAMPLING
・AD_ERROR_INVALID_PARAMETER
・AD_ERROR_FILE_OPEN
・AD_ERROR_FILE_CLOSE
・AD_ERROR_FILE_WRITE
・AD_ERROR_NULL_POINTER
備考
・本関数は連続サンプリングが終了するまでアプリケーションに処理が戻りません。
・サンプリング条件は、AdSetSamplingConfig 関数で設定されている条件が使われます。
・本関数で指定できるトリガ条件は、トリガなし、スタートトリガ(ディレイなし)とスタート
トリガ+ポストトリガディレイのみです。その他の条件は無効となります。
・本関数で扱うファイルデータはバイナリ形式と CSV 形式です。
バイナリ形式のフォーマットは以下の通りです。
12bit AD デバイス : 16bit データの LSB から 12bit が有効データ
16bit AD デバイス : 16bit データの全てが有効データ
・CSV 形式のフォーマットは AD デバイスの分解能に関係なく全て物理量となります。データとデ
ータはカンマ(,)で区切られます。
・CSV 形式でデータを保存するときには、データをバイナリから物理量に変換するのでオーバー
ヘッドがかかり、設定したサンプリング周期でサンプリングができない場合があります。
・サンプリングバッファにデータが残っている状態でファイルサンプリングを開始した場合には、
ファイルサンプリング開始と同時にサンプリングバッファはクリアされます。
・既に存在しているファイル名を指定したときには上書き保存されますので、ご注意下さい。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
129
使用例
int nRet;
nRet = AdStartFileSampling( 1, "DATA.CSV" , FLAG_CSV );
デバイス番号 1 のアナログ入力デバイスからのサンプリングデータを、データファイル
'DATA.CSV'に CSV 形式として書き込みながら連続サンプリング入力を行います。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
130
14. AdSyncSampling 複数枚同期サンプリング機能を使用したサンプリングを行います。
int AdSyncSampling(
int nDevice, /* デバイス番号 */
unsigned long ulMode /* マスタ、スレーブの設定 */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulMode マスタで使用するかスレーブで使用するかを指定します。
次の識別子のうちいずれか 1つを指定します。
識別子 値 内容
AD_MASTER_MODE 1 マスタモード
AD_SLAVE_MODE 2 スレーブモード
CTP 型式デバイスで複数枚同期サンプリング機能を使用する場合、同期番号の設定が必要にな
ります。
上記に加え、下記識別子にて同期番号も同時に指定します。
識別子 値 内容
AD_SYNC_NUM1 0100h 同期番号 1
AD_SYNC_NUM2 0200h 同期番号 2
AD_SYNC_NUM3 0400h 同期番号 3
AD_SYNC_NUM4 0800h 同期番号 4
AD_SYNC_NUM5 1000h 同期番号 5
AD_SYNC_NUM6 2000h 同期番号 6
AD_SYNC_NUM7 4000h 同期番号 7
I/O 方式サンプリング時には、7 つの内から 1 つの番号を指定します。その他のサンプリン
グ方式では 2つの番号を指定します。指定する同期番号は、同期を行う型式内で全て同じ番
号を指定します。
※複数型式をそれぞれの型式毎に同期を行う場合、異なる型式間で同じ同期番号を使用しな
いでください。同じ番号を使用した場合、故障の原因となります。
設定例)
I/O 方式サンプリングで、同期番号 1を使用してマスタモードに設定する場合
ulMode = AD_MASTER_MODE + AD_SYNC_NUM1;
バスマスタ方式サンプリングで、同期番号 2と 3を使用してスレーブモードに設定する場
合
ulMode = AD_SLAVE_MODE+ AD_SYNC_NUM2 + AD_SYNC_NUM3;
GPG-3100 Help for Linux
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_NOW_SAMPLING
・AD_ERROR_INVALID_PARAMETER 備考
・本関数にはAdStartSampling関数のように同期処理(FLAG_SYNC)、非同期処理(FLAG_ASYNC)の
設定はありません。常に非同期処理として実行されます。
・サンプリング終了時に、コールバックルーチンの呼び出しを行う事ができます。コールバック
ルーチンの設定はAdSetBoardConfig関数でマスタモードのデバイスのみに設定します。
・サンプリングを途中で終わらせる場合にはAdStopSampling関数を使用します。
・サンプリング条件はAdSetSamplingConfig関数で設定します。
・サンプリング条件には以下のような制限があります。
サンプリング件数は全デバイス同じ件数にする。
サンプリング条件はマスタモードのデバイスの設定が使用されまが、サンプリング件数、チャ
ンネル数、チャンネル番号、レンジ、入力仕様は各デバイス毎に設定する必要があります。
トリガはスタートトリガのみ指定できます。また、ディレイは指定できません。各サンプリン
グ方式で指定できるトリガは以下の通りです。
I/O 方式 外部トリガ、外部+DI トリガ
FIFO 方式 外部トリガ、外部+DI トリガ、レベルトリガ
メモリ方式 外部トリガ
バスマスタ方式 外部トリガ、DI マスク付き外部トリガ、アナログトリガ
I/O 方式(マルチプレクサ)で使用する場合には、チャンネル数は全デバイス同じ数にする必要
があります。
・I/O方式(マルチプレクサ)で複数チャンネルを使用する場合にはクロック毎に1チャンネルづ
つサンプリングが行われます。
●AdSyncSamplingの場合
●AdStartSamplingの場合
サンプリングデータはAdGetSamplingData関数で取り出します。
クロック
AD 変換を
行うチャンネル
チャンネル 1 チャンネル 2 チャンネル 3
クロック
AD 変換を
行うチャンネル
チャンネル 1
チャンネル 2
チャンネル 3
チャンネル 1
チャンネル 2
チャンネル 3
チャンネル 1
チャンネル 2
チャンネル 3
・マスタモードは複数枚同期サンプリングを行うデバイスの中で 1 枚のみ指定できます。その他
のデバイスはスレーブモードに指定します。
・本関数はスレーブモードにするデバイスから実行して、 後にマスタモードのデバイスを実行
します。(使用例を参照)
・各関数は同期サンプリングに加わるすべてのデバイスで実行する必要があります。
・CTP-360810, CPZ-360810 では、マスタ側で発生したトリガがスレーブ側に取得されトリガが発
© 2000 Interface Corporation.
131
GPG-3100 Help for Linux
© 2000 Interface Corporation.
132
生するタイミングを同期させることができます。
対象デバイス
以下に本関数をサポートしているデバイス一覧を示します。
型 式 デバイスの
版数
同期番号
設定
同期番号数 スタートトリガ
PCI-3120 [12]以降 ※1 - ※2
PCI-3126 [12]以降 ※1 - ※2
PCI-3133 [13]以降 ※1 - ※2
PCI-3135 [12]以降 ※1 - ※2
PCI-3161 [12]以降 ※1 - ※2
PCI-3165 [12]以降 ※1 - ※3
PCI-3166 [12]以降 ※1 - ※2
PCI-3168C [11]以降 ※1 - ※2
PCI-3170A [11]以降 ※1 - ※2
PCI-3171A [11]以降 ※1 - ※2
PCI-3172A [11]以降 ※1 - ※2
PCI-3173A [11]以降 ※1 - ※2
PCI-3174 [11]以降 ※1 - ※4
PCI-3175 [11]以降 ※1 - ※4
PCI-3176 [11]以降 ※1 - ※4
PCI-3177C [11]以降 ※1 - ※2
PCI-3178 [11]以降 ※1 - ※2
PCI-3180 [12]以降 ※1 - ※2
PCI-3521 [11]以降 ※1 - ※2
PCI-3522A [11]以降 ※1 - ※2
PCI-3523A [11]以降 ※1 - ※2
PCI-3525 [11]以降 ※1 - ※4
PCI-320112 [11]以降 ※1 - ※4
PCI-320412 [12]以降 ※1 - ※4
PCI-320416 [12]以降 ※1 - ※4
PCI-360116 [12]以降 ※1 - ※4
PCI-360112 [12]以降 ※1 - ※4
PCI-360216 [12]以降 ※1 - ※4
CTP/CPZ-3120A [11]以降 ○ 1 本 ※2
CTP/CPZ-3120B [11]以降 ○ 1 本 ※2
CTP/CPZ-3120C [11]以降 ○ 1 本 ※2
CTP/CPZ-3126 [11]以降 ○ 1 本 ※2
CTP/CPZ-3133 [11]以降 ○ 1 本 ※2
CTP/CPZ-3135 [11]以降 ○ 1 本 ※2
CTP/CPZ-3165 [11]以降 ○ 1 本 ※2
CTP/CPZ-3167 FIFO 方式 [11]以降 ○ 1 本 ※2
CTP/CPZ-3168 [11]以降 ○ 1 本 ※2
CTP/CPZ-3170 [11]以降 ○ 1 本 ※2
CTP/CPZ-3171 [11]以降 ○ 1 本 ※2
CTP/CPZ-3172 [11]以降 ○ 1 本 ※2
CTP/CPZ-3173 [11]以降 ○ 1 本 ※2
CTP/CPZ-3174 [12]以降 ○ 2 本 ※4
CTP/CPZ-3175 [12]以降 ○ 2 本 ※4
CTP/CPZ-3177 [11]以降 ○ 1 本 ※2
CTP/CPZ-3178 [11]以降 ○ 1 本 ※2
GPG-3100 Help for Linux
© 2000 Interface Corporation.
133
CTP/CPZ-3180A [11]以降 ○ 1 本 ※2
CTP/CPZ-3180B [11]以降 ○ 1 本 ※2
CTP/CPZ-3180C [11]以降 ○ 1 本 ※2
CTP/CPZ-3182 [11]以降 ○ 2 本 ※4
CTP/CPZ-3183 [12]以降 ○ 2 本 ※4
CTP/CPZ-3521 [11]以降 ○ 1 本 ※2
CTP/CPZ-3522A [11]以降 ○ 1 本 ※2
CTP/CPZ-3523A [11]以降 ○ 1 本 ※2
CTP/CPZ-3525 [11]以降 ○ 2 本 ※4
CTP/CPZ-320412 [12]以降 ○ 2 本 ※4
CTP/CPZ-320416 [12]以降 ○ 2 本 ※4
CTP/CPZ-360112 [12]以降 ○ 2 本 ※4
CTP/CPZ-360116 [12]以降 ○ 2 本 ※4
CTP/CPZ-360810 [12]以降 ○ 1 本 -
PEX-H3133 - ※1 - ※2
PEX-H3177 - ※1 - ※2
PEX-H3178 - ※1 - ※2
PEX-H3525 - ※1 - ※4
PEX-H360116 - ※1 - ※4
※1 同期化ケーブルを接続する必要があります。
※2 スタートトリガはトリガなし、外部トリガ、DI マスク付き外部トリガ、無限サンプリング
でのみ設定できます。
(プリトリガ/ポストトリガディレイは使用することはできません。)
※3 スタートトリガはトリガなし、外部トリガ、無限サンプリングでのみ設定できます。
(プリトリガ/ポストトリガディレイは使用することはできません。)
※4 スタートトリガはトリガなし、外部トリガ、DI マスク付き外部トリガ、アナログトリガ、
無限サンプリングでのみ設定できます。
(プリトリガ/ポストトリガディレイは使用することはできません。)
※5 スタートトリガはトリガなし、外部トリガ、アナログトリガ、無限サンプリングでのみ設
定できます。
(プリトリガ/ポストトリガディレイは使用することはできません。)
使用例
int nRet;
nRet = AdSyncSampling( 1, AD_SLAVE_MODE );
nRet = AdSyncSampling( 1, AD_MASTER_MODE );
アナログ入力デバイス(デバイス番号=1)をマスタに、デバイス番号 2 のアナログ入力デバイス
をスレーブに設定して複数枚同期サンプリングを実行します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
134
15. AdTriggerSampling トリガ(EXTRG IN)が入力されるたびに、アナログ入力デバイスから 1件のアナログ入力を行い
ます。トリガを複数回入力することにより連続サンプリングが可能となります。
int AdTriggerSampling(
int nDevice, /* デバイス番号 */
unsigned long ulChNo, /* アナログ入力を行うチャンネル*/
unsigned long ulReserved1, /* 予約 */
unsigned long ulReserved2, /* 予約 */
unsigned long ulReserved3, /* 予約 */
unsigned long ulReserved4, /* 予約 */
unsigned long ulSmplNum /* サンプリングを行う件数 */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulChNo アナログ入力を行うチャンネルを指定します。
1 つのチャンネルのみ指定できます。
ulReserved1 予約:0を指定してください。
ulReserved2 予約:0を指定してください。
ulReserved3 予約:0を指定してください。
ulReserved4 予約:0を指定してください。
ulSmplNum サンプリングを行う件数を 1~1,073,741,824 件の範囲で指定します。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_NOW_SAMPLING
・AD_ERROR_INVALID_PARAMETER
備考
・本関数は、下記のデバイスで使用できます。
PCI-3126, PCI-3133, PCI-3135, PCI-3153, PCI-3155, PCI-3165, PCI-3166, PCI-3168C,
PCI-3170A, PCI-3171A, PCI-3172A, PCI-3173A, PCI-3177C, PCI-3521, PCI-3522A, PCI-3523A
LPC-321316, LPC-321416, LPC-361316, LPC-361416, PCI-362816
PEX-321316, PEX-321416, PEX-361316, PEX-361416
GPG-3100 Help for Linux
© 2000 Interface Corporation.
135
CTP/CPZ-3126, CTP/CPZ-3133, CTP/CPZ-3135, CTP/CPZ-3165, CTP/CPZ-3167,
CTP/CPZ-3168, CTP/CPZ-3170, CTP/CPZ-3171, CTP/CPZ-3172, CTP/CPZ-3173,
CTP/CPZ-3177, CTP/CPZ-3521, CTP/CPZ-3522, CTP/CPZ-3523
CBI-3133A, CBI-3133B, CBI-3134A, CBI-3134B,
CSI/CBI-320212, CBI-320212TR, CBI-320212TK, CBI-320212TL,
CSI/CBI-320312, CBI-320312TR, CBI-320312TK, CBI-320312TL,
PEX-H3133, PEX-H3177
・サンプリングレンジ、サンプリング周波数、トリガの種類、外部トリガ極性の指定は
AdSetSamplingConfig 関数で行います。
・本関数には AdStartSampling 関数のように同期処理(FLAG_SYNC)、非同期処理(FLAG_ASYNC)
の設定はありません。常に非同期処理として実行されます。
・本関数は、単一チャンネルのみのサンプリングとなります。複数チャンネルでのサンプリング
はできません。
・サンプリング終了時に、コールバックルーチンの呼び出しを行う事ができます。コールバック
ルーチンの設定は AdSetBoardConfig 関数で行います。
・本関数は、マルチプレクサで I/O 方式のサンプリングに対応したデバイスのみで使用できます。
その他のデバイスでは使用できません。
・サンプリングを途中で終わらせる場合には AdStopSampling 関数を使用します。
・サンプリングデータは AdGetSamplingData 関数で取り出します。
使用例
AdGetSamplingConfig( 1, &Config);
Config.ulSingleDiff = AD_INPUT_SINGLE;
Config.ulTrigMode = AD_EXTTRG;
Config.ulTrigEdge = AD_DOWN_EDGE;
Config.SmplChReq[0].ulRange = AD_5V;
AdSetSamplingConfig( 1, &Config);
nRet = AdTriggerSampling( 1, 1, 0, 0, 0, 0, 1024);
アナログ入力デバイス(デバイス番号=1)のチャンネル 1、バイポーラ±5V、シングルエンド入
力、EXTRG IN の立ち下がりエッジでサンプリングを 1024 件行います。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
136
16. AdMemTriggerSampling 外部トリガが入力されるたびに、アナログ入力デバイスから指定件数のサンプリングを行いま
す。指定回数までサンプリングを繰り返す事が可能です。(PCI-3161,3163)
int AdMemTriggerSampling(
int nDevice, /* デバイス番号 */
unsigned long UlReserved1, /* 予約 */
PADSMPLCHREQ UlReserved2, /* 予約 */
unsigned long ulSmplNum, /* 1 回のサンプリング件数 */
unsigned long ulRepeatCount, /* サンプリング件数の繰り返し回数 */
unsigned long ulReserved3, /* 予約 */
float ulReserved4, /* 予約 */
unsigned long ulReserved5, /* 予約 */
unsigned long ulReserved6 /* 予約 */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulReserved1 予約:0を指定してください。
ulReserved2 予約:NULL を指定してください。
ulSmplNum 1 回のサンプリング件数を指定します。
メモリ方式のデバイスでは 1,024 の倍数で 1,024 件 ~ デバイス搭載メモリ容量 の間で指
定できます。
PCI-3161, PCI-3163 では 1,024 件~524,288 件になります。
ulRepeatCount 指定件数のサンプリングの繰り返し回数を指定します。
繰り返し回数は 1 ~{(1回のサンプリング件数)×(繰り返し回数)≦( 大設定可能サン
プリング件数)}になる回数のみ指定できます。
PCI-3161, PCI-3163 では 1回~512 回になります。
ulReserved3 予約:0を指定してください。
ulReserved4 予約:0を指定してください。
ulReserved5 予約:0を指定してください。
ulReserved6 予約:0を指定してください。
GPG-3100 Help for Linux
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_NOW_SAMPLING
・AD_ERROR_INVALID_PARAMETER
備考
・本関数は、メモリ方式の下記型式で使用できます。
PCI-3161, PCI-3163
・サンプリングチャンネル、サンプリングレンジ、入力仕様、トリガの種類、外部トリガ極性の
指定は AdSetSamplingConfig 関数で行います。
・本関数には AdStartSampling 関数のように同期処理(FLAG_SYNC)、非同期処理(FLAG_ASYNC)
の設定はありません。常に非同期処理として実行されます。
・指定繰り返し回数のサンプリング完了時に、コールバックルーチンの呼び出しを行う事ができ
ます。コールバックルーチンの設定は AdSetBoardConfig 関数で行います。
・サンプリングを途中で終わらせる場合には AdStopSampling 関数を使用します。
・サンプリングデータは AdGetSamplingData 関数で取り出します。
・本関数で指定していないサンプリング条件は AdSetSamplingConfig 関数で指定したサンプリン
グ条件が使用されます。
・倍速モードで使用する場合には、以下の項目の設定範囲が変化します。
ulChCount 指定できるチャンネル数が 1~(デバイスの提供する 大チャンネル数/2)
になります。
ulSmplNum 指定できるサンプリング件数が 2,048 の倍数で 2048 件~(デバイス搭載メモ
リ容量×2)の間で指定できます。PCI-3161, PCI-3163 では 2,048 件~
1,048,576 件になります。
fSmplFreq 実際のサンプリング周波数は設定値の 2倍になります。
500,000Hz と設定した場合には 1,000,000Hz でサンプリングします。
・本関数の動作は以下のようになります。
© 2000 Interface Corporation.
137
外部トリガが入力される度に、指定件数分(ulSmplNum)サンプリングを行います。
サンプリングが終了してから、次の外部トリガが入力されるまでに 低 3µs の待ち時間が必要で
す。
サンプリング中 サンプリング中 サンプリング中 サンプリング
外部トリガ
入力波形
ulSmplNum ulSmplNum ulSmplNum
GPG-3100 Help for Linux
© 2000 Interface Corporation.
138
使用例
AdGetSamplingConfig(1, &Config);
Config.ulTrigMode = AD_EXTTRG;
Config.ulTrigEdge = AD_DOWN_EDGE;
Config.fSmplFreq = 625000.0;
Config.SmplChReq[0].ulChNo = 1;
Config.SmplChReq[0].ulRange = AD_5V;
Config.SmplChReq[1].ulChNo = 2;
Config.SmplChReq[1].ulRange = AD_5V;
AdSetSamplingConfig(1, &Config);
nRet = AdMemTriggerSampling( 1, 0, NULL, 1024, 5, 0, 0.0, 0, 0 );
デバイス番号 1 のアナログ入力デバイスのチャンネル 1,2、バイポーラ±5V、サンプリング件数
1024 件、繰り返し回数 5回、EXTRG IN の立ち下がりエッジ、サンプリング周波数 625kHz でサン
プリングを行います。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
139
17. AdStopSampling AdStartSampling 関数を非同期処理でスタートさせたアナログ入力デバイスの連続サンプリング
入力を停止させます。
int AdStopSampling(
int nDevice /* デバイス番号 */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_STOP_SAMPLING
備考
AdSetBoardConfig 関数において、ユーザ・コールバック関数を設定していた場合、本関数の呼び
出しにユーザ・コールバック関数が実行されます。
使用例
int nRet;
nRet = AdStartSampling( 1, FLAG_ASYNC);
if (!nRet) {
nRet = AdStopSampling( 1 );
}
アナログ入力デバイス(デバイス番号=1)に対して、即サンプリングの停止を行います。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
140
18. AdGetStatus アナログ入力デバイスのサンプリング動作状態を取得します。
int AdGetStatus(
int nDevice, /* デバイス番号 */
unsigned long* ulAdSmplStatus, /* サンプリング状態へのポインタ */
unsigned long* ulAdSmplCount, /* サンプリング済み件数へのポインタ */
unsigned long* ulAdAvailCount /* サンプリング残り件数へのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulAdSmplStatus AD サンプリング状態を格納する変数へのポインタです。サンプリング状態は以下の識別子の
いずれかが格納されます。
識別子 値 状 態
AD_STATUS_STOP_SAMPLING 1 サンプリングは停止しています。
AD_STATUS_WAIT_TRIGGER 2 サンプリングはトリガ待ち状態です。
AD_STATUS_NOW_SAMPLING 3 サンプリング動作中です。
ulAdSmplCount サンプリング済み件数を格納する変数へのポインタです。アナログ入力サンプリングのサン
プリング済み件数を格納します。
ulAdAdvailCount サンプリング残件数を格納する変数へのポインタです。
アナログ入力サンプリングのサンプリングデータの残件数を格納します。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NULL_POINTER
備考
サンプリング済み件数について
サンプリング済み件数はサンプリングバッファにデータが格納されてからカウントされます。
サンプリング済み件数はサンプリング方式、サンプリング件数、トリガの有無によってカウント
方法が異なります。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
141
トリガなし サンプリング開始時から1件単位で1件目からカウ
ント開始されます。
スタートトリガ
(ディレイなし)
トリガが入った時点から1件単位で1件目からカウ
ント開始されます。
スタートトリガ
+プリトリガディレイ
トリガが入った時点から 1 件単位でプリトリガデ
ィレイ件数目からカウント開始されます。
スタートトリガ
+ポストトリガディレイ
トリガが入ってポストトリガディレイ件数分すぎ
た時点から1件単位で1件目からカウント開始され
ます。
ストップトリガ
(ディレイなし)
トリガが入った時点(サンプリング終了時)でサン
プリング件数が格納されます。
サンプリング中にはサンプリング件数を参照する
事はできません。
I/O 方式
ストップトリガ
+ポストトリガディレイ
トリガが入った時点から 1件単位で「サンプリング
件数-ポストリガディレイ件数」目からカウント開
始されます。
トリガなし サンプリングが開始されて、FIFO 容量の半分の件
数がサンプリングされる毎に、FIFO 容量の半分の
件数単位でカウントされます。
スタートトリガ(ディレイ
なし)
トリガが入った時点から、FIFO 容量の半分の件数
がサンプリングされる毎に、FIFO 容量の半分の件
数単位でカウントされます。
スタートトリガ
+プリトリガディレイ
トリガが入った時点でまずプリトリガディレイ件
数分カウントされ、その後 FIFO 容量の半分の件数
がサンプリングされる毎に、FIFO 容量の半分の件
数単位でカウントされます。
スタートトリガ
+ポストトリガディレイ
トリガが入ってポストトリガディレイ件数分すぎ
た時点で「FIFO 容量の半分の件数-(ポストトリ
ガディレイ件数を FIFO 容量の半分の件数で割った
ときの余り)」件数分カウントされ、その後 FIFO
容量の半分の件数がサンプリングされる毎に、FIFO
容量の半分の件数単位でカウントされます。
ストップトリガ(ディレイ
なし)
トリガが入った時点(サンプリング終了時)でサン
プリング件数が格納されます。
サンプリング中にはサンプリング件数を参照する
事はできません。
FIFO 方式
ストップトリガ
+ポストトリガディレイ
トリガが入ってポストトリガディレイ件数分サン
プリングした時点(サンプリング終了時)でサンプ
リング件数が格納されます。
サンプリング中にはサンプリング件数を参照する
事はできません。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
142
トリガなし サンプリングが開始されて、イベント通知サンプリ
ング件数がサンプリングされる毎に、イベント通知
サンプリング件数単位でカウントされます。
スタートトリガ(ディレイ
なし)
トリガが入った時点から、イベント通知サンプリン
グ件数がサンプリングされる毎に、イベント通知サ
ンプリング件数単位でカウントされます。
スタートトリガ+プリト
リガディレイ
トリガが入った時点でまずプリトリガディレイ件
数分カウントされ、その後イベント通知サンプリン
グ件数がサンプリングされる毎に、イベント通知サ
ンプリング件数単位でカウントされます。
スタートトリガ+ポスト
トリガディレイ
バスマスタ方式では、使用できません。
ストップトリガ(ディレイ
なし)
トリガが入った時点(サンプリング終了時)でサン
プリング件数が格納されます。
サンプリング中にはサンプリング件数を参照する
事はできません。
バスマスタ方式
ストップトリガ+ポスト
トリガディレイ
トリガが入ってポストトリガディレイ件数分サン
プリングした時点(サンプリング終了時)でサンプ
リング件数が格納されます。
サンプリング中にはサンプリング件数を参照する
事はできません。
※ FIFO 容量の半分の件数:サンプリングを行うチャンネル数に異なります。
1 チャンネル使用時 FIFO 容量/2 件
2 チャンネル使用時 FIFO 容量/4 件
3 チャンネル使用時 FIFO 容量/6 件
4 チャンネル使用時 FIFO 容量/8 件
5 チャンネル使用時 FIFO 容量/10 件
6 チャンネル使用時 FIFO 容量/12 件
7 チャンネル使用時 FIFO 容量/14 件
8 チャンネル使用時 FIFO 容量/16 件
9 チャンネル使用時 FIFO 容量/18 件
10 チャンネル使用時 FIFO 容量/20 件
11 チャンネル使用時 FIFO 容量/22 件
12 チャンネル使用時 FIFO 容量/24 件
13 チャンネル使用時 FIFO 容量/26 件
14 チャンネル使用時 FIFO 容量/28 件
15 チャンネル使用時 FIFO 容量/30 件
16 チャンネル使用時 FIFO 容量/32 件
無限サンプリング(AD_ETERNITY)使用時のカウントについて
サンプリング済件数はサンプリングが行われる度にカウントアップされます。カウント値が変数
(unsigned long 型)の範囲を越えてオーバーフローすると、カウント値は 0 に戻ってからカウ
ントアップされます。
サンプリング残件数は常に 1 になります。無限サンプリング時には、サンプリング残件数を参照
することはできません。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
143
使用例
unsigned long ulAdSmplStatus;
unsigned long ulAdSmplCount;
unsinged long ulAdAvailCount;
int nRet;
nRet = AdGetStatus( 1, &ulAdSmplStatus, &ulAdSmplCount, &ulAdAvailCount );
if ( !nRet ) {
printf("Status:%lx\n", ulAdSmplStatus);
printf("Count:%ld\n", ulAdSmplCount);
printf("Avail Count:%ld\n", ulAdAvailCount);
}
アナログ入力デバイス(デバイス番号=1)に対して、現在のサンプリング状態などを取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
144
19. AdInputAD アナログ入力デバイスから 1件のアナログ入力(1件サンプリング)を行います。
連続でサンプリングを行う場合はAdStartSampling関数を使用してください。
AdStartSampling関数を使用した通常の連続サンプリング入力とは異なり、デバイスのアナログ入力
機能のみを利用します。
int AdInputAD(
int nDevice, /* デバイス番号 */
unsigned long ulCh, /* チャンネル数 */
unsigned long ulSingleDiff, /* 入力方法設定 */
PADSMPLCHREQ pAdSmplChReq, /* チャンネル番号へのポインタ */
void * pData /* 入力データへのポインタ*/
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulCh アナログ入力を行うチャンネル数を指定します。設定可能範囲は 1~そのデバイスで利用可能
なチャンネル数です。必ず 1以上の値を指定してください。
ulSingleDiff 入力仕様(シングルエンドまたは差動)を指定します。
下記識別子を指定します。
識別子 値 内容
AD_INPUT_SINGLE 1 シングルエンド入力
AD_INPUT_DIFF 2 差動入力
pAdSmplChReq アナログ入力を行うチャンネル番号、レンジを指定するための構造体配列(ADSMPLCHREQ 構造
体)へのポインタを指定します。
pData アナログ入力したデータを格納する位置へのポインタを指定します。pData が指す位置にアナ
ログ入力データを格納します。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_INVALID_PARAMETER
・AD_ERROR_NULL_POINTER
GPG-3100 Help for Linux
© 2000 Interface Corporation.
145
備考
・ulCh パラメータは入力を行うチャンネル数を指定します。例えば、入力を行うチャンネル番号
が 1,3,5,7 であればチャンネル数は 4となります。
・入力を行うチャンネルの番号を ADSMPLCHREQ 構造体(サンプリングチャンネル構造体)の uChNo
メンバに格納します。
・連続サンプリング中に本関数を実行する事はできません。
・バスマスタ方式のデバイスで本関数を使用する場合には、AD変換のタイミングは、
AdBmSetSamplingConfig関数にて設定しているスキャンクロックに依存するため、スキャンクロ
ックで設定している時間×チャンネル数だけ本関数の時間が長くなってしまいます。
・バスマスタ方式のデバイスにて複数チャンネルの取得を本関数を使用する場合には、チャンネ
ル間で干渉する可能性があるため、AdBmSetSamplingConfig関数にてスキャンクロックを変更し
て頂き、AD変換タイミングを変更するようにしてください。
・バスマスタ方式の一部デバイス(下記型式)にて複数チャンネルの指定する場合にスキャンク
ロックがチャンネル固定時と異なるため、AdBmSetSamplingConfig関数にてスキャンクロックを
変更して頂き、AD変換タイミングを変更するようにしてください。
PCI-321516
LPC-321116, LPC-321216
PEX-321116, PEX-321216
CSI/CBI-320412, CBI-320412TR, CBI-320412TK, CBI-320412TL, CSI/CBI-320416,
CBI-320416TR, CBI-320416TK, CBI-320416TL,
使用例
int nRet;
unsigned short usData[4];
ADSMPLCHREQ SmplChReq[4];
SmplChReq[0].ulChNo = 1;
SmplChReq[0].ulRange = AD_5V;
SmplChReq[1].ulChNo = 3;
SmplChReq[1].ulRange = AD_5V;
SmplChReq[2].ulChNo = 5;
SmplChReq[2].ulRange = AD_5V;
SmplChReq[3].ulChNo = 7;
SmplChReq[3].ulRange = AD_5V;
nRet = AdInputAD( 1, 4, AD_INPUT_SINGLE, &SmplChReq[0], &usData );
アナログ入力デバイス(デバイス番号=1)のチャンネル 1,3,5,7 に対して、アナログ入力を 1 回
実行します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
146
20. AdSetInputADEx AdInputADEx 関数で行う1件サンプリングの条件を設定します。
int AdSetInputADEx(
int nDevice, /* デバイス番号 */
unsigned long ulCh, /* チャンネル数 */
unsigned long ulSingleDiff, /* 入力方法設定 */
PADSMPLCHREQ pAdSmplChReq /* チャンネル設定する構造体へのポインタ
*/
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulCh アナログ入力を行うチャンネル数を指定します。設定可能範囲は 1~そのデバイスで利用可能
なチャンネル数です。必ず 1以上の値を指定してください。
ulSingleDiff シングルエンド入力/差動入力を指定します。
識別子 値 内容
AD_INPUT_SINGLE 1 シングルエンド入力
AD_INPUT_DIFF 2 差動入力
pAdSmplChReq
アナログ入力を行うチャンネル番号、レンジを指定するための構造体配列(ADSMPLCHREQ 構造
体)へのポインタを指定します。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_DEVICE
・AD_ERROR_INVALID_PARAMETER
・AD_ERROR_NULL_POINTER
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_NOW_SAMPLING
備考
・連続サンプリング中に本関数を実行する事はできません。
・ulCh パラメータは入力を行うチャンネル数を指定します。例えば、入力を行うチャンネル番号
が 1,3,5,7 であればチャンネル数は 4となります。
・入力を行うチャンネルの番号を ADSMPLCHREQ 構造体(サンプリングチャンネル構造体)の uChNo
メンバに格納します。
・バスマスタ方式のデバイス(MADC デバイスは除く)で本関数を使用する場合には、AD 変換のタ
イミングは、AdBmSetSamplingConfig関数にて設定しているスキャンクロックに依存するため、
スキャンクロックで設定している時間×チャンネル数だけ本関数の時間が長くなってしまいま
す。
・バスマスタ方式のデバイス(MADC デバイスは除く)にて複数チャンネルの取得を本関数を使用
する場合には、チャンネル間で干渉する可能性があるため、AdBmSetSamplingConfig 関数にて
GPG-3100 Help for Linux
© 2000 Interface Corporation.
147
スキャンクロックを変更して頂き、AD 変換タイミングを変更するようにしてください。
・バスマスタ方式の一部デバイス(下記型式)にて複数チャンネルの指定する場合にスキャンク
ロックがチャンネル固定時と異なるため、AdBmSetSamplingConfig関数にてスキャンクロックを
変更して頂き、AD変換タイミングを変更するようにしてください。
PCI-321516
LPC-321116, LPC-321216
PEX-321116, PEX-321216
CSI/CBI-320412, CBI-320412TR, CBI-320412TK, CBI-320412TL, CSI/CBI-320416,
CBI-320416TR, CBI-320416TK, CBI-320416TL,
使用例
int nRet;
ADSMPLCHREQ SmplChReq[4];
SmplChReq[0].ulChNo = 1;
SmplChReq[0].ulRange = AD_5V;
SmplChReq[1].ulChNo = 3;
SmplChReq[1].ulRange = AD_5V;
SmplChReq[2].ulChNo = 5;
SmplChReq[2].ulRange = AD_5V;
SmplChReq[3].ulChNo = 7;
SmplChReq[3].ulRange = AD_5V;
nRet = AdSetInputADEx( 1, 4, AD_INPUT_SINGLE, &SmplChReq[0] );
アナログ入力デバイス(デバイス番号=1)のチャンネル 1,3,5,7 に対して、サンプリング条件を
設定します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
148
21. AdInputADEx アナログ入力デバイスから AdSetInputAdEx 関数で指定された条件で 1件のアナログ入力(1件サ
ンプリング)を行います。
int AdInputADEx(
int nDevice, /* デバイス番号 */
void * pAdData /* 入力データへのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
pAdData アナログ入力したデータを格納する位置へのポインタを指定します。pAdData が指す位置にア
ナログ入力データを格納します。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_DEVICE
・AD_ERROR_NULL_POINTER
・AD_ERROR_NOT_SUPPORTED
備考
・連続サンプリング中に本関数を実行する事はできません。
・バスマスタ方式のデバイス(MADC は除く)で本関数を使用する場合には、AD 変換のタイミング
は、AdBmSetSamplingConfig 関数にて設定しているスキャンクロックに依存するため、スキャ
ンクロックで設定している時間×チャンネル数だけ本関数の時間が長くなってしまいます。
使用例
int nRet;
unsigned short usData;
nRet = AdInputADEx( 1, &usData );
アナログ入力デバイス(デバイス番号=1)に対して、アナログ入力を 1回実行します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
149
22. AdInputDI アナログ入力デバイスの汎用入力端子を読み出します。
int AdInputDI(
int nDevice, /* デバイス番号 */
unsigned long* ulData /* 入力デジタルデータへのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulData 入力したデジタルデータを格納する変数へのポインタです。(「4.2 データ形式」参照)
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_NULL_POINTER
備考
・本関数は、汎用入力端子を搭載していないデバイスでは使用できません。
使用例
unsigned long ulData;
int nRet;
nRet = AdInputDI(1, &ulData );
if (!nRet) {
printf( "DI Data:%x\n", ulData );
}
アナログ入力デバイス(デバイス番号=1)から汎用入力端子の状態を読み出します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
150
23. AdOutputDO アナログ入力デバイスの汎用出力端子へデータを出力します。
int AdOutputDO(
int nDevice, /* デバイス番号 */
unsigned long ulData /* 出力データ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulData 出力するデジタルデータを指定します。(「4.2 データ形式」参照)
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_SUPPORTED
備考
・本関数は、汎用出力端子を搭載していないデバイスでは使用できません。
使用例
int nRet;
nRet = AdOutputDO( 1, 0x03 );
アナログ入力デバイス(デバイス番号=1)から汎用出力端子に対して 03h のデータを出力します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
151
24. AdSetRangeEvent アナログ入力デバイスのフルスケール検出イベント条件、過電圧保護入力時自動レンジ切換イベン
トの設定を行います。
int AdSetRangeEvent(
int nDevice, /* デバイス番号 */
unsigned long ulEventMask, /* イベント発生条件 */
unsigned long ulStopMode /* サンプリング停止条件 */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulEventMask フルスケール検出時のイベント、過電圧保護入力時自動レンジ切換イベントの発生条件を指
定します。
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
PM2 PM1 0 0 0 OV PFE NFE
bit6~7 過電圧保護入力時自動レンジ切り換え設定
0:無効
1:自動レンジ切り換え(±50V レンジ)
2:内部 GND 接続
bit5~3 予約
bit2 過電圧保護入力時自動レンジ切り換え検出
0:イベントを発生させない 1:イベントを発生させる
bit1 ポジディブフルスケール検出時のイベント発生条件を指定します。
0:イベントを発生させない
1:イベントを発生させる
bit0 ネガティブフルスケール検出時のイベント発生条件を指定します。
0:イベントを発生させない
1:イベントを発生させる
ulStopMode
フルスケール検出、過電圧保護入力時自動レンジ切り換え時のサンプリング停止条件を指定
します。
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
0 0 0 0 0 OV PFS NFS
Bit7~3 予約
bit2 過電圧保護入力時自動レンジ切り換え検出
0:サンプリングを停止しない
1:サンプリングを停止する
bit1 ポジディブフルスケール検出時のイベント発生条件を指定します。
0:サンプリングを停止しない
1:サンプリングを停止する
bit0 ネガティブフルスケール検出時のイベント発生条件を指定します。
0:サンプリングを停止しない
1:サンプリングを停止する
GPG-3100 Help for Linux
© 2000 Interface Corporation.
152
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_SUPPORTED
備考
・過電圧保護入力時自動レンジ切り換え検出時のイベントは、PCI-320112, CTP/CPZ-3183 でのみ
対応しています。
・AdGetBoardConfig関数を使用することにより、フルスケールレンジ検出、過電圧保護入力時自
動レンジ切り換え検出時のイベント発生、サンプリング停止を確認できます。
・AdGetRangeEventStatus関数を使用することにより、フルスケールレンジを超えたかを確認でき
ます。
・AdGetOverRangeChStatus関数を使用することにより、過電圧保護入力時自動レンジ切り換え検
出が発生したチャンネルとステータスを確認できます。
対象デバイス
以下に本関数をサポートしているデバイス一覧を示します。
型式 RevisionID 型式 RevisionID
PCI-3161 RevisionID 4 以降 CBI-320212TK -
PCI-3174 RevisionID 2 以降 CBI-320212TL -
PCI-3525 - CSI/CBI-320312 -
PCI-320112 - CBI-320312TR -
PCI-320412 - CBI-320312TK -
PCI-320416 - CBI-320312TL -
PCI-360116 - CSI/CBI-320412 -
PCI-360112 - CBI-320412TR -
PCI-360216 - CBI-320412TK -
CTP/CPZ-3120A - CBI-320412TL -
CTP/CPZ-3120B - CSI/CBI-320416 -
CTP/CPZ-3120C - CBI-320416TR -
CTP/CPZ-3135 - CBI-320416TK -
CTP/CPZ-3165 - CBI-320416TL -
CTP/CPZ-3167 - CSI/CBI-360112 -
CTP/CPZ-3168 - CBI-360112TR -
CTP/CPZ-3170 RevisionID 2 以降 CBI-360112TK -
CTP/CPZ-3171 RevisionID 2 以降 CBI-360112TL -
CTP/CPZ-3172 RevisionID 2 以降 CSI/CBI-360116 -
CTP/CPZ-3173 RevisionID 2 以降 CBI-360116TR -
CTP/CPZ-3174 - CBI-360116TK -
CTP/CPZ-3175 - CBI-360116TL -
CTP/CPZ-3177 - LPC-320910 -
CTP/CPZ-3178 - LPC-321116 -
CTP/CPZ-3179 - LPC-321216 -
CTP/CPZ-3180A - LPC-321316 -
CTP/CPZ-3180B - LPC-321416 -
CTP/CPZ-3180C - LPC-361116 -
CTP/CPZ-3182 - LPC-361216 -
CTP/CPZ-3183 - LPC-361316 -
CTP/CPZ-320412 - LPC-361416 -
GPG-3100 Help for Linux
© 2000 Interface Corporation.
153
CTP/CPZ-320416 - PEX-320910 -
CPZ-3525 - PEX-321116 -
CTP/CPZ-360112 - PEX-321216 -
CTP/CPZ-360116 - PEX-321316 -
CPZ-360810 - PEX-321416 -
CBI-3133A RevisionID 3 以降 PEX-361116 -
CBI-3133B RevisionID 3 以降 PEX-361216 -
CBI-3134A RevisionID 3 以降 PEX-361316 -
CBI-3134B RevisionID 3 以降 PEX-361416 -
CSI/CBI-320212 - PCI-321516 -
CBI-320212TR - PCI-362616 -
PEX-H360116 - PCI-362816 -
(RevisionIDはAdCommonGetPciDeviceInfo関数を使用することにより確認できます)
使用例
nRet = AdSetRangeEvent( 1, 0x0001, 0x0002 );
アナログ入力デバイス(デバイス番号=1)のフルスケールレンジ検出時の動作を設定します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
154
25. AdResetRangeEvent フルスケール検出イベントをリセットします。
int AdResetRangeEvent(
int nDevice /* デバイス番号 */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_SUPPORTED
備考
フルスケール検出イベントが発生した後、本関数を実行してイベントをリセットするまでは次
のイベントが発生しません。
対象デバイス
以下に本関数をサポートしているデバイス一覧を示します。
型式 RevisionID 型式 RevisionID
PCI-3161 RevisionID 4 以降 CBI-320212TK -
PCI-3174 RevisionID 2 以降 CBI-320212TL -
PCI-3525 - CSI/CBI-320312 -
PCI-320112 - CBI-320312TR -
PCI-320412 - CBI-320312TK -
PCI-320416 - CBI-320312TL -
PCI-360116 - CSI/CBI-320412 -
PCI-360112 - CBI-320412TR -
PCI-360216 - CBI-320412TK -
CTP/CPZ-3120A - CBI-320412TL -
CTP/CPZ-3120B - CSI/CBI-320416 -
CTP/CPZ-3120C - CBI-320416TR -
CTP/CPZ-3135 - CBI-320416TK -
CTP/CPZ-3165 - CBI-320416TL -
CTP/CPZ-3167 - CSI/CBI-360112 -
CTP/CPZ-3168 - CBI-360112TR -
CTP/CPZ-3170 RevisionID 2 以降 CBI-360112TK -
CTP/CPZ-3171 RevisionID 2 以降 CBI-360112TL -
CTP/CPZ-3172 RevisionID 2 以降 CSI/CBI-360116 -
CTP/CPZ-3173 RevisionID 2 以降 CBI-360116TR -
CTP/CPZ-3174 - CBI-360116TK -
CTP/CPZ-3175 - CBI-360116TL -
CTP/CPZ-3177 - LPC-320910 -
CTP/CPZ-3178 - LPC-321116 -
CTP/CPZ-3179 - LPC-321216 -
CTP/CPZ-3180A - LPC-321316 -
GPG-3100 Help for Linux
© 2000 Interface Corporation.
155
CTP/CPZ-3180B - LPC-321416 -
CTP/CPZ-3180C - LPC-361116 -
CTP/CPZ-3182 - LPC-361216 -
CTP/CPZ-3183 - LPC-361316 -
CTP/CPZ-320412 - LPC-361416 -
CTP/CPZ-320416 - PEX-320910 -
CPZ-3525 - PEX-321116 -
CTP/CPZ-360112 - PEX-321216 -
CTP/CPZ-360116 - PEX-321316 -
CPZ-360810 - PEX-321416 -
CBI-3133A RevisionID 3 以降 PEX-361116 -
CBI-3133B RevisionID 3 以降 PEX-361216 -
CBI-3134A RevisionID 3 以降 PEX-361316 -
CBI-3134B RevisionID 3 以降 PEX-361416 -
CSI/CBI-320212 - PCI-321516 -
CBI-320212TR - PCI-362616 -
PEX-H360116 - PCI-362816 -
(RevisionIDはAdCommonGetPciDeviceInfo関数を使用することにより確認できます)
使用例
nRet = AdResetRangeEvent( 1 );
アナログ入力デバイス(デバイス番号=1)のフルスケール検出イベントをリセットします。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
156
26. AdGetRangeEventStatus アナログ入力デバイスのフルスケールレンジ検出イベントのステータスを取得します。
int AdGetRangeEventStatus(
int nDevice, /* デバイス番号 */
unsigned long* ulEventChNo, /* チャンネル番号へのポインタ */
unsigned long* ulEventStatus /* イベント要因へのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulEventChNo フルスケールレンジ検出チャンネルを格納する変数へのポインタを指定します。
ulEventStatus 検出された状態を格納する変数へのポインタを指定します。
以下の識別子のいずれかが格納されます。
識別子 値 状 態
AD_STATUS_UNDER_RANGE 1 ネガティブフルスケールが検出されています。
AD_STATUS_OVER_RANGE 2 ポジティブフルスケールが検出されています。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_NULL_POINTER
備考
・パラメータ用の配列は、デバイスの制御方式により必要なサイズが異なります。
マルチプレクサ方式のデバイスは 1チャンネル分の配列を用意します。
マルチ ADC 方式のデバイスは使用するデバイスの 大チャンネル数分の配列を用意します。
対象デバイス
以下に本関数をサポートしているデバイス一覧を示します。
型式 RevisionID 型式 RevisionID
PCI-3161 RevisionID 4 以降 CBI-320212TK -
PCI-3174 RevisionID 2 以降 CBI-320212TL -
PCI-3525 - CSI/CBI-320312 -
PCI-320112 - CBI-320312TR -
PCI-320412 - CBI-320312TK -
PCI-320416 - CBI-320312TL -
PCI-360116 - CSI/CBI-320412 -
PCI-360112 - CBI-320412TR -
PCI-360216 - CBI-320412TK -
CTP/CPZ-3120A - CBI-320412TL -
CTP/CPZ-3120B - CSI/CBI-320416 -
CTP/CPZ-3120C - CBI-320416TR -
CTP/CPZ-3135 - CBI-320416TK -
GPG-3100 Help for Linux
© 2000 Interface Corporation.
157
CTP/CPZ-3165 - CBI-320416TL -
CTP/CPZ-3167 - CSI/CBI-360112 -
CTP/CPZ-3168 - CBI-360112TR -
CTP/CPZ-3170 RevisionID 2 以降 CBI-360112TK -
CTP/CPZ-3171 RevisionID 2 以降 CBI-360112TL -
CTP/CPZ-3172 RevisionID 2 以降 CSI/CBI-360116 -
CTP/CPZ-3173 RevisionID 2 以降 CBI-360116TR -
CTP/CPZ-3174 - CBI-360116TK -
CTP/CPZ-3175 - CBI-360116TL -
CTP/CPZ-3177 - LPC-320910 -
CTP/CPZ-3178 - LPC-321116 -
CTP/CPZ-3179 - LPC-321216 -
CTP/CPZ-3180A - LPC-321316 -
CTP/CPZ-3180B - LPC-321416 -
CTP/CPZ-3180C - LPC-361116 -
CTP/CPZ-3182 - LPC-361216 -
CTP/CPZ-3183 - LPC-361316 -
CTP/CPZ-320412 - LPC-361416 -
CTP/CPZ-320416 - PEX-320910 -
CPZ-3525 - PEX-321116 -
CTP/CPZ-360112 - PEX-321216 -
CTP/CPZ-360116 - PEX-321316 -
CPZ-360810 - PEX-321416 -
CBI-3133A RevisionID 3 以降 PEX-361116 -
CBI-3133B RevisionID 3 以降 PEX-361216 -
CBI-3134A RevisionID 3 以降 PEX-361316 -
CBI-3134B RevisionID 3 以降 PEX-361416 -
CSI/CBI-320212 - PCI-321516 -
CBI-320212TR - PCI-362616 -
PEX-H360116 - PCI-362816 -
(RevisionIDはAdCommonGetPciDeviceInfo関数を使用することにより確認できます)
使用例
・マルチ ADC 方式の場合
unsigned long ulEventChNo[8];
unsigned long ulEventStatus[8];
nRet = AdGetRangeEventStatus( 1, &ulEventChNo[0], &ulEventStatus[0] );
・マルチプレクサ方式の場合
unsigned long ulEventChNo;
unsigned long ulEventStatus;
nRet = AdGetRangeEventStatus( 1, &ulEventChNo, &ulEventStatus );
アナログ入力デバイス(デバイス番号=1)に対して、現在のフルスケール検出イベントのステー
タスを取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
158
27. AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに対し平均処理やスムージング
処理を行うことができます。
また、ユーザ関数の指定により、任意のデータ変換式を設定することも可能です。
int AdDataConv(
int ulSrcFormCode, /* pSrcData が指すデータ領域 */
void* pSrcData, /* 変換元データへのポインタ */
int ulSrcSmplDataNum, /* 変換元データのサンプリング形式 */
PADSMPLREQ pSrcSmplReq, /* 変換元データのサンプリング形式へのポインタ
*/
int ulDestFormCode, /* pDestData が指すデータ領域のデータ形式 */
void* pDestData, /* 変換後データ */
int * pulDestSmplDataNum, /* 変換後データ件数へのポインタ */
PADSMPLREQ pDestSmplReq, /* 変換後データのサンプリング形式へのポインタ
*/
int ulEffect, /* データ変換 */
int ulCount, /* 平均、スムージングのデータ件数 */
void* pfnConv /* ユーザー関数 */
);
パラメータ
ulSrcFormCode pSrcData が指すデータ領域に格納されているデータ形式をデータ指定識別子にて指定します。
識別子 値 データ形式
AD_DATA_PHYSICAL 1 物理量(電圧[V]または電流[mA])
AD_DATA_BIN8 2 8bit バイナリ
AD_DATA_BIN10 3 10bit バイナリ
AD_DATA_BIN12 4 12bit バイナリ
AD_DATA_BIN16 5 16bit バイナリ
AD_DATA_BIN24 6 24bit バイナリ
バイナリデータとは、デバイスに対して直接入出力できる形式のデータを指します。
pSrcData 変換元データへのポインタを指定します。
ulSmplDataNum 変換元データ数を指定します。
pSrcSmplReq 変換元データのサンプリング条件が格納されている構造体(ADSMPLREQ 構造体)へのポインタ
を指定します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
159
ulDestFormCode pDestData が指すデータ領域に格納されているデータ形式をデータ指定識別子にて指定しま
す。
識別子 値 データ形式
AD_DATA_PHYSICAL 1 物理量(電圧[V]または電流[mA])
AD_DATA_BIN8 2 8bit バイナリ
AD_DATA_BIN10 3 10bit バイナリ
AD_DATA_BIN12 4 12bit バイナリ
AD_DATA_BIN16 5 16bit バイナリ
AD_DATA_BIN24 6 24bit バイナリ
バイナリデータとは、デバイスに対して直接入出力できる形式のデータを指します。
pDestData 変換後データへのポインタを指定します。
pulDestSmplDataNum 変換後データ数のポインタを指定します。
pDestSmplReq 変換後データのサンプリング条件を格納するための構造体(ADSMPLREQ 構造体)へのポインタ
を指定します。
ulEffect データ変換の際に平均、スムージング処理を行うかどうかを以下のデータ変換識別子にて指
定します。0を指定すると平均、スムージング処理は行われません。
識別子 値 内 容
0 0 平均、スムージングを行いません。
AD_CONV_SMOOTH 1 データに対し、スムージングによる変換を行います。
AD_CONV_AVERAGE1 100h データに対し、単純平均による変換を行います。
AD_CONV_AVERAGE2 200h データに対し、移動平均による変換を行います。
ulCount 平均、スムージングのデータ数です。ulEffect で平均、スムージングを行うように指定した
とき、平均、スムージングのデータ数を指定します。ulEffect に 0 が指定されている場合は、
ulCount は無効です。
pfnConv ユーザ関数へのポインタです。
一通りのデータ変換を終えた後、ユーザ関数により任意の計算を行ってデータに変換を加え
ることができます。pfnConv には変換を行うための関数へのポインタを指定します。(fnConv
関数参照)
ユーザ関数によるデータ変換を行わない場合は、pfnConv に NULL を指定してください。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DATA_FORMAT
・AD_ERROR_INVALID_AVERAGE_OR_SMOOTHING
・AD_ERROR_INVALID_SOURCE_DATA
GPG-3100 Help for Linux
© 2000 Interface Corporation.
160
備考
・スムージングを行った場合、pSrcData と pDestData はデータ件数だけでなく、サンプリング設
定条件にも変化が起こります。例えば、1kHz で 1000 件のデータを持っていた場合、これを 10
件で平均した場合、サンプリング周波数は 100Hz、データは 100 件になります。スムージング
を行った場合はその逆のことが起こります。物理量のデータ型は、float 型になります。
使用例
nRet = AdDataConv( AD_DATA_BIN12,pSrcBuffer,uSrcSmplDataNum,&pSrcSmplReq,
AD_DATA_BIN16,pDestBuffer,&puDestSmplDataNum,&pDestSmplReq,
0, 0, NULL );
サンプリングデータの変換を行います。
変換条件は以下の通りです。
・変換元データ形式 :12bit バイナリデータ
・変換元データサンプリング条件 :SrcSmplReq 構造体にて指定
・変換後データ形式 :16bit バイナリデータ
・変換後データサンプリング条件 :DestSmplReq 構造体に格納
・スムージング :無し
・ユーザ関数 :無し
GPG-3100 Help for Linux
© 2000 Interface Corporation.
161
28. AdReadFile ファイルに保存されているサンプリングデータを指定のバッファに読み込みます。
ファイル形式はバイナリと CSV に対応しています。
int AdReadFile(
char* szPathName, /* データファイルへのパス */
void* pSmplData, /* サンプリングデータへのポインタ */
unsigned long ulFormCode /* サンプリングデータ形式 */
); パラメータ
pszPathName サンプリングデータが格納されているデータファイルへのパスを指定します。
pSmplData ファイルから読み込んだサンプリングデータを格納するバッファへのポインタを指定します。
指定するバッファは、下記のサイズ分用意してください。
データ形式 用意するバッファのサイズ
物理量 ファイル上のデータ件数×16bit
(物理量形式のデータは float 型として扱われます)
バイナリ(8~24bit) 読み込みを行うファイルサイズ
ulFormCode
ファイルに保存されているサンプリングデータの形式を指定します。
識別子 値 データ形式
AD_DATA_PHYSICAL 1 物理量(電圧[V]または電流[mA])
AD_DATA_BIN8 2 8bit バイナリ
AD_DATA_BIN10 3 10bit バイナリ
AD_DATA_BIN12 4 12bit バイナリ
AD_DATA_BIN16 5 16bit バイナリ
AD_DATA_BIN24 6 24bit バイナリ
バイナリデータとは、デバイスに対して直接入出力できる形式のデータを指します。 戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_FILE_OPEN
・AD_ERROR_FILE_CLOSE
・AD_ERROR_FILE_READ
・AD_ERROR_INVALID_DATA_FORMAT 備考
ファイルに保存されているデータ形式のままバッファに読み込まれます。
データが物理量の場合はバッファに読み込まれるときにカンマは削除されます。 使用例
int nRet;
float pSmplData[100];
nRet = AdReadFile( "DATA.CSV", FLAG_CSV, pSmplData, AD_DATA_PHYSICAL );
CSV 形式・100 件のデータファイル(DATA.CSV)から物理量のデータをバッファ(pSmplData)に
読み込みます。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
162
29. fnConv AdDataConv 関数で使用するコールバック関数です。AdDataConv 関数の lpfnConv に fnConv 関数
へのポインタを設定することにより、データ変換時に fnConv 関数を呼び出すことができます。
fnConv 関数は、データ 1点毎に呼び出されます。
CONVPROC fnConv(
int nDevice /* デバイス番号 */
int nCh, /* チャンネル番号 */
unsigned long ulCount, /* データ件数 */
void* pData /* データ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
nCh nCh は、pData が指すデータのチャンネル番号が渡されます。
ulCount ulCount には、pData が指すデータが、データの先頭から何番目にあたるかが渡されます。
pData pData には、AdDataConv 関数により変換されたデータが格納されているデータへのポインタ
が渡されます。fnConv 関数は、データ 1 つ毎に呼び出されます。pData が指す位置のデータ
を変換後のデータ形式の型式で読み出し、計算を行った後 pData が指す位置へ変換後データ
形式の型と同じ型で書き込んでください。
戻り値
fnConv 関数は、値を返しません。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
163
30. CallbackProc サンプリング終了時に呼び出されるコールバック関数です。AdSetBoardConfig 関数のパラメータ
の pEventProc に CallBackProc 関数へのポインタを設定することにより、サンプリング終了時に
CallBackProc 関数を呼び出すことができます。
void CallbackProc(
int uData /* ユーザ・データ */
);
パラメータ
uData AdSetBoardConfig 関数のパラメータ uData で指定したデータが渡されます。
戻り値
CallBackProc 関数は、値を返しません。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
164
31. AdFifoGetSamplingData アナログ入力デバイスから入力されたサンプリングデータとデジタルデータを取得します。
int AdFifoGetSamplingData(
int nDevice, /* デバイス番号 */
void* pSmplData, /* サンプリングデータへのポインタ */
void* pDiData, /* デジタルデータへのポインタ */
unsigned long* ulSmplNum /* サンプリングデータ件数へのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
pSmplData アナログ入力デバイスから取得するサンプリングデータを格納するためのバッファへのポイ
ンタを指定します。
pDiData アナログ入力デバイスから取得するデジタルデータを格納するためのバッファへのポインタ
を指定します。
ulSmplNum アナログ入力デバイスから取得するサンプリングデータ件数を格納している変数へのポイン
タを指定します。関数実行後、サンプリングデータ件数を ulSmplNum に格納します。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NULL_POINTER
・AD_ERROR_GET_DATA
GPG-3100 Help for Linux
© 2000 Interface Corporation.
165
備考
本関数は、FIFO 方式でサンプリングした場合にのみ使用できます。I/O 方式でサンプリングした
場合にはデジタルデータを取得することはできません。
本関数ではサンプリングバッファからデータを取得したら、取得したデータはサンプリングバッ
ファ内からクリアされます。
1 サンプリングデータあたりのサイズはデバイスの分解能により異なります。
分解能 サイズ(バイト) 型
8bit 1 unsigned char
12bit 2 unsigned short
16bit 2 unsigned short
24bit 4 unsigned long
本関数でのデジタルデータは unsigned char 型(8bit)になります。他の関数とサイズが異なる
のでご注意ください。
データ領域のサイズ[Bytes] = チャンネル数 × データ件数 × データサイズ(バイト)
例)サンプリングデータ
サンプリングチャンネル数 = 4 チャンネル
データ件数 = 100 件
12bitAD デバイスの場合
データ領域[Bytes] = 4[チャンネル] × 100[件] × 2[バイト] = 800 バイト
例)デジタルデータ
サンプリングチャンネル数 = 4 チャンネル
データ件数 = 100 件
データ領域[Bytes] = 4[チャンネル] × 100[件] × 1[バイト] = 400 バイト
対象デバイス
PCI-3153, CTP/CPZ-3167 でのみサポートしています。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
166
使用例
unsinged short SmplData[256];
unsinged short DiData[256];
unsigned long ulSmplNum;
int i,nRet;
ulSmplNum = 256;
nRet = AdFifoGetSamplingData( 1, &SmplData[0], &DiData[0], &ulSmplNum);
if (!nRet) {
for (i=0;i<ulSmplNum;i++) {
printf(" %04X %02X\n",SmplData[i], DiData[i]);
}
}
アナログ入力デバイス(デバイス番号=1) (分解能を 12bit と仮定)から入力した 256 件×3チャ
ンネル分のサンプリングデータ(各 2 バイト)をバッファ(SmplData)に、デジタルデータをバ
ッファ(DiData)に格納します。実際に取得したデータ件数が ulSmplNum に格納されます。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
167
5.3 関数個別説明(PCI-3179,CTP-3179、CPZ-3179 用)
1. AdLvSetSamplingConfig
アナログ入力デバイスのサンプリング条件を設定します。
int AdLvSetSamplingConfig(
int nDevice, /* デバイス番号 */
unsigned int ulChNo, /* サンプリングチャンネル */
unsigned long ulSmplNum, /* サンプリング件数 */
float fSmplFreq, /* サンプリング周波数 */
unsigned long ulRange, /* チャンネルレンジ*/
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulChNo サンプリングを行うチャンネルを指定します。指定できるチャンネルは 1つのみです。
ulSmplNum サンプリングを行う件数を指定します。
fSmplFreq サンプリング周波数を指定します。
設定できるサンプリング周波数は 50Hz、60Hz、250Hz、500Hz です。
ulRange サンプリングを行うチャンネルのレンジを指定します。
設定できるレンジは次の通りです。
識別子 値 内容
AD_0_0P125V 00000040h 電圧 ユニポーラ 0~0.125V
AD_0_1P25V 00000080h 電圧 ユニポーラ 0~1.25V
AD_0_0P156V 00000200h 電圧 ユニポーラ 0~0.156V
AD_0_0P625V 00000100h 電圧 ユニポーラ 0~0.625V
AD_0P125V 00400000h 電圧 バイポーラ ±0.125V
AD_1P25V 00800000h 電圧 バイポーラ ±1.25V
AD_0P156V 02000000h 電圧 バイポーラ ±0.156V
AD_0P625V 01000000h 電圧 バイポーラ ±0.625V
AD_1P25V_AC 04000000h 電圧 バイポーラ ±1.25V
AC カップリング機能搭載)
AD_0P156V_AC 10000000h 電圧 バイポーラ ±0.156V
(AC カップリング機能搭載)
AD_0P625V_AC 08000000h 電圧 バイポーラ ±0.625V
(AC カップリング機能搭載)
GPG-3100 Help for Linux
© 2000 Interface Corporation.
168
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_NOW_SAMPLING
・AD_ERROR_INVALID_PARAMETER
・AD_ERROR_NOT_ALLOCATE_MEMORY
備考
・サンプリング中に本関数を実行することはできません。
・本関数で設定するサンプリング条件はAdLvStartSampling関数によるサンプリングで使用しま
す。
・本関数でサンプリング条件を設定した後にAdSetSamplingConfig関数で同じチャンネルの設定
を変更した場合、レンジ、サンプリング周波数が変更されます。
・設定を変更しないADサンプリング構造体のメンバにはデフォルト値を設定して下さい。デフォ
ルト値は設定の変更を行う前にAdLvGetSamplingConfig関数により取得できます。
使用例
nRet = AdLvSetSamplingConfig( 1, 1, 1000, 50.0, AD_1P25V );
アナログ入力デバイス(デバイス番号=1)のサンプリング条件を以下の通り設定します。
チャンネル番号:1
サンプリング件数:1000 件
サンプリング周波数:50Hz
レンジ:±1.25V
コールバック関数:あり
GPG-3100 Help for Linux
© 2000 Interface Corporation.
169
2. AdLvGetSamplingConfig
アナログ入力デバイスの現在設定されているサンプリング条件を取得します。
int AdGetSamplingConfig(
int nDevice, /* デバイス番号 */
unsigned int ulChNo, /* チャンネル番号 */
unsigned long* ulSmplNum, /* サンプリング件数へのポインタ */
float* fSmplFreq, /* サンプリング周波数へのポインタ */
unsigned long* ulRange /* チャンネルレンジへのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulChNo サンプリング条件を取得するチャンネル番号を指定します。指定できるチャンネルは一つの
みです。
ulSmplNum サンプリングを行う件数を格納する変数へのポインタを指定します。
fSmplFreq サンプリング周波数を格納する変数へのポインタを指定します。
ulRange サンプリングを行うチャンネルのレンジを格納する変数へのポインタを指定します。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_NULL_POINTER
使用例
unsigned long ulSmplNum;
float fSmplFreq;
unsigned long ulRange;
nRet = AdLvGetSamplingConfig( 1, 1, &ulSmplNum, &fSmplFreq, &ulRange );
アナログ入力デバイス(デバイス番号=1)から各種サンプリング条件を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
170
3. AdLvCalibration
アナログ入力デバイスのオートキャリブレーション(較正)を行います。
int AdLvCalibration(
int nDevice, /* デバイス番号 */
unsigned long ulChNo, /* 較正するチャンネル番号 */
unsigned long ulCalibration /* 較正方法 */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulChNo 較正を行うチャンネルを指定します。指定できるチャンネルは一つのみです。
ulCalibration デバイスの較正方法を指定します。
識別子 値 内容
AD_SELF_CALIBRATION 1 AD コンバータ内で自己較正を行います。
AD_ZEROSCALE_CALIBRATION 2 外部より 0V を入力して較正を行います。
(システム較正)
AD_FULLSCALE_CALIBRATION 3 外部より指定したレンジのフルスケール電
圧を入力して較正を行います。(システム
較正)
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_INVALID_PARAMETER 備考
・AdLvSetSamplingConfig関数にてレンジ、サンプリング周波数を変更した場合には必ず本関数に
て較正を行って下さい。
・外部からの入力を使用して較正を行う場合、本関数実行時には必要な電圧が入力されている状
態になるようにして下さい。また、ゼロスケール、フルスケールの順番で両方の較正を行って
下さい。 使用例
自己較正の場合
nRet = AdLvCalibration( 1, 1, AD_SELF_CALIBRATION );
システム較正の場合
0V を入力してから実行
nRet = AdLvCalibration( 1, 1, AD_ZEROSCALE_CALIBRATION);
フルスケール電圧を入力してから実行
nRet = AdLvCalibration( 1, 1, AD_FULLSCALE_CALIBRATION);
アナログ入力デバイス(デバイス番号=1)のチャンネル 1の較正を行います。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
171
4. AdLvStartSampling
アナログ入力デバイスの連続サンプリングをスタートさせます。
int AdLvStartSampling(
int nDevice, /* デバイス番号 */
unsigned long ulChNo /* チャンネル番号 */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulChNo サンプリングを行うチャンネル番号を指定します。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_NOW_SAMPLING
・AD_ERROR_INVALID_PARAMETER
備考
・本関数を使用することによりチャンネル毎に異なる条件でサンプリングを開始することができ
ます。
・本関数で開始したサンプリングはAdLvStopSampling関数にて停止できます。AdStopSampling関
数で停止することはできません。
・本関数を実行する前には必ずAdLvSetSamplingConfig関数でサンプリング条件を設定して下さ
い。
・本関数は、常に非同期処理として実行されます。
使用例
nRet = AdLvStartSampling( 1, 1 );
アナログ入力デバイス(デバイス番号=1)のチャンネル 1で連続サンプリングを開始します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
172
5. AdLvStopSampling
AdLvStartSampling関数でスタートさせたアナログ入力デバイスの連続サンプリングを停止させま
す。
int AdLvStopSampling(
int nDevice /* デバイス番号 */
unsigned long ulChNo /* チャンネル番号 */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulChNo サンプリングを停止するチャンネル番号を指定してください。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_STOP_SAMPLING
・AD_ERROR_INVALID_PARAMETER
備考
・AdLvSetSamplingConfig関数において、ユーザ・コールバック関数を設定していた場合、本関数
の呼び出し後にユーザ・コールバック関数が実行されます。
・本関数ではAdStartSampling関数で開始したサンプリングを停止させることはできません。
使用例
nRet = AdLvStopSampling( 1, 1 );
アナログ入力デバイス(デバイス番号=1)に対して、即サンプリングの停止を行います。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
173
6. AdLvGetStatus
アナログ入力デバイスのサンプリング動作状態を取得します。
int AdLvGetStatus(
int nDevice, /* デバイス番号 */
unsigned long ulChNo, /* チャンネル番号 */
unsigned long* ulAdSmplstatus, /* サンプリング状態へのポインタ */
unsigned long* ulAdSmplCount, /* サンプリング済み件数へのポインタ */
unsigned long* ulAdAvailCount /* サンプリング残り件数へのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulChNo サンプリング状態を確認するチャンネル番号を指定して下さい。
ulAdSmplStatus AD サンプリング状態を格納する変数へのポインタを指定します。サンプリング状態は以下の
識別子のいずれかが格納されます。
識別子 値 状 態
AD_STATUS_STOP_SAMPLING 1 サンプリングは停止しています。
AD_STATUS_WAIT_TRIGGER 2 サンプリングはトリガ待ち状態です。
AD_STATUS_NOW_SAMPLING 3 サンプリング動作中です。
ulAdSmplCount
サンプリング済件数を格納する変数へのポインタを指定します。アナログ入力サンプリング
のサンプリング済み件数を格納します。
ulAdAvailCount
サンプリング残件数を格納する変数へのポインタを指定します。
アナログ入力サンプリングのサンプリングデータの残件数を格納します。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_INVALID_PARAMETER
・AD_ERROR_NULL_POINTER
GPG-3100 Help for Linux
© 2000 Interface Corporation.
174
備考
・AdLvStartSampling 関数にて開始したサンプリングの状態を取得することができます。
・AdStartSampling 関数にて開始したサンプリングの状態を取得することは出来ません。
使用例
unsigned long ulAdSmplStatus;
unsigned long ulAdSmplCount;
unsigned long ulAdAvailCount;
nRet = AdLvGetStatus( 1, 1, &ulAdSmplStatus, &ulAdSmplCount,&ulAdAvailCount );
アナログ入力デバイス(デバイス番号=1)に対して、現在のサンプリング状態を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
175
7. AdLvGetSamplingData
アナログ入力デバイスからAdLvStartSampling関数で入力されたサンプリングデータを取得します。
int AdLvGetSamplingData(
int nDevice, /* デバイス番号 */
unsigned long ulChNo, /* チャンネル番号 */
void* pSmplData, /* サンプリングデータへのポインタ */
unsigned long* ulSmplNum /* サンプリング件数へのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulChNo データを取得するチャンネル番号を指定します。
pSmplData アナログ入力デバイスから取得するサンプリングデータを格納するためのバッファへのポイ
ンタを指定します。
ulSmplNum アナログ入力デバイスから取得するサンプリングデータ件数が格納されている変数へのポイ
ンタを指定します。
希望する件数を指定して本関数を呼び出します。本関数呼び出し後、実際に取得したデータ
件数が格納されます。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_INVALID_PARAMETER
・AD_ERROR_NULL_POINTER
・AD_ERROR_GET_DATA
備考
本関数ではサンプリングバッファからデータを取得したら、取得したデータはサンプリングバッ
ファ内からクリアされます。
使用例
unsinged long pSmplData[256];
unsinged long ulSmplNum
ulSmplNum = 256;
nRet = AdLvGetSamplingData( 1, 1, pSmplData, &ulSmplNum);
アナログ入力デバイス(デバイス番号=1)のチャンネル 1から入力したサンプリングデータを 256
件分バッファ(pSmplData)に格納します。実際に取得したデータ件数が ulSmplNum に格納され
ます。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
176
8. AdMeasureTemperature
アナログ入力デバイスの I/O コネクタ付近の温度を取得します。
int AdMeasureTemperature(
int nDevice, /* デバイス番号 */
float* fTemperature /* 測定温度へのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
fTemperature 測定した温度(℃)を格納する変数へのポインタを指定します。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_NULL_POINTER
備考
温度は-55℃~150℃の間を 0.25℃単位で測定できます。周囲温度 0℃~50℃の範囲内でご使用下
さい。
使用例
float fTemperature;
nRet = AdMeasureTemperature( 1, &fTemperature );
アナログ入力デバイス(デバイス番号=1)の現在の I/O コネクタ付近の温度を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
177
5.4 関数個別説明(FIFO、バスマスタ系用)
1. AdBmSetSamplingConfig
アナログ入力デバイスのサンプリング条件の設定を行います。
int AdBmSetSamplingConfig(
int nDevice, /* デバイス番号 */
PADBMSMPLREQ pAdBmSmplConfig /* サンプリング構造体へのポインタ*/
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
pAdBmSmplConfig AD バスマスタサンプリング構造体(ADBMSMPLEQ 構造体)へのポインタを指定します。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOW_SAMPLING
・AD_ERROR_INVALID_PARAMETER
・AD_ERROR_NOT_ALLOCATE_MEMORY
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_NULL_POINTER
備考
・ 本関数をサンプリング中に実行した場合、次回のサンプリング開始時から有効になります。
・ 設定を変更しないADサンプリング構造体のメンバにはデフォルト値を設定して下さい。デフォ
ルト値は設定の変更を行う前にAdBmGetSamplingConfig関数により取得できます。
対象デバイス
以下に示している型式のみしようできます。
製品 カウンタ一致
トリガ
ステータス付
加
ulSmplEvent
Num
ポストトリガ
ディレイ
ulFastMode
倍速モード
PCI-3174 - ○ 2 のべき乗 1024 件単位 -
PCI-3175 - ○ 2 のべき乗 1024 件単位 -
PCI-3176 - ○ 2 のべき乗 1024 件単位 -
PCI-3525 - ○ 2 のべき乗 1024 件単位 -
PCI-320112 - ○ 2 のべき乗 1024 件単位 -
PCI-320412 ○ ○ 2 のべき乗 1024 件単位 -
PCI-320416 ○ ○ 2 のべき乗 1024 件単位 -
PCI-360112 ○ ○ 2 のべき乗 1024 件単位 -
PCI-360116 ○ ○ 2 のべき乗 1024 件単位 -
PCI-360216 ○ ○ 2 のべき乗 1024 件単位 -
PCI-321516 - ○ 2 のべき乗 1024 件単位 -
CTP/CPZ-3167 - - 1 件単位 1 件単位 -
CTP/CPZ-3174 - ○ 2 のべき乗 1024 件単位 -
CTP/CPZ-3175 - ○ 2 のべき乗 1024 件単位 -
GPG-3100 Help for Linux
© 2000 Interface Corporation.
178
CTP/CPZ-3182 - ○ 2 のべき乗 1024 件単位 -
CTP/CPZ-3183 - ○ 2 のべき乗 1024 件単位 -
CTP/CPZ-3525 - - 2 のべき乗 1024 件単位 ○
CTP/CPZ-320412 ○ ○ 2 のべき乗 1024 件単位 -
CTP/CPZ-320416 ○ ○ 2 のべき乗 1024 件単位 -
CTP/CPZ-360112 ○ ○ 2 のべき乗 1024 件単位 -
CTP/CPZ-360116 ○ ○ 2 のべき乗 1024 件単位 -
CBI-3133A - - 1 件単位 1 件単位 -
CBI-3133B - - 1 件単位 1 件単位 -
CBI-3134A - - 1 件単位 1 件単位 -
CBI-3134B - - 1 件単位 1 件単位 -
CSI/CBI-320212 - - 1 件単位 1 件単位 -
CBI-320212TR - - 1 件単位 1 件単位 -
CBI-320212TK - - 1 件単位 1 件単位 -
CBI-320212TL - - 1 件単位 1 件単位 -
CSI/CBI-320312 - - 1 件単位 1 件単位 -
CBI-320312TR - - 1 件単位 1 件単位 -
CBI-320312TK - - 1 件単位 1 件単位 -
CBI-320312TL - - 1 件単位 1 件単位 -
CSI/CBI-320412 ○ ○ 2 のべき乗 1024 件単位 -
CBI-320412TR ○ ○ 2 のべき乗 1024 件単位 -
CBI-320412TK ○ ○ 2 のべき乗 1024 件単位 -
CBI-320412TL ○ ○ 2 のべき乗 1024 件単位 -
CSI/CBI-320416 ○ ○ 2 のべき乗 1024 件単位 -
CBI-320416TR ○ ○ 2 のべき乗 1024 件単位 -
CBI-320416TK ○ ○ 2 のべき乗 1024 件単位 -
CBI-320416TL ○ ○ 2 のべき乗 1024 件単位 -
CSI/CBI-360112 ○ ○ 2 のべき乗 1024 件単位 -
CBI-360112TR ○ ○ 2 のべき乗 1024 件単位 -
CBI-360112TK ○ ○ 2 のべき乗 1024 件単位 -
CBI-360112TL ○ ○ 2 のべき乗 1024 件単位 -
CSI/CBI-360116 ○ ○ 2 のべき乗 1024 件単位 -
CBI-360116TR ○ ○ 2 のべき乗 1024 件単位 -
CBI-360116TK ○ ○ 2 のべき乗 1024 件単位 -
CBI-360116TL ○ ○ 2 のべき乗 1024 件単位 -
LPC-320724 ○ ○ 2 のべき乗 1024 件単位 -
LPC-321012 ○ ○ 2 のべき乗 1024 件単位 -
LPC-321116 ○ ○ 2 のべき乗 1024 件単位 -
LPC-321216 ○ ○ 2 のべき乗 1024 件単位 -
LPC-321316 ○ - 1 件単位 1 件単位 -
LPC-321416 ○ - 1 件単位 1 件単位 -
LPC-361116 ○ ○ 2 のべき乗 1024 件単位 -
LPC-361216 ○ ○ 2 のべき乗 1024 件単位 -
LPC-361316 ○ - 1 件単位 1 件単位 -
LPC-361416 ○ - 1 件単位 1 件単位 -
PEX-320724 ○ ○ 2 のべき乗 1024 件単位 -
PEX-321012 ○ ○ 2 のべき乗 1024 件単位 -
PEX-321116 ○ ○ 2 のべき乗 1024 件単位 -
PEX-321216 ○ ○ 2 のべき乗 1024 件単位 -
PEX-321316 ○ - 1 件単位 1 件単位 -
PEX-321416 ○ - 1 件単位 1 件単位 -
GPG-3100 Help for Linux
© 2000 Interface Corporation.
179
PEX-361116 ○ ○ 2 のべき乗 1024 件単位 -
PEX-361216 ○ ○ 2 のべき乗 1024 件単位 -
PEX-361316 ○ - 1 件単位 1 件単位 -
PEX-361416 ○ - 1 件単位 1 件単位 -
PEX-H3525 - ○ 2 のべき乗 1024 件単位 -
PEX-H360116 ○ ○ 2 のべき乗 1024 件単位 -
使用例
ADBMSMPLREQ BmSmplConfig;
int nRet;
nRet = AdBmGetSamplingConfig( 1, &BmSmplConfig);
BmSmplConfig.ulChCount = 4;
BmSmplConfig.SmplChReq[0].ulChNo = 1;
BmSmplConfig.SmplChReq[0].ulRange = AD_5V;
BmSmplConfig.SmplChReq[1].ulChNo = 2;
BmSmplConfig.SmplChReq[1].ulRange = AD_5V;
BmSmplConfig.SmplChReq[2].ulChNo = 3;
BmSmplConfig.SmplChReq[2].ulRange = AD_5V;
BmSmplConfig.SmplChReq[3].ulChNo = 4;
BmSmplConfig.SmplChReq[3].ulRange = AD_5V;
BmSmplConfig.ulSingleDiff = AD_INPUT_SINGLE;
BmSmplConfig.ulSmplNum = 1024;
BmSmplConfig.ulSmplEventNum = 0;
BmSmplConfig.fSmplFreq = 1000.0;
BmSmplConfig.ulFastMode = AD_NORMAL_MODE;
nRet = AdBmSetSamplingConfig( 1, &BmSmplConfig);
アナログ入力デバイス(デバイス番号=1)のサンプリング条件(4 チャンネルの設定)を設定しま
す。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
180
2. AdBmGetSamplingConfig
アナログ入力デバイスの現在設定されているサンプリング条件を取得します。
int AdBmGetSamplingConfig(
int nDevice, /* デバイス番号 */
PADBMSMPLREQ pAdBmSmplConfig /* サンプリング構造体へのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
pAdBmSmplConfig 現在の設定されているサンプリング条件を格納するためのADバスマスタサンプリング構造体
(ADBMSMPLREQ 構造体)へのポインタを指定します。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・ AD_ERROR_INVALID_DEVICENO
・ AD_ERROR_NOT_SUPPORTED
・ AD_ERROR_NULL_POINTER
備考
・ デバイスオープン直後に本関数を実行することにより AD バスマスタサンプリング構造体
(ADBMSMPLREQ 構造体)のデフォルトの設定値を取得することができます。
使用例
ADBMSMPLREQ SmplConfig;
int nRet;
nRet = AdBmGetSamplingConfig( 1, &SmplConfig );
if (!nRet) {
printf("Number of Samples:%d\n",SmplConfig.ulSmplNum );
printf("Sampling Rate:%f\n",SmplConfig.fSmplFreq );
}
アナログ入力デバイス(デバイス番号=1)からサンプリング件数、サンプリング周波数を取得し
ます。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
181
5.5 関数個別説明(バスマスタ系用)
1. AdBmGetSamplingData
アナログ入力デバイスから入力されたサンプリングデータを取得します。
int AdBmGetSamplingData(
int nDevice, /* デバイス番号 */
void* pBmSmplData, /* サンプリングデータへのポインタ */
unsigned long* ulBmSmplNum /* サンプリングデータ件数へのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
pBmSmplData アナログ入力デバイスから取得するサンプリングデータを格納する為のバッファへのポイン
タを指定します。
ulBmSmplNum アナログ入力デバイスから取得するサンプリングデータ件数が格納されている変数へポイン
タを指定します。希望する件数を指定して本関数を呼び出します。本関数呼出し後、実際に
取得したデータ件数が格納されています。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NULL_POINTER
・AD_ERROR_GET_DATA
・AD_ERROR_NOT_SUPPORTED
備考
・本関数ではサンプリングバッファからデータを取得したら、取得したデータはサンプリングバ
ッファ内からクリアされます。
・サンプリングステータス等の付加情報が必要なければ、バスマスタ方式のデバイスも
AdGetSamplingData関数でデータを取得することができます。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
182
使用例
unsinged short SmplData[256];
unsigned long ulSmplNum;
int i,nRet;
ulSmplNum = 256;
nRet = AdBmGetSamplingData( 1, SmplData, &ulSmplNum);
if (!nRet) {
printf("Sampling Data = :\n");
for (i=0;i<ulSmplNum;i++) {
printf(" %X",SmplData[i]);
if ( i % 10 == 0 ) printf("\n");
}
}
アナログ入力デバイス(デバイス番号=1)から入力されたサンプリングデータを 256 件分バッフ
ァ(SmplData)に格納します。実際に取得したデータ件数が ulSmplNum に格納されます。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
183
2. AdBmStartFileSampling
アナログ入力デバイスからのサンプリングデータをデータファイルに書き込みながら連続サンプ
リング入力を行います。
int AdBmStartFileSampling(
int nDevice, /* デバイス番号 */
char* szPathName, /* 保存するデータファイルへのポインタ */
unsigned long ulFileFlag /* データファイル形式 */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
szPathName
サンプリングしたデータを保存するデータファイルへのパスを指定します。 ulFileFlag
データファイルの形式を指定します。
フラグ 値 意味
FLAG_BIN 1 バイナリ形式でデータを書き込みます。
FLAG_CSV 2 CSV 形式(物理量)でデータを書き込みます。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_DEVICE
・AD_ERROR_NOW_SAMPLING
・AD_ERROR_INVALID_PARAMETER
・AD_ERROR_FILE_OPEN
・AD_ERROR_FILE_CLOSE
・AD_ERROR_FILE_WRITE
・AD_ERROR_NOT_SUPPORTED
備考
・ サンプリング条件は、AdSetSamplingConfig 関数、AdBmSetSamplingConfig 関数で設定されて
いる条件が使われます。
・ 本関数で指定できるトリガ条件は、トリガなし、スタートトリガ(ディレイなし)とスタート
トリガ+ポストトリガディレイのみです。その他の条件は無効となります。
・ サンプリングバッファにデータが残っている状態でファイルサンプリングを開始した場合に
は、ファイルサンプリング開始と同時にサンプリングバッファはクリアされます。
・ 既に存在しているファイル名を指定したときには上書き保存されます。
使用例
int nRet;
nRet = AdBmStartFileSampling( 1, "DATA.CSV" , FLAG_CSV );
デバイス番号 1 のアナログ入力デバイスからのサンプリングデータを、データファイル
'DATA.CSV'に CSV 形式として書き込みながら連続サンプリング入力を行います。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
184
3. AdSetInterval
インターバルタイマの設定を行います。
int AdSetInterval(
int nDevice, /* デバイス番号 */
unsigned long ulInterval /* インターバルタイマ周期設定 */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulInterval インターバルタイマの周期を指定します。
設定範囲は 0[μs]~16,777,215[μs](000000h~FFFFFFh)となります。(1μs単位)
周期に 0を指定した場合には、インターバルタイマが停止します。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。正常終
了した場合は、AD_ERROR_SUCCESSが返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_DEVICE
・AD_ERROR_INVALID_PARAMETER
・AD_ERROR_NOT_SUPPORTED
備考
・本関数で指定したインターバルタイマの周期は、サンプリング開始条件でインターバルタイマ
を選択したときに使用されます。
・指定した周期毎に、サンプリングが開始されます。
・開始条件にした場合は、AdStartSampling関数を実行してから指定した周期後にサンプリングを
開始します。
・終了条件にした場合は、AdStartSampling関数を実行してから指定した周期後にサンプリングを
終了させます。
使用例
int nRet;
nRet = AdOpen(1);
if(nRet) exit(1);
nRet = AdSetInterval(1, 1000);
アナログ入力デバイス(デバイス番号=1)のインターバルタイマを 1ms 周期に設定します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
185
4. AdGetInterval
インターバルタイマの設定を取得します。
int AdGetInterval(
int nDevice, /* デバイス番号 */
unsigned long *pulInterval /* インターバルタイマ周期設定へのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
pulInterval インターバルタイマの周期を取得する変数へのポインタを指定します。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。正常終
了した場合は、AD_ERROR_SUCCESSが返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_DEVICE
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_NULL_POINTER
使用例
int nRet;
unsigned long ulInterval;
nRet = AdOpen(1);
if(nRet) exit(1);
nRet = AdGetInterval(1, &ulInterval);
if(nRet == AD_ERROR_SUCCESS) printf(“Intervcal = %lu\n”, ulInterval);
アナログ入力デバイス(デバイス番号=1)のインターバルタイマ設定を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
186
5. AdSetFilter
アナログ入力デバイスのデジタルフィルタの設定を行います。
int AdSetFilter(
int nDevice, /* デバイス番号 */
unsigned long ulFilter /* デジタルフィルタ設定 */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulFilter デジタルフィルタ指定識別子のうちいずれか 1つを指定します。
デジタルフィルタは、下記の識別子で指定されます。
識別子 値 説明
AD_DF_8 0 オーバーサンプリングレート:8
AD_DF_16 1 オーバーサンプリングレート:16
AD_DF_32 2 オーバーサンプリングレート:32
AD_DF_64 3 オーバーサンプリングレート:64
AD_DF_128 4 オーバーサンプリングレート:128
AD_DF_256 5 オーバーサンプリングレート:256
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。正常終
了した場合は、AD_ERROR_SUCCESSが返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_DEVICE
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_INVALID_PARAMETER
備考
・本関数はサンプリング中に実行することはできません。
・オーバーサンプリングレートの詳細な説明については、製品のマニュアルを参照してください。
使用例
int nRet;
nRet = AdOpen(1);
if(nRet) exit(1);
nRet = AdSetFilter (1, AD_DF_256);
アナログ入力デバイス(デバイス番号=1)のオーバーサンプリングレートの設定を256に設定しま
す。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
187
6. AdGetFilter
アナログ入力デバイスのデジタルフィルタ設定を取得します。
int AdGetFilter(
int nDevice, /* デバイス番号 */
unsigned long *ulFilter /* デジタルフィルタ機能へのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulFilter デジタルフィルタ設定を取得する変数へのポインタを指定します。
デジタルフィルタは、下記の識別子で指定されます。
識別子 値 説明
AD_DF_8 0 オーバーサンプリングレート:8
AD_DF_16 1 オーバーサンプリングレート:16
AD_DF_32 2 オーバーサンプリングレート:32
AD_DF_64 3 オーバーサンプリングレート:64
AD_DF_128 4 オーバーサンプリングレート:128
AD_DF_256 5 オーバーサンプリングレート:256
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。正常終
了した場合は、AD_ERROR_SUCCESSが返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_DEVICE
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_NULL_POINTER
備考
・本関数は LPC-320724, PEX-320724 でのみ使用可能です。
・デフォルトはオーバーサンプリングレート:8(AD_DF_8)になります。
使用例
int nRet;
unsigned long ulFilter;
nRet = AdOpen( 1 );
if(nRet) exit(1);
nRet = AdGetFilter(1, &ulFilter);
アナログ入力デバイス(デバイス番号=1)のオーバーサンプリングレートの設定値を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
188
7. AdResetOverRangeCh
アナログ入力デバイスの過電圧入力時自動レンジ切換イベントのステータスをリセットします。
int AdResetOverRangeCh (
int nDevice /* デバイス番号 */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_SUPPORTED
備考
過電圧入力時自動レンジ切換イベントが発生した後、本関数を実行してイベントをリセットする
までは次のイベントが発生しません。
使用例
nRet = AdResetOverRangeCh ( 1 );
アナログ入力デバイス(デバイス番号=1)の過電圧入力時自動レンジ切換イベントをリセットし
ます。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
189
8. AdGetOverRangeChStatus
アナログ入力デバイスの過電圧入力時自動レンジ切換イベントのステータスを取得します。
int AdGetOverRangeChStatus(
int nDevice, /* デバイス番号 */
unsigned long* ulEventStatus /* イベント要因へのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulEventStatus 検出された状態を格納する変数へのポインタを指定します。
以下の識別子のいずれかが格納されます。
識別子 値 状 態
AD_STATUS_OVPM_NORMAL 0 設定したレンジの状態
AD_STATUS_OVPM_HIGH_RANGE 1 自動レンジ切り換え(±50V)の状態
AD_STATUS_OVPM_GND_RANGE 2 内部 GND 接続の状態
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_NULL_POINTER
使用例
unsigned long ulEventStatus[16];
nRet = AdGetOverRangeChStatus(1, &ulEventStatus);
アナログ入力デバイス(デバイス番号=1)に対して、過電圧入力時自動レンジ切換イベントのス
テータスを取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
190
9. AdStartSamplingEx
アナログ入力デバイスの連続サンプリングをスタートさせます。
(ユーザ空間のバッファへ直接転送を行います)
x86_64 では使用できません。x86 PAE 有効の環境(メモリ 4GB 以上)では使用できません。
AdStartSampling 関数を使用してください。
int AdStartSamplingEx(
int nDevice, /* デバイス番号 */
void *pBuffer /* バッファへのポインタ */
unsigned long BufferSize /* バッファサイズ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
pBuffer アナログ入力デバイスのサンプリングデータを格納するためのバッファへのポインタを指定
します。
BufferSize アナログ入力デバイスのサンプリングデータを格納するためのバッファサイズを指定します。
Byte 単位で設定してください。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_DEVICE
・AD_ERROR_NOW_SAMPLING
・AD_ERROR_INVALID_PARAMETER
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_NULL_POINTER
備考
・本関数はバスマスタ系のボードでのみ使用できます。
・PCI/CTP/CPZ-3525,LPC/PEX-320724 以外のデバイスではチャンネル数として偶数でのみ使用で
きます。
・PCI/CTP/CPZ-3525 の注意事項
通常モード使用時: 偶数チャンネルでのみ使用できます。
倍速モード使用時: 1 チャンネルでのみ使用できます。
倍速モードを使用する場合には、チャンネル 1のみを使用します。
実際のサンプリング周波数は AdSetSamplingConfig/AdBmSetSamplingConfig 関数で設定した周
波数の 2倍になります。
サンプリング件数、ディレイ件数は偶数件単位での指定になります。
設定できるイベント通知件数は、2のべき乗の 2倍の値になります。
・本関数は、プリトリガディレイ機能はサポートしておりません。
よって、AdSetSamplingConfig/AdBmSetSamplingConfig 関数でディレイとしてプリトリガを設
定しないください。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
191
・本関数は、ステータス付加機能はサポートしておりません。
よって、AdBmSetSampling 関数でステータス付加を設定しないください。
・サンプリング条件については、AdSetSamplingConfig/AdBmSetSamplingConfig 関数で設定する
必要があります。
本関数で、チャンネル数、サンプリング件数などの設定は行われません。
DMA バッファについては、サンプリング件数 × 繰り返し回数 × 1 件のデータサイズのバッフ
ァを用意するようにしてください。
もし、バッファサイズがたりない場合には、オーバーランエラーが発生しますのでサンプリン
グを行う件数だけのバッファを指定してください。
・AdSetBoardConfig 関数にてイベントの登録を行い非同期処理でサンプリングを行った場合、指
定したサンプリング件数×リピート回数の処理が終了したら、サンプリング終了のイベントを
発行します。
・本関数は非同期で処理を行います。
・サンプリング済件数、サンプリングステータスは、AdGetStatus 関数で確認を行います。
使用例
int nRet;
unsigned short AdData[100];
nRet = AdStartSamplingEx ( 1, &AdData[0], 100*sizeof(insigned short));
デバイス番号 1のアナログ入力デバイスの連続サンプリング入力を開始します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
192
5.6 関数個別説明(メモリ系用)
1. AdMemSetSamplingConfig
CSI/CBI-320110, CBI-320110TK, CBI-320110TL, CTP/CPZ-360810, LPC-320910, PEX-320910 のサ
ンプリング条件の設定を行います。
int AdMemSetSamplingConfig(
int nDevice, /* デバイス番号 */
PADMEMSMPLREQ pAdMemSmplConfig /* サンプリング構造体へのポインタ*/
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
pAdBmSmplConfig
AD メモリサンプリング構造体(ADMEMSMPLEQ 構造体)へのポインタを指定します。 戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_DEVICE
・AD_ERROR_NOW_SAMPLING
・AD_ERROR_INVALID_PARAMETER
・AD_ERROR_NOT_ALLOCATE_MEMORY
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_NULL_POINTER 備考
・ 本関数をサンプリング中に実行した場合、次回のサンプリング開始時から有効になります。
・ 設定を変更しないADメモリサンプリング構造体のメンバにはデフォルト値を設定して下さい。
デフォルト値は設定の変更を行う前に AdMemGetSamplingConfig 関数により取得できます。 使用例
ADMEMSMPLREQ AdMemSmplConfig;
nRet = AdMemGetSamplingConfig ( 1, &AdMemSmplConfig);
AdMemSmplConfig.ulChCount = 2;
AdMemSmplConfig.SmplChReq[0].ulChNo = 1;
AdMemSmplConfig.SmplChReq[0].ulRange = AD_10V;
AdMemSmplConfig.SmplChReq[1].ulChNo = 2;
AdMemSmplConfig.SmplChReq[1].ulRange = AD_10V;
AdMemSmplConfig.ulSingleDiff = AD_INPUT_SINGLE;
AdMemSmplConfig.fSmplFreq = 200000.0;
AdMemSmplConfig.ulStartMode = AD_FREERUN;
AdMemSmplConfig.ulStopMode = AD_EXTRG;
nRet = AdMemSetSamplingConfig( 1, &AdMemSmplConfig );
デバイス番号 1のアナログ入力デバイスのサンプリング条件(4チャンネルの設定)を設定します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
193
2. AdMemGetSamplingConfig
CSI/CBI-320110, CBI-320110TK, CBI-320110TL, CTP/CPZ-360810, LPC-320910, PEX-320910 の現
在設定されているサンプリング条件を取得します。
int AdMemGetSamplingConfig(
int nDevice, /* デバイス番号 */
PADMEMSMPLREQ pAdMemSmplConfig /* サンプリング構造体へのポインタ
*/
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
pAdMemSmplConfig 現在の設定されているサンプリング条件を格納するための AD メモリサンプリング構造体
(ADMEMSMPLREQ 構造体)へのポインタを指定します。
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・ AD_ERROR_INVALID_DEVICENO
・ AD_ERROR_NOT_DEVICE
・ AD_ERROR_NOT_SUPPORTED
・ AD_ERROR_NULL_POINTER
備考
・ デバイスオープン直後に本関数を実行することにより AD メモリサンプリング構造体
(ADMEMSMPLREQ 構造体)のデフォルトの設定値を取得することができます。
使用例
ADMEMSMPLREQ SmplConfig;
int nRet;
nRet = AdMemGetSamplingConfig( 1, &SmplConfig );
デバイス番号 1 のアナログ入力デバイスからサンプリング件数、サンプリング周波数を取得しま
す。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
194
3. AdMemSetDiPattern
アナログ入力デバイスの DI パターン一致条件を設定します。 int AdMemSetDiPattern (
int nDevice, /* デバイス番号へのポインタ */
unsigned long ulCh, /* チャンネル数 */
unsigned long* bPatternTrig /* DI パターン一致トリガへのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulCh
DI パターンを行うチャンネル数を指定します。
設定可能範囲は 1~8です。
必ず 1以上の値を指定してください。 ulPatternTrig
DI パターン一致トリガ設定時の条件設定変数へのポインタを指定します。
ulPattern[0]: DI1 ulPattern[1]: DI2
ulPattern[2]: DI3 ulPattern[3]: DI4
ulPattern[4]: DI5 ulPattern[5]: DI6
ulPattern[6]: DI7 ulPattern[7]: DI8
識別子 値 説明
AD_DISABLE 80000000h 設定なし(デフォルト)
AD_LOW_LEVEL 5 入力信号の状態が”0”(Low レベル)
AD_HIGH_LEVEL 6 入力信号の状態が”1”(High レベル)
AD_DOWN_EDGE 1 立ち下がりエッジ
AD_UP_EDGE 2 立ち上がりエッジ
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_DEVICE
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_INVALID_PARAMETER
・AD_ERROR_NULL_POINTER
使用例
unsigned long ulPatternTrig[2];
ulPatternTrig[0] = AD_LOW_LEVEL; // DI1
ulPatternTrig[1] = AD_UP_EDGE; // DI2
nRet = AdMemSetDiPattern( 1, 2, &ulPatternTrig[0] );
デバイス番号 1のアナログ入力デバイスの DI パターン一致条件を指定します。
DI1:Low レベル
DI2:立ち上がりエッジ
GPG-3100 Help for Linux
© 2000 Interface Corporation.
195
4. AdMemGetDiPattern
アナログ入力デバイスの DI パターン一致条件を取得します。
int AdMemGetDiPattern (
int nDevice, /* デバイス番号へのポインタ */
unsigned long* bPatternTrig /* DI パターン一致トリガへのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulPatternTrig DI パターン一致トリガ設定時の条件設定を取得する変数へのポインタを指定します。
ulPattern[0]: DI1 ulPattern[1]: DI2
ulPattern[2]: DI3 ulPattern[3]: DI4
ulPattern[4]: DI5 ulPattern[5]: DI6
ulPattern[6]: DI7 ulPattern[7]: DI8
識別子 値 説明
AD_DISABLE 80000000h 設定なし(デフォルト)
AD_LOW_LEVEL 5 入力信号の状態が”0”(Low レベル)
AD_HIGH_LEVEL 6 入力信号の状態が”1”(High レベル)
AD_DOWN_EDGE 1 立ち下がりエッジ
AD_UP_EDGE 2 立ち上がりエッジ
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。
正常終了した場合は、AD_ERROR_SUCCESS が返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_DEVICE
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_NULL_POINTER
備考
・ 本関数はサンプリング中に実行することはできません。
・ 本関数は、AdMemSetDiPattern関数のサンプリング終了条件をDIパタン一致(AD_STOP_DI_EQ)
に設定した場合に有効です。
・ 大 DI チャンネル数分の配列を用意してください。
使用例
unsigned long ulPatternTrig[8];
nRet = AdMemGetDiPattern ( 1, &ulPatternTrig[0] );
デバイス番号 1のアナログ入力デバイスの DI パタン一致条件を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
196
5.7 関数個別説明(制御信号用)
1. AdSetFunction
コネクタの機能設定を行います。
int AdSetFunction(
int nDevice, /* デバイス番号 */
unsigned int unCnNo, /* コネクタ番号 */
unsigned long ulFunction /* コネクタ機能設定 */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
unCnNo 機能設定を行うコネクタ番号を指定します。
指定の範囲は以下の通りです。
PCI-3525、CTP/CPZ-3525、PEX-H3525 の場合
3 または 4を指定します。
CTP/CPZ-360810 の場合
識別子 値 説明
AD_EX_DIO1 1 CN4
AD_EX_DIO2 2 CN5
AD_EX_DIO3 3 CN6 10pin
AD_EX_DIO4 4 CN6 11pin
AD_EX_DIO5 5 CN6 12pin
LPC/PEX-320724 の場合
識別子 値 説明
AD_EX_DIO1 1 CN3
ulFunction unCnNo で指定したコネクタの機能を指定します。
設定機能は、下記の識別子で指定されます。
PCI-3525、CTP/CPZ-3525、PEX-H3525 の場合
識別子 値 説明
AD_CN_FREE 0 コネクタ未使用
AD_CN_EXTRG_IN 1 外部トリガ入力
AD_CN_EXTRG_OUT 2 外部トリガ出力
AD_CN_EXCLK_IN 3 外部クロック入力
AD_CN_EXCLK_OUT 4 外部クロック出力
AD_CN_EXINT_IN 5 外部割り込み入力
AD_CN_ATRG_OUT 6 アナログトリガ出力
AD_CN_DI 7 汎用入力
AD_CN_DO 8 汎用出力
AD_CN_OPEN 10 オープン状態(CN4 のみ有効)
AD_CN_EXSMP1_OUT 11 外部サンプリング状態 1出力
GPG-3100 Help for Linux
AD_CN_EXSMP2_OUT 12 外部サンプリング状態 2出力
CTP/CPZ-360810 の場合
識別子 値 説明
AD_CN_FREE 0 コネクタ未使用
AD_CN_EXTRG_IN 1 外部トリガ入力
AD_CN_EXTRG_OUT 2 外部トリガ出力
AD_CN_EXCLK_IN 3 外部クロック入力
AD_CN_EXCLK_OUT 4 外部クロック出力
AD_CN_EXINT_IN 5 外部割り込み入力
AD_CN_ATRG_OUT 6 アナログトリガ出力
LPC/PEX-320724 の場合
識別子 値 説明
AD_CN_FREE 0 コネクタ未使用
AD_CN_EXTRG_IN 1 外部トリガ入力
AD_CN_EXCLK_IN 3 外部クロック入力
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。正常終
了した場合は、AD_ERROR_SUCCESSが返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_DEVICE
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_ INVALID _PARAMETER
・AD_ERROR_USED_DA
備考
PCI-3525, CTP/CPZ-3525、PEX-H3525 の場合
・汎用入出力の状態は以下のようになります。
CN3 で AD_CN_DI(AD_CN_DO)を設定した場合は IN1(OUT1)となります。
CN4 で AD_CN_DI(AD_CN_DO)を設定した場合は IN2(OUT2)となります。
・CN3 と CN4 では、両方同じデジタル信号に設定することはできません。
・デフォルトで CN3 は未使用(AD_CN_FREE)の状態になります。
・デフォルトで CN4 はオープン(AD_CN_OPEN)の状態になります。
・DA 側で出力中の場合には、本関数で CN4 の変更は行うことができません。
・外部サンプリング状態 1 出力は、スタートトリガ発行からストップトリガ検出までの状態を出
力します。
繰り返し回数設定時以下のようになります。
アナログトリガ or 外部トリガ
サンプリングクロック
サンプリング回数
サンプリング中
ソフトスタート
1 2 N 1 2 N
ソフトストップ
外部サンプリング状態 1 出力
© 2000 Interface Corporation.
197
GPG-3100 Help for Linux
・外部サンプリング状態 2 出力は、繰り返し回数設定時、スタートトリガ発行から繰り替えし回
数終了時までの状態を出力します。
繰り返し回数設定時以下のようになります。
アナログトリガ or 外部トリガ
サンプリングクロック
サンプリング回数
サンプリング中
ソフトスタート
1 2 N 1 2 N
ソフトストップ
外部サンプリング状態 2 出力
CTP/CPZ-360810 の場合
・デフォルトは未使用(AD_CN_FREE)の状態になります。
LPC/PEX-320724 の場合
・デフォルトは未使用(AD_CN_FREE)の状態になります。
使用例
int nRet;
nRet = AdOpen(1);
if(nRet) exit(1);
nRet = AdSetFunction(1, 3, AD_CN_EXTRG_IN);
アナログ入力デバイス(デバイス番号=1)の CN3 を EXTRG IN に設定します。
© 2000 Interface Corporation.
198
GPG-3100 Help for Linux
© 2000 Interface Corporation.
199
2. AdGetFunction
コネクタの機能設定を取得します。
int AdGetFunction(
int nDevice, /* デバイス番号 */
unsigned int unCnNo, /* コネクタ番号 */
unsigned long *pulFunction /* コネクタ機能へのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
unCnNo 機能設定を行うコネクタ番号を指定します。指定の範囲は以下の通りです。
PCI-3525、CTP/CPZ-3525、PEX-H3525 の場合
3 または 4を指定します。
CTP/CPZ-360810 の場合
識別子 値 説明
AD_EX_DIO1 1 CN4
AD_EX_DIO2 2 CN5
AD_EX_DIO3 3 CN6 10pin
AD_EX_DIO4 4 CN6 11pin
AD_EX_DIO5 5 CN6 12pin
LPC/PEX-320724 の場合
識別子 値 説明
AD_EX_DIO1 1 CN3
pulFunction unCnNo で指定したコネクタの機能を取得する変数へのポインタを指定します。
設定機能は、下記の識別子で指定されます。
PCI-3525、CTP/CPZ-3525、PEX-H3525 の場合
識別子 値 説明
AD_CN_FREE 0 コネクタ未使用
AD_CN_EXTRG_IN 1 外部トリガ入力
AD_CN_EXTRG_OUT 2 外部トリガ出力
AD_CN_EXCLK_IN 3 外部クロック入力
AD_CN_EXCLK_OUT 4 外部クロック出力
AD_CN_EXINT_IN 5 外部割り込み入力
AD_CN_ATRG_OUT 6 アナログトリガ出力
AD_CN_DI 7 汎用入力
AD_CN_DO 8 汎用出力
AD_CN_OPEN 10 オープン状態(CN4 のみ有効)
AD_CN_EXSMP1_OUT 11 外部サンプリング状態 1出力
AD_CN_EXSMP2_OUT 12 外部サンプリング状態 2出力
GPG-3100 Help for Linux
© 2000 Interface Corporation.
200
CTP/CPZ-360810 の場合
識別子 値 説明
AD_CN_FREE 0 コネクタ未使用
AD_CN_EXTRG_IN 1 外部トリガ入力
AD_CN_EXTRG_OUT 2 外部トリガ出力
AD_CN_EXCLK_IN 3 外部クロック入力
AD_CN_EXCLK_OUT 4 外部クロック出力
AD_CN_EXINT_IN 5 外部割り込み入力
AD_CN_ATRG_OUT 6 アナログトリガ出力
LPC/PEX-320724 の場合
識別子 値 説明
AD_CN_FREE 0 コネクタ未使用
AD_CN_EXTRG_IN 1 外部トリガ入力
AD_CN_EXCLK_IN 3 外部クロック入力
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。正常終
了した場合は、AD_ERROR_SUCCESSが返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_DEVICE
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_INVALID_PARAMETER
・AD_ERROR_USED_DA
・AD_ERROR_NULL_POINTER
GPG-3100 Help for Linux
© 2000 Interface Corporation.
201
備考
PCI-3525, CTP/CPZ-3525 の場合
・AdSetFunstion 関数で機能設定を行う前に、本関数を実行した場合にはデフォルト値を取
得します。
・CN3 のデフォルトは未使用(AD_CN_FREE)の状態になります。
・CN3 で DA 側でコネクタ設定を DA_CN_FREE 以外にしている場合には、設定を取得すること
はできず、戻り値にエラーが返されます。
・CN4 のデフォルトはオープン(AD_CN_OPEN)の状態になります。
・CN4 で DA 側で出力中の場合には、設定を取得することはできず、戻り値にエラーが返され
ます。
CTP/CPZ-360810 の場合
・デフォルトは未使用(AD_CN_FREE)の状態になります。
LPC/PEX-320724 の場合
・デフォルトは未使用(AD_CN_FREE)の状態になります。
使用例
int nRet;
unsigned long ulFunction;
nRet = AdOpen( 1 );
if(nRet) exit(1);
nRet = AdGetFunction(1, 3, &ulFunction);
アナログ入力デバイス(デバイス番号=1)の CN3 の設定値を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
202
3. AdSetOutMode
アナログ入力デバイスの外部出力信号制御設定を設定します。
int AdSetOutMode (
int nDevice, /* デバイス番号 */
unsigned long ulExTrgMode, /* 外部トリガ出力条件設定 */
unsigned long ulExClkMode /* 外部クロック出力設定 */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulExTrgMode 外部トリガ出力条件を外部トリガ出力条件指定識別子のうちいずれか 1つを指定します。
外部トリガ出力は、下記の識別子で指定されます。
識別子 値 説明
AD_DISABLE 80000000h 外部トリガ出力なし(デフォルト)
AD_TRIG_MODE 2 トリガタイミング
AD_BUSY_MODE 3 サンプリングステータス
AD_POST_MODE 4 ポストトリガタイミング
AD_SMP1_MODE 6 サンプリング状態 1出力
AD_SMP2_MODE 7 サンプリング状態 2出力
ulExClkMode 外部クロック出力条件を外部クロック出力条件指定識別子のうちいずれか1つを指定します。
外部クロック出力は、下記の識別子で指定されます。
識別子 値 説明
AD_DISABLE 80000000h 外部クロック出力なし(デフォルト)
AD_ENABLE 5 外部クロック出力有効
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。正常終
了した場合は、AD_ERROR_SUCCESSが返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_INVALID_PARAMETER
・AD_ERROR_NOT_SUPPORTED
GPG-3100 Help for Linux
© 2000 Interface Corporation.
203
対象デバイス
外部トリガ出力 型式 外部クロック出力
AD_TRIG_MODE AD_BUSY_MODE
AD_POST_MODE
AD_SMP1_MODE
AD_SMP2_MODE
PCI-362816 ○ ○ - -
CTP/CPZ-360810 ○ ○ ○ -
CBI/CSI-320110 ○ ○ ○ -
CBI-320110TK ○ ○ ○ -
CBI-320110TL ○ ○ ○ -
CBI-360116 ○ ○ - -
CBI-360116TR ○ ○ - -
CBI-360116TK ○ ○ - -
CBI-360116TL ○ ○ - -
LPC-320910 ○ ○ ○ -
LPC-321012 ○ - - ○
LPC-321116 ○ ○ - -
LPC-321216 ○ ○ - -
LPC-321316 ○ ○ - -
LPC-321416 ○ ○ - -
LPC-361116 ○ ○ - -
LPC-361216 ○ ○ - -
LPC-361316 ○ ○ - -
LPC-361416 ○ ○ - -
PEX-320910 ○ ○ ○ -
PEX-321012 ○ - - ○
PEX-321116 ○ ○ - -
PEX-321216 ○ ○ - -
PEX-321316 ○ ○ - -
PEX-321416 ○ ○ - -
PEX-361116 ○ ○ - -
PEX-361216 ○ ○ - -
PEX-361316 ○ ○ - -
PEX-361416 ○ ○ - -
使用例
int nRet;
nRet = AdSetOutMode (1, AD_TRIG_MODE, AD_ENABLE);
アナログ入力デバイス(デバイス番号=1)の外部出力信号を以下の設定に行います。
外部トリガ出力:トリガタイミング
外部クロック出力:有効
GPG-3100 Help for Linux
© 2000 Interface Corporation.
204
4. AdGetOutMode
アナログ入力デバイスの外部出力信号制御設定を取得します。
int AdGetOutMode (
int nDevice, /* デバイス番号 */
unsigned long *ulExTrgMode, /* 外部トリガ出力条件へのポインタ */
unsigned long *ulExTrgMode /* 外部クロック出力条件へのポインタ */
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulExTrgMode 外部トリガ出力条件を取得する変数へのポインタを指定します。
識別子 値 説明
AD_DISABLE 80000000h 外部トリガ出力なし(デフォルト)
AD_TRIG_MODE 2 トリガタイミング
AD_BUSY_MODE 3 サンプリングステータス
AD_POST_MODE 4 ポストトリガタイミング
AD_SMP1_MODE 6 サンプリング状態 1出力
AD_SMP2_MODE 7 サンプリング状態 2出力
ulExTrgMode 外部クロック出力条件を取得する変数へのポインタを指定します。
外部クロック出力は、下記の識別子で指定されます。
識別子 値 説明
AD_DISABLE 80000000h 外部クロック出力なし(デフォルト)
AD_ENABLE 5 外部クロック出力有効
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。正常終
了した場合は、AD_ERROR_SUCCESSが返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_NOT_SUPPORTED
・AD_ERROR_NULL_POINTER
対象デバイス
外部トリガ出力 型式 外部クロック出力
AD_TRIG_MODE AD_BUSY_MODE
AD_POST_MODE
AD_SMP1_MODE
AD_SMP2_MODE
PCI-362816 ○ ○ - -
CTP/CPZ-360810 ○ ○ ○ -
CBI/CSI-320110 ○ ○ ○ -
CBI-320110TK ○ ○ ○ -
CBI-320110TL ○ ○ ○ -
CBI-360116 ○ ○ - -
CBI-360116TR ○ ○ - -
CBI-360116TK ○ ○ - -
CBI-360116TL ○ ○ - -
GPG-3100 Help for Linux
© 2000 Interface Corporation.
205
LPC-320910 ○ ○ ○ -
LPC-321012 ○ - - ○
LPC-321116 ○ ○ - -
LPC-321216 ○ ○ - -
LPC-321316 ○ ○ - -
LPC-321416 ○ ○ - -
LPC-361116 ○ ○ - -
LPC-361216 ○ ○ - -
LPC-361316 ○ ○ - -
LPC-361416 ○ ○ - -
PEX-320910 ○ ○ ○ -
PEX-321012 ○ - - ○
PEX-321116 ○ ○ - -
PEX-321216 ○ ○ - -
PEX-321316 ○ ○ - -
PEX-321416 ○ ○ - -
PEX-361116 ○ ○ - -
PEX-361216 ○ ○ - -
PEX-361316 ○ ○ - -
PEX-361416 ○ ○ - -
使用例
int nRet;
unsigned long ulExTrgMode, ulExClkMode;
nRet = AdGetOutMode( 1, &ulExTrgMode, &ulExClkMode);
アナログ入力デバイス(デバイス番号=1)の外部出力制御設定を取得します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
206
5. AdOutputSync
アナログ入力デバイスの内部同期制御を設定します。
int AdOutputSync (
int nDevice,
int Line,
unsigned long TrgMode
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
Line
内部同期出力を行う信号を指定します。
指定可能な識別子は下記のものから選択します。
識別子 値 内容
AD_SYNC_NUM_1 0100h 内部同期ライン 1
AD_SYNC_NUM_2 0200h 内部同期ライン 2
TrgMode
内部同期トリガ出力条件を指定識別子のうちいずれか 1つを指定します。
内部同期トリガ出力は、下記の識別子で指定されます。
識別子 値 説明
AD_DISABLE 80000000h 同期出力なし(デフォルト)
AD_ATRIG_MODE 8 アナログトリガ
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。正常終
了した場合は、AD_ERROR_SUCCESSが返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_ILLEGAL_PARAMETER
・AD_ERROR_NOT_SUPPORTED
備考
・本関数は PCI-321516 でのみ使用可能です。
・アナログトリガ指定時のアナログトリガ条件については、AdBmSetSamplingConfig 関数でメン
バの ulATrgMode で発生条件を指定します。
対象デバイス
型式における指定可能な値の一覧を示します。
型式 Line TrgMode
PCI-321516 AD_SYNC_NUM_1
AD_SYNC_NUM_2
AD_DISABLE
AD_ATRIG_MODE
使用例
int nRet;
nRet = AdOutputSync(1, AD_SYNC_NUM_1, AD_ATRIG_MODE);
アナログ入力デバイス(デバイス番号=1)の内部同期トリガ 1からアナログトリガ出力を行いま
す。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
207
5.8 関数個別説明(調整用)
1. AdCalibration
アナログ入力デバイスのオートキャリブレーションを実行します。
int AdCalibration (
int nDevice,
unsigned long ulChannel,
unsigned long ulRange
unsigned long ulSingleDiff
);
パラメータ
nDevice AdOpen 関数でオープンしたデバイス番号を指定してください。
ulChannel 調整を行うチャンネルを指定します。
ulRange 調整を行うレンジを指定します。
指定可能な識別子は下記のものから選択します。
識別子 値 説明
AD_0_1V 00000001h 電圧 ユニポーラ 0~1V
AD_0_2P5V 00000002h 電圧 ユニポーラ 0~2.5V
AD_0_5V 00000004h 電圧 ユニポーラ 0~5V
AD_0_10V 00000008h 電圧 ユニポーラ 0~10V
AD_1_5V 00000010h 電圧 ユニポーラ 1~5V
AD_0_2V 00000020h 電圧 ユニポーラ 0~2V
AD_0_0P125V 00000040h 電圧 ユニポーラ 0~0.125V
AD_0_1P25V 00000080h 電圧 ユニポーラ 0~1.25V
AD_0_0P625V 00000100h 電圧 ユニポーラ 0~0.625V
AD_0_0P156V 00000200h 電圧 ユニポーラ 0~0.156V
AD_0_20mA 00001000h 電流 ユニポーラ 0~20mA
AD_4_20mA 00002000h 電流 ユニポーラ 4~20mA
AD_20mA 00004000h 電流 バイポーラ ±20mA
AD_1V 00010000h 電圧 バイポーラ ±1V
AD_2P5V 00020000h 電圧 バイポーラ ±2.5V
AD_5V 00040000h 電圧 バイポーラ ±5V
AD_10V 00080000h 電圧 バイポーラ ±10V
AD_20V 00100000h 電圧 バイポーラ ±20V
AD_50V 00200000h 電圧 バイポーラ ±50V
AD_0P125V 00400000h 電圧 バイポーラ ±0.125V
AD_1P25V 00800000h 電圧 バイポーラ ±1.25V
AD_0P625V 01000000h 電圧 バイポーラ ±0.625V
AD_0P156V 02000000h 電圧 バイポーラ ±0.156V
AD_1P25V_AC 04000000h 電圧 バイポーラ ±1.25V
(AC カップリング機能搭載)
AD_0P625V_AC 08000000h 電圧 バイポーラ ±0.625V
(AC カップリング機能搭載)
GPG-3100 Help for Linux
© 2000 Interface Corporation.
208
AD_0P156V_AC 10000000h 電圧 バイポーラ ±0.156V
(AC カップリング機能搭載)
AD_GND 80000000h 内部 GND 接続
ulSingleDiff 入力仕様(シングルエンドまたは差動)を指定します。
下記識別子を指定します。
識別子 値 内容
AD_INPUT_SINGLE 1 シングルエンド入力
AD_INPUT_DIFF 2 差動入力
戻り値
この関数では下記の戻り値が返されます。詳細は『5.4 戻り値一覧』をご参照ください。正常終
了した場合は、AD_ERROR_SUCCESSが返されます。
・AD_ERROR_INVALID_DEVICENO
・AD_ERROR_ILLEGAL_PARAMETER
・AD_ERROR_NOT_SUPPORTED
使用例
int nRet;
nRet = AdCalibration (1, 1, AD_10V, AD_INPUT_SINGLE);
アナログ入力デバイス(デバイス番号=1)のチャンネル 1 の±10V レンジ、シングルエンド入力
のオートキャリブレーションを行います。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
209
5.9 構造体
5.9.1 ●ADSMPLREQ 構造体
サンプリング条件設定関数(AdSetSamplingConfig 関数)、データ変換関数(AdDataConv 関数)で指
定するサンプリング時の条件を設定する構造体です。
typedef struct {
unsigned long ulChCount;
ADSMPLCHREQ SmplChReq[256];
unsigned long ulSamplingMode;
unsigned long ulSingleDiff;
unsigned long ulSmplNum;
unsigned long ulSmplEventNum;
float fSmplFreq;
unsigned long ulTrigPoint;
unsigned long ulTrigMode;
long lTrigDelay;
unsigned long ulTrigCh;
float fTriglevel1;
float fTriglevel2;
unsigned long ulEClkEdge;
unsigned long ulAtrgPulse;
unsigned long ulTrigEdge;
unsigned long ulTrigDI;
unsigned long ulFastMode;
} ADSMPLREQ, *PADSMPLREQ;
メンバ 説明
ulChCount サンプリングを行うチャンネルの数を 1 からデバイスが提供する 大チャ
ンネル数の範囲で指定します。サンプリングを行うチャンネル番号は
ADSMPLCHREQ 構造体の ulChNo メンバで指定します。
・デフォルト:1
SmplChReq 各チャンネル毎のサンプリング条件を設定する ADSMPLCHREQ 構造体です。
サンプリング方式を指定します。
ulSamplingMode は、サンプリング指定識別子のいずれかを指定します。
識別子 値 内容
AD_IO_SAMPLING 1 I/O 方式
AD_FIFO_SAMPLING 2 FIFO 方式
AD_MEM_SAMPLING 4 メモリ方式
AD_BM_SAMPLING 8 バスマスタ方式
ulSamplingMode
・デフォルト:使用するデバイスにより異なります。デフォルト値はデバ
イスオープン直後にAdGetSamplingConfig関数を実行することにより取得
できます。
入力仕様を指定します。
識別子 値 内容
AD_INPUT_SINGLE 1 シングルエンド入力
ulSingleDiff
AD_INPUT_DIFF 2 差動入力
GPG-3100 Help for Linux
© 2000 Interface Corporation.
210
・デフォルト:使用するデバイスにより異なります。(デフォルトはデバイ
スオープン直後にAdGetSamplingConfig関数を実行することにより取得で
きます。)
ulSmplNum サンプリングするデータの個数を PC 上で確保できるメモリ領域の範囲で
指定します。
・デフォルト:1024
ulSmplEventNum 通知サンプリング件数を指定します。
サンプリング済み件数が本メンバで指定した件数に達するたびにイベント
が通知されます。
・デフォルト:0
※FIFO 方式、メモリ方式、バスマスタ方式では設定できる値に制限があり
ます。
fSmplFreq サンプリング周波数を 0.01f からデバイスが提供する 大サンプリング周
波数の範囲で、Hz を単位として設定します。
外部クロックを使用する場合は、0.0f を指定してください。
※メモリ方式については、外部クロック(fSmplFreq=0.0f)を指定した場合
CN4 の設定は「EXCLK IN」となり、内部クロック(fSmplFreq=0.0f 以外)
を使用する場合には CN4 の設定は「EXCLK OUT」となります。
ただし、内部クロックを使用する場合で、外部クロックの極性を外部トリ
ガ入力(ulClkEdge=AD_EXCLK_IN)にした場合には、CN4 は「EXCLK IN」に
なります。
・デフォルト:使用するデバイスにより異なります。デフォルト値はデバ
イスオープン直後にAdGetSamplingConfig関数を実行することにより取得
できます。
トリガポイントを指定します。
ulTrigPoint は、トリガポイント指定識別子のいずれか 1つを指定します。
識別子 値 内容
AD_TRIG_START 1 スタートトリガ
(デフォルト)
AD_TRIG_STOP 2 ストップトリガ
ulTrigPoint
AD_TRIG_START_STOP 3 スタートストップトリガ
トリガを指定します。
ulTrigMode は、トリガ指定識別子のいずれか 1つを指定します。
識別子 値 内容
AD_FREERUN 1 トリガなし
(デフォルト)
AD_EXTTRG 2 外部トリガ
AD_EXTTRG_DI 3 外部+DI トリガ
AD_LEVEL_P 4 レベルトリガプラス
AD_LEVEL_M 5 レベルトリガマイナス
AD_LEVEL_D 6 レベルトリガデュアル
AD_INRANGE 7 レベルトリガインレンジ
AD_OUTRANGE 8 レベルトリガアウトレンジ
AD_ETERNITY 9 無限サンプリング(※1)
以下は FIFO 方式,バスマスタ方式でスタートストップトリガを使用する場合
にのみ指定可能です。(※2)
ulTrigMode
スタートトリガ
GPG-3100 Help for Linux
© 2000 Interface Corporation.
211
識別子 値 内容
AD_START_P1 00000010h レベル1立ち上がり
AD_START_M1 00000020h レベル1立ち下がり
AD_START_D1 00000040h レベル1立ち上がりまた
は立ち下がり
AD_START_P2 00000080h レベル2立ち上がり
AD_START_M2 00000100h レベル2立ち下がり
AD_START_D2 00000200h レベル2立ち上がりまた
は立ち下がり
ストップトリガ
識別子 値 内容
AD_STOP_P1 00000400h レベル1立ち上がり
AD_STOP_M1 00000800h レベル1立ち下がり
AD_STOP_D1 00001000h レベル1立ち上がりまた
は立ち下がり
AD_STOP_P2 00002000h レベル2立ち上がり
AD_STOP_M2 00004000h レベル2立ち下がり
AD_STOP_D2 00008000h レベル2立ち上がりまた
は立ち下がり
フィルタ(PCI-3153、PCI-3155)
識別子 値 内容
AD_ANALOG_FILTER 00010000h アナログトリガフィルタ
を使用する(※3)
メモリ方式については、外部トリガ(ulTrigMode=AD_EXTTRG)を指定した場
合 CN3 の設定は「EXTRG IN」となります。
トリガなし( ulTrigMode=AD_FREERUN )もしくは無限サンプリング
(ulTrigMode=AD_ETERNITY)の場合には CN3 の設定は「EXTRG OUT」となりま
す。
ただし、トリガなし(ulTrigMode=AD_FREERUN)もしくは無限サンプリング
(ulTrigMode=AD_ETERNITY)で、外部トリガの極性を外部トリガ入力
(ulETrgEdge=AD_EXTRG_IN)とした場合には、CN3 は「EXTRG IN」になりま
す。
トリガディレイをサンプルの個数を単位として指定します。
ulTrigMode でトリガが設定されている場合に有効です。lTrigDelay に設定す
る値は次のようになります。
プリトリガディレイ -1 ~ -1073741824
ポストトリガディレイ 1 ~ 1073741824
lTrigDelay
デフォルト:0
ulTrigCh トリガ判定を行うチャンネル番号を指定します。
ulTrigMode に、レベルトリガが指定されている場合に有効です。
ulTrigCh に設定されるチャンネルは、ADSMPLCHREQ 構造体で指定されていな
ければなりません。
・デフォルト:1
GPG-3100 Help for Linux
© 2000 Interface Corporation.
212
トリガレベル 1,2 を指定します。ulTrigMode にレベルトリガが指定されてい
るときに有効です。指定する値は、入力レンジが電圧であれば[V]を、電流
であれば[mA]を単位として指定します。
また、fTriglevel1,fTriglevel2 の値は、ADSMPLCHREQ 構造体で指定したレン
ジの範囲内でなければなりません。fTriglevel1 と fTriglevel2 の関係は次
のようになります。
・デフォルト:0.0[V]
レベルトリガ TrigLevel1 TrigLevel2
プラス/マイナス/デュアル トリガとするレベ
ル
無効
アウトレンジトリガ トリガ範囲の下限
レベル
トリガ範囲の上限レベル
インレンジトリガ トリガ範囲の下限
レベル
トリガ範囲の上限レベル
fTriglevel1
fTriglevel2
スタートストップトリガで
レベルトリガを使用する場
合(FIFO 方式、バスマスタ方
式のみ)
トリガとするレベ
ル
トリガとするレベル
外部クロック入力のエッジ極性を極性指定識別子のうちいずれか 1 つを指定
します。fSmplFreq に 0.0f(外部クロック)が指定されている場合に有効で
す。
極性指定識別子は以下の通りです。
識別子 値 内容
AD_DOWN_EDGE 1 立ち下がりエッジ(デフォルト)
AD_UP_EDGE 2 立ち上がりエッジ
また、メモリ方式デバイスでは次の識別子を指定することにより、CN4 を
「EXCLK IN」に切り替えることができます。
識別子 値 内容
ulEClkEdge
AD_EXCLK_IN 4 外部クロック入力
アナログトリガ出力のパルス極性をパルス極性指定識別子のうちいずれか 1
つを指定します。アナログトリガ出力機能があるデバイスの場合に有効です。
パルス極性指定識別子は以下の通りです。
識別子 値 内容
AD_LOW_PULSE 1 LOW パルス(デフォルト)
ulATrgPulse
AD_HIGH_PULSE 2 HIGH パルス
外部トリガの極性を極性指定識別子のうちいずれか 1 つを指定します。
ulTrigMode に外部トリガまたは DI マスク付き外部トリガが指定されている
場合に有効です。
極性指定識別子は以下の通りです。
識別子 値 内容
AD_DOWN_EDGE 1 立ち下がりエッジ(デフォルト)
AD_UP_EDGE 2 立ち上がりエッジ
また、メモリ方式デバイスでは次の識別子を指定することにより、CN3 を
「EXTRG IN」に切り替えることができます。
識別子 値 内容
ulTrigEdge
AD_EXTRG_IN 3 外部トリガ入力
ulTrigDI 汎用デジタル入力端子による外部トリガのマスクを指定します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
213
ulTrigDI の 16bit のうちいずれか 1bit を 1 にセットします。
1 にセットされている bit に対応した汎用デジタル入力端子の状態が Low レ
ベルになっている間、外部トリガ入力が有効となります。
1 をセットする bit の位置は、使用するデバイスが持っている汎用デジタル
入力端子の数に注意してください。
ulTrigMode に DI マスク付き外部トリガが指定されている場合に有効です。
ulTrigDI の形式は、デジタル入力データの形式と同じ形式です。
「4.2 データ形式」参照
・デフォルト:1
倍速モードの指定をします。(メモリ方式とバスマスタ方式の倍速モード対
応デバイスのみ)
識別子 値 内容
AD_NORMAL_MODE 1 通常モードで使用する(デフォル
ト)
ulFastMode
AD_FAST_MODE 2 倍速モードで使用する
※1 AD_ETERNITY(無限サンプリング)に設定した場合には、ulSmplNum で指定した件数分の大き
さのリングバッファで AdStopSampling 関数が実行されるまで繰り返しサンプリングが行われ
ます。
FIFO 方式サンプリング時は、サンプリング件数(ulSmplNum)×チャンネル数(ulChCount)
が FIFO 容量(32k 件)より大きくなるように、サンプリング件数とチャンネル数を設定して
下さい。
※2 FIFO 方式または、バスマスタ方式で、サンプリング時のスタートストップトリガでレベルト
リガを使用する時に指定します。以下のように指定します。
例1 スタートトリガにレベル1立ち上がり、ストップトリガにレベル2立ち下がりを使用す
る場合
ulTrigMode = AD_START_P1 + AD_STOP_M2;
例 2 スタートトリガにレベル1立ち上がりとレベル2立ち下がり、ストップトリガにレベル
1立ち下がり、アナログトリガフィルタを使用
ulTrigMode = AD_START_P1 + AD_START_M2 + AD_STOP_M1 +AD_ANALOG_FILTER;
各識別子を+演算子で繋げます。複数の識別子を指定する事ができます。
必ずスタートとストップの両方を指定して下さい。
※3 アナログトリガフィルタを使用した場合には、トリガ発生までに1μsの遅延が生じます。ご
使用の環境でアナログトリガが誤動作するようでしたら、フィルタを使用して下さい。1kHz
以下の正弦波を入力する場合にはフィルタの使用を推奨します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
214
5.9.2 ●ADBMSMPLREQ 構造体
サンプリング条件設定関数(AdBmSetSamplingConfig関数)で指定するサンプリング時の条件を設定
する構造体です。
typedef struct {
unsigned long ulChCount;
ADSMPLCHREQ SmplChReq[256];
unsigned long ulSingleDiff;
unsigned long ulSmplNum;
unsigned long ulSmplEventNum;
unsigned long ulSmplRepeat;
unsigned long ulBufferMode;
float fSmplFreq;
float fScanFreq;
unsigned long ulStartMode;
unsigned long ulStopMode;
unsigned long ulPreTrigDelay;
unsigned long ulPostTrigDelay;
ADTRIGCHREQ TrigChReq[2];
unsigned long ulATrgMode;
unsigned long ulATrgPulse;
unsigned long ulStartTrigEdge;
unsigned long ulStopTrigEdge;
unsigned long ulTrigDI;
unsigned long ulEClkEdge;
unsigned long ulFastMode;
unsigned long ulStatusMode;
unsigned long ulErrCtrl;
} ADBMSMPLREQ, *PADBMSMPLREQ;
メンバ 説明
ulChCount サンプリングを行うチャンネルの数を 1 からデバイスが提供する 大チャン
ネル数の範囲で指定します。サンプリングを行うチャンネル番号は
ADSMPLCHREQ 構造体の ulChNo メンバで指定します。(※4)
・デフォルト:1
SmplChReq 各チャンネル毎のサンプリング条件を設定する ADSMPLCHREQ 構造体です。
入力仕様を指定します。
UlSingleDiff は、入力仕様指定識別子のいずれか1つを指定します。
識別子 値 内容
AD_INPUT_SINGLE 1 シングルエンド入力
AD_INPUT_DIFF 2 差動入力
ulSingleDiff
・デフォルト:使用するデバイスにより異なります。デフォルト値はデバイス
オープン直後にAdBmSetSamplingConfig関数を実行することにより取得できま
す。
ulSmplNum サンプリングするデータの個数を PC 上で確保できるメモリ領域の範囲で指定
します。(※5)
・デフォルト:1024
GPG-3100 Help for Linux
© 2000 Interface Corporation.
215
ulSmplEventNum 通知サンプリング件数を指定します。
サンプリング済み件数が本メンバで指定した件数に達するたびにイベント
が通知されます。
・デフォルト:0
ulSmplRepeat サンプリング繰り返し回数を 1~65,535 の範囲で指定します。(※6)(※12)
ulStartMode で指定した開始条件、ulStopMode で指定した終了条件でのサン
プリングを ulSmplRepeat で指定した回数だけ繰り返します。
バスマスタ方式では、0 を指定すると AdStopSampling 関数が実行されるま
で、またはサンプリングデータ領域がフルになるまでサンプリングを停止し
ません。
・デフォルト:1
繰り返しサンプリング時における、ドライバ内のサンプリング入力バッファ
へのサンプリングデータの保存方法を指定します。(※7)
ulBufferMode は、サンプリングデータ保存方法指定識別子のいずれか 1 つ
を指定します。
識別子 値 内容
AD_APPEND 1 追加保存(デフォルト)
ulBufferMode
AD_OVERWRITE 2 上書き保存
サンプリング周波数を 0.48f からデバイスが提供する 大サンプリング周
波数の範囲で、Hz を単位として設定します。(※4)
外部クロックを使用する場合は、0.0f を指定してください。
外部クロック用の端子は使用するデバイスにより異なりますので使用上の
注意事項を参照して下さい。
PCI-3525, CTP/CPZ-3525, PEX-H3525
外部クロックを使用する場合には、AdSetFunction 関数で CN3 か CN4 のどれ
かを EXCLK_IN 端子に変更する必要があります。
LPC/PEX-320724
外部クロックを使用する場合には、AdSetFunction 関数で CN3 を EXCLK_IN
端子に変更する必要があります。
PCI-321516
外部クロックは使用できません。
カウンタアップダウンクロックを使用する場合は、-1 を指定してください。
(※14)
内部同期ラインを使用する場合には、下記を指定してください。
PCI-321516 でのみ使用できます。
内容 値
内部同期トリガ 1 -1
内部同期トリガ 2 -2
fSmplFreq
・デフォルト:使用するデバイスにより異なります。デフォルト値はデバイ
スオープン直後に AdBmGetSamplingConfig 関数を実行することにより取得
できます。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
216
fScanFreq チャンネル切り替え時のスキャンクロック周波数を 0.48f からデバイスが
提供する 大スキャンクロック周波数の範囲で、Hz を単位として設定しま
す。(※4)
PCI-3525, PCI-362816
LPC-320724, 321012, 321316, LPC-321416
PEX-320724, 321012, 321316, PEX-321416
CTP/CPZ-3167, CTP/CPZ-3525
CBI-3133A, CBI-3133B, CBI-3134A, CBI-3134B,
CSI/CBI-320212, CBI-320212TR, CBI-320212TK, CBI-320212TL,
CSI/CBI-320312, CBI-320312TR, CBI-320312TK, CBI-320312TL,
PEX-H3525
では、このメンバに 0を指定してください。
・デフォルト:使用するデバイスにより異なります。デフォルト値はデバイ
スオープン直後にAdBmSetSamplingConfig関数を実行することにより取得で
きます。
サンプリング開始条件(スタートトリガ)を指定します。
外部トリガ用の端子は使用するデバイスにより異なります。
使用上の注意事項を参照してください。
ulStartMode は、トリガ指定識別子を組み合わせて指定します。(※8)
PCI-321516 で AD_EXTTRG/AD_EXTTRG_DI は使用できません。
識別子 値 内容
AD_FREERUN 1 トリガなし(デフォルト)
AD_EXTTRG 2 外部トリガ
AD_EXTTRG_DI 3 DI マスク付き外部トリガ
AD_START_P1 0x00000010 レベル 1立ち上がり
AD_START_M1 0x00000020 レベル 1立ち下がり
AD_START_D1 0x00000040 レベル 1 立ち上がりまたは立ち
下がり
AD_START_P2 0x00000080 レベル 2立ち上がり
AD_START_M2 0x00000100 レベル 2立ち下がり
ulStartMode
AD_START_D2 0x00000200 レベル 2 立ち上がりまたは立ち
下がり
GPG-3100 Help for Linux
© 2000 Interface Corporation.
217
以下のスタートトリガ条件は
PCI-320412, PCI-320416, PCI-360112, PCI-360116, PCI-360216,
PCI-362616
LPC-321116, LPC-321216, LPC-321316, LPC-321416,
LPC-361116, LPC-361216, LPC-361316, LPC-361416
PEX-321116, PEX-321216, PEX-321316, PEX-321416,
PEX-361116, PEX-361216, PEX-361316, PEX-361416
PEX-H360116
CTP/CPZ-3201412, CTP/CPZ-320416, CTP/CPZ-360112, CTP/CPZ-360116
CSI/CBI-320212, CBI-320212TR, CBI-320212TK, CBI-320212TL
CSI/CBI-320312, CBI-320312TR, CBI-320312TK, CBI-320312TL,
CSI/CBI-320412, CBI-320412TR, CBI-320412TK, CBI-320412TL,
CSI/CBI-320416, CBI-320416TK, CBI-320416TR, CBI-320416TL
CSI/CBI-360112, CBI-360112TR, CBI-360112TK, CBI-360112TL,
CSI/CBI-360116, CBI-360116TK, CBI-360116TR, CBI-360116TL
のみ対応しています。(※11) (※15)
ulStartMode メンバと ulStopMode メンバに同じ条件を設定することはでき
ません。
識別子 値 内容
AD_START_CNT_EQ 00020000h カウンタ一致検出
AD_START_Z_CLR 00400000h Z 相入力クリア
PCI-321516 のみ対応しています。
識別子 値 内容
AD_START_SYNC1 01000000h 内部同期トリガ 1
AD_START_SYNC2 02000000h 内部同期トリガ 2
サンプリング終了条件(ストップトリガ)を指定します。
外部トリガ用の端子は使用するデバイスにより異なります。使用上の注意事
項を参照して下さい。
ulStopMode は、トリガ指定識別子を組み合わせて指定します。(※8)
PCI-321516 で AD_EXTTRG/AD_EXTTRG_DI は使用できません。
識別子 値 内容
AD_FREERUN 0 トリガなし(デフォルト)
AD_EXTTRG 1 外部トリガ
AD_EXTTRG_DI 2 DI マスク付き外部トリガ
AD_SMPLNUM 10 指定件数(※5)
AD_ETERNITY 9 無限サンプリング(※9)
AD_STOP_P1 00000400h レベル 1立ち上がり
AD_STOP_M1 00000800h レベル 1立ち下がり
AD_STOP_D1 00001000h レベル 1 立ち上がりまたは
立ち下がり
AD_STOP_P2 00002000h レベル 2立ち上がり
AD_STOP_M2 00004000h レベル 2立ち下がり
ulStopMode
AD_STOP_D2 00008000h レベル 2 立ち上がりまたは
立ち下がり
GPG-3100 Help for Linux
© 2000 Interface Corporation.
218
以下のストップトリガ条件は
PCI-320412, PCI-320416, PCI-360112, PCI-360116, PCI-360216,
PCI-362616
LPC-321116, LPC-321216, LPC-321316, LPC-321416,
LPC-361116, LPC-361216, LPC-361316, LPC-361416
PEX-321116, PEX-321216, PEX-321316, PEX-321416,
PEX-361116, PEX-361216, PEX-361316, PEX-361416
PEX-H360116
CTP/CPZ-3201412, CTP/CPZ-320416, CTP/CPZ-360112, CTP/CPZ-360116
CSI/CBI-320212, CBI-320212TR, CBI-320212TK, CBI-320212TL
CSI/CBI-320312, CBI-320312TR, CBI-320312TK, CBI-320312TL,
CSI/CBI-320412, CBI-320412TR, CBI-320412TK, CBI-320412TL,
CSI/CBI-320416, CBI-320416TK, CBI-320416TR, CBI-320416TL
CSI/CBI-360112, CBI-360112TR, CBI-360112TK, CBI-360112TL,
CSI/CBI-360116, CBI-360116TK, CBI-360116TR, CBI-360116TL
のみ対応しています。(※11) (※15)
ulStartMode メンバと ulStopMode メンバに同じ条件を設定することはでき
ません。
識別子 値 内容
AD_STOP_CNT_EQ 00040000h カウンタ一致検出
AD_STOP_Z_CLR 00800000h Z 相入力
PCI-321516 のみ対応しています。
識別子 値 内容
AD_STOP_SYNC1 04000000h 内部同期トリガ 1
AD_STOP_SYNC2 08000000h 内部同期トリガ 2
ulPreTrigDelay プリトリガディレイをサンプルの個数を単位として、1~1,073,741,824 の
範囲で指定します(ulStartMode で AD_FREERUN 以外が設定されている場合
に有効です)。(※6)
0 を指定すると、プリトリガディレイを使用しません。
・デフォルト:0
ulPostTrigDelay ポストトリガディレイをサンプルの個数を単位として、1,024~262,144 の
範囲を 1,024 件単位で指定します。
PCI-3525, CTP/CPZ-3525, PEX-H3525 では 1~16,777,216 の範囲を 1件単位
で指定します。
PCI-362816
LPC-321316, LPC-321416, LPC-361316, LPC-361416
PEX-321316, PEX-321416, PEX-361316, PEX-361416
CTP-3167
CBI-3133A, CBI-3133B, CBI-3134A, CBI-3134B
CSI/CBI-320212, CBI-320212TR, CBI-320212TK, CBI-320212TL
CSI/CBI-320312, CBI-320312TR, CBI-320312TK, CBI-320312TL,
では 1~65,536 の範囲を 1件単位で指定します。
(ulStopMode で AD_FREERUN 以外が設定されている場合に有効です)
0 を指定すると、ポストトリガディレイを使用しません。
・デフォルト:0
TrigChReq アナログトリガ条件を設定する ADTRIGCHREQ 構造体です。
ulStartMode、ulStopMode、ulATrgMode のいずれかに、アナログトリガが指
定されている場合に有効です。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
219
TrigChReq[0] トリガレベル 1
TrigChReq[1] トリガレベル 2
アナログトリガによるパルス出力条件を指定します。
ulATrgMode は、パルス出力指定識別子を組み合わせて指定します
(AD_DISABLE は、他の識別子と組み合わせることはできません)。アナログ
トリガ出力機能があるデバイスの場合に有効です。
PCI-321516 では、内部同期トリガ出力条件を指定します。
識別子 値 内容
AD_DISABLE 80000000h パルス出力なし(デフォルト)
AD_EDGE_P1 0010h レベル 1立ち上がり
AD_EDGE_M1 0020h レベル 1立ち下がり
AD_EDGE_D1 0040h レベル 1 立ち上がりまたは立ち下
がり
AD_EDGE_P2 0080h レベル 2立ち上がり
AD_EDGE_M2 0100h レベル 2立ち下がり
ulATrgMode
AD_EDGE_D2 0200h レベル 2 立ち上がりまたは立ち下
がり
アナログトリガ出力のパルス極性をパルス極性指定識別子のうちいずれか
1つを指定します。アナログトリガ出力機能があるデバイスの場合に有効で
す。パルス極性指定識別子は以下の通りです。
識別子 値 内容
AD_LOW_PULSE 1 LOW パルス(デフォルト)
ulATrgPulse
AD_HIGH_PULSE 2 HIGH パルス
サンプリング開始条件における外部トリガの極性を、極性指定識別子のうち
いずれか 1つで指定します。(※10)
ulStartMode に外部トリガまたは DI マスク付き外部トリガが指定されてい
る場合に有効です。極性指定識別子は以下の通りです。
識別子 値 内容
AD_DOWN_EDGE 1 立ち下がりエッジ(デフォルト)
ulStartTrigEdge
AD_UP_EDGE 2 立ち上がりエッジ
サンプリング終了条件における外部トリガの極性を、極性指定識別子のうち
いずれか 1つで指定します。(※10)
ulStopModeに外部トリガまたはDIマスク付き外部トリガが指定されている
場合に有効です。
極性指定識別子は以下の通りです。
識別子 値 内容
AD_DOWN_EDGE 1 立ち下がりエッジ(デフォルト)
ulStopTrigEdge
AD_UP_EDGE 2 立ち上がりエッジ
ulTrigDI 汎用デジタル入力端子による外部トリガのマスクを指定します。
ulTrigDI の 16bit のうちいずれか 1bit を 1 にセットします。
1にセットされているbitに対応した汎用デジタル入力端子の状態がLowレ
ベルになっている間、外部トリガ入力が有効となります。
1 をセットする bit の位置は、使用するデバイスが持っている汎用デジタル
入力端子の数に注意してください。
ulStartMode、または ulStopMode に DI マスク付き外部トリガが指定されて
いる場合に有効です。
ulTrigDI の形式は、デジタル入力データの形式と同じ形式です。
GPG-3100 Help for Linux
「4.2 データ形式」を参照してください。
・デフォルト:1
外部クロック入力のエッジ極性を極性指定識別子のうちいずれか 1 つを指
定します。fSmplFreq に 0.0f(外部クロック)が指定されている場合に有効
です。
ulEClkEdge
極性指定識別子は以下の通りです。
© 2000 Interface Corporation.
220
識別子 値 内容
AD_DOWN_EDGE 1 立ち下がりエッジ(デフォルト)
AD_UP_EDGE 2 立ち上がりエッジ
ulFastMode 倍速モードの指定をします。(PCI-3525, CTP/CPZ-3525 のみ)
識別子 値 内容
AD_NORMAL_MODE 1 通常モードで使用する
(デフォルト)
AD_FAST_MODE 2 倍速モードで使用する
ulStatusMode サンプリングデータへのステータスの付加指定をします(サンプリングステ
ータス対応デバイスのみ)。「4.4 データ形式」を参照してください。
識別子 値 内容
AD_NO_STATUS 1 サンプリングステータスなし
(デフォルト)
AD_ADD_STATUS 2 サンプリングステータス付加
ulErrCtrl サンプリングエラー発生時の処理を指定をします。
ulErrCtrl は、エラー処理指定識別子を組み合わせて指定します
(AD_FREERUN は、他の識別子と組み合わせることはできません)。
識別子 値 内容
AD_FREERUN 1 処理なし(エラーが発生してもサ
ンプリングを継続:デフォルト)
AD_STOP_SCER 2 サンプリングクロックエラー発生
により、サンプリングを停止(※4)
AD_STOP_ORER 4 オーバランエラー発生により、サ
ンプリングを停止
※4 内部クロック使用時には、以下の条件で設定する必要があります。
fSmplFreq * ulChCount <= fScanFreq
(サンプリングチャンネルは、任意の順番で指定することができます。)
外部クロック使用時、スキャン中に次のサンプリングクロックが入力された場合、サンプリ
ングクロックエラーとなります。スキャンクロックエラー発生時にはイベントが発生しま
す。また、ulErrCtrl に AD_STOP_SCER を指定した場合には、スキャンクロック発生により、
サンプリングを停止します。
GPG-3100 Help for Linux
※5 ulStopMode に AD_SMPLNUM を指定した場合には、ulSmplNum は 1,024~67,108,864 の範囲を
1,024 件単位で指定してください。
PCI-320412, PCI-320416, PCI-360112, PCI-360116, PCI-360216, PCI-362616, PCI-362816
LPC-321116, LPC-321216, LPC-321316, LPC-321416,
LPC-361116, LPC-361216, LPC-361316, LPC-361416
PEX-321116, PEX-321216, PEX-321316, PEX-321416,
PEX-361116, PEX-361216, PEX-361316, PEX-361416
PEX-H360116
CTP/CPZ-3201412, CTP/CPZ-320416, CTP/CPZ-360112, CTP/CPZ-360116
CSI/CBI-320212, CBI-320212TR, CBI-320212TK, CBI-320212TL
CSI/CBI-320312, CBI-320312TR, CBI-320312TK, CBI-320312TL,
CSI/CBI-320412, CBI-320412TR, CBI-320412TK, CBI-320412TL,
CSI/CBI-320416, CBI-320416TK, CBI-320416TR, CBI-320416TL
CSI/CBI-360112, CBI-360112TR, CBI-360112TK, CBI-360112TL,
CSI/CBI-360116, CBI-360116TK, CBI-360116TR, CBI-360116TL
では 1~16777216 の範囲を 1件単位で指定してください
※6 ulSmplRepeat に 1 以外を指定した場合には、開始条件、および終了条件には AD_FREERUN 以
外の識別子を指定してください。
また、ulSmplRepeat に 1 以外を設定した場合には、プリトリガディレイは使用できません
(ulPreTirgDelay には 0を指定してください)。
※7 ulBufferMode に AD_OVERWRITE を指定した場合には、ulStartMode で指定した開始条件成立
によるサンプリング開始時にサンプリングデータは自動的にクリアされますので、サンプリ
ングデータは次回のサンプリングが開始するまでに取得してください。
※8 アナログトリガ識別子は、各識別子を+演算子で繋げることにより、複数の識別子を指定す
る事ができます(AD_FREERUN、AD_EXTTRG、AD_EXTTRG_DI、AD_SMPLNUM、AD_ETERNITY は、
他の識別子と組み合わせることはできません)。
例 1. サンプリング開始条件にレベル 1立ち上がり、レベル 2立ち下がりを使用する場合
ulStartMode = AD_START_P1 + AD_START_M2;
例 2. サンプリング終了条件にレベル 1立ち下がりとレベル 2立ち下がりを使用する場合
ulStopMode = AD_STOP_M1 + AD_STOP_M2;
ulStartMode、ulStopMode ともに外部トリガ、または DI マスク付き外部トリガを指定する
場合、ulStartMode、ulStopMode には同じトリガ識別子を指定してください(ulStartMode =
ulStopMode = AD_EXTTRG、または ulStartMode = ulStopMode = AD_EXTTRG_DI)。
ulStartMode、ulStopMode のいずれかに外部トリガ、または DI マスク付き外部トリガ以外
を指定する場合には、ulStartMode、ulStopMode は任意の指定ができます。
※9 AD_ETERNITY(無限サンプリング)を指定した場合には、ulSmplNum で指定した件数分の大
きさのリングバッファで AdStopSampling 関数が実行されるまで繰り返しサンプリングが行
われます。
© 2000 Interface Corporation.
221
GPG-3100 Help for Linux
また、ulStartMode には AD_FREERUN(トリガなし)を指定してください。トリガは設定でき
ません。
ulStartTrigEdge、ulStopTrigEdge へ指定する極性指定識別子の組み合わせにより、外部ト
リガパルスによるサンプリング開始・終了、外部トリガレベルによるサンプリング開始・終
了が使用できます(ulStartMode、ulStopMode とも、AD_EXTTRG または AD_EXTTRG_DI が指定
されている場合のみ)。
※10
・外部トリガパルスによるサンプリング開始・終了
ulStartTrigEdge、ulStopTrigEdge ともに同じ極性指定識別子(ulStartTrigEdge =
ulStopTrigEdge = AD_DOWN_EDGE、または ulStartTrigEdge = ulStopTrigEdge = AD_UP_EDGE)
を指定した場合には、外部トリガパルスによるサンプリングとなります。
・外部トリガレベルによるサンプリング開始・終了
ulStartTrigEdge 、 ulStopTrigEdge に 異 な る 極 性 指 定 識 別 子 ( ulStartTrigEdge =
AD_DOWN_EDGE、ulStopTrigEdge = AD_UP_EDGE、または ulStartTrigEdge = AD_UP_EDGE、
ulStopTrigEdge = AD_DOWN_EDGE)を指定した場合には、外部トリガレベルによるサンプリ
ングとなります。
※11 PCI-320412, PCI-320416, PCI-360112, PCI-360116, PCI-360216, PCI-362616
LPC-321116, LPC-321216, LPC-321316, LPC-321416,
LPC-361116, LPC-361216, LPC-361316, LPC-361416
PEX-321116, PEX-321216, PEX-321316, PEX-321416,
PEX-361116, PEX-361216, PEX-361316, PEX-361416
PEX-H360116
CTP/CPZ-3201412, CTP/CPZ-320416, CTP/CPZ-360112, CTP/CPZ-360116
CSI/CBI-320212, CBI-320212TR, CBI-320212TK, CBI-320212TL
CSI/CBI-320312, CBI-320312TR, CBI-320312TK, CBI-320312TL,
CSI/CBI-320412, CBI-320412TR, CBI-320412TK, CBI-320412TL,
CSI/CBI-320416, CBI-320416TK, CBI-320416TR, CBI-320416TL
CSI/CBI-360112, CBI-360112TR, CBI-360112TK, CBI-360112TL,
CSI/CBI-360116, CBI-360116TK, CBI-360116TR, CBI-360116TL
では、カウンタのカウンタ値が指定したカウンタ値と一致した場合にサンプリングの開始/
© 2000 Interface Corporation.
222
GPG-3100 Help for Linux
© 2000 Interface Corporation.
223
終了が行えます。
※12 PCI-362816
LPC-321316, LPC-321416, LPC-361316, LPC-361416
PEX-321316, PEX-321416, PEX-361316, PEX-361416
CTP/CPZ-3167
CBI-3133A, CBI-3133B, CBI-3134A, CBI-3134B,
CSI/CBI-320212, CBI-320212TR, CBI-320212TK, CBI-320212TL,
CSI/CBI-320312, CBI-320312TR, CBI-320312TK, CBI-320312TL
では、繰り返し回数を指定することができません。
このデバイスでは必ず 1を指定してください。
※13 PCI-3525,CTP/CPZ-3525, PEX-H3525 では ulStartMode(開始条件)と ulStopMode(終了条
件)で、PCI-3525,CTP/CPZ-3525, PEX-H3525 に搭載されているアナログ出力のトリガでサ
ンプリングを開始させたり終了させたりすることができます。
設定例 1:開始条件を DA 指定件数出力にし終了条件を指定件数に設定した場合
ulStartMode= AD_START_DA_SMPLNUM
ulStopMode= AD_SMPLNUM
設定例 2:開始条件を DA ストップにし終了条件を指定件数に設定した場合
ulStartMode= AD_START_DA_STOP
ulStopMode= AD_SMPLNUM
※14 PCI-320412,PCI-320416, PCI-360116, PCI-360112, PCI-360216, PCI-362616
CTP/CPZ-320412, CTP/CPZ-320416, CTP/CPZ-360116, CTP/CPZ-360112
CSI/CBI-320412 , CBI-320412TR, CBI-320412TK, CBI-320412TL,
CSI/CBI-320416, CBI-320416TR, CBI-320416TK, CBI-320416TL,
CSI/CBI-360112 , CBI-360112TR, CBI-360112TK, CBI-360112TL,
CSI/CBI-360116 , CBI-360116TR, CBI-360116TK, CBI-360116TL
LPC-321116, LPC-321216, LPC-321316, LPC-321416, LPC-361116, LPC-361216,
LPC-361316, LPC-361416
PEX-321116, PEX-321216, PEX-321316, PEX-321416, PEX-361116, PEX-361216,
PEX-361316, PEX-361416
PEX-H360116
カウンタのカウントアップ/ダウンに同期して AD 変換を行います。
(PCI-360116 は RevisionID が 3 以前では使用できません。
PCI-320412, PCI-320416, PCI-360112, PCI-360216
CTP/CPZ-320412, CTP/CPZ-320416, CTP/CPZ-360116, CTP/CPZ-360112
CSI/CBI-320412 , CBI-320412TR, CBI-320412TK, CBI-320412TL, CSI/CBI-320416 ,
CBI-320416TR, CBI-320416TK, CBI-320416TL, CSI/CBI-360112 , CBI-360112TR,
CBI-360112TK, CBI-360112TL, CSI/CBI-360116 , CBI-360116TR, CBI-360116TK,
CBI-360116TL は RevisionID が 2 以前では使用できません。)
※15 PCI-320412, PCI-320416, PCI-360116, PCI-360112, PCI-360216, PCI-362616
CTP/CPZ-320412, CTP/CPZ-320416, CTP/CPZ-360116, CTP/CPZ-360112
CSI/CBI-320412 , CBI-320412TR, CBI-320412TK, CBI-320412TL,
CSI/CBI-320416 , CBI-320416TR, CBI-320416TK, CBI-320416TL,
CSI/CBI-360112 , CBI-360112TR, CBI-360112TK, CBI-360112TL,
CSI/CBI-360116 , CBI-360116TR, CBI-360116TK, CBI-360116TL
LPC-321116, LPC-321216, LPC-321316, LPC-321416, LPC-361116, LPC-361216,
LPC-361316, LPC-361416
GPG-3100 Help for Linux
© 2000 Interface Corporation.
224
PEX-321116, PEX-321216, PEX-321316, PEX-321416, PEX-361116, PEX-361216,
PEX-361316, PEX-361416
PEX-H360116
カウンタの Z相入力によりサンプリングの開始/終了が行えます。
(PCI-360116 は RevisionID が 3 以前では使用できません。
PCI-320412, PCI-320416, PCI-360112, PCI-360216
CTP/CPZ-320412, CTP/CPZ-320416, CTP/CPZ-360116, CTP/CPZ-360112
CSI/CBI-320412 , CBI-320412TR, CBI-320412TK, CBI-320412TL, CSI/CBI-320416 ,
CBI-320416TR, CBI-320416TK, CBI-320416TL, CSI/CBI-360112 , CBI-360112TR,
CBI-360112TK, CBI-360112TL, CSI/CBI-360116 , CBI-360116TR, CBI-360116TK,
CBI-360116TL は RevisionID が 2 以前では使用できません。)
GPG-3100 Help for Linux
© 2000 Interface Corporation.
225
5.9.3 ●ADMEMSMPLREQ 構造体
サンプリング条件設定関数(AdMemSetSamplingConfig 関数)で指定するサンプリング時の条件を設定
する構造体です。
typedef struct {
unsigned long ulChCount;
ADSMPLCHREQ SmplChReq[256];
unsigned long ulSingleDiff;
float fSmplFreq;
unsigned long ulStopMode;
unsigned long ulPreTrigDelay;
unsigned long ulPostTrigDelay;
ADTRIGCHREQ TrigChReq[2];
unsigned long ulATrgMode;
unsigned long ulATrgPulse;
unsigned long ulStopTrigEdge;
unsigned long ulEClkEdge;
unsigned long ulFastMode;
unsigned long ulStatusMode;
unsigned long ulErrCtrl;
} ADMEMSMPLREQ, *PADMEMSMPLREQ;
メンバ 説明
ulChCount サンプリングを行うチャンネルの数を 1 からデバイスが提供する 大チャ
ンネル数の範囲で指定します。サンプリングを行うチャンネル番号は
ADSMPLCHREQ 構造体の ulChNo メンバで指定します。(※4)
・デフォルト:1
SmplChReq 各チャンネル毎のサンプリング条件を設定する ADSMPLCHREQ 構造体です。
入力仕様を指定します。
UlSingleDiff は、入力仕様指定識別子のいずれか1つを指定します。
識別子 値 内容
AD_INPUT_SINGLE 1 シングルエンド入力
AD_INPUT_DIFF 2 差動入力
ulSingleDiff
・デフォルト:使用するデバイス毎に異なります。
デフォルト値はデバイスオープン直後に AdMemGetSamplingConfig 関数を実
行することにより取得できます。
fSmplFreq サンプリング周波数を 0.48f からデバイスが提供する 大サンプリング周
波数の範囲で、Hz を単位として設定します。
外部クロックを使用する場合は、0.0f を指定してください。
・デフォルト:使用するデバイスにより異なります。
デフォルト値はデバイスオープン直後に AdMemGetSamplingConfig 関数を
実行することにより取得できます。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
226
サンプリング終了条件(ストップトリガ)を指定します。
外部トリガ用の端子は使用するデバイスにより異なります。使用上の注意事
項を参照して下さい。
ulStopMode は、トリガ指定識別子を組み合わせて指定します。
識別子 値 内容
AD_EXTTRG 1 外部トリガ
AD_STOP_DI_EQ 00100000h DI パターン一致(※15)
AD_STOP_SOFT 00200000h ソフトストップ(※14)
AD_STOP_P1 00000400h レベル 1立ち上がり
AD_STOP_M1 00000800h レベル 1立ち下がり
AD_STOP_D1 00001000h レベル 1 立ち上がりまたは立
ち下がり
AD_STOP_P2 00002000h レベル 2立ち上がり
AD_STOP_M2 00004000h レベル 2立ち下がり
ulStopMode
AD_STOP_D2 00008000h レベル 2 立ち上がりまたは立
ち下がり
ulPreTrigDelay プリトリガディレイをサンプルの個数を単位として、1~1,073,741,824 の
範囲で指定します。(※16)
0 を指定すると、プリトリガディレイを使用しません。
・デフォルト:0
ulPostTrigDelay ポストトリガディレイをサンプルの個数を単位として、1~262,144 の範囲
を 1件単位で指定します。(※16)
0 を指定すると、ポストトリガディレイを使用しません。
・デフォルト:0
アナログトリガ条件を設定する ADTRIGCHREQ 構造体です。
ulStopMode、もしくは AdSetOutMode 関数の ulATrgMode のいずれかに、アナ
ログトリガが指定されている場合に有効です。
TrigChReq[0] トリガレベル 1
TrigChReq
TrigChReq[1] トリガレベル 2
アナログトリガによるパルス出力条件を指定します。
ulATrgMode は、パルス出力指定識別子を組み合わせて指定します
(AD_DISABLE は、他の識別子と組み合わせることはできません)。アナログ
トリガ出力機能があるデバイスの場合に有効です。
識別子 値 内容
AD_DISABLE 80000000h パルス出力なし(デフォルト)
AD_EDGE_P1 0010h レベル 1立ち上がり
AD_EDGE_M1 0020h レベル 1立ち下がり
AD_EDGE_D1 0040h レベル 1 立ち上がりまたは立ち下
がり
AD_EDGE_P2 0080h レベル 2立ち上がり
AD_EDGE_M2 0100h レベル 2立ち下がり
ulATrgMode
AD_EDGE_D2 0200h レベル 2 立ち上がりまたは立ち下
がり
ulATrgPulse アナログトリガ出力のパルス極性をパルス極性指定識別子のうちいずれか
1つを指定します。アナログトリガ出力機能があるデバイスの場合に有効で
す。パルス極性指定識別子は以下の通りです。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
227
識別子 値 内容
AD_LOW_PULSE 1 LOW パルス(デフォルト)
AD_HIGH_PULSE 2 HIGH パルス
サンプリング終了条件における外部トリガの極性を、極性指定識別子のうち
いずれか 1つで指定します。(※10)
ulStopModeに外部トリガまたはDIマスク付き外部トリガが指定されている
場合に有効です。
極性指定識別子は以下の通りです。
識別子 値 内容
AD_DOWN_EDGE 1 立ち下がりエッジ(デフォルト)
ulStopTrigEdge
AD_UP_EDGE 2 立ち上がりエッジ
外部クロック入力のエッジ極性を極性指定識別子のうちいずれか 1 つを指
定します。fSmplFreq に 0.0f(外部クロック)が指定されている場合に有効
です。
極性指定識別子は以下の通りです。
識別子 値 内容
AD_DOWN_EDGE 1 立ち下がりエッジ(デフォルト)
ulEClkEdge
AD_UP_EDGE 2 立ち上がりエッジ
倍速モードの指定をします。(PCI-3525, CTP/CPZ-3525 のみ)
識別子 値 内容
AD_NORMAL_MODE 1 通常モードで使用する
(デフォルト)
ulFastMode
AD_FAST_MODE 2 倍速モードで使用する
サンプリングデータへのステータスの付加指定をします(サンプリングステ
ータス対応デバイスのみ)。「4.4 データ形式」を参照してください。
識別子 値 内容
AD_NO_STATUS 1 サンプリングステータスなし
(デフォルト)
ulStatusMode
AD_ADD_STATUS 2 サンプリングステータス付加
サンプリングエラー発生時の処理を指定をします。
ulErrCtrl は、エラー処理指定識別子を組み合わせて指定します
(AD_FREERUN は、他の識別子と組み合わせることはできません)。
識別子 値 内容
AD_FREERUN 1 処理なし(エラーが発生してもサ
ンプリングを継続:デフォルト)
ulErrCtrl
AD_STOP_ORER 4 オーバランエラー発生により、サ
ンプリングを停止
※14 ソフトトリガに指定した場合は、AdStartSampling 関数で同期処理を行うことができない
のでご注意ください。
※15 DI パターン一致トリガは、AdMemSetDiPattern 関数で設定された DI パターン条件と一致
したときにストップトリガが発生します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
228
※16 プリトリガディレイ、ポストトリガディレイはストップトリガが入った位置からの件数
となります。
プリトリガ件数とポストトリガ件数の和は、4194304 以下になるように設定してくださ
い。
ulPreTrigDelay = 0、ulPostTrigDelay = 0 という設定はできません。
・プリトリガあり-ポストトリガなし
トリガ発生
| | プリトリガ件数 |
|<------>|<------------------------>|
| | |
開始コマンド サンプリング終了
・プリトリガなし-ポストトリガあり
トリガ発生
| | ポストトリガ件数 |
|<---------------------->|<-------------------------->|
| | |
開始コマンド サンプリング終了
・プリトリガあり-ポストトリガあり
トリガ発生
| | プリトリガ件数 | ポストトリガ件数 |
|<------->|<---------------------->|<------------------------->|
| | | |
開始コマンド サンプリング終了
オーバーランエラーが発生した時点でのデータを取得することができません。
サンプリングステータス付きに設定いた場合は、下記のようなデータフォーマットにな
ります。
CH1 の場合
bit15 bit14 bit13 bit12 bit11 bit10 bit9 ~ bit0
0 0 DI4 DI3 DI2 DI1 10bit のアナログデータ
CH2 の場合
bit15 bit14 bit13 bit12 bit11 bit10 bit9 ~ bit0
TRG Over DI8 DI7 DI6 DI5 10bit のアナログデータ
※17
TRG ステータス 0:プリサンプリング中
1:ポストサンプリング中
Over ステータス 0:オーバーラン未発生
1:オーバーラン発生
GPG-3100 Help for Linux
© 2000 Interface Corporation.
229
5.9.4 ●ADSMPLCHREQ 構造体
各チャンネル毎のサンプリング条件を設定する構造体です。
ADSMPLREQ構造体のメンバ、ADBMSMPLREQ構造体のメンバ、ADMEMSMPLREQ構造体のメンバ、
AdInputAD関数で使用されます。
typedef struct {
unsigned long ulChNo;
unsigned long ulRange;
} ADSMPLCHREQ, *PADSMPLCHREQ;
メンバ 説明
ulChNo サンプリングを行うチャンネルの番号を指定します。
指定の範囲は以下の通りです。
・ 1 ~ そのデバイスが提供する 大チャンネル番号
ulRange アナログ入力
ulChNo で指定したチャンネルのレンジを指定します。
マルチ ADC 方式のデバイスではチャンネル毎にレンジの設定が可能です。
マルチプレクサ方式のデバイスでは全チャンネル同一のレンジ設定にする必
要があります。
(PCI-320112, CTP/CPZ-3183, PCI-321516 については、チャンネル毎にレン
ジの設定が可能です。)
レンジの指定は、レンジ識別子のうちいずれか 1つを指定します。
熱電対
ulChNo で指定したチャンネルの熱電対の型を指定します。
チャンネル毎に型の設定が可能です。
識別子 値 内容
AD_0_1V 00000001h 電圧 ユニポーラ 0~1V
AD_0_2P5V 00000002h 電圧 ユニポーラ 0~2.5V
AD_0_5V 00000004h 電圧 ユニポーラ 0~5V
AD_0_10V 00000008h 電圧 ユニポーラ 0~10V
AD_1_5V 00000010h 電圧 ユニポーラ 1~5V
AD_0_2V 00000020h 電圧 ユニポーラ 0~2V
AD_0_0P125V 00000040h 電圧 ユニポーラ 0~0.125V
AD_0_1P25V 00000080h 電圧 ユニポーラ 0~1.25V
AD_0_0P625V 00000100h 電圧 ユニポーラ 0~0.625V
AD_0_0P156V 00000200h 電圧 ユニポーラ 0~0.156V
AD_0_20mA 00001000h 電流 ユニポーラ 0~20mA
AD_4_20mA 00002000h 電流 ユニポーラ 4~20mA
AD_20mA 00004000h 電流 バイポーラ ±20mA
AD_1V 00010000h 電圧 バイポーラ ±1V
AD_2P5V 00020000h 電圧 バイポーラ ±2.5V
AD_5V 00040000h 電圧 バイポーラ ±5V
AD_10V 00080000h 電圧 バイポーラ ±10V
AD_20V 00100000h 電圧 バイポーラ ±20V
AD_50V 00200000h 電圧 バイポーラ ±50V
AD_0P125V 00400000h 電圧 バイポーラ ±0.125V
AD_1P25V 00800000h 電圧 バイポーラ ±1.25V
AD_0P625V 01000000h 電圧 バイポーラ ±0.625V
AD_0P156V 02000000h 電圧 バイポーラ ±0.156V
GPG-3100 Help for Linux
© 2000 Interface Corporation.
230
AD_1P25V_AC 04000000h 電圧 バイポーラ ±1.25V
(AC カップリング機能搭載)
AD_0P625V_AC 08000000h 電圧 バイポーラ ±0.625V
(AC カップリング機能搭載)
AD_0P156V_AC 10000000h 電圧 バイポーラ ±0.156V
(AC カップリング機能搭載)
AD_GND 80000000h 内部 GND 接続
GPG-3100 Help for Linux
© 2000 Interface Corporation.
231
5.9.5 ●ADTRIGCHREQ 構造体
アナログトリガ条件を設定する構造体です。
ADBMSMPLREQ 構造体のメンバで使用されます。(※12)
typedef struct {
unsigned long ulChNo;
float fTrigLevel;
float fHysteresis;
} ADTRIGCHREQ, *PADTRIGCHREQ;
メンバ 説明
ulChNo サンプリングを行うチャンネルの番号を指定します。
指定の範囲は以下の通りです。
ulChNo に設定されるチャンネルは、ADSMPLCHREQ 構造体で指定されていな
ければなりません。
・ 1 ~ そのデバイスが提供する 大チャンネル番号
fTrigLevel トリガレベルを指定します。(※19)
指定する値は、入力レンジが電圧であれば[V]を、電流であれば[mA]
を単位として、ADSMPLCHREQ 構造体で指定したレンジの範囲内で指定しま
す。
・デフォルト:使用するデバイス毎に異なります。デフォルト値はデバイ
スオープン直後にAdBmGetSamplingConfig関数を実行することにより取得
できます。
fHysteresis トリガレベルに対するヒステリシスを指定します。(※19)
指定する値は、入力レンジが電圧であれば[V]を、電流であれば[mA]
を単位として、0~[ADSMPLCHREQ 構造体で指定したレンジ幅の半分]まで
の範囲で指定します。(※20)
・デフォルト:使用するデバイス毎に異なります。デフォルト値はデバイ
スオープン直後にAdBmGetSamplingConfig関数を実行することにより取得
できます。
GPG-3100 Help for Linux
※18 ADTRIGCHREQ 構造体の設定内容は、ADBMSMPLREQ 構造体の ulStartMode、ulStopMode、
ulATrgMode のいずれかに、アナログトリガが指定されている場合に有効となります。
※19 fTrigLevel、fHysteresis は、以下の条件で設定する必要があります。
fTrigLevel - fHysteresis ≧ レンジ下限
fTrigLevel + fHysteresis ≦ レンジ上限
・立ち上がり設定時のアナログトリガ発生タイミング
・立ち下がり設定時のアナログトリガ発生タイミング
※20 例えば、0~5V レンジの場合は 0.0f~2.5f、±5V レンジの場合は 0.0f~5.0f の範囲で指
定します。
© 2000 Interface Corporation.
232
GPG-3100 Help for Linux
© 2000 Interface Corporation.
233
5.9.6 ●ADBOARDSPEC 構造体
デバイスの仕様を格納する構造体です。AdGetDeviceInfo関数で使用されます。
typedef struct {
unsigned long ulBoardType;
unsigned long ulBoardID;
unsigned long ulSamplingMode;
unsigned long ulResolution;
unsigned long ulChCountS;
unsigned long ulChCountD;
unsigned long ulRange;
unsigned long ulInputType;
unsigned long ulDi;
unsigned long ulDo;
} ADBOARDSPEC, *PADBOARDSPEC;
メンバ 説明
ulBoardType デバイスの型式番号を格納します。
例:PCI-3135 であれば、3135 が格納されます。CTP-3135 であれば 3135 が格
納されます。
ulBoardID デバイスの識別番号(RSW1 の値)を格納します。
※CBI-3133A, 3133B, 3134A, 3134B では、常に 0が返ります。
デバイスが対応しているサンプリング方式をビットアサインで格納します。
bit0 I/O 方式
bit1 FIFO 方式
bit2 メモリ方式
bit3 バスマスタ方式
bit4~bit31 予約(全て 0)
ulSamplingMode
・0:未サポート、1:サポート
ulResolution デバイスの分解能を格納します。
・12bit AD デバイスの場合:12 が格納されます。
ulChCountS シングルエンド入力時のデバイスのチャンネル数を格納します。
ulChCountD 差動入力時のデバイスのチャンネル数を格納します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
234
デバイスが対応しているレンジをビットアサインで格納します。
bit0 電圧 ユニポーラ 0~1V
bit1 電圧 ユニポーラ 0~2.5V
bit2 電圧 ユニポーラ 0~5V
bit3 電圧 ユニポーラ 0~10V
bit4 電圧 ユニポーラ 1~5V
bit5 電圧 ユニポーラ 0~2V
bit6 電圧 ユニポーラ 0~0.125V
bit7 電圧 ユニポーラ 0~1.25V
bit8 電圧 ユニポーラ 0~0.625V
bit9 電圧 ユニポーラ 0~0.156V
bit10~bit11 予約(全て 0)
bit12 電流 ユニポーラ 0~20mA
bit13 電流 ユニポーラ 4~20mA
bit14~15 予約(全て 0)
bit16 電圧 バイポーラ ±1V
bit17 電圧 バイポーラ ±2.5V
bit18 電圧 バイポーラ ±5V
bit19 電圧 バイポーラ ±10V
bit20 電圧 バイポーラ ±20V
bit21 電圧 バイポーラ ±50V
bit22 電圧 バイポーラ ±0.125V
bit23 電圧 バイポーラ ±1.25V
bit24 電圧 バイポーラ ±0.625V
bit25 電圧 バイポーラ ±0.156V
bit26 電圧 バイポーラ ±1.25V
(AC カップリング機能搭載)
bit27 電圧 バイポーラ ±0.625V
(AC カップリング機能搭載)
bit28 電圧 バイポーラ ±0.156V
(AC カップリング機能搭載)
bit29~bit30 予約(全て 0)
ulRange
bit31 内部 GND 接続
デバイスの絶縁/非絶縁を以下の識別子で格納します。
識別子 値 内容
AD_ISOLATION 1 絶縁デバイス
ulIsolation
AD_NOT_ISOLATION 2 非絶縁デバイス
ulDi デバイスのデジタル入力点数を格納します。
ulDo デバイスのデジタル出力点数を格納します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
235
5.10 戻り値一覧
エラー識別子 値 意味 対処方法
AD_ERROR_SUCCESS 0 正常終了
AD_ERROR_NOT_DEVICE C0000001h ドライバが呼び出
せません
指定されたデバイス
が見つかりませんで
した。指定しているデ
バイス番号のデバイ
スが存在するかどう
かを確認してくださ
い。
AD_ERROR_NOT_OPEN C0000002h ドライバがオープ
ンできません
デバイスのオープン
時に何らかのエラー
が発生しました。
AD_ERROR_INVALID_DEVICENO C0000003h デバイス番号が正
しくありません
1-255 以外のデバイス
番号でオープンを行
おうとしました。オー
プン関数でオープン
していないデバイス
番号を指定しました。
AD_ERROR_ALREADY_OPEN C0000004h 既にオープンして
いるデバイスです
既にオープンされて
いるデバイスをオー
プンしようとしまし
た。
AD_ERROR_INVALID_DEVICE_NUMBER C0000005h デバイス番号が正
しくありません
ソルコン CD 製品につ
いて、デバイス番号を
257 以外で指定してオ
ープンを行おうとし
ました。
AD_ERROR_NOT_SUPPORTED C0000009h デバイスがサポー
トしていない関数
です
デバイスがサポート
していない機能を制
御する関数です。
AD_ERROR_NOW_SAMPLING C0001001h サンプリングを実
行中です
サンプリング実行中
に再度サンプリング
を実行しようとしま
した。
サンプリング実行中
に実行できない関数
を呼び出そうとしま
した。
AD_ERROR_STOP_SAMPLING C0001002h サンプリングは停
止中です
サンプリング停止中
に実行できない関数
を呼び出そうとしま
した。
AD_ERROR_INVALID_PARAMETER C0001021h パラメータが不正
です
引数の値が不正です。
引数の値が指定範囲
外です。
AD_ERROR_NULL_POINTER C0001023h NULL ポインタを指
定しました
サンプリングデータ
領域の指定に NULL を
指定しました。
データ変換関数にお
いて、データ変換元と
なるデータへのポイ
ンタが NULL で指定さ
れた。
変換後のデータを返
すためのポインタが
NULL で指定された。
AD_ERROR_GET_DATA C0001024h サンプリングデー まだ、サンプリングが
GPG-3100 Help for Linux
© 2000 Interface Corporation.
236
エラー識別子 値 意味 対処方法
タの取得ができま
せんでした
行われていないので
サンプリングデータ
の取得ができません
でした。
サンプリングバッフ
ァがクリアされてい
るのでサンプリング
データが取得できま
せんでした。
AD_ERROR_USED_DA C0001025h DA ドライバ使用中
です。
DA 側で使用中の機能
を停止してから、関数
を実行しなおしてく
ださい。
AD_ERROR_FILE_OPEN C0001041h ファイルのオープ
ンに失敗しました
ファイルのパス名が
存在しません。
存在しないドライブ
を指定しました。
AD_ERROR_FILE_CLOSE C0001042h ファイルのクロー
ズに失敗しました
ファイルアクセス時
に何らかのエラーが
発生しました。データ
ファイルに異常がな
いかご確認ください。
AD_ERROR_FILE_READ C0001043h ファイルのリード
に失敗しました
ファイルアクセス時
に何らかのエラーが
発生しました。データ
ファイルに異常がな
いかご確認ください。
AD_ERROR_FILE_WRITE C0001044h ファイルのライト
に失敗しました
ファイルアクセス時
に何らかのエラーが
発生しました。データ
ファイルに異常がな
いかご確認ください。
AD_ERROR_INVALID_DATA_FORMAT C0001061h データ形式が無効
です
データ形式をご確認
ください。
AD_ERROR_INVALID_AVERAGE_OR_SMOOTHING C0001062h 平均またはスムー
ジングの指定が正
しくありません
平均またはスムージ
ングの回数が0また
はデータ件数を超え
ている。
平均またはスムージ
ングが指定されてい
るのにも関わらず、平
均またはスムージン
グの件数が 0に指定さ
れた。
AD_ERROR_INVALID_SOURCE_DATA C0001063h データ変換元とし
て指定されたデー
タが正しくありま
せん
データ変換元のアド
レス指定箇所などに
間違いがないかご確
認ください。
AD_ERROR_NOT_ALLOCATE_MEMORY C0001081h メモリが確保でき
ません。
ドライバ内部で作業
するためのメモリの
確保に失敗しました。
AD_ERROR_CALIBRATION C0001084h アナログ入力デバ
イスのキャリブレ
ーションに失敗し
ました。
弊社カスタマーサポ
ートセンタにお問い
合わせください。
AD_ERROR_USBIO_FAILED C0001085h USB デバイスの実
行に失敗しました
再起動を行なうか、
DPG-0401 の
GPG-3100 Help for Linux
© 2000 Interface Corporation.
237
エラー識別子 値 意味 対処方法
AD_ERROR_USBIO_TIMEOUT C0001086h USB デバイスとの
通信がタイムアウ
トしました
「IfUsbDevicePowerCtl」
関数を使用し、USB デバ
イスの電源を OFF→ON し
て下さい。
「IfUsbDevicePowerCtl」
関 数 の 使 用 方 法 は 、
DPG-0401 の Help を参照
してください。
AD_ERROR_USBLIB_LOAD_FAILED C0001087h ライブラリの読み
込みに失敗しまし
た。
デバイス番号が正し
いことを確認してく
ださい。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
238
5.11 テストドライバの使用方法 本ソフトウェアには、デバイスがなくてもドライバを動かすことができるテストドライバ機能がつい
ております。
テストドライバを使用する場合は、libgpg3100.so の代わりに libgpg3100t.so をリンクし、コンパ
イルしてください。
テストドライバ機能を使用するプログラム test.c をコンパイルする場合のコンパイル例を示します。
#gcc -o test test.c -lpthread – lgpg3100t
各関数は下記のように動作します。
関数名 動作
AdOpen 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdClose 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdGetDeviceInfo 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdGetBoardConfig 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdSetBoardConfig 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdSetSamplingConfig 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdGetSamplingConfig 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdGetSamplingData 1024 件のデータを返します。
AdClearSamplingData 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdStartSampling 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdStartFileSampling 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdTriggerSampling 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdMemTriggerSampling 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdSyncSampling 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdStopSampling 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdGetStatus 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdInputAD 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdSetInputADEx 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdInputADEx 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdInputDI 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdOutputDO 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdDataConv 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdReadFile 引数が正常であれば、AD_ERROR_SUCCESS を返します。
fnConv -
CallBackProc -
AdReadSamplingBuffer 1024 件のサンプリングデータを返します。
AdSetRangeEvent 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdResetRangeEvent 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdGetRangeEventStatus 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdLvSetSamplingConfig 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdLvGetSamplingConfig 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdLvGetSamplingData 1024 件のデータを取得します。
AdLvCalibration 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdLvStartSampling 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdLvStopSampling 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdLvGetStatus 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdMeasureTemperature 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdBmSetSamplingConfig 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdBmGetSamplingConfig 引数が正常であれば、AD_ERROR_SUCCESS を返します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
239
AdBmGetSamplingData 1024 件の正弦波データを取得します。
AdBmStartFileSampling 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdSetInterval 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdGetInterval 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdSetFunction 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdGetFunction 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdSetFilter 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdGetFilter 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdFifoGetSamplingData 1024 件の正弦波データを返します。
AdMemSetSamplingConfig 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdMemGetSamplingConfig 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdSetOutMode 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdGetOutMode 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdMemSetDiPattern 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdMemGetDiPattern 引数が正常であれば、AD_ERROR_SUCCESS を返します。
AdCommonGetPciDeviceInfo 引数が正常であれば、AD_ERROR_SUCCESS を返します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
240
第6章 サンプルプログラム
サンプルプログラムは「インストールディレクトリ/gpg3100/(アーキテクチャ名)/linux/samples/c」
にソースコード、Makefile を用意しています。
サンプルプログラムには実行形式ファイルが付属していませんので、Makefile を実行して、実行形
式のファイルを作成してからご使用ください。
6.1 file ・連続ファイルサンプリングが同期処理で行われ結果が「test.dat」のファイルに保存されます。
・制御するデバイスのデバイス番号を指定します。
※AdSetSamplingConfig 関数が使用できるデバイスのみ使用できます。
下記のサンプリング条件でファイルサンプリングを行ないます。
使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
サンプリングチャンネル数 2
サンプリング方式 デバイスのデフォルト値
サンプリング件数 100 件
サンプリング周波数 1000Hz
サンプリングチャンネル、レンジ CH1、±10V
サンプリングチャンネル、レンジ CH2、±10V
6.2 adasync ・アナログ出力更新がスタートしたタイミングと同期してサンプリングをスタートさせます。
・サンプリングがストップしたタイミングに同期してアナログ出力更新をストップさせます。
※PCI/CTP/CPZ-3525 でのみ使用できます。
下記のサンプリング条件でファイルサンプリングを行ないます。
使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
AD 部
サンプリングチャンネル数 2
サンプリング件数 100 件
サンプリング周波数 100kHz
サンプリングチャンネル、レンジ CH1、±5V
サンプリングチャンネル、レンジ CH2、±5V
DA 部
アナログ出力更新レート 1000Hz
アナログ出力チャンネル、レンジ CH1、±5V
6.3 InputAD ・1件入力(指定チャンネル)を行うプログラム。
・制御するデバイスのデバイス番号を指定します。
下記の条件で 1件入力を行ないます。
使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
チャンネル数 2
指定チャンネル CH1,CH2
レンジ ±5V
入力仕様 シングルエンド
GPG-3100 Help for Linux
© 2000 Interface Corporation.
241
6.4 AdSampling ・通常サンプリングを行います。
・制御するデバイスのデバイス番号を指定します。
※AdSetSamplingConfig 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.5 AdWaitEvent ・コールバックを使用したサンプリングを行います。
・制御するデバイスのデバイス番号を指定します。
※AdSetSamplingConfig 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.6 ExClk ・外部クロック入力でサンプリングを行います。
・制御するデバイスのデバイス番号を指定します。
※AdSetSamplingConfig 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.7 ATrg ・アナログトリガスタートでサンプリングを行います。
・制御するデバイスのデバイス番号を指定します。
※AdSetSamplingConfig 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.8 ATrg2 ・アナログトリガストップでサンプリングを行います。
・制御するデバイスのデバイス番号を指定します。
※AdSetSamplingConfig 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.9 ExTrg ・外部トリガ入力スタート・ストップでサンプリングを行います。
・制御するデバイスのデバイス番号を指定します。
※AdSetSamplingConfig 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.10 Eternity ・停止要求が発行されるまで無限にサンプリングを行います。
・制御するデバイスのデバイス番号を指定します。
※AdSetSamplingConfig 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
242
6.11 SyncPci ・複数枚同期サンプリング(PCI 製品)を行います。
・制御するデバイスのデバイス番号を指定します。
※AdSetSamplingConfig 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.12 SyncCpz ・複数枚同期サンプリング(CPZ 製品)を行います。
・制御するデバイスのデバイス番号を指定します。
※AdSetSamplingConfig 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.13 TrgSmpl ・AdTriggerSampling 関数を使用したサンプリングを行います。
・制御するデバイスのデバイス番号を指定します。
※AdTriggerSampling 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.14 MemTrg ・AdMemTriggerSampling 関数を使用したサンプリングを行います。
・制御するデバイスのデバイス番号を指定します。
※AdMemTriggerSampling 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.15 BmSampling ・通常サンプリング(バスマスタ用)を行います。
・制御するデバイスのデバイス番号を指定します。
※AdBmSetSamplingConfig 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.16 DmaSampling ・ユーザバッファの直接転送を行いながらサンプリングを行います。
・制御するデバイスのデバイス番号を指定します。
※x86_64 環境、PAE 有効の環境(メモリ 4GB 以上)では使用できません。
※AdBmSetSamplingConfig 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
243
6.17 BmExClk ・外部クロック入力でサンプリングを行います。
・制御するデバイスのデバイス番号を指定します。
※AdBmSetSamplingConfig 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.18 BmExTrg ・外部トリガ入力スタート・ストップでサンプリングを行います。
・制御するデバイスのデバイス番号を指定します。
※AdBmSetSamplingConfig 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.19 BmReTrg ・繰り返しサンプリングを行います。
・制御するデバイスのデバイス番号を指定します。
※AdBmSetSamplingConfig 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.20 MemSampling ・ソフトトリガでサンプリングを行います。
・制御するデバイスのデバイス番号を指定します。
※AdMemSetSamplingConfig 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.21 MemExClk ・外部クロック入力でサンプリングを行います。
・制御するデバイスのデバイス番号を指定します。
※AdMemSetSamplingConfig 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.22 MemExTrg ・外部トリガでサンプリングを行います。
・制御するデバイスのデバイス番号を指定します。
※AdMemSetSamplingConfig 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.23 ExTrgOut ・外部トリガ出力を行います。
・制御するデバイスのデバイス番号を指定します。
※外部トリガ出力機能が搭載しているデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
244
6.24 ExClkOut ・外部クロック出力を行います。
・制御するデバイスのデバイス番号を指定します。
※外部クロック出力機能が搭載しているデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.25 StatOut ・サンプリングステータス出力を行います。
・制御するデバイスのデバイス番号を指定します。
※サンプリングステータス出力機能が搭載しているデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.26 InputDi ・汎用入力を行います。
・制御するデバイスのデバイス番号を指定します。
※汎用入力機能が搭載しているデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.27 OutputDo ・汎用出力をを行います。
・制御するデバイスのデバイス番号を指定します。
※汎用出力機能が搭載しているデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
245
6.28 AdInputAD ・1件入力(指定チャンネル)を行うプログラム。
・制御するデバイスのデバイス番号を指定します。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.29 AdInputADEx ・1件サンプリングを行うプログラム。
・AdSetInputADEx 関数、AdInputADEx 関数を使用したサンプルプログラムです。
・制御するデバイスのデバイス番号を指定します。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.30 AdSync ・複数枚同期サンプリングを行います。
・制御するデバイスのデバイス番号を指定します。
※AdSetSamplingConfig 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.31 AdTrigger ・トリガ入力を使用し、サンプリングを行います。
・制御するデバイスのデバイス番号を指定します。
※AdTriggerSampling 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.32 BmATrg ・アナログトリガスタート・ストップでサンプリングを行います。
・制御するデバイスのデバイス番号を指定します。
※AdBmSetSamplingConfig 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.33 async ・複数枚同期サンプリング機能を使用したサンプリングを行います。
※AdSetSamplingConfig 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
6.34 sampledata ・連続サンプリングが同期処理で行われ結果が表示されます。
・制御するデバイスのデバイス番号を指定します。
・2チャンネル分のサンプリングデータを取得します。
※AdSetSamplingConfig 関数が使用できるデバイスのみ使用できます。
※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
246
第7章 ユーティリティ
7.1 AD 診断プログラム
1.ユーティリティの起動
起動するには、「caddiag」を実行します。
ディストリビューションによっては、パッケージ不足で実行できない可能性があります。
その場合にはパッケージをインストールし、ソースを再コンパイルして使用してください。
ソースコードについては、「インストールディレクトリ /gpg3100/( アーキテクチャ
名)/linux/util/src/caddiag」にあります。
2.デバイス型式の認識、表示
プログラムが起動すると、図 7.1 のようにプログラムが起動します。ここでデバイス番号を入力し
ます。
デバイス番号の設定はデバイス番号設定プログラムで設定します。
***********************************************
AD Diagnostic Program
------------------------------------------
Version: 1.01-02
------------------------------------------
Copyright 2000-2002 Interface Corporation.
All Rights Reserved.
***********************************************
Enter the device number:
図 7.1
図 7.2 のようにデバイス番号1のデバイスの型式、RSW1 設定値の情報が表示されます。
表示されたデバイスの自己診断を行なうのであれば ”y”キーを押し、そうでなければ ”n”キー
を押します。
===== Board Information =====
Device No.: 1
Board model: PCI-3135
RSW1(hex): 0h
================================
OK?(y/n) :
図 7.2
GPG-3100 Help for Linux
© 2000 Interface Corporation.
247
3.コンフィギュレーションの診断
次にリソースの表示とコンフィギュレーションの診断が行われ、その結果が表示されます。(図 7.3 )
===== Resource =============
I/O port address(hex):DC80
IRQ No.: 10
==========================
===== Self Check Results =====
I/O port address: OK
Interrupt: OK
===============================
図 7.3
4.AD変換機能の診断
次に AD 変換機能が正常に動作しているかを診断します。
入力仕様(Input configuration)、診断チャンネル(Diagnosis channel)、入力レンジ(Range)
の設定を順に行ないます。(図 7.4 )
・入力仕様(Input configuration)は 1:「Single-ended」 シングルエンド入力、2:「Differential」
差動入力より番号で選択します。
・選択した入力仕様での選択可能なチャンネルが表示されますので、診断を行なうチャンネル番号
を入力します。
・設定可能な入力レンジが表示されますので番号によりレンジを選択します。
===== Input Configuration ====
1: Single-ended
2: Differential
==========================
Enter the input configuration: 1
===== Diagnostic channel =====
1 through 16
===============================
Enter the channel number: 1
===== Range ====================
1:Bipolar: -1 V to +1 V
2:Bipolar: -2.5 V to +2.5 V
3:Bipolar: -5 V to +5 V
4:Bipolar: -10 V to +10 V
================================
Enter the input range :
図 7.4
GPG-3100 Help for Linux
© 2000 Interface Corporation.
248
選択した情報が表示され、
その情報で診断を行なうのであれば ”y”キーを押し、
そうでなければ ”n”キーを押します。
”n”キーを押した場合、図 7.4 の入力仕様選択へと戻ります。
”y”キーを押した場合、下図のように選択したチャンネルへレンジ内への電圧入力を促す表示に
なります。
診断チャンネルに、電圧を基準電圧発生器から入力して下さい。
ここで準備ができれば、”y”キーを押します。
===== Input configuration : Single-ended
===== Diagnostic channel : 1
===== Diagnostic range : -5 V to +5 V
==================================
OK?(y/n) : y
===== Reference Voltage Settings =====
Apply a voltage of – 5 V to +5 V to channel 1
=============================================
Press the y key after ready to run.
図 7.5
AD 変換機能診断が始まります。指定されたチャンネルからの AD 変換された電圧入力値を表示しま
す。
実際に入力された電圧値と表示している電圧値が正常かどうかを確認して下さい。
終了する時は ”q”キーを押して下さい。
===========================
Channel | Range | Input value
1 | -5 V to +5V | 3.752594V
===========================
Press the q key to exit.
図 7.6
GPG-3100 Help for Linux
© 2000 Interface Corporation.
249
7.2 AD 調整プログラム
1.ユーティリティの起動
起動するには、「cadadjust」を実行します。
ディストリビューションによっては、パッケージ不足で実行できない可能性があります。
その場合にはパッケージをインストールし、ソースを再コンパイルして使用してください。
ソ ー ス コ ー ド に つ い て は 「 イ ン ス ト ー ル デ ィ レ ク ト リ /gpg3100/( ア ー キ テ ク チ ャ
名)/linux/util/src/cadadjust」にあります。
AD 調整プログラムが起動します。
本プログラムで調整できる項目は以下の通りです。
設定項目 内容
入力仕様 調整を行う入力仕様を指定します。
チャンネル 調整を行うチャンネル番号を指定します。
レンジ 調整を行うチャンネルのレンジを指定します。
調整方法 調整を行う方法を指定します。
調整項目 調整を行う項目を指定します。
※調整が正常に行われければ、次回から正しいデータを取得することができなくなりますのでご
注意ください。
※調整の精度は、使用して頂く基準電源に大きく依存します。
2.デバイス型式の認識、表示
プログラムが起動すると、図 7.7 のようにプログラムが起動します。ここでデバイス番号を入力し
ます。
デバイス番号の設定はデバイス番号設定プログラムで設定します。
***********************************************
AD Calibration Program
------------------------------------------
Version: 1.01-02
------------------------------------------
Copyright 2000-2002 Interface Corporation.
All Rights Reserved.
***********************************************
Enter the device number:
図 7.7
図 7.7 のようにデバイス番号1のデバイスの型式、RSW1 設定値の情報が表示されます。
※調整機能がついていないデバイスを選択した場合、「This board is adjustment-free. Program
terminated.」と表示され、プログラムが終了します。
※PCI-3120、PCI-3170A、PCI-3171A、PCI-3172A、PCI-3173A、PCI-3180, PCI-3522A、PCI-3523A
CTP-3120A, CTP-3120B, CTP-3120C, CTP-3170、CTP-3171、CTP-3172、CTP-3173, CTP-3180A, CTP-3180B,
CTP-3180C, CTP-3522, CTP-3523、
CPZ-3120A, CPZ-3120B, CPZ-3120C, CPZ-3170、CPZ-3171、CPZ-3172、CPZ-3173, CPZ-3180A, CPZ-3180B,
CPZ-3180C, CPZ-3522, CPZ-3523、
GPG-3100 Help for Linux
© 2000 Interface Corporation.
250
CSI/CBI-320110、CBI-320110TK、CBI-320110TL
PEX-320910, LPC-320910 は調整する必要がありません。
表示されたデバイスの調整プログラムを行なうのであれば ”y”キーを押し、
そうでなければ ”n”キーを押します。
===== Board Information =======
Device No.: 1
Board model: PCI-3135
RSW1(hex): 0h
===============================
OK?(y/n) :
図 7.8
GPG-3100 Help for Linux
© 2000 Interface Corporation.
251
3.調整チャンネル設定
次に調整チャンネルの設定を行ないます。
入力仕様(Input Configuration)、調整チャンネル(Calibration channel)、入力レンジ(Range)
の設定を順に行ないます。(図 7.9 )
・入力仕様(Input configuration)は 1:「Single-ended」 シングルエンド入力、2:「Differential」
差動入力 より番号で選択します。
・選択した入力仕様での選択可能なチャンネルが表示されますので、調整を行なうチャンネル番号
を入力します。
・設定可能な入力レンジが表示されますので番号によりレンジを選択します。
===== Input Configuration ====
1: Single-ended
2: Differential
==========================
Enter the input configuration : 1
===== Calibration channel =====
1 through 16
===============================
Enter the channel number : 1
===== Range ==================
1:Bipolar: -1 V to +1 V
2:Bipolar: -2.5 V to +2.5 V
3:Bipolar: -5 V to +5 V
4:Bipolar: -10 V to +10 V
===============================
Enter the input range :
図 7.9
選択した情報が表示され、その情報で調整を行なうのであれば ”y”キーを押し、
そうでなければ ”n”キーを押します。
”n”キーを押した場合、図 7.9 の入力仕様選択へと戻ります。
===========================================
===== Input configuration : Single-ended
===== Calibration channel : 1
===== Calibration range : -5 V to +5 V
===========================================
OK?(y/n) : y
図 7.10
GPG-3100 Help for Linux
© 2000 Interface Corporation.
252
4.調整項目、方法設定
次に調整する調整項目を選択します。
型式 調整順番
PCI-3126, PCI-3133, PCI-3153, PCI-3161, PCI-3163, PCI-3166,
PCI-3168C, PCI-3177C, PCI-3178, PCI-320112, PCI-3521, PCI-3525,
PCI-320412, PCI-320416, PCI-360116, PCI-360112, PCI-360216,
PCI-362616
LPC-320724, LPC-321012, LPC-321116, LPC-321216, LPC-361116,
LPC-361216
PEX-320724, PEX-321012, PEX-321116, PEX-321216, PEX-361116,
PEX-361216
PEX-H3133, PEXE-H3177, PEX-H3525, PEX-H360116
CTP/CPZ-3126, CTP/CPZ-3133, CTP/CPZ-3165( ユニポーラの場合 ),
CTP/CPZ-3167(ユニポーラの場合), CTP/CPZ-3168, CTP/CPZ-3175(ユニポ
ーラの場合), CTP/CPZ-3177, CTP/CPZ-3178, CTP/CPZ-3182(ユニポーラ
の 場 合 ), CTP/CPZ-3183, CTP/CPZ-3521, CTP/CPZ-320412,
CTP/CPZ-320416, CTP/CPZ-360116, CTP/CPZ-360112
CTP/CPZ-3525,
CSI/CBI-320412, CBI-320412TR, CBI-320412TK, CBI-320412TL,
CSI/CBI-320416, CBI-320416TK, CBI-320416TR, CBI-320416TL,
CSI/CBI-360112, CBI-360112TR, CBI-360112TK, CBI-360112TL,
CSI/CBI-360116, CBI-360116TR, CBI-360116TK, CBI-360116TL
1.Offset
2.Gain
3.Half scale range
PCI-3135, PCI-3155, PCI-3165, PCI-3174, PCI-3175, PCI-3176,
PCI-362816
LPC-321316, LPC-321416, LPC-361316, LPC-361416
PEX-321316, PEX-321416, PEX-361316, PEX-361416
CTP/CPZ-3135, CTP/CPZ-3165(バイポーラの場合), CTP/CPZ-3167(バイポ
ーラの場合), CTP/CPZ-3174, CTP/CPZ-3175(バイポーラの場合),
CTP/CPZ-3182(バイポーラの場合)
CBI-3133A, CBI-3133B, CBI-3134A, CBI-3134B,
CSI/CBI-320212, CBI-320212TR, CBI-320212TK, CBI-320212TL,
CSI/CBI-320312, CBI-320312TR, CBI-320312TK, CBI-320312TL,
1.Half scale range
2.Gain
3.Offset
PCI-3120, PCI-3170A, PCI-3171A, PCI-3172A ,PCI-3173A, PCI-3180,
PCI-3522A, PCI-3523A
CTP/CPZ-3120A, CTP/CPZ-3120B, CTP/CPZ-3120C, CTP/CPZ-3170,
CTP/CPZ-3171, CTP/CPZ-3172, CTP/CPZ-3173, CTP/CPZ-3180A,
CTP/CPZ-3180B, CTP/CPZ-3180C,CTP/CPZ-3522, CTP/CPZ-3523
CSI/CBI-320110,CBI-320110TK,CBI-320110TL
調整不要
GPG-3100 Help for Linux
© 2000 Interface Corporation.
253
===== Calibration item ====
1 Offset
2 Half scale range
3 Gain
===========================
Enter the Calibration item:
図 7.11
調査項目を選択するとその調整項目に対しての調整方法を選択します。
※調整のポイント
・一回の調整では、調整しきれないことがあります。
この場合には、調整項目(Calibration Item) 1.、2.を繰り返し手動(Manual)調整し、目標値
(Reference Voltage)へ近づくように微調整していきます。
・レンジによっては一つの調整項目(Calibration Item)を目標値(Reference Voltage)通りに調
整すると、残りの調整項目が調整範囲に入らないことがあります。
この場合には、調整できている項目の調整値を意図的にずらして、残りの調整項目が調整範囲内
に入るようにします。
調整方法には手動(Manual)、自動(Automatic)があります。
===== Method ====
1:Manual
2:Automatic
=========================
Enter the metod:
図 7.12
設定情報が表示され、調整チャンネルへの電圧入力を促すメッセージが表示されます。
表示されているチャンネル番号に、指定された電圧を基準電圧発生器から入力して下さい。
ここで準備ができれば、”y”キーを押します。
==============================================================
channel | Range | Method | Calibration item
1 | -1 to +1V | Manual | Offset
=== Reference voltage settings ===============================
Apply a voltage of -0.999878 V to channel 1
==============================================================
Press the y key after ready to run.
図 7.13
GPG-3100 Help for Linux
© 2000 Interface Corporation.
254
5.ボリューム調整
調整チャンネルに入力される電圧を 100 件ごとに取得し、平均して「Input value」に表示します。
「Reference voltage」の電圧に近づくように電圧入力の調整を行ないます。
調整方法を手動(Manual)に設定していた場合、「Calibration」表示の横のメッセージが「OK」の
表示に変わるまで下記の操作を行ない、調整を行なって下さい。
自動(Automatic)に設定していた場合は自動的に「Calibration」表示の横のメッセージが「OK」
の表示に変わるまで調整を行ないます。手動の操作は必要ありません。
中断したい場合は ’n’キーを押して下さい。
※自動調整では調整しきれない微少な誤差の調整は手動での調整を行なって下さい。
手動での調整時では下にメッセージが表示されているように、
’u’キーを押すとプラス方向への調整を行ない、
’d’キーを押すとマイナス方向への調整を行ないます。
次の調整項目に移りたい時は ’n’キーを押して下さい。
====================================
Reference voltage : -0.999878V
-----------------------------------
channel | Range | Input value
1 | -1 to +1V | -0.999812V
===================================
Calibration: OK
Press the u key to increase the volume:
Press the d key to decrease the volume:
Press the n key to progress:
図 7.14
’n’キーを押すと下のようなメッセージが表示されます。
Save ? (y/n)
図 7.15
GPG-3100 Help for Linux
© 2000 Interface Corporation.
255
ここで調整したボリュームの保存を行ないます。保存を行なう場合は ’y’キーを押し、保存しな
い場合は ’n’キーを押して下さい。
’n’キーを押した場合に下記型式では、EEPROM に保存されている調整値をロードします。
その他のデバイスは、現在の調整値になります。
PCI-320112, PCI-320412, PCI-320416, PCI-360116, PCI-360112, PCI-360216, PCI-362616,
PCI-362816
LPC-321316, LPC-321416, LPC-361316, LPC-361416, LPC-321116, LPC-321216, LPC-361116,
LPC-361216
PEX-321316, PEX-321416, PEX-361316, PEX-361416, PEX-321116, PEX-321216, PEX-361116,
PEX-361216
PEX-H360116
CTP/CPZ-3183, CTP/CPZ-320412, CTP/CPZ-320416, CTP/CPZ-360116
CBI-3133A, CBI-3133B, CBI-3134A, CBI-3134B,
CSI/CBI-320212, CBI-320212TR, CBI-320212TK, CBI-320212TL,
CSI/CBI-320312, CBI-320312TR, CBI-320312TK, CBI-320312TL,
CSI/CBI-320412, CBI-320412TR, CBI-320412TK, CBI-320412TL,
CSI/CBI-320416, CBI-320416TK, CBI-320416TR, CBI-320416TL,
CSI/CBI-360112, CBI-360112TR, CBI-360112TK, CBI-360112TL,
CSI/CBI-360116, CBI-360116TR, CBI-360116TK, CBI-360116TL
次に下のメッセージが表示されます。
「n」キーを押すと調整項目選択画面に移ります。
「q」キーを押すとプログラムが終了します。
Press the n key to go next step:
Press the q key to exit:
図 7.16
GPG-3100 Help for Linux
© 2000 Interface Corporation.
256
7.3 AD 倍速モード調整プログラム
1.ユーティリティの起動
起動するには、「cdouble」を実行します。
ディストリビューションによっては、パッケージ不足で実行できない可能性があります。
その場合にはパッケージをインストールし、ソースを再コンパイルして使用してください。
ソ ー ス コ ー ド に つ い て は 、「 イ ン ス ト ー ル デ ィ レ ク ト リ /gpg3100/( ア ー キ テ ク チ ャ
名)/linux/util/src/cdouble」にあります。
※このプログラムは PCI-3161、PCI-3163、PCI-3525, CPZ-3525, PEX-H3525 の倍速モードでの調整
を行なうプログラムです。
調整可能な項目は以下の通りです
設定項目 内容
レンジ 調整を行うチャンネルのレンジを指定します。
調整方法 調整を行う方法を指定します。
調整項目 調整を行う項目を指定します。
※調整が正常に行われければ、次回から正しいデータを取得することができなくなりますのでご
注意ください。
※調整の精度は、使用して頂く基準電源に大きく依存します。
2.デバイス型式の認識、表示
プログラムが起動すると、図 7.17 のようにプログラムが起動します。ここでデバイス番号を入力し
ます。
デバイス番号の設定はデバイス番号設定プログラムで設定します。
*******************************************************
AD Double-Clocked Mode Calibration Program
--------------------------------------------
Version: 1.00-01
------------------------------------------
Copyright 2000-2002 Interface Corporation.
All Rights Reserved.
***********************************************
Enter the device number:
図 7.17
図 7.18 のようにデバイス番号1のデバイスの型式、RSW1 設定値の情報が表示されます。
※PCI-3161、PCI-3163、PCI-3525, CPZ-3525, PEX-H3525 以外のデバイスを選択した場合、「Cannot
Calibration」と表示され、プログラムが終了します。
GPG-3100 Help for Linux
© 2000 Interface Corporation.
257
表示されたデバイスの調整プログラムを実行するのであれば 「y」キーを押し、そうでなければ ”n”
キーを押します。
===== Board Information =====
Device No.: 2
Board model : PCI/PAZ-3163
RSW1(hex): 0h
================================
OK?(y/n):
図 7.18
4.調整チャンネル設定
次に調整チャンネルの設定を行ないます。
入力仕様(Input Configuration)、調整チャンネル(Calibration channel)が表示され、入力レン
ジ(Range)の設定を行ないます。(図 7.19)
・設定可能な入力レンジが表示されますので番号によりレンジを選択します。 ===== Input Configuration ====
1 : Single-ended
==============================
===== Calibration channel =======
1
==================================
===== Range ===================
1:Unipolar: 0 V to +1 V
2:Unipolar: 0 V to +2.5 V
3:Unipolar: 0 V to +5 V
4:Bipolar : -1 V to +1 V
5:Bipolar : -2.5 V to +2.5 V
6:Bipolar : -5 V to +5 V
================================
Enter the input range :
図 7.19
選択した情報が表示され、
その情報で調整を行なうのであれば 「y」キーを押し、
そうでなければ 「n」キーを押します。
「n」キーを押した場合、図 7.19 の入力仕様選択へと戻ります。
===========================================
===== Input configuration: Single-ended
===== Calibration channel: 1
===== Calibration range: 0 V to +1 V
===========================================
OK?(y/n) : y
図 7.20
GPG-3100 Help for Linux
© 2000 Interface Corporation.
258
5.調整項目、方法設定
型式 調整順番
PCI-3161, PCI-3163, PCI-3525, CPZ-3525, PEX-H3525 1.Offset
2.Gain
3.Half scale range
次に調整する調整項目を選択します。
===== Calibration Item ====
1 Offset
2 Half scale range
3 Gain
===========================
Enter the calibration item:
図 7.21
調査項目を選択するとその調整項目に対しての調整方法を選択します。
※調整のポイント
・一回の調整では、調整しきれないことがあります。
この場合には、調整項目(Calibration Item) 1.、2.を繰り返し手動(Manual)調整し、目標値
(Reference Voltage)へ近づくように微調整していきます。
・レンジによっては一つの調整項目(Calibration Item)を目標値(Reference Voltage)通りに調
整すると、残りの調整項目が調整範囲に入らないことがあります。
この場合には、調整できている項目の調整値を意図的にずらして、残りの調整項目が調整範囲内
に入るようにします。
調整方法には手動(Manual)、自動(Automatic)があります。
※PCI-3161 においてオフセット、ミドルレンジの調整時は手動(Manual)のみの調整になります。
===== Metod ====
1 Manual
2 Automatic
================
Enter the method:
図 7.22
GPG-3100 Help for Linux
© 2000 Interface Corporation.
259
設定情報が表示され、調整チャンネルへの電圧入力を促すメッセージが表示されます。
表示されているチャンネル番号に、指定された電圧を基準電圧発生器から入力して下さい。
ここで準備ができれば、”y”キーを押します。
==========================================================
Channel | Range | Method | Calibration item
1 | 0 V to +1 V | Manual | Offset
=== Reference voltage settings ===========================
Apply a voltage of 0.000977 V to channel 1
==========================================================
Press the y key after ready to run:
図 7.23
6.ボリューム調整
倍速モードでの調整時は2つの AD コンバータ(ADC)をそれぞれ調整することになります。よって下
図 7.24 のように調整時の画面が2画面表示されます。
調整チャンネルに入力される電圧を 100 件ごとに取得し、平均して「Input value」に表示します。
「Reference voltage」の電圧に近づくように電圧入力の調整を行ないます。
調整方法を手動(Manual)に設定していた場合、「Adjustment」表示の横のメッセージが「OK」の表
示に変わるまで下記の操作を行ない、調整を行なって下さい。
自動(Automatic)に設定していた場合は自動的に「Adjustment」表示の横のメッセージが「OK」の
表示に変わるまで調整を行ないます。手動の操作は必要ありません。
中断したい場合は ’n’キーを押して下さい。
※自動調整では調整しきれない微少な誤差の調整は手動での調整を行なって下さい。
手動での調整時では下にメッセージが表示されているように、
’s’キーを押すと ADC1 のプラス方向への調整を行ない、
’a’キーを押すと ADC1 のマイナス方向への調整を行ないます。
’l’キーを押すと ADC2 のプラス方向への調整を行ない、
’k’キーを押すと ADC2 のマイナス方向への調整を行ないます。
次の調整項目に移りたい時は ’n’キーを押して下さい。
=======================================
Reference voltage: 0.000977V
---------------------------------------
ADC1 | Range | Input value
***** | 0 V to +1 V | 0.000981V
=======================================
Calibration: OK
=======================================
---------------------------------------
ADC2 | Range | Input value
GPG-3100 Help for Linux
© 2000 Interface Corporation.
260
***** | 0 V to +1 V | 0.001081V
=======================================
Calibration: OK
=======================================
Press the s key to increase the volume for ADC1:
Press the a key to decrease the volume for ADC1:
Press the l key to inclease the volume for ADC2:
Press the k key to decrease the volume for ADC2:
Press the n key to next stop:
図 7.24
図 7.24 で ’n’キーを押すと下のようなメッセージが表示されます。
Save ? (y/n)
ここで調整したボリュームの保存を行ないます。
保存を行なう場合は ’y’キーを押し、
保存しない場合は ’n’キーを押して下さい。
次に下のメッセージが表示されます。
’n’キーを押すと図 5.5 の調整項目選択画面に移ります。
’q’キーを押すとプログラムが終了します。
Press the n key to go next step:
Press the q key to exit:
図 7.25
GPG-3100 Help for Linux
© 2000 Interface Corporation.
261
第8章 重要な情報
保証の内容と制限
弊社は本ドキュメントに含まれるソースプログラムの実行が中断しないこと、またはその実行に誤り
が無いことを保証していません。
本製品の品質や使用に起因する、性能に起因するいかなるリスクも使用者が負うものとします。
弊社はドキュメント内の情報の正確さに万全を期しています。万一、誤記または誤植などがあった場
合、弊社は予告無く改訂する場合があります。ドキュメントまたはドキュメント内の情報に起因する
いかなる損害に対しても弊社は責任を負いません。
ドキュメント内の図や表は説明のためであり、ユーザ個別の応用事例により変化する場合があります。
著作権、知的所有権
弊社は本製品に含まれるおよび本製品に対する権利や知的所有権を保持しています。
本製品はコンピュータ ソフトウェア、映像/音声(例えば図、文章、写真など)を含んでいます。
医療機器/器具への適用における注意
弊社の製品は人命に関わるような状況下で使用される機器に用いられる事を目的として設計、製造さ
れた物では有りません。
弊社の製品は人体の検査などに使用するに適する信頼性を確保する事を意図された部品や検査機器
と共に設計された物では有りません。
医療機器、治療器具などの本製品の適用により、製品の故障、ユーザ、設計者の過失などにより、損
傷/損害を引き起こす場合が有ります。
複製の禁止
弊社の許可なく、本ドキュメントの全て、または一部に関わらず、複製、改変などを行うことはでき
ません。
責任の制限
弊社は、弊社または再販売者の予見の有無にかかわらず発生したいかなる特別損害、偶発的損害、間
接的な損害、重大な損害について、責任を負いません。
本製品(ハードウェア,ソフトウェア)のシステム組み込み、使用、ならびに本製品から得られる結果
に関する一切のリスクについては、本製品の使用者に帰属するものとします。
本製品に含まれる不都合、あるいは本製品の供給(納期遅延)、性能もしくは使用に起因する付帯的損
害もしくは間接的損害に対して、弊社に全面的に責がある場合でも、弊社はその製品に対する改良(有
償サービスの利用)、代品交換までとし、製品の予防交換並びに、代金減額等、金銭面での賠償の責
任は負わないものとします。
本製品は、日本国内仕様です。
商標/登録商標
本書に掲載されている会社名、製品名は、それぞれ各社の商標または登録商標です。