gpc-6320 - interface · 2014-06-10 ·...

283
UCNT(PCI/C-PCI) www.interface.co.jp GPC-6320 万能/高速カウンタインタフェースモジュール用 Windows ドライバ Help for Windows

Upload: others

Post on 07-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

UCNT(PCI/C-PCI)

www.interface.co.jp

GPC-6320 万能/高速カウンタインタフェースモジュール用 Windows ドライバ

Help for Windows

Page 2: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

1

目 次

第 1 章 はじめに .................................................2

1.1 概要 ...........................................................................2

1.2 特長 ...........................................................................2

第 2 章 製品仕様 .................................................3

2.1 基本仕様 .......................................................................3

2.2 製品構成 .......................................................................4

2.3 x64 環境上の使用について........................................................6

第 3 章 導入方法 .................................................7

3.1 インストール手順 ...............................................................7

3.2 実行手順 .......................................................................7

3.3 パルス出力開始前、停止後のレベルを設定する方法 ................................11

3.4 インタフェースモジュール固有情報 ..............................................12

第 4 章 リファレンス ............................................13

4.1 DLL関数一覧(万能カウンタ) ...................................................13

4.2 関数個別説明(万能カウンタ) ..................................................15

4.3 DLL関数一覧(高速カウンタ) ..................................................193

4.4 関数個別説明(高速カウンタ) .................................................194

4.5 構造体説明 ...................................................................260

4.6 戻り値一覧 ...................................................................267

第 5 章 サンプルプログラム .....................................270

5.1 実行手順 .....................................................................270

5.2 サンプルプログラム一覧 .......................................................270

第 6 章 ユーティリティ .........................................271

6.1 動作確認プログラム(IFUcntCounter) ..........................................271

6.2 CardBusID設定ユーティリティ ..................................................278

6.3 メモリサイズ設定ユーティリティ ...............................................279

第 7 章 重要な情報 .............................................281

Page 3: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

2

第1章 はじめに

1.1 概要 GPC-6320 は、Windows 上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御

する為のソフトウェアです。

Windows 上のアプリケーションから DLL をダイナミックリンクし、API をコールすることにより制

御します。

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

1.2 特長 ●機能モードを切り替える事で、パルスカウント、平均周波数測定、周期測定、位相差幅測定、

タイマ、分周器、パルスジェネレータとして各チャンネルを使用することが可能です。

●エンコーダからのパルスカウントに対応しています。

● 大 6チャンネル(万能 4 チャンネル/高速 2 チャンネル)を独立に制御することが可能です。

●ラッチしたカウンタ値と入力端子状態を、指定した件数分メモリ上に保存することが可能です。

内部クロックを使用したラッチを行うことで、指定周期でのサンプリング動作を行います。

●豊富な割り込み機能を搭載しており、割り込み発生時にはコールバックイベントを発生させる

ことが可能です。

●外部信号によるスタート・ストップ機能/汎用入出力機能を搭載しています。

●各種モードを使用したカウント機能を使用する為の、動作確認用アプリケーションが付属して

います。また、各カウントモードのプログラム作成時に参考となる、サンプルプログラムを用

意しています。

●画面上で機能や使い方を説明する Help をサポートしていますので、開発中に関数の詳細説明な

ど、簡単に参照することができます。

Page 4: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

3

第2章 製品仕様

2.1 基本仕様 大デバイス数 各型式毎にそれぞれ 16 デバイスまで

万能カウンタの各チャンネルを下記の動作モードで使用するこ

とが可能です。

・パルスカウント

(1パルス/DIR、UP/DOWN パルス、位相差パルス、内部基準クロ

ック)

・平均周波数測定

(1パルス/DIR、UP/DOWN パルス、位相差パルス)

・周期(パルス幅)測定

(全周期、High パルス幅、Low パルス幅、デューティ比(High/Low

パルス幅))

・位相差幅測定

(位相差幅、全位相差幅)

・タイマ

・分周出力

・パルスジェネレータ

動作モード

高速カウンタの各チャンネルを下記の動作モードで使用するこ

とが可能です。

・パルスカウント

(ゲート付き単層パルス)

サンプリング 万能カウンタでは内部/外部クロックのタイミングでカウンタ

値のサンプリングを行うことが可能です。

汎用入出力 ・各チャンネル 7点(万能カウンタ側)

・4点(高速カウンタ側)

イベントコールバック アプリケーションでイベント待ちおよびコールバック関数呼び

出しを行うことができます。

本 DLL は、以下のイベントを通知することができます。

・キャリー発生

・ボロー発生

・カウンタ値とプリセット値の一致検出

(OUTA/OUTB)

・外部トリガ(スタート/ストップ)

・位相差パルス異常検出

・外部ラッチ、基準クロックラッチ発生

・外部プリロード

・サンプリング完了

・指定件数サンプリング完了

・サンプリング用 FIFO オーバーランエラー発生時

Page 5: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

4

2.2 製品構成 製品構成 ファイル名 説明

弊社管理用ファイル GPC6320.VER 弊社ソフト管理用ファイル

新情報ドキュメント README.HTM 新ドキュメント掲載ファイル

インストールプログラム SETUP.EXE インストール用ファイル

万能カウンタユーティリティ IFUCNTCOUNTER.EXE ユーティリティ

メモリサイズ設定ユーティリ

ティ

IFUCNTMEM.exe DMA 転送用メインメモリサイズ設定ユーティリ

ティ※64bitOS 専用

サンプルプログラム

Visual C# .NET IFCUcnt

IFCHScnt

UcntPulseCount

HScntPulseCount

Visual C# .NET 用サンプルプログラム

Visual C++ UcntPulseCount

UcntFreqAvg

UcntCycle

UcntPhaseDiff

UcntTimer

UcntFreqDivider

UcntPulseGenerator

UcntSampling

HscntPulseCount

EncoderPulseCount

PulseDutySampling

SinglePulseCount

Visual C++(MFC)用サンプルプログラム

Visual Basic .NET IFCUcnt

IFCHScnt

UcntPulseCount

HScntPulseCount

Visual Basic .NET 用サンプルプログラム

Visual Basic UcntPulseCount

UcntFreqAvg

UcntCycle

UcntPhaseDiff

UcntTimer

UcntFreqDivider

UcntPulseGenerator

UcntSampling

HscntPulseCount

EncoderPulseCount

PulseDutySampling

SinglePulseCount

Visual Basic 用サンプルプログラム

Page 6: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

5

Delphi UcntPulseCount

UcntFreqAvg

UcntCycle

UcntPhaseDiff

UcntTimer

UcntFreqDivider

UcntPulseGenerator

UcntSampling

HscntPulseCount

EncoderPulseCount

PulseDutySampling

SinglePulseCount

Delphi 用サンプルプログラム

DLL IFUCNT.DLL

IFHSCNT.DLL

ダイナミックリンクライブラリファイル

IFUCNT.LIB

IFHSCNT.LIB

インポートライブラリファイル

MSVCRT.DLL C ランタイム共有 DLL

デバイスドライバ CP63201.SYS

CP63202.SYS Windows 2000 以降の OS 用ドライバ

CP63201.INF

CP63202.INF

CP63203.INF

PCI6323041.INF

PCI6323042.INF

CP63201.CAT

CP63202.CAT

CP63203.CAT

PCI6323041.CAT

PCI6323042.CAT

Windows 2000 以降の OS 用ドライバ イン

ストールファイル

CP63201.SLD

CP63202.SLD

CP63203.SLD

Windows Embedded 用ドライバ SLD ファイル

ヘッダファイル IFUCNT.H

IFHSCNT.H

Visual C++用ヘッダファイル

IFUCNT.BAS

IFHSCNT.BAS

Visual Basic 用ヘッダファイル

IFUCNT.PAS

IFHSCNT.PAS

Delphi 用ヘッダファイル

HELP.PDF Help(PDF 形式) Help

HELP_NET.PDF .NET 用 補足 Help(PDF 形式)

※Visual C# .NET,Visual Basic.NET 用サンプルプログラムは、それぞれ Viausl C# .NET 2003,

Visual Basic .NET 2003 を使用して作成しています。

Page 7: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-4116 On-line Help for Windows

© 2004, 2013 Interface Corporation. All rights reserved.

6

2.3 x64 環境上の使用について x64環境下でサンプリング機能を使用する場合、サンプリング件数の設定値に制限があります。

ドライバインストール後は、初期設定として各チャンネル 大 16,384 件となります。

サンプリング機能は、ドライバ内で確保された内部バッファに対してカウンタデータのバスマ

スタ転送を行っており、内部バッファのサイズは UctSetSamplingConfig 関数で指定するサンプリ

ング件数によって決まります。

x64 環境上では、OS が起動してドライバがロードされるタイミングで、内部バッファの確保が

行われます。内部バッファの確保サイズは、「メモリ設定ユーティリティ」を使用して、任意の値

に設定する事ができます。

16,384 件を超えるサンプリング件数でご使用になる場合は、メモリ設定ユーティリティにて内

部バッファの確保サイズを増加させてください。

Page 8: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

7

第3章 導入方法

3.1 インストール手順

README.HTM のインストール方法を参照してください。

3.2 実行手順

基本的な制御の手順は以下の通りです。

(関数の記述例には C言語を使用しています。)

1.初期化

デバイスを UcntOpen関数で初期化します。

使用するデバイスに割り当てられたデバイス名(“IFUCNT1”~“IFUCNT256”)を引数として渡す

ことで、指定したデバイスの初期化を行います。

初期化が正常終了すると、以後、デバイスへのアクセスが可能となります。

hDevice = UcntOpen(“IFUCNT1”); 戻り値として返されるデバイスハンドルは、以降のデバイスの制御を行う際に必要となります。

2.機能モードの設定

使用目的に応じて 適な機能モードの設定を行います。

設定可能なカウントモードは次の 7種類となります。

(それぞれ同名のモード設定用関数を使用して基本的な設定を行います)

・パルスカウントモード: (UcntSetPulseCountMode)

・平均周波数測定モード: (UcntSetFreqAvgMode)

・周期測定モード: (UcntSetCycleMode)

・位相差幅測定モード: (UcntSetPhaseDiffMode)

・タイマモード: (UcntSetTimerMode)

・分周器モード: (UcntSetFreqDividerMode)

・パルスジェネレータモード: (UcntSetPulseGeneratorMode)

各機能モードから別の機能モードへ設定変更を行った場合、各種設定が初期化されます。

機能モードの変更は、カウンタ及びサンプリングを停止した状態で行ってください。

UcntOpen 関数によるオープン直後、もしくは UcntReset 関数によるデバイスの初期化直後には、

パルスカウントモードが初期モードとして設定されます。

3.カウンタ機能設定

機能モード設定用の関数を使用して基本的な動作設定を行った後に、その他のカウンタ機能の設

定を行います。

設定可能な機能は下記の用になります。(括弧内は設定用の関数名となります。)

Page 9: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

8

・プリロードデータ設定: (UcntSetLoadData)

・基準クロック設定: (UcntSetBaseClock)

・スタート/ストップトリガモード設定: (UcntSetTriggerConfig)

・トリガチャンネル設定: (UcntSetTriggerConfig)

・一致検出モード設定: (UcntSetTriggerChannel)

・デジタルフィルタ設定: (UcntSetFilter)

※現在の機能モードによって、設定変更が可能な機能が異なります。

設定変更を行うことができない機能モードを使用している場合には、各関数の実行時に

「IFUCNT_ERROR_INVALID_FUNC_MODE」が戻り値として返されます。

4.カウントの開始

カウント機能を有効にする為に、UcntStartCount関数を実行します。

nRet = UcntStartCount(hDevice, 0x01, IFUCNT_CMD_START);

第 2 引数にカウントを開始するチャンネルを指定することで、複数チャンネルのスタートを同時

に行うことが可能となります。(上記の例ではチャンネル 1のみ開始しています。)

スタートトリガに設定した外部入力のタイミングでカウントを開始したい場合には、スタートコ

マンドに IFUCNT_CMD_EXWAIT を指定します。

nRet = UcntStartCount(hDevice, 0x01, IFUCNT_CMD_EXWAIT);

5.カウントの停止

カウント機能を停止する場合、UcntStopCount関数を実行します。

nRet = UcntStopCount(hDevice, 0x01, IFUCNT_CMD_STOP);

第 2 引数にカウントを停止するチャンネルを指定することで、複数チャンネルのストップを同時

に行うことが可能となります。(上記の例ではチャンネル 1のみ停止しています。)

6.カウンタ値の設定・取得

予めカウンタに値を設定したい場合には、UcntSetCounter関数を実行します。

dwCounter[0] = 10000;

nRet = UcntSetCounter(hDevice, 0x01, dwCounter);

配列に指定した値が、カウンタの初期値として設定されます。

第 2 引数にカウンタ値を設定するチャンネルを指定することで、複数チャンネルのカウンタ値を

同時に設定することが可能となります。(上記の例ではチャンネル 1のみ設定しています。)

カウンタ値の取得を行う際には、通常のカウンタ読み出しとラッチカウンタの読み出しの 2 種類

の関数があります。

nRet = UcntReadCounter(hDevice, 0x01, dwCounter);

UcntReadCounter関数を実行した場合、関数実行時点の 新のカウンタ値を読み出すことが可能と

なります。

Page 10: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

9

nRet = UcntReadLatchCounter(hDevice, 0x01, dwCounter);

UcntReadLatchCounter関数を実行した場合には、前回のラッチタイミング時にデバイスに保持さ

れたカウンタ値を読み出すことが可能となります。

周期測定モード、位相差幅測定モードの使用時には、ラッチカウンタの値を読み出す必要があり

ます。

その他の機能モードでは、必要に応じてカウンタとラッチカウンタの読み出しを選択してくださ

い。

また、カウンタ値のラッチ動作をソフトウェアで指定したタイミングで行いたい場合には、

UcntLatchCount関数を実行します。

(複数チャンネルの同時ラッチが可能です。)

7.ステータス情報の取得

各チャンネル毎の入力端子状態を取得したい場合には、UcntGetStatus 関数を実行します。

nRet = UcntGetStatus(hDevice, 0x01, dwStatus);

配列の先頭要素のアドレスを関数に渡すことで、複数チャンネルのステータス情報を同時に取得

することが可能です。

(上記の例ではチャンネル 1のステータスのみ取得しています。)

8.ラッチカウンタ値のサンプリング

ラッチ動作のタイミングで保持されたカウンタ値と入力端子の状態を、指定した件数分取得する

ことが可能です。

(内部クロックのタイミングでラッチを行う設定にすることで、指定周期でのサンプリング動作

を実行可能です。)

各動作モードの設定後、サンプリングデータを保持する件数や繰り返し回数、イベントを発生さ

せる件数等のサンプリングに関する設定を行います。

UCNTSMPLCONFIG SmplConfig;

SmplConfig.dwSmplNum = 1000;

SmplConfig.dwSmplEventNum = 500;

SmplConfig.dwRepeat = 1;

SmplConfig.dwStatusMode = IFUCNT_NO_STATUS;

SmplConfig.dwErrCtrl = IFUCNT_FREERUN;

nRet = UcntSetSampingConfig(hDevice, 1, &SmplConfig);

UcntSetSamplingConfig関数でサンプリングに関する設定を完了後、UcntStartCount関数でサンプ

リング動作を開始します。

nRet = UcntStartCount(hDevice, 0x01, IFUCNT_CMD_START | IFUCNT_CMD_SAMPLING);

カウンタのスタートコマンドと、サンプリングスタートのコマンドを OR で指定します。

サンプリング動作を停止する場合は、UcntStopCount関数を実行します。

Page 11: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

10

nRet = UcntStopCount(hDevice, 0x01, IFUCNT_CMD_STOP | IFUCNT_CMD_SAMPLING);

カウンタのストップコマンドと、サンプリングストップのコマンドを OR で指定します。

サンプリング状態を取得する場合は、UcntGetSamplingStatus関数を実行します。

nRet = UcntGetSamplingStatus(hDevice, 1, &dwSmplStatus, &dwSmplCount, &dwRepCount);

指定した変数に現在のサンプリング状態、サンプリング完了件数、繰り返し回数が格納されます。

サンプリングが完了したデータを取得する場合には、UcntGetSamplingData関数を実行します。

DWORD dwSmplData[1000];

DWORD dwSmplDataNum = 1000;

nRet = UcntGetSamplingData(hDevice, 1, dwSmplData, &dwSmplDataNum);

9.汎用入出力

汎用入出力の制御は UcntOutputDO関数,UcntInputDI関数で行います。

デバイスのオープン直後は各チャンネルのOUTA、OUTBのみ汎用出力を制御可能な状態となってい

ます。OUTA、OUTB以外の端子の汎用出力制御を行う際には、UcntSetDOEnable関数を実行して、出

力制御を許可する必要があります。

nRet = UcntSetDOEnable(hDevice, 0xFF);

UcntSetDOEnable関数で出力許可を行った端子に、エンコーダなどの出力を行う機器を接続しない

でください。

デバイス及び外部機器が破損する恐れがあります。

10.コールバック関数

各種割り込み発生時にコールバック関数(メッセージ、イベント)を実行することができます。

UcntSetEventMask関数にて、コールバック関数、メッセージ、イベントを発生させる要因を設定

します。

各割り込みイベントに対応したビットに”1”を設定することでコールバック関数・メッセージが有

効になります。

UcntSetEvent関数でコールバック関数、メッセージ、イベントの登録を行います。

11.終了処理

UcntClose関数でデバイスの終了処理を行います。アプリケーションでは、必ずクローズ処理を行

ってから終了してください。

nRet = UcntClose(hDevice);

Page 12: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

11

3.3 パルス出力開始前、停止後のレベルを設定する方法

パルス出力前の開始及び停止後のレベル(High, Low)を設定するには、以下の方法で設定すること

が出来ます。

(関数の記述例には C言語を使用しています。)

1.パルス出力前のレベルを変更する

デバイスオープン直後のパルス出力レベルは High となっています。パルス出力開始前の出力を

Low に設定するには、UcntSetPulseGeneratorMode 関数を使用します。

パルス出力後の出力レベルは、出力が停止したときのレベルとなっています(停止した状態がHigh

ならば High を出力、停止したときが Low ならば、Low を出力)。パルス出力停止後の出力を Low

に設定するには、再度 UcntSetPulseGeneratorMode 関数を使用します。

以下の手順で、パルス出力前のレベルを Low に設定します。

①パルスジェネレータモードの設定(OUTA の出力を設定。384KHz、DUTY20%)

nRet = UcntSetPulseGeneratorMode(hDeviceHandle, 1, 1, 26, 13, IFUCNT_OUTB_NO);

②パルス出力

nRet = UcntStartCount(hDeviceHandle, 0x0F, IFUCNT_CMD_START);

③パルス停止

nRet = UcntStopCount(hDeviceHandle, 0x0F, IFUCNT_CMD_STOP);

④パルスジェネレータモードの設定(OUTA の出力が High → Low と設定されます。)

nRet = UcntSetPulseGeneratorMode(hDeviceHandle, 1, 1, 26, 5, IFUCNT_OUTB_NO);

⑤パルス出力(パルス出力の初期値を Low の状態からパルス出力します)

nRet = UcntStartCount(hDeviceHandle, 0x0F, IFUCNT_CMD_START);

Page 13: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

12

3.4 インタフェースモジュール固有情報

3.4.1 マザコン カウンタタイプ / エコ 3 カウンタタイプ固有情報

弊社マザコン製品(IMC-x6323xx),エコ 3 製品(ECC-xxxx)に搭載されているカウンタは、デバイス

マネージャ上で下記のように表示されます。

・CH 1~4 「Interface PCI-632304[UCNT]<CNT1>」

・CH 5~8 「Interface PCI-632304[UCNT]<CNT2>」

上記製品はデバイスが 2個搭載されている製品です。

そのため、2つのデバイスのそれぞれにデバイス名が割り振られます。

各関数による制御を行う際は、それぞれでデバイスオープンを行い、制御を行ってください。

Page 14: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

13

第4章 リファレンス

4.1 DLL 関数一覧(万能カウンタ) No 関数名 機能

●初期化

1 UcntOpen デバイスをオープンします。

2 UcntClose デバイスをクローズします。

3 UcntGetDeviceInfo デバイス情報を取得します。

4 UcntReset 各種設定の初期化、カウンタのクリアを行います。

●動作モード設定/取得

5 UcntSetPulseCountMode パルスカウントモードに設定します。

6 UcntGetPulseCountMode パルスカウントモードの設定情報を取得します。

7 UcntSetFreqAvgMode 平均周波数測定モードに設定します。

8 UcntGetFreqAvgMode 平均周波数測定モードの設定情報を取得します。

9 UcntSetCycleMode 周期測定モードに設定します。

10 UcntGetCycleMode 周期測定モードの設定情報を取得します。

11 UcntSetPhaseDiffMode 位相差幅測定モードに設定します。

12 UcntGetPhaseDiffMode 位相差幅測定モードの設定情報を取得します。

13 UcntSetTimerMode タイマモードに設定します。

14 UcntGetTimerMode タイマモードの設定情報を取得します。

15 UcntSetFreqDividerMode 分周器モードに設定します。

16 UcntGetFreqDividerMode 分周器モードの設定情報を取得します。

17 UcntSetPulseGeneratorMode パルスジェネレータモードに設定します。

18 UcntGetPulseGeneratorMode パルスジェネレータモードの設定情報を取得します。

●機能設定/取得

19 UcntSetLoadData ロードデータを設定します。

20 UcntGetLoadData ロードデータの設定情報を取得します。

21 UcntSetBaseClock 内部基準クロックを設定します。

22 UcntGetBaseClock 内部基準クロックの設定情報を取得します。

23 UcntSetTriggerConfig 外部トリガを設定します。

24 UcntGetTriggerConfig 外部トリガの設定情報を取得します。

25 UcntSetTriggerChannel 外部トリガチャンネルを設定します。

26 UcntGetTriggerChannel 外部トリガチャンネルの設定情報を取得します。

27 UcntSetComparatorConfig 一致検出条件を設定します。

28 UcntGetComparatorConfig 一致検出条件の設定情報を取得します。

29 UcntSetFilter デジタルフィルタを設定します。

30 UcntGetFilter デジタルフィルタの設定情報を取得します。

31 UcntSetLatchMode ラッチモードを設定します。

32 UcntGetLatchMode ラッチモードの設定情報を取得します。

●カウンタ設定/取得

33 UcntSetCounter カウンタにプリロード値を設定します。

34 UcntReadCounter カウンタを読み出します。

35 UcntReadLatchCounter ラッチカウンタを読み出します。

36 UcntSetComparator 比較カウンタを設定します。

Page 15: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

14

37 UcntGetComparator 比較カウンタの設定情報を取得します。

●ステータス取得

38 UcntGetStatus カウンタステータス情報を取得します。

●サンプリング

39 UcntSetSamplingConfig サンプリング条件を設定します。

40 UcntGetSamplingConfig サンプリング条件の設定情報を取得します。

41 UcntGetSamplingData 内部バッファからサンプリングデータを取得します。

42 UcntClearSamplingData 内部バッファのサンプリングデータをクリアします。

43 UcntGetSamplingStatus サンプリングステータス情報を取得します。

●スタート/ストップ

44 UcntStartCount カウントを開始します。

45 UcntStopCount カウントを停止します。

46 UcntLatchCount カウンタをラッチします。

●汎用入出力

47 UcntSetDOEnable 汎用出力の許可設定を行います。

48 UcntGetDOEnable 汎用出力の許可設定情報を取得します。

49 UcntInputDI 汎用入力の状態を取得します。

50 UcntOutputDO 汎用出力を制御します。

●割り込み設定/取得

51 UcntSetEventMask イベントマスクを設定します。

52 UcntGetEventMask イベントマスクの設定情報を取得します。

53 UcntSetEvent イベントコールバック関数、メッセージを登録します。

54 UcntKillEvent イベントコールバック関数、メッセージを解除します。

●内部同期設定

55 UcntOutputSync 内部同期出力を制御します。

(PCI-632302 でのみ使用できます。)

●64bitOS 用

56 UcntSetPhysicalMemorysSize 内部バッファサイズを設定します。

57 UcntGetDriverInfo OS 情報と内部バッファサイズを取得します。

Page 16: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

15

4.2 関数個別説明(万能カウンタ)

1. UcntOpen 【機能】

万能カウンタのオープンを行い、以後のインタフェースモジュールへのアクセスを行えるよう

にします。

【書式】

●C言語(x86 専用)

HANDLE UcntOpen(

LPCTSTR lpszName // デバイス名

);

●C 言語(x64 専用)

HANDLE UcntOpen(

LPCSTR lpszName // デバイス名

);

●Visual Basic

Declare Function UcntOpen Lib "IFUcnt.DLL"(_

ByVal lpszName As String_ ‘ デバイス名

)As Long

●Delphi

function UcntOpen(

lpszName: String // デバイス名

):THandle; stdcall; external 'IFUcnt.DLL';

【パラメータ】

lpszName オープンするインタフェースモジュールのデバイス名を指定してください。

【戻り値】

UcntOpen 関数が正常に終了した場合には、有効なハンドルが返されます。

他の関数は、本関数により取得したハンドルを使用してデバイスの制御を行います。

オープンに失敗した場合には、INVALID_HANDLE_VALUE(FFFFFFFFh)が返されます。

【備考】

●デバイス名について

オープンするにはデバイス名を指定します。

万能カウンタのデバイス名は「IFUCNTx」(xは 1~256)となります。

各デバイス名はデバイスマネージャにて確認できます。

●UNICODE 文字列について

C 言語(x86 専用)で、UcntOpen の引数 Name に指定する文字列は LPCTSTR 型として定義していま

すが、UNICODE 文字列には対応しておりません。

x86 環境でご使用になる場合、使用例に沿って記述してください。

Page 17: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

16

【使用例】

●C言語(32bit 用コンパイラ)

HANDLE DeviceHandle;

DeviceHandle = UcntOpen(“IFUCNT1”);

●C 言語(32bit 用コンパイラで UNICODE を定義している場合)

HANDLE DeviceHandle;

DeviceHandle = UcntOpen((LPCTSTR)“IFUCNT1”);

HANDLE DeviceHandle;

char* lpszName = “IFUCNT1”;

DeviceHandle = UcntOpen((LPCTSTR)lpszName);

HANDLE DeviceHandle;

LPCWSTR UnicodeName = L"IFUCNT1";

char DeviceName[256];

int len;

len = WideCharToMultiByte(CP_ACP, 0, UnicodeName, -1, NULL, 0, NULL, NULL);

WideCharToMultiByte(CP_ACP, 0, UnicodeName, -1, DeviceName, len, NULL, NULL);

DeviceHandle = UcntOpen((LPCTSTR)DeviceName);

●C 言語(64bit 用コンパイラ)

HANDLE DeviceHandle;

DeviceHandle = UcntOpen(“IFUCNT1”);

●Visual Basic

Dim Name As String

Dim DeviceHandle As Long

Name = "IFUCNT1" & Chr( 0 )

DeviceHandle = UcntOpen(Name)

Page 18: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

17

●Delphi

var

Name: String;

DeviceHandle: THandle;

Name := IFUCNT1;

DeviceHandle := UcntOpen(Name);

デバイス名「IFUCNT1」のデバイスをオープンします。

Page 19: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

18

2. UcntClose 【機能】

万能カウンタをクローズします。

デバイスアクセスのために使用されていた各種リソースの解放を行い、以後のデバイスへのア

クセスを禁止します。

【書式】

●C言語

INT UcntClose(

HANDLE hDeviceHandle // デバイスハンドル

);

●Visual Basic

Declare Function UcntClose Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long_ ‘ デバイスハンドル

)As Long

●Delphi

function UcntClose (

hDeviceHandle: THandle // デバイスハンドル

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したデバイスハンドルを指定してください。

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【備考】

再度、インタフェースモジュールへのアクセスを行う場合にはオープン処理(UcntOpen 関数)

を呼び出してください。

サンプリング中に本関数を実行した場合、サンプリング動作を停止します。

デバイスクローズ後、各種設定はクリアされます。

Page 20: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

19

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntClose(hDeviceHandle);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntClose(hDeviceHandle)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntClose(hDeviceHandle);

デバイス名「IFUCNT1」のデバイスのクローズ処理を行います。

Page 21: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

20

3. UcntGetDeviceInfo 【機能】

万能カウンタのデバイス情報を取得します。

【書式】

●C言語

INT UcntGetDeviceInfo(

HANDLE hDeviceHandle, // デバイスハンドル

PUCNTDEVICEINFO pDeviceInfo // UCNTDEVICEINFO 構造体への

// ポインタ

);

●Visual Basic

Declare Function UcntGetDeviceInfo Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByRef pDeviceInfo As UCNTDEVICEINFO_ ‘ UCNTDEVICEINFO 構造体への

‘ 参照渡し

)As Long

●Delphi

function UcntGetDeviceInfo (

hDeviceHandle: THandle; // デバイスハンドル

var pDeviceInfo: UCNTDEVICEINFO // UCNTDEVICEINFO 構造体への

// 参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したデバイスハンドルを指定してください。

pDeviceInfo 取得したデバイス情報を格納する UCNTDEVICEINFO 構造体へのポインタを指定してくださ

い。

構造体の説明については、『4.5 構造体』をご参照ください。

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

Page 22: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

21

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

UCNTDEVICEINFO DeviceInfo;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetDeviceInfo(hDeviceHandle, &DeviceInfo);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim DeviceInfo As UCNTDEVICEINFO

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetDeviceInfo(hDeviceHandle, DeviceInfo)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

DeviceInfo: UCNTDEVICEINFO;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetDeviceInfo(hDeviceHandle, DeviceInfo);

デバイス名「IFUCNT1」のデバイスのデバイス情報を取得します。

Page 23: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

22

4. UcntReset 【機能】

各種設定の初期化、カウンタのクリアを行います。

【書式】

●C言語

INT UcntReset(

HANDLE hDeviceHandle, // デバイスハンドル

DWORD dwChSel, // チャンネル選択

DWORD dwMode // リセット項目

);

●Visual Basic

Declare Function UcntReset Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal dwChSel As Long,_ ‘ チャンネル選択

ByVal dwMode As Long_ ‘ リセット項目

)As Long

●Delphi

function UcntReset(

hDeviceHandle: THandle; // デバイスハンドル

dwChSel: Dword; // チャンネル選択

dwMode: Dword // リセット項目

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したデバイスハンドルを指定してください。

dwChSel 各種設定の初期化、カウンタのクリアを行うチャンネルを指定してください。

ビット bit31~4 bit3 bit2 bit1 bit0

内容 予約 CH4 CH3 CH2 CH1

該当するビットに“1”を指定してチャンネル指定を行います。

複数チャンネルの指定が可能です。

例)CH1~CH4 の 4 チャンネル:Fh を指定

Page 24: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

23

dwMode リセット項目を指定してください。

識別子 意味

IFUCNT_RESET_DEVICE 動作設定リセット

指定チャンネルの動作設定がリセットされデフォルト値

に設定されます。

サンプリング中の場合はサンプリングを停止します。

IFUCNT_RESET_COUNTER カウンタクリア

カウンタ、ラッチカウンタ、カウンタ FIFO、ステータス

をクリアします。

該当する識別子を指定してリセットを行います。

動作設定リセットとカウンタクリアを同時に実行する場合には、それぞれの識別子を OR

で指定します。

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntReset(hDeviceHandle, 0x01, IFUCNT_RESET_DEVICE | IFUCNT_RESET_COUNTER);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntReset(hDeviceHandle, &H01, IFUCNT_RESET_DEVICE or IFUCNT_RESET_COUNTER)

Page 25: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

24

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntReset(hDeviceHandle, $01, IFUCNT_RESET_DEVICE | IFUCNT_RESET_COUNTER);

デバイス名「IFUCNT1」のデバイスのチャンネル 1の初期化とカウンタリセットを行います。

Page 26: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

25

5. UcntSetPulseCountMode 【機能】

パルスカウントモードに設定します。

【書式】

●C言語

INT UcntSetPulseCountMode(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

DWORD dwCountMode, // カウントモード

DWORD dwLoadMode, // プリロードモード

DWORD dwLatchMode // ラッチモード

);

●Visual Basic

Declare Function UcntSetPulseCountMode Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByVal dwCountMode As Long,_ ‘ カウントモード

ByVal dwLoadMode As Long,_ ‘ プリロードモード

ByVal dwLatchMode As Long_ ‘ ラッチモード

)As Long

●Delphi

function UcntSetPulseCountMode(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

dwCountMode: Dword; // カウントモード

dwLoardMode: Dword; // プリロードモード

dwLatchMode: Dword // ラッチモード

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定を行うチャンネルを指定してください。

Page 27: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

26

dwCountMode パルスカウントのモードとカウント方向の識別子を論理和で指定してください。

カウント方向を省略した場合には、デフォルトで通常方向が選択されます。

カウントモード

識別子 カウントモード

IFUCNT_COUNT_P_DIR_1 方向付き単相パルスカウントモード 1 逓倍

IFUCNT_COUNT_P_DIR_2 方向付き単相パルスカウントモード 2 逓倍

IFUCNT_COUNT_U_D_1 UP/DOWN パルスカウントモード 1 逓倍

IFUCNT_COUNT_PHASE_1 位相差パルスカウントモード 1 逓倍

IFUCNT_COUNT_PHASE_2 位相差パルスカウントモード 2 逓倍

IFUCNT_COUNT_PHASE_4 位相差パルスカウントモード 4 逓倍

IFUCNT_COUNT_INTERNAL_CLOCK 内部基準クロックカウントモード

カウント方向

識別子 内容

IFUCNT_DIR_NORMAL 通常方向(カウントアップ)

IFUCNT_DIR_REVERS リバース方向(カウントダウン)

dwLoadMode プリロードモード設定値を指定してください。

ビット bit31~6 bit5 bit4 bit3 bit2 bit1 bit0

内容 予約 CLC1 CLC0 L1P ZP CLS1 CLS0

CLS1,CLS0:カウンタ外部ロード(クリア)条件を指定します。

CLS1 CLS0 内容

0 0 外部ロード無効

0 1 Z 相有効時

1 0 LA と Z 相が共に有効時

1 1 設定禁止

ZP:Z 相の論理を指定します。

ZP 内容

0 Z 相通常(立ち上がり、“High”で有効)

1 Z 相反転(立ち下がり、“Low”で有効)

Page 28: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

27

LAP:LA の極性を指定します。

LA 内容

0 LA 相通常(立ち下がり、“Low”で有効)

1 LA 相反転(立ち上がり、“High”で有効)

CLC1,CLC0:外部ロード(クリア)モードを指定します。

CLC1 CLC0 内容

0 0 非同期エッジ

0 1 同期エッジ

1 0 非同期レベル

1 1 設定禁止

dwLatchMode ラッチモード設定値を指定してください。

ビット bit31~16

内容 予約

ビット bit15 bit14 bit13~bit12 bit11 bit10 bit9~bit8

内容 SYNC2 SYNC1 予約 C/B PEAK 予約

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 CKL

LOAD

EXL

LOAD

予約 CKL LBF

LT

LBR

LT

LAF

LT

LAR

LT

※ SYNC1, SYNC2 は PCI-632302 のみ設定できます。

※ PEAK, C/B は PCI-632304 のみ設定できます。

LARLT:LA 立ち上がりでのラッチ設定を指定します。

LAFLT:LA 立ち下がりでのラッチ設定を指定します。

LBRLT:LB 立ち上がりでのラッチ設定を指定します。

LBFLT:LB 立ち下がりでのラッチ設定を指定します。

LBFLT、LBRLT、LAFLT、LARLT 内容

0 無効

1 有効

CKL:内部基準クロックによるラッチ設定を指定します。

CKL 内容

0 無効

1 有効

EXLLOAD:外部ラッチ後のカウンタロード設定を指定します。

EXLLOAD 内容

0 ロードしない

1 ロードする

Page 29: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

28

CKLLOAD:内部基準クロックラッチ後のカウンタロード設定を指定します。

CKLLOAD 内容

0 ロードしない

1 ロードする

PEAK:ピークホールド(カウンタの回転方向が変わったとき)でのラッチ設定を指定します。

※PCI-632304 のみ設定できます。

PEAK 内容

0 無効

1 有効

C/B:キャリー/ボロー発生によるラッチ設定を指定します。

※PCI-632304 のみ設定できます。

C/B 内容

0 無効

1 有効

SYNC1:内部同期ライン 1によるラッチ設定を指定します。

※PCI-632302 のみ設定できます。

SYNC1 内容

0 無効

1 有効

SYNC2:内部同期ライン 2によるラッチ設定を指定します。

※PCI-632302 のみ設定できます。

SYNC2 内容

0 無効

1 有効

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

Page 30: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

29

【備考】

●パルスカウントモードの概要について

パルスカウントモードでは、各チャンネルのA・B相からの外部パルスと、内部基準クロック

(UcntSetBaseClock関数で設定)のカウントを行います。

外部ロード機能はZ相またはZ相+LAの入力タイミングで、プリロードデータをカウンタにロ

ードします。プリロードデータを 0(初期値)に設定している場合にはクリア動作となります。

プリロードデータの設定は UcntSetLoadData関数で行います。

また、LA、LB による外部ラッチや、内部基準クロックによる一定周期ラッチの設定を行うこと

が可能です。

<パルスカウントモードのタイミングチャート>

比較レジスタ A(200)

カウント値

スタート/ストップ

0リードレジスタ

FIFO

OUTA カウンタ=200

OUTB 200≦カウンタ≦500

スタート

Z

LA

LB

外部ロード(クリア)

外部ラッチストップ

350

350

比較レジスタ B(500)

A

B

UP/DOWN パルス

A

B

方向付き単相パルス

A

B

位相差パルス

外部パルス

一致出力

一致出力

Page 31: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

30

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntSetPulseCountMode(hDeviceHandle, 1, IFUCNT_COUNT_PHASE_4, 0x01, 0x00);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntSetPulseCountMode(hDeviceHandle, 1, IFUCNT_COUNT_PHASE_4, &H01, &H00)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntSetPulseCountMode(hDeviceHandle, 1, IFUCNT_COUNT_PHASE_4, $01, $00);

デバイス名「IFUCNT1」のデバイスのチャンネル 1 をパルスカウントモード(位相差パルスカ

ウントモード 4逓倍、Z相立ち上がりエッジ入力によるカウンタクリア(ロード)、外部ラッチ

なし)に設定します。

Page 32: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

31

6. UcntGetPulseCountMode 【機能】

パルスカウントモードの設定情報を取得します。

【書式】

●C言語

INT UcntGetPulseCountMode(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

PDWORD pdwCountMode, // カウントモード取得変数

// へのポインタ

PDWORD pdwLoadMode, // プリロードモード取得変数

// へのポインタ

PDWORD pdwLatchMode // ラッチモード取得変数

// へのポインタ

);

●Visual Basic

Declare Function UcntGetPulseCountMode Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByRef pdwCountMode As Long,_ ‘ カウントモード取得変数

‘ への参照渡し

ByRef pdwLoadMode As Long,_ ‘ プリロードモード取得変数

‘ への参照渡し

ByRef pdwLatchMode As Long_ ‘ ラッチモード取得変数

‘ への参照渡し

)As Long

●Delphi

function UcntGetPulseCountMode(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

var pdwCountMode: Dword; // カウントモード取得変数

// への参照渡し

var pdwLoadMode: Dword; // プリロードモード取得変数

// への参照渡し

var pdwLatchMode: Dword // ラッチモード取得変数

// への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

Page 33: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

32

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定情報を取得するチャンネルを指定してください。

pdwCountMode カウントモード設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

変数にはカウントモードとカウント方向の識別子が論理和で指定されます。

カウントモード

識別子 カウントモード

IFUCNT_COUNT_P_DIR_1 方向付き単相パルスカウントモード 1 逓倍

IFUCNT_COUNT_P_DIR_2 方向付き単相パルスカウントモード 2 逓倍

IFUCNT_COUNT_U_D_1 UP/DOWN パルスカウントモード 1 逓倍

IFUCNT_COUNT_PHASE_1 位相差パルスカウントモード 1 逓倍

IFUCNT_COUNT_PHASE_2 位相差パルスカウントモード 2 逓倍

IFUCNT_COUNT_PHASE_4 位相差パルスカウントモード 4 逓倍

IFUCNT_COUNT_INTERNAL_CLOCK 内部基準クロックカウントモード

カウント方向

識別子 内容

IFUCNT_DIR_NORMAL 通常方向(カウントアップ)

IFUCNT_DIR_REVERS リバース方向(カウントダウン)

pdwLoadMode プリロードモード設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

ビット bit31~6 bit5 bit4 bit3 bit2 bit1 bit0

内容 予約 CLC1 CLC0 L1P ZP CLS1 CLS0

CLS1,CLS0:カウンタ外部ロード(クリア)条件を取得します。

CLS1 CLS0 内容

0 0 外部ロード無効

0 1 Z 相有効時

1 0 LA と Z 相が有効時

1 1 設定禁止

Page 34: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

33

ZP:Z 相の論理を取得します。

ZP 内容

0 Z 相通常(立ち上がり、“High”で有効)

1 Z 相反転(立ち下がり、“Low”で有効)

LAP:LA の極性を取得します。

LA 内容

0 LA 相通常(立ち下がり、“Low”で有効)

1 LA 相反転(立ち上がり、“High”で有効)

CLC1,CLC0:外部ロード(クリア)モードを取得します。

CLC1 CLC0 内容

0 0 非同期エッジ

0 1 同期エッジ

1 0 非同期レベル

1 1 設定禁止

pdwLatchMode ラッチモード設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

ビット bit31~16

内容 予約

ビット bit15 bit14 bit13~bit12 bit11 bit10 bit9~bit8

内容 SYNC2 SYNC1 予約 C/B PEAK 予約

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 CKL

LOAD

EXL

LOAD

予約 CKL LBF

LT

LBR

LT

LAF

LT

LAR

LT

LARLT:LA 立ち上がりでのラッチ設定を取得します。

LAFLT:LA 立ち下がりでのラッチ設定を取得します。

LBRLT:LB 立ち上がりでのラッチ設定を取得します。

LBFLT:LB 立ち下がりでのラッチ設定を取得します。

LBFLT、LBRLT、LAFLT、LARLT 内容

0 無効

1 有効

CKL:内部基準クロックによるラッチ設定を取得します。

CKL 内容

0 無効

1 有効

Page 35: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

34

EXLLOAD:外部ラッチ後のカウンタロード設定を取得します。

EXLLOAD 内容

0 ロードしない

1 ロードする

CKLLOAD:内部基準クロックラッチ後のカウンタロード設定を取得します。

CKLLOAD 内容

0 ロードしない

1 ロードする

PEAK:ピークホールド(カウンタの回転方向が変わったとき)でのラッチ設定を取得します。

PEAK 内容

0 無効

1 有効

C/B:キャリー/ボロー発生によるラッチ設定を取得します。

C/B 内容

0 無効

1 有効

SYNC1:内部同期ライン 1によるラッチ設定を取得します。

SYNC1 内容

0 無効

1 有効

SYNC2:内部同期ライン 2によるラッチ設定を取得します。

SYNC2 内容

0 無効

1 有効

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

Page 36: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

35

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwCountMode;

DWORD dwLoadMode;

DWORD dwLatchMode;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetPulseCountMode(hDeviceHandle, 2, &dwCountMode, &dwLoadMode,

&dwLatchMode);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwCountMode As Long

Dim dwLoadMode As Long

Dim dwLatchMode As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetPulseCountMode(hDeviceHandle, 2, dwCountMode, dwLoadMode, _

dwLatchMode)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwCountMode: Dword;

dwLoadMode: Dword;

dwLatchMode: Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetPulseCountMode(hDeviceHandle, 1, dwCountMode, dwLoadMode,

dwLatchMode);

デバイス名「IFUCNT1」のデバイスのチャンネル 2 のパルスカウントモード設定情報を取得し

ます。

Page 37: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

36

7. UcntSetFreqAvgMode 【機能】

平均周波数測定モードに設定します。

【書式】

●C言語

INT UcntSetFreqAvgMode(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

DWORD dwCountMode, // カウントモード

DWORD dwClock // 基準クロック

);

●Visual Basic

Declare Function UcntSetFreqAvgMode Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByVal dwCountMode As Long,_ ‘ カウントモード

ByVal dwClock As Long_ ‘ 基準クロック

)As Long

●Delphi

function UcntSetFreqAvgMode(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

dwCountMode: Dword; // カウントモード

dwClock: Dword // 基準クロック

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したデバイスのデバイスハンドルを指定してください。

nChannel 設定を行うチャンネルを指定してください。

Page 38: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

37

dwCountMode パルスカウントのモードとカウント方向の識別子を論理和で指定してください。

カウント方向を省略した場合には、デフォルトで通常方向が選択されます。

カウントモード

識別子 カウントモード

IFUCNT_COUNT_P_DIR_1 方向付き単相パルスカウントモード 1 逓倍

IFUCNT_COUNT_P_DIR_2 方向付き単相パルスカウントモード 2 逓倍

IFUCNT_COUNT_U_D_1 UP/DOWN パルスカウントモード 1 逓倍

IFUCNT_COUNT_PHASE_1 位相差パルスカウントモード 1 逓倍

IFUCNT_COUNT_PHASE_2 位相差パルスカウントモード 2 逓倍

IFUCNT_COUNT_PHASE_4 位相差パルスカウントモード 4 逓倍

カウント方向

識別子 内容

IFUCNT_DIR_NORMAL 通常方向(カウントアップ)

IFUCNT_DIR_REVERS リバース方向(カウントダウン)

dwClock 基準クロック設定値を指定してください。

設定範囲:0 ~ 16,777,215(FFFFFFh)

dwClock 基準クロック周期

0 停止

1 100 [ns]

16,777,215 1.6777215 [s]

Page 39: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

38

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【備考】

●平均周波数測定モードの概要について

平均周波数測定モードでは A・B相からの入力されたパルスの平均周波数をカウントします。

具体的な測定方法としては、dwClock で指定した内部基準クロック周期のタイミングでカウン

タラッチ(&クリア)を行うことで、一定時間内に入力されたパルスをカウントして平均周波

数を取得します。

ラッチ時のデータが一周期分のデータとなるため、カウンタ値の取得には

UcntReadLatchCounter関数を使用してください。(UcntReadCounter関数では測定途中のカウ

ント値を取得してしまう為、無意味なデータを取得する可能性があります。)

また、 終的な平均周波数[Hz]は下記の式で算出します。

平均周波数[Hz] = カウントクロック数 / 基準クロック周期

基準クロック周期に 1[s]を指定した場合には、UcntReadLatchCounter関数にて取得したカウン

ト値がそのまま周波数となります。(基準クロックは 100[ns]単位で設定可能です。)

カウントスタート時(UcntStartCount関数)はソフトスタート(IFUCNT_CMD_START)を指定し

てください。

<平均周波数測定モードのタイミングチャート>

カウント値

内部基準クロック

クリア

0 400 500 600リードレジスタ

FIFO

OUTA

OUTB

600

400

500

ソフトスタート

ラッチ

クリア

ラッチ

クリア

ラッチ

LA

スタート

A

B

UP/DOWN パルス

A

B

方向付き単相パルス

A

B

位相差パルス

外部パルス

比較レジスタ A(550)比較レジスタ B(650)

Page 40: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

39

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntSetFreqAvgMode(hDeviceHandle, 1, IFUCNT_COUNT_P_DIR_1, 100000);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntSetFreqAvgMode(hDeviceHandle, 1, IFUCNT_COUNT_P_DIR_1, 100000)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntSetFreqAvgMode(hDeviceHandle, 1, IFUCNT_COUNT_P_DIR_1, 100000);

デバイス名「IFUCNT1」のデバイスのチャンネル 1 を平均周波数測定モード(方向付き単層パ

ルスカウントモード 1逓倍、基準クロック 10[ms])に設定します。

Page 41: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

40

8. UcntGetFreqAvgMode 【機能】

平均周波数測定モードの設定情報を取得します。

【書式】

●C言語

INT UcntGetFreqAvgMode(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

PDWORD pdwCountMode, // カウントモード取得変数

// へのポインタ

PDWORD pdwClock // 基準クロック取得変数

// へのポインタ

);

●Visual Basic

Declare Function UcntGetFreqAvgMode Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByRef pdwCountMode As Long,_ ‘ カウントモード取得変数

‘ への参照渡し

ByRef pdwClock As Long_ ‘ 基準クロック取得変数

‘ への参照渡し

)As Long

●Delphi

function UcntGetFreqAvgMode(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

var pdwCountMode: Dword; // カウントモード取得変数

// への参照渡し

var pdwClock: Dword // 基準クロック取得変数

// への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 取得を行うチャンネルを指定してください。

Page 42: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

41

pdwCountMode カウントモード設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

変数にはカウントモードとカウント方向の識別子が論理和で指定されます。

カウントモード

識別子 カウントモード

IFUCNT_COUNT_P_DIR_1 方向付き単相パルスカウントモード 1 逓倍

IFUCNT_COUNT_P_DIR_2 方向付き単相パルスカウントモード 2 逓倍

IFUCNT_COUNT_U_D_1 UP/DOWN パルスカウントモード 1 逓倍

IFUCNT_COUNT_PHASE_1 位相差パルスカウントモード 1 逓倍

IFUCNT_COUNT_PHASE_2 位相差パルスカウントモード 2 逓倍

IFUCNT_COUNT_PHASE_4 位相差パルスカウントモード 4 逓倍

カウント方向

識別子 内容

IFUCNT_DIR_NORMAL 通常方向(カウントアップ)

IFUCNT_DIR_REVERS リバース方向(カウントダウン)

pdwClock 基準クロック設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

設定範囲:0 ~ 16,777,215(FFFFFFh)

dwClock 基準クロック周期

0 停止

1 100 [ns]

16,777,215 1.6777215 [s]

Page 43: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

42

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwCountMode;

DWORD dwClock;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetFreqAvgMode(hDeviceHandle, 1, &dwCountMode, &dwClock);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwCountMode As Long

Dim dwClock As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetFreqAvgMode(hDeviceHandle, 1, dwCountMode, dwClock)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwCountMode: Dword;

dwClock: Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetFreqAvgMode(hDeviceHandle, 1, dwCountMode, dwClock);

デバイス名「IFUCNT1」のデバイスのチャンネル 1 の平均周波数測定モード設定情報を取得し

ます。

Page 44: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

43

9. UcntSetCycleMode 【機能】

周期測定モードに設定します。

【書式】

●C言語

INT UcntSetCycleMode(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

DWORD dwCountType, // 周期測定タイプ

DWORD dwClock // 基準クロック

);

●Visual Basic

Declare Function UcntSetCycleMode Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByVal dwCountType As Long,_ ‘ 周期測定タイプ

ByVal dwClock As Long_ ‘ 基準クロック

)As Long

●Delphi

function UcntSetCycleMode(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

dwCountType: Dword; // 周期測定タイプ

dwClock: Dword // 基準クロック

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定を行うチャンネルを指定してください。

dwCountType 周期測定タイプを指定してください。

識別子 内容

IFUCNT_CYCLE_NORMAL パルス周期を測定します

IFUCNT_CYCLE_HIGH High パルス幅を測定します

IFUCNT_CYCLE_LOW Low パルス幅を測定します

IFUCNT_CYCLE_HIGH_LOW High、Low パルス幅を測定します

Page 45: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

44

dwClock 基準クロック設定値を指定してください。

設定範囲:0 ~ 16,777,215(FFFFFFh)

dwClock 基準クロック周期

0 停止

1 100 [ns]

16,777,215 1.6777215 [s]

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【備考】

●周期測定モードの概要について

周期測定モードでは、測定対象のパルスは LA から入力して周期測定を行います。

具体的な測定方法としては、内部基準クロックによるカウントを LA 信号の立ち上がりタイミ

ングでラッチ(&クリア)することで、LA からの入力パルスの幅をラッチカウンタから取得し

ます。

dwClock で指定した内部クロックのカウント値が測定周期となる為、内部クロック周期の設定

が短いほど周期測定の精度が良くなります。(クロック周期を短くすると、測定可能な 大周

期は短くなります。)

ラッチ時のデータが一周期分のデータとなるため、カウンタ値の取得には

UcntReadLatchCounter関数を使用してください。(UcntReadCounter関数では測定途中のカウ

ント値を取得してしまう為、無意味なデータを取得する可能性があります。)

終的なパルス周期は下記の式で算出します。

周期[s] = カウントクロック数 × 基準クロック

カウントスタート時(UcntStartCount関数)は外部スタートウェイト(トリガ待ち)

(IFUCNT_CMD_EXWAIT)を指定してください。

スタート関数の実行後、 初の入力パルス(LA)の立ち上がりでカウントを開始します。

Page 46: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

45

<周期数測定のタイミングチャート>

比較レジスタ A(550)

カウント値

LA

0 500 500 600リードレジスタ

FIFO

OUTA

基準クロック

OUTB

600500

スタート

クリア

ラッチ

クリア

ラッチ

クリア

ラッチ

比較レジスタ B(650)

周期測定モードでは、LA 信号の立ち上がりから次の立ち上がりまでの間にカウントした基準ク

ロックのカウント値をラッチします。

<High パルス幅測定(Low パルス幅測定)のタイミングチャート>

比較レジスタ A(450)

カウント値

LA

0 400 500リードレジスタ

FIFO

OUTA

基準クロック

OUTB

500

400

スタート ストップ スタート ストップ

クリア

ラッチ

クリア

ラッチ

比較レジスタ B(600)

High パルス幅測定モードでは、LA 信号の立ち上がりから立ち下がりまでの間にカウントした

基準クロックのカウント値をラッチします。

Low パルス幅測定モードでは、LA 信号の立ち下がりから立ち上がりまでの間にカウントした基

準クロックのカウント値をラッチします。

Page 47: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

46

<デューティ比測定(High/Low パルス幅測定)のタイミングチャート>

比較レジスタ A(550)

カウント値

LA

0 400 600 500リードレジスタ

FIFO

OUTA

基準クロック

OUTB

600

400

スタート

クリア

ラッチ

クリア

ラッチ

クリア

ラッチ

比較レジスタ B(650)

デューティ比測定モード(High/Low パルス幅測定モード)では、LA 信号の全ての立ち上がり

と立ち下がりのエッジでカウント値をラッチ(&クリア)します。

これにより、ラッチカウンタには High パルス幅と Low パルス幅の値が交互にラッチされる状

態となります。両方のパルス幅の比率からデューティ比を測定することが可能となります。

測定したラッチカウント値がHighパルスとLowパルスのどちらを示しているかを確認する為

に、UcntGetStatus関数を使用してカウントラッチ時のステータス状態を確認する必要があり

ます。

ステータス情報から、ラッチタイミングの直前・直後の LA 信号の状態が確認できる為、

・LABEF(ラッチ直前):Low

・LAAFT(ラッチ直後):High

の場合には、LA の立ち上がりによってラッチが発生したことを示し、ラッチカウント値は Low

パルスの幅となります。

・LABEF(ラッチ直前):High

・LAAFT(ラッチ直後):Low

逆の場合には、LA の立ち下がりによってラッチが発生した事を示す為、High パルス幅となり

ます。

LABEF、LAAFT の値が変化していない場合には、LA 信号以外の要因でラッチが発生した事を示

します。(High/Low パルス幅の測定中には、無効なカウント値となります。)

また、サンプリングの設定(UcntSetSamplingConfig関数)を行う際に、ステータス情報を付

加する設定(IFUCNT_ADD_STATUS)にしている場合には、カウンタラッチのタイミングでカウ

ント値と上記のステータス情報を同時に取得することが可能となっています。

デューティ比測定を行う場合には、このサンプリング時のステータス取得機能をご使用いただ

くと便利です。

Page 48: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

47

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntSetCycleMode(hDeviceHandle, 1, IFUCNT_CYCLE_HIGH, 10000);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntSetCycleMode(hDeviceHandle, 1, IFUCNT_CYCLE_HIGH, 10000)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntSetCycleMode(hDeviceHandle, 1, IFUCNT_CYCLE_HIGH, 10000);

デバイス名「IFUCNT1」のデバイスのチャンネル 1 を周期測定モード(High パルス幅測定モー

ド、基準クロック 1[ms])に設定します。

Page 49: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

48

10. UcntGetCycleMode

【機能】

周期測定モード設定情報を取得します。

【書式】

●C言語

INT UcntGetCycleMode(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

PDWORD pdwCountType, // 周期測定タイプ取得変数

// へのポインタ

PDWORD pdwClock // 基準クロック取得変数

// へのポインタ

);

●Visual Basic

Declare Function UcntGetCycleMode Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByRef pdwCountType As Long,_ ‘ 周期測定タイプ取得変数

‘ への参照渡し

ByRef pdwClock As Long_ ‘ 基準クロック取得変数

‘ への参照渡し

)As Long

●Delphi

function UcntGetCycleMode(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

var pdwCountType: Dword; // 周期測定タイプ取得変数

// への参照渡し

var pdwClock: Dword // 基準クロック取得変数

// への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定を行うチャンネルを指定してください。

Page 50: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

49

pdwCountType 周期測定タイプ設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

識別子 内容

IFUCNT_CYCLE_NORMAL パルス周期を測定します

IFUCNT_CYCLE_HIGH High パルス幅を測定します

IFUCNT_CYCLE_LOW Low パルス幅を測定します

IFUCNT_CYCLE_HIGH_LOW High、Low パルス幅を測定します

pdwClock 基準クロック設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

設定範囲:0 ~ 16,777,215(FFFFFFh)

dwClock 基準クロック周期

0 停止

1 100 [ns]

16,777,215 1.6777215 [s]

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwCountType;

DWORD dwClock;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetCycleMode(hDeviceHandle, 2, &dwCountType, &dwClock);

Page 51: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

50

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwCountType As Long

Dim dwClock As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetCycleMode(hDeviceHandle, 2, dwCountType, dwClock)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwCountType: Dword;

dwClock: Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetCycleMode(hDeviceHandle, 2, dwCountType, dwClock);

デバイス名「IFUCNT1」のデバイスのチャンネル 2の周期測定モード設定情報を取得します。

Page 52: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

51

11. UcntSetPhaseDiffMode

【機能】

位相差幅測定モードに設定します。

【書式】

●C言語

INT UcntSetPhaseDiffMode(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

DWORD dwCountType, // 位相差幅測定タイプ

DWORD dwClock // 基準クロック

);

●Visual Basic

Declare Function UcntSetPhaseDiffMode Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByVal dwCountType As Long,_ ‘ 位相差幅測定タイプ

ByVal dwClock As Long_ ‘ 基準クロック

)As Long

●Delphi

function UcntSetPhaseDiffMode(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

dwCountType: Dword; // 位相差幅測定タイプ

dwClock: Dword // 基準クロック

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定を行うチャンネルを指定してください。

dwCountType 位相差幅測定タイプを指定してください。

識別子 内容

IFUCNT_PHASE_DIFF_NORMAL LA-LB 間の位相差幅を測定します

IFUCNT_PHASE_DIFF_ALL LA,LB の全位相差幅を測定します

Page 53: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

52

dwClock 基準クロック設定値を指定してください。

設定範囲:0 ~ 16,777,215(FFFFFFh)

dwClock 基準クロック周期

0 停止

1 100 [ns]

16,777,215 1.6777215 [s]

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【備考】

●位相差幅測定モードの概要について

位相差幅測定モードでは、LA・LB からの入力パルスの位相差幅を測定します。

具体的な測定方法としては、内部基準クロックによるカウントを LA の立ち上がりタイミング

でカウントスタートし、LB の立ち上がりでラッチ(&クリア)することで、LA 入力から LB の

入力までの幅をラッチカウンタから取得します。

dwClock で指定した内部クロックのカウント値が測定幅となる為、内部クロック周期の設定が

短いほど位相差幅測定の精度が良くなります。(クロック周期を短くすると、測定可能な 大

位相差幅は短くなります。)

ラッチ時のデータが一周期分のデータとなるため、カウンタ値の取得には

UcntReadLatchCounter関数を使用してください。(UcntReadCounter関数では測定途中のカウ

ント値を取得してしまう為、無意味なデータを取得する可能性があります。)

位相差幅は下記の式で算出できます。

位相差幅[s] = カウントクロック数 × 基準クロック

カウントスタート時(UcntStartCount関数)は外部スタートウェイト(トリガ待ち)

(IFUCNT_CMD_EXWAIT)を指定してください。

スタート関数の実行後、 初の入力パルス(LA)の立ち上がりでカウントを開始します。

Page 54: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

53

<位相差幅測定モードのタイミングチャート>

カウント値

LB

0 500 600リードレジスタ

FIFO

OUTA

基準クロック

OUTB

比較レジスタ A(550)600500

LA

スタート

ストップ

スタート

ストップ

クリア

ラッチ

クリア

ラッチ

比較レジスタ B(700)

位相差幅測定モードでは、LA 信号の立ち上がりでカウントを開始し、LB 信号の立ち上がりで

カウントをストップ・ラッチ(&クリア)します。

<全位相差幅測定モードのタイミングチャート>

比較レジスタ A(550)

カウント値

LA

リードレジスタ

FIFO

OUTA

基準クロック

OUTB

600

500

LB

400

0 500 600 500500 500 400

スタート

クリア

ラッチ

クリア

ラッチ

クリア

ラッチ

クリア

ラッチ

クリア

ラッチ

クリア

ラッチ

比較レジスタ B(650)

全位相差幅測定モードでは、LA 信号の立ち上がりでカウントを開始し、LA 信号の立ち上がり・

立ち下がりと LB 信号の立ち上がり・立ち下がりでカウンタ値をラッチ(&クリア)します。

Page 55: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

54

測定したラッチカウント値がどの信号のラッチによるものかを確認する為に、

UcntGetStatus関数を使用してカウントラッチ時のステータス状態を確認する必要があります。

ステータス情報から、ラッチタイミングの直前・直後の LA 信号の状態が確認できる為、

・LABEF(ラッチ直前):Low

・LAAFT(ラッチ直後):High

の場合には、LA の立ち上がりによってラッチが発生したことを示します。

・LABEF(ラッチ直前):High

・LAAFT(ラッチ直後):Low

逆の場合には、LA の立ち下がりによってラッチが発生した事を示します。

(LB のステータスについても同様に確認できます。)

また、サンプリングの設定(UcntSetSamplingConfig関数)を行う際に、ステータス情報を付

加する設定(IFUCNT_ADD_STATUS)にしている場合には、カウンタラッチのタイミングでカウ

ント値と上記のステータス情報を同時に取得することが可能となっています。

全位相差幅測定を行う場合には、このサンプリング時のステータス取得機能をご使用いただく

と便利です。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntSetPhaseDiffMode(hDeviceHandle, 1, IFUCNT_PHASE_DIFF_NORMAL, 1000);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntSetPhaseDiffMode(hDeviceHandle, 1, IFUCNT_PHASE_DIFF_NORMAL, 1000)

Page 56: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

55

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntSetPhaseDiffMode(hDeviceHandle, 1, IFUCNT_PHASE_DIFF_NORMAL, 1000);

デバイス名「IFUCNT1」のデバイスのチャンネル 1を位相差幅測定モード(LA-LB 間位相差幅測

定モード、基準クロック 100[us])に設定します。

Page 57: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

56

12. UcntGetPhaseDiffMode

【機能】

位相差幅測定モード設定情報を取得します。

【書式】

●C言語

INT UcntGetPhaseDiffMode(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

PDWORD pdwCountType, // 位相差幅測定タイプ取得変数

// へのポインタ

PDWORD pdwClock // 基準クロック取得変数

// へのポインタ

);

●Visual Basic

Declare Function UcntGetPhaseDiffMode Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByRef pdwCountType As Long,_ ‘ 位相差幅測定タイプ取得変数

‘ への参照渡し

ByRef pdwClock As Long_ ‘ 基準クロック取得変数

‘ への参照渡し

)As Long

●Delphi

function UcntGetPhaseDiffMode(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

var pdwCountType: Dword; // 位相差幅測定タイプ取得変数

// への参照渡し

var pdwClock: Dword // 基準クロック取得変数

// への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定情報を取得するチャンネルを指定してください。

Page 58: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

57

pdwCountType 位相差幅測定タイプ設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

識別子 内容

IFUCNT_PHASE_DIFF_NORMAL LA-LB 間の位相差幅を測定します

IFUCNT_PHASE_DIFF_ALL LA,LB の全位相差幅を測定します

dwClock 基準クロック設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

設定範囲:0 ~ 16,777,215(FFFFFFh)

dwClock 基準クロック周期

0 停止

1 100 [ns]

16,777,215 1.6777215 [s]

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwCountType;

DWORD dwClock;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetPhaseDiffMode(hDeviceHandle, 1, &dwCountType, &dwClock);

Page 59: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

58

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwCountType As Long

Dim dwClock As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetPhaseDiffMode(hDeviceHandle, 1, dwCountType, dwClock)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwCountType: Dword;

dwClock: Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetPhaseDiffMode(hDeviceHandle, 1, dwCountType, dwClock);

デバイス名「IFUCNT1」のデバイスのチャンネル 1 の位相差幅測定モード設定情報を取得しま

す。

Page 60: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

59

13. UcntSetTimerMode

【機能】

タイマモードに設定します。

【書式】

●C言語

INT UcntSetTimerMode(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

DWORD dwClock // タイマクロック

);

●Visual Basic

Declare Function UcntSetTimerMode Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByVal dwClock As Long_ ‘ タイマクロック

)As Long

●Delphi

function UcntSetTimerMode(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

dwClock: Dword // タイマクロック

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定を行うチャンネルを指定してください。

dwClock タイマクロック設定値を指定してください。

設定範囲:0 ~ 16,777,215(FFFFFFh)

dwClock 基準クロック周期

0 停止

1 100 [ns]

16,777,215 1.6777215 [s]

Page 61: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

60

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【備考】

●タイマモードの概要について

タイマモードでは、内部基準クロックをカウントすることで、時間計測を行います。

カウンタ値の取得方法は、UcntReadCounter関数と UcntReadLatchCounter関数のどちらでもか

まいません。用途に合わせてご使用下さい。(ラッチカウンタを使用する場合には、任意のタ

イミングでカウントラッチを行う必要があります。)

dwClock に指定した内部基準クロック周期で、カウンタがカウントアップします。

UcntSetComparatorConfig関数を使用してカウンタ一致検出のイベントを設定し、一致検出時

にカウンタクリアを行う設定にすることで、指定した時間周期でインターバルタイマイベント

を発生させることも可能です。

<タイマモードのカウント内容>

×内部基準クロック

(100ns~1.6777251s)

比較レジスタA

32bit カウンタ(1~4,294,967,295)

比較レジスタB

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntSetTimerMode(hDeviceHandle, 1, 10000000);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntSetTimerMode(hDeviceHandle, 1, 10000000)

●Delphi

Page 62: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

61

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntSetTimerMode(hDeviceHandle, 1, 10000000);

デバイス名「IFUCNT1」のデバイスのチャンネル 1 をタイマモード(タイマクロック 1[s])に

設定します。

Page 63: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

62

14. UcntGetTimerMode

【機能】

タイマモード設定情報を取得します。

【書式】

●C言語

INT UcntGetTimerMode(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

PDWORD pdwClock // タイマクロック取得変数

// へのポインタ

);

●Visual Basic

Declare Function UcntGetTimerMode Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByRef pdwClock As Long_ ‘ タイマクロック取得変数

‘ への参照渡し

)As Long

●Delphi

function UcntGetTimerMode(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

var pdwClock: Dword // タイマクロック取得変数

// への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定情報を取得するチャンネルを指定してください。

Page 64: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

63

pdwClock タイマクロック設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

設定範囲:0 ~ 16,777,215(FFFFFFh)

dwClock 基準クロック周期

0 停止

1 100 [ns]

16,777,215 1.6777215 [s]

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwClock;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetTimerMode(hDeviceHandle, 1,&dwClock);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwClock As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetTimerMode(hDeviceHandle, 1, dwClock)

Page 65: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

64

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwClock: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetTimerMode(hDeviceHandle, 1, dwClock);

デバイス名「IFUCNT1」のデバイスのチャンネル 1のタイマモード設定情報を取得します。

Page 66: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

65

15. UcntSetFreqDividerMode

【機能】

分周器モードに設定します。

【書式】

●C言語

INT UcntSetFreqDividerMode(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

DWORD dwDivisor, // 分周周期(パルス数)

DWORD dwPulseWide, // 出力幅(パルス数)

DWORD dwLogic, // 出力論理

DWORD dwOUTB // OUTB 出力設定

);

●Visual Basic

Declare Function UcntSetFreqDividerMode Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByVal dwDivisor As Long,_ ‘ 分周周期(パルス数)

ByVal dwPulseWide As Long,_ ‘ 出力幅(パルス数)

ByVal dwLogic As Long,_ ‘ 出力論理

ByVal dwOUTB As Long_ ‘ OUTB 出力設定

)As Long

●Delphi

function UcntSetFreqDividerMode(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

dwDivisor: Dword; // 分周周期(パルス数)

dwPulseWide: Dword; // 出力幅(パルス数)

dwLogic: Dword; // 出力論理

dwOUTB: Dword // OUTB 出力設定

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定を行うチャンネルを指定してください。

Page 67: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

66

dwDivisor 入力パルスの分周周期設定値を指定してください。

設定範囲:0 ~ 4,294,967,294(FFFFFFFEh)

dwPulseWide 出力パルス幅設定値を指定してください。

設定範囲:0 ~ 4,294,967,294(FFFFFFFEh)

※ 出力パルス幅には分周周期以下の値を指定してください。

dwLogic 出力論理を指定してください。

dwLogic 内容

0 通常(正論理)

1 反転(負論理)

dwOUTB OUTB の出力設定を指定してください。

識別子 内容

IFUCNT_OUTB_STOP 出力なし

IFUCNT_OUTB_OUT OUTA と同一パルス出力

IFUCNT_OUTB_REV OUTA の反転パルス出力

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【備考】

●分周器モードの概要について

分周器モードでは、A 相からの入力パルスを元にして、OUTA 及び OUTB 端子から指定した分周

周期でパルス出力を行います。

具体的なパルスの生成方法としては、A 相のパルスカウントを行い(UP/DOWN パルスカウント

モード 1 逓倍でカウントします)、比較カウンタ A から比較カウンタ B に設定したカウント値

の間 OUTA(OUTB)信号を Low にすることで、任意の周期のパルスを生成します。

比較カウンタ Aの値が High パルス幅、比較カウンタ Bの値が分周周期に相当します。

Page 68: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

67

<分周器モードのタイミングチャート>

OUTA

比較レジスタ A

比較レジスタ Bカウント

外部クロック

LA

スタート

ソフトスタート

A

B

UP/DOWN パルス

外部パルス

上記のタイミングチャートで示した様に、外部クロックのカウントと一致検出出力機能の組み

合わせによってパルスを生成しているため、動作中に比較レジスタ値の変更

(UcntSetComparator関数)を行うと分周周期が変化してしまいますので、ご注意ください。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntSetFreqDividerMode(hDeviceHandle, 1, 1000, 10, 0, IFUCNT_OUTB_REV);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntSetFreqDividerMode(hDeviceHandle, 1, 1000, 10, 0, IFUCNT_OUTB_REV)

Page 69: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

68

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntSetFreqDividerMode(hDeviceHandle, 1, 1000, 10, 0, IFUCNT_OUTB_REV);

デバイス名「IFUCNT1」のデバイスのチャンネル 1 を分周器モード(分周周期 1000 分の 1、出

力パルス幅 10、正論理、OUTB 反転出力)に設定します。

Page 70: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

69

16. UcntGetFreqDividerMode

【機能】

分周器モード設定情報を取得します。

【書式】

●C言語

INT UcntGetFreqDividerMode(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

PDWORD pdwDivisor, // 分周周期取得変数への

// ポインタ

PDWORD pdwPulseWide, // 出力幅取得変数への

// ポインタ

PDWORD pdwLogic, // 出力論理取得変数への

// ポインタ

PDWORD pdwOUTB // OUTB 出力設定取得変数

// へのポインタ

);

●Visual Basic

Declare Function UcntGetFreqDividerMode Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByRef pdwDivisor As Long,_ ‘ 分周周期取得変数への

‘ 参照渡し

ByRef pdwPulseWide As Long,_ ‘ 出力幅取得変数への

‘ 参照渡し

ByRef pdwLogic As Long,_ ‘ 出力論理取得変数への

‘ 参照渡し

ByRef pdwOUTB As Long_ ‘ OUTB 出力設定取得変数

‘ への参照渡し

)As Long

●Delphi

function UcntGetFreqDividerMode(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

var pdwDivisor: Dword; // 分周周期取得変数への

// 参照渡し

var pdwPulseWide: Dword; // 出力幅取得変数への

// 参照渡し

var pdwLogic: Dword; // 出力論理取得変数への

// 参照渡し

var pdwOUTB: Dword // OUTB 出力設定取得変数

// への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

Page 71: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

70

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定情報を取得するチャンネルを指定してください。

pdwDivisor 入力パルスの分周周期設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

設定範囲:0 ~ 4,294,967,294(FFFFFFFEh)

pdwPulseWide 出力パルス幅設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

設定範囲:0 ~ 4,294,967,294(FFFFFFFEh)

pdwLogic 出力論理設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

dwLogic 内容

0 通常(正論理)

1 反転(負論理)

pdwOUTB OUTB の出力設定を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

識別子 内容

IFUCNT_OUTB_STOP 出力なし

IFUCNT_OUTB_OUT OUTA と同一パルス出力

IFUCNT_OUTB_REV OUTA の反転パルス出力

【戻り値】

正常終了した場合は、IFCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

Page 72: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

71

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwDivisor;

DWORD dwPulseWide;

DWORD dwLogic;

DWORD dwOUTB;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetFreqDividerMode(hDeviceHandle, 1, &dwDivisor, &dwPulseWide,

&dwLogic, &dwOUTB);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwDivisor As Long

Dim dwPulseWide As Long

Dim dwLogic As Long

Dim dwOUTB As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetFreqDividerMode(hDeviceHandle, 1, dwDivisor, dwPulseWide, _

dwLogic, dwOUTB)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwDivisor: Dword;

dwPulseWide: Dword;

dwLogic: Dword;

dwOUTB: Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetFreqDividerMode(hDeviceHandle, 1, dwDivisor, dwPulseWide,

dwLogic, dwOUTB);

デバイス名「IFUCNT1」のデバイスのチャンネル 1の分周器モード設定情報を取得します。

Page 73: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

72

17. UcntSetPulseGeneratorMode

【機能】

パルスジェネレーターモードに設定します。

【書式】

●C言語

INT UcntSetPulseGeneratorMode(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

DWORD dwClock, // 基準クロック

DWORD dwCycleWide, // パルス周期幅

DWORD dwHPulseWide, // High パルス幅

DWORD dwOUTB // OUTB 出力設定

);

●Visual Basic

Declare Function UcntSetPulseGeneratorMode Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByVal dwClock As Long,_ ‘ 基準クロック

ByVal dwCycleWide As Long,_ ‘ パルス周期幅

ByVal dwHPulseWide As Long,_ ‘ High パルス幅

ByVal dwOUTB As Long_ ‘ OUTB 出力設定

)As Long

●Delphi

function UcntSetPulseGeneratorMode(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

dwClock: Dword; // 基準クロック

dwCycleWide: Dword; // パルス周期幅

dwHPulseWide: Dword; // High パルス幅

dwOUTB: Dword // OUTB 出力設定

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定を行うチャンネルを指定してください。

Page 74: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

73

dwClock 基準クロック設定値を指定してください。

設定範囲:0 ~ 16,777,215(FFFFFFh)

dwClock 基準クロック周期

0 停止

1 100 [ns]

16,777,215 1.6777215 [s]

dwCycleWide パルス周期幅(クロック数)設定値を指定してください。

設定範囲:0 ~ 4,294,967,294(FFFFFFFEh)

dwHPulseWide High パルス幅(クロック数)設定値を指定してください。

設定範囲:0 ~ 4,294,967,294(FFFFFFFEh)

※ High パルス幅にはパルス周期幅以下の値を指定してください。

dwOUTB OUTB の出力設定を指定してください。

識別子 内容

IFUCNT_OUTB_STOP 出力なし

IFUCNT_OUTB_OUT OUTA と同一パルス出力

IFUCNT_OUTB_REV OUTA の反転パルス出力

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【備考】

●パルスジェネレータモードの概要について

パルスジェネレータモードでは、各チャンネルの OUTA 及び OUTB 端子から、指定した周期でパ

ルス出力を行います。

具体的なパルスの生成方法としては、内部基準クロックによるカウントを行い、比較カウンタ

Aから比較カウンタ Bに設定したカウント値の間 OUTA(OUTB)信号を Low にすることで、任意

の周期のパルスを生成します。

比較カウンタ A の値が High パルス幅、比較カウンタ B の値がパルスの周期に相当する為、こ

れらの比較カウンタ値の比率でデューティ比を決定します。

出力パルスの周波数は、基準クロックとパルス周期幅の値から下記の計算式で算出できます。

出力周波数[Hz] = 10,000,000 / ( dwClock × dwCycleWide )

Page 75: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

74

出力パルスのデューティ比はパルス周期幅と High パルス幅の値から下記の計算式で算出でき

ます。

デューティ比[%] = ( dwHPulseWide / dwCycleWide )× 100

<パルスジェネレータモードのタイミングチャート>

OUTA

比較レジスタ A

比較レジスタ Bカウント

内部基準クロック

LA

スタート

ソフトスタート

上記のタイミングチャートで示した様に、内部基準クロックのカウントと一致検出出力機能の

組み合わせによってパルスを生成しているため、動作中に内部基準クロック

(UcntSetBaseClock関数)や比較レジスタ値の変更(UcntSetComparator関数)を行うとパル

ス周期が変化してしまいますので、ご注意ください。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntSetPulseGeneratorMode(hDeviceHandle, 1, 1, 2, 1, IFUCNT_OUTB_NO);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntSetPulseGeneratorMode(hDeviceHandle, 1, 1, 2, 1, IFUCNT_OUTB_NO)

Page 76: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

75

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntSetPulseGeneratorMode(hDeviceHandle, 1, 1, 2, 1, IFUCNT_OUTB_NO);

デバイス名「IFUCNT1」のデバイスのチャンネル 1 をパルスジェネレーターモード(出力周波

数 5MHz、デューティ比 50%)に設定します。

Page 77: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

76

18. UcntGetPulseGeneratorMode

【機能】

パルスジェネレーターモード設定情報を取得します。

【書式】

●C言語

INT UcntGetPulseGeneratorMode(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

PDWORD pdwClock, // 基準クロック取得変数

// へのポインタ

PDWORD pdwCycleWide, // パルス周期幅取得変数

// へのポインタ

PDWORD pdwHPulseWide, // High パルス幅取得変数

// へのポインタ

PDWORD pdwOUTB // OUTB 出力設定取得変数

// へのポインタ

);

●Visual Basic

Declare Function UcntGetPulseGeneratorMode Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByRef pdwClock As Long,_ ‘ 基準クロック取得変数

‘ への参照渡し

ByRef pdwCycleWide As Long,_ ‘ パルス周期幅取得変数

‘ への参照渡し

ByRef pdwHPulseWide As Long,_ ‘ High パルス幅取得変数

‘ への参照渡し

ByRef pdwOUTB As Long_ ‘ OUTB 出力設定取得変数

‘ への参照渡し

)As Long

●Delphi

function UcntGetPulseGeneratorMode(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

var pdwClock: Dword; // 基準クロック取得変数

// への参照渡し

var pdwCycleWide: Dword; // パルス周期幅取得変数

// への参照渡し

var pdwHPulseWide: Dword; // High パルス幅取得変数

// への参照渡し

var pdwOUTB: Dword // OUTB 出力設定取得変数

// への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

Page 78: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

77

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定情報を取得するチャンネルを指定してください。

pdwClock 基準クロック設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

取得範囲:0 ~ 16,777,215(FFFFFFh)

dwClock 基準クロック周期

0 停止

1 100 [ns]

16,777,215 1.6777215 [s]

dwCycleWide パルス周期幅(クロック数)設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

取得範囲:0 ~ 4,294,967,294(FFFFFFFEh)

dwHPulseWide High パルス幅(クロック数)設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

取得範囲:0 ~ 4,294,967,294(FFFFFFFEh)

dwOUTB OUTB の出力設定を格納する変数へのポインタを指定してください。

識別子 内容

IFUCNT_OUTB_STOP 出力なし

IFUCNT_OUTB_OUT OUTA と同一パルス出力

IFUCNT_OUTB_REV OUTA の反転パルス出力

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

Page 79: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

78

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwClock;

DWORD dwCycleWide;

DWORD dwHPulseWide;

DWORD dwOUTB;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetPulseGeneratorMode(hDeviceHandle, 1, &dwClock, &dwCycleWide,

&dwHPulseWide, &OUTB);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwClock As Long

Dim dwCycleWide As Long

Dim dwHPulseWide As Long

Dim dwOUTB As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetPulseGeneratorMode(hDeviceHandle, 1, dwClock, dwCycleWide, _

dwHPulseWide, dwOUTB)

Page 80: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

79

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwClock: Dword;

dwCycleWide: Dword;

dwHPulseWide: Dword;

dwOUTB: Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetPulseGeneratorMode(hDeviceHandle, 1, dwClock, dwCycleWide,

dwHPulseWide, dwOUTB);

デバイス名「IFUCNT1」のデバイスのチャンネル 1 のパルスジェネレーターモード設定情報を

取得します。

Page 81: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

80

19. UcntSetLoadData

【機能】

プリロードデータを設定します。

【書式】

●C言語

INT UcntSetLoadData(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

DWORD dwLoadData // プリロードデータ

);

●Visual Basic

Declare Function UcntSetLoadData Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByVal dwLoadData As Long_ ‘ プリロードデータ

)As Long

●Delphi

function UcntSetLoadData(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

dwLoadData: Dword // プリロードデータ

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定を行うチャンネルを指定してください。

dwLoadData プリロードデータ設定値を指定してください。

設定範囲:0 ~ 4,294,967,295(FFFFFFFFh)

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

Page 82: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

81

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntSetLoadData(hDeviceHandle, 1, 0);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntSetLoadData(hDeviceHandle, 1, 0)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntSetLoadData(hDeviceHandle, 1, 0);

デバイス名「IFUCNT1」のデバイスのチャンネル 1のプリロードデータを 0に設定します。

Page 83: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

82

20. UcntGetLoadData

【機能】

プリロードデータ設定情報を取得します。

【書式】

●C言語

INT UcntGetLoadData(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

PDWORD pdwLoadData // プリロードデータ取得変数

// へのポインタ

);

●Visual Basic

Declare Function UcntGetLoadData Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByRef pdwLoadData As Long_ ‘ プリロードデータ取得変数

‘ への参照渡し

)As Long

●Delphi

function UcntGetLoadData(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

var pdwLoadData: Dword // プリロードデータ取得変数

// への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定情報を取得するチャンネルを指定してください。

pdwLoadData プリロードデータ設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

設定範囲:0 ~ 4,294,967,295(FFFFFFFFh)

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

Page 84: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

83

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwLoadData;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetLoadData(hDeviceHandle, 1, &dwLoadData);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwLoadData As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetLoadData(hDeviceHandle, 1, dwLoadData)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwLoadData: Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetLoadData(hDeviceHandle, 1, dwLoadData);

デバイス名「IFUCNT1」のデバイスのチャンネル 1のプリロードデータ設定値を取得します。

Page 85: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

84

21. UcntSetBaseClock

【機能】

内部基準クロックを設定します。

【書式】

●C言語

INT UcntSetBaseClock(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

DWORD dwClock // 内部基準クロック

);

●Visual Basic

Declare Function UcntSetBaseClock Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByVal dwClock As Long_ ‘ 内部基準クロック

)As Long

●Delphi

function UcntSetBaseClock(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

dwClock: Dword // 内部基準クロック

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定を行うチャンネルを指定してください。

dwClock 内部基準クロック設定値を指定してください。

設定範囲:0 ~ 16,777,215(FFFFFFh)

dwClock 基準クロック周期

0 停止

1 100 [ns]

16,777,215 1.6777215 [s]

Page 86: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

85

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntSetBaseClock(hDeviceHandle, 1, 1000 * 10);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntSetBaseClock(hDeviceHandle, 1, 1000 * 10)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntSetBaseClock(hDeviceHandle, 1, 1000 * 10);

デバイス名「IFUCNT1」のデバイスのチャンネル 1の内部基準クロックを 1[ms]に設定します。

Page 87: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

86

22. UcntGetBaseClock

【機能】

内部基準クロック設定情報を取得します。

【書式】

●C言語

INT UcntGetBaseClock(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

PDWORD pdwClock // 内部基準クロック取得変数

// へのポインタ

);

●Visual Basic

Declare Function UcntGetBaseClock Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByRef pdwClock As Long_ ‘ 内部基準クロック取得変数

‘ への参照渡し

)As Long

●Delphi

function UcntGetBaseClock(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

var pdwClock: Dword // 内部基準クロック取得変数

// への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定情報を取得するチャンネルを指定してください。

Page 88: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

87

pdwClock 内部基準クロック設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

設定範囲:0 ~ 16,777,215(FFFFFFh)

dwClock 基準クロック周期

0 停止

1 100 [ns]

16,777,215 1.6777215 [s]

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwClock;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetBaseClock(hDeviceHandle, 1, &dwClock);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwClock As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetBaseClock(hDeviceHandle, 1, dwClock)

Page 89: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

88

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwClock: Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetBaseClock(hDeviceHandle, 1, dwClock);

デバイス名「IFUCNT1」のデバイスのチャンネル 1の内部基準クロック設定値を取得します。

Page 90: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

89

23. UcntSetTriggerConfig

【機能】

トリガ条件を設定します。

【書式】

●C言語

INT UcntSetTriggerConfig(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

DWORD dwTrgStart, // スタートトリガ条件

DWORD dwTrgStop // ストップトリガ条件

);

●Visual Basic

Declare Function UcntSetTriggerConfig Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByVal dwTrgStart As Long,_ ‘ スタートトリガ条件

ByVal dwTrgStop As Long_ ‘ ストップトリガ条件

)As Long

●Delphi

function UcntSetTriggerConfig(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

dwTrgStart: Dword; // スタートトリガ条件

dwTrgStop: Dword // ストップトリガ条件

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定を行うチャンネルを指定してください。

dwTrgStart スタートトリガ条件設定値を指定してください。

下記の識別子を組み合わせて指定します。

(2つ以上の条件を選択する場合には識別子を OR で指定します。)

識別子 内容

IFUCNT_LA_R LA の立ち上がりエッジ

IFUCNT_LA_F LA の立ち下がりエッジ

IFUCNT_LB_R LB の立ち上がりエッジ

IFUCNT_LB_F LB の立ち下がりエッジ

Page 91: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

90

dwTrgStop ストップトリガ条件設定値を指定してください。

下記の識別子を組み合わせて指定します。

(2つ以上の条件を選択する場合には識別子を OR で指定します。)

識別子 内容

IFUCNT_LA_R LA の立ち上がりエッジ

IFUCNT_LA_F LA の立ち下がりエッジ

IFUCNT_LB_R LB の立ち上がりエッジ

IFUCNT_LB_F LB の立ち下がりエッジ

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntSetTriggerConfig(hDeviceHandle, 2, IFUCNT_LA_R, IFUCNT_LB_F);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntSetTriggerConfig(hDeviceHandle, 2, IFUCNT_LA_R, IFUCNT_LB_F)

Page 92: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

91

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntSetTriggerConfig(hDeviceHandle, 2, IFUCNT_LA_R, IFUCNT_LB_F);

デバイス名「IFUCNT1」のデバイスのチャンネル 2 のトリガ条件(LA 立ち上がりスタート、LB

立ち上がりストップ)を設定します。

Page 93: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

92

24. UcntGetTriggerConfig

【機能】

トリガ条件設定値を取得します。

【書式】

●C言語

INT UcntGetTriggerConfig(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

PDWORD pdwTrgStart, // スタートトリガ条件取得

// 変数へのポインタ

PDWORD pdwTrgStop // ストップトリガ条件取得

// 変数へのポインタ

);

●Visual Basic

Declare Function UcntGetTriggerConfig Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByRef pdwTrgStart As Long,_ ‘ スタートトリガ条件取得

‘ 変数への参照渡し

ByRef pdwTrgStop As Long_ ‘ ストップトリガ条件取得

‘ 変数への参照渡し

)As Long

●Delphi

function UcntGetTriggerConfig(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

var pdwTrgStart: Dword; // スタートトリガ条件取得

// 変数への参照渡し

var pdwTrgStop: Dword // ストップトリガ条件取得

// 変数への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定情報を取得するチャンネルを指定してください。

dwTrgStart スタートトリガ条件設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

Page 94: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

93

識別子 内容

IFUCNT_LA_R LA の立ち上がりエッジ

IFUCNT_LA_F LA の立ち下がりエッジ

IFUCNT_LB_R LB の立ち上がりエッジ

IFUCNT_LB_F LB の立ち下がりエッジ

dwTrgStop ストップトリガ条件設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

識別子 内容

IFUCNT_LA_R LA の立ち上がりエッジ

IFUCNT_LA_F LA の立ち下がりエッジ

IFUCNT_LB_R LB の立ち上がりエッジ

IFUCNT_LB_F LB の立ち下がりエッジ

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwTrgStart;

DWORD dwTrgStop;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetTriggerConfig(hDeviceHandle, 2, &dwTrgStart, &dwTrgStop);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwTrgStart As Long

Dim dwTrgStop As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetTriggerConfig(hDeviceHandle, 2, dwTrgStart, dwTrgStop)

Page 95: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

94

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwTrgStart: Dword;

dwTrgStop: Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetTriggerConfig(hDeviceHandle, 2, dwTrgStart, dwTrgStop);

デバイス名「IFUCNT1」のデバイスのチャンネル 2のトリガ条件設定値を取得します。

Page 96: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

95

25. UcntSetTriggerChannel

【機能】

トリガチャンネルを設定します。

【書式】

●C言語

INT UcntSetTriggerChannel(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

INT nTrgChannel, // トリガチャンネル選択

DWORD dwTrgMode // トリガモード

);

●Visual Basic

Declare Function UcntSetTriggerChannel Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByVal nTrgChannel As Long,_ ‘ トリガチャンネル選択

ByVal dwTrgMode As Long_ ‘ トリガモード

)As Long

●Delphi

function UcntSetTriggerChannel(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

nTrgChannel: Integer; // トリガチャンネル選択

dwTrgMode: Dword // トリガモード

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定を行うチャンネルを指定してください。

nTrgChannel トリガ要因として使用するチャンネルを指定してください。

Page 97: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

96

dwTrgMode トリガモードを指定してください。

スタート/ストップ機能の繰り返し設定を指定します。

識別子 内容

IFUCNT_TRG_NORMAL ノーマルモード(スタート/ストップを繰り返す)

IFUCNT_TRG_SINGLE シングルモード(1回のみスタート/ストップを行う)

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【備考】

dwTrgChannel に指定したチャンネルのスタート・ストップトリガのタイミングで任意のチャン

ネルのカウンタ動作を制御することが可能となります。

UcntSetTriggerChannel(hDeviceHandle, 1, 1, IFUCNT_TRG_NORMAL);

UcntSetTriggerChannel(hDeviceHandle, 2, 1, IFUCNT_TRG_NORMAL);

UcntSetTriggerChannel(hDeviceHandle, 3, 1, IFUCNT_TRG_NORMAL);

UcntSetTriggerChannel(hDeviceHandle, 4, 1, IFUCNT_TRG_NORMAL);

上記の様に設定を行った場合、チャンネル 1に設定したのスタート・ストップの条件で、チャ

ンネル 1~チャンネル 4までのカウンタのスタート・ストップが同時に制御されます。

また、UcntStartCount 関数/ UcntStopCount 関数を実行する際には、トリガチャンネルに設定

したチャンネル(上記設定の場合はチャンネル 1)を指定して、カウンタの制御を行います。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntSetTriggerConfig(hDeviceHandle, 4, IFUCNT_LA_R, IFUCNT_LB_F);

nRet = UcntSetTriggerChannel(hDeviceHandle, 1, 4, IFUCNT_TRG_NORMAL);

nRet = UcntSetTriggerChannel(hDeviceHandle, 2, 4, IFUCNT_TRG_NORMAL);

nRet = UcntSetTriggerChannel(hDeviceHandle, 3, 4, IFUCNT_TRG_NORMAL);

nRet = UcntSetTriggerChannel(hDeviceHandle, 4, 4, IFUCNT_TRG_NORMAL);

nRet = UcntStartCount(hDeviceHandle, 0x08, IFUCNT_CMD_EXWAIT);

Page 98: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

97

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntSetTriggerConfig(hDeviceHandle, 4, IFUCNT_LA_R, IFUCNT_LB_F)

nRet = UcntSetTriggerChannel(hDeviceHandle, 1, 4, IFUCNT_TRG_NORMAL)

nRet = UcntSetTriggerChannel(hDeviceHandle, 2, 4, IFUCNT_TRG_NORMAL)

nRet = UcntSetTriggerChannel(hDeviceHandle, 3, 4, IFUCNT_TRG_NORMAL)

nRet = UcntSetTriggerChannel(hDeviceHandle, 4, 4, IFUCNT_TRG_NORMAL)

nRet = UcntStartCount(hDeviceHandle, &H08, IFUCNT_CMD_EXWAIT)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntSetTriggerConfig(hDeviceHandle, 4, IFUCNT_LA_R, IFUCNT_LB_F);

nRet := UcntSetTriggerChannel(hDeviceHandle, 1, 4, IFUCNT_TRG_NORMAL);

nRet := UcntSetTriggerChannel(hDeviceHandle, 2, 4, IFUCNT_TRG_NORMAL);

nRet := UcntSetTriggerChannel(hDeviceHandle, 3, 4, IFUCNT_TRG_NORMAL);

nRet := UcntSetTriggerChannel(hDeviceHandle, 4, 4, IFUCNT_TRG_NORMAL);

nRet := UcntStartCount(hDeviceHandle, $08, IFUCNT_CMD_EXWAIT);

デバイス名「IFUCNT1」のデバイスのチャンネル 1~チャンネル 4 のスタート/ストップトリガ

をチャンネル 4に設定します。

(カウンタ制御時にはチャンネル 4に対してコマンドを実行します。)

Page 99: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

98

26. UcntGetTriggerChannel

【機能】

トリガチャンネルを設定します。

【書式】

●C言語

INT UcntGetTriggerChannel(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

PINT pnTrgChannel, // トリガチャンネル取得変数

// へのポインタ

PDWORD pdwTrgMode // トリガモード取得変数

// へのポインタ

);

●Visual Basic

Declare Function UcntGetTriggerChannel Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByRef pnTrgChannel As Long,_ ‘ トリガチャンネル取得変数

‘ への参照渡し

ByRef pdwTrgMode As Long_ ‘ トリガモード取得変数

‘ への参照渡し

)As Long

●Delphi

function UcntGetTriggerChannel(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

var pnTrgChannel: Integer; // トリガチャンネル取得変数

// への参照渡し

var pdwTrgMode: Dword // トリガモード取得変数

// への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定情報を取得するチャンネルを指定してください。

pnTrgChannel トリガチャンネル設定値を格納する変数へのポインタを指定してください。

Page 100: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

99

pdwTrgMode トリガモード設定値を格納する変数へのポインタを指定してください。

下記の値が格納されます。

識別子 内容

IFUCNT_TRG_NORMAL ノーマルモード(スタート/ストップを繰り返す)

IFUCNT_TRG_SINGLE シングルモード(1回のみスタート/ストップを行う)

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

INT nTrgChannel;

DWORD dwTrgMode;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetTriggerChannel(hDeviceHandle, 1, &nTrgChannel, &dwTrgMode);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim nTrgChannel As Long

Dim dwTrgMode As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetTriggerChannel(hDeviceHandle, 1, nTrgChannel, dwTrgMode)

Page 101: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

100

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

nTrgChannel: Integer;

dwTrgMode: Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetTriggerChannel(hDeviceHandle, 1, nTrgChannel, dwTrgMode);

デバイス名「IFUCNT1」のデバイスのチャンネル 1のトリガチャンネル設定条件を取得します。

Page 102: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

101

27. UcntSetComparatorConfig

【機能】

一致検出条件を設定します。

【書式】

●C言語

INT UcntSetComparatorConfig(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

DWORD dwCmpChSel, // チャンネル条件(OUTA)

DWORD dwOUTAConfig, // 一致検出条件(OUTA)

DWORD dwOUTBConfig // 一致検出条件(OUTB)

);

●Visual Basic

Declare Function UcntSetComparatorConfig Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByVal dwCmpChSel As Long,_ ‘ チャンネル条件(OUTA)

ByVal dwOUTAConfig As Long,_ ‘ 一致検出条件(OUTA)

ByVal dwOUTBConfig As Long_ ‘ 一致検出条件(OUTB)

)As Long

●Delphi

function UcntSetComparatorConfig(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

dwCmpChSel: Dword; // チャンネル条件(OUTA)

dwOUTAConfig: Dword; // 一致検出条件(OUTA)

dwOUTBConfig: Dword // 一致検出条件(OUTB)

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定を行うチャンネルを指定してください。

dwCmpChSel 一致検出条件を使用するチャンネル設定を指定してください。

ビット bit31~4 bit3 bit2 bit1 bit0

内容 予約 AEQCH4 AEQCH3 AEQCH2 AEQCH1

Page 103: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

102

AEQCH4~AEQCH1:チャンネル条件設定を指定します。

AEQCH4 AEQCH3 AEQCH2 AEQCH1 内容

0 0 0 0 設定禁止

0 0 0 1 CH1 の比較一致条件

: : : : :

1 1 1 1 CH1~CH4 の比較一致条件の AND 条件

※ 本設定で指定した一致検出条件は OUTA にのみ有効となります。

dwOUTAConfig OUTA 一致検出条件設定値を指定してください。

ビット bit31~bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 予約 AEQ1 AEQ0 AEQT AEQ

LD

AEQ

OP2

AEQ

OP1

AEQ

OP0

AEQOP2~AEQOP0:OUTA の出力形式設定を指定します。

AEQOP2 AEQOP1 AEQOP0 内容

0 0 0 一致検出出力無効

0 0 1 条件が一致している間 Low 出力

0 1 0 条件が一致している間 High 出力

0 1 1 1[us](Low パルス)

1 0 0 10[us](Low パルス)

1 0 1 100[us](Low パルス)

1 1 0 Low ラッチ出力

1 1 1 High ラッチ出力

AEQLD:一致検出時のプリロード設定を指定します。

AEQLD 内容

0 プリロードしない

1 プリロードする

AEQT:比較タイミング設定を指定します。

AEQT 内容

0 常に比較

1 リードレジスタにラッチ時に比較

AEQ1、AEQ0:比較条件設定を指定します。

AEQ1 AEQ0 内容

0 0 カウンタ値 = 比較レジスタ A

0 1 カウンタ値 ≦ 比較レジスタ A

1 0 カウンタ値 ≧ 比較レジスタ A

1 1 比較レジスタ A ≦ カウンタ値 ≦ 比較レジスタ B

Page 104: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

103

dwOUTBConfig OUTB 一致検出条件設定値を指定してください。

ビット bit31~bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 予約 BEQ1 BEQ0 BEQT BEQ

LD

BEQ

OP2

BEQ

OP1

BEQ

OP0

BEQOP2~BEQOP0:OUTB の出力形式設定を指定します。

BEQOP2 BEQOP1 BEQOP0 内容

0 0 0 一致検出出力無効

0 0 1 条件が一致している間 Low 出力

0 1 0 条件が一致している間 High 出力

0 1 1 1[us](Low パルス)

1 0 0 10[us](Low パルス)

1 0 1 100[us](Low パルス)

1 1 0 Low ラッチ出力

1 1 1 High ラッチ出力

BEQLD:一致検出時のプリロード設定を指定します。

BEQLD 内容

0 プリロードしない

1 プリロードする

BEQT:比較タイミング設定を指定します。

BEQT 内容

0 常に比較

1 リードレジスタにラッチ時に比較

BEQ1、BEQ0:比較条件設定を指定します。

BEQ1 BEQ0 内容

0 0 カウンタ値 = 比較レジスタ B

0 1 カウンタ値 ≦ 比較レジスタ B

1 0 カウンタ値 ≧ 比較レジスタ B

1 1 比較レジスタ A ≦ カウンタ値 ≦ 比較レジスタ B

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

Page 105: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

104

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntSetComparatorConfig(hDeviceHandle, 1, 0x1, 0x01, 0x00);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntSetComparatorConfig(hDeviceHandle, 1, &H1, &H01, &H00)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntSetComparatorConfig(hDeviceHandle, 1, $1, $01, $00);

デバイス名「IFUCNT1」のデバイスのチャンネル 1 の一致検出条件(OUTA:チャンネル 1 条件

を使用、比較レジスタ A との一致時に Low レベル出力、OUTB:一致検出なし)を設定します。

Page 106: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

105

28. UcntGetComparatorConfig

【機能】

一致検出条件設定情報を取得します。

【書式】

●C言語

INT UcntGetComparatorConfig(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

PDWORD pdwCmpChSel, // チャンネル条件(OUTA)

// 取得変数へのポインタ

PDWORD pdwOUTAConfig, // 一致検出条件(OUTA)

// 取得変数へのポインタ

PDWORD pdwOUTBConfig // 一致検出条件(OUTB)

// 取得変数へのポインタ

);

●Visual Basic

Declare Function UcntGetComparatorConfig Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByRef pdwCmpChSel As Long,_ ‘ チャンネル条件(OUTA)

‘ 取得変数への参照渡し

ByRef pdwOUTAConfig As Long,_ ‘ 一致検出条件(OUTA)

‘ 取得変数への参照渡し

ByRef pdwOUTBConfig As Long_ ‘ 一致検出条件(OUTB)

‘ 取得変数への参照渡し

)As Long

●Delphi

function UcntGetComparatorConfig(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

var pdwCmpChSel: Dword; // チャンネル条件(OUTA)

// 取得変数への参照渡し

var pdwOUTAConfig: Dword; // 一致検出条件(OUTA)

// 取得変数への参照渡し

var pdwOUTBConfig: Dword // 一致検出条件(OUTB)

// 取得変数への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

Page 107: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

106

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定情報を取得するチャンネルを指定してください。

pdwCmpChSel 一致検出条件を使用するチャンネル設定値を格納する変数へのポインタを指定してくだ

さい。

格納される値の詳細については下記の様になります。

ビット bit31~4 bit3 bit2 bit1 bit0

内容 予約 AEQCH4 AEQCH3 AEQCH2 AEQCH1

AEQCH4~AEQCH1:チャンネル条件設定を取得します。

AEQCH4 AEQCH3 AEQCH2 AEQCH1 内容

0 0 0 0 設定禁止

0 0 0 1 CH1 の比較一致条件

: : : : :

1 1 1 1 CH1~CH4 の比較一致条件の AND 条件

※ 本設定で取得した一致検出条件は OUTA にのみ有効となります。

pdwOUTAConfig OUTA 一致検出条件設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

ビット bit31~bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 予約 AEQ1 AEQ0 AEQT AEQ

LD

AEQ

OP2

AEQ

OP1

AEQ

OP0

AEQOP2~AEQOP0:OUTA の出力形式設定を取得します。

AEQOP2 AEQOP1 AEQOP0 内容

0 0 0 一致検出出力無効

0 0 1 条件が一致している間 Low 出力

0 1 0 条件が一致している間 High 出力

0 1 1 1[us](Low パルス)

1 0 0 10[us](Low パルス)

1 0 1 100[us](Low パルス)

1 1 0 Low ラッチ出力

1 1 1 High ラッチ出力

Page 108: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

107

AEQLD:一致検出時のプリロード設定を取得します。

AEQLD 内容

0 プリロードしない

1 プリロードする

AEQT:比較タイミング設定を取得します。

AEQT 内容

0 常に比較

1 リードレジスタにラッチ時に比較

AEQ1、AEQ0:比較条件設定を取得します。

AEQ1 AEQ0 内容

0 0 カウンタ値 = 比較レジスタ A

0 1 カウンタ値 ≦ 比較レジスタ A

1 0 カウンタ値 ≧ 比較レジスタ A

1 1 比較レジスタ A ≦ カウンタ値 ≦ 比較レジスタ B

pdwOUTBConfig OUTB 一致検出条件設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

ビット bit31~bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 予約 BEQ1 BEQ0 BEQT BEQ

LD

BEQ

OP2

BEQ

OP1

BEQ

OP0

BEQOP2~BEQOP0:OUTA の出力形式設定を取得します。

BEQOP2 BEQOP1 BEQOP0 内容

0 0 0 一致検出出力無効

0 0 1 条件が一致している間 Low 出力

0 1 0 条件が一致している間 High 出力

0 1 1 1[us](Low パルス)

1 0 0 10[us](Low パルス)

1 0 1 100[us](Low パルス)

1 1 0 Low ラッチ出力

1 1 1 High ラッチ出力

BEQLD:一致検出時のプリロード設定を取得します。

BEQLD 内容

0 プリロードしない

1 プリロードする

Page 109: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

108

BEQT:比較タイミング設定を取得します。

BEQT 内容

0 常に比較

1 リードレジスタにラッチ時に比較

BEQ1、BEQ0:比較条件設定を取得します。

BEQ1 BEQ0 内容

0 0 カウンタ値 = 比較レジスタ B

0 1 カウンタ値 ≦ 比較レジスタ B

1 0 カウンタ値 ≧ 比較レジスタ B

1 1 比較レジスタ A ≦ カウンタ値 ≦ 比較レジスタ B

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwCmpChSel;

DWORD dwOUTAConfig;

DWORD dwOUTBConfig;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetComparatorConfig(hDeviceHandle, 1, &dwCmpChSel, &dwOUTAConfig,

&dwOUTBConfig);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwCompChannel As Long

Dim dwOUTAConfig As Long

Dim dwOUTBConfig As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetComparatorConfig(hDeviceHandle, 1, dwCmpChSel, dwOUTAConfig,

dwOUTBChannel)

Page 110: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

109

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwCompChannel: Dword;

dwOUTAConfig: Dword;

dwOUTBConfig: Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetComparatorConfig(hDeviceHandle, 1, dwCmpChSel, dwOUTAConfig,

dwOUTBChannel);

デバイス名「IFUCNT1」のデバイスのチャンネル 1の一致検出条件設定情報を取得します。

Page 111: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

110

29. UcntSetFilter

【機能】

デジタルフィルタを設定します。

【書式】

●C言語

INT UcntSetFilter(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

DWORD dwFilter // デジタルフィルタ

);

●Visual Basic

Declare Function UcntSetFilter Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByVal dwFilter As Long_ ‘ デジタルフィルタ

)As Long

●Delphi

function UcntSetFilter(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

dwFilter: Dword // デジタルフィルタ

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定を行うチャンネルを指定してください。

dwFilter デジタルフィルタ設定値を指定してください。

ビット bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8

内容 FCLK FCNT14 FCNT13 FCNT12 FCNT11 FCNT10 FCNT9 FCNT8

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 FCNT7 FCNT6 FCNT5 FCNT4 FCNT3 FCNT2 FCNT1 FCNT0

Page 112: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

111

FCLK:デジタルフィルタの基準クロックを指定します。

FCNT14~FCNT0:デジタルフィルタのカウント数を指定します。

0 1 基準クロック

カウント数 FCLK

FCNT14~FCNT0 100[ns] 10[us]

0 停止 停止

1 100[ns] 10[us]

2 200[ns] 20[us]

: : :

32,767 3.2767[ms] 327.67[ms]

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntSetFilter(hDeviceHandle, 1, 0x8064);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntSetFilter(hDeviceHandle, 1, &H8064)

Page 113: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

112

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet = UcntSetFilter(hDeviceHandle, 1, $8064);

デバイス名「IFUCNT1」のデバイスのチャンネル 1のデジタルフィルタ(フィルタ周期 1ms)を

設定します。

Page 114: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

113

30. UcntGetFilter

【機能】

デジタルフィルタ設定情報を取得します。

【書式】

●C言語

INT UcntGetFilter(

HANDLE hDeviceHandle, // デバイス番号

INT nChannel, // 取得チャンネル

PDWORD pdwFilter // デジタルフィルタ取得変数

// へのポインタ

);

●Visual Basic

Declare Function UcntGetFilter Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle, As Long,_ ‘ デバイス番号

ByVal nChannel, As Long,_ ‘ 取得チャンネル

ByRef pdwFilter As Long_ ‘ デジタルフィルタ取得変数

‘ への参照渡し

)As Long

●Delphi

function UcntGetFilter(

hDeviceHandle: THandle; // デバイス番号

nChannel: Integer; // 取得チャンネル

var pdwFilter: Dword // デジタルフィルタ取得変数

// への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定情報を取得するチャンネルを指定してください。

pdwFilter デジタルフィルタ設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

ビット bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8

内容 FCLK FCNT14 FCNT13 FCNT12 FCNT11 FCNT10 FCNT9 FCNT8

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 FCNT7 FCNT6 FCNT5 FCNT4 FCNT3 FCNT2 FCNT1 FCNT0

Page 115: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

114

FCLK:デジタルフィルタの基準クロックを取得します。

FCNTR14~FCNT0:デジタルフィルタのカウントを取得します。

0 1 基準クロック

カウント数 FCLK

FCNT14~FCNT0 100[ns] 10[us]

0 停止 停止

1 100[ns] 10[us]

2 200[ns] 20[us]

: : :

32,767 3.2767[ms] 327.67[ms]

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwFilter;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetFilter(hDeviceHandle, 1, &dwFilter);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwFilter As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetFilter(hDeviceHandle, 1, dwFilter)

Page 116: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

115

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwFilter: Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetFilter(hDeviceHandle, 1, dwFilter);

デバイス名「IFUCNT1」のデバイスのチャンネル 1のデジタルフィルタ設定情報を取得します。

Page 117: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

116

31. UcntSetLatchMode

【機能】

ラッチモードを設定します。

【書式】

●C言語

INT UcntSetLatchMode(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

DWORD dwLatchMode // ラッチモード

);

●Visual Basic

Declare Function UcntSetLatchMode Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByVal dwLatchMode As Long_ ‘ ラッチモード

)As Long

●Delphi

function UcntSetLatchMode(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

dwLatchMode: Dword // ラッチモード

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定を行うチャンネルを指定してください。

Page 118: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

117

dwLatchMode ラッチモード設定値を指定してください。

ビット bit31~16

内容 予約

ビット bit15 bit14 bit13~bit12 bit11 bit10 bit9~bit8

内容 SYNC2 SYNC1 予約 C/B PEAK 予約

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 CKL

LOAD

EXL

LOAD

予約 CKL LBF

LT

LBR

LT

LAF

LT

LAR

LT

※ SYNC1, SYNC2 は PCI-632302 のみ設定できます。

※ PEAK, C/B は PCI-632304 のみ設定できます。

LARLT:LA 立ち上がりでのラッチ設定を指定します。

LAFLT:LA 立ち下がりでのラッチ設定を指定します。

LBRLT:LB 立ち上がりでのラッチ設定を指定します。

LBFLT:LB 立ち下がりでのラッチ設定を指定します。

LBFLT、LBRLT、LAFLT、LARLT 内容

0 無効

1 有効

CKL:内部基準クロックによるラッチ設定を指定します。

CKL 内容

0 無効

1 有効

EXLLOAD:外部ラッチ後のカウンタロード設定を指定します。

EXLLOAD 内容

0 ロードしない

1 ロードする

CKLLOAD:内部基準クロックラッチ後のカウンタロード設定を指定します。

CKLLOAD 内容

0 ロードしない

1 ロードする

Page 119: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

118

PEAK:ピークホールド(カウンタの回転方向が変わったとき)でのラッチ設定を指定します。

※PCI-632304 のみ設定できます。

PEAK 内容

0 無効

1 有効

C/B:キャリー/ボロー発生によるラッチ設定を指定します。

※PCI-632304 のみ設定できます。

C/B 内容

0 無効

1 有効

SYNC1:内部同期ライン 1によるラッチ設定を指定します。

※PCI-632302 のみ設定できます。

SYNC1 内容

0 無効

1 有効

SYNC2:内部同期ライン 2によるラッチ設定を指定します。

※PCI-632302 のみ設定できます。

SYNC2 内容

0 無効

1 有効

Page 120: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

119

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntSetLatchMode(hDeviceHandle, 1, 0x800);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntSetLatchMode(hDeviceHandle, 1, &H800)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet = UcntSetLatchMode(hDeviceHandle, 1, $800);

デバイス名「IFUCNT1」のデバイスのチャンネル 1のラッチモード(キャリー/ボロー発生によ

るラッチ)を設定します。

Page 121: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

120

32. UcntGetLatchMode

【機能】

ラッチモードの設定情報を取得します。

【書式】

●C言語

INT UcntGetLatchMode(

HANDLE hDeviceHandle, // デバイス番号

INT nChannel, // 取得チャンネル

PDWORD pdwLatchMode // ラッチモード取得変数

// へのポインタ

);

●Visual Basic

Declare Function UcntGetLatchMode Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle, As Long,_ ‘ デバイス番号

ByVal nChannel, As Long,_ ‘ 取得チャンネル

ByRef pdwLatchMode As Long_ ‘ ラッチモード取得変数

‘ への参照渡し

)As Long

●Delphi

function UcntGetLatchMode(

hDeviceHandle: THandle; // デバイス番号

nChannel: Integer; // 取得チャンネル

var pdwLatchMode: Dword // ラッチモード取得変数

// への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定情報を取得するチャンネルを指定してください。

Page 122: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

121

pdwLatchMode ラッチモード設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

ビット bit31~16

内容 予約

ビット bit15 bit14 bit13~bit12 bit11 bit10 bit9~bit8

内容 SYNC2 SYNC1 予約 C/B PEAK 予約

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 CKL

LOAD

EXL

LOAD

予約 CKL LBF

LT

LBR

LT

LAF

LT

LAR

LT

LARLT:LA 立ち上がりでのラッチ設定を取得します。

LAFLT:LA 立ち下がりでのラッチ設定を取得します。

LBRLT:LB 立ち上がりでのラッチ設定を取得します。

LBFLT:LB 立ち下がりでのラッチ設定を取得します。

LBFLT、LBRLT、LAFLT、LARLT 内容

0 無効

1 有効

CKL:内部基準クロックによるラッチ設定を取得します。

CKL 内容

0 無効

1 有効

EXLLOAD:外部ラッチ後のカウンタロード設定を取得します。

EXLLOAD 内容

0 ロードしない

1 ロードする

CKLLOAD:内部基準クロックラッチ後のカウンタロード設定を取得します。

CKLLOAD 内容

0 ロードしない

1 ロードする

PEAK:ピークホールド(カウンタの回転方向が変わったとき)でのラッチ設定を取得します。

PEAK 内容

0 無効

1 有効

Page 123: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

122

C/B:キャリー/ボロー発生によるラッチ設定を取得します。

C/B 内容

0 無効

1 有効

SYNC1:内部同期ライン 1によるラッチ設定を取得します。

SYNC1 内容

0 無効

1 有効

SYNC2:内部同期ライン 2によるラッチ設定を取得します。

SYNC2 内容

0 無効

1 有効

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwLatchMode;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetLatchMode(hDeviceHandle, 1, &dwLatchMode);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwLatchMode As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetLatchMode(hDeviceHandle, 1, dwLatchMode)

Page 124: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

123

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwLatchMode: Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetLatchMode(hDeviceHandle, 1, dwLatchMode);

デバイス名「IFUCNT1」のデバイスのチャンネル 1のラッチモードの設定情報を取得します。

Page 125: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

124

33. UcntSetCounter

【機能】

カウンタ値を設定します。

【書式】

●C言語

INT UcntSetCounter(

HANDLE hDeviceHandle, // デバイスハンドル

DWORD dwChSel, // チャンネル選択

PDWORD pdwCounter // プリロードデータを格納

// する配列へのポインタ

);

●Visual Basic

Declare Function UcntSetCounter Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal dwChSel As Long,_ ‘ チャンネル選択

ByRef pdwCounter As Long_ ‘ プリロードデータを格納

‘ する配列への参照渡し

)As Long

●Delphi

function UcntSetCounter(

hDeviceHandle: THandle; // デバイスハンドル

dwChSel: Dword; // チャンネル選択

var pdwCounter: Dword // プリロードデータを格納

// する配列への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

dwChSel 設定を行うチャンネルを指定してください。

各チャンネルに対応した bit に 1 を指定して、複数チャンネルを同時に設定します。

ビット bit31~bit4 bit3 bit2 bit1 bit0

内容 予約 CH4 CH3 CH2 CH1

pdwCounter プリロードデータを格納する配列のポインタを指定してください。

配列の各要素には下記の値を格納します。

Page 126: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

125

取得範囲:0 ~ 4,294,967,295(FFFFFFFFh)

dwCounter[0] チャンネル 1のプリロードデータ

dwCounter[1] チャンネル 2のプリロードデータ

dwCounter[2] チャンネル 3のプリロードデータ

dwCounter[3] チャンネル 4のプリロードデータ

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwCounter[4];

hDeviceHandle = UcntOpen(“IFUCNT1”); :

dwCounter[0] = 100;

dwCounter[1] = 100;

dwCounter[2] = 100;

dwCounter[3] = 100;

nRet = UcntSetCounter(hDeviceHandle, 0x0F, dwCounter);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwCounter(0 To 3) As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

dwCounter(0) = 100;

dwCounter(1) = 100;

dwCounter(2) = 100;

dwCounter(3) = 100;

nRet = UcntSetCounter(hDeviceHandle, &H0F, dwCounter(0))

Page 127: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

126

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwCounter: Array[0..3] of Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

dwCounter[0] := 100;

dwCounter[1] := 100;

dwCounter[2] := 100;

dwCounter[3] := 100;

nRet := UcntSetCounter(hDeviceHandle, $0F, dwCounter[0]);

デバイス名「IFUCNT1」のデバイスのチャンネル 1~チャンネル 4のカウンタ値を全て 100 に設

定します。

Page 128: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

127

34. UcntReadCounter

【機能】

カウンタ値を取得します。

【書式】

●C言語

INT UcntReadCounter(

HANDLE hDeviceHandle, // デバイスハンドル

DWORD dwChSel, // チャンネル選択

PDWORD pdwCounter // カウンタ値を格納

// する配列へのポインタ

);

●Visual Basic

Declare Function UcntReadCounter Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal dwChSel As Long,_ ‘ チャンネル選択

ByRef pdwCounter As Long_ ‘ カウンタ値を格納

‘ する配列への参照渡し

)As Long

●Delphi

function UcntReadCounter(

hDeviceHandle: THandle; // デバイスハンドル

dwChSel: Dword; // チャンネル選択

var pdwCounter: Dword // カウンタ値を格納

// する配列への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

dwChSel 取得するチャンネルを指定してください。

各チャンネルに対応した bit に 1 を指定して、複数チャンネルを同時に取得します。

ビット bit31~bit4 bit3 bit2 bit1 bit0

内容 予約 CH4 CH3 CH2 CH1

pdwCounter カウンタ値を格納する配列のポインタを指定してください。

配列の各要素には下記の値が格納されます。

Page 129: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

128

取得範囲:0 ~ 4,294,967,295(FFFFFFFFh)

dwCounter[0] チャンネル 1のカウンタ値

dwCounter[1] チャンネル 2のカウンタ値

dwCounter[2] チャンネル 3のカウンタ値

dwCounter[3] チャンネル 4のカウンタ値

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwCounter[4];

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntReadCounter(hDeviceHandle, 0x0F, dwCounter);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwCounter(0 To 3) As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntReadCounter(hDeviceHandle, &H0F, dwCounter(0))

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwCounter: Array[0..3] of Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntReadCounter(hDeviceHandle, $0F, dwCounter[0]);

デバイス名「IFUCNT1」のデバイスのチャンネル 1~チャンネル 4 のカウンタ値を取得します。

Page 130: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

129

35. UcntReadLatchCounter

【機能】

ラッチカウンタ値を取得します。

【書式】

●C言語

INT UcntReadLatchCounter(

HANDLE hDeviceHandle, // デバイスハンドル

DWORD dwChSel, // チャンネル選択

PDWORD pdwLatchCounter // ラッチカウンタ値を格納

// する配列へのポインタ

);

●Visual Basic

Declare Function UcntReadLatchCounter Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal dwChSel As Long,_ ‘ チャンネル選択

ByRef pdwLatchCounter As Long_ ‘ ラッチカウンタ値を格納

‘ する配列への参照渡し

)As Long

●Delphi

function UcntReadLatchCounter(

hDeviceHandle: THandle; // デバイスハンドル

dwChSel: Dword; // チャンネル選択

var pdwLatchCounter: Dword // ラッチカウンタ値を格納

// する配列への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

dwChSel 取得するチャンネルを指定してください。

各チャンネルに対応した bit に 1 を指定して、複数チャンネルを同時に取得します。

ビット bit31~bit4 bit3 bit2 bit1 bit0

内容 予約 CH4 CH3 CH2 CH1

pdwLatchCounter ラッチカウンタ値を格納する配列のポインタを指定してください。

配列の各要素には下記の値が格納されます。

Page 131: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

130

取得範囲:0 ~ 4,294,967,295(FFFFFFFFh)

dwLatchCounter[0] チャンネル 1のラッチカウンタ値

dwLatchCounter[1] チャンネル 2のラッチカウンタ値

dwLatchCounter[2] チャンネル 3のラッチカウンタ値

dwLatchCounter[3] チャンネル 4のラッチカウンタ値

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwLatchCounter[4];

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntReadCounter(hDeviceHandle, 0x0F, dwLatchCounter);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwLatchCounter(0 To 3) As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntReadCounter(hDeviceHandle, &H0F, dwLatchCounter(0))

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwLatchCounter: Array[0..3] of Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntReadCounter(hDeviceHandle, $0F, dwLatchCounter[0]);

デバイス名「IFUCNT1」のデバイスのチャンネル 1~チャンネル 4のラッチカウンタ値を取得し

ます。

Page 132: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

131

36. UcntSetComparator

【機能】

比較カウンタ値を設定します。

【書式】

●C言語

INT UcntSetComparator(

HANDLE hDeviceHandle, // デバイスハンドル

DWORD dwChSel, // チャンネル選択

DWORD dwComSel, // コンパレータ選択

PDWORD pdwComparatorA, // 比較カウンタ A設定値を

// 格納する配列へのポインタ

PDWORD pdwComparatorB // 比較カウンタ B設定値を

// 格納する配列へのポインタ

);

●Visual Basic

Declare Function UcntSetComparator Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal dwChSel As Long,_ ‘ チャンネル選択

ByVal dwCmpSel As Long,_ ‘ コンパレータ選択

ByRef pdwComparatorA As Long,_ ‘ 比較カウンタ A設定値を

‘ 格納する配列への参照渡し

ByRef pdwComparatorB As Long_ ‘ 比較カウンタ B設定値を

‘ 格納する配列への参照渡し

)As Long

●Delphi

function UcntSetComparator(

hDeviceHandle: THandle; // デバイスハンドル

dwChSel: Dword; // チャンネル選択

dwCmpSel: Dword; // コンパレータ選択

var pdwComparatorA: Dword; // 比較カウンタ A設定値を

// 格納する配列へのポインタ

var pdwComparatorB: Dword // 比較カウンタ B設定値を

// 格納する配列への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

Page 133: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

132

dwChSel 設定を行うチャンネルを指定してください。

各チャンネルに対応した bit に 1 を指定して、複数チャンネルを同時に設定します。

ビット bit31~bit4 bit3 bit2 bit1 bit0

内容 予約 CH4 CH3 CH2 CH1

dwCmpSel 設定を行うコンパレータを指定してください。

dwCmpSel 内容

0 比較カウンタ A,B に対して設定を行う

1 サブ比較カウンタ A,B に対して設定を行う

サブ比較カウンタ A,Bへの設定を行った場合、すぐに比較カウンタ設定は変更されません。

現在の設定値で一致検出が行われた直後に、比較カウンタの値が更新されます。

pdwComparatorA 比較カウンタ Aまたは設定値を格納する配列のポインタを指定してください。

配列の各要素には下記の値を格納します。

設定範囲:0 ~ 4,294,967,295(FFFFFFFFh)

dwComparatorA[0] チャンネル 1の比較カウンタ A設定

dwComparatorA[1] チャンネル 2の比較カウンタ A設定

dwComparatorA[2] チャンネル 3の比較カウンタ A設定

dwComparatorA[3] チャンネル 4の比較カウンタ A設定

pdwComparatorB 比較カウンタ B設定値を格納する配列のポインタを指定してください。

配列の各要素には下記の値を格納します。

設定範囲:0 ~ 4,294,967,295(FFFFFFFFh)

dwComparatorB[0] チャンネル 1の比較カウンタ B設定

dwComparatorB[1] チャンネル 2の比較カウンタ B設定

dwComparatorB[2] チャンネル 3の比較カウンタ B設定

dwComparatorB[3] チャンネル 4の比較カウンタ B設定

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

Page 134: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

133

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwComparatorA[4];

DWORD dwComparatorB[4];

hDeviceHandle = UcntOpen(“IFUCNT1”); :

dwComparatorA[0] = 100;

dwComparatorB[0] = 200;

nRet = UcntSetComparator(hDeviceHandle, 0x01, 0, dwComparatorA, dwComparatorB);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwComparatorA(0 To 3) As Long

Dim dwComparatorB(0 To 3) As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

dwComparatorA(0) = 100;

dwComparatorB(0) = 200;

nRet = UcntSetComparator(hDeviceHandle, &H01, 0, dwComparatorA(0), dwComparatorB(0))

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwComparatorA: Array[0..3] of Dword;

dwComparatorB: Array[0..3] of Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

dwComparatorA[0] := 100;

dwComparatorB[0] := 200;

nRet := UcntSetComparator(hDeviceHandle, $01, 0,

dwComparatorA[0], dwComparatorB[0]);

デバイス名「IFUCNT1」のデバイスのチャンネル 1 の比較カウンタ値(A=100、B=200)を設

定します。

Page 135: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

134

37. UcntGetComparator

【機能】

比較カウンタ設定値を取得します。

【書式】

●C言語

INT UcntGetComparator(

HANDLE hDeviceHandle, // デバイスハンドル

DWORD dwChSel, // チャンネル選択

PDWORD pdwComparatorA, // 比較カウンタ A設定値を

// 格納する配列へのポインタ

PDWORD pdwComparatorB // 比較カウンタ B設定値を

// 格納する配列へのポインタ

);

●Visual Basic

Declare Function UcntGetComparator Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal dwChSel As Long,_ ‘ チャンネル選択

ByRef pdwComparatorA As Long,_ ‘ 比較カウンタ A設定値を

‘ 格納する配列への参照渡し

ByRef pdwComparatorB As Long_ ‘ 比較カウンタ B設定値を

‘ 格納する配列への参照渡し

)As Long

●Delphi

function UcntGetComparator(

hDeviceHandle: THandle; // デバイスハンドル

dwChSel: Dword; // チャンネル選択

var pdwComparatorA: Dword; // 比較カウンタ A設定値を

// 格納する配列へのポインタ

var pdwComparatorB: Dword // 比較カウンタ B設定値を

// 格納する配列への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

dwChSel 取得するチャンネルを指定してください。

各チャンネルに対応した bit に 1 を指定して、複数チャンネルを同時に取得します。

ビット bit31~bit4 bit3 bit2 bit1 bit0

内容 予約 CH4 CH3 CH2 CH1

Page 136: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

135

pdwComparatorA 比較カウンタ A設定値を格納する配列のポインタを指定してください。

配列の各要素には下記の値が格納されます。

取得範囲:0 ~ 4,294,967,295(FFFFFFFFh)

dwComparatorA[0] チャンネル 1の比較カウンタ A設定値

dwComparatorA[1] チャンネル 2の比較カウンタ A設定値

dwComparatorA[2] チャンネル 3の比較カウンタ A設定値

dwComparatorA[3] チャンネル 4の比較カウンタ A設定値

pdwComparatorB 比較カウンタ B設定値を格納する配列のポインタを指定してください。

配列の各要素には下記の値が格納されます。

取得範囲:0 ~ 4,294,967,295(FFFFFFFFh)

dwComparatorB[0] チャンネル 1の比較カウンタ B設定値

dwComparatorB[1] チャンネル 2の比較カウンタ B設定値

dwComparatorB[2] チャンネル 3の比較カウンタ B設定値

dwComparatorB[3] チャンネル 4の比較カウンタ B設定値

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwComparatorA[4];

DWORD dwComparatorB[4];

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetComparator(hDeviceHandle, 0x01, dwComparatorA, dwComparatorB);

Page 137: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

136

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwComparatorA(0 To 3) As Long

Dim dwComparatorB(0 To 3) As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetComparator(hDeviceHandle, &H01, dwComparatorA(0), dwComparatorB(0))

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwComparatorA: Array[0..3] of Dword;

dwComparatorB: Array[0..3] of Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetComparator(hDeviceHandle, $01, dwComparatorA[0], dwComparatorB[0]);

デバイス名「IFUCNT1」のデバイスのチャンネル 1の比較カウンタ設定値を取得します。

Page 138: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

137

38. UcntGetStatus

【機能】

動作ステータス情報を取得します。

【書式】

●C言語

INT UcntGetStatus(

HANDLE hDeviceHandle, // デバイスハンドル

DWORD dwChSel, // チャンネル選択

PDWORD pdwStatus // ステータスを格納する配列

// へのポインタ

);

●Visual Basic

Declare Function UcntGetStatus Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal dwChSel As Long,_ ‘ チャンネル選択

ByRef pdwStatus As Long_ ‘ ステータスを格納する配列

‘ への参照渡し

)As Long

●Delphi

function UcntGetStatus(

hDeviceHandle: THandle; // デバイスハンドル

dwChSel: Dword; // チャンネル選択

var pdwStatus: Dword // ステータスを格納する配列

// への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

dwChSel 取得するチャンネルを指定してください。

各チャンネルに対応した bit に 1 を指定して、複数チャンネルを同時に取得します。

ビット bit31~bit4 bit3 bit2 bit1 bit0

内容 予約 CH4 CH3 CH2 CH1

Page 139: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

138

pdwStatus ステータスを格納する配列へのポインタを指定してください。

配列の各要素には下記の値が格納されます。

dwStatus[3]~dwStatus[0]:チャンネル 4~チャンネル 1のステータス情報

ビット bit31~20 bit19 bit18 bit17 bit16

内容 予約 BL CL ItoR RtoI

ビット bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8

内容 予約 LTST2 LTST1 LTST0 LBAFT LAAFT LBBEF LABEF

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 ST1 ST0 U/D LB LA Z B A

LB、LA、Z、B、A:入力端子ステータス

LB、LA、Z、B、A 内容

0 Low

1 High

U/D:カウント方向

U/D 内容

0 ダウンカウント

1 アップカウント

ST1、ST0:スタート/ストップステータス

ST1 ST0 内容

0 0 ストップ

0 1 スタート

1 0 外部スタートウェイト

1 1 未使用

LBBEF、LABEF:外部ラッチ直前の LA、LB ステータス

LBBEF、LABEF 内容

0 Low

1 High

LBAFT、LAAFT:外部ラッチ直後の LA、LB ステータス

LBAFT、LAAFT 内容

0 Low

1 High

Page 140: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

139

LTST2、LTST1、LTST0:ラッチステータス

LTST2 LTST1 LTST0 内容

0 0 0 ラッチされていない

0 0 1 ソフトラッチ

0 1 0 外部ラッチ

0 1 1 内部基準クロックラッチ

1 0 0 内部同期ライン 1ラッチ

1 0 1 内部同期ライン 2ラッチ

1 1 0 予約

1 1 1 予約

RtoI:正回転(カウントアップ)から逆回転(カウントダウン)の回転方向変更によるラッチ

※PCI-632304 でのみ取得できます。

RtoI 内容

0 ラッチされていない

1 ラッチされた

ItoR:逆回転(カウントダウン)から正回転(カウントアップ)の回転方向変更によるラッチ

※PCI-632304 でのみ取得できます。

ItoR 内容

0 ラッチされていない

1 ラッチされた

CL:キャリーによるラッチ

※PCI-632304 でのみ取得できます。

CL 内容

0 ラッチされていない

1 ラッチされた

BL:ボローによるラッチ

※PCI-632304 でのみ取得できます。

BL 内容

0 ラッチされていない

1 ラッチされた

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

Page 141: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

140

【使用例】

●C言語

INT nRet;

DWORD dwStatus[4];

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetStatus(hDeviceHandle, 0x0F, dwStatus);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwStatus(0 To 3) As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetStatus(hDeviceHandle, &H0F, dwStatus(0))

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwStatus: array[0..3] of Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetStatus(hDeviceHandle, $0F, dwStatus[0]);

デバイス名「IFUCNT1」のデバイスの CH1~CH4 のステータスを取得します。

Page 142: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

141

39. UcntSetSamplingConfig

【機能】

サンプリング条件を設定します。

【書式】

●C言語

INT UcntSetSamplingConfig(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

PUCNTSMPLCONFIG pSmplConfig // サンプリング条件設定

// 構造体へのポインタ

);

●Visual Basic

Declare Function UcntSetSamplingConfig Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByRef pSmplConfig As UCNTSMPLCONFIG_ ‘ サンプリング条件設定

‘ 構造体への参照渡し

)As Long

●Delphi

function UcntSetSamplingConfig(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

var pSmplConfig: UCNTSMPLCONFIG // サンプリング条件設定

// 構造体への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定を行うチャンネルを指定してください。

pSmplConfig サンプリング条件設定を格納する UCNTSMPLCONFIG 構造体へのポインタを指定してくださ

い。

構造体の説明については、『4.5 構造体』をご参照ください。

Page 143: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

142

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

UCNTSMPLCONFIG SmplConfig;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

SmplConfig.dwSmplNum = 1000;

SmplConfig.dwSmplEventNum = 100;

SmplConfig.dwSmplRepeat = 1;

SmplConfig.dwStatusMode = IFUCNT_ADD_STATUS;

SmplConfig.dwErrCtrl = IFUCNT_FREERUN;

nRet = UcntSetSamplingConfig(hDeviceHandle, 1, &SmplConfig);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim SmplConfig As UCNTSMPLCONFIG

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

SmplConfig.dwSmplNum = 1000

SmplConfig.dwSmplEventNum = 100

SmplConfig.dwSmplRepeat = 1

SmplConfig.dwStatusMode = IFUCNT_ADD_STATUS

SmplConfig.dwErrCtrl = IFUCNT_FREERUN

nRet = UcntSetSamplingConfig(hDeviceHandle, 1, SmplConfig)

Page 144: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

143

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

SmplConfig: UCNTSMPLCONFIG;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

SmplConfig.dwSmplNum := 1000;

SmplConfig.dwSmplEventNum := 100;

SmplConfig.dwSmplRepeat := 1;

SmplConfig.dwStatusMode := IFUCNT_ADD_STATUS;

SmplConfig.dwErrCtrl := IFUCNT_FREERUN;

nRet := UcntSetSamplingConfig(hDeviceHandle, 1, SmplConfig);

デバイス名「IFUCNT1」のデバイスのチャンネル 1のサンプリング条件を設定します。

Page 145: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

144

40. UcntGetSamplingConfig

【機能】

サンプリング条件設定を取得します。

【書式】

●C言語

INT UcntGetSamplingConfig(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

PUCNTSMPLCONFIG pSmplConfig // サンプリング条件取得

// 構造体へのポインタ

);

●Visual Basic

Declare Function UcntGetSamplingConfig Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByRef pSmplConfig As UCNTSMPLCONFIG_ ‘ サンプリング条件取得

‘ 構造体への参照渡し

)As Long

●Delphi

function UcntGetSamplingConfig(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

var pSmplConfig: UCNTSMPLCONFIG // サンプリング条件取得

// 構造体への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定を行うチャンネルを指定してください。

pSmplConfig サンプリング条件設定を格納する UCNTSMPLCONFIG 構造体へのポインタを指定してくださ

い。

構造体の説明については、『4.5 構造体』をご参照ください。

Page 146: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

145

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

UCNTSMPLCONFIG SmplConfig;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetSamplingConfig(hDeviceHandle, 1, &SmplConfig);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim SmplConfig As UCNTSMPLCONFIG

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetSamplingConfig(hDeviceHandle, 1, SmplConfig)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

SmplConfig: UCNTSMPLCONFIG;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetSamplingConfig(hDeviceHandle, 1, SmplConfig);

デバイス名「IFUCNT1」のデバイスのチャンネル 1のサンプリング条件設定を取得します。

Page 147: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

146

41. UcntGetSamplingData

【機能】

内部バッファからサンプリングデータを取得します。

【書式】

●C言語

INT UcntGetSamplingData(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

PVOID pSmplData, // サンプリングデータを格納

// する配列へのポインタ

PDWORD pdwDataNum // 取得データ件数格納変数

// へのポインタ

);

●Visual Basic

Declare Function UcntGetSamplingData Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByRef pSmplData As Any,_ ‘ サンプリングデータを格納

‘ する配列への参照渡し

ByRef pdwDataNum As Long_ ‘ 取得データ件数格納変数

‘ への参照渡し

)As Long

●Delphi

function UcntGetSamplingData(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

pSmplData: Pointer; // サンプリングデータを格納

// する配列の先頭アドレス

var pdwDataNum: Dword // 取得データ件数格納変数

// への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel サンプリングデータを取得するチャンネルを指定してください。

Page 148: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

147

pSmplData サンプリングデータを格納する配列へのポインタを指定してください。

pdwDataNum サンプリングデータの取得を希望する件数を格納した変数のポインタを指定します。

関数が正常終了後、実際に取得したデータ件数が格納されます。

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

PVOID pSmplData;

DWORD dwDataNum;

HANDLE hDeviceHandle;

HANDLE hHeap;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

dwDataNum = 1000;

hHeap = GetProcessHeap();

pSmplData = HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwDataNum * sizeof(DWORD) * 2);

nRet = UcntGetSamplingData(hDeviceHandle, 1, pSmplData, &dwDataNum);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim SmplData(1000, 2) As Long

Dim dwDataNum As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

dwDataNum = 1000

nRet = UcntGetSamplingData(hDeviceHandle, 1, SmplData(0,0) , dwDataNum)

Page 149: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

148

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

pSmplData: Pointer;

dwDataNum: Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

dwDataNum := 1000;

pSmplData := AllocMem(dwDataNum * SizeOf(Dword) * 2);

nRet := UcntGetSamplingData(hDeviceHandle, 1, pSmplData, dwDataNum);

デバイス名「IFUCNT1」のデバイスのチャンネル 1のサンプリングデータ(32bit カウンタ、ス

テータス情報あり)を 1000 件分取得します。

Page 150: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

149

42. UcntClearSamplingData

【機能】

内部バッファをクリアします。

【書式】

●C言語

INT UcntClearSamplingData(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel // チャンネル選択

);

●Visual Basic

Declare Function UcntClearSamplingData Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long_ ‘ チャンネル選択

)As Long

●Delphi

function UcntClearSamplingData(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer // チャンネル選択

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel サンプリングデータをクリアするチャンネルを指定してください。

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

Page 151: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

150

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntClearSamplingData(hDeviceHandle, 1);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntClearSamplingData(hDeviceHandle, 1)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntClearSamplingData(hDeviceHandle, 1);

デバイス名「IFUCNT1」のデバイスのチャンネル 1 のサンプリングデータ格納用内部バッファ

をクリアします。

Page 152: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

151

43. UcntGetSamplingStatus

【機能】

サンプリングステータス情報を取得します。

【書式】

●C言語

INT UcntGetSamplingStatus(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

PDWORD pdwSmplStatus, // ステータスを格納する変数

// へのポインタ

PDWORD pdwSmplCount, // サンプリング完了件数を格納

// する変数へのポインタ

PDWORD pdwRepCount // 繰り返し回数を格納する変数

// へのポインタ

);

●Visual Basic

Declare Function UcntGetSamplingStatus Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByRef pdwSmplStatus As Long,_ ‘ ステータスを格納する変数

‘ への参照渡し

ByRef pdwSmplCount As Long,_ ‘ サンプリング完了件数を格納

‘ する変数への参照渡し

ByRef pdwRepCount As Long_ ‘ 繰り返し回数を格納する変数

‘ への参照渡し

)As Long

●Delphi

function UcntGetSamplingStatus(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

var pdwSmplStatus: Dword; // ステータスを格納する変数

// への参照渡し

var pdwSmplCount: Dword; // サンプリング完了件数を格納

// する変数への参照渡し

var pdwRepCount: Dword // 繰り返し回数を格納する変数

// への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

Page 153: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

152

nChannel 取得するチャンネルを指定してください。

pdwSmplStatus サンプリングステータスを格納する変数へのポインタを指定してください。

変数には下記の値が格納されます。

値 識別子 内容

1 IFUCNT_SMPL_START サンプリング動作中です。

2 IFUCNT_SMPL_STOP サンプリング停止中です。

3 IFUCNT_SMPL_ERR_STOP エラーによりサンプリングが中止されました。

pdwSmplCount サンプリングが完了した件数を格納する変数へのポインタを指定してください。

pdwRepCount 現在のサンプリング繰り返し回数を格納する変数へのポインタを指定してください。

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

DWORD dwSmplStatus;

DWORD dwSmplCount;

DWORD dwRepCount;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetSmplStatus(hDeviceHandle, 1, &dwSmplStatus,

&dwSmplCount, &dwRepCount);

Page 154: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

153

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwSmplStatus As Long

Dim dwSmplCount As Long

Dim dwRepCount As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetSmplStatus(hDeviceHandle, 1, dwSmplStatus,

dwSmplCount, dwReplCount)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwSmplStatus: Dword;

dwSmplCount: Dword;

dwRepCount: Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetSmplStatus(hDeviceHandle, 1, dwSmplStatus,

dwSmplCount, dwRepCount);

デバイス名「IFUCNT1」のデバイスの CH1 のサンプリングステータスを取得します。

Page 155: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

154

44. UcntStartCount

【機能】

カウントを開始します。

【書式】

●C言語

INT UcntStartCount(

HANDLE hDeviceHandle, // デバイスハンドル

DWORD dwChSel, // チャンネル選択

DWORD dwStartMode // スタートモード

);

●Visual Basic

Declare Function UcntStartCount Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal dwChSel As Long,_ ‘ チャンネル選択

ByVal dwStartMode As Long_ ‘ スタートモード

)As Long

●Delphi

function UcntStartCount(

hDeviceHandle: THandle; // デバイスハンドル

dwChSel: Dword; // チャンネル選択

dwStartMode: Dword // スタートモード

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

dwChSel 設定を行うチャンネルを指定してください。

各チャンネルに対応した bit に 1 を指定して、複数チャンネルを同時に設定します。

ビット bit31~bit4 bit3 bit2 bit1 bit0

内容 予約 CH4 CH3 CH2 CH1

Page 156: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

155

dwStartMode スタートモードを指定してください。

識別子 内容

IFUCNT_CMD_START ソフトスタート

IFUCNT_CMD_EXWAIT 外部スタートウェイト

(外部トリガスタート)

サンプリングを開始する場合は下記の識別子を指定してください。

識別子 内容

IFUCNT_CMD_SAMPLING サンプリングスタート

※ サンプリング開始とスタートモード指定は論理和で同時に指定することが可能です。

StartMode = IFUCNT_CMD_START | IFUCNT_CMD_SAMPLING;

StartMode = IFUCNT_CMD_EXWAIT | IFUCNT_CMD_SAMPLING;

※ ソフトスタートと外部スタートウェイトは同時に指定できません。

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【備考】

・複数チャンネル同時に動作させた場合、ドライバ内で順に処理を行っています。よって、チ

ャンネル間のスタート時間に 500ns程度ズレが発生します。

ハードウェアを使用した同時スタートを利用する場合は、UcntSetTriggerChannel関数を使

用してカウンタの制御を同期させてください。

また、UcntSetTriggerChannel関数で同期を行う場合はスタート・ストップ・ウェイトなど

全ての制御が同期します。

・IFUCNT_CMD_EXWAIT を指定した場合、外部入力スタートでのカウントスタートを待つ状態と

なります。

・IFUCNT_CMD_SAMPLING はその他のコマンドと or で指定します。このコマンドを指定すること

で、予め設定されているドライバ内部バッファに対してサンプリングデータの転送を開始

します。

Page 157: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

156

・UcntSetTriggerChannel 関数を実行して、トリガチャンネルを別のチャンネルに変更してい

る場合には、サンプリングの開始とカウンタスタートコマンドを分けて実行する必要があ

ります。

(例)C言語

チャンネル 1 → チャンネル 3のトリガ条件を使用、サンプリングを行う

チャンネル 2 → チャンネル 3のトリガ条件を使用、サンプリングを行う

チャンネル 3 → チャンネル 3のトリガ条件を使用、サンプリングを行わない

UcntSetTriggerConfig(hDeviceHandle, 3, IFUCNT_LA_R, IFUCNT_LB_F);

UcntSetTriggerChannel(hDeviceHandle, 1, 3, IFUCNT_TRG_NORMAL);

UcntSetTriggerChannel(hDeviceHandle, 2, 3, IFUCNT_TRG_NORMAL);

UcntSetTriggerChannel(hDeviceHandle, 3, 3, IFUCNT_TRG_NORMAL);

// チャンネル 1、チャンネル 2のサンプリングを設定

UcntStartCount(hDeviceHandle, 0x03, IFUCNT_CMD_SAMPLING);

// チャンネル 3を外部トリガ待ち状態に設定

UcntStartCount(hDeviceHandle, 0x04, IFUCNT_CMD_EXWAIT);

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntStartCount(hDeviceHandle, 0x0F, IFUCNT_CMD_START);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntStartCount(hDeviceHandle, &H0F, IFUCNT_CMD_START)

Page 158: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

157

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntStartCount(hDeviceHandle, $0F, IFUCNT_CMD_START);

デバイス名「IFUCNT1」のデバイスのチャンネル 1~チャンネル 4のカウントを開始します。

Page 159: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

158

45. UcntStopCount

【機能】

カウントを停止します。

【書式】

●C言語

INT UcntStopCount(

HANDLE hDeviceHandle, // デバイスハンドル

DWORD dwChSel, // チャンネル選択

DWORD dwStopMode // ストップモード

);

●Visual Basic

Declare Function UcntStopCount Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal dwChSel As Long,_ ‘ チャンネル選択

ByVal dwStopMode As Long_ ‘ ストップモード

)As Long

●Delphi

function UcntStopCount(

hDeviceHandle: THandle; // デバイスハンドル

dwChSel: Dword; // チャンネル選択

dwStopMode: Dword // ストップモード

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

dwChSel 設定を行うチャンネルを指定してください。

各チャンネルに対応した bit に 1 を指定して、複数チャンネルを同時に設定します。

ビット bit31~bit4 bit3 bit2 bit1 bit0

内容 予約 CH4 CH3 CH2 CH1

dwStopMode ストップモードを指定してください。

識別子 内容

IFUCNT_CMD_STOP カウントストップ

IFUCNT_CMD_SAMPLING サンプリングストップ

※ サンプリング停止とカウントストップは論理和で同時に指定することが可能です。

StopMode = IFUCNT_CMD_STOP | IFUCNT_CMD_SAMPLING;

Page 160: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

159

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【備考】

・複数チャンネル同時に動作させた場合、ドライバ内で順に処理を行っています。よって、チ

ャンネル間のスタート時間に 500ns程度ズレが発生します。

ハードウェアを使用した同時スタートを利用する場合は、UcntSetTriggerChannel関数を使

用してカウンタの制御を同期させてください。

また、UcntSetTriggerChannel関数で同期を行う場合はスタート・ストップ・ウェイトなど

全ての制御が同期します。

【使用例】

●C 言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntStopCount(hDeviceHandle, 0x01, IFUCNT_CMD_STOP | IFUCNT_CMD_SAMPLING);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntStopCount(hDeviceHandle, &H01, IFUCNT_CMD_STOP or IFUCNT_CMD_SAMPLING)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntStopCount(hDeviceHandle, $01, IFUCNT_CMD_STOP | IFUCNT_CMD_SAMPLING);

デバイス名「IFUCNT1」のデバイスのチャンネル 1 のカウントを停止し、サンプリングを終了

します。

Page 161: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

160

46. UcntLatchCount

【機能】

カウンタ値をラッチします。

【書式】

●C言語

INT UcntLatchCount(

HANDLE hDeviceHandle, // デバイスハンドル

DWORD dwChSel // チャンネル選択

);

●Visual Basic

Declare Function UcntLatchCount Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal dwChSel As Long_ ‘ チャンネル選択

)As Long

●Delphi

function UcntLatchCount(

hDeviceHandle: THandle; // デバイスハンドル

dwChSel: Dword // チャンネル選択

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

dwChSel 設定を行うチャンネルを指定してください。

各チャンネルに対応した bit に 1 を指定して、複数チャンネルを同時に設定します。

ビット bit31~bit4 bit3 bit2 bit1 bit0

内容 予約 CH4 CH3 CH2 CH1

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

Page 162: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

161

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntLatchCount(hDeviceHandle, 0x0F);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntLatchCount(hDeviceHandle, &H0F)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntLatchCount(hDeviceHandle, $0F);

デバイス名「IFUCNT1」のデバイスのチャンネル 1~チャンネル 4のカウンタ値をラッチします。

Page 163: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

162

47. UcntSetDOEnable

【機能】

汎用出力の機能を設定します。

【書式】

●C言語

INT UcntSetDOEnable(

HANDLE hDeviceHandle, // デバイスハンドル

DWORD dwOutEnable // 出力許可端子指定

);

●Visual Basic

Declare Function UcntSetDOEnable Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal dwOutEnable As Long_ ‘ 出力許可端子指定

)As Long

●Delphi

function UcntSetDOEnable(

hDeviceHandle: THandle; // デバイスハンドル

dwOutEnable: Dword // 出力許可端子指定

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

dwOutEnable 出力許可を行う端子を指定してください。

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 IO7 IO6 IO5 IO4 IO3 IO2 IO1 IO0

IO0:1A,1B,1Z,1LA 端子の汎用出力の許可・禁止を設定します。

IO1:2A,2B,2Z,2LA 端子の汎用出力の許可・禁止を設定します。

IO2:3A,3B,3Z,3LA 端子の汎用出力の許可・禁止を設定します。

IO3:4A,4B,4Z,4LA 端子の汎用出力の許可・禁止を設定します。

IO4:1LB,2LB,3LB,4LB 端子の汎用出力の許可・禁止を設定します。

IO5:1OUTA,1OUTB,2OUTA,2OUTB 端子の汎用出力の許可・禁止を設定します。

IO6:3OUTA,3OUTB,4OUTA,4OUTB 端子の汎用出力の許可・禁止を設定します。

IO7:1CLR,1GATE,2CLR,2GATE 端子の入出力方向の許可・禁止を設定します。

IO0,IO1,IO2,IO3,IO4,IO5,IO6,IO7 内容

0 汎用出力を禁止

1 汎用出力を許可

Page 164: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

163

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【備考】

●UcntOutputDO 関数について

UcntOpen 関数でデバイスオープン時、デフォルトでは各チャンネルの OUTA,OUTB 端子

(IO5,IO6)のみ出力を許可された状態となります。UcntOutputDO 関数を使用する前には、

UcntSetDOEnable 関数を実行して制御したい端子の出力許可設定を行う必要があります。

また、OUTA,OUTB 端子(IO5,IO6)の汎用出力を禁止に設定すると、分周出力・パルスジェネレ

ータ出力が出力されなくなります。これらのモードを使用される場合には OUTA,OUTB 端子

(IO5,IO6)の汎用出力を許可に設定する必要があります。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntSetDOEnable(hDeviceHandle, 0x61);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntSetDOEnable(hDeviceHandle, &H61)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntSetDOEnable(hDeviceHandle, $61);

デバイス名「IFUCNT1」のデバイスの 1A,1B,1Z,1LA と、1OUTA,1OUTB, 2OUTA,2OUTB,31OUTA,3OUTB,

4OUTA,4OUTB の汎用出力を許可に設定します。

Page 165: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

164

48. UcntGetDOEnable

【機能】

汎用出力機能の設定情報を取得します。

【書式】

●C言語

INT UcntGetDOEnable(

HANDLE hDeviceHandle, // デバイスハンドル

PDWORD pdwOutEnable // 出力許可状態取得変数

// へのポインタ

);

●Visual Basic

Declare Function UcntGetDOEnable Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByRef pdwOutEnable As Long_ ‘ 出力許可状態取得変数

‘ への参照渡し

)As Long

●Delphi

function UcntGetDOEnable(

hDeviceHandle: THandle; // デバイスハンドル

var pdwOutEnable: Dword // 出力許可状態取得変数

// への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

pdwOutEnable 出力許可状態設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 IO7 IO6 IO5 IO4 IO3 IO2 IO1 IO0

IO0:1A,1B,1Z,1LA 端子の汎用出力の許可・禁止状態を取得します。

IO1:2A,2B,2Z,2LA 端子の汎用出力の許可・禁止状態を取得します。

IO2:3A,3B,3Z,3LA 端子の汎用出力の許可・禁止状態を取得します。

IO3:4A,4B,4Z,4LA 端子の汎用出力の許可・禁止状態を取得します。

IO4:1LB,2LB,3LB,4LB 端子の汎用出力の許可・禁止状態を取得します。

IO5:1OUTA,1OUTB,2OUTA,2OUTB 端子の汎用出力の許可・禁止状態を取得します。

IO6:3OUTA,3OUTB,4OUTA,4OUTB 端子の汎用出力の許可・禁止状態を取得します。

IO7:1CLR,1GATE,2CLR,2GATE 端子の入出力方向の許可・禁止状態を取得します。

Page 166: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

165

IO0,IO1,IO2,IO3,IO4,IO5,IO6,IO7 内容

0 汎用出力を禁止

1 汎用出力を許可

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwOutEnabl;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetDOEnable(hDeviceHandle, &dwOutEnable);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwOutEnable As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetDOEnable(hDeviceHandle, dwOutEnable)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwOutEnable: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetOutEnable(hDeviceHandle, dwOutEnable);

デバイス名「IFUCNT1」の汎用出力端子の許可設定情報を取得します。

Page 167: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

166

49. UcntInputDI

【機能】

汎用入力の状態を取得します。

【書式】

●C言語

INT UcntInputDI(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

PDWORD pdwDI // 汎用入力状態取得変数へのポインタ

);

●Visual Basic

Declare Function UcntInputDI Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByRef nChannel As Long,_ ‘ チャンネル選択

ByRef pdwDI As Long_ ‘ 汎用入力状態取得変数への参照渡し

)As Long

●Delphi

function UcntInputDI(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Dword; // チャンネル選択

var pdwDI: Dword // 汎用入力状態取得変数への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 汎用入力値を取得するチャンネルを指定してください。

指定範囲は、1~4と IFUCNT_CH_HS になります。

Page 168: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

167

pdwDI 入力状態の取得変数へのポインタを指定してください。

(nChannel で指定した値に応じて、異なる端子の状態を取得します。)

nChannel が 1~4 の場合

ビット bit31~bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 予約 OUTB OUTA LB LA Z B A

PCI-632302 では下記になります。

nChannel=1 の場合

ビット bit31~bit16

内容 予約

ビット bit15~bit11 bit10 bit9 bit8

内容 予約 IN3 IN2 IN1

ビット bit7~bit5 bit4 bit3 bit2 bit1 bit0

内容 予約 LB LA Z B A

nChannel=2 の場合

ビット bit31~bit16

内容 予約

ビット bit15~bit11 bit10 bit9 bit8

内容 予約 IN6 IN5 IN4

ビット bit7~bit5 bit4 bit3 bit2 bit1 bit0

内容 予約 LB LA Z B A

nChannel が IFUCNT_CH_HS の場合

ビット bit31~bit4 bit3 bit2 bit1 bit0

内容 予約 2GATE 1GATE 2CLR 1CLR

・ビットデータ = 1 → “High”

・ビットデータ = 0 → “Low”

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

Page 169: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

168

【使用例】

●C言語

INT nRet;

DWORD dwDI;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntInputDI(hDeviceHandle, 1, &dwDI);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwDI As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntInputDI(hDeviceHandle, 1, dwDI)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwDI: Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntInputDI(hDeviceHandle, 1, dwDI);

デバイス名「IFUCNT1」のデバイスのチャンネル 1の汎用入力状態を取得します。

Page 170: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

169

50. UcntOutputDO

【機能】

汎用出力を制御します。

【書式】

●C言語

INT UcntOutputDO(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

DWORD dwDO // 汎用出力

);

●Visual Basic

Declare Function UcntOutputDO Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByVal dwDO As Long_ ‘ 汎用出力

)As Long

●Delphi

function UcntOutputDO(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Dword; // チャンネル選択

dwDO: Dword // 汎用出力

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 汎用出力を制御するチャンネルを指定してください。

指定範囲は、1~4と IFUCNT_CH_HS になります。

Page 171: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

170

dwDO 汎用出力を指定してください。

(nChannel で指定した値に応じて、異なる端子の状態を制御します。)

nChannel が 1~4 の場合

ビット bit31~bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 予約 OUTB OUTA LB LA Z B A

PCI-632302 では下記になります。

nChannel=1 の場合

ビット bit31~bit16

内容 予約

ビット bit15~bit12 bit11 bit10 bit9 bit8

内容 予約 OUT4 OUT3 OUT2 OUT1

ビット bit7 bit6 bit5 bit4~bit0

内容 予約 OUTB OUTA 予約

nChannel=2 の場合

ビット bit31~bit16

内容 予約

ビット bit15~bit12 bit11 bit10 bit9 bit8

内容 予約 OUT8 OUT7 OUT6 OUT5

ビット bit7 bit6 bit5 bit4~bit0

内容 予約 OUTB OUTA 予約

nChannel が IFUCNT_CH_HS の場合

ビット bit31~bit4 bit3 bit2 bit1 bit0

内容 予約 2GATE 1GATE 2CLR 1CLR

・ビットデータ = 1 → “High”

・ビットデータ = 0 → “Low”

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

Page 172: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

171

【備考】

PCI-632302 以外の型式で使用する場合

●UcntOutputDO 使用時の注意事項について

UcntOutputDO 関数では、A, B, Z, LA, LB 等の本来入力用として使用する端子の出力状態を

変更することが可能となります。

その為、これらの端子にパルス出力を行う外部機器を接続した状態で UcntOutputDO 関数を

実行すると、接続した機器が破損する可能性があります。

UcntOutputDO 関数を使用する前には必ず、出力を行っても問題ない接続となっていることを

ご確認の上ご使用下さい。

●UcntSetDOEnebale 関数について

UcntOpen 関数でデバイスオープン時、デフォルトでは各チャンネルの OUTA,OUTB 端子のみ出

力を許可された状態となります。

UcntOutputDO 関数を使用する前には、UcntSetDOEnable 関数を実行して制御したい端子の出

力許可設定を行ってから、本関数をご使用下さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwOutEnable;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetOutEnable(hDeviceHandle, &dwOutEnable);

nRet = UcntSetOutEnable(hDeviceHandle, dwOutEnable | 0x01);

nRet = UcntOutputDO(hDeviceHandle, 1, 0x01);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwOutEnable As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetDOEnable(hDeviceHandle, dwOutEnable)

nRet = UcntSetDOEnable(hDeviceHandle, dwOutEnable or &H01)

nRet = UcntOutputDO(hDeviceHandle, 1, &H01)

Page 173: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

172

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwOutEnable: Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetDOEnable(hDeviceHandle, dwOutEnable);

nRet := UcntSetDOEnable(hDeviceHandle, dwOutEnable | $01);

nRet := UcntOutputDO(hDeviceHandle, 1, $01);

デバイス名「IFUCNT1」のデバイスのチャンネル 1の Aを High に設定します。

Page 174: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

173

51. UcntSetEventMask

【機能】

割り込みイベントのマスク設定を行います。

【書式】

●C言語

INT UcntSetEventMask(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル指定

DWORD dwEventMask // 割り込みマスク

);

●Visual Basic

Declare Function UcntSetEventMask Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByVal dwEventMask As Long_ ‘ 割り込みマスク

)As Long

●Delphi

function UcntSetEventMask(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

dwEventMask: Dword // 割り込みマスク

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定を行うチャンネルを指定してください。

dwEventMask 割り込みイベントのマスクデータを指定してください。

Page 175: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

174

ビット bit23~bit19 bit18 bit17 bit16

内容 予約 ORER SMPL

EQ

SMPL

END

ビット bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8

内容 予約 EX

LOAD

CLOCK

LATCH

EX

LATCH

PERR 予約 EX

STOP

EX

START

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 OUTB

FALL

OUTB

RISE

OUTA

FALL

OUTA

RISE

予約 予約 BRF CRF

dwEventMask 1:アンマスク(割り込み有効)

0:マスク(割り込み無効)

CRF パルスカウンタキャリー割り込みイベントマスク

BRF パルスカウンタボロー割り込みイベントマスク

OUTA RISE OUTA の一致検出割り込みイベントマスク

OUTA FALL OUTA の一致解除割り込みイベントマスク

OUTB RISE OUTB の一致検出割り込みイベントマスク

OUTB FALL OUTB の一致解除割り込みイベントマスク

EX START 外部スタート割り込みイベントマスク

EX STOP 外部ストップ割り込みイベントマスク

PERR パルス異常検出割り込みイベントマスク

EX LATCH 外部ラッチ割り込みイベントマスク

CLOCK LATCH 基準クロックラッチ割り込みイベントマスク

EX LOAD 外部プリロード割り込みイベントマスク

SMPL END サンプリング完了割り込みイベントマスク

SMPL EQ サンプリング指定件数割り込みイベントマスク

ORER サンプリング用 FIFO のオーバーランエラー割り込みイベントマスク

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

Page 176: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

175

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntSetEventMask(hDeviceHandle, 1, 0x03);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntSetEventMask(hDeviceHandle, 1, &H03)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntSetEventMask(hDeviceHandle, 1, $03);

デバイス名「IFUCNT1」のデバイスのチャンネル 1の割り込みイベントマスクを設定します。

Page 177: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

176

52. UcntGetEventMask

【機能】

割り込みイベントのマスク設定を取得します。

【書式】

●C言語

INT UcntGetEventMask(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

PDWORD pdwEventMask // 割り込みマスク状態取得変数

// へのポインタ

);

●Visual Basic

Declare Function UcntGetEventMask Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByRef pdwEventMask As Long_ ‘ 割り込みマスク状態取得変数

‘ への参照渡し

)As Long

●Delphi

function UcntGetEventMask(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

var pdwEventMask: Dword // 割り込みマスク状態取得変数

// への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定を行うチャンネルを指定してください。

pdwEventMask 割り込みイベント設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

Page 178: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

177

ビット bit23~bit19 bit18 bit17 bit16

内容 予約 ORER SMPL

EQ

SMPL

END

ビット bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8

内容 予約 EX

LOAD

CLOCK

LATCH

EX

LATCH

PERR 予約 EX

STOP

EX

START

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 OUTB

FALL

OUTB

RISE

OUTA

FALL

OUTA

RISE

予約 予約 BRF CRF

dwEventMask 1:アンマスク(割り込み有効)

0:マスク(割り込み無効)

CRF パルスカウンタキャリー割り込みイベントマスク

BRF パルスカウンタボロー割り込みイベントマスク

OUTA RISE OUTA の一致検出割り込みイベントマスク

OUTA FALL OUTA の一致解除割り込みイベントマスク

OUTB RISE OUTB の一致検出割り込みイベントマスク

OUTB FALL OUTB の一致解除割り込みイベントマスク

EX START 外部スタート割り込みイベントマスク

EX STOP 外部ストップ割り込みイベントマスク

PERR パルス異常検出割り込みイベントマスク

EX LATCH 外部ラッチ割り込みイベントマスク

CLOCK LATCH 基準クロックラッチ割り込みイベントマスク

EX LOAD 外部プリロード割り込みイベントマスク

SMPL END サンプリング完了割り込みイベントマスク

SMPL EQ サンプリング指定件数割り込みイベントマスク

ORER サンプリング用 FIFO のオーバーランエラー割り込みイベントマスク

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

Page 179: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

178

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwEventMask;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetEventMask(hDeviceHandle, 1, &dwEventMask);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwEventMask As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetEventMask(hDeviceHandle, 1, dwEventMask)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwEventMask: Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetEventMask(hDeviceHandle, 1, dwEventMask);

デバイス名「IFUCNT1」のデバイスのチャンネル 1の割り込みマスク設定状態を取得します。

Page 180: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

179

53. UcntSetEvent

【機能】

割り込み発生時に起動するコールバック関数、メッセージの登録を行います。

【書式】

●C言語

INT UcntSetEvent(

HANDLE hDeviceHandle, // デバイスハンドル

PUCNTEVENTREQ pEvent // 割り込み設定構造体

// へのポインタ

);

●Visual Basic

Declare Function UcntSetEvent Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByRef pEvent UCNTEVENTREQ_ ‘ 割り込み設定構造体

‘ への参照渡し

)As Long

●Delphi

function UcntSetEvent(

hDeviceHandle: THandle; // デバイスハンドル

var pEvent: UCNTEVENTREQ // 割り込み設定構造体

// への参照渡し

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

pEvent 割り込み発生時に呼び出されるユーザ・コールバック関数、メッセージの設定を行う構造

体へのポインタを指定してください。

構造体の説明については、『4.5 構造体』をご参照ください。

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

Page 181: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

180

【備考】

●コールバック関数の書式

コールバック関数の書式は以下の通りです。

VOID CALLBACK lpCallBackProc(INT nChannel, DWORD dwEvent, DWORD dwUser );

○nChannel

割り込み発生チャンネル。

○dwEvent

コールバック関数実行要因。

コールバック関数が実行された要因の該当ビットに”1”がセットされます。

○dwUser

ユーザデータ

イベント設定時に指定したユーザデータがセットされます。

【使用例】

●C言語(コールバック関数の設定)

// コールバック関数

VOID CALLBACK lpEventProc(INT nChannel, DWORD dwEvent, DWORD dwUser){

// 割り込み処理を記述します

:

:

}

// メインルーチン

INT nRet;

HANDLE hDeviceHandle;

UCNTEVENTREQ Event;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntSetEventMask(hDeviceHandle, 1, 0x03);

Event.hWnd = NULL;

Event.uMessage[0] = WM_NULL;

Event.uMessage[1] = WM_NULL;

Event.uMessage[2] = WM_NULL;

Event.uMessage[3] = WM_NULL;

Event.hEvent = NULL;

Event.lpCallBackProc = (PLPUCNTCALLBACK)lpEventProc;

Event.dwUser = 0x1234;

nRet = UcntSetEvent(hDeviceHandle, &Event);

Page 182: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

181

●C 言語(イベント待ちの設定)

INT nRet;

HANDLE hDeviceHandle;

OVERLAPPED OverLapped;

UCNTEVENTREQ Event;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntSetEventMask(hDeviceHandle, 1, 0x03);

OverLapped.hEvent = CreateEvent(0,FALSE,FALSE,NULL);

Event.hWnd = NULL;

Event.uMessage[0] = WM_NULL;

Event.uMessage[1] = WM_NULL;

Event.uMessage[2] = WM_NULL;

Event.uMessage[3] = WM_NULL;

Event.hEvent = OverLapped.hEvent;

Event.lpCallBackProc = NULL;

Event.dwUser = 0x1234;

nRet = UcntSetEvent(hDeviceHandle, &Event);

if (nRet == IFUCNT_ERROR_SUCCESS) {

// イベント待ち

WaitForSingleObject(OverLapped.hEvent, INFINITE);

}

Page 183: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

182

●Visual Basic(イベント待ちの設定)

※ Visual Basic Ver. 6.0 では言語仕様上の制限によりコールバック関数はご使用いただけま

せん。メッセージ及びベント機能をご使用ください。

Dim lpszName As String

Dim hDeviceHandle As Long

Dim Event As UCNTEVENTREQ

Public lpOverlapped As OVERLAPPED

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntSetEventMask(hDeviceHandle, 1, &H03)

lpOverlapped.hEvent = CreateEvent(nul, False, False, nul)

Event.hWnd = 0

Event.uMessage(0) = 0

Event.uMessage(1) = 0

Event.uMessage(2) = 0

Event.uMessage(3) = 0

Event.hEvent = lpOverlapped.hEvent

Event.lpCallBackProc = 0

Event.dwUser = &H1234

nRet = UcntSetEvent(hDeviceHandle, Event);

' イベント待ち

nRet = WaitForSingleObject(lpOverlapped.hEvent, 0)

Page 184: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

183

●Delphi(コールバック関数の設定)

// コールバック関数

procedure lpEventProc(nChannel: Integer; dwEvent: DWORD; dwUser: DWORD); stdcall;

var

//変数定義

begin

// 割り込み処理を記述します

:

:

end;

// メインルーチン

var

lpszName: String;

hDeviceHandle: THandle;

Event: UCNTEVENTREQ;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntSetEventMask(hDeviceHandle, 1, $03);

Event.hWnd := 0;

Event.uMessage[0] := WM_NULL;

Event.uMessage[1] := WM_NULL;

Event.uMessage[2] := WM_NULL;

Event.uMessage[3] := WM_NULL;

Event.hEvent := 0;

Event.lpCallBackProc := lpEventProc;

Event.dwUser := $1234;

nRet := UcntSetEvent(hDeviceHandle, Event)

Page 185: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

184

●Delphi(イベント待ちの設定)

var

lpszName: String;

hDeviceHandle: THandle;

Event: UCNTEVENTREQ;

OverLapped : TOverLapped;

nRet : Integer;

begin

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntSetEventMask(hDeviceHandle, 1, $03);

OverLapped.hEvent := CreateEvent(nil, False, False, Nil);

Event.hWnd := 0;

Event.uMessage[0] := WM_NULL;

Event.uMessage[1] := WM_NULL;

Event.uMessage[2] := WM_NULL;

Event.uMessage[3] := WM_NULL;

Event.hEvent := OverLapped.hEvent;

Event.lpCallBackProc := 0;

Event.dwUser := $1234;

nRet := UcntSetEvent(hDeviceHandle, Event);

// イベント待ち

WaitForSingleObject(OverLapped.hEvent, INFINITE);

end;

デバイス名「IFUCNT1」のデバイスの CH1 の割り込みマスク、コールバック関数(もしくはイ

ベント)を設定します。

Page 186: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

185

54. UcntKillEvent

【機能】

割り込み発生時に起動するコールバック関数、メッセージの解除を行います。

【書式】

●C言語

INT UcntKillEvent(

HANDLE hDeviceHandle // デバイスハンドル

);

●Visual Basic

Declare Function UcntKillEvent Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long_ ‘ デバイスハンドル

)As Long

●Delphi

function UcntKillEvent(

hDeviceHandle: THandle // デバイスハンドル

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntKillEvent(hDeviceHandle);

Page 187: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

186

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntKillEvent(hDeviceHandle)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntKillEvent(hDeviceHandle);

デバイス名「IFUCNT1」のデバイスのコールバック関数の解除を行います。

Page 188: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

187

55. UcntOutputSync

【機能】

内部同期出力を制御します。

PCI-632302 でのみ使用できます。

【書式】

●C言語

INT UcntOutputSync(

HANDLE DeviceHandle, // デバイスハンドル

INT Channel, // チャンネル選択

INT TrgLine, // 同期ライン

DWORD TrgMode // トリガモード

);

●Visual Basic

Declare Function UcntOutputSync Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByVal TrgLine As Long,_ ‘ 同期ライン

ByVal TrgMode As Long_ ‘ トリガモード

)As Long

●Delphi

function UcntOutputSync(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Dword; // チャンネル選択

TrgLine: Dword; // 同期ライン

TrgMode: Dword // トリガモード

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 同期信号ラインを制御するチャンネルを指定してください。

TrgLine 制御する同期ラインを指定してください。

識別子 内容

IFUCNT_SYNC1 同期ライン 1

IFUCNT_SYNC2 同期ライン 2

Page 189: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

188

TrgMode 同期ラインのトリガモードを指定してください。

識別子 内容

IFUCNT_DISABLE 無効

IFUCNT_UPDN アップダウン

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【備考】

・本関数は、PCI-632302 でのみ使用できます。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntOutputSync(hDeviceHandle, 1, IFUCNT_SYNC1, IFUCNT_UPDN);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntOutputSync(hDeviceHandle, 1, IFUCNT_SYNC1, IFUCNT_UPDN)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntOutputSync(hDeviceHandle, 1, IFUCNT_SYNC1, IFUCNT_UPDN);

デバイス名「IFUCNT1」のデバイスのチャンネル 1 の内部同期ライン 1 からカウンタアップダ

ウンを有効に設定します。

Page 190: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

189

56. UcntSetPhysicalMemorysSize

【機能】

64bit 環境専用の API 関数です。内部バッファの確保サイズを設定します。サイズ設定は

IFUCNTMEM.EXE でも行えますが、本 API 関数でも設定する事が可能です。

関数が成功後、設定サイズを反映させるには、OS を再起動する必要があります。

【書式】

●C言語

INT UcntSetPhysicalMemorysSize(

HANDLE DeviceHandle, // デバイスハンドル

INT Channel, // チャンネル選択

DWORD PhysicalMemorysSize // 確保サイズ

);

●Visual Basic

Declare Function UcntSetPhysicalMemorysSize Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByVal PhysicalMemorysSize As Long_ ‘ 確保サイズ

)As Long

●Delphi

function UcntSetPhysicalMemorysSize(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Dword; // チャンネル選択

PhysicalMemorysSize: Dword // 確保サイズ

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定を行うチャンネルを指定してください。

PhysicalMemorysSize 内部バッファの確保サイズを指定します。( 大 67,076,032byte)

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

Page 191: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

190

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntSetPhysicalMemorysSize(hDeviceHandle, 1, 32768);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntSetPhysicalMemorysSize(hDeviceHandle, 1, 32768)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntSetPhysicalMemorysSize(hDeviceHandle, 1, 32768);

デバイス名「IFUCNT1」のデバイスのチャンネル 1 の内部バッファ確保サイズを 32768byte に

設定します。

Page 192: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

191

57. UcntGetDriverInfo

【機能】

OS のアーキテクチャ情報と、各チャンネルの内部バッファ確保済サイズを取得できます。物理

メモリ確保済サイズは 64bitOS 専用の機能となります。

【書式】

●C言語

INT UcntGetDriverInfo (

HANDLE DeviceHandle, // デバイスハンドル

PDWORD OsArchitecture // OS 情報

PDWORD PhysicalMemorysSize // 内部バッファサイズ

);

●Visual Basic

Declare Function UcntGetDriverInfo Lib "IFUcnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByRef OsArchitecture As Long,_ ‘ OS 情報

ByRef PhysicalMemorysSize As Long_ ‘ 内部バッファサイズ

)As Long

●Delphi

function UcntGetDriverInfo (

hDeviceHandle: THandle; // デバイスハンドル

var OsArchitecture: Dword; // OS 情報

var PhysicalMemorysSize: Dword // 内部バッファサイズ

): Integer; stdcall; external 'IFUcnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

OsArchitecture OS 情報を格納する変数へのポインタを指定してください。

変数には OS 情報の識別子が返ります。

識別子 OS 環境

IFUCNT_OS_ARCHITECTURE_x64 64bit 環境

IFUCNT_OS_ARCHITECTURE_x86 32bit 環境

PhysicalMemorysSize 各チャンネルの内部バッファサイズを格納する配列のポインタを指定してください。

配列は 32bit 配列の 4要素にしてください。

配列[0] : チャンネル 1の内部バッファサイズ

配列[1] : チャンネル 2の内部バッファサイズ

Page 193: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

192

配列[2] : チャンネル 3の内部バッファサイズ

配列[3] : チャンネル 4の内部バッファサイズ

【戻り値】

正常終了した場合は、IFUCNT_ERROR_SUCCESSが返されます。

IFUCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD Architecture;

DWORD PhysicalMemorysSize[4];

hDeviceHandle = UcntOpen(“IFUCNT1”); :

nRet = UcntGetDriverInfo(hDeviceHandle, &Architecture, PhysicalMemorysSize);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim Architecture As Long

Dim PhysicalMemorysSize(0 To 3) As Long

lpszName = "IFUCNT1" & Chr( 0 )

hDeviceHandle = UcntOpen(lpszName)

nRet = UcntGetDriverInfo (hDeviceHandle, Architecture, PhysicalMemorysSize(0))

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

Architecture: Dword;

PhysicalMemorysSize: Array[0..3] of Dword;

lpszName := 'IFUCNT1';

hDeviceHandle := UcntOpen(lpszName);

nRet := UcntGetDriverInfo(hDeviceHandle, Architecture, PhysicalMemorysSize[0]);

デバイス名「IFUCNT1」のデバイスがインストールされている OS 情報と、内部バッファ確保サ

イズを取得します。

Page 194: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

193

4.3 DLL 関数一覧(高速カウンタ) No 関数名 機能

●初期化

58 HScntOpen デバイスをオープンします。

59 HScntClose デバイスをクローズします。

60 HScntGetDeviceInfo デバイス情報を取得します。

61 HScntReset 各種設定の初期化、カウンタのクリアを行います。

●モード設定/取得

62 HScntSetMode カウンタのモードを設定します。

63 HScntGetMode カウンタのモード設定情報を取得します。

●カウンタ値取得

64 HScntReadCounter カウンタを読み出します。

●ステータス取得

65 HScntGetStatus ステータス情報を取得します。

●カウンタ制御

66 HScntStartCount カウンタを開始します。

67 HScntStopCount カウントを停止します。

●割り込み設定/取得

68 HScntSetEventMask イベントマスクを設定します。

69 HScntGetEventMask イベントマスクの設定情報を取得します。

70 HScntSetEvent イベントコールバック関数、メッセージを登録します。

71 HScntKillEvent イベントコールバック関数、メッセージを解除します。

●汎用入出力※

72 HScntSetDOEnable 汎用出力の機能を設定します。

73 HScntGetDOEnable 汎用出力機能の設定情報を取得します。

74 HScntInputDI 汎用入力の状態を取得します。

75 HScntOutputDO 汎用出力を制御します。

●インターバルタイマ設定/取得※

76 HScntSetTimerConfig インターバルタイマを設定します。

77 HScntGetTimerConfig インターバルタイマの設定情報を取得します。

78 HScntGetTimerCount インターバルタイマのカウント値を取得します。

●デジタルフィルタ設定/取得※

79 HScntSetFilter デジタルフィルタを設定します。

80 HScntGetFilter デジタルフィルタの設定情報を取得します。

※この関数は下記、製品型式のみ対応しています。ご注意ください。

LPC-632102、PEX-632102

Page 195: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

194

4.4 関数個別説明(高速カウンタ)

58. HScntOpen

【機能】

高速カウンタのオープンを行い、以後のインタフェースモジュールへのアクセスを行えるよう

にします。

【書式】

●C言語(x86 専用)

HANDLE HScntOpen(

LPCTSTR lpszName, // デバイス名

);

●C 言語(x64 専用)

HANDLE HScntOpen(

LPCSTR lpszName, // デバイス名

);

●Visual Basic

Declare Function HScntOpen Lib "IFHScnt.DLL"(_

ByVal lpszName As String,_ ‘ デバイス名

)As Long

●Delphi

function HScntOpen(

lpszName: String; // デバイス名

):THandle; stdcall; external 'IFHScnt.DLL';

【パラメータ】

lpszName オープンするインタフェースモジュールのデバイス名を指定してください。

【戻り値】

HScntOpen 関数が正常に終了した場合には、有効なハンドルが返されます。

他の関数は、本関数により取得したハンドルを使用してデバイスの制御を行います。

オープンに失敗した場合には、INVALID_HANDLE_VALUE(FFFFFFFFh)が返されます。

Page 196: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

195

【備考】

●デバイス名について

オープンするにはデバイス名を指定します。

高速カウンタのデバイス名は「IFHSCNTx」(xは 1~16)となります。

各デバイス名はデバイスマネージャにて確認できます。

【使用例】

●C言語(32bit 用コンパイラ)

HANDLE DeviceHandle;

DeviceHandle = HScntOpen(“IFHSCNT1”);

●C 言語(32bit 用コンパイラで UNICODE を定義している場合)

HANDLE DeviceHandle;

DeviceHandle = HScntOpen((LPCTSTR)“IFHSCNT1”);

HANDLE DeviceHandle;

char* lpszName = “IFHSCNT1”;

DeviceHandle = HScntOpen((LPCTSTR)lpszName);

HANDLE DeviceHandle;

LPCWSTR UnicodeName = L"IFHSCNT1";

char DeviceName[256];

int len;

len = WideCharToMultiByte(CP_ACP, 0, UnicodeName, -1, NULL, 0, NULL, NULL);

WideCharToMultiByte(CP_ACP, 0, UnicodeName, -1, DeviceName, len, NULL, NULL);

DeviceHandle = HScntOpen((LPCTSTR)DeviceName);

●C 言語(64bit 用コンパイラ)

HANDLE DeviceHandle;

DeviceHandle = HScntOpen(“IFHSCNT1”);

●Visual Basic

Dim Name As String

Dim DeviceHandle As Long

Name = "IFHSCNT1" & Chr( 0 )

DeviceHandle = HScntOpen(Name)

Page 197: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

196

●Delphi

var

Name: String;

DeviceHandle: THandle;

Name := 'IFHSCNT1';

DeviceHandle := HScntOpen(Name);

デバイス名「IFHSCNT1」のデバイスをオープンします。

Page 198: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

197

59. HScntClose

【機能】

高速カウンタをクローズします。

デバイスアクセスのために使用されていた各種リソースの解放を行い、以後のデバイスへのア

クセスを禁止します。

【書式】

●C言語

INT HScntClose(

HANDLE hDeviceHandle // デバイスハンドル

);

●Visual Basic

Declare Function HScntClose Lib "IFHScnt.DLL"(_

ByVal hDeviceHandle As Long_ ‘ デバイスハンドル

)As Long

●Delphi

function HScntClose (

hDeviceHandle: THandle // デバイスハンドル

): Integer; stdcall; external 'IFHScnt.DLL';

【パラメータ】

hDeviceHandle HScntOpen 関数で取得したデバイスハンドルを指定してください。

【戻り値】

正常終了した場合は、IFHSCNT_ERROR_SUCCESSが返されます。

IFHSCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【備考】

再度、デバイスへのアクセスを行う場合にはオープン処理(HScntOpen 関数)を呼び出してくだ

さい。

デバイスクローズ後、各種設定はクリアされます。

Page 199: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

198

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntClose(hDeviceHandle);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFHSCNT1" & Chr( 0 )

hDeviceHandle = HScntOpen(lpszName)

nRet = HScntClose(hDeviceHandle)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFHSCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet := HScntClose(hDeviceHandle);

デバイス名「IFHSCNT1」のデバイスのクローズ処理を行います。

Page 200: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

199

60. HScntGetDeviceInfo

【機能】

高速カウンタのデバイス情報を取得します。

【書式】

●C言語

INT HScntGetDeviceInfo(

HANDLE hDeviceHandle, // デバイスハンドル

PHSCNTDEVICEINFO pDeviceInfo // HSCNTDEVICEINFO 構造体

// へのポインタ

);

●Visual Basic

Declare Function HScntGetDeviceInfo Lib "IFHScnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByRef pDeviceInfo As HSCNTDEVICEINFO_ ‘ HSCNTDEVICEINFO 構造体

‘ への参照渡し

)As Long

●Delphi

function HScntGetDeviceInfo(

hDeviceHandle: THandle; // デバイスハンドル

var pDeviceInfo: HSCNTDEVICEINFO // HSCNTDEVICEINFO 構造体

// への参照渡し

): Integer; stdcall; external 'IFHScnt.DLL';

【パラメータ】

hDeviceHandle HScntOpen 関数で取得したデバイスハンドルを指定してください。

pDeviceInfo 取得したデバイス情報を格納する HSCNTDEVICEINFO 構造体へのポインタを指定してくださ

い。

構造体の説明については、『4.5 構造体』をご参照ください。

【戻り値】

正常終了した場合は、IFHSCNT_ERROR_SUCCESSが返されます。

IFHSCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

Page 201: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

200

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

HSCNTDEVICEINFO DeviceInfo;

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntGetDeviceInfo(hDeviceHandle, &DeviceInfo);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim DeviceInfo As HSCNTDEVICEINFO

lpszName = "IFHSCNT1" & Chr( 0 )

hDeviceHandle = HScntOpen(lpszName)

nRet = HScntGetDeviceInfo(hDeviceHandle, DeviceInfo)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

DeviceInfo: HSCNTDEVICEINFO;

lpszName := 'IFHSCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet := HScntGetDeviceInfo(hDeviceHandle, DeviceInfo);

デバイス名「IFHSCNT1」のデバイスのデバイス情報を取得します。

Page 202: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

201

61. HScntReset

【機能】

各種設定の初期化、カウンタのクリアを行います。

【書式】

●C言語

INT HScntReset(

HANDLE hDeviceHandle, // デバイスハンドル

DWORD dwChSel, // チャンネル選択

DWORD dwMode // リセット項目

);

●Visual Basic

Declare Function HScntReset Lib "IFHScnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal dwChSel As Long,_ ‘ チャンネル選択

ByVal dwMode As Long_ ‘ リセット項目

)As Long

●Delphi

function HScntReset(

hDeviceHandle: THandle; // デバイスハンドル

dwChSel: Dword; // チャンネル選択

dwMode: Dword // リセット項目

): Integer; stdcall; external 'IFHScnt.DLL';

【パラメータ】

hDeviceHandle HScntOpen 関数で取得したデバイスハンドルを指定してください。

dwChSel 各種設定の初期化、カウンタのクリアを行うチャンネルを指定してください。

ビット bit31~2 bit1 bit0

内容 予約 CH2 CH1

該当するビットに“1”を指定してチャンネル指定を行います。

複数チャンネルの指定が可能です。

Page 203: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

202

dwMode リセット項目を指定してください。

識別子 意味

IFHSCNT_RESET_DEVICE 動作設定リセット

指定チャンネルの動作設定がリセットされデフォルト

値に設定されます。

サンプリング中の場合はサンプリングを停止します。

IFHSCNT_RESET_COUNTER カウンタクリア

カウンタをクリアします。

該当する識別子を指定してリセットを行います。

動作設定リセットとカウンタクリアを同時に実行する場合には、それぞれの識別子を OR

で指定します。

【戻り値】

正常終了した場合は、IFHSCNT_ERROR_SUCCESSが返されます。

IFHSCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntReset(hDeviceHandle, 0x01,

IFHSCNT_RESET_DEVICE | IFHSCNT_CLEAR_COUNTER);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFHSCNT1" & Chr( 0 )

hDeviceHandle = HScntOpen(lpszName)

nRet = HScntReset(hDeviceHandle, &H01,

IFHSCNT_RESET_DEVICE or IFHSCNT_CLEAR_COUNTER)

Page 204: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

203

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFUCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet := HScntReset(hDeviceHandle, $01,

IFHSCNT_RESET_DEVICE | IFHSCNT_CLEAR_COUNTER);

デバイス名「IFHSCNT1」のデバイスのチャンネル 1 の初期化とカウンタリセットを行います。

Page 205: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

204

62. HScntSetMode

【機能】

カウンタの外部制御モードを設定します。

【書式】

●C言語

INT HScntSetMode(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

DWORD dwMode // カウントモード

);

●Visual Basic

Declare Function HScntSetMode Lib "IFHScnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByVal dwMode As Long_ ‘ カウントモード

)As Long

●Delphi

function HScntSetMode(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Dword; // チャンネル選択

dwMode: Dword // カウントモード

): Integer; stdcall; external 'IFHScnt.DLL';

【パラメータ】

hDeviceHandle HScntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定を行うチャンネルを指定してください。

dwMode カウントモード設定値を指定してください。

ビット bit31~3 bit2 bit1 bit0

内容 予約 CLR GATE 予約

GATE:GATE 信号によるカウンタ外部イネーブル機能の設定を行います。

GATE 内容

0 外部イネーブル機能 無効

1 外部イネーブル機能 有効

Page 206: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

205

CLR:CLR 信号によるカウンタ外部クリア機能の設定を行います。

CLR 内容

0 外部クリア機能 無効

1 外部クリア機能 有効

【戻り値】

正常終了した場合は、IFHSCNT_ERROR_SUCCESSが返されます。

IFHSCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【備考】

GATE信号によるカウンタイネーブルの制御を行う場合には、HScntStartCount関数によるカウ

ントスタートを行わないで下さい。

カウントスタートを行った場合、強制的にカウンタがイネーブル状態となるため、GATE 信号に

よるカウンタイネーブルの制御が無効となります。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntSetMode(hDeviceHandle, 1, 0x06);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFHSCNT1" & Chr( 0 )

hDeviceHandle = HScntOpen(lpszName)

nRet = HScntSetMode(hDeviceHandle, 1, &H06)

Page 207: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

206

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFHSCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet := HScntSetMode(hDeviceHandle, 1, $06);

デバイス名「IFHSCNT1」のデバイスのチャンネル 1の外部イネーブル機能と外部クリア機能を

有効に設定します。

Page 208: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

207

63. HScntGetMode

【機能】

カウンタの外部制御モードを設定情報を取得します。

【書式】

●C言語

INT HScntGetMode(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

PDWORD *pdwMode // カウントモード取得

// 変数へのポインタ

);

●Visual Basic

Declare Function HScntGetMode Lib "IFHScnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByRef pdwMode As Long_ ‘ カウントモード取得

‘ 変数への参照渡し

)As Long

●Delphi

function HScntGetMode(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Dword; // チャンネル選択

var pdwMode: Dword // カウントモード取得

// 変数への参照渡し

): Integer; stdcall; external 'IFHScnt.DLL';

【パラメータ】

hDeviceHandle HScntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 取得を行うチャンネルを指定してください。

pdwMode カウントモード設定情報を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

ビット bit31~3 bit2 bit1 bit0

内容 予約 CLR GATE 予約

Page 209: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

208

GATE:GATE 信号によるカウンタ外部イネーブル機能の設定を取得します。

GATE 内容

0 外部イネーブル機能 無効

1 外部イネーブル機能 有効

CLR:CLR 信号によるカウンタ外部クリア機能の設定を取得します。

CLR 内容

0 外部クリア機能 無効

1 外部クリア機能 有効

【戻り値】

正常終了した場合は、IFHSCNT_ERROR_SUCCESSが返されます。

IFHSCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwMode;

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntGetMode(hDeviceHandle, 2, &dwMode);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwMode As Long

lpszName = "IFHSCNT1" & Chr( 0 )

hDeviceHandle = HScntOpen(lpszName)

nRet = HScntGetMode(hDeviceHandle, 2, dwMode)

Page 210: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

209

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwMode: Dword;

lpszName := 'IFHSCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet := HScntGetMode(hDeviceHandle, 2, dwMode);

デバイス名「IFHSCNT1」のデバイスのチャンネル 2のカウンタモード設定を取得します。

Page 211: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

210

64. HScntReadCounter

【機能】

カウンタ値を取得します。

【書式】

●C言語

INT HScntReadCounter(

HANDLE hDeviceHandle, // デバイスハンドル

DWORD dwChSel, // チャンネル選択

PDWORD pdwCounter // カウンタ値を格納

// する配列へのポインタ

);

●Visual Basic

Declare Function HScntReadCounter Lib "IFHScnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal dwChSel As Long,_ ‘ チャンネル選択

ByRef pdwCounter As Long_ ‘ カウンタ値を格納

‘ する配列への参照渡し

)As Long

●Delphi

function HScntReadCounter(

hDeviceHandle: THandle; // デバイスハンドル

dwChSel: Dword; // チャンネル選択

var pdwCounter: Dword // カウンタ値を格納

// する配列へのポインタ

): Integer; stdcall; external 'IFHScnt.DLL';

【パラメータ】

hDeviceHandle HscntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

dwChSel 取得するチャンネルを指定してください。

各チャンネルに対応した bit に 1 を指定して、複数チャンネルを同時に取得します。

ビット bit31~bit2 bit1 bit0

内容 予約 CH2 CH1

pdwCounter カウンタ値を格納する配列のポインタを指定してください。

配列の各要素には下記の値が格納されます。

dwCounter[1]~dwCounter[0]:チャンネル 2~チャンネル 1のカウンタ値

設定範囲:0 ~ 4,294,967,295(FFFFFFFFh)

Page 212: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

211

【戻り値】

正常終了した場合は、IFHSCNT_ERROR_SUCCESSが返されます。

IFHSCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwCounter[2];

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntReadCounter(hDeviceHandle, 0x03, dwCounter);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwCounter(0 To 1) As Long

lpszName = "IFHSCNT1" & Chr( 0 )

hDeviceHandle = HScntOpen(lpszName)

nRet = HScntReadCounter(hDeviceHandle, &H03, dwCounter(0))

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwCounter: Array[0..1] of Dword;

lpszName := 'IFHSCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet := HScntReadCounter(hDeviceHandle, $03, dwCounter[0]);

デバイス名「IFHSCNT1」のデバイスのチャンネル 1~チャンネル 2のカウンタ値を取得します。

Page 213: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

212

65. HScntGetStatus

【機能】

動作ステータス情報を取得します。

【書式】

●C言語

INT HScntGetStatus(

HANDLE hDeviceHandle, // デバイスハンドル

DWORD dwChSel, // チャンネル選択

PDWORD pdwStatus // ステータスを格納する配列

// へのポインタ

);

●Visual Basic

Declare Function HScntGetStatus Lib "IFHScnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal dwChSel As Long,_ ‘ チャンネル選択

ByRef pdwStatus As Long_ ‘ ステータスを格納する配列

‘ への参照渡し

)As Long

●Delphi

function HScntGetStatus(

hDeviceHandle: THandle; // デバイスハンドル

dwChSel: Dword; // チャンネル選択

var pdwStatus: Dword // ステータスを格納する配列

// への参照渡し

): Integer; stdcall; external 'IFHScnt.DLL';

【パラメータ】

hDeviceHandle HScntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

dwChSel 取得するチャンネルを指定してください。

各チャンネルに対応した bit に 1 を指定して、複数チャンネルを同時に取得します。

ビット bit31~bit2 bit1 bit0

内容 予約 CH2 CH1

Page 214: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

213

pdwStatus ステータスを格納する配列へのポインタを指定してください。

配列の各要素には下記の値が格納されます。

dwStatus[1]~dwStatus[0]:チャンネル 2~チャンネル 1のステータス情報

ビット bit31~bit7 bit6 bit5~bit3 bit2 bit1 bit0

内容 予約 ST0 予約 CLR GATE CLK

ST0:スタートストップ状態

ST0 内容

0 ストップ

1 スタート

CLK、GATE、CLR:入力端子ステータス

CLK、GATE、CLR 内容

0 Low

1 High

【戻り値】

正常終了した場合は、IFHSCNT_ERROR_SUCCESSが返されます。

IFHSCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

DWORD dwStatus[2];

HANDLE hDeviceHandle;

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntGetStatus(hDeviceHandle, 0x03, dwStatus);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwStatus(0 To 1) As Long

lpszName = "IFHSCNT1" & Chr( 0 )

hDeviceHandle = HScntOpen(lpszName)

nRet = HScntGetStatus(hDeviceHandle, &H03, dwStatus(0))

Page 215: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

214

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwStatus: array[0..1] of Dword;

lpszName := 'IFHSCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet := HScntGetStatus(hDeviceHandle, $03, dwStatus[0]);

デバイス名「IFHSCNT1」のデバイスのチャンネル 1~チャンネル 2のステータスを取得します。

Page 216: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

215

66. HScntStartCount

【機能】

カウントを開始します。

【書式】

●C言語

INT HScntStartCount(

HANDLE hDeviceHandle, // デバイスハンドル

DWORD dwChSel, // チャンネル選択

DWORD dwStartMode // スタートモード

);

●Visual Basic

Declare Function HScntStartCount Lib "IFHScnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal dwChSel As Long,_ ‘ チャンネル選択

ByVal dwStartMode As Long_ ‘ スタートモード

)As Long

●Delphi

function HScntStartCount(

hDeviceHandle: THandle; // デバイスハンドル

dwChSel: Dword; // チャンネル選択

dwStartMode: Dword // スタートモード

): Integer; stdcall; external 'IFHScnt.DLL';

【パラメータ】

hDeviceHandle HScntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

dwChSel 設定を行うチャンネルを指定してください。

各チャンネルに対応した bit に 1 を指定して、複数チャンネルを同時に設定します。

ビット bit31~bit2 bit1 bit0

内容 予約 CH2 CH1

dwStartMode スタートモードを指定してください。

識別子 内容

IFHSCNT_CMD_START カウントスタート

Page 217: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

216

【戻り値】

正常終了した場合は、IFHSCNT_ERROR_SUCCESSが返されます。

IFHSCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntStartCount(hDeviceHandle, 0x03, IFHSCNT_CMD_START);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFHSCNT1" & Chr( 0 )

hDeviceHandle = HScntOpen(lpszName)

nRet = HScntStartCount(hDeviceHandle, &H03, IFHSCNT_CMD_START)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFHSCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet := HScntStartCount(hDeviceHandle, $03, IFHSCNT_CMD_START);

デバイス名「IFHSCNT1」のデバイスのチャンネル 1~チャンネル 2のカウントを開始します。

Page 218: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

217

67. HScntStopCount

【機能】

カウントを停止します。

【書式】

●C言語

INT HScntStopCount(

HANDLE hDeviceHandle, // デバイスハンドル

DWORD dwChSel, // チャンネル選択

DWORD dwStopMode // ストップモード

);

●Visual Basic

Declare Function HScntStopCount Lib "IFHScnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal dwChSel As Long,_ ‘ チャンネル選択

ByVal dwStopMode As Long_ ‘ ストップモード

)As Long

●Delphi

function HScntStopCount(

hDeviceHandle: THandle; // デバイスハンドル

dwChSel: Dword; // チャンネル選択

dwStopMode: Dword // ストップモード

): Integer; stdcall; external 'IFHScnt.DLL';

【パラメータ】

hDeviceHandle HScntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

dwChSel 設定を行うチャンネルを指定してください。

各チャンネルに対応した bit に 1 を指定して、複数チャンネルを同時に設定します。

ビット bit31~bit2 bit1 bit0

内容 予約 CH2 CH1

dwStopMode ストップモードを指定してください。

識別子 内容

IFHSCNT_CMD_STOP カウントストップ

Page 219: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

218

【戻り値】

正常終了した場合は、IFHSCNT_ERROR_SUCCESSが返されます。

IFHSCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C 言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntStopCount(hDeviceHandle, 0x01, IFHSCNT_CMD_STOP);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFHSCNT1" & Chr( 0 )

hDeviceHandle = HScntOpen(lpszName)

nRet = HScntStopCount(hDeviceHandle, &H01, IFHSCNT_CMD_STOP)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFHSCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet := HScntStopCount(hDeviceHandle, $01, IFHSCNT_CMD_STOP);

デバイス名「IFHSCNT1」のデバイスのチャンネル 1のカウントを停止します。

Page 220: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

219

68. HScntSetEventMask

【機能】

割り込みイベントのマスク設定を行います。

【書式】

●C言語

INT HScntSetEventMask(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル指定

DWORD dwEventMask // 割り込みマスク

);

●Visual Basic

Declare Function HScntSetEventMask Lib "IFHScnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByVal dwEventMask As Long_ ‘ 割り込みマスク

)As Long

●Delphi

function HScntSetEventMask(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

dwEventMask: Dword // 割り込みマスク

): Integer; stdcall; external 'IFHScnt.DLL';

【パラメータ】

hDeviceHandle HScntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 設定を行うチャンネルを指定してください。

IFHSCNT_EVENT_CH_TIMER、IFHSCNT_EVENT_CH_EDGE を指定すると、インターバルタイマ割

り込みと入力エッジ割り込みのマスク設定を行うことができます。

IFHSCNT_EVENT_CH_TIMER、IFHSCNT_EVENT_CH_EDGE は、LPC/PEX-632102 でのみ指定可能で

す。

dwEventMask 割り込みイベントのマスクデータを指定してください。

Page 221: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

220

・nChannel:1~2

ビット bit31~bit8

内容 予約

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 CLR

FALL

CLR

RISE

GATE

FALL

GATE

RISE

予約 予約 予約 CRF

dwEventMask 1:アンマスク(割り込み有効)

0:マスク(割り込み無効)

CRF カウンタキャリー割り込みマスク

GATE RISE GATE 信号の立ち上がり検出割り込みマスク

GATE FALL GATE 信号の立ち下がり検出割り込みマスク

CLR RISE CLR 信号の立ち上がり検出割り込みマスク

CLR FALL CLR 信号の立ち下がり検出割り込みマスク

・nChannel:IFHSCNT_EVENT_CH_TIMER

ビット bit31~bit8

内容 予約

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 予約 予約 予約 SIGT 予約 予約 予約 予約

dwEventMask 1:アンマスク(割り込み有効)

0:マスク(割り込み無効)

SIGT インターバルタイマ割り込みマスク ※

※インターバルタイマ割り込みマスクは LPC/PEX-632102 でのみ設定可能です。

・nChannel:IFHSCNT_EVENT_CH_EDGE

ビット bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24

内容 SF

IN16

SF

IN15

SF

IN14

SF

IN13

SF

IN12

SF

IN11

SF

IN10

SF

IN9

ビット bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16

内容 SF

IN8

SF

IN7

SF

IN6

SF

IN5

SF

IN4

SF

IN3

SF

IN2

SF

IN1

ビット bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8

内容 SR

IN16

SR

IN15

SR

IN14

SR

IN13

SR

IN12

SR

IN11

SR

IN10

SR

IN9

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 SR

IN8

SR

IN7

SR

IN6

SR

IN5

SR

IN4

SR

IN3

SR

IN2

SR

IN1

Page 222: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

221

dwEventMask 1:アンマスク(割り込み有効)

0:マスク(割り込み無効)

SR IN1

SR IN16

IN1~IN16 信号の立ち上がり検出割り込みマスク ※

SF IN1

SF IN16

IN1~IN16 信号の立ち下がり検出割り込みマスク ※

※エッジ検出割り込みマスクは LPC/PEX-632102 でのみ設定可能です。

【戻り値】

正常終了した場合は、IFHSCNT_ERROR_SUCCESSが返されます。

IFHSCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntSetEventMask(hDeviceHandle, 1, 0x01);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFHSCNT1" & Chr( 0 )

hDeviceHandle = HScntOpen(lpszName)

nRet = HScntSetEventMask(hDeviceHandle, 1, &H01)

Page 223: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

222

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFHSCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet := HScntSetEventMask(hDeviceHandle, 1, $01);

デバイス名「IFHSCNT1」のデバイスのチャンネル 1のカウンタキャリー割り込みイベントを有

効に設定します。

Page 224: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

223

69. HScntGetEventMask

【機能】

割り込みイベントのマスク設定を取得します。

【書式】

●C言語

INT HScntGetEventMask(

HANDLE hDeviceHandle, // デバイスハンドル

INT nChannel, // チャンネル選択

PDWORD pdwEventMask // 割り込みマスク状態取得変数

// へのポインタ

);

●Visual Basic

Declare Function HScntGetEventMask Lib "IFHScnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal nChannel As Long,_ ‘ チャンネル選択

ByRef pdwEventMask As Long_ ‘ 割り込みマスク状態取得変数

‘ への参照渡し

)As Long

●Delphi

function HScntGetEventMask(

hDeviceHandle: THandle; // デバイスハンドル

nChannel: Integer; // チャンネル選択

var pdwEventMask: Dword // 割り込みマスク状態取得変数

// への参照渡し

): Integer; stdcall; external 'IFHScnt.DLL';

【パラメータ】

hDeviceHandle HScntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

nChannel 取得を行うチャンネルを指定してください。

HSCNT_EVENT_CH_TIMER、HSCNT_EVENT_CH_EDGE を指定すると、インターバルタイマ割り込

みと入力エッジ割り込みのマスク設定値を取得することができます。

HSCNT_EVENT_CH_TIMER、HSCNT_EVENT_CH_EDGE は、LPC/PEX-632102 でのみ指定可能です。

pdwEventMask 割り込みイベント設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

Page 225: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

224

・nChannel:1~2

ビット bit31~bit8

内容 予約

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 CLR

FALL

CLR

RISE

GATE

FALL

GATE

RISE

予約 予約 予約 CRF

dwEventMask 1:アンマスク(割り込み有効)

0:マスク(割り込み無効)

CRF カウンタキャリー割り込みマスク

GATE RISE GATE 信号の立ち上がり検出割り込みマスク

GATE FALL GATE 信号の立ち下がり検出割り込みマスク

CLR RISE CLR 信号の立ち上がり検出割り込みマスク

CLR FALL CLR 信号の立ち下がり検出割り込みマスク

・nChannel:HSCNT_EVENT_CH_TIMER

ビット bit31~bit8

内容 予約

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 予約 予約 予約 SIGT 予約 予約 予約 予約

dwEventMask 1:アンマスク(割り込み有効)

0:マスク(割り込み無効)

SIGT インターバルタイマ割り込みマスク ※

※インターバルタイマ割り込みマスク設定は LPC/PEX-632102 でのみ取得可能です。

・nChannel:HSCNT_EVENT_CH_EDGE

ビット bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24

内容 SF

IN16

SF

IN15

SF

IN14

SF

IN13

SF

IN12

SF

IN11

SF

IN10

SF

IN9

ビット bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16

内容 SF

IN8

SF

IN7

SF

IN6

SF

IN5

SF

IN4

SF

IN3

SF

IN2

SF

IN1

ビット bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8

内容 SR

IN16

SR

IN15

SR

IN14

SR

IN13

SR

IN12

SR

IN11

SR

IN10

SR

IN9

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 SR

IN8

SR

IN7

SR

IN6

SR

IN5

SR

IN4

SR

IN3

SR

IN2

SR

IN1

Page 226: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

225

dwEventMask 1:アンマスク(割り込み有効)

0:マスク(割り込み無効)

SR IN1

SR IN16

IN1~IN16 信号の立ち上がり検出割り込みマスク ※

SF IN1

SF IN16

IN1~IN16 信号の立ち下がり検出割り込みマスク ※

※エッジ検出割り込みマスク設定は LPC/PEX-632102 でのみ取得可能です。

【戻り値】

正常終了した場合は、IFHSCNT_ERROR_SUCCESSが返されます。

IFHSCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwEventMask;

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntGetEventMask(hDeviceHandle, 1, &dwEventMask);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwEventMask As Long

lpszName = "IFHSCNT1" & Chr( 0 )

hDeviceHandle = HScntOpen(lpszName)

nRet = HScntGetEventMask(hDeviceHandle, 1, dwEventMask)

Page 227: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

226

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwEventMask: Dword;

lpszName := 'IFHSCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet := HScntGetEventMask(hDeviceHandle, 1, dwEventMask);

デバイス名「IFHSCNT1」のデバイスのチャンネル 1 の割り込みマスク設定状態を取得します。

Page 228: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

227

70. HScntSetEvent

【機能】

割り込み発生時に起動するコールバック関数、メッセージの登録を行います。

【書式】

●C言語

INT HScntSetEvent(

HANDLE hDeviceHandle, // デバイスハンドル

PHSCNTEVENTREQ pEvent // 割り込み設定構造体

// へのポインタ

);

●Visual Basic

Declare Function HScntSetEvent Lib "IFHScnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByRef pEvent HSCNTEVENTREQ_ ‘ 割り込み設定構造体

‘ への参照渡し

)As Long

●Delphi

function HScntSetEvent(

hDeviceHandle: THandle; // デバイスハンドル

var pEvent: HSCNTEVENTREQ // 割り込み設定構造体

// への参照渡し

): Integer; stdcall; external 'IFHScnt.DLL';

【パラメータ】

hDeviceHandle HScntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

pEvent 割り込み発生時に呼び出されるユーザ・コールバック関数、メッセージの設定を行う構造

体へのポインタを指定してください。

構造体の説明については、『4.5 構造体』をご参照ください。

【戻り値】

正常終了した場合は、IFHSCNT_ERROR_SUCCESSが返されます。

IFHSCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

Page 229: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

228

【備考】

●コールバック関数の書式

コールバック関数の書式は以下の通りです。

VOID CALLBACK lpCallBackProc(INT nChannel, DWORD dwEvent, DWORD dwUser );

○nChannel

割り込み発生チャンネル。

○dwEvent

コールバック関数実行要因。

コールバック関数が実行された要因の該当ビットに”1”がセットされます。

○dwUser

ユーザデータ

イベント設定時に指定したユーザデータがセットされます。

【使用例】

●C言語(コールバック関数)

// コールバック関数

void CALLBACK lpEventProc(INT nChannel, DWORD dwEvent, DWORD dwUser){

// 割り込み処理を記述します

:

:

}

// メインルーチン

INT nRet;

HANDLE hDeviceHandle;

HSCNTEVENTREQ Event;

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntSetEventMask(hDeviceHandle, 1, 0xF1);

Event.hWnd = NULL;

Event.uMessage[0] = WM_NULL;

Event.uMessage[1] = WM_NULL;

Event.uMessage[2] = WM_NULL;

Event.uMessage[3] = WM_NULL;

Event.uMessage[4] = WM_NULL;

Event.uMessage[5] = WM_NULL;

Event.uMessage[6] = WM_NULL;

Event.uMessage[7] = WM_NULL;

Event.lpCallBackProc = (PLPHSCNTCALLBACK)lpEventProc;

Event.dwUser = 0x1234;

nRet = HScntSetEvent(hDeviceHandle, &Event);

Page 230: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

229

●C 言語(イベント待ちの設定)

非同期処理

INT nRet;

OVERLAPPED OverLapped;

HANDLE hDeviceHandle;

HSCNTEVENTREQ Event;

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntSetEventMask(hDeviceHandle, 1, 0xF1);

OverLapped.hEvent = CreateEvent(0,FALSE,FALSE,NULL);

Event.hWnd = NULL;

Event.uMessage[0] = WM_NULL;

Event.uMessage[1] = WM_NULL;

Event.uMessage[2] = WM_NULL;

Event.uMessage[3] = WM_NULL;

Event.uMessage[4] = WM_NULL;

Event.uMessage[5] = WM_NULL;

Event.uMessage[6] = WM_NULL;

Event.uMessage[7] = WM_NULL;

Event.hEvent = OverLapped.hEvent;

Event.lpCallBackProc = NULL;

Event.dwUser = 0x1234;

nRet = HScntSetEvent(hDeviceHandle, &Event);

if (nRet == IFHSCNT_ERROR_SUCCESS) {

// イベント待ち

// WaitFirSingleObject を使ってイベントを待つ

WaitForSingleObject(OverLapped.hEvent, INFINITE);

}

Page 231: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

230

●Visual Basic(イベント待ちの設定)

※ Visual Basic Ver. 6.0 では言語仕様上の制限によりコールバック関数はご使用いただけま

せん。メッセージ及びベント機能をご使用ください。

非同期処理

Public lpOverlapped As OVERLAPPED

Dim lpszName As String

Dim hDeviceHandle As Long

Dim Event As HSCNTEVENTREQ

lpszName = "IFHSCNT1" & Chr( 0 )

hDeviceHandle = HScntOpen(lpszName)

nRet = HScntSetEventMask(hDeviceHandle, 1, &HF1)

lpOverlapped.hEvent = CreateEvent(nul, False, False, nul)

Event.hWnd = 0

Event.uMessage(0) = 0

Event.uMessage(1) = 0

Event.uMessage(2) = 0

Event.uMessage(3) = 0

Event.uMessage(4) = 0

Event.uMessage(5) = 0

Event.uMessage(6) = 0

Event.uMessage(7) = 0

Event.hEvent = OverLapped.hEvent

Event.lpCallBackProc = 0

Event.dwUser = &H1234

nRet = HScntSetEvent(hDeviceHandle, Event)

' イベント待ち

' WaitFirSingleObject を使ってイベントを待つ

nRet = WaitForSingleObject(lpOverlapped.hEvent, 0)

Page 232: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

231

●Delphi(コールバック関数)

// コールバック関数

procedure lpEventProc(nChannel: Integer; dwEvent: DWORD; dwUser: DWORD); stdcall;

var

//変数定義

begin

// 割り込み処理を記述します

:

:

end;

// メインルーチン

var

lpszName: String;

hDeviceHandle: THandle;

Event: HSCNTEVENTREQ;

begin

lpszName := 'IFHSCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet := HScntSetEventMask(hDeviceHandle, 1, $F1);

Event.hWnd := 0;

Event.uMessage[0] := WM_NULL;

Event.uMessage[1] := WM_NULL;

Event.uMessage[2] := WM_NULL;

Event.uMessage[3] := WM_NULL;

Event.uMessage[4] := WM_NULL;

Event.uMessage[5] := WM_NULL;

Event.uMessage[6] := WM_NULL;

Event.uMessage[7] := WM_NULL;

Event.hEvent := 0;

Event.lpCallBackProc := lpEventProc;

Event.dwUser := $1234;

nRet := HScntSetEvent(hDeviceHandle, Event);

end;

Page 233: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

232

●Delphi(イベント待ちの設定)

非同期処理

var

OverLapped : TOverLapped;

nRet : Integer;

lpszName: String;

hDeviceHandle: THandle;

Event: HSCNTEVENTREQ;

begin

lpszName := 'IFHSCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet := HScntSetEventMask(hDeviceHandle, 1, $F1);

OverLapped.hEvent := CreateEvent(nil, False, False, Nil);

Event.hWnd := 0;

Event.uMessage[0] := WM_NULL;

Event.uMessage[1] := WM_NULL;

Event.uMessage[2] := WM_NULL;

Event.uMessage[3] := WM_NULL;

Event.uMessage[4] := WM_NULL;

Event.uMessage[5] := WM_NULL;

Event.uMessage[6] := WM_NULL;

Event.uMessage[7] := WM_NULL;

Event.hEvent := OverLapped.hEvent;

Event.lpCallBackProc := lpEventProc;

Event.dwUser := $1234;

nRet := HScntSetEvent(hDeviceHandle, Event);

// イベント待ち

// WaitFirSingleObject を使ってイベントを待つ

WaitForSingleObject(OverLapped.hEvent, INFINITE);

end;

デバイス名「IFHSCNT1」のデバイスの CH1 の割り込みマスク、コールバック関数(もしくはイ

ベント)を設定します。

Page 234: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

233

71. HScntKillEvent

【機能】

割り込み発生時に起動するコールバック関数、メッセージの解除を行います。

【書式】

●C言語

INT HScntKillEvent(

HANDLE hDeviceHandle // デバイスハンドル

);

●Visual Basic

Declare Function HScntKillEvent Lib "IFHScnt.DLL"(_

ByVal hDeviceHandle As Long_ ‘ デバイスハンドル

)As Long

●Delphi

function HScntKillEvent(

hDeviceHandle: THandle // デバイスハンドル

): Integer; stdcall; external 'IFHScnt.DLL';

【パラメータ】

hDeviceHandle HScntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

【戻り値】

正常終了した場合は、IFHSCNT_ERROR_SUCCESSが返されます。

IFHSCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntKillEvent(hDeviceHandle);

Page 235: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

234

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFHSCNT1" & Chr( 0 )

hDeviceHandle = HScntOpen(lpszName)

nRet = HScntKillEvent(hDeviceHandle)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFHSCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet := HScntKillEvent(hDeviceHandle);

デバイス名「IFHSCNT1」のデバイスのコールバック関数の解除を行います。

Page 236: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

235

72. HScntSetDOEnable

【機能】

汎用出力の機能を設定します。

※この関数は下記、製品型式のみ対応しています。ご注意ください。

LPC-632102、PEX-632102

【書式】

●C言語

INT HScntSetDOEnable(

HANDLE hDeviceHandle, // デバイスハンドル

DWORD dwOutEnable // 出力許可端子指定

);

●Visual Basic

Declare Function HScntSetDOEnable Lib "IFHScnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal dwOutEnable As Long_ ‘ 出力許可端子指定

)As Long

●Delphi

function HScntSetDOEnable(

hDeviceHandle: THandle; // デバイスハンドル

dwOutEnable: Dword // 出力許可端子指定

): Integer; stdcall; external 'IFHScnt.DLL';

【パラメータ】

hDeviceHandle HScntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

dwOutEnable 出力許可を行う端子を指定してください。

ビット bit31~bit8

内容 予約

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 予約 予約 予約 予約 IO3 IO2 IO1 IO0

IO0:OUT1~OUT4 端子の汎用出力の許可・禁止を設定します。

IO1:OUT5~OUT8 端子の汎用出力の許可・禁止を設定します。

IO2:OUT9~OUT12 端子の汎用出力の許可・禁止を設定します。

IO3:OUT13~OUT16 端子の汎用出力の許可・禁止を設定します。

IO0,IO1,IO2,IO3 内容

0 汎用出力を禁止

1 汎用出力を許可

Page 237: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

236

【戻り値】

正常終了した場合は、IFHSCNT_ERROR_SUCCESSが返されます。

IFHSCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【備考】

●HScntOutputDO 関数について

HScntOpen 関数でデバイスオープン時、デフォルトでは OUT1~OUT16 端子は出力禁止状態とな

っています。HScntOutputDO 関数を使用する際は、HScntSetDOEnable 関数を実行して制御した

い端子の出力許可設定を行う必要があります。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntSetDOEnable(hDeviceHandle, 0x01);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFHSCNT1" & Chr( 0 )

hDeviceHandle = HScntOpen(lpszName)

nRet = HScntSetDOEnable(hDeviceHandle, &H01)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFHSCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet := HScntSetDOEnable(hDeviceHandle, $01);

デバイス名「IFHSCNT1」のデバイスの OUT1~OUT4 端子の汎用出力を許可に設定します。

Page 238: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

237

73. HScntGetDOEnable

【機能】

汎用出力機能の設定情報を取得します。

※この関数は下記、製品型式のみ対応しています。ご注意ください。

LPC-632102、PEX-632102

【書式】

●C言語

INT HScntGetDOEnable(

HANDLE hDeviceHandle, // デバイスハンドル

PDWORD pdwOutEnable // 出力許可状態取得変数

// へのポインタ

);

●Visual Basic

Declare Function HScntGetDOEnable Lib "IFHScnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByRef pdwOutEnable As Long_ ‘ 出力許可状態取得変数

‘ への参照渡し

)As Long

●Delphi

function HScntGetDOEnable(

hDeviceHandle: THandle; // デバイスハンドル

var pdwOutEnable: Dword // 出力許可状態取得変数

// への参照渡し

): Integer; stdcall; external 'IFHScnt.DLL';

【パラメータ】

hDeviceHandle HScntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

Page 239: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

238

pdwOutEnable 出力許可状態設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

ビット bit31~bit8

内容 予約

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 予約 予約 予約 予約 IO3 IO2 IO1 IO0

IO0:OUT1~OUT4 端子の汎用出力の許可・禁止状態を取得します。

IO1:OUT5~OUT8 端子の汎用出力の許可・禁止状態を取得します。

IO2:OUT9~OUT12 端子の汎用出力の許可・禁止状態を取得します。

IO3:OUT13~OUT16 端子の汎用出力の許可・禁止状態を取得します。

IO0,IO1,IO2,IO3 内容

0 汎用出力を禁止

1 汎用出力を許可

【戻り値】

正常終了した場合は、IFHSCNT_ERROR_SUCCESSが返されます。

IFHSCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwOutEnabl;

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntGetDOEnable(hDeviceHandle, &dwOutEnable);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwOutEnable As Long

lpszName = "IFHSCNT1" & Chr( 0 )

hDeviceHandle = HScntOpen(lpszName)

nRet = HScntGetDOEnable(hDeviceHandle, dwOutEnable)

Page 240: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

239

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwOutEnable: THandle;

lpszName := 'IFHSCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet := HScntGetOutEnable(hDeviceHandle, dwOutEnable);

デバイス名「IFHSCNT1」の汎用出力端子の許可設定情報を取得します。

Page 241: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

240

74. HScntInputDI

【機能】

汎用入力の状態を取得します。

※この関数は下記、製品型式のみ対応しています。ご注意ください。

LPC-632102、PEX-632102

【書式】

●C言語

INT HScntInputDI(

HANDLE hDeviceHandle, // デバイスハンドル

PDWORD pdwDI // 汎用入力状態取得変数へのポインタ

);

●Visual Basic

Declare Function HScntInputDI Lib "IFHScnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByRef pdwDI As Long_ ‘ 汎用入力状態取得変数への参照渡し

)As Long

●Delphi

function HScntInputDI(

hDeviceHandle: THandle; // デバイスハンドル

var pdwDI: Dword // 汎用入力状態取得変数への参照渡し

): Integer; stdcall; external 'IFHScnt.DLL';

【パラメータ】

hDeviceHandle HScntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

pdwDI 入力状態の取得変数へのポインタを指定してください。

ビット bit31~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

・ビットデータ = 1 → “High”

・ビットデータ = 0 → “Low”

Page 242: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

241

【戻り値】

正常終了した場合は、IFHSCNT_ERROR_SUCCESSが返されます。

IFHSCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

DWORD dwDI;

HANDLE hDeviceHandle;

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntInputDI(hDeviceHandle, &dwDI);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwDI As Long

lpszName = "IFHSCNT1" & Chr( 0 )

hDeviceHandle = HScntOpen(lpszName)

nRet = HScntInputDI(hDeviceHandle, dwDI)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

dwDI: Dword;

lpszName := 'IFHSCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet := HScntInputDI(hDeviceHandle, dwDI);

デバイス名「IFHSCNT1」のデバイスの IN1~IN16 の汎用入力状態を取得します。

Page 243: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

242

75. HScntOutputDO

【機能】

汎用出力を制御します。

※この関数は下記、製品型式のみ対応しています。ご注意ください。

LPC-632102、PEX-632102

【書式】

●C言語

INT HScntOutputDO(

HANDLE hDeviceHandle, // デバイスハンドル

DWORD dwDO // 汎用出力

);

●Visual Basic

Declare Function HScntOutputDO Lib "IFHScnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal dwDO As Long_ ‘ 汎用出力

)As Long

●Delphi

function HScntOutputDO(

hDeviceHandle: THandle; // デバイスハンドル

dwDO: Dword // 汎用出力

): Integer; stdcall; external 'IFHScnt.DLL';

【パラメータ】

hDeviceHandle HScntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

dwDO 汎用出力を指定してください。

ビット bit31~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

内容 OTU8 OUT7 OUT6 OUT5 OUT4 OUT3 OUT2 OUT1

・ビットデータ = 1 → “High”

・ビットデータ = 0 → “Low”

Page 244: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

243

【戻り値】

正常終了した場合は、IFHSCNT_ERROR_SUCCESSが返されます。

IFHSCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【備考】

●HScntOutputDO 使用時の注意事項について

HScntOutputDO 関数では、IN1/OUT1~IN16/OUT16 等の入出力共用として使用可能な端子の出力

状態を変更することが可能です。その為、これらの端子に出力を行う外部機器を接続した状態

で HScntOutputDO 関数を実行すると、接続した機器が破損する可能性があります。

HScntOutputDO 関数を使用する際は必ず、出力を行っても問題ない接続となっていることをご

確認の上ご使用下さい。

●HScntSetDOEnebale 関数について

HScntOpen 関数でデバイスオープン時、デフォルトでは OUT1~OUT16 端子は出力禁止状態とな

っています。HScntOutputDO 関数を使用する際は、HScntSetDOEnable 関数を実行して制御した

い端子の出力許可設定を行ってから、本関数をご使用下さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntSetOutEnable(hDeviceHandle, 0x01);

nRet = HScntOutputDO(hDeviceHandle, 0x01);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFHSCNT1" & Chr( 0 )

hDeviceHandle = HScntOpen(lpszName)

nRet = HScntSetDOEnable(hDeviceHandle, &H01)

nRet = HScntOutputDO(hDeviceHandle, &H01)

Page 245: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

244

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFHSCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet := HScntSetDOEnable(hDeviceHandle, $01);

nRet := HScntOutputDO(hDeviceHandle, $01);

デバイス名「IFHSCNT1」のデバイスの OUT1 端子を High に設定します。

Page 246: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

245

76. HScntSetTimerConfig

【機能】

インターバルタイマを設定します。

※この関数は下記、製品型式のみ対応しています。ご注意ください。

LPC-632102、PEX-632102

【書式】

●C言語

INT HScntSetTimerConfig(

HANDLE hDeviceHandle, // デバイスハンドル

BYTE bTimerConfigValue // タイマ設定値

);

●Visual Basic

Declare Function HScntSetTimerConfig Lib "IFHScnt.DLL"( _

ByVal hDeviceHandle As Long, _ ‘ デバイスハンドル

ByVal bTimerConfigValue As Byte _ ‘ タイマ設定値

)As Long

●Delphi

function HScntSetTimerConfig(

hDeviceHandle: THandle; // デバイスハンドル

bTimerConfigValue: Byte // タイマ設定値

): Integer; stdcall; external 'IFHScnt.DLL';

【パラメータ】

hDeviceHandle HScntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

bTimerConfigValue インターバルタイマの設定値を指定してください。

タイマ周期は CTL5~CTL7 で設定した基準周期と、CTL1~CTL4 で設定した分周値の積とな

ります。(周期=基準周期×分周値)

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 予約 CTL7 CTL6 CTL5 CTL4 CTL3 CTL2 CTL1

Page 247: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

246

CTL1~CTL4 分周値設定

CTL4 CTL3 CTL2 CTL1

タイマ停止 0 0 0 0

1 分周 0 0 0 1

2 分周 0 0 1 0

3 分周 0 0 1 1

4 分周 0 1 0 0

5 分周 0 1 0 1

6 分周 0 1 1 0

7 分周 0 1 1 1

8 分周 1 0 0 0

9 分周 1 0 0 1

10 分周 1 0 1 0

11 分周 1 0 1 1

12 分周 1 1 0 0

13 分周 1 1 0 1

14 分周 1 1 1 0

15 分周 1 1 1 1

CTL5~CTL7 基準周期設定

CTL7 CTL6 CTL5

10μs 0 0 0

100μs 0 0 1

1ms 0 1 0

10ms 0 1 1

100ms 1 0 0

【戻り値】

正常終了した場合は、IFHSCNT_ERROR_SUCCESSが返されます。

IFHSCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【備考】

インターバルタイマ割り込みを使用する場合は、HScntSetEventMask関数と HScntSetEvent関数

を実行してインターバルタイマの割り込み要因を有効にし、イベントを登録する必要がありま

す。

Page 248: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

247

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntSetTimerConfig(hDeviceHandle, 0x4A);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFHSCNT1" & Chr( 0 )

hDeviceHandle = HScntOpen(lpszName)

nRet = HScntSetTimerConfig(hDeviceHandle, &H4A)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFHSCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet := HScntSetTimerConfig(hDeviceHandle, $4A);

デバイス名「IFHSCNT1」のデバイスのインターバルタイマを 1s(100ms×10)に設定します。

Page 249: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

248

77. HScntGetTimerConfig

【機能】

インターバルタイマの設定情報を取得します。

※この関数は下記、製品型式のみ対応しています。ご注意ください。

LPC-632102、PEX-632102

【書式】

●C言語

INT HScntGetTimerConfig(

HANDLE hDeviceHandle, // デバイスハンドル

PBYTE *pbTimerConfigValue // インターバルタイマ設定

// 格納変数へのポインタ

);

●Visual Basic

Declare Function HScntGetTimerConfig Lib "IFHScnt.DLL"( _

ByVal hDeviceHandle As Long, _ ‘ デバイスハンドル

ByRef pbTimerConfigValue As Byte _ ‘ インターバルタイマ設定

‘ 格納変数への参照渡し

)As Long

●Delphi

function HScntGetTimerConfig(

hDeviceHandle: THandle; // デバイスハンドル

var pbTimerConfigValue: Byte // インターバルタイマ設定

// 格納変数への参照渡し

): Integer; stdcall; external 'IFHScnt.DLL';

【パラメータ】

hDeviceHandle HScntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

bTimerConfigValue インターバルタイマの設定情報を格納する変数へのポインタ(参照渡し)を指定してくだ

さい。

タイマ周期は CTL5~CTL7 で設定した基準周期と、CTL1~CTL4 で設定した分周値の積とな

ります。(周期=基準周期×分周値)

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 予約 CTL7 CTL6 CTL5 CTL4 CTL3 CTL2 CTL1

Page 250: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

249

CTL1~CTL4 分周値設定

CTL4 CTL3 CTL2 CTL1

タイマ停止 0 0 0 0

1 分周 0 0 0 1

2 分周 0 0 1 0

3 分周 0 0 1 1

4 分周 0 1 0 0

5 分周 0 1 0 1

6 分周 0 1 1 0

7 分周 0 1 1 1

8 分周 1 0 0 0

9 分周 1 0 0 1

10 分周 1 0 1 0

11 分周 1 0 1 1

12 分周 1 1 0 0

13 分周 1 1 0 1

14 分周 1 1 1 0

15 分周 1 1 1 1

CTL5~CTL7 基準周期設定

CTL7 CTL6 CTL5

10μs 0 0 0

100μs 0 0 1

1ms 0 1 0

10ms 0 1 1

100ms 1 0 0

【戻り値】

正常終了した場合は、IFHSCNT_ERROR_SUCCESSが返されます。

IFHSCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

BYTE bTimerConfigValue;

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntGetTimerConfig(hDeviceHandle, &bTimerConfigValue);

Page 251: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

250

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim bTimerConfigValue As Byte

lpszName = "IFHSCNT1" & Chr( 0 )

hDeviceHandle = HScntOpen(lpszName)

nRet = HScntGetTimerConfig(hDeviceHandle, bTimerConfigValue)

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

bTimerConfigValue: Byte;

lpszName := 'IFHSCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet := HScntGetTimerConfig(hDeviceHandle, bTimerConfigValue);

デバイス名「IFHSCNT1」のデバイスのインターバルタイマ設定を取得します。

Page 252: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

251

78. HScntGetTimerCount

【機能】

インターバルタイマのカウント値を取得します。

※この関数は下記、製品型式のみ対応しています。ご注意ください。

LPC-632102、PEX-632102

【書式】

●C言語

INT HScntGetTimerCount(

HANDLE hDeviceHandle, // デバイスハンドル

PBYTE *pbTimerCount // タイマカウント値

// 格納変数へのポインタ

);

●Visual Basic

Declare Function HScntGetTimerCount Lib "IFHScnt.DLL"( _

ByVal hDeviceHandle As Long, _ ‘ デバイスハンドル

ByRef pbTimerCount As Byte _ ‘ タイマカウント値

‘ 格納変数への参照渡し

)As Long

●Delphi

function HScntGetTimerCount(

hDeviceHandle: THandle; // デバイスハンドル

var pbTimerCount: Byte // タイマカウント値

// 格納変数への参照渡し

): Integer; stdcall; external 'IFHScnt.DLL';

【パラメータ】

hDeviceHandle HScntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

pbTimerCount インターバルタイマの設定情報を格納する変数へのポインタ(参照渡し)を指定してくだ

さい。

HScntSetTimerConfig関数により設定した周期における、現在の状態を 4bitカウンタで取

得します。

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 予約 予約 予約 予約 CTL4 CTL3 CTL2 CTL1

Page 253: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

252

CTL1~CTL4 分周値設定

CTL4 CTL3 CTL2 CTL1

0 カウント 0 0 0 0

1 カウント 0 0 0 1

2 カウント 0 0 1 0

3 カウント 0 0 1 1

4 カウント 0 1 0 0

5 カウント 0 1 0 1

6 カウント 0 1 1 0

7 カウント 0 1 1 1

8 カウント 1 0 0 0

9 カウント 1 0 0 1

10 カウント 1 0 1 0

11 カウント 1 0 1 1

12 カウント 1 1 0 0

13 カウント 1 1 0 1

14 カウント 1 1 1 0

15 カウント 1 1 1 1

【戻り値】

正常終了した場合は、IFHSCNT_ERROR_SUCCESSが返されます。

IFHSCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

BYTE bTimerCount;

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntGetTimerCount(hDeviceHandle, &pbTimerCount);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim bTimerCount As Byte

lpszName = "IFHSCNT1" & Chr( 0 )

hDeviceHandle = HScntOpen(lpszName)

nRet = HScntGetTimerCount(hDeviceHandle, pbTimerCount)

Page 254: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

253

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

bTimerCount: Byte;

lpszName := 'IFHSCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet := HScntGetTimerCount(hDeviceHandle, pbTimerCount);

デバイス名「IFHSCNT1」のデバイスのインターバルタイマのカウント値を取得します。

Page 255: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

254

79. HScntSetFilter

【機能】

デジタルフィルタを設定します。

※この関数は下記、製品型式のみ対応しています。ご注意ください。

LPC-632102、PEX-632102

【書式】

●C言語

INT HScntSetFilter(

HANDLE hDeviceHandle, // デバイスハンドル

DWORD dwFilter // デジタルフィルタ

);

●Visual Basic

Declare Function HScntSetFilter Lib "IFHScnt.DLL"(_

ByVal hDeviceHandle As Long,_ ‘ デバイスハンドル

ByVal dwFilter As Long_ ‘ デジタルフィルタ

)As Long

●Delphi

function HScntSetFilter(

hDeviceHandle: THandle; // デバイスハンドル

dwFilter: Dword // デジタルフィルタ

): Integer; stdcall; external 'IFHScnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

dwFilter デジタルフィルタ設定値を指定してください。

ビット bit31~bit16

内容 予約

ビット bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8

内容 DCLK21 DCLK20 予約 DCNT24 DCNT23 DCNT22 DCNT21 DCNT20

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 DCLK11 DCLK10 予約 DCNT14 DCNT13 DCNT12 DCNT11 DCNT10

Page 256: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

255

・IN1~IN8 のデジタルフィルタ設定

0 1 DCLCK11 カウント数

DCNT14~DCNT10 0 1 0 1 DCLCK10

0 停止 停止 停止 -

1 1[us] 10[us] 100[us] -

2 2[us] 20[us] 200[us] -

: : : : -

31 31[us] 310[us] 3100[us] -

・IN9~IN16 のデジタルフィルタ設定

0 1 DCLCK21 カウント数

DCNT24~DCNT20 0 1 0 1 DCLCK20

0 停止 停止 停止 -

1 1[us] 10[us] 100[us] -

2 2[us] 20[us] 200[us] -

: : : : -

31 31[us] 310[us] 3100[us] -

【戻り値】

正常終了した場合は、IFHSCNT_ERROR_SUCCESSが返されます。

IFHSCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntSetFilter(hDeviceHandle, 0x8A8A);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

lpszName = "IFHSCNT1" & Chr( 0 )

hDeviceHandle = HScntOpen(lpszName)

nRet = HScntSetFilter(hDeviceHandle, &H8A8A)

Page 257: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

256

●Delphi

var

lpszName: String;

hDeviceHandle: THandle;

lpszName := 'IFHSCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet = HScntSetFilter(hDeviceHandle, $8A8A);

デバイス名「IFHSCNT1」のデバイスの IN1~IN8 と IN9~IN16 にデジタルフィルタ(フィルタ

周期 1ms)を設定します。

Page 258: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

257

80. HScntGetFilter

【機能】

デジタルフィルタ設定情報を取得します。

※この関数は下記、製品型式のみ対応しています。ご注意ください。

LPC-632102、PEX-632102

【書式】

●C言語

INT HScntGetFilter(

HANDLE hDeviceHandle, // デバイス番号

PDWORD pdwFilter // デジタルフィルタ取得変数

// へのポインタ

);

●Visual Basic

Declare Function HScntGetFilter Lib "IFHScnt.DLL"(_

ByVal hDeviceHandle, As Long,_ ‘ デバイス番号

ByRef pdwFilter As Long_ ‘ デジタルフィルタ取得変数

‘ への参照渡し

)As Long

●Delphi

function HScntGetFilter(

hDeviceHandle: THandle; // デバイス番号

var pdwFilter: Dword // デジタルフィルタ取得変数

// への参照渡し

): Integer; stdcall; external 'IFHScnt.DLL';

【パラメータ】

hDeviceHandle UcntOpen 関数で取得したインタフェースモジュールのデバイスハンドルを指定してくだ

さい。

pdwFilter デジタルフィルタ設定値を格納する変数へのポインタを指定してください。

格納される値の詳細については下記の様になります。

ビット bit31~bit16

内容 予約

ビット bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8

内容 DCLK21 DCLK20 予約 DCNT24 DCNT23 DCNT22 DCNT21 DCNT20

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 DCLK11 DCLK10 予約 DCNT14 DCNT13 DCNT12 DCNT11 DCNT10

Page 259: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

258

・IN1~IN8 のデジタルフィルタ設定

0 1 DCLCK11 カウント数

DCNT14~DCNT10 0 1 0 1 DCLCK10

0 停止 停止 停止 -

1 1[us] 10[us] 100[us] -

2 2[us] 20[us] 200[us] -

: : : : -

31 31[us] 310[us] 3100[us] -

・IN9~IN16 のデジタルフィルタ設定

0 1 DCLCK21 カウント数

DCNT24~DCNT20 0 1 0 1 DCLCK20

0 停止 停止 停止 -

1 1[us] 10[us] 100[us] -

2 2[us] 20[us] 200[us] -

: : : : -

31 31[us] 310[us] 3100[us] -

【戻り値】

正常終了した場合は、IFHSCNT_ERROR_SUCCESSが返されます。

IFHSCNT_ERROR_SUCCESS以外の値が返された場合については、『4.6 戻り値一覧』をご参照くだ

さい。

【使用例】

●C言語

INT nRet;

HANDLE hDeviceHandle;

DWORD dwFilter;

hDeviceHandle = HScntOpen(“IFHSCNT1”); :

nRet = HScntGetFilter(hDeviceHandle, &dwFilter);

●Visual Basic

Dim lpszName As String

Dim hDeviceHandle As Long

Dim dwFilter As Long

lpszName = "IFHSCNT1" & Chr( 0 )

hDeviceHandle = HScntOpen(lpszName)

nRet = HScntGetFilter(hDeviceHandle, dwFilter)

●Delphi

Page 260: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

259

var

lpszName: String;

hDeviceHandle: THandle;

dwFilter: Dword;

lpszName := 'IFHSCNT1';

hDeviceHandle := HScntOpen(lpszName);

nRet := HScntGetFilter(hDeviceHandle, dwFilter);

デバイス名「IFHSCNT1」のデバイスの IN1~IN8 と IN9~IN16 のデジタルフィルタ設定情報を

取得します。

Page 261: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

260

4.5 構造体説明

● UCNTDEVICEINFO 構造体 UcntGetDeviceInfo 関数で使用し、デバイス情報を格納する構造体です。

typedef struct {

DWORD dwBoardType;

DWORD dwBoardID;

} UCNTDEVICEINFO, *PUCNTDEVICEINFO;

メンバ 説明

dwBoardType インタフェースモジュールの型式番号を格納します。

例:CBI-632106 であれば 632106 が格納されます。

dwBoardID インタフェースモジュールの識別番号を格納します。

Page 262: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

261

● UCNTSMPLCONFIG 構造体 UcntSetSamplingConfig 関数/UcntGetSamplingConfig 関数で指定するサンプリング条件設定

用構造体です。

typedef struct {

DWORD dwSmplNum;

DWORD dwSmplEventNnm;

DWORD dwSmplRepeat;

DWORD dwStatusMode;

DWORD dwErrCtrl;

} UCNTSMPLCONFIG, *PUCNTSMPLCONFIG;

メンバ 説明

dwSmplNum サンプリング件数を指定します。

■ステータス情報なしの場合(dwStatusMode=IFUCNT_NO_STATUS)

1~16,769,008(FFDFF0 h)

64bitOS 環境の場合は、1~16,384(4000 h)となります。

16,384 件を超える件数を指定する場合、メモリ設定ユーティリティ

(IFUCNTMEM.EXE)にて内部バッファサイズを変更する必要があります。

■ステータス情報ありの場合(dwStatusMode=IFUCNT_ADD_STATUS)

1~8,384,504(7FEFF8 h)

64bitOS 環境の場合は、1~8,192(2000 h)となります。

8,192 件を超える件数を指定する場合、メモリ設定ユーティリティ

(IFUCNTMEM.EXE)にて内部バッファサイズを変更する必要があります。

dwSmplEventNnm イベント通知サンプリング件数を指定します。

・ステータス情報なしの場合(dwStatusMode=IFUCNT_NO_STATUS)

0、1~1,073,741,824(40000000 h)

(0 を指定すると、イベントが発生しません。)

・ステータス情報ありの場合(dwStatusMode=IFUCNT_ADD_STATUS)

0、1~536,870,912(20000000 h)

(0 を指定すると、イベントが発生しません。)

dwSmplRepeat サンプリング繰り返し回数を指定します。

0、1~65,535

0 を指定すると UcntStopSampling を実行するまでサンプリングを停止しませ

ん。

サンプリングデータへのステータスの付加を指定します。(※)

識別子 意味

IFUCNT_NO_STATUS ステータス情報なし(デフォルト)

IFUCNT_ADD_STATUS ステータス情報付加

dwStatusMode

サンプリングエラー発生時の処理を指定します。

識別子 意味

IFUCNT_FREERUN 処理なし

IFUCNT_STOP_ORER オーバーランエラーにより処理を停止

dwErrCtrl

Page 263: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

262

※IFUCNT_ADD_STATUS を指定した場合、カウンタラッチが発生した時点のカウンタデータ

(32bit)とステータスデータ(32bit)がセットで保持されます。

ステータスデータ(32bit)には下記の値が格納されます。

ビット bit31~20 bit19 bit18 bit17 bit16

内容 予約 BL CL ItoR RtoI

ビット bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8

内容 予約 LTST2 LTST1 LTST0 LBAFT LAAFT LBBEF LABEF

ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

内容 予約 予約 予約 予約 予約 予約 予約 予約

LBBEF、LABEF:外部ラッチ直前の LA、LB ステータス

LBBEF、LABEF 内容

0 Low

1 High

LBAFT、LAAFT:外部ラッチ直後の LA、LB ステータス

LBAFT、LAAFT 内容

0 Low

1 High

LTST2、LTST1、LTST0:ラッチステータス

LTST2 LTST1 LTST0 内容

0 0 0 ラッチされていない

0 0 1 ソフトラッチ

0 1 0 外部ラッチ

0 1 1 内部基準クロックラッチ

1 0 0 内部同期ライン 1でのラッチ(※)

1 0 1 内部同期ライン 2でのラッチ(※)

※PCI-632302 でのみ使用できます。

RtoI:正回転(カウントアップ)から逆回転(カウントダウン)の回転方向変更によるラッチ

※PCI-632304 でのみ取得できます。

RtoI 内容

0 ラッチされていない

1 ラッチされた

ItoR:逆回転(カウントダウン)から正回転(カウントアップ)の回転方向変更によるラッチ

※PCI-632304 でのみ取得できます。

ItoR 内容

0 ラッチされていない

1 ラッチされた

Page 264: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

263

CL:キャリーによるラッチ

※PCI-632304 でのみ取得できます。

CL 内容

0 ラッチされていない

1 ラッチされた

BL:ボローによるラッチ

※PCI-632304 でのみ取得できます。

BL 内容

0 ラッチされていない

1 ラッチされた

Page 265: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

264

● UCNTEVENTREQ 構造体 割り込みイベントを設定する構造体です。コールバック関数、ウィンドウメッセージの設定に

使用します。

typedef struct {

HWND hWnd;

UINT uMessage[8];

HANDLE hInterruptEvent;

PUCNTCALLBACK lpCallBackProc;

DWORD dwUser;

} UCNTEVENTREQ, *PUCNTEVENTREQ;

メンバ 説明

hWnd メッセージ送出ウィンドウハンドル

UcntSetEventMask 関数にて設定した各種割り込み発生時に送出するメッセー

ジのポスト先ウィンドウハンドルを指定します。

(メッセージ送出時に、WPARAMには割り込み要因、LPARAMにはdwUserの値が

格納されます。フォーマットは UcntSetEventMask/UcntGetEventMaskで使用す

る各要因と同じになります。配列データではなく、(メッセージで指定したチ

ャンネルのみの)WORD型のデータとなります。)

メッセージポストを行わない場合には、C言語では NULL、Visual Basic,

Delphi では 0を指定してください。

uMessage[8] 割り込みメッセージ(チャンネル 1~チャンネル 4)

割り込み発生時に送出するメッセージコードを指定します。

メッセージポストを行わない場合には、C 言語では WM_NULL、Visual Basic

では 0、Delphi では WM_NULL を指定してください。

uMessage[0]:チャンネル 1割り込みメッセージコード

uMessage[1]:チャンネル 2割り込みメッセージコード

uMessage[2]:チャンネル 3割り込みメッセージコード

uMessage[3]:チャンネル 4割り込みメッセージコード

uMessage[4]~uMessage[7]:予約(使用しません)

hEvent イベント発生時にシグナル状態となるイベントオブジェクトのハンドルを

指定してください。

イベントオブジェクトを使用しない場合には、C 言語ではNULL、Visual

Basic,Delphi では 0 を指定してください。

lpCallBackProc 割り込み発生時に呼び出されるユーザ・コールバック関数のポインタを指定

してください。(コールバック関数は全チャンネル共通となります)

コールバック関数を使用しない場合は、C 言語ではNULL、Visual Basic,

Delphi では 0 を指定してください。

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

Page 266: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

265

● HSCNTDEVICEINFO 構造体 HScntGetDeviceInfo 関数で使用し、デバイス情報を格納する構造体です。

typedef struct {

DWORD dwBoardType;

DWORD dwBoardID;

} HSCNTDEVICEINFO, *PHSCNTDEVICEINFO;

メンバ 説明

dwBoardType インタフェースモジュールの型式番号を格納します。

例:CBI-632106 であれば 632106 が格納されます。

dwBoardID インタフェースモジュールの識別番号を格納します。

Page 267: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

266

● HSCNTEVENTREQ 構造体 割り込みイベントを設定する構造体です。コールバック関数、ウィンドウメッセージの設定に

使用します。

typedef struct {

HWND hWnd;

UINT uMessage[8];

HANDLE hInterruptEvent;

PHSCNTCALLBACK lpCallBackProc;

DWORD dwUser;

} HSCNTEVENTREQ, *PHSCNTEVENTREQ;

メンバ 説明

hWnd メッセージ送出ウィンドウハンドル

HScntSetEventMask 関数にて設定した各種割り込み発生時に送出するメッセ

ージのポスト先ウィンドウハンドルを指定します。

(メッセージ送出時に、WPARAMには割り込み要因、LPARAMにはdwUserの値が

格納されます。フォーマットは HScntSetEventMask/HScntGetEventMaskで使用

する各要因と同じになります。配列データではなく、(メッセージで指定した

チャンネルのみの)WORD型のデータとなります。)

メッセージポストを行わない場合には、C言語では NULL、Visual Basic,

Delphi では 0を指定してください。

uMessage[8] 割り込みメッセージ(チャンネル 1~チャンネル 2)

割り込み発生時に送出するメッセージコードを指定します。

メッセージポストを行わない場合には、C 言語では WM_NULL、Visual Basic

では 0、Delphi では WM_NULL を指定してください。

uMessage[0]:チャンネル 1割り込みメッセージコード

uMessage[1]:チャンネル 2割り込みメッセージコード

uMessage[2]~uMessage[5]:予約(使用しません)

uMessage[6]:インターバルタイマ割り込みメッセージコード

uMessage[7]:入力エッジ割り込みメッセージコード

hEvent イベント発生時にシグナル状態となるイベントオブジェクトのハンドルを

指定してください。

イベントオブジェクトを使用しない場合には、C 言語ではNULL、Visual

Basic,Delphi では 0 を指定してください。

lpCallBackProc 割り込み発生時に呼び出されるユーザ・コールバック関数のポインタを指定

してください。(コールバック関数は全チャンネル共通となります)

コールバック関数を使用しない場合は、C 言語ではNULL、Visual Basic,

Delphi では 0 を指定してください。

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

Page 268: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

267

4.6 戻り値一覧 <万能カウンタ用関数 戻り値>

エラー識別子 値 意味 対処方法

IFUCNT_ERROR_SUCCESS 0 正常終了 -

IFUCNT_ERROR_NOT_DEVICE C0000001h

(-1073741823)

ドライバを呼び出せませ

ん。

指定したデバイスが見つかりません

でした。

指定したデバイス番号が存在するか

どうかを確認してください。

IFUCNT_ERROR_NOT_OPEN C0000002h

(-1073741822)

ドライバを OPEN できませ

ん。

デバイスのオープン時、何らかのエラ

ーが発生しました。

ドライバ内部のメモリ確保に失敗し

たなど。

IFUCNT_ERROR_INVALID_HANDLE C0000003h

(-1073741821)

デバイスハンドルが正し

くありません。

不正なデバイスハンドルで呼び出し

を行おうとしました。

OPEN 関数で返されたデバイスハンド

ルを使用してください。

IFUCNT_ERROR_ALREADY_OPEN C0000004h

(-1073741820)

既に OPEN しているデバイ

スを OPEN しようとしまし

た。

既に OPEN されているデバイスです。

IFUCNT_ERROR_NOT_SUPPORTED C0000009h

(-1073741815)

サポート外の機能です。 指定したデバイスにおいて、サポート

外の機能を選択しました。

IFUCNT_ERROR_INVALID_PARAME

TER

C0000010h

(-1073741808)

不正なパラメータを指定

しました。

正しい設定値を指定してください。

IFUCNT_ERROR_NOT_ALLOCATE_M

EMORY

C0000021h

(-1073741792)

必要なメモリ領域を確保

していません。

事前にサンプリング設定を行ってく

ださい。

IFUCNT_ERROR_NOW_SAMPLING C0001000h

(-1073737728)

サンプリング動作中です。 サンプリング動作中に実行できない

関数です。

IFUCNT_ERROR_NOW_STOP C0001001h

(-1073737727)

サンプリング停止中です。 サンプリング停止中に実行できない

関数です。

IFUCNT_ERROR_NULL_POINTER C0001002h

(-1073737726)

NULL ポインタを指定しま

した。

NULL ポインタは指定できません、正

しいアドレスを指定してください。

IFHSCNT_ERROR_INVALID_OUT_E

NABLE

C0001006h

(-1073737722)

出力許可設定に誤りがあ

ります。

正しい設定値を指定してください

IFHSCNT_ERROR_INVALID_DO C0001007h

(-1073737721)

出力設定に誤りがありま

す。

正しい設定値を指定してください

IFHSCNT_ERROR_INVALID_FILTE

R

C0001008h

(-1073737720)

デジタルフィルタ設定に

誤りがあります。

正しい設定値を指定してください

IFHSCNT_ERROR_INVALID_TIMER C0001009h

(-1073737719)

タイマ設定に誤りがあり

ます。

正しい設定値を指定してください

IFUCNT_ERROR_INVALID_FUNC_M

ODE

C0001010h

(-1073737712)

不正な機能モードが設定

されています。

現在の機能モードでは使用できない

関数を実行しました。

IFUCNT_ERROR_INVALID_CHANNE

L

C0001011h

(-1073737711)

チャンネル番号指定に誤

りがあります。

チャンネル番号が正しくありません。

1h~fh 以外のチャンネル番号を指定

しています。

指定した関数では実行できないチャ

ンネル番号を指定しています。

IFUCNT_ERROR_INVALID_RESET_

MODE

C0001012h

(-1073737710)

リセットモードが不正で

す。

正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_COUNT_

MODE

C0001013h

(-1073737709)

カウントモードが不正で

す。

正しい設定値を指定してください。

Page 269: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

268

IFUCNT_ERROR_INVALID_LOAD C0001014h

(-1073737708)

ロードモードが不正です。 正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_LATCH C0001015h

(-1073737707)

ラッチモードが不正です。 正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_CLOCK C0001016h

(-1073737706)

クロック設定が不正です。 正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_TYPE C0001017h

(-1073737705)

カウントタイプが不正で

す。

正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_DIVISO

R

C0001018h

(-1073737704)

分周周期が不正です。 正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_PWIDE C0001019h

(-1073737703)

パルス幅が不正です。 正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_LOGIC C000101ah

(-1073737702)

論理設定が不正です。 正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_OUTB C000101bh

(-1073737701)

OUTB 出力指定が不正です。 正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_CYCLE C000101ch

(-1073737700)

周期設定が不正です。 正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_HPULSE C000101dh

(-1073737699)

High パルス幅設定が不正

です。

正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_TRG_ST

ART

C000101eh

(-1073737698)

スタートトリガ設定が不

正です。

正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_TRG_ST

OP

C000101fh

(-1073737697)

ストップトリガ設定が不

正です。

正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_TRG_CH

ANNEL

C0001020h

(-1073737696)

トリガチャンネルが不正

です。

正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_TRG_MO

DE

C0001021h

(-1073737695)

トリガモードが不正です。 正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_CMP_CH

ANNEL

C0001022h

(-1073737694)

比較カウンタチャンネル

設定が不正です。

正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_CMP_OU

TA

C0001023h

(-1073737693)

OUTA の一致検出設定が不

正です。

正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_CMP_OU

TB

C0001024h

(-1073737692)

OUTB の一致検出設定が不

正です。

正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_FILTER C0001025h

(-1073737691)

デジタルフィルタが不正

です。

正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_COUNTE

R

C0001026h

(-1073737690)

カウンタ設定が不正です。 正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_CMP_SE

LECT

C0001027h

(-1073737689)

比較カウンタ選択が不正

です。

正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_COMPAR

ATOR

C0001028h

(-1073737688)

比較カウンタA設定値が不

正です。

正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_BUFFER

_SIZE

C0001029h

(-1073737687)

比較カウンタB設定値が不

正です。

正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_DATA_N

UM

C000102ah

(-1073737686)

サンプリングデータの取

得件数が不正です。

正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_COMMAN

D

C000102bh

(-1073737685)

カウンタ制御コマンドが

不正です。

正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_OUT_EN

ABLE

C000102ch

(-1073737684)

汎用出力許可設定が不正

です。

正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_DO C000102dh

(-1073737683)

汎用出力値の指定が不正

です。

正しい設定値を指定してください。

IFUCNT_ERROR_INVALID_MASK C000102eh

(-1073737682)

割り込みマスク設定が不

正です。

正しい設定値を指定してください。

Page 270: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

269

IFUCNT_ERROR_NO_DATA C0001030h

(-1073737680)

取得できるサンプリング

データがありません。

-

IFUCNT_ERROR_NO_DMAMEMORY C0001032h

(-1073737678)

指定したサンプリング件

数分のメモリサイズが、0

値、または内部バッファサ

イズを超えています。

IFUCNTMEM.exe で内部バッファサイ

ズを確認してください。

IFUCNT_ERROR_FAILED_MEMMAP C0001033h

(-1073737677)

内部バッファのマッピン

グ処理に失敗しました。

何かしらの原因で、ドライバ内の処理

が失敗しています。

<高速カウンタ用関数 戻り値>

エラー識別子 値 意味 対処方法

IFHSCNT_ERROR_SUCCESS 0 正常終了 -

IFHSCNT_ERROR_NOT_DEVICE C0000001h

(-1073741823)

ドライバを呼び出せませ

ん。

指定したデバイスが見つかりません

でした。

指定したデバイス番号が存在するか

どうかを確認してください。

IFHSCNT_ERROR_NOT_OPEN C0000002h

(-1073741822)

ドライバを OPEN できませ

ん。

デバイスのオープン時、何らかのエラ

ーが発生しました。

ドライバ内部のメモリ確保に失敗し

たなど。

IFHSCNT_ERROR_INVALID_HANDL

E

C0000003h

(-1073741821)

デバイスハンドルが正し

くありません。

不正なデバイスハンドルで呼び出し

を行おうとしました。

OPEN 関数で返されたデバイスハンド

ルを使用してください。

IFHSCNT_ERROR_ALREADY_OPEN C0000004h

(-1073741820)

既に OPEN しているデバイ

スを OPEN しようとしまし

た。

既に OPEN されているデバイスです。

IFHSCNT_ERROR_NOT_SUPPORTED C0000009h

(-1073741815)

サポート外の機能です。 指定したデバイスにおいて、サポート

外の機能を選択しました。

IFHSCNT_ERROR_INVALID_PARAM

ETER

C0000010h

(-1073741808)

不正なパラメータを指定

しました。

正しい設定値を指定してください。

IFHSCNT_ERROR_NULL_POINTER C0001000h

(-1073737728)

NULL ポインタを指定しま

した。

NULL ポインタは指定できません、正

しいアドレスを指定してください。

IFHSCNT_ERROR_INVALID_CHANN

EL

C0001001h

(-1073737727)

チャンネル番号指定に誤

りがあります。

チャンネル番号が正しくありません。

1h~fh 以外のチャンネル番号を指定

しています。

指定した関数では実行できないチャ

ンネル番号を指定しています。

IFHSCNT_ERROR_INVALID_RESET

_MODE

C0001002h

(-1073737726)

リセットモードが不正で

す。

正しい設定値を指定してください。

IFHSCNT_ERROR_INVALID_COUNT

_MODE

C0001003h

(-1073737725)

カウントモードが不正で

す。

正しい設定値を指定してください。

IFHSCNT_ERROR_INVALID_MASK C0001004h

(-1073737724)

割り込みマスク設定が不

正です。

正しい設定値を指定してください。

IFHSCNT_ERROR_INVALID_COMMA

ND

C0001005h

(-1073737723)

カウンタ制御コマンドが

不正です。

正しい設定値を指定してください。

Page 271: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

270

第5章 サンプルプログラム

以下、各サンプルプログラムの概要を説明します。

5.1 実行手順 各サンプルプログラム共に、「Visual C++」、「Visual Basic」、「Delphi」用のサンプルプログラム

を用意しています。

【実行手順】

サンプルプログラムには実行形式のファイルが付属していません。

ソースコードをコンパイルして実行ファイルを生成してから、動作させてください。

● Visual C++の場合

Visual C++(Visual Studio)を起動し、「ファイル」メニューから「ワークスペースを開く」

を選び、プロジェクトファイル「*.dsp」を開き、ビルドしてください。

● Visual Basic の場合

Visual Basic を起動し、プロジェクトファイル「*.vbp」を開き、ビルドしてください。

● Delphi の場合

Delphi を起動し、プロジェクトファイル「*.dpr」を開き、ビルドしてください。

作成後、生成された実行ファイル*.exe を起動してください。

5.2 サンプルプログラム一覧 各サンプルプログラムの概要は、下記の様になります。

サンプルプログラム名 概要

UcntPulseCount パルスカウントモードを使用して基本的なパルスカウントを行うプ

ログラムです。

UcntFreqAvg 平均周波数測定モードを使用して、各種入力パルスの周波数測定を行

うプログラムです。

UcntCycle 周期測定モードを使用して、入力パルスの周期測定(High/Low パル

ス幅)を行うプログラムです。

UcntPhaseDiff 位相差幅測定モードを使用して、A 相・B 相の入力パルスの位相差幅

測定を行うプログラムです。

UcntTimer タイマモードを使用して、タイマカウント動作を行うプログラムで

す。

UcntFreqDivider 分周器モードを使用して入力パルスの分周出力を行うプログラムで

す。

UcntPulseGenerator パルスジェネレータモードを使用して、パルス出力を行うプログラム

です。

UcntSampling カウンタ値のサンプリングを行うプログラムです。

HScntPulseCount 高速カウンタを使用してカウントを行うプログラムです。

EncoderPulseCount エンコーダ出力の位相差パルスをカウントするプログラムです。

PulseDutySampling 入力パルスのデューティ比をサンプリングするプログラムです。

SinglePulseCount 単層パルスをカウントするサンプルプログラムです。

Page 272: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

271

第6章 ユーティリティ

以下、各ユーティリティの概要を説明します。

6.1 動作確認プログラム(IFUcntCounter) 「スタート」メニューの「プログラム」から、「Interface GPC-6320」→「IFUcntCounter」を選

択すると、動作確認用のユーティリティが起動します。

起動すると、使用可能なデバイスの一覧が表示されますので使用するデバイスを選択して「OK」

をクリックします。

<オープンダイアログ>

デバイスのオープンに成功した場合には、メインメニューと全チャンネルの制御用パネルが表示

されて下図の様な状態となります。

Page 273: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

272

<ユーティリティ画面(全体図)>

各チャンネル毎に異なるパネル上から操作を行うことが可能です。

(パネルの配置は自由に変更可能です。)

使用しないチャンネルについては、操作パネルのメニューにある「終了」を押すか、

メインメニュー上の「表示チャンネル」のチェックを外すことで削除できます。

<メインメニュー>

メインメニューでは「デバイス」→「クローズ」を選択することで現在使用中のデバイスをクロ

ーズして、新たに別のデバイスを開始することが可能です。

ユーティリティを終了したい場合には、メインメニューの「終了」を選択してください。

Page 274: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

273

カウンタ制御パネルでは、各チャンネル毎に 7 つの動作モードを切り替えて制御することが可能

です。

それぞれの動作モードは、パネル上部のタブを切り替えて選択します。

<カウンタ操作パネル(パルスカウントモード)>

パルスカウントモードでは、デフォルトで「方向付き単相パルスカウント 1 逓倍」が設定

されています。この他のモード設定についてはメニューの「設定」を選択して、詳細なモード設

定を行うことが可能です。

また、スタートボタンをクリックすることでカウントを開始します。表示パネルに現在のカウン

ト値が表示されます。(10 進数と 16 進数の切り替えが可能です)

<カウンタ操作パネル(平均周波数測定モード)>

平均周波数測定モードも基本的な使用方法は同様で、スタートボタンで周波数測定を開始します。

表示パネル下部の基準クロックの設定では、基本的な測定周期を 5 種類のクロックから選択可能

です。詳細な設定を「設定」メニューから行った場合には、Custom が選択されます。

また表示パネルの表示単位を右側のチェックボックスで設定可能です。

Page 275: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

274

<カウンタ操作パネル(周期測定モード)>

周期測定モードでは、基準クロックと表示単位の選択をパネル上で行うことが可能です。

デフォルトでは全周期の測定を行う設定となっています。

Highパルス幅測定などの詳細な設定モードの変更を行う場合には「設定」メニューを選択します。

(詳細設定を行うと、基準クロックがカスタムに設定されます。)

<カウンタ操作パネル(位相差幅測定モード)>

位相差幅測定モードでは、基準クロックと表示単位の選択をパネル上で行うことが可能です。

デフォルトでは通常の位相差幅測定を行う設定となっています。

全位相差幅測定などの詳細な設定モードの変更を行う場合には「設定」メニューを選択します。

(詳細設定を行うと、基準クロックがカスタムに設定されます。)

Page 276: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

275

<カウンタ操作パネル(タイマモード)>

タイマモードでは、カウント周期と表示形式の選択をパネル上で行うことが可能です。

スタートをクリックするとタイマを開始します。

更に詳細なクロック設定を行う場合には「設定」メニューを選択します。

(詳細設定を行うと、基準クロックがカスタムに設定されます。)

<カウンタ操作パネル(分周器モード)>

分周器モードでは、分周周期と表示形式の選択をパネル上で行うことが可能です。

スタートをクリックするとクロック分周を開始します。

パネル上の設定では、1/2、1/3、1/4、1/5、1/10 の分周設定と論理変更を行うことが可能となっ

ています。

更に詳細な分周設定や OUTB からの出力を行う場合には、「設定」メニューから設定を行ってくだ

さい。

(詳細設定を行うと、分周値がカスタムに設定されます。)

Page 277: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

276

<カウンタ操作パネル(パルスジェネレータモード)>

パルスジェネレータモードでは、基本周波数と乗数(周波数倍率)の設定と表示単位の選択をパ

ネル上で行うことが可能です。スタートをクリックするとパルス出力を開始します。

(出力パルスのデューティ比は 50%で固定となります。)

更に詳細な出力パルス設定や OUTB からの出力を行う場合には、「設定」メニューから設定を行っ

てください。

(詳細設定を行うと、カスタムに設定されます。)

また、表示パネル上には現在の出力周波数が表示されます。

<詳細設定パネル>

Page 278: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

277

各モードの毎の詳細設定を行う際には、「設定」メニューから起動する設定パネルを使用します。

カウンタ操作パネルと同じく設定モード毎に用意されたタブを選択して、各モード毎の設定を行

います。

各モードで設定可能な項目はそれぞれ機能モード設定関数の設定用引数の値に対応しています。

設定項目の意味については、各関数の詳細説明をご参照下さい。

各チャンネル毎の操作パネルは完全に独立している為、それぞれ別のモードで動作させる事も可

能です。

また、各操作パネルの下部には現在のステータス状態が表示されています。

カウントスタート・ストップとは関係なく常に、各端子の入力状態とカウンタの状態を確認する

ことが可能です。

Page 279: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

278

6.2 CardBusID 設定ユーティリティ このユーティリティは複数枚の同一型式 CardBus 製品を使用するためのものです。カード毎に異

なる ID 番号を設定します。この ID 番号は PCI インタフェースモジュールで言えば RSW 番号と同

等の意味を持ち、デバイスマネージャ、自己診断プログラムでも、RSW1 として表示されます。

【操作方法】

1. ドライバソフトウェアのインストール完了後、「コントロールパネル」の「Interface CardBus ID

Utility」を開きます。

2. 現在挿入されている弊社 CardBus 製品の情報が表示されます。左から「バス番号」、「デバイス番

号」、「ファンクション番号」、「型式」、「ID 番号」を示します。ID 番号の設定を行いたい製品を

ダブルクリックして下さい。

3. ID 番号を設定するダイアログが開きますので、コンボボックス内で設定したい ID 番号を選択し、

「Ok」ボタンをクリックします。

4. これで ID 番号の設定は完了です。

※ 設定できる ID 番号は 0h~Fh までです。

※ 変更した ID 番号をドライバに認識させるには、一度カードを抜き差しするか、システムを再

起動して下さい。

※ 設定した ID 番号が分かるように番号を記したシールをカードに貼ることをお勧めします。

Page 280: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

279

6.3 メモリサイズ設定ユーティリティ

※本ユーティリティは64bit環境専用のユーティリティです。

1.ユーティリティの起動

「スタート」メニューから、「プログラム」-「Interface GPC-6320」-「IFUcntMem」を選択し、

メモリ確保サイズ設定ユーティリティを起動します。以下の画面が表示されます。

2.インタフェースモジュールの選択

「メモリサイズ設定」-「デバイス選択」コンボボックスより、設定を行いたいデバイスを選択し

ます。選択すると、「確保サイズ(byte)」欄に各チャンネルの現在確保済のバッファサイズが表示され

ます。

3.メモリサイズ設定

「確保サイズ(byte)」欄に、各チャンネルの確保するバッファサイズを16進数で入力してください。

入力後、「設定」ボタンをクリックします。

例)サンプリングデータ(32bitカウンタ、ステータス情報あり)を 大20,000件分サンプリング。

1件当りのデータサイズは、32bit(4byte)、ステータス情報(4byte)の計8byteとなります。

よって、20,000件だと、

20000 × 8 = 160000(byte)

となり、設定値は16進数で27100となります。

Page 281: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

280

設定が失敗すると以下のようなダイアログが表示されます。

設定したいデバイスが複数ある場合、2~3の操作を繰り返してください。

4.ユーティリティプログラムの終了

設定後、「閉じる」ボタンをクリックすると、以下のダイアログが表示されます。

「OK」ボタンをクリックするとアプリケーションが終了します。

サイズ変更を反映させるには、OSの再起動を行う必要があります。OS再起動後にメモリ設定ユーティ

リティを起動すると「確保サイズ(byte)」欄に確保できたサイズが表示されています。

(注意)

ご使用の PC 環境によっては、指定したサイズで物理メモリを確保できるとは限りません。

お客様自身で 適なサイズを確保していただきますようお願い致します。

Page 282: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

281

第7章 重要な情報

保証の内容と制限

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

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

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

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

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

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

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

ます。

著作権、知的所有権

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

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

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

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

造された物では有りません。

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

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

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

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

複製の禁止

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

できません。

責任の制限

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

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

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

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

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

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

改良(正常に動作する)、代品交換までとし、金銭面での賠償の責任は負わないものとしますので、

予めご了承ください。

本製品(ソフトウェアを含む)は、日本国内仕様です。本製品を日本国外で使用された場合、弊

社は一切責任を負いかねます。また、弊社は本製品に関し、海外での保守サービスおよび技術サ

ポート等は行っておりません。

Page 283: GPC-6320 - Interface · 2014-06-10 · GPC-6320は、Windows上のアプリケーションから、弊社万能カウンタ・高速カウンタ製品を制御 する為のソフトウェアです。

GPC-6320 Help for Windows

© 2004, 2014 Interface Corporation. All rights reserved.

282

商標/登録商標

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