261
AD(PCI/C-PCI)Linux/RT www.interface.co.jp GPG-3100 アナログ入力インタフェースモジュール用 Linux/RT ドライバ Ver.6.10 Help for Linux

GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

AD(PCI/C-PCI)Linux/RT

www.interface.co.jp

GPG-3100 アナログ入力インタフェースモジュール用Linux/RTドライバ Ver.6.10

Help for Linux

Page 2: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 3: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 4: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

GPG-3100 Help for Linux

© 2000 Interface Corporation.

4

第1章 はじめに

1.1 概要 本ソフトウェアは、Linux アプリケーションから、弊社製品の制御を行うためのソフトウェアです。

GPG-3100 は、弊社アナログ入力製品を Linux アプリケーションから Lib をリンクし関数をコールす

ることにより制御します。

本ドキュメントは、Linux 上で GPG-3100 を使用するための情報を掲載しています。

1.2 特長 ●複数枚同期サンプリングをサポートしているので、複数のデバイス間で同時にサンプリングが可能

です。(複数枚同期サンプリングをサポートしていないデバイスがあります)

●キャリブレーションソフトウェアを含んでいます。

●ディスクへのデータ保存ができます。

●データ変換関数(AdDataConv 関数、AdReadFile 関数)を使用してサンプリングデータの各種変換

を行う事ができ、バイナリデータ、物理データの変換をサポートしています。

●平均化処理を使用することでノイズ除去を行うことができます。

●トリガ機能を備えているため、トリガ発生と同時にアナログ入力の開始または終了を行う事ができ

ます。

●トリガディレイ機能を持っていますので、事象発生の前後や事象発生から指定時間経過後のデータ

を取得する事ができます。

●ソフトウェアによるレンジ設定、オフセット・ゲイン調整が行えます。(一部型式未対応)

サンプリング終了時、フルスケール検出時、指定電圧検出時においてイベントを発生させます。

Page 5: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)

※これらの値は参考値です。使用環境によって異なります。

Page 6: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 のみ以下の機能をサポートしていま

す。

過電圧入力時自動レンジ切替機能検出

過電圧入力時自動レンジ切替機能発生によりサンプリング終了

Page 7: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

GPG-3100 Help for Linux

© 2000 Interface Corporation.

7

データ変換機能 平均(単純/移動)

スムージング

データ形式:バイナリ←→物理量変換

Page 8: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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:

Page 9: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

となります。

Page 10: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 );

Page 11: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 制御手順

「デバイスオープン」→「サンプリング条件設

→ 「デバイスクローズ」の一連のデバイス制御を行います。

よ 』、およびチュートリアルをご参照ください。

Page 12: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 );

Page 13: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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;

}

Page 14: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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;

}

Page 15: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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;

Page 16: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 );

Page 17: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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;

}

その他の方法としては、外部クロックを使用し、全てのデバイスに同一クロックを入力する方法や、

外部トリガを、全てのデバイスに入力し、全てのデバイスでサンプリングを同時に開始する方法など

があります。

Page 18: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 );

// データの取得

Page 19: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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;

}

Page 20: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 );

// データの取得

Page 21: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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;

}

Page 22: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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;

}

Page 23: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 );

// サンプリングの開始

Page 24: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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;

}

Page 25: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 番号がわかるように番号を記したシールをカードに貼ることをお勧めします。

Page 26: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 27: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 28: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

GPG-3100 Help for Linux

4.2 トリガ トリガ機能は、サンプリングスタート(AdStartSampling関数呼び出し)後、実際のサンプリングを

開始、またはサンプリングを終了するタイミングを決定する機能です。

トリガ機能には、次のものがあります。

1. アナログトリガ

2. 外部トリガ

3. DI マスク付き外部トリガ

トリガディレイ機能が設定されている場合、実際のサンプリング開始/終了は、これらのトリガから

ディレイ件数分のずれが発生します。

サンプリングスタート、ストップの両方にトリガを指定した場合には、スタート時にしかディレイを

設定する事はできません。

また、この場合にはストップトリガより先に、指定したサンプリング件数に達するとサンプリングは

終了します。

4.2.1 アナログトリガ トリガチャンネルに指定されたチャンネルへの入力レベルと、トリガレベルで指定したレベルの関

係で、実際のサンプリングを開始/終了するタイミングを決定します。

アナログトリガには、次の種類があります。

レベルプラス

トリガレベル 1で設定したレベルより低いレベルから、高いレベルへと変化が起こった時をトリ

ガとします。

レベルマイナス

トリガレベル1で設定したレベルより高いレベルから低いレベルへと変化が起こった時をトリガ

とします。

トリガレベル 1 ○

トリガポイント

トリガポイント

○トリガレベル 1

© 2000 Interface Corporation.

28

Page 29: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 30: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 31: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

GPG-3100 Help for Linux

© 2000 Interface Corporation.

31

4.2.4 トリガディレイ トリガ機能が設定されている場合、トリガとなったタイミングから更に実際のサンプリング開始

/終了のタイミングをずらせる機能です。トリガディレイには、次の 2つがあります。

ポストトリガディレイ

トリガとなったタイミングから、ディレイ件数分遅れたデータを実際のサンプリング開始/終

了タイミングとします。

プリトリガディレイ

トリガとなったタイミングから、ディレイ件数分、前のデータを実際のサンプリング開始タイ

ミングとします。

トリガディレイ時のサンプリング件数

サンプリング件数、トリガ件数はAdSetSamplingConfig関数、AdBmSetSamplingConfig関数で設

定する値です。

1) スタートトリガ+プリトリガディレイ

|<------サンプリング件数------->|

| | |

|プリトリガ件数| |

|<----->|---------------|

| |

トリガ発生 サンプリング終了

サンプリング件数にはプリトリガ件数も含まれます。

2)スタートトリガ+ポストトリガディレイ

|<------サンプリング件数------->|

| | |

|ポストトリガ件数| |

|<------>|-----------------------|

| |

トリガ発生 サンプリング終了

サンプリング件数にポストトリガ件数は含まれません。

3)ストップトリガ+ポストトリガディレイ

|<------サンプリング件数------->|

| |

| |ポストトリガ件数|

|--------------|<------>|

| |

トリガ発生 サンプリング終了

サンプリング件数にはポストトリガ件数も含まれます。

Page 32: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)プリトリガあり-ポストトリガあり

トリガ発生

| |プリトリガ件数 | ポストトリガ件数 |

|<-------->|<------------------->|<------------------------>|

| | | |

開始コマンド サンプリング終了

Page 33: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 関数未対応

Page 34: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 35: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 関数未対応

Page 36: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 端子のデバイスでは、外部クロック、

外部トリガを同時に使用することはできません。

Page 37: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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件のみとなります。

Page 38: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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件目のステータス

Page 39: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 バイト

Page 40: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 バイト

Page 41: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 42: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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:オーバランエラー検出なし

Page 43: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

※サンプリング開始時、カウンタクリアを行います。

Page 44: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

GPG-3100 Help for Linux

© 2000 Interface Corporation.

44

※サンプリングクロックの立ち下り時にカウントアップします。

※フリーランカウンタとする。00h→01h→02h→…→FEh→FFh→00h→…

Page 45: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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:アナログトリガ(サンプリング終了条件)検出なし

Page 46: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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:オーバランエラー検出なし

Page 47: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 48: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

xk 1+

●● ●

●● x xk

x jk ,

tj n 2 0 1

Page 49: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 となります。

Page 50: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 端子に入力してください。

Page 51: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 52: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

GPG-3100 Help for Linux

© 2000 Interface Corporation.

52

● スタートストップトリガについて

スタートストップトリガ(AD_TRIG_START_STOP)を指定する場合は、トリガディレイを使用出来

ません。その場合、AD サンプリング構造体(ADSMPLREQ 構造体)の lTrigDelay には必ず 0 を指

定します。

Page 53: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 カップリング回路とは、直流バイアス成分を取り除き、交流成分だけを抽出する回路です。

Page 54: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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==

×

Page 55: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

GPG-3100 Help for Linux

© 2000 Interface Corporation.

55

● スタートストップトリガについて

スタートストップトリガ(AD_TRIG_START_STOP)を指定する場合は、トリガディレイを使用出来

ません。その場合、AD サンプリング構造体(ADSMPLREQ 構造体)の lTrigDelay には必ず 0 を指

定します。

Page 56: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 周期でサンプリング)という設定となります。

Page 57: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 を指

定します。

Page 58: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 を指定します。

Page 59: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 後に発生します。

Page 60: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 件単位

Page 61: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 件単位で指定して下さい。

Page 62: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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==

×

Page 63: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 の状態です。

Page 64: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 件まで指定できます。

Page 65: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 66: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 をマスクしてください。

Page 67: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)

Page 68: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 以降のデバイスのみで使

用できます。

Page 69: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 70: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 関数にて、オーバランエラー発生時のサンプリング停止/継続を選択す

ることができます。

サンプリングを継続した場合、オーバランエラーによりデータ抜けが発生するため、指定したサ

ンプリング件数と異なる件数でサンプリングが終了します。

Page 71: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 程

度となるようにしてください。

Page 72: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 関数にて、サンプリングクロックエラー発生時のサンプリング停止/継続

を選択することができます。サンプリングを継続した場合、エラークロック(チャンネル切り替え

中に入力されたサンプリングクロック)を無視して、サンプリングを継続します。

Page 73: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 を起動して下さい。

Page 74: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 がフリーズしてしまうこともあります。

Page 75: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

GPG-3100 Help for Linux

© 2000 Interface Corporation.

75

このような場合には、イベント通知サンプリング件数を大きくし、イベント発生間隔を 100ms 程

度となるようにしてください。

Page 76: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 を起動して下さい。

Page 77: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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(ト

リガなし)のみ指定できます。

その他のトリガは設定することはできません。

Page 78: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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関数にて、サンプリングクロックエラー発生時のサンプリング停止/継続を

選択することができます。サンプリングを継続した場合、エラークロック(チャンネル切り替え中

に入力されたサンプリングクロック)を無視して、サンプリングを継続します。

Page 79: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 80: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 複数枚同期サンプリング機能を使用したサンプリングを行います。

Page 81: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 アナログ入力デバイスのリソース情報を取得します。

Page 82: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 の現在設定されているサンプリング条

件を取得します。

Page 83: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 アナログ入力デバイスのリソース情報を取得します。

Page 84: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 アナログ入力デバイスのリソース情報を取得します。

Page 85: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 アナログ入力デバイスのリソース情報を取得します。

Page 86: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 関数で指定された条件

Page 87: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 アナログ入力デバイスのリソース情報を取得します。

Page 88: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 アナログ入力デバイスのリソース情報を取得します。

Page 89: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 アナログ入力デバイスのリソース情報を取得します。

Page 90: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 アナログ入力デバイスのリソース情報を取得します。

Page 91: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 アナログ入力デバイスのリソース情報を取得します。

Page 92: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 アナログ入力デバイスの現在設定されているサンプリング条件を

Page 93: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

GPG-3100 Help for Linux

© 2000 Interface Corporation.

93

取得します。

AdBmGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得

します。

AdBmStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイ

ルに書き込みながらサンプリングを行います。

AdStartSamplingEx アナログ入力デバイスのサンプリングをスタートさせます。

(x86_64 以外でのみ使用できます)

AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに

対し平均処理やスムージング処理を行うことができます。

AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。

Page 94: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 アナログ入力デバイスの過電圧入力時自動レンジ切換イベントの

ステータスを取得します。

Page 95: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

GPG-3100 Help for Linux

© 2000 Interface Corporation.

95

AdResetOverRangeCh アナログ入力デバイスの過電圧入力時自動レンジ切換イベントの

ステータスをリセットします。

AdBmSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。

AdBmGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を

取得します。

AdBmGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得

します。

AdBmStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイ

ルに書き込みながらサンプリングを行います。

AdStartSamplingEx アナログ入力デバイスのサンプリングをスタートさせます。

(x86_64 以外でのみ使用できます)

AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに

対し平均処理やスムージング処理を行うことができます。

AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。

Page 96: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 フルスケール検出イベントをリセットします。

Page 97: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

GPG-3100 Help for Linux

© 2000 Interface Corporation.

97

AdGetRangeEventStatus アナログ入力デバイスのフルスケール検出イベントのステータス

を取得します。

AdBmSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。

AdBmGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を

取得します。

AdBmGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得

します。

AdBmStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイ

ルに書き込みながらサンプリングを行います。

AdStartSamplingEx アナログ入力デバイスのサンプリングをスタートさせます。

(x86_64 以外でのみ使用できます)

AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに

対し平均処理やスムージング処理を行うことができます。

AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。

Page 98: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 サンプリングバッファに格納されているサンプリングデータを取

Page 99: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

GPG-3100 Help for Linux

© 2000 Interface Corporation.

99

得します。

AdSetRangeEvent アナログ入力デバイスのフルスケール検出イベント条件の設定を

行います。

AdResetRangeEvent フルスケール検出イベントをリセットします。

AdGetRangeEventStatus アナログ入力デバイスのフルスケール検出イベントのステータス

を取得します。

AdBmSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。

AdBmGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を

取得します。

AdBmGetSamplingData アナログ入力デバイスから入力されたサンプリングデータを取得

します。

AdBmStartFileSampling アナログ入力デバイスからのサンプリングデータをデータファイ

ルに書き込みながらサンプリングを行います。

AdSetOutMode アナログ入力デバイスの外部出力信号制御設定を設定します。

AdGetOutMode アナログ入力デバイスの外部出力信号制御設定を取得します。

AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに

対し平均処理やスムージング処理を行うことができます。

AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。

AdStartSamplingEx アナログ入力デバイスのサンプリングをスタートさせます。

(x86_64 以外でのみ使用できます)

Page 100: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 アナログ入力デバイスのフルスケール検出イベントのステータス

Page 101: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

GPG-3100 Help for Linux

© 2000 Interface Corporation.

101

を取得します。

AdSetInterval アナログ入力デバイスのインターバルタイマの設定を行います。

AdGetInterval アナログ入力デバイスのインターバルタイマ設定を取得します。

AdSetFunction CN3、CN4 の機能設定を行います。

AdGetFunction CN3、CN4 の機能設定を取得します。

AdBmSetSamplingConfig アナログ入力デバイスのサンプリング条件の設定を行います。

AdBmGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を

取得します。

AdStartSamplingEx アナログ入力デバイスのサンプリングをスタートさせます。

(x86_64 以外でのみ使用できます)

AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに

対し平均処理やスムージング処理を行うことができます。

AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。

Page 102: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 アナログ入力デバイスのサンプリング条件の設定を行います。

Page 103: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

GPG-3100 Help for Linux

© 2000 Interface Corporation.

103

AdBmGetSamplingConfig アナログ入力デバイスの現在設定されているサンプリング条件を

取得します。

AdStartSamplingEx アナログ入力デバイスのサンプリングをスタートさせます。

(x86_64 以外でのみ使用できます)

AdDataConv アナログデータの形式を変換します。形式の変換とともにデータに

対し平均処理やスムージング処理を行うことができます。

AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。

Page 104: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 アナログ入力デバイスのリソース情報を取得します。

Page 105: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 アナログデータの形式を変換します。形式の変換とともにデータに

Page 106: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

GPG-3100 Help for Linux

© 2000 Interface Corporation.

106

対し平均処理やスムージング処理を行うことができます。

AdCommonGetPciDeviceInfo アナログ入力デバイスのリソース情報を取得します。

Page 107: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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のアナログ入力デバイスをオープンします。

Page 108: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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のアナログ入力デバイスのクローズ処理を行います。

Page 109: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)からデバイスの型式の取得を行います。

Page 110: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 が格納されます。

Page 111: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 112: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)の、リソース情報を取得します。

Page 113: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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のアナログ入力デバイスのコールバック関数の設定を行ないます。

Page 114: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 のみ)

Page 115: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 のアナログ入力デバイスからコールバック関数が呼び出された要因を取得します。

Page 116: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 件単位 -

Page 117: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 件単位 -

Page 118: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 件単位 -

Page 119: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 チャンネルの設定)を設定しま

す。

Page 120: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)からサンプリング件数、サンプリング周波数を取得し

ます。

Page 121: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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関数をご使用ください。

Page 122: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 に格納され

ます。

Page 123: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 124: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 に格納されます。

Page 125: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)のサンプリング入力バッファ内のサンプリングデータ

をクリアします。

Page 126: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 処理終了

[連続サンプリング中]

↓ ↑

ドライバ/デバイス

連続サンプリング開始・ ・ ・ ・ ・ ・ ・ ・ ・ ・連続サンプリング終了

[連続サンプリング中]

Page 127: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)の連続サンプリング入力を非同期処理として開始しま

す。

Page 128: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 形式でデータを保存するときには、データをバイナリから物理量に変換するのでオーバー

ヘッドがかかり、設定したサンプリング周期でサンプリングができない場合があります。

・サンプリングバッファにデータが残っている状態でファイルサンプリングを開始した場合には、

ファイルサンプリング開始と同時にサンプリングバッファはクリアされます。

・既に存在しているファイル名を指定したときには上書き保存されますので、ご注意下さい。

Page 129: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

GPG-3100 Help for Linux

© 2000 Interface Corporation.

129

使用例

int nRet;

nRet = AdStartFileSampling( 1, "DATA.CSV" , FLAG_CSV );

デバイス番号 1 のアナログ入力デバイスからのサンプリングデータを、データファイル

'DATA.CSV'に CSV 形式として書き込みながら連続サンプリング入力を行います。

Page 130: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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;

Page 131: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 132: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 133: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 のアナログ入力デバイス

をスレーブに設定して複数枚同期サンプリングを実行します。

Page 134: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 135: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 件行います。

Page 136: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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を指定してください。

Page 137: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 138: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 でサン

プリングを行います。

Page 139: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)に対して、即サンプリングの停止を行います。

Page 140: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

備考

サンプリング済み件数について

サンプリング済み件数はサンプリングバッファにデータが格納されてからカウントされます。

サンプリング済み件数はサンプリング方式、サンプリング件数、トリガの有無によってカウント

方法が異なります。

Page 141: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 方式

ストップトリガ

+ポストトリガディレイ

トリガが入ってポストトリガディレイ件数分サン

プリングした時点(サンプリング終了時)でサンプ

リング件数が格納されます。

サンプリング中にはサンプリング件数を参照する

事はできません。

Page 142: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 になります。無限サンプリング時には、サンプリング残件数を参照

することはできません。

Page 143: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)に対して、現在のサンプリング状態などを取得します。

Page 144: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 145: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 回

実行します。

Page 146: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 関数にて

Page 147: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 に対して、サンプリング条件を

設定します。

Page 148: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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回実行します。

Page 149: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)から汎用入力端子の状態を読み出します。

Page 150: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 のデータを出力します。

Page 151: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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:サンプリングを停止する

Page 152: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 -

Page 153: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)のフルスケールレンジ検出時の動作を設定します。

Page 154: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 -

Page 155: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)のフルスケール検出イベントをリセットします。

Page 156: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 -

Page 157: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)に対して、現在のフルスケール検出イベントのステー

タスを取得します。

Page 158: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 構造体)へのポインタ

を指定します。

Page 159: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 160: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 構造体に格納

・スムージング :無し

・ユーザ関数 :無し

Page 161: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)に

読み込みます。

Page 162: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 関数は、値を返しません。

Page 163: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

GPG-3100 Help for Linux

© 2000 Interface Corporation.

163

30. CallbackProc サンプリング終了時に呼び出されるコールバック関数です。AdSetBoardConfig 関数のパラメータ

の pEventProc に CallBackProc 関数へのポインタを設定することにより、サンプリング終了時に

CallBackProc 関数を呼び出すことができます。

void CallbackProc(

int uData /* ユーザ・データ */

);

パラメータ

uData AdSetBoardConfig 関数のパラメータ uData で指定したデータが渡されます。

戻り値

CallBackProc 関数は、値を返しません。

Page 164: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 165: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 でのみサポートしています。

Page 166: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 に格納されます。

Page 167: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 カップリング機能搭載)

Page 168: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

コールバック関数:あり

Page 169: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)から各種サンプリング条件を取得します。

Page 170: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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の較正を行います。

Page 171: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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で連続サンプリングを開始します。

Page 172: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)に対して、即サンプリングの停止を行います。

Page 173: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 174: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)に対して、現在のサンプリング状態を取得します。

Page 175: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 に格納され

ます。

Page 176: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 コネクタ付近の温度を取得します。

Page 177: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 件単位 -

Page 178: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 件単位 -

Page 179: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 チャンネルの設定)を設定しま

す。

Page 180: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)からサンプリング件数、サンプリング周波数を取得し

ます。

Page 181: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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関数でデータを取得することができます。

Page 182: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 に格納されます。

Page 183: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 形式として書き込みながら連続サンプリング入力を行います。

Page 184: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 周期に設定します。

Page 185: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)のインターバルタイマ設定を取得します。

Page 186: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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に設定しま

す。

Page 187: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)のオーバーサンプリングレートの設定値を取得します。

Page 188: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)の過電圧入力時自動レンジ切換イベントをリセットし

ます。

Page 189: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)に対して、過電圧入力時自動レンジ切換イベントのス

テータスを取得します。

Page 190: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 関数でディレイとしてプリトリガを設

定しないください。

Page 191: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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のアナログ入力デバイスの連続サンプリング入力を開始します。

Page 192: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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チャンネルの設定)を設定します。

Page 193: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 のアナログ入力デバイスからサンプリング件数、サンプリング周波数を取得しま

す。

Page 194: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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:立ち上がりエッジ

Page 195: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 パタン一致条件を取得します。

Page 196: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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出力

Page 197: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 198: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 199: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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出力

Page 200: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 201: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 の設定値を取得します。

Page 202: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 203: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)の外部出力信号を以下の設定に行います。

外部トリガ出力:トリガタイミング

外部クロック出力:有効

Page 204: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 ○ ○ - -

Page 205: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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)の外部出力制御設定を取得します。

Page 206: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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からアナログトリガ出力を行いま

す。

Page 207: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 カップリング機能搭載)

Page 208: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 レンジ、シングルエンド入力

のオートキャリブレーションを行います。

Page 209: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 差動入力

Page 210: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

スタートトリガ

Page 211: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 212: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 汎用デジタル入力端子による外部トリガのマスクを指定します。

Page 213: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

以下の正弦波を入力する場合にはフィルタの使用を推奨します。

Page 214: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 215: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 関数を実行することにより取得

できます。

Page 216: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 立ち上がりまたは立ち

下がり

Page 217: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 立ち上がりまたは

立ち下がり

Page 218: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 のいずれかに、アナログトリガが指

定されている場合に有効です。

Page 219: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 の形式は、デジタル入力データの形式と同じ形式です。

Page 220: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 を指定した場合には、スキャンクロック発生により、

サンプリングを停止します。

Page 221: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 222: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 223: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 224: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 以前では使用できません。)

Page 225: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 関数を

実行することにより取得できます。

Page 226: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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つを指定します。アナログトリガ出力機能があるデバイスの場合に有効で

す。パルス極性指定識別子は以下の通りです。

Page 227: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 パターン条件と一致

したときにストップトリガが発生します。

Page 228: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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:オーバーラン発生

Page 229: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 230: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 接続

Page 231: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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関数を実行することにより取得

できます。

Page 232: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 233: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 差動入力時のデバイスのチャンネル数を格納します。

Page 234: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 デバイスのデジタル出力点数を格納します。

Page 235: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 サンプリングデー まだ、サンプリングが

Page 236: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 の

Page 237: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 ライブラリの読み

込みに失敗しまし

た。

デバイス番号が正し

いことを確認してく

ださい。

Page 238: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 を返します。

Page 239: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 を返します。

Page 240: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

入力仕様 シングルエンド

Page 241: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 関数が使用できるデバイスのみ使用できます。

※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。

Page 242: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 関数が使用できるデバイスのみ使用できます。

※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。

Page 243: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 ・外部トリガ出力を行います。

・制御するデバイスのデバイス番号を指定します。

※外部トリガ出力機能が搭載しているデバイスのみ使用できます。

※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。

Page 244: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

GPG-3100 Help for Linux

© 2000 Interface Corporation.

244

6.24 ExClkOut ・外部クロック出力を行います。

・制御するデバイスのデバイス番号を指定します。

※外部クロック出力機能が搭載しているデバイスのみ使用できます。

※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。

6.25 StatOut ・サンプリングステータス出力を行います。

・制御するデバイスのデバイス番号を指定します。

※サンプリングステータス出力機能が搭載しているデバイスのみ使用できます。

※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。

6.26 InputDi ・汎用入力を行います。

・制御するデバイスのデバイス番号を指定します。

※汎用入力機能が搭載しているデバイスのみ使用できます。

※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。

6.27 OutputDo ・汎用出力をを行います。

・制御するデバイスのデバイス番号を指定します。

※汎用出力機能が搭載しているデバイスのみ使用できます。

※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。

Page 245: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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 関数が使用できるデバイスのみ使用できます。

※使用するデバイスの仕様にあわせてプログラム中の設定を変更してください。

Page 246: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 247: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 248: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 249: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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、

Page 250: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 251: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 252: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

調整不要

Page 253: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 254: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 255: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 256: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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」と表示され、プログラムが終了します。

Page 257: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 258: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 259: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 260: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

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

Page 261: GPG-3100GPG-3100以外のGPG-XXXXで制御する製品型式のデバイス 番号設定に移ります。他のカテゴリ(例えばDIO(GPG-2000) など)と併用してシステムを構築している場合に使用して

GPG-3100 Help for Linux

© 2000 Interface Corporation.

261

第8章 重要な情報

保証の内容と制限

弊社は本ドキュメントに含まれるソースプログラムの実行が中断しないこと、またはその実行に誤り

が無いことを保証していません。

本製品の品質や使用に起因する、性能に起因するいかなるリスクも使用者が負うものとします。

弊社はドキュメント内の情報の正確さに万全を期しています。万一、誤記または誤植などがあった場

合、弊社は予告無く改訂する場合があります。ドキュメントまたはドキュメント内の情報に起因する

いかなる損害に対しても弊社は責任を負いません。

ドキュメント内の図や表は説明のためであり、ユーザ個別の応用事例により変化する場合があります。

著作権、知的所有権

弊社は本製品に含まれるおよび本製品に対する権利や知的所有権を保持しています。

本製品はコンピュータ ソフトウェア、映像/音声(例えば図、文章、写真など)を含んでいます。

医療機器/器具への適用における注意

弊社の製品は人命に関わるような状況下で使用される機器に用いられる事を目的として設計、製造さ

れた物では有りません。

弊社の製品は人体の検査などに使用するに適する信頼性を確保する事を意図された部品や検査機器

と共に設計された物では有りません。

医療機器、治療器具などの本製品の適用により、製品の故障、ユーザ、設計者の過失などにより、損

傷/損害を引き起こす場合が有ります。

複製の禁止

弊社の許可なく、本ドキュメントの全て、または一部に関わらず、複製、改変などを行うことはでき

ません。

責任の制限

弊社は、弊社または再販売者の予見の有無にかかわらず発生したいかなる特別損害、偶発的損害、間

接的な損害、重大な損害について、責任を負いません。

本製品(ハードウェア,ソフトウェア)のシステム組み込み、使用、ならびに本製品から得られる結果

に関する一切のリスクについては、本製品の使用者に帰属するものとします。

本製品に含まれる不都合、あるいは本製品の供給(納期遅延)、性能もしくは使用に起因する付帯的損

害もしくは間接的損害に対して、弊社に全面的に責がある場合でも、弊社はその製品に対する改良(有

償サービスの利用)、代品交換までとし、製品の予防交換並びに、代金減額等、金銭面での賠償の責

任は負わないものとします。

本製品は、日本国内仕様です。

商標/登録商標

本書に掲載されている会社名、製品名は、それぞれ各社の商標または登録商標です。