Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
GPIB-EX(PCI /C-PCI)<br />
<strong>GPC</strong>-<strong>4304</strong><br />
GP-IB <strong>インタフェース</strong>モジュール 用 Windows ドライバ<br />
Help for Windows<br />
www.interface.co.jp
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
目 次<br />
第 1 章 はじめに 3<br />
1.1 概 要 ................................................................................................................................................. 3<br />
1.2 特 長 ................................................................................................................................................. 3<br />
第 2 章 製 品 仕 様 4<br />
2.1 基 本 仕 様 ......................................................................................................................................... 4<br />
2.2 <strong>インタフェース</strong>・ファンクション ............................................................................................. 5<br />
2.3 製 品 構 成 ......................................................................................................................................... 6<br />
第 3 章 導 入 方 法 7<br />
3.1 インストール 手 順 ......................................................................................................................... 7<br />
3.2 コントロールパネル ..................................................................................................................... 7<br />
3.3 動 作 確 認 ( 動 かしてみよう) ................................................................................................... 11<br />
3.4 高 機 能 版 DLL 実 行 手 順 ................................................................................................................ 19<br />
3.5 標 準 版 DLL 実 行 手 順 .................................................................................................................... 29<br />
3.6 機 器 アドレステーブルについて ............................................................................................... 31<br />
第 4 章 リファレンス 39<br />
4.1 高 機 能 版 DLL ............................................................................................................................... 39<br />
4.2 標 準 版 DLL ................................................................................................................................. 167<br />
4.3 コールバック 関 数 ..................................................................................................................... 202<br />
4.4 戻 り 値 一 覧 ................................................................................................................................. 205<br />
4.5 プログラム 例 ............................................................................................................................. 209<br />
4.6 マルチライン<strong>インタフェース</strong>メッセージ 一 覧 ..................................................................... 221<br />
第 5 章 サンプルプログラム 223<br />
5.1 高 機 能 版 DLL ............................................................................................................................. 223<br />
5.2 標 準 版 DLL ................................................................................................................................. 223<br />
第 6 章 ユーティリティ 224<br />
6.1 動 作 確 認 プログラム ................................................................................................................. 224<br />
6.2 自 己 診 断 プログラム ................................................................................................................. 230<br />
第 7 章 重 要 な 情 報 233<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
2
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
第 1 章 はじめに<br />
1.1 概 要<br />
<strong>GPC</strong>-<strong>4304</strong> は、Windows 上 のアプリケーションから、 弊 社 GP-IB <strong>インタフェース</strong> 製 品 を 制 御 す<br />
る 為 のソフトウェアです。<br />
弊 社 GP-IB <strong>インタフェース</strong> 製 品 を Windows 上 のアプリケーションから DLL をダイナミックリ<br />
ンクし、API をコールすることにより 制 御 します。<br />
本 ドキュメントは、Windows 上 で <strong>GPC</strong>-<strong>4304</strong> を 使 用 するための 情 報 を 掲 載 しています。<br />
1.2 特 長<br />
1.2.1 高 機 能 版 DLL<br />
●コントローラ・イン・チャージにおいて、データ 送 信 / 受 信 時 におけるトーカ、リスナの 指 定 を<br />
GP-IB バスコマンドにて 事 前 に 行 う 必 要 はありません。わずらわしいトーカ、リスナの 指 定 は<br />
ドライバ 側 にて 自 動 で 設 定 するため、 機 器 の GP-IB アドレスの 指 定 のみでデータの 送 信 / 受 信 を<br />
実 行 することができます(トーカ、リスナを 意 識 しないデータ 送 受 信 )。<br />
●1 枚 だけではなく、 弊 社 GP-IB <strong>インタフェース</strong>を 混 在 にて 最 大 16 枚 まで 制 御 することができ<br />
ます( 複 数 枚 サポート)。<br />
●データ 転 送 終 了 まで 待 たずに 別 の 処 理 を 行 うことができます( 非 同 期 入 出 力 サポート)。<br />
● 非 コントローラとしての 使 用 も 可 能 なため、 弊 社 GP-IB <strong>インタフェース</strong>を 制 御 機 器 の 代 わりに<br />
して、コントローラから 制 御 させる 場 合 にも 使 用 できます。<br />
●SRQ 受 信 時 のイベント、およびコールバック 関 数 の 呼 び 出 しをサポートしています。<br />
●トーカ、リスナのみならず、デバイストリガ、デバイスクリア、IFC 受 信 など、 多 種 多 様 な 状<br />
態 を 検 出 することができます( 非 コントローラ 時 )。<br />
●ドライバの 様 々な 動 作 設 定 (デリミタ、GP-IB アドレス 等 )をソフトウェアにより 動 的 に 変 更 /<br />
取 得 可 能 です。<br />
●1 次 アドレスのみだけでなく、1 次 /2 次 アドレスも 使 用 可 能 です。<br />
1.2.2 標 準 版 DLL<br />
●GP-IB 制 御 に 必 要 最 小 限 の 関 数 を 用 意 しています。<br />
●SRQ 受 信 時 に、イベント、およびコールバック 関 数 を 呼 び 出 すことができます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
3
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
第 2 章 製 品 仕 様<br />
2.1 基 本 仕 様<br />
最 大 デバイス 数 16 枚<br />
入 出 力 チャンネル 数 1チャンネル<br />
入 出 力 形 式 IEEE-488.1 規 格 (GP-IB) 準 拠<br />
IEEE-488.2 対 応<br />
マイアドレス 設 定 1 次 アドレスのみ<br />
1 次 アドレス、2 次 アドレス<br />
上 記 、2 つのアドレスモードをソフトウェアにて 設 定 可 能<br />
送 信 / 受 信 デリミタ ・デリミタ 無 し<br />
・EOI のみ<br />
・CR のみ<br />
・CR+EOI<br />
・LF のみ<br />
・LF+EOI<br />
・CRLF<br />
・CRLF+EOI<br />
・NULL (00h) (※1)<br />
・"!x" 感 嘆 符 に 続 く 文 字 をデリミタとする (※1)<br />
上 記 から 任 意 選 択 可 能<br />
データ 転 送 速 度 最 大 1.1 MB/s<br />
(バスマスタ 転 送 。 使 用 環 境 および 機 器 の 速 度 に 依 存 します。)<br />
※1 高 機 能 版 DLL の 機 能 です。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
4
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
2.2 <strong>インタフェース</strong>・ファンクション<br />
Function 機 能 内 容<br />
C C1 システム・コントローラ 機 能<br />
C2 IFC 送 信 、コントローラ・イン・チャージ 機 能<br />
C3 REN 送 信<br />
C4 SRQ 応 答<br />
C5 <strong>インタフェース</strong>・メッセージ 送 信 、コントロール 受 け、コントロール 渡 し、<br />
自 分 自 身 へのコントロール 渡 し、パラレル・ポール、ハンドシェークに 同 期<br />
してコントロール(※1)<br />
C28 <strong>インタフェース</strong>・メッセージ 送 信 (※2)<br />
SH SH1 ソース・ハンドシェイク 全 機 能<br />
AH AH1 アクセプタ・ハンドシェイク 全 機 能<br />
T T6 基 本 的 トーカ、シリアル・ポール、MLA によるトーカ 解 除<br />
TE TE6 基 本 的 拡 張 トーカ、シリアル・ポール、MSA によるトーカ 解 除<br />
L L4 基 本 的 リスナ、MTA によるリスナ 解 除<br />
LE LE4 基 本 的 拡 張 リスナ、MSA によるリスナ 解 除<br />
SR SR0 サービス・リクエスト 機 能 無 し(※2)<br />
SR1 サービス・リクエスト 全 機 能 (※1)<br />
RL RL0 リモート・ローカル 機 能 無 し(※2)<br />
RL1 リモート・ローカル 全 機 能 (※1)<br />
PP PP0 パラレル・ポール 機 能 無 し(※2)<br />
PP1 リモート・コンフィギュレーションによるパラレル・ポール(※1)<br />
PP2 ローカル・コンフィギュレーションによるパラレル・ポール(※1)<br />
DC DC1 デバイス・クリア 全 機 能<br />
DT DT1 デバイス・トリガ 全 機 能<br />
※1 高 機 能 版 DLL の 機 能 です。<br />
※2 標 準 版 DLL の 機 能 です。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
5
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
2.3 製 品 構 成<br />
製 品 構 成 ファイル 名 説 明<br />
弊 社 管 理 用 ファイル <strong>GPC</strong><strong>4304</strong>.VER 弊 社 ソフト 管 理 用 ファイル<br />
最 新 情 報 ドキュメント README.HTM 最 新 ドキュメント 掲 載 ファイル<br />
インストールプログラム SETUP.EXE インストール 用 ファイル<br />
動 作 確 認 プログラム<br />
GpibUtil.EXE<br />
ManualOp.EXE<br />
動 作 確 認 用 プログラム<br />
手 動 関 数 実 行 プログラム<br />
自 己 診 断 プログラム DIAGGPIB.EXE 自 己 診 断 プログラム<br />
サンプルプログラム<br />
Visual C# .NET *.cs Visual C# .NET 用 サンプルプログラム<br />
Visual C++ *.c Visual C++(MFC) 用 サンプルプログラム<br />
Visual Basic .NET *.vb Visual Basic .NET 用 サンプルプログラム<br />
Visual Basic *.bas Visual Basic 用 サンプルプログラム<br />
Delphi *.pas Delphi 用 サンプルプログラム<br />
DLL <strong>GPC</strong><strong>4304</strong>.DLL 高 機 能 版 ダイナミックリンクライブラリファイル<br />
<strong>GPC</strong><strong>4304</strong>.LIB<br />
<strong>GPC</strong><strong>4304</strong>2.DLL<br />
<strong>GPC</strong><strong>4304</strong>2.LIB<br />
MSVCRT.DLL<br />
高 機 能 版 インポートライブラリファイル<br />
標 準 版 ダイナミックリンクライブラリファイル<br />
標 準 版 インポートライブラリファイル<br />
C ランタイム 共 有 DLL<br />
デバイスドライバ <strong>GPC</strong><strong>4304</strong>.SYS Windows 2000 以 降 の OS 用 ドライバ<br />
ヘッダファイル<br />
Help<br />
<strong>GPC</strong><strong>4304</strong>.INF<br />
<strong>GPC</strong><strong>4304</strong>.SLD<br />
<strong>GPC</strong><strong>4304</strong>.SYS<br />
<strong>GPC</strong><strong>4304</strong>.INF<br />
<strong>GPC</strong><strong>4304</strong>.VXD<br />
<strong>GPC</strong><strong>4304</strong>.INF<br />
Windows 2000 以 降 の OS 用 ドライバ インストールファイ<br />
ル<br />
Windows Embedded 用 ドライバ SLD ファイル<br />
Windows NT 4.0 用 ドライバ<br />
Windows NT 4.0 用 ドライバ インストールファイル<br />
Windows Me/98/95 用 ドライバ<br />
Windows Me/98/95 用 ドライバ インストールファイル<br />
<strong>GPC</strong><strong>4304</strong>.H Visual C++ 用 ヘッダファイル( 高 機 能 版 )<br />
<strong>GPC</strong><strong>4304</strong>2.H Visual C++ 用 ヘッダファイル( 標 準 版 )<br />
<strong>GPC</strong><strong>4304</strong>.BAS Visual Basic 用 ヘッダファイル( 高 機 能 版 )<br />
<strong>GPC</strong><strong>4304</strong>2.BAS Visual Basic 用 ヘッダファイル( 標 準 版 )<br />
<strong>GPC</strong><strong>4304</strong>.PAS Delphi 用 ヘッダファイル( 高 機 能 版 )<br />
<strong>GPC</strong><strong>4304</strong>2.PAS Delphi 用 ヘッダファイル( 標 準 版 )<br />
HELP.PDF<br />
HELP_NET.PDF<br />
Help<br />
.NET 用 補 足 Help<br />
※Visual C# .NET,Visual Basic.NET 用 サンプルプログラムは、それぞれ Viausl C# .NET 2003,<br />
Visual Basic .NET 2003 を 使 用 して 作 成 しています。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
6
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
第 3 章 導 入 方 法<br />
3.1 インストール 手 順<br />
README.HTM のインストール 方 法 を 参 照 してください。<br />
3.2 コントロールパネル<br />
コントロールパネルの 設 定 により、デバイス 使 用 時 の 初 期 状 態 を 指 定 できます。<br />
インストール 直 後 の 動 作 モードおよびドライバの 状 態 は 下 図 の 通 りです。<br />
パラメタ 説 明 インストール 直<br />
後 の 初 期 値<br />
ボード 番 号 <strong>インタフェース</strong>モジュール 上 の RSW1 設 定 値 。 0<br />
動 作 モード コントローラ 動 作 をさせるためには「MASTER」、 非 コン MASTER<br />
トローラ 動 作 をさせるためには「SLAVE」を 設 定 します。<br />
1 次 アドレス 00h~1Eh の 範 囲 内 で、GP-IB バスに 接 続 している 他 の 機 00(h)<br />
器 と 重 ならないアドレスを 設 定 します。<br />
2 次 アドレス 60h~7Eh の 範 囲 内 で、アドレスを 設 定 します。<br />
FF(h)<br />
FFh を 設 定 すると、2 次 アドレスは 無 しとなります。<br />
送 受 信<br />
タイムアウト<br />
1~65535 の 範 囲 内 で、 機 器 とのデータ 転 送 時 間 を 考 えて、 100(×100ms)<br />
十 分 余 裕 のある 時 間 を 設 定 します。<br />
事 象 変 化<br />
タイムアウト<br />
コマンド 送 出<br />
タイムアウト<br />
ハンドシェイク<br />
タイミング<br />
送 信 デリミタ<br />
受 信 デリミタ<br />
STB 応 答 時 間<br />
PP 実 行 時 間<br />
1~65535 の 範 囲 内 で、 非 コントローラ 側 の 各 事 象 変 化 (ト<br />
ーカ 指 定 /リスナ 指 定 /デバイストリガ 受 信 などが 検 出 され<br />
るまで 待 つタイムアウト 時 間 を 設 定 します。<br />
1~65535 の 範 囲 内 で、マルチラインメッセージ,バスコ<br />
マンドの 送 出 タイムアウト 時 間 を 設 定 します。<br />
応 答 を 取 りあうまでの 時 間 を「 超 高 速 (350ns)」,「 高 速<br />
(500ns)」,「 通 常 (2μs)」から 選 択 します。(マルチライ<br />
ンメッセージセットリングタイム T1)<br />
GP-IB 制 御 を 行 う 機 器 のデリミタと 一 致 させるようにしま<br />
す。ご 使 用 の 機 器 の 取 扱 説 明 書 を 参 照 してください。<br />
1~65535 の 範 囲 内 で、 測 定 器 からステータスバイトが 送<br />
られてくるのを 待 つ 時 間 を 設 定 します。<br />
パラレルポールを 行 うときの 待 ち 時 間 を「2μs」,<br />
「10μs」から 選 択 します(パラレルポール 実 行 時 間 T6)。<br />
光 ケーブルを 使 用 してパラレルポールを 実 行 する 場 合 は、<br />
「10μs」に 変 更 します。<br />
ドライバパラメタの 初 期 値 を 必 要 に 応 じて 変 更 してください。<br />
ドライバパラメタ(ボード 番 号 を 除 く)は、プログラム 実 行 時 に 変 更 可 能 です。<br />
100(×100ms)<br />
100(×100ms)<br />
超 高 速<br />
CRLF+EOI<br />
CRLF+EOI<br />
100(×100ms)<br />
10μs<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
7
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
ドライバパラメタの 初 期 設 定 方 法 を 以 下 に 示 します。<br />
1) 「コントロールパネル」を 起 動 し、「Interface GP-IB Configuration」をダブルクリックします。<br />
【ボタンの 確 認 】<br />
追 加 : <strong>インタフェース</strong>モジュールの 追 加 を 行 います( 通 常 は 使 用 する 必 要 はありませ<br />
ん)。<br />
削 除 : <strong>インタフェース</strong>モジュールの 削 除 を 行 います。<br />
初 期 化 情 報 : 現 在 登 録 されている<strong>インタフェース</strong>モジュールの 初 期 化 情 報 を 設 定 します。<br />
閉 じる : 終 了 します。<br />
※ 削 除 、 初 期 化 情 報 のボタンは、 処 理 を 行 う<strong>インタフェース</strong>モジュールを 選 択 してからク<br />
リックしてください。<br />
2) 変 更 する<strong>インタフェース</strong>モジュール 型 式 をクリックして、 選 択 状 態 にしてください。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
8
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
3) 初 期 化 情 報 の 設 定 ( 変 更 )<br />
選 択 した<strong>インタフェース</strong>モジュールのドライバパラメタ 設 定 ( 変 更 )を 行 います。<br />
「Interface GP-IB Configuration」ダイアログボックスの「 初 期 化 情 報 」ボタンをクリックす<br />
ると、 初 期 情 報 設 定 ダイアログボックスが 表 示 されます。<br />
※ボード 番 号 は、<strong>インタフェース</strong>モジュール 上 のロータリスイッチ RSW1(CardBus 製 品 は<br />
CardBus ID)と 同 じ 値 に 設 定 してください。<br />
※1 次 アドレスは 00h~1Eh の 範 囲 内 で、その GP-IB バスに 接 続 されている 他 の 機 器 と、 重 複 し<br />
ない 値 に 設 定 してください。<br />
※2 次 アドレスは 60h~7Eh の 範 囲 内 で、その GP-IB バスに 接 続 されている 他 の 機 器 と、 重 複 し<br />
ない 値 に 設 定 してください。また、FFh を 設 定 しますと、GP-IB <strong>インタフェース</strong>モジュール 自<br />
身 の 2 次 アドレスは 無 しとなります。<br />
※ 送 信 / 受 信 デリミタは、GP-IB 制 御 を 行 う 機 器 のデリミタと 一 致 させるようにしてください。<br />
※ 送 受 信 タイムアウト 時 間 は、 機 器 とのデータ 転 送 時 間 を 考 えて、 十 分 余 裕 のある 時 間 を 設 定 し<br />
てください。<br />
※コマンド 送 出 タイムアウト 時 間 は、マルチラインメッセージ 送 信 時 に 機 器 がタイムアウトする<br />
場 合 、 値 を 増 やすようにしてください。<br />
※ 光 ケーブルを 使 用 してパラレルポールを 実 行 する 場 合 は、PP 実 行 時 間 を 10µs に 変 更 してくだ<br />
さい。<br />
※ハンドシェイクタイミングは、 機 器 とのハンドシェイクを 行 う 際 の 信 号 待 ち 時 間 を 設 定 します。<br />
・「 超 高 速 」 : 350ns (デフォルト)<br />
・「 高 速 」 : 500ns<br />
・「 通 常 」 : 2µs<br />
デフォルト 状 態 にて 送 信 / 受 信 時 に「 送 信 エラー:-13」または「タイムアウト:-14」が 発 生 す<br />
る 場 合 には、ハンドシェイクタイミングの 速 度 を 変 更 してみることをお 勧 めします。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
9
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
4) 設 定 変 更 後 、 再 起 動 を 行 います。<br />
再 起 動 後 、 変 更 した 情 報 がドライバに 反 映 されます。<br />
■ 非 コントローラで 使 用 する 場 合<br />
「 動 作 モード」を「SLAVE」に 変 更 してください。<br />
■ボードアクセス 番 号 と<strong>インタフェース</strong>モジュールの 関 係<br />
ボードアクセス 番 号 は、<strong>インタフェース</strong>モジュールを 識 別 するための 番 号 で、<strong>インタフェース</strong><br />
モジュール 上 にあるボード ID 設 定 用 ロータリスイッチ(RSW1)の 番 号 (CardBus 製 品 は<br />
CardBus ID)を 指 定 します。<br />
このボードアクセス 番 号 は、「 初 期 化 情 報 」で 設 定 し、 各 <strong>インタフェース</strong>モジュールと 対 応 付 け<br />
されます。1 台 のコンピュータで 複 数 枚 の<strong>インタフェース</strong>モジュールを 使 用 する 場 合 は、この<br />
ボードアクセス 番 号 を 重 複 しないように 設 定 してください。<br />
同 時 に 使 用 できる<strong>インタフェース</strong>モジュール 枚 数 は、 各 GP-IB <strong>インタフェース</strong>モジュールを 合<br />
せて 最 大 16 枚 までです。<br />
■デリミタの 扱 いについて<br />
PCI-<strong>4304</strong>/<strong>4304</strong>P, CTP-<strong>4304</strong>/<strong>4304</strong>P でデータ 送 受 信 時 に「デリミタ 無 し」をご 使 用 する 場 合 に<br />
は、'PciGpibExSetConfig' 関 数 にて '/MODE=IRQ' (データ 転 送 モードとして 割 り 込 み 転 送 を 使<br />
用 )にする 必 要 があります。<br />
通 常 のご 利 用 ではデータ 転 送 モードを 変 更 する 必 要 はありません。<br />
詳 細 につきましては、<br />
・ 高 機 能 DLL (<strong>GPC</strong><strong>4304</strong>.DLL) → PciGpibExSetConfig 関 数<br />
・ 標 準 DLL (<strong>GPC</strong><strong>4304</strong>2.DLL) → GpibSetConfig 関 数<br />
の 各 Help をご 参 照 ください。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
10
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
3.3 動 作 確 認 ( 動 かしてみよう)<br />
この 節 では、 本 ソフトウェアに 含 まれている GP-IB ユーティリティを 用 いて、 例 として PCI-<strong>4304</strong><br />
と GP-IB で 接 続 された 計 測 機 器 との 間 の 基 本 的 なバス 動 作 を 確 認 してみましょう。<br />
※ 以 下 の 準 備 をしてください。<br />
1. PCI-<strong>4304</strong> を、GP-IBケーブルでGP-IB 機 器 と 接 続 します。<br />
ユーザーズマニュアル『 機 器 への 接 続 方 法 』を 参 照 してください。<br />
2. PCI-<strong>4304</strong> のドライバのインストール、コントロールパネルの 設 定 を 行 います。<br />
『3.2 コントロールパネル』を 参 照 してください。 動 作 モードは「MASTER」に 設 定 します。<br />
3. PCI-<strong>4304</strong> のソフトウェアのインストールを 行 います。<br />
README.HTMのインストール 方 法 を 参 照 してください。<br />
4. 接 続 された 計 測 機 器 の、 機 器 アドレスをご 確 認 ください。<br />
確 認 方 法 は、 計 測 機 器 のマニュアルをご 覧 ください。<br />
計 測 機 器 の 機 器 アドレス ※ 1 は、<strong>インタフェース</strong>モジュールの 機 器 アドレス(プライマリアドレス ※ 2)<br />
と 重 複 しないようにしてください。 重 複 していた 場 合 には、 計 測 機 器 側 もしくは<strong>インタフェース</strong>モジ<br />
ュール 側 のどちらかの 機 器 アドレスを 変 更 してください。<br />
3.3.1 ユーティリティ 起 動 とボードの 初 期 化<br />
GPIB ユーティリティの 起 動 と、PCI-<strong>4304</strong> を 初 期 化 します。<br />
1)「スタート」メニューより「プログラム」-「Interface <strong>GPC</strong>-<strong>4304</strong>」-「GpibUtil」を 起 動 しま<br />
す。<br />
2)「ファイル」-「ボードのオープン」を 選 択 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
11
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
3)「ボードのオープン」ダイアログボックスが 表 示 されます。<br />
使 用 するボード,ボードの 機 器 アドレス, 計 測 機 器 のデリミタを 設 定 し、OK ボタンをクリック<br />
します。<br />
● 「コントロールパネル」を 起 動 し、「Interface GPIB Configuration」をダブルクリックしま<br />
す。<br />
● 「ボード」リストには、アクセスできる GPIB ボードの 型 式 とボード 識 別 番 号 の 一 覧 が 表 示<br />
されます。このリストからアクセスしたいボードを 一 つ 選 択 します。<br />
ユーザーズマニュアル 『 ボード 識 別 ロータリスイッチ(RSW1) 』 を 参 照<br />
● 「プライマリアドレス」,「セカンダリアドレス※2」は、 選 択 したボードの 機 器 アドレスを<br />
設 定 します。 初 期 値 はコントロールパネルで 設 定 した 値 になっています。<br />
※16 進 数 で 入 力 してください。<br />
オンラインヘルプ 『 コントロールパネル 』 を 参 照<br />
● 「デリミタ」は、 接 続 する 計 測 機 器 のマニュアルを 参 照 し、 一 致 するものを 設 定 します。<br />
以 上 で、PCI-<strong>4304</strong> が GPIB ユーティリティで 使 用 できるようになりました。<br />
次 に、 計 測 機 器 を GPIB の 手 順 によって 初 期 化 します。<br />
1) 「IFC」ボタンをクリックして、IFC ※ 3 メッセージを 発 行 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
12
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
IFC メッセージ 発 行 によって、GP-IB に 接 続 されているすべての 機 器 の GP-IB インタフェー<br />
スは 初 期 化 されます。<br />
IFC を 発 行 すると、 本 <strong>インタフェース</strong>モジュールが 当 番 コントローラ ※ 4 になり、CIC ランプ<br />
が 点 灯 します。<br />
同 時 に、ATN ランプも 点 灯 します。<br />
2) REN ※ 5 メッセージを 発 行 します。<br />
「REN」ボタンをクリックして、REN ランプを 点 灯 させます。<br />
この 時 、 本 <strong>インタフェース</strong>モジュールは REN メッセージを 有 効 にしています。<br />
3) SDC ※ 6 メッセージを 発 行 します。<br />
1.「Device Clear」ボタンをクリックします。<br />
2.「Address」ボックスに 計 測 機 器 のアドレスを 16 進 数 で 入 力 します。<br />
3. 最 後 に「Clear」ボタンを 押 します。<br />
SDC メッセージによって、GP-IB <strong>インタフェース</strong>に 接 続 されている 計 測 機 器 自 体 の 初 期 化 が<br />
行 われます。<br />
以 上 で、GP-IB 機 器 の 初 期 化 が 完 了 しました。<br />
【 用 語 解 説 】<br />
※1 機 器 アドレス<br />
計 測 機 器 ,GP-IB <strong>インタフェース</strong>モジュールに 割 り 当 てる GP-IB アドレスのことです。<br />
GP-IB の 制 御 を 行 うとき、この 機 器 アドレスを 指 定 することで 通 信 相 手 を 特 定 します。<br />
<strong>インタフェース</strong>モジュールと 計 測 機 器 の 機 器 アドレスは 重 複 しないように 設 定 してください。<br />
GP-IB ユーティリティ 側 では、「ボード 機 器 アドレス」として、<strong>インタフェース</strong>モジュール 自 身<br />
のアドレスを 表 示 しています。<br />
※2 プライマリアドレス、セカンダリアドレス<br />
機 器 アドレスの 種 類 として、 次 の 2 種 類 があります。<br />
・プライマリアドレス(1 次 アドレス) :16 進 数 00h~1Eh(10 進 数 では 0~30)の 値 が 設 定<br />
可 能 です。<br />
・セカンダリアドレス(2 次 アドレス) :16 進 数 60h~7Eh(10 進 数 では 96~126)の 値 が 設 定<br />
可 能 です。<br />
大 半 の 計 測 機 器 はプライマリアドレスのみ 指 定 します。<br />
これは、1 つのアドレス 指 定 で 計 測 機 器 を 特 定 可 能 だからです。<br />
しかし、 計 測 機 器 によっては、セカンダリアドレスを 持 つものもあります。<br />
これは、1 台 の 計 測 機 器 の 中 に 複 数 の 機 能 を 持 っている 場 合 などに 使 用 します。<br />
( 例 :マルチメータとロジックアナライザーが 1 台 の 計 測 機 器 となっており、 機 能 を 切 替 えて 使<br />
用 する 場 合 など)<br />
セカンダリアドレスのみ 単 独 で 指 定 することはできません。<br />
必 ず、プライマリアドレスとセカンダリアドレスはペアで 指 定 します。<br />
・プライマリアドレス 0Ah を 指 定 →1 つの 計 測 機 器 を 特 定<br />
・セカンダリアドレス 60h を 指 定 →プライマリアドレスで 特 定 した 計 測 機 器 の 中 で 更 に 機 能<br />
を 特 定<br />
※3 IFC(Interface Clear)<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
13
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
システムコントローラが、すべての 機 器 の<strong>インタフェース</strong> 機 能 (コントローラ,トーカ,リス<br />
ナ 機 能 )を 初 期 化 するために 送 信 するメッセージ。<br />
※4 コントローラ<br />
どの 機 器 がトーカやリスナになるかを 指 定 したり、バスの 制 御 機 能 を 持 つもの。コンピュータ<br />
の 中 の 管 理 者 , 会 議 の 進 行 役 にあたる。<br />
※5 REN(Remote Enable)<br />
システムコントローラが、 相 手 機 器 を GP-IB バスを 経 由 して 制 御 できるよう(リモートモード)<br />
に 指 示 する 時 に 送 信 するメッセージ。<br />
※6 SDC(Selected Device Clear)<br />
リスナに 指 定 された 機 器 を、 初 期 状 態 に 戻 すコマンドです。 機 器 により、 初 期 状 態 の 意 味 は<br />
異 なります。<br />
3.3.2 データの 送 信<br />
計 測 機 器 にデータを 送 信 してみましょう。<br />
計 測 機 器 の 中 には、 計 測 を 行 う 時 にデータ(デバイスディペンデントメッセージ)を 要 求 するものがあり<br />
ます。<br />
データの 意 味 やその 後 の 動 作 は、 個 々の 計 測 機 器 によって 定 義 されています。<br />
たとえば、マルチメータの 場 合 は、 計 測 トリガや 入 力 レンジなどを、データを 与 えることによって 設 定 で<br />
きます。<br />
1) 1.「Data Send」ボタンをクリックします。<br />
2.「Address」ボックスに 相 手 機 器 のアドレスを 16 進 数 で 入 力 します。<br />
3.「Exec」ボタンをクリックします。<br />
PCI-<strong>4304</strong> がトーカ ※ 1 になったことは、TA ランプが 点 灯 したことで 確 認 でき、データが 送 信<br />
できる 状 態 になります。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
14
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
2) 「Send Data」テキストボックス 内 に、リスナ ※ 2 へ 送 信 するデータを ASCII 文 字 で 入 力 し、<br />
「Enter」キーを 押 すと、リスナに 対 してデータを 送 信 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
15
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 用 語 解 説 】<br />
※1 トーカ<br />
送 信 機 能 を 持 つもの( 話 し 手 )。<br />
GP-IB では 接 続 している 機 器 が、 勝 手 にデータを 送 信 することができない。コントローラによ<br />
りトーカに 指 名 されると、データを 送 信 することができる。<br />
※2 リスナ<br />
受 信 機 能 を 持 つもの( 聞 き 手 )。<br />
GP-IB では 接 続 している 機 器 が、 勝 手 にデータを 受 信 することができない。コントローラによ<br />
りリスナに 指 名 されると、データを 受 信 することができる。<br />
3.3.3 データの 受 信<br />
計 測 機 器 が 出 力 するデータを 受 信 してみましょう。<br />
1) 1.「Data Receive」ボタンをクリックします。<br />
2.「Address」ボックスに 相 手 機 器 のアドレスを 16 進 数 で 入 力 します。<br />
3.「Exec」ボタンをクリックします。<br />
PCI-<strong>4304</strong> がリスナになったことは、LA ランプが 点 灯 したことで 確 認 でき、データが 受 信 で<br />
きる 状 態 になります。<br />
2) データを 受 信 します。<br />
「Recv」ボタンをクリックします。クリックすると、 計 測 機 器 が 出 力 するデータをデリミタ<br />
まで 受 信 し、「Receive Data」テキストボックス 内 に 受 信 データを 表 示 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
16
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
3.3.4 シリアルポールの 実 行<br />
計 測 機 器 の 中 には、サービス 要 求 のために SRQ ※ 1 メッセージを 有 効 にし、ステータスバイト(STB)<br />
※2 の 受 け 取 りを 要 求 するものがあります。コントローラが STB を 受 信 することをシリアルポール ※ 3<br />
といいます。<br />
1) 計 測 機 器 がサービス 要 求 するように 制 御 します。<br />
計 測 機 器 によって、サービス 要 求 する 条 件 が 違 います。 計 測 機 器 のマニュアルを 参 照 してくだ<br />
さい。<br />
計 測 機 器 がサービス 要 求 を 行 うと、SRQ メッセージが 有 効 になります。SRQ ランプが 点 灯 す<br />
ることにより 確 認 できます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
17
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
2) シリアルポールを 実 行 します。<br />
1.「Serial Poll」ボタンを 押 します。<br />
2.「Address」ボックスに 相 手 機 器 のアドレスを 16 進 数 で 入 力 します。<br />
3.「Serial Poll」ボタンをクリックします。<br />
クリック 後 、 計 測 機 器 から 受 信 された STB 値 が「STB」ボックスに 表 示 されます。<br />
計 測 機 器 がサービス 要 求 を 取 り 下 げると、SRQ ランプは 消 灯 します。<br />
※ユーティリティの 詳 細 (その 他 の 機 能 等 )については『ユーティリティプログラム』を 参 照<br />
してください。<br />
以 上 で、PCI-<strong>4304</strong> を 使 った GP-IB の 基 本 的 バス 動 作 を 確 認 できました。<br />
【 用 語 解 説 】<br />
※1 SRQ<br />
サービスリクエスト。<br />
機 器 からの 事 象 の 変 化 を、コントローラに 伝 えるための 仕 組 みです。 事 象 の 変 化 を 受 け 取 るた<br />
めに「 割 り 込 み」を 用 いますが、サービスリクエストも 同 じことを 実 現 します。<br />
※2 ステータスバイト(STB)<br />
機 器 の 状 態 を 示 す 1 バイトのデータ。<br />
コントローラからのシリアルポールによって 読 み 取 られます。 通 常 、SRQ を 発 行 した 場 合 、そ<br />
の SRQ の 発 行 理 由 を、この STB によって 知 ることができます。<br />
※3 シリアルポール<br />
コントローラが 機 器 に 対 して、サービスリクエストを 送 信 したかどうか、1 台 ずつ 順 番 に 問 い<br />
合 わせ、ステータスバイトを 取 得 する 処 理 です。<br />
3.3.5 終 了 方 法<br />
<strong>インタフェース</strong>モジュールの 使 用 を 終 了 する 場 合 は、「ファイル」-「ボードのクローズ」を 選 択 し<br />
ます。<br />
本 ユーティリティを 終 了 する 場 合 は、<strong>インタフェース</strong>モジュールがクローズされている 状 態 で、「フ<br />
ァイル」-「アプリケーションの 終 了 」を 選 択 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
18
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
3.4 高 機 能 版 DLL 実 行 手 順<br />
ボードを 複 数 枚 使 用 する 場 合 は、PCI/CompactPCI ボード 上 のロータリスイッチ RSW1 の 設 定 値 が<br />
重 複 しないように 設 定 してからパソコンに 挿 入 してください。 複 数 のボードが 存 在 する 場 合 、ボード<br />
を 一 意 に 識 別 するための 番 号 となります。 重 複 していた 場 合 、 本 DLL は 正 常 に 動 作 いたしません。<br />
ボードをコントローラ(マスタ)として 使 用 する 場 合 の 基 本 的 な 制 御 の 手 順 は 以 下 の 通 りです。<br />
( 記 述 例 は C 言 語 です)<br />
1. 初 期 化<br />
<strong>インタフェース</strong>モジュールを PciGpibExInitBoard 関 数 で 初 期 化 します。このとき、アプリケ<br />
ーションのウィンドウハンドルも 一 緒 に 指 定 します。 非 同 期 で 送 受 信 を 行 わない 場 合 や、メッ<br />
セージポストを 行 わない 場 合 は WM_NULL または 0 を 指 定 します。<br />
PciGpibExInitBoard(0, hWnd);<br />
初 期 化 が 正 常 終 了 後 、 指 定 したボードアクセス 番 号 (この 場 合 は 0)で 以 後 の 各 関 数 を 使 用 するこ<br />
とができます。<br />
2. <strong>インタフェース</strong>モジュールの 設 定<br />
PciGpibExSetConfig 関 数 で、<strong>インタフェース</strong>モジュールのデリミタ 等 の 各 種 設 定 を 行 います。<br />
この 関 数 を 実 行 しない 場 合 は、 初 期 値 で 設 定 されます。 初 期 値 については、コントロールパネ<br />
ルアプレットで 設 定 した 値 が 使 用 されます。<br />
また、この 関 数 は 初 期 化 (PciGpibExInitBoard 関 数 )の 実 行 後 は 何 度 でも 実 行 できます。<br />
※コントロールパネルアプレットの 説 明 については、README およびユーザーズマニュアル<br />
を 御 参 照 ください。<br />
PciGpibExSetConfig(0, "/SDELIM=EOI /RDELIM=CRLF+EOI");<br />
送 信 デリミタとして[EOI のみ]、 受 信 デリミタとして[CRLF+EOI]を 設 定 しました。<br />
3. GP-IB <strong>インタフェース</strong>の 初 期 化<br />
コントローラの 場 合 は、PciGpibExSetIfc 関 数 を 使 用 して GP-IB バスの 初 期 化 を 行 います。 続<br />
いて、PciGpibExSetRen 関 数 を 使 用 して REN 信 号 を 有 効 にします。<br />
PciGpibExSetIfc(0, 1);<br />
PciGpibExSetRen(0);<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
19
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
4. 送 信<br />
機 器 固 有 の 制 御 コマンドは GP-IB バスのデータ 送 信 として 実 行 します。<br />
PciGpibExMastSendData 関 数 で 指 定 した 機 器 に 対 してデータを 送 信 します。<br />
・1 番 目 の 引 数 はボードアクセス 番 号 です。<br />
・2 番 目 の 引 数 はデータ 送 信 先 の 機 器 アドレステーブルを 指 定 します。<br />
・3 番 目 の 引 数 は 送 信 データ 長 ( 単 位 :バイト)です。<br />
・4 番 目 の 引 数 は 送 信 データへのポインタです。<br />
・5 番 目 の 引 数 は 同 期 転 送 時 には WM_NULL または 0 を 指 定 します。 非 同 期 転 送 の 場 合 には<br />
データ 送 信 完 了 時 にこの 引 数 に 設 定 したメッセージコードがポストされます。<br />
int nAdrsTbl[8];<br />
・<br />
・<br />
nAdrsTbl[0] = 1;<br />
nAdrsTbl[1] = -1;<br />
// 制 御 する 測 定 機 器 のアドレス<br />
// アドレステーブルの 終 端<br />
// 機 器 アドレステーブルの 終 端 には 必 ず -1 を 代 入 してください。<br />
・<br />
・<br />
PciGpibExMastSendData(0, nAdrsTbl, 10, ″0123456789″, 0);<br />
5. 受 信<br />
機 器 から 送 られてくるデータは PciGpibExMastRecvData 関 数 にて 受 信 します。<br />
PciGpibExMastRecvData 関 数 を 実 行 することで 受 信 データおよび 受 信 データ 長 を 取 得 するこ<br />
とができます。<br />
・1 番 目 の 引 数 はボードアクセス 番 号 です。<br />
・2 番 目 の 引 数 はデータを 送 信 してくる 機 器 アドレステーブルを 指 定 します。<br />
・3 番 目 の 引 数 は 受 信 バッファ 長 ( 単 位 :バイト)です。<br />
API 呼 出 し 前 に 受 信 バッファ 長 にはあらかじめ 受 信 バッファの 長 さを 格 納 しておく 必 要 があ<br />
ります。<br />
受 信 バッファ 長 のサイズはデリミタサイズも 含 めて 充 分 余 裕 を 持 って 指 定 してください。<br />
これは 機 器 から 送 られてくるデータ 長 が 10 バイトと 判 明 しており、デリミタに CRLF を 指<br />
定 している 場 合 、 受 信 バッファサイズは 最 低 12 バイト 必 要 であることを 示 します。<br />
・4 番 目 の 引 数 は 受 信 バッファへのポインタです。<br />
・5 番 目 の 引 数 は 同 期 転 送 時 には WM_NULL または 0 を 指 定 します。 非 同 期 転 送 の 場 合 には<br />
データ 受 信 完 了 時 にこの 引 数 に 設 定 したメッセージコードがポストされます。<br />
char szData[1024]; // グローバル 変 数 : 受 信 バッファ<br />
・<br />
int nAdrsTbl[8]; // 機 器 アドレステーブル<br />
DWORD dwLen; // 受 信 バッファ 長 を 格 納 、API 呼 び 出 し 後 には 実 際 の 受 信 データ 長<br />
が 格 納 される<br />
・<br />
・<br />
nAdrsTbl[0] = 1; // 制 御 する 測 定 機 器 のアドレス<br />
nAdrsTbl[1] = -1; // アドレステーブルの 終 端<br />
・<br />
・<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
20
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
dwLen = 1024; // 受 信 バッファのサイズ<br />
PciGpibExMastRecvData(0, nAdrsTbl, &dwLen, szData, 0);<br />
関 数 呼 び 出 し 後 に 変 数 dwLen には 実 際 に 受 信 したデータ 長 が 格 納 されています。<br />
6. シリアル・ポーリング<br />
シリアルポーリングの 実 行 手 順 は 次 の 通 りです。<br />
1.PciGpibExCheckSrq 関 数 を 実 行 し、 機 器 からの SRQ 信 号 が 有 効 であるかを 確 認 します。<br />
2. 機 器 からの SRQ 信 号 が 有 効 であれば、 機 器 からのステータスバイト(STB)を 受 信 するために、<br />
必 ずシリアルポーリング(PciGpibExExecSpoll 関 数 )を 実 行 します。<br />
7. その 他 の 動 作<br />
情 報 取 得 、バス・ステータス 取 得 等 、 他 の API は 必 要 に 応 じて 個 別 に 実 行 します。<br />
PciGpibExGetConfig(0, 3, &ulPrm);<br />
// 送 信 デリミタ 値 取 得<br />
・<br />
・<br />
PciGpibExExecSpoll(0, nAdrsTbl, nStbTbl, nStbAdrs); // シリアル・ポール 実 行<br />
・<br />
・<br />
PciGpibExGetStatus(0, &uStatus);<br />
// バス・ステータス 取 得<br />
コントローラでのみ 実 行 可 能 なAPIもあります。 詳 細 については『4.1 高 機 能 版 DLL』をご 参<br />
照 ください。<br />
8. 終 了<br />
<strong>インタフェース</strong>モジュールを PciGpibExFinishBoard 関 数 で 使 用 終 了 します。<br />
必 ず 本 関 数 を 実 行 して 処 理 を 終 了 してください。<br />
PciGpibExFinishBoard(0);<br />
2.~7.は 初 期 化 、 終 了 の 間 で 必 要 に 応 じて 繰 り 返 し 実 行 できます(ただし、3.だけは 最 初 の 1<br />
回 のみの 実 行 となります。)<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
21
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
3.4.1 非 コントローラとしての 実 行 手 順<br />
<strong>インタフェース</strong>モジュールを 非 コントローラとして 使 用 する 場 合 の 基 本 的 な 制 御 の 手 順 は 以 下 の 通<br />
りです。( 記 述 例 は C 言 語 です)<br />
1. 初 期 化<br />
<strong>インタフェース</strong>モジュールを PciGpibExInitBoard 関 数 で 初 期 化 します。このとき、アプリケ<br />
ーションのウィンドウハンドルも 一 緒 に 指 定 します。 非 同 期 で 送 受 信 を 行 わない 場 合 や、メッ<br />
セージポストを 行 わない 場 合 は WM_NULL または 0 を 指 定 します。<br />
PciGpibExInitBoard(0, hWnd);<br />
初 期 化 が 正 常 終 了 後 、 指 定 したボードアクセス 番 号 (この 場 合 は 0)で 以 後 の 各 関 数 を 使 用 するこ<br />
とができます。<br />
2. <strong>インタフェース</strong>モジュールの 設 定<br />
PciGpibExSetConfig 関 数 で、<strong>インタフェース</strong>モジュールのデリミタ 等 の 各 種 設 定 を 行 います。<br />
この 関 数 を 実 行 しない 場 合 は、 初 期 値 で 設 定 されます。 初 期 値 については、コントロールパネ<br />
ルアプレットで 設 定 した 値 が 使 用 されます。<br />
また、この 関 数 は 初 期 化 (PciGpibExInitBoard 関 数 )の 実 行 後 は 何 度 でも 実 行 できます。<br />
※コントロールパネルアプレットの 説 明 については、README およびユーザーズマニュアル<br />
を 御 参 照 ください。<br />
PciGpibExSetConfig(0, ″/SDELIM=EOI /RDELIM=CRLF+EOI″);<br />
送 信 デリミタとして[EOI のみ]、 受 信 デリミタとして[CRLF+EOI]を 設 定 しました。<br />
以 上 、 非 コントローラとしての 初 期 化 は 完 了 です。<br />
3. バス・ステータス 確 認<br />
非 コントローラで 使 用 する 場 合 、データの 送 信 / 受 信 を 行 うためには<strong>インタフェース</strong>モジュール<br />
がトーカ/リスナの 状 態 になる 必 要 があります。PciGpibExGetStatus 関 数 にて<strong>インタフェース</strong><br />
モジュールがどのような 状 態 かを 取 得 することができます。<br />
PciGpibExGetStatus(0, &uStatus);<br />
if (uStatus & 0x01000000) { // <strong>インタフェース</strong>モジュールはトーカ 指 定 されているか<br />
// トーカ 指 定 済 ならば、データ 送 信 を 行 う<br />
DataSend(…);<br />
}<br />
else if (uStatus & 0x02000000) { // <strong>インタフェース</strong>モジュールはリスナ 指 定 されているか<br />
// リスナ 指 定 済 ならば、データ 受 信 を 行 う<br />
DataRecv(…);<br />
}<br />
PciGpibExGetStatus 関 数 にて<strong>インタフェース</strong>モジュールの 状 態 を 確 認 後 に、データ 送 信 また<br />
はデータ 受 信 の 処 理 を 実 行 します。<br />
※コントローラからデータ 送 信 またはデータ 受 信 を 実 行 した 後 にマルチラインメッセージ<br />
[UNT], [UNL]を 送 信 することで、 非 コントローラ 側 のトーカ 状 態 /リスナ 状 態 を 完 全 に 解 除 さ<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
22
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
せることができます。こうすることで 非 コントローラ 側 は 次 のトーカ 指 定 /リスナ 指 定 を 検 出 す<br />
ることが 可 能 です。<br />
4. 送 信<br />
<strong>インタフェース</strong>モジュールがトーカ 指 定 されている 場 合 には、GP-IB バスへデータ 送 信 を 実 行<br />
することができます。<br />
PciGpibExSlavSendData 関 数 でデータを 送 信 します。<br />
・1 番 目 の 引 数 はボードアクセス 番 号 です。<br />
・2 番 目 の 引 数 は 送 信 データ 長 ( 単 位 :バイト)です。<br />
・3 番 目 の 引 数 は 送 信 データへのポインタです。<br />
・4 番 目 の 引 数 は 同 期 転 送 時 には WM_NULL または 0 を 指 定 します。 非 同 期 転 送 の 場 合 には<br />
データ 送 信 完 了 時 にこの 引 数 に 設 定 したメッセージコードがポストされます。<br />
int DataSend(…)<br />
{<br />
・<br />
PciGpibExSlavSendData(0, 10, ″0123456789″, 0);<br />
・<br />
}<br />
5. 受 信<br />
<strong>インタフェース</strong>モジュールがリスナ 指 定 されている 場 合 には、GP-IB バスからのデータ 受 信 を<br />
実 行 することができます。<br />
PciGpibExSlavRecvData 関 数 を 実 行 することで 受 信 データおよび 受 信 データ 長 を 取 得 するこ<br />
とができます。<br />
・1 番 目 の 引 数 はボードアクセス 番 号 です。<br />
・2 番 目 の 引 数 は 受 信 バッファ 長 ( 単 位 :バイト)です。<br />
API 呼 出 し 前 に 受 信 バッファ 長 にはあらかじめ 受 信 バッファの 長 さを 格 納 しておく 必 要 があ<br />
ります。<br />
受 信 バッファ 長 のサイズはデリミタサイズも 含 めて 充 分 余 裕 を 持 って 指 定 してください。<br />
これは 機 器 から 送 られてくるデータ 長 が 10 バイトと 判 明 しており、デリミタに CRLF を 指<br />
定 している 場 合 、 受 信 バッファサイズは 最 低 12 バイト 必 要 であることを 示 します。<br />
・3 番 目 の 引 数 は 受 信 バッファへのポインタです。<br />
・4 番 目 の 引 数 は 同 期 転 送 時 には WM_NULL または 0 を 指 定 します。 非 同 期 転 送 の 場 合 には<br />
データ 受 信 完 了 時 にこの 引 数 に 設 定 したメッセージコードがポストされます。<br />
char szData[1024]; // グローバル 変 数 : 受 信 バッファ<br />
int DataRecv(…)<br />
{<br />
DWORD dwLen; // 受 信 バッファ 長 を 格 納 、API 呼 び 出 し 後 には 実 際 の 受 信 データ 長 が<br />
// 格 納 される<br />
・<br />
・<br />
dwLen = 1024; // 受 信 バッファのサイズ<br />
PciGpibExSlavRecvData(0, &dwLen, szData, 0);<br />
・<br />
・<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
23
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
}<br />
関 数 呼 び 出 し 後 に 変 数 dwLen には 実 際 に 受 信 したデータ 長 が 格 納 されています。<br />
6. その 他 の 動 作<br />
PciGpibExGetConfig(0, 3, &ulPrm);// 送 信 デリミタ 値 取 得<br />
・<br />
・<br />
PciGpibExSlavSetSrq(0, 0x5); // STB 設 定 、SRQ 信 号 送 出<br />
・<br />
・<br />
PciGpibExSlavCheckStb(0); // コントローラよりシリアルポーリングされたかを 確 認<br />
非 コントローラでのみ 実 行 可 能 なAPIもあります。 詳 細 については『4.1 高 機 能 版 DLL』をご<br />
参 照 ください。<br />
7. 終 了<br />
<strong>インタフェース</strong>モジュールを PciGpibExFinishBoard 関 数 で 使 用 終 了 します。<br />
必 ず 本 関 数 を 実 行 して 処 理 を 終 了 してください。<br />
PciGpibExFinishBoard(0);<br />
2.~6.は 初 期 化 、 終 了 の 間 で 必 要 に 応 じて 繰 り 返 し 実 行 できます。<br />
送 信 / 受 信 API を 実 行 する 場 合 には、<strong>インタフェース</strong>モジュールが 送 信 可 能 か 受 信 可 能 かを<br />
確 認 するために「3.バス・ステータス 取 得 」にて<strong>インタフェース</strong>モジュールの 状 態 をあらか<br />
じめ 確 認 しておく 必 要 があります。<br />
その 他 の 状 態 については、2.~6.のどの 時 点 でも PciGpibExGetStatus 関 数 を 呼 び 出 すこと<br />
が 可 能 です。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
24
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
3.4.2 Programming Tips<br />
■ 数 秒 間 隔 で 連 続 してデータを 送 受 信 する 方 法 について<br />
数 秒 間 隔 の 連 続 データ 送 受 信 方 法 については、 各 言 語 にて 下 記 の 方 法 が 挙 げられます。<br />
●Visual C++の 場 合<br />
1) Win32API の SetTimer 関 数 を 使 用 し、 一 定 周 期 のタイマイベントを 発 生 させて、データ 送 受<br />
信 を 実 行 。<br />
※C 言 語 ではマルチメディアタイマを 使 用 することも 可 能 です。マルチメディアタイマの 詳<br />
細 については 書 籍 もしくは Visual C++のヘルプなどをご 参 照 ください。<br />
2) データ 送 受 信 を 行 う 専 用 のスレッドを 作 成 し、スレッドの 中 で 待 ち 時 間 を 取 りながら、データ<br />
送 受 信 を 実 行 。<br />
3) 間 隔 が 多 少 不 正 確 でもかまわない 場 合 には、 機 器 からの 計 測 完 了 時 の SRQ を 利 用 し、インタ<br />
フェースモジュール 側 では PciGpibExSetSrqEvent 関 数 を 使 用 して SRQ 受 信 コールバック 関<br />
数 内 でデータ 送 受 信 を 実 行 。<br />
※SRQ を 使 用 する 場 合 には、シリアルポーリングを 実 行 する 必 要 があります。<br />
4) または、 高 機 能 ActiveX の SRQ イベントを 使 用 し、SRQ イベントプロシージャ 内 でデータ 送<br />
受 信 を 実 行 。<br />
※SRQ を 使 用 する 場 合 には、シリアルポーリングを 実 行 する 必 要 があります。<br />
●Visual Basic の 場 合<br />
1) タイマコントロールを 使 用 し、 一 定 周 期 のタイマイベントを 発 生 させて、データ 送 受 信 を 実 行 。<br />
2) 間 隔 が 多 少 不 正 確 でもかまわない 場 合 には、 高 機 能 ActiveX の SRQ イベントを 使 用 し、SRQ<br />
イベントプロシージャ 内 でデータ 送 受 信 を 実 行 。<br />
※SRQ を 使 用 する 場 合 には、シリアルポーリングを 実 行 する 必 要 があります。<br />
●Delphi の 場 合<br />
1) タイマコントロールを 使 用 し、 一 定 周 期 のタイマイベントを 発 生 させて、データ 送 受 信 を 実 行 。<br />
2) 間 隔 が 多 少 不 正 確 でもかまわない 場 合 には、 高 機 能 ActiveX の SRQ イベントを 使 用 し、SRQ<br />
イベントプロシージャ 内 でデータ 送 受 信 を 実 行 。<br />
※SRQ を 使 用 する 場 合 には、シリアルポーリングを 実 行 する 必 要 があります。<br />
SRQ の 利 用 方 法 については、 機 器 のマニュアルもしくは 計 測 機 器 メーカへお 問 い 合 わせください。<br />
■ 複 数 台 の 機 器 からの SRQ を 利 用 して 制 御 する 方 法 について<br />
各 言 語 毎 での SRQ 確 認 方 法 と 注 意 事 項 は 次 の 通 りです。<br />
●Visual C++の 場 合<br />
■パターン 1 PciGpibExCheckSrq 関 数 を 使 用 して SRQ 受 信 をチェック<br />
1) PciGpibExCheckSrq 関 数 で 現 在 の SRQ 受 信 状 況 を 確 認 します。<br />
2) SRQ 受 信 を 確 認 後 、 複 数 台 の 機 器 に 対 して PciGpibExExecSpoll 関 数 を 実 行 (シリアルポーリ<br />
ング)します。<br />
利 点 : ・ 特 にはありません。 標 準 的 な 手 順 です。<br />
欠 点 : ・メイン 処 理 内 で 常 に SRQ 受 信 状 況 を 確 認 しておく 必 要 があります。<br />
→スレッドを 使 用 すれば、メイン 処 理 とは 別 に、 常 時 確 認 を 実 行 させることが 可 能<br />
です。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
25
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
・ 複 数 台 の 機 器 からほぼ 同 時 ( 数 ms~ 数 100ms の 間 隔 )に SRQ が 送 出 された 場 合 、そ<br />
れぞれの 機 器 の SRQ を 区 別 することができません。<br />
常 に 複 数 台 の 機 器 を 指 定 してシリアルポーリングを 実 行 してください。<br />
■パターン 2 SRQ コールバック 関 数 を 使 用 する<br />
1) あらかじめ、PciGpibExSetSrqEvent 関 数 で SRQ 受 信 時 のコールバック 関 数 を 登 録 しておき<br />
ます。<br />
2) 機 器 からの SRQ を 受 信 、 検 出 すると、ドライバがコールバック 関 数 の 呼 出 しを 行 います。<br />
3) コールバック 関 数 内 で、 複 数 台 の 機 器 に 対 して PciGpibExExecSpoll 関 数 を 実 行 (シリアルポ<br />
ーリング)します。<br />
利 点 : ・SRQ 受 信 検 出 の 監 視 をドライバ 側 で 行 うため、アプリケーション 側 で SRQ 受 信 の 確<br />
認 を 行 う 必 要 がありません。<br />
欠 点 : ・ 複 数 台 の 機 器 からほぼ 同 時 ( 数 ms~ 数 100ms の 間 隔 )に SRQ が 送 出 された 場 合 、そ<br />
れぞれの 機 器 の SRQ を 区 別 することができません。<br />
そのため、SRQ コールバック 関 数 内 の 処 理 としては<br />
a)1 台 のみのシリアルポーリング 実 行 は 行 わない。<br />
b)SRQ が 有 効 であれば 常 に 複 数 台 の 機 器 をシリアルポーリングする。<br />
ようにしてください。<br />
弊 社 ドライバのシリアルポーリングは、ポーリングする 機 器 を 複 数 台 指 定 可 能 です。<br />
■パターン 3 常 に 複 数 台 の 機 器 に 対 してシリアルポーリングを 実 行 して SRQ の 有 無 を 確 認 する<br />
1) SRQ 検 出 の 確 認 を 省 いて、 常 に 複 数 台 の 機 器 に 対 して PciGpibExExecSpoll 関 数 を 実 行 する。<br />
利 点 : ・SRQ 受 信 確 認 の 処 理 は 不 要 です。<br />
複 数 台 の 機 器 に 対 して、 常 にシリアルポーリングを 行 うことで SRQ の 有 無 とステー<br />
タスバイト 取 得 の 同 時 を 処 理 することが 可 能 です。<br />
・スレッドを 使 用 することで、メインの 処 理 とは 別 にポーリングを 実 行 することが 可 能<br />
です。<br />
欠 点 : ・シリアルポーリングの 処 理 は 比 較 的 重 いため、 頻 繁 に 実 行 させるとパフォーマンスに<br />
影 響 が 出 る 可 能 性 があります。<br />
・ 送 受 信 処 理 とは 別 のスレッド 内 で 実 行 させる 場 合 は、 送 受 信 処 理 とは 排 他 制 御 を 掛 け<br />
て 実 行 させるようにしてください。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
26
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Visual Basic の 場 合<br />
■パターン 1 PciGpibExCheckSrq 関 数 を 使 用 して SRQ 受 信 をチェック (DLL を 直 接 ご 利 用 の<br />
場 合 )<br />
1) PciGpibExCheckSrq 関 数 で 現 在 の SRQ 受 信 状 況 を 確 認 します。<br />
2) SRQ 受 信 を 確 認 後 、 複 数 台 の 機 器 に 対 して PciGpibExExecSpoll 関 数 を 実 行 (シリアルポーリ<br />
ング)します。<br />
利 点 : ・ 特 にありません。 一 定 周 期 で SRQ 受 信 の 確 認 を 行 う 場 合 には、タイマコントロール<br />
を 使 用 してください。<br />
欠 点 : ・ 複 数 台 の 機 器 からほぼ 同 時 ( 数 ms~ 数 100ms の 間 隔 )に SRQ が 送 出 された 場 合 、そ<br />
れぞれの 機 器 の SRQ を 区 別 することができません。<br />
常 に 複 数 台 の 機 器 を 指 定 してシリアルポーリングを 実 行 してください。<br />
■パターン 2 常 に 複 数 台 の 機 器 に 対 してシリアルポーリングを 実 行 して SRQ の 有 無 を 確 認<br />
(DLLを 直 接 ご 利 用 の 場 合 )<br />
1) SRQ 検 出 の 確 認 を 省 いて、 常 に 複 数 台 の 機 器 に 対 して PciGpibExExecSpoll 関 数 を 実 行 する。<br />
利 点 : ・SRQ 受 信 確 認 の 処 理 は 不 要 です。<br />
複 数 台 の 機 器 に 対 して、 常 にシリアルポーリングを 行 うことで SRQ の 有 無 とステー<br />
タスバイト 取 得 の 同 時 を 処 理 することが 可 能 です。<br />
・ 一 定 周 期 でポーリングを 実 行 させる 場 合 には、タイマコントロールを 使 用 してくださ<br />
い。<br />
欠 点 : ・シリアルポーリングの 処 理 は 比 較 的 重 いため、 頻 繁 に 実 行 させるとパフォーマンスに<br />
影 響 が 出 る 可 能 性 があります。<br />
■パターン 3 高 機 能 版 ActiveX による SRQ イベントを 使 用<br />
1) IfxGpib::SrqEvent イベントプロシージャ 内 に ExecSpoll メソッドを 記 述 してシリアルポーリ<br />
ングを 実 行 させる。<br />
利 点 : ・ 高 機 能 版 ActiveX を 使 用 することで、Visual C++の SRQ コールバックと 同 じ 形 で<br />
ActiveX 側 が SRQ 受 信 の 検 出 を 行 います。<br />
そのため、アプリケーションのプログラミング 手 順 が 軽 減 されます。<br />
欠 点 : ・Visual Basic ではイベントの 処 理 中 に 次 のイベントを 多 重 に 発 生 させることはでき<br />
ません。<br />
そのため、SRQ イベントプロシージャを 実 行 中 に SRQ が 発 生 した 場 合 、 次 の SRQ<br />
イベントが 発 生 しない 場 合 があります。<br />
→ 上 記 ケースが 発 生 する 場 合 には「 手 順 その 4 高 機 能 版 ActiveX を 使 用 して 直 接<br />
ExecSpoll メソッドを 使 用 」をご 利 用 ください。<br />
・ 複 数 台 の 機 器 からほぼ 同 時 ( 数 ms~ 数 100ms の 間 隔 )に SRQ が 送 出 された 場 合 、そ<br />
れぞれの 機 器 の SRQ を 区 別 することができません。<br />
常 に 複 数 台 の 機 器 を 指 定 してシリアルポーリングを 実 行 してください。<br />
■パターン 4 高 機 能 版 ActiveX を 使 用 して 直 接 ExecSpoll メソッドを 使 用<br />
1) 「 手 順 その 2」を 高 機 能 版 ActiveX で 実 行 させます。<br />
SRQ 検 出 の 確 認 を 省 いて、 常 に 複 数 台 の 機 器 に 対 して ExecSpoll メソッドを 実 行 します。<br />
また、「 手 順 その 1」の 方 法 についても、 高 機 能 版 ActiveX のメソッドを 使 用 して 実 行 するこ<br />
とができます。<br />
利 点 : ・DLL 直 接 制 御 と 同 様 です。<br />
欠 点 : ・DLL 直 接 制 御 と 同 様 です。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
27
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi の 場 合<br />
■パターン 1 PciGpibExCheckSrq 関 数 を 使 用 して SRQ 受 信 をチェック (DLL を 直 接 ご 利 用 の<br />
場 合 )<br />
1) PciGpibExCheckSrq 関 数 で 現 在 の SRQ 受 信 状 況 を 確 認 します。<br />
2) SRQ 受 信 を 確 認 後 、 複 数 台 の 機 器 に 対 して PciGpibExExecSpoll 関 数 を 実 行 (シリアルポーリ<br />
ング)します。<br />
利 点 : ・ 特 にはありません。 標 準 的 な 手 順 です。<br />
欠 点 : ・メイン 処 理 内 で 常 に SRQ 受 信 状 況 を 確 認 しておく 必 要 があります。<br />
→スレッド、タイマを 使 用 すれば、メイン 処 理 とは 別 に、 常 時 確 認 を 実 行 させるこ<br />
とが 可 能 です。<br />
・ 複 数 台 の 機 器 からほぼ 同 時 ( 数 ms~ 数 100ms の 間 隔 )に SRQ が 送 出 された 場 合 、そ<br />
れぞれの 機 器 の SRQ を 区 別 することができません。<br />
常 に 複 数 台 の 機 器 を 指 定 してシリアルポーリングを 実 行 してください。<br />
■パターン 2 SRQ コールバック 関 数 を 使 用 する<br />
1) あらかじめ、PciGpibExSetSrqEvent 関 数 で SRQ 受 信 時 のコールバック 関 数 を 登 録 しておき<br />
ます。<br />
2) 機 器 からの SRQ を 受 信 、 検 出 すると、ドライバがコールバック 関 数 の 呼 出 しを 行 います。<br />
3) コールバック 関 数 内 で、 複 数 台 の 機 器 に 対 して PciGpibExExecSpoll 関 数 を 実 行 (シリアルポ<br />
ーリング)します。<br />
利 点 : ・SRQ 受 信 検 出 の 監 視 をドライバ 側 で 行 うため、アプリケーション 側 で SRQ 受 信 の 確<br />
認 を 行 う 必 要 がありません。<br />
欠 点 : ・ 複 数 台 の 機 器 からほぼ 同 時 ( 数 ms~ 数 100ms の 間 隔 )に SRQ が 送 出 された 場 合 、そ<br />
れぞれの 機 器 の SRQ を 区 別 することができません。<br />
そのため、SRQ コールバック 関 数 内 の 処 理 としては<br />
a)1 台 のみのシリアルポーリング 実 行 は 行 わない。<br />
b)SRQ が 有 効 であれば 常 に 複 数 台 の 機 器 をシリアルポーリングする。<br />
ようにしてください。<br />
弊 社 ドライバのシリアルポーリングは、ポーリングする 機 器 を 複 数 台 指 定 可 能 です。<br />
■パターン 3 常 に 複 数 台 の 機 器 に 対 してシリアルポーリングを 実 行 して SRQ の 有 無 を 確 認 する<br />
1) SRQ 検 出 の 確 認 を 省 いて、 常 に 複 数 台 の 機 器 に 対 して PciGpibExExecSpoll 関 数 を 実 行 する。<br />
利 点 : ・SRQ 受 信 検 出 の 監 視 をドライバ 側 で 行 うため、アプリケーション 側 で SRQ 受 信 の 確<br />
認 を 行 う 必 要 がありません。<br />
欠 点 : ・メイン 処 理 内 で 常 に SRQ 受 信 状 況 を 確 認 しておく 必 要 があります。<br />
→スレッド、タイマを 使 用 すれば、メイン 処 理 とは 別 に、 常 時 確 認 を 実 行 させるこ<br />
とが 可 能 です。<br />
・ 複 数 台 の 機 器 からほぼ 同 時 ( 数 ms~ 数 100ms の 間 隔 )に SRQ が 送 出 された 場 合 、そ<br />
れぞれの 機 器 の SRQ を 区 別 することができません。<br />
常 に 複 数 台 の 機 器 を 指 定 してシリアルポーリングを 実 行 してください。<br />
■パターン 4 高 機 能 版 ActiveX コントロールを 使 用 する<br />
1) Delphi 上 で 高 機 能 版 ActiveX コントロールを 使 用 することで、SRQ イベントを 利 用 すること<br />
が 可 能 です。<br />
利 点 : ・「●Visual Basic の 場 合 」を 参 照 ください。<br />
欠 点 : ・「●Visual Basic の 場 合 」を 参 照 ください。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
28
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
3.5 標 準 版 DLL 実 行 手 順<br />
ボードを 複 数 枚 使 用 する 場 合 は、GP-IB ボード 上 のロータリスイッチ RSW1 の 設 定 値 が 重 複 しないよう<br />
に 設 定 してからパソコンに 挿 入 してください。 複 数 のボードが 存 在 する 場 合 、ボードを 一 意 に 識 別 するた<br />
めの 番 号 となります。 重 複 していた 場 合 、 本 DLL は 正 常 に 動 作 いたしません。<br />
基 本 的 な 制 御 の 手 順 は 以 下 の 通 りです。( 記 述 例 は C 言 語 です)<br />
1. 初 期 化<br />
<strong>インタフェース</strong>モジュールを GpibOpen 関 数 で 初 期 化 します。ボード 番 号 を 指 定 します。<br />
GpibOpen( ulBoardNo );<br />
初 期 化 が 正 常 終 了 後 、 指 定 したボード 番 号 で 以 後 の 各 関 数 を 使 用 することができます。<br />
2. <strong>インタフェース</strong>モジュールの 設 定<br />
GpibSetConfig 関 数 で、デリミタ 等 の<strong>インタフェース</strong>モジュールの 設 定 を 行 います。この 関 数<br />
を 実 行 しない 場 合 は、 初 期 値 で 設 定 されます。 初 期 値 については、コントロールパネルで 設 定<br />
した 値 が 使 用 されます。また、この 関 数 は 初 期 化 の 実 行 後 は 何 度 でも 実 行 できます。<br />
GpibSetConfig( ulBoardNo, "/SDELIM=EOI /RDELIM=CRLF+EOI" );<br />
3. GP-IB <strong>インタフェース</strong>の 初 期 化<br />
GpibSetIfc 関 数 を 使 用 して GP-IB バスの 初 期 化 を 行 います。 続 いて、GpibSetRen 関 数 を 使 用<br />
して REN 信 号 を 有 効 にします。<br />
GpibSetIfc( ulBoardNo );<br />
GpibSetRen( ulBoardNo );<br />
4. 送 信<br />
送 りたいデータを GpibSend 関 数 で 指 定 した 機 器 に 対 して 送 信 します。<br />
機 器 アドレステーブルの 終 端 には 必 ず -1 を 代 入 してください。<br />
int nAdrsTbl[8];<br />
・<br />
nAdrsTbl[0] = 1; // 制 御 する 測 定 機 器 のアドレス<br />
nAdrsTbl[1] = -1; // アドレステーブルの 終 端<br />
・<br />
GpibSend( ulBoardNo, nAdrsTbl, 10, "0123456789" );<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
29
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
5. 受 信<br />
受 信 データおよび 受 信 データ 長 を GpibReceive 関 数 で 指 定 した 機 器 から 受 信 します。<br />
受 信 バッファサイズの 指 定 はデリミタサイズも 含 めて 充 分 余 裕 を 持 って 指 定 してください。こ<br />
れは、 機 器 から 送 られてくるデータ 長 が 10 バイトと 判 明 しており、デリミタに CRLF を 指 定<br />
している 場 合 、 受 信 バッファサイズは 最 低 12 バイト 必 要 であることを 示 します。<br />
int nAdrsTbl[8];<br />
DWORD dwLen;<br />
char szData[1024];<br />
・<br />
nAdrsTbl[0] = 1; // 制 御 する 測 定 機 器 のアドレス<br />
nAdrsTbl[1] = -1; // アドレステーブルの 終 端<br />
・<br />
dwLen = 1024; // 受 信 バッファのサイズ<br />
GpibReceive( ulBoardNo, nAdrsTbl, &dwLen, szData );<br />
関 数 呼 び 出 し 後 に、 変 数 dwLen には 実 際 に 受 信 したデータ 長 が 格 納 されています。<br />
6. シリアル・ポール 実 行<br />
GpibExecSpoll( ulBoardNo, nAdrsTbl, nStbTbl, nStbAdrs ); // シリアル・ポール 実 行<br />
7. SRQ イベントコールバックの 登 録 / 解 除<br />
SRQ イベントが 発 生 した 時 に、 登 録 した 関 数 を 実 行 させることができます。<br />
これをコールバックイベント 機 能 と 呼 びます。<br />
GpibSetSrqEvent 関 数 にてイベントが 発 生 した 時 にコールされる 関 数 を 登 録 します。<br />
イベントが 発 生 すると、 設 定 した 関 数 がコールされます。<br />
GpibWaitSrqEvent 関 数 にてタイムアウトを 設 定 し、イベントを 待 つことができます。<br />
イベントの 処 理 が 必 要 なくなった 場 合 は、GpibKillSrqEvent 関 数 でコールバック 関 数 の 登 録 を<br />
解 除 します。<br />
8. 終 了 処 理<br />
<strong>インタフェース</strong>モジュールを GpibClose 関 数 で 使 用 終 了 します。<br />
必 ず 本 関 数 を 実 行 して 処 理 を 終 了 してください。<br />
GpibClose( ulBoardNo );<br />
2.~6.は 初 期 化 、 終 了 の 間 で 繰 り 返 し 実 行 できます(ただし、3.だけは 最 初 の 1 回 のみの 実 行 と<br />
なります)。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
30
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
3.6 機 器 アドレステーブルについて<br />
機 器 アドレステーブルには、1 次 、2 次 アドレスを 混 在 して 複 数 台 の 機 器 を 指 定 することができます。<br />
コントローラ 時 、 機 器 の 指 定 が 必 要 な 関 数 にて 機 器 アドレステーブルを 引 数 とする 場 合 、 以 下 のよう<br />
に int 型 ( 整 数 型 )の 配 列 に 機 器 のアドレスを 設 定 して 使 用 します。<br />
3.6.1 データ 送 信 時<br />
弊 社 GP-IB <strong>インタフェース</strong>からデータを 送 信 し、 指 定 機 器 で 受 信 します。<br />
アドレスとして 指 定 するのは 全 て 受 信 先 機 器 のアドレスとなります。<br />
■1 次 アドレスのみの 場 合 (1 台 だけを 指 定 する 場 合 )<br />
配 列 Index 格 納 値<br />
0 1 次 アドレス<br />
1 終 端 (-1)<br />
【 例 】<br />
受 信 先 機 器 のアドレスが 1 次 アドレス=2 の 場 合<br />
●C 言 語<br />
int nAdrs[2] = { 2, -1 };<br />
●Visual Basic<br />
Dim nAdrs(1) As Long<br />
nAdrs(0) = 2<br />
nAdrs(1) = -1<br />
●Delphi<br />
var<br />
nAdrs[0..2] of Integer;<br />
nAdrs[0] := 2;<br />
nAdrs[1] := -1;<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
31
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
■2 次 アドレスを 設 定 した 場 合 (1 台 だけを 指 定 する 場 合 )<br />
配 列 Index 格 納 値<br />
0 1 次 アドレス<br />
1 2 次 アドレス<br />
2 終 端 (-1)<br />
【 例 】<br />
受 信 先 機 器 のアドレスが 1 次 アドレス=2、2 次 アドレス=96 の 場 合<br />
●C 言 語<br />
int nAdrs[3] = { 2, 96, -1 };<br />
●Visual Basic<br />
Dim nAdrs(2) As Long<br />
nAdrs(0) = 2<br />
nAdrs(1) = 96<br />
nAdrs(2) = -1<br />
●Delphi<br />
var<br />
nAdrs[0..3] of Integer;<br />
nAdrs[0] := 2;<br />
nAdrs[1] := 96;<br />
nAdrs[2] := -1;<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
32
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
■1 次 アドレスのみの 場 合 ( 複 数 台 を 指 定 する 場 合 )<br />
配 列 Index 格 納 値<br />
0 1 次 アドレス<br />
1 1 次 アドレス<br />
…<br />
…<br />
n-1 1 次 アドレス<br />
n 終 端 (-1)<br />
【 例 】<br />
1 台 目 の 受 信 先 機 器 のアドレスが 1 次 アドレス=2、2 台 目 の 受 信 先 機 器 のアドレスが 1 次 アド<br />
レス=7 の 場 合 ( 本 ドライバが 送 信 したデータは 2 台 の 機 器 とも 同 じデータを 同 時 に 受 信 します)<br />
●C 言 語<br />
int nAdrs[3] = { 2, 7, -1 };<br />
●Visual Basic<br />
Dim nAdrs(2) As Long<br />
nAdrs(0) = 2<br />
nAdrs(1) = 7<br />
nAdrs(2) = -1<br />
●Delphi<br />
var<br />
nAdrs[0..3] of Integer;<br />
nAdrs[0] := 2;<br />
nAdrs[1] := 7;<br />
nAdrs[2] := -1;<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
33
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
■2 次 アドレスを 設 定 した 場 合 ( 複 数 台 を 指 定 する 場 合 )<br />
配 列 Index 格 納 値<br />
0 1 次 アドレス<br />
1 2 次 アドレス<br />
2 1 次 アドレス<br />
3 2 次 アドレス<br />
…<br />
…<br />
n-2 1 次 アドレス<br />
n-1 2 次 アドレス<br />
n 終 端 (-1)<br />
【 例 】<br />
1 台 目 の 受 信 先 機 器 のアドレスが 1 次 アドレス=2、2 次 アドレス=96、2 台 目 の 受 信 先 機 器 のア<br />
ドレスが 1 次 アドレス=7、2 次 アドレス=97 の 場 合 ( 本 ドライバが 送 信 したデータは 2 台 の 機<br />
器 とも 同 じデータを 同 時 に 受 信 します)<br />
●C 言 語<br />
int nAdrs[5] = { 2, 96, 7, 97, -1 };<br />
●Visual Basic<br />
Dim nAdrs(4) As Long<br />
nAdrs(0) = 2<br />
nAdrs(1) = 96<br />
nAdrs(2) = 7<br />
nAdrs(3) = 97<br />
nAdrs(4) = -1<br />
●Delphi<br />
var<br />
nAdrs[0..5] of Integer;<br />
nAdrs[0] := 2;<br />
nAdrs[1] := 96;<br />
nAdrs[2] := 7;<br />
nAdrs[3] := 97;<br />
nAdrs[4] := -1;<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
34
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
3.6.2 データ 受 信 時<br />
配 列 の 先 頭 位 置 に 記 述 されたアドレスの 機 器 からデータを 送 信 し、 弊 社 GP-IB <strong>インタフェース</strong>(お<br />
よび、 配 列 に 続 けて 記 述 されたアドレスの 機 器 )で 受 信 します。<br />
配 列 の 先 頭 位 置 に 記 述 されたアドレスが、 送 信 機 器 アドレスとなります。<br />
この 時 、 他 に 受 信 させる 機 器 を 指 定 する 場 合 には、 続 いて 機 器 アドレスを 記 述 することにより 設 定 し<br />
ます。<br />
■1 次 アドレスのみの 場 合 (1 台 だけを 指 定 する 場 合 )<br />
配 列 Index<br />
格 納 値<br />
0 1 次 アドレス( 送 信 機 器 )<br />
1 終 端 (-1)<br />
【 例 】<br />
送 信 元 機 器 のアドレスが 1 次 アドレス=2 の 場 合<br />
●C 言 語<br />
int nAdrs[2] = { 2, -1 };<br />
●Visual Basic<br />
Dim nAdrs(1) As Long<br />
nAdrs(0) = 2<br />
nAdrs(1) = -1<br />
●Delphi<br />
var<br />
nAdrs[0..2] of Integer;<br />
nAdrs[0] := 2;<br />
nAdrs[1] := -1;<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
35
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
■2 次 アドレスを 設 定 した 場 合 (1 台 だけを 指 定 する 場 合 )<br />
配 列 Index<br />
格 納 値<br />
0 1 次 アドレス( 送 信 機 器 )<br />
1 2 次 アドレス( 送 信 機 器 )<br />
2 終 端 (-1)<br />
【 例 】<br />
送 信 元 機 器 のアドレスが 1 次 アドレス=2、2 次 アドレス=96 の 場 合<br />
●C 言 語<br />
int nAdrs[3] = { 2, 96, -1 };<br />
●Visual Basic<br />
Dim nAdrs(2) As Long<br />
nAdrs(0) = 2<br />
nAdrs(1) = 96<br />
nAdrs(2) = -1<br />
●Delphi<br />
var<br />
nAdrs[0..3] of Integer;<br />
nAdrs[0] := 2;<br />
nAdrs[1] := 96;<br />
nAdrs[2] := -1;<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
36
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
■1 次 アドレスのみの 場 合 ( 他 の 受 信 機 器 も 指 定 する 場 合 )<br />
配 列 Index<br />
格 納 値<br />
0 1 次 アドレス( 送 信 機 器 )<br />
1 1 次 アドレス( 受 信 機 器 )<br />
…<br />
…<br />
n-1 1 次 アドレス( 受 信 機 器 )<br />
n 終 端 (-1)<br />
【 例 】<br />
送 信 元 機 器 のアドレスが 1 次 アドレス=2、 受 信 先 機 器 のアドレスが 1 次 アドレス=7 の 場 合 (1<br />
台 目 の 機 器 が 送 信 したデータを 本 ドライバと 受 信 先 の 機 器 とが 同 時 に 受 信 します)<br />
●C 言 語<br />
int nAdrs[3] = { 2, 7, -1 };<br />
●Visual Basic<br />
Dim nAdrs(2) As Long<br />
nAdrs(0) = 2<br />
nAdrs(1) = 7<br />
nAdrs(2) = -1<br />
●Delphi<br />
var<br />
nAdrs[0..3] of Integer;<br />
nAdrs[0] := 2;<br />
nAdrs[1] := 7;<br />
nAdrs[2] := -1;<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
37
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
■2 次 アドレスを 設 定 した 場 合 ( 他 の 受 信 機 器 も 指 定 する 場 合 )<br />
配 列 Index<br />
格 納 値<br />
0 1 次 アドレス( 送 信 機 器 )<br />
1 2 次 アドレス( 送 信 機 器 )<br />
2 1 次 アドレス( 受 信 機 器 )<br />
3 2 次 アドレス( 受 信 機 器 )<br />
…<br />
…<br />
n-2 1 次 アドレス( 受 信 機 器 )<br />
n-1 2 次 アドレス( 受 信 機 器 )<br />
n 終 端 (-1)<br />
【 例 】<br />
送 信 元 機 器 のアドレスが 1 次 アドレス=2、2 次 アドレス=96、 受 信 先 機 器 のアドレスが 1 次 ア<br />
ドレス=7、2 次 アドレス=97 の 場 合 (1 台 目 の 機 器 が 送 信 したデータを 本 ドライバと 受 信 先 の<br />
機 器 とが 同 時 に 受 信 します)<br />
●C 言 語<br />
int nAdrs[5] = { 2, 96, 7, 97, -1 };<br />
●Visual Basic<br />
Dim nAdrs(4) As Long<br />
nAdrs(0) = 2<br />
nAdrs(1) = 96<br />
nAdrs(2) = 7<br />
nAdrs(3) = 97<br />
nAdrs(4) = -1<br />
●Delphi<br />
var<br />
nAdrs[0..5] of Integer;<br />
nAdrs[0] := 2;<br />
nAdrs[1] := 96;<br />
nAdrs[2] := 7;<br />
nAdrs[3] := 97;<br />
nAdrs[4] := -1;<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
38
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
第 4 章 リファレンス<br />
4.1 高 機 能 版 DLL<br />
4.1.1 関 数 一 覧<br />
No 関 数 名 機 能<br />
1 PciGpibExInitBoard <strong>インタフェース</strong>モジュールの 初 期 化 を 行 います。<br />
2 PciGpibExFinishBoard <strong>インタフェース</strong>モジュールの 使 用 を 終 了 します。<br />
3 PciGpibExGetInfo <strong>インタフェース</strong>モジュールの 情 報 を 取 得 します。<br />
4 PciGpibExSetConfig ドライバの 動 作 パラメータを 設 定 / 変 更 します。<br />
5 PciGpibExGetConfig ドライバの 動 作 パラメータを 取 得 します。<br />
6 PciGpibExSetIfc IFC の 送 出 を 行 います。<br />
(System Controller のみ)<br />
7 PciGpibExSetRen REN ラインをセットします。<br />
(System Controller のみ)<br />
8 PciGpibExResetRen REN ラインをリセットします。<br />
(System Controller のみ)<br />
9 PciGpibExSetRemote 指 定 した 機 器 をリモートモードに 設 定 します。<br />
(System Controller のみ)<br />
10 PciGpibExExecTrigger 指 定 した 機 器 に 対 してトリガを 行 います。<br />
(CIC – Master のみ)<br />
11 PciGpibExExecDevClear 全 ての 機 器 に 対 してデバイスクリアを 行 います。<br />
(CIC – Master のみ)<br />
12 PciGpibExExecSdc 指 定 した 機 器 に 対 してデバイスクリアを 行 います。<br />
(CIC – Master のみ)<br />
13 PciGpibExSetLocal 指 定 した 機 器 をローカルモードに 設 定 します。<br />
(CIC – Master のみ)<br />
14 PciGpibExSetLlo 全 ての 機 器 をローカルロックアウト 状 態 に 設 定 します。<br />
(CIC – Master のみ)<br />
15 PciGpibExSetRwls 指 定 した 機 器 をリモートロックアウト 状 態 に 設 定 します。<br />
(System Controller のみ)<br />
16 PciGpibExExecPassCtrl 指 定 した 機 器 に 対 してパス・コントロールを 行 います。<br />
(CIC – Master のみ)<br />
17 PciGpibExExecFindListen<br />
er<br />
バス 上 に 接 続 されているリスナを 探 します。<br />
(CIC – Master のみ)<br />
18 PciGpibExExecDevReset 指 定 した 機 器 を 完 全 にリセットします。<br />
(System Controller のみ)<br />
19 PciGpibExReSysCtrl システムコントローラの 要 求 または 解 除 を 行 います。<br />
(System Controller のみ)<br />
20 PciGpibExGoStandby コマンドモードからデータモードへ 遷 移 させます。<br />
(CIC – Master のみ)<br />
21 PciGpibExGoActCtrller データモードからコマンドモードへ 遷 移 させます。<br />
(CIC – Master のみ)<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
39
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
No 関 数 名 機 能<br />
22 PciGpibExExecSpoll 指 定 した 機 器 をシリアルポーリングします。<br />
(CIC – Master のみ)<br />
23 PciGpibExCheckSrq SRQ 受 信 の 有 効 / 無 効 を 確 認 します。<br />
(CIC – Master のみ)<br />
24 PciGpibExClearSrq SRQ 受 信 フラグのクリアを 行 います。<br />
(CIC – Master のみ)<br />
25 PciGpibExEnableSrq SRQ 受 信 の 許 可 を 行 います。<br />
(CIC – Master のみ)<br />
26 PciGpibExDisableSrq SRQ 受 信 の 禁 止 を 行 います。<br />
(CIC – Master のみ)<br />
27 PciGpibExExecPpoll パラレルポーリングを 行 います。<br />
(CIC – Master のみ)<br />
28 PciGpibExCfgPpoll パラレルポール 応 答 条 件 を 設 定 します。<br />
(CIC - Master のみ)<br />
29 PciGpibExUnCfgPpoll パラレルポール 応 答 条 件 を 解 除 します。<br />
(CIC - Master のみ)<br />
30 PciGpibExWriteBusCmd バスコマンドの 送 出 を 行 います。<br />
(CIC - Master のみ)<br />
31 PciGpibExSetSignal 事 象 変 化 検 出 条 件 の 設 定 を 行 います。<br />
32 PciGpibExWaitSignal 事 象 変 化 検 出 を 待 ちます。<br />
33 PciGpibExGetStatus 現 在 のバス・ステータスを 取 得 します。<br />
34 PciGpibExClrStatus 現 在 のバス・ステータスのクリアを 行 います。<br />
35 PciGpibExGetBusLine GP-IB バスラインの 状 態 を 取 得 します。<br />
36 PciGpibExSetBusLine GP-IB バスの 各 ラインを 直 接 制 御 (アサート)します。<br />
37 PciGpibExMastSendData バスにデータの 送 信 を 行 います。<br />
(CIC - Master のみ)<br />
38 PciGpibExMastRecvData バスからデータの 受 信 を 行 います。<br />
(CIC - Master のみ)<br />
39 PciGpibExMastSendFile ファイルから 読 み 込 んだデータをバスに 送 信 します。<br />
(CIC - Master のみ)<br />
40 PciGpibExMastRecvFile バスから 受 信 したデータをファイルに 書 き 込 みます。<br />
(CIC - Master のみ)<br />
41 PciGpibExSlavSendData バスにデータの 送 信 を 行 います。<br />
(CIC - Master / Not CIC - Slave)<br />
42 PciGpibExSlavRecvData バスからデータの 受 信 を 行 います。<br />
(CIC - Master / Not CIC - Slave)<br />
43 PciGpibExSlavSendFile ファイルから 読 み 込 んだデータをバスに 送 信 します。<br />
(CIC - Master / Not CIC - Slave)<br />
44 PciGpibExSlavRecvFile バスから 受 信 したデータをファイルに 書 き 込 みます。<br />
(CIC - Master / Not CIC - Slave)<br />
45 PciGpibExSlavCheckStb コントローラからシリアルポーリングされたかを 確 認 します。<br />
46 PciGpibExSlavSetSrq SRQ の 送 出 (サービス 要 求 )を 行 います。<br />
47 PciGpibExSlavSetIst パラレル・ポール 応 答 フラグを 設 定 します。<br />
48 PciGpibExSlavSetPp2 パラレル・ポール 応 答 モード(pp2)を 設 定 します。<br />
49 PciGpibExWaitTimer 指 定 した 時 間 待 ちます。<br />
50 PciGpibExStartTimer 汎 用 タイマのスタートを 行 います。<br />
51 PciGpibExClearTimer 汎 用 タイマのカウンタ 値 のクリアを 行 います。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
40
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
No 関 数 名 機 能<br />
52 PciGpibExReadTimer 汎 用 タイマのカウンタ 値 の 読 み 出 しを 行 います。<br />
53 PciGpibExStopTimer 汎 用 タイマの 停 止 を 行 います。<br />
54 PciGpibExSetSrqEvent SRQ コールバックイベントを 登 録 します。<br />
(CIC - Master のみ)<br />
55 PciGpibExWaitSrqEvent SRQ コールバックイベントを 待 ちます。<br />
(CIC - Master のみ)<br />
56 PciGpibExKillSrqEvent SRQ コールバックイベントの 登 録 を 解 除 します。<br />
(CIC - Master のみ)<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
41
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
4.1.2 関 数 個 別 説 明<br />
1. PciGpibExInitBoard<br />
【 機 能 】<br />
<strong>インタフェース</strong>モジュールの 初 期 化 を 行 います。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExInitBoard (<br />
int BoardNo,<br />
HWND Wnd<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExInitBoard Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByVal Wnd As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExInitBoard (<br />
BoardNo : Integer;<br />
Wnd : Cardinal<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
<strong>インタフェース</strong>モジュール 上 のロータリスイッチの 値 がボードアクセス 番 号 となります。<br />
CardBus シリーズにつきましては、CardBus ID 設 定 ユーティリティで 設 定 した ID がボー<br />
ドアクセス 番 号 となります。<br />
※ 複 数 枚 使 用 時 、ボードアクセス 番 号 はそれぞれの<strong>インタフェース</strong>モジュールで 重 複 しな<br />
い 番 号 を 割 り 振 ってください。<br />
Wnd<br />
アプリケーションのウィンドウハンドルを 指 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
42
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 備 考 】<br />
あらかじめコントロールパネルにて、ボードアクセス 番 号 に 対 応 するデバイスの 初 期 設 定 して<br />
おく 必 要 があります。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExInitBoard( 0, hWnd );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExInitBoard( 0, 0 ) ' Visual Basic ではウィンドウハンドルに<br />
' 0を 指 定 してください<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExInitBoard( 0, TfrmInitBoard.HANDLE);<br />
<strong>インタフェース</strong>モジュールを 初 期 化 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
43
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
2. PciGpibExFinishBoard<br />
【 機 能 】<br />
<strong>インタフェース</strong>モジュールの 使 用 を 終 了 します。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExFinishBoard (<br />
int BoardNo<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExFinishBoard Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExFinishBoard (<br />
BoardNo : Integer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExFinishBoard( 0 );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExFinishBoard( 0 )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExFinishBoard( 0 );<br />
<strong>インタフェース</strong>モジュールの 使 用 を 終 了 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
44
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
3. PciGpibExGetInfo<br />
【 機 能 】<br />
設 定 情 報 を 取 得 します。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExGetInfo(<br />
int<br />
BoardNo,<br />
int<br />
PrmNo,<br />
ULONG* GetPrm<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExGetInfo Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByVal PrmNo As Long, _<br />
ByRef GetPrm As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExGetInfo (<br />
BoardNo : Integer;<br />
PrmNo : Integer;<br />
var GetPrm : Integer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
PrmNo<br />
<strong>インタフェース</strong>モジュールの 設 定 情 報 を 取 得 するためのパラメータ 番 号 を 指 定 します。<br />
パラメータ 番 号<br />
説 明<br />
0 ベースアドレス<br />
<strong>インタフェース</strong>モジュールのベースアドレスを 取 得 します。<br />
1 割 り 込 み 番 号<br />
<strong>インタフェース</strong>モジュールの 割 り 込 み 番 号 を 取 得 します。<br />
2 動 作 モード<br />
<strong>インタフェース</strong>モジュールの 初 期 化 時 の 動 作 モードを 取 得 します。<br />
0: コントローラ<br />
1: 非 コントローラ<br />
GetPrm<br />
情 報 を 格 納 する 変 数 へのポインタ( 参 照 渡 し)を 指 定 してください。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
45
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
ULONG GetPrm;<br />
Ret = PciGpibExGetInfo( 0, 2, &GetPrm );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim GetPrm As Long<br />
Ret = PciGpibExGetInfo( 0, 2, GetPrm )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
GetRrm : Integer;<br />
Ret := PciGpibExGetInfo( 0, 2, GetPrm );<br />
ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールの 動 作 モードを 取 得 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
46
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
4. PciGpibExSetConfig<br />
【 機 能 】<br />
ドライバの 動 作 パラメータを 設 定 / 変 更 します。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExSetConfig (<br />
int BoardNo,<br />
char* Config<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExSetConfig Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByVal Config As String _<br />
) As Long<br />
●Delphi<br />
function PciGpibExSetConfig (<br />
BoardNo : Integer;<br />
Config : String<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
Config<br />
設 定 に 関 する 各 種 情 報 を 含 んだ 文 字 列 を 指 定 してください。<br />
指 定 のなかった 項 目 に 対 しては、 初 期 値 が 設 定 されます。<br />
設 定 情 報 の 各 パラメータを 以 下 に 示 します。 各 パラメータは、スペースで 区 切 ってくださ<br />
い。 各 パラメータ 文 字 列 の 中 にはスペースを 入 れないようにしてください。<br />
文 字 列 の 最 後 に NULL 文 字 を 入 れてください。<br />
項 目 文 字 列 内 容<br />
送 受 信 タイムアウト "/TMO=" 送 受 信 時 に 使 用 するタイムアウト 時 間 ( 単 位 :100ms)<br />
を 1~65535 で 設 定 します。<br />
デフォルトは、コントロールパネルアプレットでの<br />
設 定 値 が 使 用 されます。<br />
STB 応 答 時 間 "/SRT=" シリアルポール 時 のステータスバイト 応 答 時 間 ( 単<br />
位 :100ms)を 1~65535 で 設 定 します。<br />
デフォルトは、コントロールパネルアプレットでの<br />
設 定 値 が 使 用 されます。<br />
事 象 変 化 検 出 タイムア "/STM=" 事 象 変 化 検 出 (PciGpibExSetSignal 関 数 、<br />
ウト<br />
PciGpibExWaitSignal 関 数 )でのタイムアウト 時 間<br />
( 単 位 :100ms)を 設 定 します。<br />
0:タイムアウトなし<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
47
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
項 目 文 字 列 内 容<br />
送 信 デリミタ<br />
"/SDELIM="<br />
1~65535:タイムアウトあり<br />
デフォルトは、コントロールパネルアプレットでの<br />
設 定 値 が 使 用 されます。<br />
送 信 時 に 使 用 するデリミタを 設 定 します。<br />
デフォルトは、コントロールパネルアプレットでの<br />
設 定 値 が 使 用 されます。<br />
"NO" デリミタ 無 し<br />
"EOI" EOI<br />
"CR" CR<br />
"CR+EOI" CR+EOI<br />
"LF" LF<br />
"LF+EOI" LF+EOI<br />
"CRLF" CRLF<br />
"CRLF+EO CRLF+EOI<br />
I"<br />
"NULL" NULL (0x00)<br />
"!x" 感 嘆 符 に 続 く 任 意 の 1 文 字 をデリミタ<br />
受 信 デリミタ<br />
"/RDELIM="<br />
とする<br />
受 信 時 に 使 用 するデリミタを 設 定 します。<br />
デフォルトは、コントロールパネルアプレットでの<br />
設 定 値 が 使 用 されます。<br />
"NO" デリミタ 無 し<br />
"EOI" EOI<br />
"CR" CR<br />
"CR+EOI" CR+EOI<br />
"LF" LF<br />
"LF+EOI" LF+EOI<br />
"CRLF" CRLF<br />
"CRLF+EO CRLF+EOI<br />
I"<br />
"NULL" NULL (0x00)<br />
"!x" 感 嘆 符 に 続 く 任 意 の 1 文 字 をデリミタ<br />
非 同 期 入 出 力<br />
"/ASYNC="<br />
とする<br />
非 同 期 入 出 力 の 設 定 をします。<br />
"ON" データの 送 受 信 において、 非 同 期 によ<br />
る 入 出 力 を 行 います。<br />
"OFF" データの 送 受 信 において、 同 期 しての<br />
入 出 力 を 行 います。(デフォルト)<br />
1 次 アドレス "/MA=" 1 次 アドレスを 設 定 します。 範 囲 0~30<br />
デフォルトは、コントロールパネルアプレットでの<br />
設 定 値 が 使 用 されます。<br />
2 次 アドレス "/SA=" 2 次 アドレスを 設 定 します。 範 囲 :96~126<br />
96~126 以 外 の 値 を 設 定 すると 2 次 アドレスは 無 効<br />
となります。<br />
デフォルトは、コントロールパネルアプレットでの<br />
IEEE-488 バスハンドシ<br />
ェイクタイミング<br />
"/HSTMG="<br />
設 定 値 が 使 用 されます。<br />
IEEE-488 ソースハンドシェイク T1 タイミングの 設<br />
定 を 行 います。<br />
デフォルトは、コントロールパネルアプレットでの<br />
設 定 値 が 使 用 されます。<br />
0 T1 に 正 常 タイミング(2µs)<br />
1 T1 に 高 速 タイミング(500ns)<br />
2 T1 に 超 高 速 タイミング(350ns)<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
48
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
項 目 文 字 列 内 容<br />
"/PPETM="<br />
パラレルポール 実 行 時<br />
間<br />
NRFD 信 号 ラインアサ<br />
ート 待 ち[ 有 効 / 無 効 ]<br />
バスコマンド 送 信 タイ<br />
ムアウト<br />
コントローラ<br />
"/NRFDWAIT="<br />
"/CMDTMO="<br />
"/CONTROLLE<br />
R="<br />
パラレルポール 実 行 時 間 T6 の 設 定 を 行 います。<br />
デフォルトは、コントロールパネルアプレットでの<br />
設 定 値 が 使 用 されます。<br />
0 T6 を 2µs(デフォルト)<br />
1 T6 を 10µs<br />
コントローラデータ 送 信 の 最 終 データ 送 信 後 に<br />
GP-IB バスの NRFD 信 号 ラインがアサートされるま<br />
で「 待 つ」か「 待 たない」かの 設 定 を 行 います。<br />
「 待 ち 時 間 」には「データ 転 送 タイムアウト」の 時<br />
間 が 適 用 されます。<br />
"ON" NRFD 信 号 ラインがアサートされる<br />
まで 待 ちます。<br />
"OFF" NRFD 信 号 ラインのアサート 待 ちは<br />
無 効 となります。(デフォルト)<br />
GP-IB バスコマンド 送 信 時 に 使 用 するタイムアウト<br />
時 間 ( 単 位 :100ms)を 1~65536 で 設 定 します。<br />
デフォルトは、コントロールパネルアプレットでの<br />
設 定 値 が 使 用 されます。<br />
予 約 です。<br />
動 作 モードはコントロールパネルアプレットで 設 定<br />
してください。<br />
"ON" 予 約 です。<br />
"OFF" 予 約 です。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 各 設 定 情 報 のデフォルトは、コントロールパネルアプレットで 設 定 した 情 報 が 使 用 されます。<br />
「 送 受 信 タイムアウト 時 間 」および「STB 応 答 時 間 」には 0 を 指 定 しないようにしてくださ<br />
い。0 を 指 定 しますと、それぞれタイムアウト 時 間 が 0 となります。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExSetConfig( 0, "/SDELIM=CRLF /RDELIM=EOI" );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExSetConfig( 0, "/SDELIM=CRLF /RDELIM=EOI" )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
49
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExSetConfig( 0, '/SDELIM=CRLF /RDELIM=EOI' );<br />
ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールを 送 信 デリミタ CRLF、 受 信 デリミタ EOI<br />
として、 設 定 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
50
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
5. PciGpibExGetConfig<br />
【 機 能 】<br />
ドライバの 動 作 パラメータを 設 定 / 変 更 します。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExGetConfig (<br />
int BoardNo,<br />
int PrmNo,<br />
ULONG* GetPrm<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExSetConfig Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByVal PrmNo As Long, _<br />
ByRef GetPrm As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExSetConfig (<br />
BoardNo : Integer;<br />
PrmNo : Integer;<br />
GetPrm : Cardinal<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
PrmNo<br />
動 作 パラメータを 取 得 するためのパラメータ 番 号 を 指 定 します。<br />
PrmNo 項 目 内 容<br />
0 送 受 信 タイムアウト 送 受 信 時 に 使 用 するタイムアウト 時 間 ( 単 位 :100ms)<br />
を 取 得 します。<br />
1 STB 応 答 時 間 シリアルポール 時 のステータスバイト 応 答 時 間 ( 単<br />
位 :100ms) を 取 得 します。<br />
2<br />
3<br />
事 象 変 化 検 出 タイムアウト<br />
送 信 デリミタ<br />
事 象 変 化 検 出 でのタイムアウト 時 間 ( 単 位 :100ms)<br />
を 取 得 します。<br />
送 信 時 に 使 用 するデリミタを 取 得 します。<br />
0 デリミタ 無 し<br />
1 EOI<br />
2 CR<br />
3 CR+EOI<br />
4 LF<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
51
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
4 受 信 デリミタ<br />
5 LF+EOI<br />
6 CRLF<br />
7 CRLF+EOI<br />
8 NULL (0x00)<br />
9 感 嘆 符 に 続 く 任 意 の 1 文 字 をデリミタ<br />
とする<br />
受 信 時 に 使 用 するデリミタを 取 得 します。<br />
0 デリミタ 無 し<br />
1 EOI<br />
2 CR<br />
3 CR+EOI<br />
4 LF<br />
5 LF+EOI<br />
6 CRLF<br />
7 CRLF+EOI<br />
8 NULL (0x00)<br />
9 感 嘆 符 に 続 く 任 意 の 1 文 字 をデリミタ<br />
とする<br />
5 非 同 期 入 出 力<br />
非 同 期 入 出 力 の 取 得 をします。<br />
0 データの 送 受 信 において、 同 期 しての<br />
入 出 力 を 行 います。<br />
1 データの 送 受 信 において、 非 同 期 によ<br />
る 入 出 力 を 行 います。<br />
6 1 次 アドレス 1 次 アドレスを 取 得 します。<br />
7 2 次 アドレス 2 次 アドレスを 取 得 します。<br />
8 IEEE-488 バスハンドシェ<br />
イクタイミング<br />
9 パラレルポール 実 行 時 間<br />
255 のとき 2 次 アドレスは 無 効 です。<br />
IEEE-488 ソースハンドシェイク T1 タイミングの 取<br />
得 を 行 います。<br />
0 T1 に 正 常 タイミング(2µs)<br />
1 T1 に 高 速 タイミング(500ns)<br />
2 T1 に 超 高 速 タイミング(350ns)<br />
パラレルポール 実 行 時 間 T6 の 取 得 を 行 います。<br />
0 T6 を 2µs(デフォルト)<br />
1 T6 を 10µs<br />
GetPrm<br />
パラメータを 格 納 する 変 数 へのポインタ( 参 照 渡 し)を 指 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
ULONG GetPrm;<br />
Ret = PciGpibExGetConfig( 0, 0, &GetPrm );<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
52
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim GetRrm As Long<br />
Ret = PciGpibExGetConfig( 0, 0, GetPrm )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
GetPrm : Cardinal;<br />
Ret := PciGpibExGetConfig( 0, 0, GetPrm );<br />
ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールの 現 在 の 送 受 信 タイムアウト 時 間 を 取 得<br />
します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
53
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
6. PciGpibExSetIfc<br />
【 機 能 】<br />
IFC 信 号 の 送 出 を 行 います。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExSetIfc(<br />
int BoardNo,<br />
int Time<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExSetIfc Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByVal Time As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExSetIfc (<br />
BoardNo : Integer;<br />
Time : Integer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
Time<br />
IFC 送 出 時 間 (1~255)を 指 定 します。<br />
100µs 単 位 で IFC 送 出 時 間 を 設 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はシステムコントローラでのみ 使 用 できます。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExSetIfc( 0, 1 );<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
54
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExSetIfc( 0, 1 )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExSetIfc( 0, 1 );<br />
ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールから IFC 送 出 を 行 います。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
55
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
7. PciGpibExSetRen<br />
【 機 能 】<br />
REN 信 号 を 有 効 にします。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExSetRen (<br />
int BoardNo<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExSetRen Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExSetRen (<br />
BoardNo : Integer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はシステムコントローラでのみ 使 用 できます。<br />
・ システムコントローラとして IFC 送 出 に 引 き 続 いて REN 信 号 を 有 効 にすることで 機 器 をリ<br />
モート 状 態 に 設 定 します。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExSetRen( 0 );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExSetRen( 0 )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
56
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExSetRen( 0 );<br />
ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールの REN 信 号 を 有 効 にします。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
57
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
8. PciGpibExResetRen<br />
【 機 能 】<br />
REN 信 号 を 無 効 にします。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExResetRen(<br />
int BoardNo<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExResetRen Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExResetRen (<br />
BoardNo : Integer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はシステムコントローラでのみ 使 用 できます。<br />
・ すべてのデバイスをローカル 状 態 (フロント・パネル 制 御 可 )の 状 態 にします。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExResetRen( 0 );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExResetRen( 0 )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
58
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExResetRen( 0 );<br />
REN 信 号 を 無 効 にします。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
59
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
9. PciGpibExSetRemote<br />
【 機 能 】<br />
指 定 した 機 器 をリモートモードにします。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExSetRemote (<br />
int BoardNo,<br />
int* AdrsTbl<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExSetRemote Lib "gpc<strong>4304</strong>.dll”( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExSetRemote (<br />
BoardNo : Integer;<br />
AdrsTbl : Pointer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
AdrsTbl<br />
機 器 のアドレステーブルを 指 定 します。<br />
リモートモードに 設 定 する 機 器 のアドレステーブルへのポインタ( 参 照 渡 し)を 指 定 しま<br />
す。アドレステーブルへの 終 端 には 必 ず-1 を 設 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はシステムコントローラでのみ 使 用 できます。<br />
・ 機 器 を GP-IB による 制 御 可 能 状 態 とし,フロントパネルからの 制 御 を 禁 止 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
60
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
int AdrsTbl[2];<br />
AdrsTbl[0] = 2;<br />
AdrsTbl[1] = -1;<br />
Ret = PciGpibExSetRemote( 0, AdrsTbl );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim AdrsTbl(1) As Long<br />
AdrsTbl(0) = 2<br />
AdrsTbl(1) = -1<br />
Ret = PciGpibExSetRemote( 0, AdrsTbl(0) )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
AdrsTbl : Array[0..4] of Integer;<br />
AdrsTbl[0] := 2;<br />
AdrsTbl[1] := -1;<br />
Ret := PciGpibExSetRemote ( 0, @AdrsTbl[0] );<br />
ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールに 対 して AdrsTbl に 記 述 した 機 器 をリモー<br />
ト 状 態 に 設 定 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
61
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
10. PciGpibExExecTrigger<br />
【 機 能 】<br />
指 定 した 機 器 に 対 してトリガ 設 定 を 行 います。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExExecTrigger (<br />
int BoardNo,<br />
int* AdrsTbl<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExExecTrigger Lib "gpc<strong>4304</strong>.dll”( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExExecTrigger (<br />
BoardNo : Integer;<br />
AdrsTbl : Pointer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
AdrsTbl<br />
機 器 のアドレステーブルを 指 定 します。<br />
デバイストリガ 機 能 を 動 作 させる 機 器 のアドレステーブルへのポインタ( 参 照 渡 し)を 指<br />
定 します。アドレステーブルへの 終 端 には 必 ず-1 を 設 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージでのみ 使 用 できます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
62
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
int AdrsTbl[2];<br />
AdrsTbl[0] = 2;<br />
AdrsTbl[1] = -1;<br />
Ret = PciGpibExExecTrigger( 0, AdrsTbl );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim AdrsTbl(1) As Long<br />
AdrsTbl(0) = 2<br />
AdrsTbl(1) = -1<br />
Ret = PciGpibExExecTrigger( 0, AdrsTbl(0) )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
AdrsTbl : Array[0..4] of Integer;<br />
AdrsTbl[0] := 2;<br />
AdrsTbl[1] := -1;<br />
Ret := PciGpibExExecTrigger( 0, @AdrsTbl[0] );<br />
ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールから AdrsTbl に 記 述 した 機 器 に 対 してトリ<br />
ガ 設 定 を 行 います。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
63
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
11. PciGpibExExecDevClear<br />
【 機 能 】<br />
全 ての 機 器 に 対 してデバイスクリア 機 能 ( 装 置 の 初 期 化 )を 動 作 させます。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExExecDevClear (<br />
int BoardNo<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExExecDevClear Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExExecDevClear (<br />
BoardNo : Integer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージでのみ 使 用 できます。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExExecDevClear( 0 );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExExecDevClear( 0 )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
64
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExExecDevClear( 0 );<br />
ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールからデバイスクリアの 送 出 を 行 います。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
65
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
12. PciGpibExExecSdc<br />
【 機 能 】<br />
指 定 した 機 器 に 対 してデバイスクリア 機 能 ( 装 置 の 初 期 化 )を 動 作 させます。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExExecSdc (<br />
int BoardNo,<br />
int* AdrsTbl<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExExecSdc Lib "gpc<strong>4304</strong>.dll”( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExExecSdc (<br />
BoardNo : Integer;<br />
AdrsTbl : Pointer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
AdrsTbl<br />
機 器 のアドレステーブルを 指 定 します。<br />
デバイスクリア 機 能 を 動 作 させる 機 器 のアドレステーブルへのポインタ( 参 照 渡 し)を 指<br />
定 します。アドレステーブルへの 終 端 には 必 ず-1 を 設 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージでのみ 使 用 できます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
66
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
int AdrsTbl[2];<br />
AdrsTbl[0] = 2;<br />
AdrsTbl[1] = -1;<br />
Ret = PciGpibExExecSdc( 0, AdrsTbl );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim AdrsTbl(1) As Long<br />
AdrsTbl(0) = 2<br />
AdrsTbl(1) = -1<br />
Ret = PciGpibExExecSdc( 0, AdrsTbl(0) )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
AdrsTbl : Array[0..4] of Integer;<br />
AdrsTbl[0] := 2;<br />
AdrsTbl[1] := -1;<br />
Ret := PciGpibExExecSdc( 0, @AdrsTbl[0] );<br />
ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールから 指 定 した 機 器 に 対 してセレクテッドデ<br />
バイスクリアの 送 出 を 行 います。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
67
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
13. PciGpibExSetLocal<br />
【 機 能 】<br />
指 定 した 機 器 をローカル 状 態 にします(フロント・パネル 制 御 可 )。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExSetLocal (<br />
int BoardNo,<br />
int* AdrsTbl<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExSetLocal Lib "gpc<strong>4304</strong>.dll”( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExSetLocal (<br />
BoardNo : Integer;<br />
AdrsTbl : Pointer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
AdrsTbl<br />
機 器 のアドレステーブルを 指 定 します。<br />
ローカル 状 態 にさせる 機 器 のアドレステーブルへのポインタ( 参 照 渡 し)を 指 定 します。<br />
アドレステーブルへの 終 端 には 必 ず-1 を 設 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージでのみ 使 用 できます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
68
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
int AdrsTbl[2];<br />
AdrsTbl[0] = 2;<br />
AdrsTbl[1] = -1;<br />
Ret = PciGpibExSetLocal( 0, AdrsTbl );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim AdrsTbl(1) As Long<br />
AdrsTbl(0) = 2<br />
AdrsTbl(1) = -1<br />
Ret = PciGpibExSetLocal( 0, AdrsTbl(0) )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
AdrsTbl : Array[0..4] of Integer;<br />
AdrsTbl[0] := 2;<br />
AdrsTbl[1] := -1;<br />
Ret := PciGpibExSetLocal( 0, @AdrsTbl[0] );<br />
ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールから 指 定 した 機 器 に 対 してローカル 状 態 の<br />
設 定 を 行 います。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
69
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
14. PciGpibExSetLlo<br />
【 機 能 】<br />
全 ての 機 器 をローカル・ロックアウト 状 態 (フロントパネルからの 操 作 を 一 切 禁 止 の 状 態 )にし<br />
ます。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExSetLlo (<br />
int BoardNo<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExSetLlo Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExSetLlo (<br />
BoardNo : Integer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージでのみ 使 用 できます。<br />
・ 機 器 によっては、ローカルロックアウト 状 態 を 解 除 するためには、 電 源 を 再 投 入 しなけれ<br />
ばならないものもあります。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExSetLlo( 0 );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExSetLlo( 0 )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
70
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExSetLlo( 0 );<br />
ローカル・ロックアウトの 送 出 を 行 います。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
71
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
15. PciGpibExSetRwls<br />
【 機 能 】<br />
指 定 した 機 器 をリモート・ロックアウト 状 態 にします。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExSetRwls (<br />
int BoardNo,<br />
int* AdrsTbl<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExSetRwls Lib "gpc<strong>4304</strong>.dll”( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExSetRwls (<br />
BoardNo : Integer;<br />
AdrsTbl : Pointer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
AdrsTbl<br />
機 器 のアドレステーブルを 指 定 します。<br />
リモート・ロックアウト 状 態 にさせる 機 器 のアドレステーブルへのポインタ( 参 照 渡 し)<br />
を 指 定 します。アドレステーブルへの 終 端 には 必 ず-1 を 設 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はシステムコントローラでのみ 使 用 できます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
72
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
int AdrsTbl[2];<br />
AdrsTbl[0] = 2;<br />
AdrsTbl[1] = -1;<br />
Ret = PciGpibExSetRwls( 0, AdrsTbl );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim AdrsTbl(1) As Long<br />
AdrsTbl(0) = 2<br />
AdrsTbl(1) = -1<br />
Ret = PciGpibExSetRwls( 0, AdrsTbl(0) )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
AdrsTbl : Array[0..4] of Integer;<br />
AdrsTbl[0] := 2;<br />
AdrsTbl[1] := -1;<br />
Ret := PciGpibExSetRwls( 0, @AdrsTbl [0] );<br />
ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールから 指 定 した 機 器 に 対 してリモート・ロッ<br />
クアウトの 設 定 を 行 います。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
73
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
16. PciGpibExExecPassCtrl<br />
【 機 能 】<br />
指 定 した 機 器 に 対 してパス・コントロールを 行 います。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExExecPassCtrl (<br />
int BoardNo,<br />
int* AdrsTbl<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExExecPassCtrl Lib "gpc<strong>4304</strong>.dll”( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExExecPassCtrl (<br />
BoardNo : Integer;<br />
AdrsTbl : Pointer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
AdrsTbl<br />
機 器 のアドレステーブルを 指 定 します。<br />
コントロールを 渡 す 機 器 のアドレステーブルへのポインタ( 参 照 渡 し)を 指 定 します。ア<br />
ドレステーブルへの 終 端 には 必 ず-1 を 設 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージでのみ 使 用 できます。<br />
・ 本 関 数 を 実 行 することにより、 相 手 にコントローラ 機 能 があるかどうかに 関 係 なく、 本 イ<br />
ンタフェースモジュールはコントローラ・イン・チャージが 解 除 されます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
74
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
int AdrsTbl[2];<br />
AdrsTbl[0] = 2;<br />
AdrsTbl[1] = -1;<br />
Ret = PciGpibExExecPassCtrl( 0, AdrsTbl );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim AdrsTbl(1) As Long<br />
AdrsTbl(0) = 2<br />
AdrsTbl(1) = -1<br />
Ret = PciGpibExExecPassCtrl( 0, AdrsTbl(0) )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
AdrsTbl : Array[0..4] of Integer;<br />
AdrsTbl[0] := 2;<br />
AdrsTbl[1] := -1;<br />
Ret := PciGpibExExecPassCtrl( 0, @AdrsTbl[0] );<br />
ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールから 指 定 した 機 器 に 対 してパス・コントロ<br />
ールを 実 行 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
75
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
17. PciGpibExExecFindListener<br />
【 機 能 】<br />
バス 上 に 接 続 されているリスナ(デバイス)を 探 します。(IEEE 488.2 関 数 )<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExExecFindListener (<br />
int BoardNo,<br />
int* AdrsTbl,<br />
int* FindAdrsTbl,<br />
int* FindCnt<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExExecFindListener Lib "gpc<strong>4304</strong>.dll”( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long, _<br />
ByRef FindAdrsTbl As Long, _<br />
ByRef FindCnt As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExExecFindListener (<br />
BoardNo : Integer;<br />
AdrsTbl : Pointer;<br />
FindAdrsTbl : Pointer;<br />
FindCnt : Pointer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
AdrsTbl<br />
接 続 されているか 確 認 したいリスナ(デバイス)の GP-IB アドレスを 格 納 したテーブルへの<br />
ポインタ( 参 照 渡 し)を 指 定 します。<br />
アドレステーブルへの 終 端 には 必 ず-1 を 設 定 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
76
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
FindAdrsTbl<br />
見 つかった 機 器 のアドレスを 格 納 するテーブルへのポインタ( 参 照 渡 し)を 指 定 します。<br />
本 API 実 行 後 、AdrsTbl で 指 定 した 機 器 が 見 つかった 場 合 、その 機 器 のアドレスが 格 納 さ<br />
れます。<br />
この 引 数 に 指 定 するテーブルのサイズは、AdrsTbl テーブル 以 上 の 格 納 領 域 を 確 保 しておく<br />
必 要 があります。<br />
本 API 呼 び 出 し 後 、 自 動 で 終 端 に-1 が 付 加 されます。<br />
FindCnt<br />
見 つかった 機 器 の 総 数 を 格 納 する 変 数 へのポインタ( 参 照 渡 し)を 指 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージでのみ 使 用 できます。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
int AdrsTbl[2];<br />
int FindAdrsTbl[2];<br />
int FindCnt<br />
AdrsTbl[0] = 2;<br />
AdrsTbl[1] = -1;<br />
Ret = PciGpibExExecFindListener( 0, AdrsTbl, FindAdrsTbl, &FindCnt );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim AdrsTbl(1) As Long<br />
Dim FindAdrsTbl(1) As Long<br />
Dim FindCnt As Long<br />
AdrsTbl(0) = 2<br />
AdrsTbl(1) = -1<br />
Ret = PciGpibExExecFindListener( 0, AdrsTbl(0), FindAdrsTbl(0), FindCnt )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
77
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
AdrsTbl : Array[0..4] of Integer;<br />
FindAdrsTbl : Array[0..4] of Integer;<br />
FindCnt : Integer;<br />
AdrsTbl[0] := 2;<br />
AdrsTbl[1] := -1;<br />
Ret := PciGpibExExecFindListener( 0, @AdrsTbl[0], @FindAdrsTbl[0], @FindCnt );<br />
ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールから'AdrsTbl'に 格 納 されているアドレス<br />
の 探 索 を 実 行 し、 見 つかった 機 器 アドレスとその 総 数 を 取 得 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
78
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
18. PciGpibExExecDevReset<br />
【 機 能 】<br />
指 定 した 機 器 を 完 全 にリセットします。(IEEE 488.2 関 数 )<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExExecDevReset (<br />
uint BoardNo,<br />
int* AdrsTbl<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExExecDevReset Lib "gpc<strong>4304</strong>.dll”( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExExecDevReset (<br />
BoardNo : Integer;<br />
AdrsTbl : Pointer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
AdrsTbl<br />
機 器 のアドレステーブルを 指 定 します。<br />
リセット 機 能 を 動 作 させる 機 器 のアドレステーブルへのポインタ( 参 照 渡 し)を 指 定 しま<br />
す。アドレステーブルへの 終 端 には 必 ず-1 を 設 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はシステムコントローラでのみ 使 用 できます。<br />
・ 本 関 数 は 次 の 処 理 を 行 います。<br />
1.バスの 初 期 化<br />
IFC、 次 に REN がアクティブになります。その 結 果 、 全 てのデバイスはアドレスされてい<br />
ない 状 態 になり、GP-IB <strong>インタフェース</strong>モジュール(システムコントローラ)がコントロ<br />
ーラ・イン・チャージ(CIC)になります。<br />
2.メッセージ 交 換 初 期 化<br />
DCL バスコマンドが 全 ての 接 続 されたデバイスに 送 られます。その 結 果 として 全 ての IEEE<br />
488.2 規 格 にあったデバイスは 次 の Reset(RST)メッセージを 受 信 できるようになります。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
79
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
3.デバイス 初 期 化<br />
*RST メッセージが 引 数 'AdrsTbl'にて 指 定 されるアドレスのデバイスに 送 られます。<br />
その 結 果 として、デバイス 特 有 の 機 能 が 初 期 化 されます。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
int AdrsTbl[2];<br />
AdrsTbl[0] = 2;<br />
AdrsTbl[1] = -1;<br />
Ret = PciGpibExExecDevReset( 0, AdrsTbl );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim AdrsTbl(1) As Long<br />
AdrsTbl(0) = 2<br />
AdrsTbl(1) = -1<br />
Ret = PciGpibExExecDevReset( 0, AdrsTbl(0) )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
AdrsTbl : Array[0..4] of Integer;<br />
AdrsTbl[0] := 2;<br />
AdrsTbl[1] := -1;<br />
Ret := PciGpibExExecDevReset( 0, @AdrsTbl [0] );<br />
ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールから 指 定 した 機 器 に 対 してリセットの 実 行<br />
を 行 います。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
80
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
19. PciGpibExReSysCtrl<br />
【 機 能 】<br />
システムコントローラの 要 求 または 解 除 を 行 います。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExReSysCtrl (<br />
int BoardNo,<br />
int Mode<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExReSysCtrl Lib "gpc<strong>4304</strong>.dll”( _<br />
ByVal BoardNo As Long, _<br />
ByVal Mode As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExReSysCtrl (<br />
BoardNo : Integer;<br />
Mode : Integer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
Mode<br />
システムコントローラの 要 求 または 解 除 のモードを 指 定 します。<br />
パラメータ<br />
説 明<br />
0 システムコントローラの 解 除 を 行 います。<br />
1 システムコントローラの 要 求 を 行 います。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はシステムコントローラでのみ 使 用 できます。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExReSysCtrl( 0, 1 );<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
81
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExReSysCtrl( 0, 1 )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExReSysCtrl( 0, 1 );<br />
ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールからシステムコントローラの 要 求 を 行 いま<br />
す。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
82
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
20. PciGpibExGoStandby<br />
【 機 能 】<br />
<strong>インタフェース</strong>モジュールの 動 作 状 態 をコマンドモードからデータモードへ 遷 移 させます。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExGoStandby (<br />
int BoardNo,<br />
int Mode<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExGoStandby Lib "gpc<strong>4304</strong>.dll”( _<br />
ByVal BoardNo As Long, _<br />
ByVal Mode As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExGoStandby (<br />
BoardNo : Integer;<br />
Mode : Integer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
Mode<br />
データモードを 指 定 します。<br />
パラメータ<br />
説 明<br />
0 通 常 のデータモードに 遷 移 します。<br />
1 シャドウ・ハンドシェークモードに 遷 移 します。<br />
本 モード 指 定 時 、 機 器 間 のデータ 転 送 を 監 視 し、デリミタ 検 出 時 には 自 動 でコマン<br />
ドモードに 遷 移 します。デリミタ 指 定 には、 受 信 デリミタの 設 定 が 使 用 されます。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージでのみ 使 用 できます。<br />
・ 本 関 数 でシャドウ・ハンドシェークモードを 使 用 することにより、 自 分 自 身 が 関 与 しない<br />
機 器 間 でのデータ 転 送 を 行 うことができます。また 機 器 間 でのデータ 転 送 において、デリミ<br />
タ 検 出 時 に 自 動 でコマンドモードに 戻 ることができます。<br />
・ 本 関 数 を 使 用 してシャドウ・ハンドシェークを 行 う 場 合 、デリミタ 指 定 は 必 ず 行 うように<br />
してください。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
83
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExGoStandby( 0, 0 );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExGoStandby( 0, 0 )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExGoStandby( 0, 0 );<br />
ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールの 動 作 モードを 通 常 のデータモードに 遷 移<br />
させます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
84
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
21. PciGpibExGoActCtrller<br />
【 機 能 】<br />
<strong>インタフェース</strong>モジュールの 動 作 状 態 をデータモードからコマンドモードへ 遷 移 させます。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExGoActCtrller (<br />
int BoardNo,<br />
int Mode<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExGoActCtrller Lib "gpc<strong>4304</strong>.dll”( _<br />
ByVal BoardNo As Long, _<br />
ByVal Mode As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExGoActCtrller (<br />
BoardNo : Integer;<br />
Mode : Integer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
Mode<br />
コマンドモードへの 遷 移 方 法 を 指 定 します。<br />
パラメータ<br />
説 明<br />
0 非 同 期 にてコマンドモードへ 遷 移 します。<br />
1 同 期 してコマンドモードへ 遷 移 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
85
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージでのみ 使 用 できます。<br />
・ 本 関 数 は PciGpibExGoStandby 関 数 で 通 常 のデータモードに 遷 移 後 にアプリケーションプロ<br />
グラムでコマンドモードにするために 使 用 します。<br />
・ Mode=1( 同 期 してコマンドモードへ 遷 移 )を 使 用 する 場 合 には、<strong>インタフェース</strong>モジュール<br />
はリスナ 状 態 である 必 要 があります。<br />
・ <strong>インタフェース</strong>モジュールがトーカ 状 態 もしくはデータ 転 送 エラー 発 生 後 などの 場 合 には、<br />
Mode=0( 非 同 期 にてコマンドモードへ 遷 移 )を 使 用 してください。<br />
その 場 合 、データ 転 送 が 完 了 しているかどうかに 関 係 無 く、ただちにコマンドモードに 遷 移<br />
します。そのため、データ 転 送 完 了 を 確 認 後 に 実 行 するようにしてください。<br />
・ データ 転 送 実 行 中 に、Mode=0( 非 同 期 にてコマンドモードへ 遷 移 )で 本 API を 実 行 した 場 合 、<br />
タイミングによっては 転 送 中 のデータが 失 われる 可 能 性 があります。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExGoActCtrller( 0, 0 );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExGoActCtrller( 0, 0 )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExGoActCtrller( 0, 0 );<br />
動 作 モードをデータモードからコマンドモードへ 非 同 期 にて 遷 移 させます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
86
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
22. PciGpibExExecSpoll<br />
【 機 能 】<br />
指 定 した 機 器 に 対 してシリアル・ポーリングを 行 い、ステータス・バイトの 受 信 を 行 います。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExExecSpoll (<br />
int BoardNo,<br />
int* AdrsTbl,<br />
int* StbTbl,<br />
int* StbAdrs<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExExecSpoll Lib "gpc<strong>4304</strong>.dll”( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long, _<br />
ByRef StbTbl As Long, _<br />
ByRef StbAdrs As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExExecSpoll (<br />
BoardNo : Integer;<br />
AdrsTbl : Pointer;<br />
StbTbl : Pointer;<br />
StbAdrs : Pointer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
AdrsTbl<br />
シリアル・ポールを 行 う 機 器 のアドレステーブルへのポインタ( 参 照 渡 し)を 指 定 します。<br />
アドレステーブルへの 終 端 には 必 ず-1 を 設 定 します。<br />
StbTbl<br />
シリアル・ポーリングを 行 い 受 信 した 各 機 器 の 有 効 なステータス・バイトを 格 納 するテー<br />
ブルへのポインタ( 参 照 渡 し)を 指 定 します。<br />
本 関 数 呼 び 出 し 後 、 終 端 に-1 が 付 加 されます。<br />
StbAdrs<br />
SRQ を 送 出 し、 有 効 なステータス・バイトを 持 っていた 各 機 器 のアドレスを 格 納 するテー<br />
ブルへのポインタ( 参 照 渡 し)を 指 定 します。<br />
本 関 数 呼 び 出 し 後 、 終 端 に-1 が 付 加 されます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
87
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージでのみ 使 用 できます。<br />
・ 本 関 数 を 呼 び 出 す 際 は、PciGpibExCheckSrq 関 数 もしくは PciGpibExWaitSignal 関 数 にて、<br />
機 器 よりの SRQ を 受 け 付 けていることを 確 認 してから 呼 び 出 してください。<br />
・ アドレステーブルに 複 数 の 機 器 アドレスを 指 定 することにより、 複 数 の 機 器 に 対 してシリ<br />
アル・ポーリングを 行 うことが 可 能 です。<br />
ステータス・バイト 格 納 テーブルと SRQ 送 出 機 器 アドレス 格 納 テーブルには、 機 器 の 数 + 終<br />
端 を 格 納 することができる 領 域 を 確 保 しておく 必 要 があります。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
int AdrsTbl[2];<br />
int StbTbl[2];<br />
int StbAdrs[2];<br />
AdrsTbl[0] = 2;<br />
AdrsTbl[1] = -1;<br />
Ret = PciGpibExExecSpoll( 0, AdrsTbl, StbTbl, StbAdrs );<br />
●Visual Basic<br />
Dim nRet As Long<br />
Dim AdrsTbl(1) As Long<br />
Dim StbTbl(1) As Long<br />
Dim StbAdrs(1) As Long<br />
AdrsTbl(0) = 2<br />
AdrsTbl(1) = -1<br />
Ret = PciGpibExExecSpoll( 0, AdrsTbl(0), StbTbl(0), StbAdrs(0) )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
88
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
AdrsTbl : Array[0..4] of Integer;<br />
StbTbl : Array[0..4] of Integer;<br />
StbAdrs : Array[0..4] of Integer;<br />
AdrsTbl[0] := 2;<br />
AdrsTbl[1] := -1;<br />
Ret := PciGpibExExecSpoll( 0, @AdrsTbl[0], @StbTbl[0], @StbAdrs[0]);<br />
ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールから AdrsTbl に 記 述 される 各 機 器 に 対 して<br />
シリアル・ポーリングを 実 行 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
89
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
23. PciGpibExCheckSrq<br />
【 機 能 】<br />
SRQ 信 号 受 信 フラグの 有 効 / 無 効 を 確 認 します。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExCheckSrq (<br />
int BoardNo<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExCheckSrq Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExCheckSrq (<br />
BoardNo : Integer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 しますと、 以 下 の 値 を 返 します。<br />
戻 り 値<br />
意 味<br />
5 SRQ 信 号 を 受 け 付 けていません。<br />
4 SRQ 信 号 を 受 け 付 けています。<br />
上 記 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージ/ 非 コントローラ・イン・チャージの 両 方 の 状 態 に<br />
て 使 用 できます。<br />
・ PciGpibExInitBoard 関 数 実 行 後 は SRQ 受 信 割 り 込 み 許 可 状 態 となっています。<br />
・ 本 関 数 を 実 行 後 、 機 器 からの SRQ 信 号 がアサート( 有 効 )になっている 場 合 には、 機 器 から<br />
のステータスバイトを 受 信 するために、 必 ず PciGpibExExecSpoll 関 数 を 実 行 してください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExCheckSrq( 0 );<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
90
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExCheckSrq( 0 )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExCheckSrq( 0 );<br />
SRQ 受 信 フラグの 有 効 / 無 効 を 確 認 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
91
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
24. PciGpibExClearSrq<br />
【 機 能 】<br />
SRQ 受 信 フラグのクリアを 行 います。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExClearSrq (<br />
int BoardNo<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExClearSrq Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExClearSrq (<br />
BoardNo : Integer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージでのみ 使 用 できます。<br />
・ SRQ 受 信 フラグが 有 効 にも 関 わらず、シリアル・ポーリング 実 行 後 、SRQ 発 信 機 器 が 検 出 で<br />
きなかった 場 合 において、 本 関 数 にて 強 制 的 に SRQ 受 信 フラグのクリアを 行 います。<br />
・ 本 関 数 にてソフトウェアが 保 持 している SRQ 受 信 フラグのクリアを 行 いますが、これによ<br />
って、GP-IB バスラインの SRQ 信 号 がデアサート( 信 号 無 効 状 態 )にはなりません。<br />
・ 意 図 しない GP-IB バスラインの SRQ 信 号 アサート 状 態 を 解 除 するためには、SRQ 信 号 をアサ<br />
ートした 該 当 機 器 が SRQ 信 号 をデアサートさせるか、または 全 ての 機 器 の GP-IB インタフェ<br />
ース 機 能 を 再 初 期 化 させる 必 要 があります。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExClearSrq(0);<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
92
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExClearSrq(0)<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExClearSrq(0);<br />
SRQ 受 信 フラグをクリアします。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
93
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
25. PciGpibExEnableSrq<br />
【 機 能 】<br />
SRQ 受 信 割 り 込 みを 許 可 します。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExEnableSrq (<br />
int BoardNo<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExEnableSrq Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExEnableSrq (<br />
BoardNo : Integer;<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージでのみ 使 用 できます。<br />
・ 本 関 数 呼 び 出 し 後 に SRQ 信 号 がアサートされた 時 、PciGpibExCheckSrq 関 数 にて SRQ 受 信 フ<br />
ラグが 有 効 となります。<br />
・ PciGpibExInitBoard 関 数 実 行 後 は SRQ 受 信 割 り 込 み 許 可 状 態 となっています。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExEnableSrq( 0 );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExEnableSrq( 0 )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
94
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExEnableSrq( 0 );<br />
SRQ 受 信 割 り 込 みを 許 可 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
95
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
26. PciGpibExDisableSrq<br />
【 機 能 】<br />
SRQ 受 信 割 り 込 みを 禁 止 します。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExDisableSrq (<br />
int BoardNo<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExDisableSrq Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExDisableSrq (<br />
BoardNo : Integer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージでのみ 使 用 できます。<br />
・ 本 関 数 呼 び 出 し 後 に SRQ 信 号 がアサートされても、PciGpibExCheckSrq 関 数 では SRQ 受 信 フ<br />
ラグは 無 効 のままです。<br />
・ PciGpibExInitBoard 関 数 実 行 後 は SRQ 受 信 割 り 込 み 許 可 状 態 となっています。<br />
・ 本 関 数 実 行 後 は、SRQ 受 信 割 込 みは 禁 止 となるため、PciGpibExCheckSrq 関 数 による SRQ 受<br />
信 の 確 認 はできません。<br />
・ 本 関 数 実 行 後 に SRQ 信 号 がアサートされ、SRQ 信 号 アサート 状 態 のままで<br />
PciGpibExEnableSrq 関 数 を 呼 び 出 しますと、SRQ 受 信 割 込 みが 有 効 となるため、<br />
PciGpibExCheckSrq 関 数 にて SRQ 受 信 が 有 効 となります。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExDisableSrq( 0 );<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
96
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExDisableSrq( 0 )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExDisableSrq( 0 );<br />
SRQ 受 信 割 り 込 みを 禁 止 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
97
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
27. PciGpibExExecPpoll<br />
【 機 能 】<br />
パラレルポーリングを 実 行 します。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExExecPpoll (<br />
int BoardNo,<br />
int* Pst<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExExecPpoll Lib "gpc<strong>4304</strong>.dll”( _<br />
ByVal BoardNo As Long, _<br />
ByRef Pst As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExExecPpoll (<br />
BoardNo : Integer;<br />
var Pst : Integer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
Pst<br />
パラレルポーリング 時 の 応 答 ステータスを 格 納 する 変 数 へのポインタ( 参 照 渡 し)を 指 定<br />
します。<br />
各 機 器 毎 の 情 報 を 得 るために、 事 前 に 各 機 器 に 対 してどのビットを 使 用 するのか、また 応<br />
答 の 極 性 をどうするのかについては、PciGpibExCfgPpoll 関 数 で 指 定 する 方 法 (リモートコ<br />
ンフィグレーション)と 機 器 のフロントパネルからの 設 定 (ローカルコンフィグレーション)<br />
の 2 通 りがあります。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージでのみ 使 用 できます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
98
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
int Pst;<br />
Ret = PciGpibExExecPpoll( 0, &Pst );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim Pst As Long<br />
Ret = PciGpibExExecPpoll( 0, Pst )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Pst : Integer;<br />
Ret := PciGpibExecPpoll( 0, Pst );<br />
パラレル・ポーリングを 実 行 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
99
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
28. PciGpibExCfgPpoll<br />
【 機 能 】<br />
機 器 に 対 してリモートにてパラレルポール・コンフィグレーションを 行 います。<br />
コンフィグレーションは 応 答 する DIO ラインの 割 り 当 てと、その 極 性 を 設 定 します。<br />
(リモート・コンフィグレーション)<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExCfgPpoll (<br />
int BoardNo,<br />
int* AdrsTbl,<br />
int Ppe<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExCfgPpoll Lib "gpc<strong>4304</strong>.dll”( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long, _<br />
ByVal Ppe As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExCfgPpoll (<br />
BoardNo : Integer;<br />
AdrsTbl : Pointer;<br />
Ppe : Integer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
AdrsTbl<br />
パラレルポールに 応 答 させる 機 器 のアドレステーブルへのポインタ( 参 照 渡 し)を 指 定 し<br />
ます。<br />
アドレステーブルへの 終 端 には 必 ず-1 を 設 定 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
100
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
Ppe<br />
パラレルポール 応 答 設 定 を 指 定 します。<br />
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0<br />
0 0 0 0 S p3 p2 p1<br />
p3 p2 p1 DIO ライン 1~8 の 指 定<br />
0 0 0 DIO1 で 応 答<br />
0 0 1 DIO2 で 応 答<br />
0 1 0 DIO3 で 応 答<br />
0 1 1 DIO4 で 応 答<br />
1 0 0 DIO5 で 応 答<br />
1 0 1 DIO6 で 応 答<br />
1 1 0 DIO7 で 応 答<br />
1 1 1 DIO8 で 応 答<br />
S<br />
極 性 の 指 定<br />
0 機 器 の ist ビットがクリア(0)のとき、 割 り 当 てた 応 答 DIO ラインを<br />
アサートします。<br />
1 機 器 の ist ビットがセット(1)のとき、 割 り 当 てた 応 答 DIO ラインを<br />
アサートします。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージでのみ 使 用 できます。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
int AdrsTbl[2];<br />
AdrsTbl[0] = 2;<br />
AdrsTbl[1] = -1;<br />
Ret = PciGpibExCfgPpoll( 0, AdrsTbl, 0x09 );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim AdrsTbl(1) As Long<br />
AdrsTbl(0) = 2<br />
AdrsTbl(1) = -1<br />
Ret = PciGpibExCfgPpoll( 0, AdrsTbl(0), &H09 )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
101
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
AdrsTbl : Array[0..4] of Integer;<br />
AdrsTbl[0] := 2;<br />
AdrsTbl[1] := -1;<br />
Ret := PciGpibExCfgPpoll( 0, @AdrsTbl[0], $09 );<br />
ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールから、 指 定 した 機 器 に 対 してリモートにて<br />
パラレルポール・コンフィグレーションを 行 います。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
102
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
29. PciGpibExUnCfgPpoll<br />
【 機 能 】<br />
リモート・コンフィグレーションにて、パラレルポール・コンフィグレーションされている 機<br />
器 に 対 して PPD(Parallel Poll Disable)を 送 出 し、パラレルポール 応 答 設 定 を 解 除 します。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExUnCfgPpoll (<br />
int BoardNo,<br />
int* AdrsTbl<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExUnCfgPpoll Lib "gpc<strong>4304</strong>.dll”( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExUnCfgPpoll (<br />
BoardNo : Integer;<br />
AdrsTbl : Pointer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
AdrsTbl<br />
パラレルポール 応 答 設 定 を 解 除 する 機 器 のアドレステーブルへのポインタ( 参 照 渡 し)を<br />
指 定 します。<br />
アドレステーブルへの 終 端 には 必 ず-1 を 設 定 します。<br />
アドレステーブルの 先 頭 に-1 を 設 定 した 場 合 は、PPU(Parallel Poll Unconfigure)を 送 出 し<br />
てリモート・コンフィギュレーション 機 能 を 持 つ 全 ての 機 器 の 応 答 設 定 を 解 除 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
103
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージでのみ 使 用 できます。<br />
・ 本 関 数 はリモート・コンフィグレーションにて、パラレルポール・コンフィグレーション<br />
されている 機 器 に 対 して PPD(Parallel Poll Disable)を 送 出 し、パラレルポール 応 答 設 定 を<br />
解 除 します。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
int AdrsTbl[2];<br />
AdrsTbl[0] = 2;<br />
AdrsTbl[1] = -1;<br />
Ret = PciGpibExUnCfgPpoll( 0, AdrsTbl );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim AdrsTbl(1) As Long<br />
AdrsTbl(0) = 2<br />
AdrsTbl(1) = -1<br />
Ret = PciGpibExUnCfgPpoll( 0, AdrsTbl(0) )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
AdrsTbl : Array[0..4] of Integer;<br />
AdrsTbl[0] := 2;<br />
AdrsTbl[1] := -1;<br />
Ret := PciGpibExUnCfgPpoll( 0, @AdrsTbl[0] );<br />
ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールから、パラレルポール 応 答 設 定 解 除 を 行 い<br />
ます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
104
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
30. PciGpibExWriteBusCmd<br />
【 機 能 】<br />
機 器 に 対 してバス・コマンド(マルチライン・<strong>インタフェース</strong>・メッセージ)を 発 行 します。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExWriteBusCmd (<br />
int BoardNo,<br />
int* CmdTbl<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExWriteBusCmd Lib "gpc<strong>4304</strong>.dll”( _<br />
ByVal BoardNo As Long, _<br />
ByRef CmdTbl As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExWriteBusCmd (<br />
BoardNo : Integer;<br />
CmdTbl : Pointer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
CmdTbl<br />
バス 上 に 送 出 されるコマンドを 格 納 してあるテーブルへのポインタ( 参 照 渡 し)を 指 定 し<br />
ます。<br />
また、コマンドテーブルの 終 端 には 必 ず-1 を 設 定 してください。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージでのみ 使 用 できます。<br />
・ コマンドテーブルに 設 定 されるデータは、そのままの 形 で GP-IB バスに 送 出 されます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
105
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
int CmdTbl[3];<br />
CmdTbl[0] = 0x3F;<br />
CmdTbl[1] = 0x22;<br />
CmtTbl[2] = -1;<br />
Ret = PciGpibExWriteBusCmd( 0, CmdTbl );<br />
●Visual Basic<br />
Dim nRet As Long<br />
Dim CmdTbl(2) As Long<br />
CmdTbl(0) = &H3F<br />
CmdTbl(1) = &H22<br />
CmdTbl(2) = -1<br />
nRet = PciGpibExWriteBusCmd( 0, npCmdTbl(0) )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
CmdTbl : Array[0..9] of Integer;<br />
CmdTbl[0] := $3F;<br />
CmdTbl[1] := $22;<br />
CmtTbl[2] := -1;<br />
Ret := PciGpibExWriteBusCmd( 0, @CmdTbl[0] );<br />
ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールから npCmdTbl に 記 述 されているバス・コ<br />
マンドを 送 出 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
106
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
31. PciGpibExSetSignal<br />
【 機 能 】<br />
各 種 バス・ステータスにおける 事 象 変 化 の 検 出 条 件 の 設 定 を 行 います。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExSetSignal (<br />
int BoardNo,<br />
UINT Signal,<br />
BOOL Detect<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExSetSignal Lib "gpc<strong>4304</strong>.dll”( _<br />
ByVal BoardNo As Long, _<br />
ByVal Signal As Long, _<br />
ByVal Detect As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExSetSignal (<br />
BoardNo : Integer;<br />
Signal : UINT;<br />
Detect : Boolean<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
Signal<br />
検 出 条 件 を 以 下 のビット 情 報 で 指 定 します。<br />
bit31<br />
bit30<br />
bit29<br />
bit28<br />
bit27<br />
bit26<br />
bit25<br />
IFC 受 信 検 出 許 可<br />
( 非 コントローラ・イン・チャージのみ)<br />
SRQ 受 信 検 出 許 可<br />
(コントローラ・イン・チャージのみ)<br />
シリアルポール 終 了 検 出 許 可<br />
( 非 コントローラ・イン・チャージのみ)<br />
デバイストリガ 受 信 検 出 許 可<br />
( 非 コントローラ・イン・チャージのみ)<br />
デバイスクリア 受 信 検 出 許 可<br />
( 非 コントローラ・イン・チャージのみ)<br />
データ 受 信 検 出 許 可<br />
( 非 コントローラ・イン・チャージのみ)<br />
リスナ 指 定 検 出 許 可<br />
( 非 コントローラ・イン・チャージのみ)<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
107
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
bit24 トーカ 指 定 検 出 許 可<br />
( 非 コントローラ・イン・チャージのみ)<br />
bit23 入 出 力 完 了 検 出 許 可<br />
(コントローラ・イン・チャージ/ 非 コントローラ・イン・チャージ)<br />
bit22 リモート 状 態 検 出 許 可<br />
( 非 コントローラ・イン・チャージのみ)<br />
bit21 ロックアウト 状 態 検 出 許 可<br />
( 非 コントローラ・イン・チャージのみ)<br />
bit20 デリミタ 検 出 許 可<br />
(コントローラ・イン・チャージのみ)<br />
bit19 コントローラ・イン・チャージ(CIC) 検 出 許 可<br />
(コントローラ・イン・チャージのみ)<br />
bit18 ATN 信 号 アクティブ 検 出 許 可<br />
(コントローラ・イン・チャージのみ)<br />
bit1~bit17 予 約 。0 を 指 定 してください。<br />
bit0 タイムアウト 有 り、0:タイムアウト 無 し<br />
※ 1: 検 出 許 可 , 0: 検 出 無 効<br />
複 数 の 条 件 設 定 (OR 指 定 )ができます。<br />
ただし、コントローラ・イン・チャージのみと 非 コントローラ・イン・チャージのみの 条<br />
件 は 一 緒 には 設 定 できません。<br />
Detect<br />
検 出 フラグを 指 定 します。<br />
パラメータ<br />
説 明<br />
0 検 出 を 無 効 にします。 指 定 された 検 出 項 目 の 状 態 はクリアされ、 事<br />
象 変 化 検 出 を 行 いません。<br />
1 検 出 を 有 効 にします。 指 定 された 検 出 項 目 の 設 定 を 有 効 とし、 事 象<br />
変 化 検 出 を 行 います。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExSetSignal( 0, 0x02000001, 1 );<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
108
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExSetSignal( 0, &h02000001, 1 )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExSetSignal( 0, $02000001, 1 );<br />
ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールに 対 して、リスナ 指 定 検 出 を 許 可 、タイム<br />
アウト 有 りとして 設 定 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
109
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
32. PciGpibExWaitSignal<br />
【 機 能 】<br />
各 種 バス・ステータスの 事 象 変 化 を 待 ちます。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExWaitSignal (<br />
int BoardNo,<br />
UINT* Signal<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExWaitSignal Lib "gpc<strong>4304</strong>.dll”( _<br />
ByVal BoardNo As Long, _<br />
ByRef Signal As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExWaitSignal (<br />
BoardNo : Integer;<br />
var Signal : Cardinal<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
Signal<br />
検 出 された 事 象 を 格 納 する 変 数 へのポインタ( 参 照 渡 し)を 指 定 します。<br />
バス・ステータスは 以 下 のビット 情 報 で 格 納 されます。<br />
bit31 IFC 受 信 検 出<br />
( 非 コントローラ・イン・チャージのみ)<br />
bit30 SRQ 受 信 検 出<br />
(コントローラ・イン・チャージのみ)<br />
bit29 シリアルポール 終 了 検 出<br />
( 非 コントローラ・イン・チャージのみ)<br />
bit28 デバイストリガ 受 信 検 出<br />
( 非 コントローラ・イン・チャージのみ)<br />
bit27 デバイスクリア 受 信 検 出<br />
( 非 コントローラ・イン・チャージのみ)<br />
bit26 データ 受 信 検 出<br />
( 非 コントローラ・イン・チャージのみ)<br />
bit25 リスナ 指 定 検 出 許 可<br />
( 非 コントローラ・イン・チャージのみ)<br />
bit24 トーカ 指 定 検 出<br />
( 非 コントローラ・イン・チャージのみ)<br />
bit23 入 出 力 完 了 検 出<br />
(コントローラ・イン・チャージ/ 非 コントローラ・イン・チャージ)<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
110
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
bit22 リモート 状 態 検 出<br />
( 非 コントローラ・イン・チャージのみ)<br />
bit21 ロックアウト 状 態 検 出<br />
( 非 コントローラ・イン・チャージのみ)<br />
bit20 デリミタ 検 出<br />
(コントローラ・イン・チャージのみ)<br />
bit19 コントローラ・イン・チャージ(CIC) 検 出<br />
(コントローラ・イン・チャージのみ)<br />
bit18 ATN 信 号 アクティブ 検 出<br />
(コントローラ・イン・チャージのみ)<br />
bit0~bit17 予 約 。0 が 格 納 されます。<br />
※ 1: 検 出 , 0: 未 検 出<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 各 モードで 検 出 できない 事 象 のビットが 有 効 になることがあります。 検 出 できない 事 象 は<br />
無 視 するようにしてください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
UINT Status;<br />
Ret = PciGpibExWaitSignal(0, &Status);<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim Status As Long<br />
Ret = PciGpibExWaitSignal(0, Status)<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Status : Cardinal;<br />
Ret := PciGpibExWaitSignal(0, Status);<br />
ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールの 事 象 変 化 検 出 を 待 ちます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
111
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
33. PciGpibExGetStatus<br />
【 機 能 】<br />
現 在 のバス・ステータスを 取 得 します。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExGetStatus (<br />
int BoardNo,<br />
UINT* Status<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExGetStatus Lib "gpc<strong>4304</strong>.dll”( _<br />
ByVal BoardNo As Long, _<br />
ByRef Status As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExGetStatus (<br />
BoardNo : Integer;<br />
var Status : Cardinal<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
Signal<br />
バス・ステータスを 格 納 する 変 数 へのポインタ( 参 照 渡 し)を 指 定 します。<br />
バス・ステータスは 以 下 のビット 情 報 で 格 納 されます。<br />
bit31 IFC 受 信 検 出<br />
( 非 コントローラ・イン・チャージのみ)<br />
bit30 SRQ 受 信 検 出<br />
(コントローラ・イン・チャージのみ)<br />
bit29 シリアルポール 終 了 検 出<br />
( 非 コントローラ・イン・チャージのみ)<br />
bit28 デバイストリガ 受 信 検 出<br />
( 非 コントローラ・イン・チャージのみ)<br />
bit27 デバイスクリア 受 信 検 出<br />
( 非 コントローラ・イン・チャージのみ)<br />
bit26 データ 受 信 検<br />
( 非 コントローラ・イン・チャージのみ)<br />
bit25 リスナ 指 定 検 出<br />
( 非 コントローラ・イン・チャージのみ)<br />
bit24 トーカ 指 定 検 出<br />
( 非 コントローラ・イン・チャージのみ)<br />
bit23 入 出 力 完 了 検 出<br />
(コントローラ・イン・チャージ/ 非 コントローラ・イン・チャージ)<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
112
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
bit22 リモート 状 態 検 出<br />
( 非 コントローラ・イン・チャージのみ)<br />
bit21 ロックアウト 状 態 検 出<br />
( 非 コントローラ・イン・チャージのみ)<br />
bit20 デリミタ 検 出<br />
(コントローラ・イン・チャージのみ)<br />
bit19 コントローラ・イン・チャージ(CIC) 検 出<br />
(コントローラ・イン・チャージのみ)<br />
bit18 ATN 信 号 アクティブ 検 出<br />
(コントローラ・イン・チャージのみ)<br />
bit17 非 同 期 入 出 力 中 に 送 信 エラーを 検 出<br />
(コントローラ・イン・チャージ/ 非 コントローラ・イン・チャージ)<br />
bit16 予 約 。0 が 格 納 されます。<br />
bit15 シリアルポールモードステータス[SPMS] 検 出<br />
(コントローラ・イン・チャージ)<br />
bit0~bit14 予 約 。0 が 格 納 されます。<br />
※ 1: 検 出 , 0: 未 検 出<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 各 モードで 検 出 できない 事 象 のビットが 有 効 になることがあります。 検 出 できない 事 象 は<br />
無 視 するようにしてください。<br />
・ bit24(トーカ 指 定 )のクリアは、トーカ 指 定 が 解 除 された 時 に 自 動 的 に 行 われます。<br />
・ bit25(リスナ 指 定 )のクリアは、リスナ 指 定 が 解 除 された 時 に 自 動 的 に 行 われます。<br />
・ bit26(データ 受 信 )のクリアは、トーカ 指 定 時 、およびリスナ 指 定 解 除 時 に 自 動 的 に 行 われ<br />
ます。<br />
・ bit22(リモート 状 態 )のクリアは、ローカル 状 態 になったときに 自 動 クリアされます。<br />
・ bit21(ロックアウト 状 態 )のクリアは、ロックアウト 解 除 状 態 時 に 自 動 クリアされます。<br />
・ bit30(SRQ 受 信 )のクリアは、シリアル・ポーリングを 行 うと 自 動 クリアされます。<br />
・ bit15(SPMS)のクリアは、シリアルポールモードステータス 解 除 時 に 自 動 クリアされます。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
UINT Status;<br />
Ret = PciGpibExGetStatus( 0, &Status );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim Status As Long<br />
Ret = PciGpibExGetStatus( 0, Status )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
113
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Status : Cardinal;<br />
Ret := PciGpibExGetStatus( 0, Status );<br />
バス・ステータスを 取 得 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
114
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
34. PciGpibExClrStatus<br />
【 機 能 】<br />
バス・ステータス 情 報 のクリアを 行 います。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExClrStatus (<br />
int BoardNo,<br />
UINT Status<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExClrStatus Lib "gpc<strong>4304</strong>.dll”( _<br />
ByVal BoardNo As Long, _<br />
ByVal Status As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExClrStatus (<br />
BoardNo : Integer;<br />
Status : UINT<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
Status<br />
クリアするバス・ステータスを 指 定 します。<br />
バス・ステータスは 以 下 のビット 情 報 で 指 定 します。<br />
bit31 IFC 受 信 検 出 クリア<br />
bit30 SRQ 受 信 検 出 クリア<br />
bit29 シリアルポール 終 了 検 出 クリア<br />
bit28 デバイストリガ 受 信 検 出 クリア<br />
bit27 デバイスクリア 受 信 検 出 クリア<br />
bit26 データ 受 信 検 出 クリア<br />
bit25 リスナ 指 定 検 出 クリア<br />
bit24 トーカ 指 定 検 出 クリア<br />
bit23 入 出 力 完 了 検 出 クリア<br />
bit22 リモート 状 態 検 出 クリア<br />
bit21 ロックアウト 状 態 検 出 クリア<br />
bit20 デリミタ 検 出 クリア<br />
bit19 コントローラ・イン・チャージ(CIC) 検 出 クリア<br />
bit18 ATN 信 号 アクティブ 検 出 クリア<br />
bit17 非 同 期 入 出 力 中 に 送 信 エラーを 検 出 クリア<br />
bit0~bit16 予 約 。0 を 指 定 してください。<br />
※ 1:クリアします, 0:クリアしません<br />
【 戻 り 値 】<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
115
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ データ 非 同 期 転 送 進 行 中 に bit23( 入 出 力 完 了 検 出 クリア)を 有 効 として 本 API を 呼 び 出 し<br />
た 時 、GP-IB ボードは 次 の 動 作 を 行 います。<br />
現 在 、 進 行 中 のデータ 非 同 期 転 送 を 強 制 終 了 させます。<br />
これは、 機 器 からの 応 答 が 無 くなる 等 の 状 態 となったとき、 非 同 期 転 送 中 の 場 合 には 上 記<br />
GP-IB ボードではタイムアウトの 検 出 ができないため、 何 らかの 手 段 にて 転 送 を 終 了 させる<br />
ために、アプリケーションプログラムの 責 任 において、 現 在 の 非 同 期 転 送 を 強 制 中 断 させる<br />
ものです。<br />
強 制 中 断 させた 場 合 、 送 受 信 完 了 状 態 とはならず、 送 受 信 は 実 行 されなかったものとなりま<br />
す。データ 受 信 の 場 合 には 今 まで 受 信 したデータは 無 効 となります。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExClrStatus(0, 0x02000000);<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExClrStatus(0, &h02000000)<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExClrStatus(0, $02000000);<br />
リスナ 指 定 をクリアします。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
116
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
35. PciGpibExGetBusLine<br />
【 機 能 】<br />
GP-IB バスラインの 状 態 を 取 得 します。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExGetBusLine (<br />
int BoardNo,<br />
UINT * GetBusLine,<br />
int Reserved<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExMastSendData Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByRef GetBusLine As Long, _<br />
ByVal Reserved As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExMastSendData (<br />
BoardNo : Integer;<br />
var GetBusLine : UINT;<br />
Reserved : Integer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
GetBusLine<br />
現 在 の GP-IB バスラインの 状 態 を 格 納 する 変 数 へのポインタ<br />
バスライン 状 態 は 以 下 のビットパターンで 格 納 されます。<br />
bit15 ATN 信 号<br />
bit14 DAV 信 号<br />
bit13 NDAC 信 号<br />
bit12 NRFD 信 号<br />
bit11 EOI 信 号<br />
bit10 SRQ 信 号<br />
bit9 IFC 信 号<br />
bit8 REN 信 号<br />
bit0~bit7 予 約<br />
※ 1:アサート, 0:デアサート<br />
各 信 号 の 状 態 は、バスの 入 出 力 方 向 に 依 存 します。<br />
自 分 自 身 が 出 力 している 信 号 の 場 合 は、その 状 態 がリードバックされます。<br />
未 使 用 、 予 約 のビットは 不 定 値 となります。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
117
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
Reserved<br />
予 約 パラメータ。0 を 指 定 してください。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
UINT GetBusLine;<br />
Ret = PciGpibExGetBusLine( 0, &GetBusLine, 0 );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim GetBusLine As Long<br />
Ret = PciGpibExGetBusLine( 0, GetBusLine, 0 )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
GetBusLine: UINT;<br />
Ret := PciGpibExGetBusLine( 0, @GetBusLine, 0 );<br />
現 在 の GP-IB バスラインの 状 態 を 取 得 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
118
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
36. PciGpibExSetBusLine<br />
【 機 能 】<br />
GP-IB バスの 各 ラインを 直 接 制 御 (アサート)します。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExGetBusLine (<br />
int BoardNo,<br />
UINT GetBusLine,<br />
int Reserved<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExMastSendData Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByVal GetBusLine As Long, _<br />
ByVal Reserved As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExMastSendData (<br />
BoardNo : Integer;<br />
GetBusLine : UINT;<br />
Reserved : Integer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
GetBusLine<br />
GP-IB バスラインの 設 定 値<br />
バスライン 状 態 は 以 下 のビットパターンにてアサートします。<br />
bit15 ATN 信 号<br />
bit14 DAV 信 号<br />
bit13 NDAC 信 号<br />
bit12 NRFD 信 号<br />
bit11 EOI 信 号<br />
bit10 SRQ 信 号<br />
bit9 IFC 信 号<br />
bit8 REN 信 号<br />
bit0~bit7 予 約<br />
※ 1:アサート, 0:デアサート<br />
アサート 可 能 な 信 号 線 は、 本 API 実 行 時 に 出 力 方 向 となっている 信 号 線 のみです。<br />
入 力 方 向 の 信 号 線 はアサートされません。<br />
未 使 用 、 予 約 のビットには 0 を 設 定 してください。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
119
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
Reserved<br />
予 約 パラメータ。0 を 指 定 してください。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExSetBusLine(0, 0x8100, 0);<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExSetBusLine(0, &h8100, 0)<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExSetBusLine(0, $8100, 0);<br />
GP-IB バスラインの ATN 信 号 と REN 信 号 を 直 接 アサートします。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
120
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
37. PciGpibExMastSendData<br />
【 機 能 】<br />
指 定 した 機 器 に 対 して、データを 送 信 します。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExMastSendData (<br />
int BoardNo,<br />
int* AdrsTbl,<br />
DWORD Length,<br />
void* Buffer,<br />
UINT Msg<br />
);<br />
●Visual Basic<br />
バイト 型 / 数 値 型 変 数 のデータ 送 信 の 場 合<br />
Declare Function PciGpibExMastSendData Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long, _<br />
ByVal Length As Long, _<br />
ByRef Buffer As Any, _<br />
ByVal Msg As Long _<br />
) As Long<br />
文 字 列 型 変 数 のデータ 送 信 の 場 合<br />
Declare Function PciGpibExMastSendData Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long, _<br />
ByVal Length As Long, _<br />
ByVal Buffer As String, _<br />
ByVal Msg As Long _<br />
) As Long<br />
非 同 期 データ 送 信 の 場 合<br />
Declare Function PciGpibExMastSendData Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long, _<br />
ByVal Length As Long, _<br />
ByVal Buffer As Any, _<br />
ByVal Msg As Long _<br />
) As Long<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
121
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
function PciGpibExMastSendData (<br />
BoardNo : Integer;<br />
AdrsTbl : Pointer;<br />
Length : Cardinal;<br />
Buffer : Pointer;<br />
Msg : Cardinal<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
AdrsTbl<br />
機 器 のアドレステーブルへのポインタ( 参 照 渡 し)を 指 定 します。<br />
アドレステーブルへの 終 端 には 必 ず-1 を 設 定 します。<br />
Length<br />
送 信 データ 長 のバイトサイズを 指 定 します。<br />
Buffer<br />
送 信 バッファ 領 域 へのポインタ( 参 照 渡 し)を 指 定 します。<br />
※ Visual Basic の 場 合 には、API の Declare Function の 宣 言 がバイト 型 / 数 値 型 と 文 字 列 型<br />
とでは 異 なります。<br />
※ Visual Basic で 非 同 期 送 信 を 行 う 場 合 は、GlobalAlloc 関 数 などを 用 いて 割 り 当 てたメモ<br />
リ 領 域 を 指 定 してください。 詳 しくはサンプルプログラムをご 参 照 ください。<br />
Msg<br />
非 同 期 送 信 完 了 時 にアプリケーションに 通 知 されるメッセージを 指 定 します。<br />
同 期 動 作 時 には WM_NULL もしくは 0 を 指 定 してください<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージでのみ 使 用 できます。<br />
本 関 数 使 用 前 にあらかじめ、PciGpibExSetIfc 関 数 を 実 行 し、ボードをコントローラ イン チ<br />
ャージの 状 態 とする 必 要 があります。<br />
・ 同 期 入 出 力 時 には、タイムアウト 発 生 もしくは 何 らかの 要 因 により 処 理 が 終 了 した 場 合 に<br />
おいて、 本 関 数 の 処 理 を 終 了 します。<br />
・ 非 同 期 入 出 力 時 は、 本 関 数 はデータ 送 信 開 始 のみ 行 い、データ 送 信 完 了 を 待 たずに 本 関 数<br />
の 処 理 を 終 了 します。データ 送 信 完 了 の 確 認 は、PciGpibExGetStatus 関 数 において 入 出 力 完<br />
了 を 監 視 、または、アプリケーションに 通 知 されるメッセージにより 行 います。<br />
その 時 点 で、 本 関 数 を 再 度 呼 び 出 すことにより、 送 信 ステータスの 取 得 を 行 います。<br />
・ 非 同 期 入 出 力 時 のタイムアウト 検 出 について<br />
非 同 期 入 出 力 時 は、タイムアウトの 検 出 が 行 えません。 機 器 からの 応 答 がない 場 合 の 転 送 中<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
122
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
断 処 理 はアプリケーションプログラム 側 にて PciGpibExClrStatus 関 数 を 入 出 力 完 了 検 出 ク<br />
リアを 指 定 して 呼 び 出 すことにより、 非 同 期 入 出 力 の 中 断 処 理 が 行 われます。<br />
・ 送 信 データ 長 として 0 を 指 定 すると、マルチラインメッセージとして 本 <strong>インタフェース</strong>モ<br />
ジュールをトーカ、 指 定 デバイスをリスナとして 指 定 し、コマンドモードのまま 終 了 します。<br />
(データ 送 信 処 理 は 起 動 しません)<br />
・ 機 器 アドレステーブルの 先 頭 に-1 を 格 納 すると、マルチラインメッセージの 送 出 を 行 わず<br />
にデータモードに 遷 移 してデータ 送 信 を 開 始 します。<br />
・ デリミタは 関 数 内 で 自 動 的 に 付 加 されるので、 予 めデータに 付 加 しておく 必 要 はありませ<br />
ん。<br />
・ 送 信 完 了 メッセージはデリミタ 送 出 後 にポストされます。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
int BoardNo;<br />
int AdrsTbl[4];<br />
DWORD SendLen;<br />
char SendDat[ ] = "0123456789";<br />
BoardNo = 0;<br />
AdrsTbl[0] = 2;<br />
AdrsTbl[1] = -1; // 終 端 コードが 必 要 です<br />
SendLen = strlen(SendDat);<br />
Ret = PciGpibExMastSendData( BoardNo, &AdrsTbl[0], SendLen, SendDat, WM_NULL );<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
123
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim BoardNo As Long<br />
Dim AdrsTbl(1) As Long<br />
Dim Data As String<br />
Dim SendLen As Long<br />
BoardNo = 0<br />
AdrsTbl(0) = 2<br />
AdrsTbl(1) = -1 ' 終 端 コードが 必 要 です<br />
Data = StrConv("0123456789", vbFromUnicode)<br />
SendLen = LenB(Data)<br />
Data = StrConv(Data, vbUnicode)<br />
Ret = PciGpibExMastSendData( BoardNo, AdrsTbl(0), SendLen, Data, 0 )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
BoardNo : Integer;<br />
AdrsTbl : Array[0..4] of Integer;<br />
SendLen : Cardinal;<br />
SendData : pChar;<br />
BoardNo := 0;<br />
AdrsTbl[0] := 2;<br />
AdrsTbl[1] := -1;<br />
SendData := StrNew('0123456789');<br />
SendLen := 10;<br />
Ret := PciGpibExMastSendData( BoardNo, @AdrsTbl[0], SendLen, SendData,<br />
WM_NULL );<br />
指 定 した 機 器 へ 文 字 列 "0123456789"のデータ 送 信 を 実 行 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
124
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
38. PciGpibExMastRecvData<br />
【 機 能 】<br />
指 定 した 機 器 からデータを 受 信 します。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExMastRecvData (<br />
int BoardNo,<br />
int* AdrsTbl,<br />
DWORD* Length,<br />
void* Buffer,<br />
UINT Msg<br />
);<br />
●Visual Basic<br />
バイト 型 / 数 値 型 変 数 のデータ 受 信 の 場 合<br />
Declare Function PciGpibExMastRecvData Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long, _<br />
ByRef Length As Long, _<br />
ByRef Buffer As Any, _<br />
ByVal Msg As Long _<br />
) As Long<br />
文 字 列 型 変 数 のデータ 受 信 の 場 合<br />
Declare Function PciGpibExMastRecvData Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long, _<br />
ByRef Length As Long, _<br />
ByVal Buffer As String, _<br />
ByVal Msg As Long _<br />
) As Long<br />
非 同 期 データ 受 信 の 場 合<br />
Declare Function PciGpibExMastRecvData Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long, _<br />
ByRef Length As Long, _<br />
ByVal Buffer As Any, _<br />
ByVal Msg As Long _<br />
) As Long<br />
●Delphi<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
125
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
function PciGpibExMastRecvData (<br />
BoardNo : Integer;<br />
AdrsTbl : Pointer;<br />
var Length : Cardinal;<br />
Buffer : Pointer;<br />
Msg : Cardinal<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
AdrsTbl<br />
機 器 のアドレステーブルへのポインタ( 参 照 渡 し)を 指 定 します。<br />
アドレステーブルへの 終 端 には 必 ず-1 を 設 定 します。<br />
Length<br />
受 信 バッファのバイトサイズが 格 納 されている 変 数 へのポインタ( 参 照 渡 し)を 指 定 しま<br />
す。<br />
本 関 数 呼 び 出 し 後 、 実 際 に 受 信 したバイトサイズが 格 納 されます。( 同 期 入 出 力 時 )<br />
受 信 バッファの 領 域 は、 必 ず「 受 信 データ 長 」+「デリミタ」 分 の 領 域 を 確 保 するように<br />
してください。<br />
Buffer<br />
受 信 バッファ 領 域 へのポインタ( 参 照 渡 し)を 指 定 します。<br />
※ Visual Basic の 場 合 には、API の Declare Function の 宣 言 がバイト 型 / 数 値 型 と 文 字 列 型<br />
とでは 異 なります。<br />
※ Visual Basic では、 文 字 列 変 数 として 固 定 長 文 字 列 を 指 定 してください。<br />
例 : Dim RecvBuffer As String * 32 など<br />
※ Visual Basic で 非 同 期 送 信 を 行 う 場 合 は、GlobalAlloc 関 数 などを 用 いて 割 り 当 てたメモ<br />
リ 領 域 を 指 定 してください。 詳 しくはサンプルプログラムをご 参 照 ください。<br />
Msg<br />
非 同 期 送 信 完 了 時 にアプリケーションに 通 知 されるメッセージを 指 定 します。<br />
同 期 動 作 時 には WM_NULL もしくは 0 を 指 定 してください<br />
【 戻 り 値 】<br />
正 常 終 了 しますと、 以 下 の 値 を 返 します。<br />
戻 り 値<br />
意 味<br />
2 EOI を 検 出 して 受 信 が 完 了 しました。<br />
1 指 定 された 受 信 データ 数 に 達 して 受 信 が 完 了 しました。<br />
0 デリミタを 検 出 して 受 信 が 完 了 しました。<br />
上 記 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージでのみ 使 用 できます。<br />
本 関 数 使 用 前 にあらかじめ、PciGpibExSetIfc 関 数 を 実 行 し、ボードをコントローラ イン チ<br />
ャージの 状 態 とする 必 要 があります。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
126
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
・ 同 期 入 出 力 時 には、タイムアウト 発 生 もしくは 何 らかの 要 因 により 処 理 が 終 了 した 場 合 に<br />
おいて、 本 関 数 の 処 理 を 終 了 します。<br />
・ 非 同 期 入 出 力 時 には、 本 関 数 はデータ 受 信 開 始 のみ 行 い、データ 受 信 完 了 を 待 たずに 本 関<br />
数 の 処 理 を 終 了 します。データ 受 信 完 了 の 確 認 は、PciGpibExGetStatus 関 数 において 入 出 力<br />
完 了 を 監 視 、または、アプリケーションに 通 知 されるメッセージにより 行 います。<br />
その 時 点 で、 本 関 数 を 再 度 呼 び 出 すことにより、 受 信 ステータスおよび 受 信 データ 長 の 取 得<br />
を 行 います。<br />
・ 非 同 期 入 出 力 時 のタイムアウト 検 出 について<br />
非 同 期 入 出 力 時 は、タイムアウトの 検 出 が 行 えません。 機 器 からの 応 答 がない 場 合 の 転 送 中<br />
断 処 理 はアプリケーションプログラム 側 にて PciGpibExClrStatus 関 数 を 入 出 力 完 了 検 出 ク<br />
リアを 指 定 して 呼 び 出 すことにより、 非 同 期 入 出 力 の 中 断 処 理 が 行 われます。<br />
・ 受 信 データ 長 として 0 を 指 定 すると、マルチラインメッセージとして 本 <strong>インタフェース</strong>モ<br />
ジュールをリスナ、 最 初 の 指 定 デバイスをトーカ、2 番 目 以 降 のデバイスをリスナとして 指<br />
定 し、コマンドモードのまま 終 了 します。(データ 受 信 処 理 は 起 動 しません)<br />
・ 機 器 アドレステーブルに-1 を 指 定 するとマルチラインメッセージの 送 出 を 行 わずにデータ<br />
モードに 遷 移 してデータ 受 信 を 開 始 します。<br />
・ 受 信 完 了 メッセージはデリミタ 受 信 後 にポストされます。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
int BoardNo;<br />
int AdrsTbl[4];<br />
DWORD RecvLen;<br />
char RecvBuf[64];<br />
BoardNo = 0;<br />
AdrsTbl[0] = 2;<br />
AdrsTbl[1] = -1;<br />
// 終 端 コードが 必 要 です。<br />
RecvLen = 64;<br />
// 受 信 バッファの Max サイズを 指 定 する<br />
Ret = PciGpibExMastRecvData( BoardNo, &AdrsTbl[0], &RecvLen, RecvBuf,<br />
WM_NULL );<br />
RecvBuf[RecvLen] = '¥0'; // 受 信 完 了 時 には、RecvLen 変 数 には 実 際 に<br />
// 受 信 したデータのデータ 長 が 格 納 される<br />
printf(" 受 信 データ %s, 受 信 データ 長 %d¥n", RecvBuf, RecvLen);<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
127
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Visual Basic<br />
Public RecvBuf As String * 64 ' 受 信 バッファ 領 域 は、 標 準 モジュール 内 ( .BAS ファイル)<br />
' で Public 宣 言 する<br />
Dim Ret As Long<br />
Dim BoardNo As Long<br />
Dim AdrsTbl(1) As Long<br />
Dim RecvLen As Long<br />
BoardNo = 0<br />
AdrsTbl(0) = 2<br />
AdrsTbl(1) = -1 ' 終 端 コードが 必 要 です<br />
RecvLen = 64 ' 受 信 バッファの Max サイズを 指 定 する<br />
Ret = PciGpibExMastRecvData( BoardNo, AdrsTbl(0), RecvLen, RecvBuf, 0 )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
BoardNo : Integer,<br />
AdrsTbl : Array[0..4] of Integer;<br />
RecvLen : Cardinal;<br />
RecvBuf : Array[0..64] of Char;<br />
BoardNo := 0;<br />
AdrsTbl[0] := 2;<br />
AdrsTbl[1] := -1;<br />
RecvLen := 64;<br />
Ret := PciGpibExMastRecvData( BoardNo, @AdrsTbl[0], RecvLen, @RecvBuf[0],<br />
WM_NULL );<br />
指 定 した 機 器 からのデータ 受 信 の 実 行 を 行 います。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
128
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
39. PciGpibExMastSendFile<br />
【 機 能 】<br />
ファイルからデータを 読 み 込 み、GP-IB バス 上 に 送 信 します。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExMastSendFile (<br />
int BoardNo,<br />
int* AdrsTbl,<br />
char* FileName<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExMastSendFile Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long, _<br />
ByVal FileName As String _<br />
) As Long<br />
●Delphi<br />
function PciGpibExMastSendFile (<br />
BoardNo : Integer;<br />
AdrsTbl : Pointer;<br />
FileName : String<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
AdrsTbl<br />
機 器 のアドレステーブルへのポインタ( 参 照 渡 し)を 指 定 します。<br />
アドレステーブルへの 終 端 には 必 ず-1 を 設 定 します。<br />
FileName<br />
送 信 データが 格 納 されたファイル 名 を 指 定 します。<br />
ファイル 名 の 指 定 はフルパスで 記 述 する 必 要 があります。<br />
パスの 記 述 がない 場 合 には、カレントフォルダのファイル 指 定 となります。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
129
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージでのみ 使 用 できます。<br />
・ ファイルの 内 容 は 加 工 されずにそのままの 形 でバスに 送 出 されます。<br />
・ ファイルの 最 後 には、 送 信 デリミタが 付 加 されます。そのため、CRLF 等 のデリミタを 指 定<br />
していた 場 合 、ファイルの 最 後 に CRLF が 付 加 されてしまいます。 従 ってファイル 転 送 等 に 使<br />
用 する 場 合 においては、 送 信 デリミタには 必 ず EOI のみを 指 定 してください。<br />
・ ファイルはバイナリデータとしてオープンされ 読 み 込 まれます。また、オープンされたフ<br />
ァイルは 読 み 込 み 終 了 後 、ただちにクローズされます。<br />
・ 本 関 数 では 非 同 期 入 出 力 設 定 がされていても、 非 同 期 処 理 は 行 われず、 同 期 して 処 理 され<br />
ます。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
int AdrsTbl[2];<br />
AdrsTbl[0] = 2;<br />
AdrsTbl[1] = -1;<br />
Ret = PciGpibExMastSendFile( 0, AdrsTbl, "test.dat" );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim AdrsTbl(1) As Long<br />
AdrsTbl(0) = 2<br />
AdrsTbl(1) = -1<br />
Ret = PciGpibExMastSendFile( 0, AdrsTbl(0), "test.dat" )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
AdrsTbl : Array[0..4] of Integer;<br />
AdrsTbl[0] := 2;<br />
AdrsTbl[1] := -1;<br />
Ret := PciGpibExMastSendFile( 0, @AdrsTbl [0], 'test.dat' );<br />
ファイル 名 "test.dat"のファイルを 読 み 込 み、GP-IB バス 上 に 送 出 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
130
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
40. PciGpibExMastRecvFile<br />
【 機 能 】<br />
GP-IB バスから 受 信 したデータをファイルに 書 き 込 みます。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExMastRecvFile (<br />
int BoardNo,<br />
int* AdrsTbl,<br />
DWORD* Length,<br />
char* FileName<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExMastRecvFile Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByVal AdrsTbl As Long, _<br />
ByRef Length As Long, _<br />
ByVal FileName As String _<br />
) As Long<br />
●Delphi<br />
function PciGpibExMastRecvFile (<br />
BoardNo : Integer;<br />
AdrsTbl : Pointer;<br />
var Length : Cardinal;<br />
FileName : String<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
AdrsTbl<br />
機 器 のアドレステーブルへのポインタ( 参 照 渡 し)を 指 定 します。<br />
アドレステーブルへの 終 端 には 必 ず-1 を 設 定 します。<br />
Length<br />
受 信 バッファのバイトサイズが 格 納 されている 変 数 へのポインタ( 参 照 渡 し)を 指 定 しま<br />
す。<br />
本 関 数 呼 び 出 し 後 、 実 際 に 受 信 したバイトサイズが 格 納 されます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
131
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
FileName<br />
受 信 データを 格 納 するファイル 名 を 指 定 します。<br />
ファイル 名 の 指 定 はフルパスで 記 述 する 必 要 があります。<br />
パスの 記 述 がない 場 合 には、カレントフォルダのファイル 指 定 となります。<br />
【 戻 り 値 】<br />
正 常 終 了 しますと、 以 下 の 値 を 返 します。<br />
戻 り 値<br />
意 味<br />
2 EOI を 検 出 して 受 信 が 完 了 しました。<br />
1 指 定 された 受 信 データ 数 に 達 して 受 信 が 完 了 しました。<br />
0 デリミタを 検 出 して 受 信 が 完 了 しました。<br />
上 記 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージでのみ 使 用 できます。<br />
・ バスから 読 み 込 まれたデータに 受 信 デリミタが 含 まれていた 場 合 、その 時 点 で 受 信 処 理 を<br />
終 了 します。 従 ってファイル 転 送 等 に 使 用 する 場 合 において、ファイル 中 に CRLF 等 のコード<br />
が 含 まれている 場 合 には、 受 信 デリミタには 必 ず EOI のみを 指 定 してください。<br />
・ ファイルはバスから 読 み 込 まれたデータがそのままの 形 式 で 書 き 込 まれます。<br />
・ オープンされたファイルは 書 き 込 み 終 了 後 、ただちにクローズされます。 既 にファイルが<br />
存 在 していた 場 合 は、 上 書 きされます。<br />
・ 本 関 数 では 非 同 期 入 出 力 設 定 がされていても、 非 同 期 処 理 は 行 われず、 同 期 して 処 理 され<br />
ます。<br />
・ 受 信 バッファサイズ(Length)の 指 定 はデリミタサイズも 含 めて 充 分 余 裕 を 持 って 指 定 して<br />
ください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
int AdrsTbl[2];<br />
DWORD Length;<br />
AdrsTbl[0] = 2;<br />
AdrsTbl[1] = -1;<br />
Length = 64;<br />
Ret = PciGpibExMastRecvFile( 0, AdrsTbl, Length, "test.dat" );<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
132
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim AdrsTbl(1) As Long<br />
Dim Length As Long<br />
AdrsTbl(0) = 2<br />
AdrsTbl(1) = -1<br />
Length = 64<br />
Ret = PciGpibExMastRecvFile( 0, AdrsTbl(0), Length, "test.dat" );<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
AdrsTbl : Array[0..4] of Integer;<br />
Length : Cardinal;<br />
AdrsTbl[0] := 2;<br />
AdrsTbl[1] := -1;<br />
Length := 64;<br />
Ret := PciGpibExMastRecvFile( 0, @AdrsTbl[0], Length, 'test.dat' );<br />
データ 受 信 を 実 行 し、ファイル"test.dat"に 受 信 したデータを 書 き 込 みます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
133
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
41. PciGpibExSlavSendData<br />
【 機 能 】<br />
データを 送 信 します。<br />
本 関 数 を 実 行 する 場 合 には、コントローラよりトーカ 指 定 済 、ATN 信 号 がデアサート( 信 号 無 効 )<br />
状 態 となっている 必 要 があります。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExSlavSendData (<br />
int BoardNo,<br />
DWORD Length,<br />
void* Buffer,<br />
UINT Msg<br />
);<br />
●Visual Basic<br />
バイト 型 / 数 値 型 変 数 のデータ 送 信 の 場 合<br />
Declare Function PciGpibExSlavSendData Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByVal Length As Long, _<br />
ByRef Buffer As Any, _<br />
ByVal Msg As Long _<br />
) As Long<br />
文 字 列 型 変 数 のデータ 送 信 の 場 合<br />
Declare Function PciGpibExSlavSendData Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByVal Length As Long, _<br />
ByVal Buffer As String, _<br />
ByVal Msg As Long _<br />
) As Long<br />
非 同 期 データ 送 信 の 場 合<br />
Declare Function PciGpibExSlavSendData Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByVal Length As Long, _<br />
ByVal Buffer As Any, _<br />
ByVal Msg As Long _<br />
) As Long<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
134
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
function PciGpibExSlavSendData (<br />
BoardNo : Integer;<br />
Length : Cardinal;<br />
Buffer : Pointer;<br />
Msg : Cardinal<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
Length<br />
送 信 データ 長 のバイトサイズを 指 定 します。<br />
Buffer<br />
送 信 バッファ 領 域 へのポインタ( 参 照 渡 し)を 指 定 します。<br />
※ Visual Basic の 場 合 には、API の Declare Function の 宣 言 がバイト 型 / 数 値 型 と 文 字 列 型<br />
とでは 異 なります。<br />
※ Visual Basic で 非 同 期 送 信 を 行 う 場 合 は、GlobalAlloc 関 数 などを 用 いて 割 り 当 てたメモ<br />
リ 領 域 を 指 定 してください。 詳 しくはサンプルプログラムをご 参 照 ください。<br />
Msg<br />
非 同 期 送 信 完 了 時 にアプリケーションに 通 知 されるメッセージを 指 定 します。<br />
同 期 動 作 時 には WM_NULL もしくは 0 を 指 定 してください<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージ/ 非 コントローラ・イン・チャージの 両 方 で 使 用 で<br />
きます。<br />
・ 同 期 入 出 力 時 には、タイムアウト 発 生 もしくは 何 らかの 要 因 により 処 理 が 終 了 した 場 合 に<br />
おいて、 本 関 数 の 処 理 を 終 了 します。<br />
・ 非 同 期 入 出 力 時 には、 本 関 数 はデータ 送 信 開 始 のみ 行 い、データ 送 信 完 了 を 待 たずに 本 関<br />
数 の 処 理 を 終 了 します。データ 送 信 完 了 の 確 認 は、PciGpibExGetStatus 関 数 において 入 出 力<br />
完 了 を 監 視 、または、アプリケーションに 通 知 されるメッセージにより 行 います。その 時 点<br />
で、 本 関 数 を 再 度 呼 び 出 すことにより、 送 信 ステータスの 取 得 を 行 います。<br />
・ 非 同 期 入 出 力 時 のタイムアウト 検 出 について<br />
非 同 期 入 出 力 時 は、タイムアウトの 検 出 が 行 えません。 機 器 からの 応 答 がない 場 合 の 転 送 中<br />
断 処 理 はアプリケーションプログラム 側 にて PciGpibExClrStatus 関 数 を 入 出 力 完 了 検 出 ク<br />
リアを 指 定 して 呼 び 出 すことにより、 非 同 期 入 出 力 の 中 断 処 理 が 行 われます。<br />
・ その 時 点 で、 本 関 数 を 再 度 呼 び 出 すことにより、 送 信 ステータスの 取 得 を 行 います。<br />
・ デリミタは 関 数 内 で 自 動 的 に 付 加 されるので、 予 めデータに 付 加 しておく 必 要 はありませ<br />
ん。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
135
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
・ 送 信 完 了 メッセージはデリミタ 送 出 後 にポストされます。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
int BoardNo;<br />
DWORD Len;<br />
char SendDat[ ] = "0123456789";<br />
BoardNo = 0;<br />
Len = strlen(SendDat);<br />
Ret = PciGpibExSlavSendData( BoardNo, Len, SendDat, WM_NULL );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim Data As String<br />
Dim Len As Long<br />
Dim BoardNo As Long<br />
BoardNo = 0<br />
Data = StrConv("0123456789", vbFromUnicode)<br />
Len = LenB(Data)<br />
Data = StrConv(Data, vbUnicode)<br />
Ret = PciGpibExSlavSendData( BoardNo, Len, Data, 0 )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
BoardNo : Integer;<br />
SendLen : Cardinal;<br />
SendData : pChar;<br />
BoardNo := 0;<br />
SendData := StrNew('0123456789');<br />
SendLen := 10;<br />
Ret := PciGpibExMastSendData( BoardNo, @AdrsTbl[0], SendLen, SendData,<br />
WM_NULL );<br />
文 字 列 "0123456789"のデータ 送 信 を 実 行 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
136
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
42. PciGpibExSlavRecvData<br />
【 機 能 】<br />
データを 受 信 します。<br />
関 数 を 実 行 する 場 合 には、コントローラよりリスナ 指 定 済 、ATN 信 号 がデアサート( 信 号 無 効 )<br />
状 態 となっている 必 要 があります。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExSlavRecvData (<br />
int BoardNo,<br />
DWORD* Length,<br />
void* Buffer,<br />
UINT Msg<br />
);<br />
●Visual Basic<br />
バイト 型 / 数 値 型 変 数 のデータ 受 信 の 場 合<br />
Declare Function PciGpibExSlavRecvData Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByRef Length As Long, _<br />
ByRef Buffer As Any, _<br />
ByVal Msg As Long _<br />
) As Long<br />
文 字 列 型 変 数 のデータ 受 信 の 場 合<br />
Declare Function PciGpibExSlavRecvData Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByRef Length As Long, _<br />
ByVal Buffer As String, _<br />
ByVal Msg As Long _<br />
) As Long<br />
非 同 期 データ 受 信 の 場 合<br />
Declare Function PciGpibExSlavRecvData Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByRef Length As Long, _<br />
ByVal Buffer As Any, _<br />
ByVal Msg As Long _<br />
) As Long<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
137
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
function PciGpibExSlavRecvData (<br />
BoardNo : Integer;<br />
var Length : Cardinal;<br />
Buffer : Pointer;<br />
Msg : Cardinal<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
Length<br />
受 信 バッファのバイトサイズが 格 納 されている 変 数 へのポインタ( 参 照 渡 し)を 指 定 しま<br />
す。<br />
本 関 数 呼 び 出 し 後 、 実 際 に 受 信 したバイトサイズが 格 納 されます。( 同 期 入 出 力 時 )<br />
受 信 バッファの 領 域 は、 必 ず「 受 信 データ 長 」+「デリミタ」 分 の 領 域 を 確 保 するように<br />
してください。<br />
Buffer<br />
受 信 バッファ 領 域 へのポインタ( 参 照 渡 し)を 指 定 します。<br />
※ Visual Basic の 場 合 には、API の Declare Function の 宣 言 がバイト 型 / 数 値 型 と 文 字 列 型<br />
とでは 異 なります。<br />
※ Visual Basic では、 文 字 列 変 数 として 固 定 長 文 字 列 を 指 定 してください。<br />
例 : Dim RecvBuffer As String * 32 など<br />
※ Visual Basic で 非 同 期 送 信 を 行 う 場 合 は、GlobalAlloc 関 数 などを 用 いて 割 り 当 てたメモ<br />
リ 領 域 を 指 定 してください。 詳 しくはサンプルプログラムをご 参 照 ください。<br />
Msg<br />
非 同 期 送 信 完 了 時 にアプリケーションに 通 知 されるメッセージを 指 定 します。<br />
同 期 動 作 時 には WM_NULL もしくは 0 を 指 定 してください<br />
【 戻 り 値 】<br />
正 常 終 了 しますと、 以 下 の 値 を 返 します。<br />
戻 り 値<br />
意 味<br />
2 EOI を 検 出 して 受 信 が 完 了 しました。<br />
1 指 定 された 受 信 データ 数 に 達 して 受 信 が 完 了 しました。<br />
0 デリミタを 検 出 して 受 信 が 完 了 しました。<br />
上 記 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージ/ 非 コントローラ・イン・チャージの 両 方 で 使 用 で<br />
きます。<br />
・ 同 期 入 出 力 時 には、タイムアウト 発 生 もしくは 何 らかの 要 因 により 処 理 が 終 了 した 場 合 に<br />
おいて、 本 関 数 の 処 理 を 終 了 します。<br />
・ 非 同 期 入 出 力 時 には、 本 関 数 はデータ 受 信 開 始 のみ 行 い、データ 受 信 完 了 を 待 たずに 本 関<br />
数 の 処 理 を 終 了 します。データ 受 信 完 了 の 確 認 は、PciGpibExGetStatus 関 数 において 入 出 力<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
138
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
完 了 を 監 視 、または、アプリケーションに 通 知 されるメッセージにより 行 います。<br />
その 時 点 で、 本 関 数 を 再 度 呼 び 出 すことにより、 受 信 ステータスおよび 受 信 データ 長 の 取 得<br />
を 行 います。<br />
・ 非 同 期 入 出 力 時 のタイムアウト 検 出 について<br />
非 同 期 入 出 力 時 は、タイムアウトの 検 出 が 行 えません。 機 器 からの 応 答 がない 場 合 の 転 送 中<br />
断 処 理 はアプリケーションプログラム 側 にて PciGpibExClrStatus 関 数 を 入 出 力 完 了 検 出 ク<br />
リアを 指 定 して 呼 び 出 すことにより、 非 同 期 入 出 力 の 中 断 処 理 が 行 われます。<br />
・ 受 信 完 了 メッセージはデリミタ 受 信 後 にポストされます。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
int BoardNo;<br />
DWORD RecvLen;<br />
char RecvBuf[64];<br />
BoardNo = 0;<br />
RecvLen = 64;<br />
// 受 信 バッファの Max サイズを 指 定 する<br />
Ret = PciGpibExSlavRecvData( BoardNo, &RecvLen, RecvBuf, WM_NULL );<br />
RecvBuf[RecvLen] = '¥0'; // 受 信 完 了 時 には、RecvLen 変 数 には 実 際 に 受 信 したデータの<br />
// データ 長 が 格 納 される<br />
printf(" 受 信 データ %s, 受 信 データ 長 %d¥n", RecvBuf, RecvLen);<br />
●Visual Basic<br />
Public RecvBuf As String * 64 ' 受 信 バッファ 領 域 は、 標 準 モジュール 内 ( .BAS ファイル)<br />
' で Public 宣 言 する<br />
Dim Ret As Long<br />
Dim BoardNo As Long<br />
Dim RecvLen As Long<br />
BoardNo = 0<br />
RecvLen = 64<br />
' 受 信 バッファの Max サイズを 指 定 する<br />
Ret = PciGpibExSlavRecvData( BoardNo, RecvLen, RecvBuf, 0 )<br />
' 受 信 完 了 時 には、RecvLen 変 数 には 実 際 に 受 信 したデータのデータ 長 が 格 納 される<br />
MsgBox Left(RecvBuf, RecvLen) ' 受 信 データを 表 示<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
139
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
BoardNo : Integer,<br />
RecvLen : Cardinal;<br />
RecvBuf : Array[0..64] of Char;<br />
BoardNo := 0;<br />
AdrsTbl[0] := 2;<br />
AdrsTbl[1] := -1;<br />
RecvLen := 64;<br />
Ret := PciGpibExSlavRecvData( BoardNo, RecvLen, @RecvBuf[0], WM_NULL );<br />
データ 受 信 の 実 行 を 行 います。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
140
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
43. PciGpibExSlavSendFile<br />
【 機 能 】<br />
ファイルからデータを 読 み 込 み、GP-IB バス 上 に 送 信 します。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExSlavSendFile (<br />
int BoardNo,<br />
char* FileName<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExSlavSendFile Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByVal FileName As String _<br />
) As Long<br />
●Delphi<br />
function PciGpibExSlavSendFile (<br />
BoardNo : Integer;<br />
FileName : String<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
FileName<br />
送 信 データが 格 納 されたファイル 名 を 指 定 します。<br />
ファイル 名 の 指 定 はフルパスで 記 述 する 必 要 があります。<br />
パスの 記 述 がない 場 合 には、カレントフォルダのファイル 指 定 となります。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
141
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージ/ 非 コントローラ・イン・チャージの 両 方 で 使 用 で<br />
きます。<br />
・ ファイルの 内 容 は 加 工 されずにそのままの 形 でバスに 送 出 されます。<br />
・ ファイルの 最 後 には、 送 信 デリミタが 付 加 されます。そのため、CRLF 等 のデリミタを 指 定<br />
していた 場 合 、ファイルの 最 後 に CRLF が 付 加 されてしまいます。 従 ってファイル 転 送 等 に 使<br />
用 する 場 合 においては、 送 信 デリミタには 必 ず EOI のみを 指 定 してください。<br />
・ ファイルはバイナリデータとしてオープンされ 読 み 込 まれます。また、オープンされたフ<br />
ァイルは 読 み 込 み 終 了 後 、ただちにクローズされます。<br />
・ 本 関 数 では 非 同 期 入 出 力 設 定 がされていても、 非 同 期 処 理 は 行 われず、 同 期 して 処 理 され<br />
ます。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExSlavSendFile( 0, "test.dat" );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExSlavSendFile( 0, "test.dat" )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExSlavSendFile( 0, 'test.dat' );<br />
ファイル 名 "test.dat"のファイルを 読 み 込 み、GP-IB バス 上 に 送 出 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
142
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
44. PciGpibExSlavRecvFile<br />
【 機 能 】<br />
GP-IB バスから 受 信 したデータをファイルに 書 き 込 みます。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExSlavRecvFile (<br />
int BoardNo,<br />
DWORD* Length,<br />
char* FileName<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExSlavRecvFile Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByRef Length As Long, _<br />
ByVal FileName As String _<br />
) As Long<br />
●Delphi<br />
function PciGpibExSlavRecvFile (<br />
BoardNo : Integer;<br />
var Length : Cardinal;<br />
FileName : String<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
Length<br />
受 信 バッファのバイトサイズが 格 納 されている 変 数 へのポインタ( 参 照 渡 し)を 指 定 しま<br />
す。 本 関 数 呼 び 出 し 後 、 実 際 に 受 信 したバイトサイズが 格 納 されます。<br />
FileName<br />
受 信 データを 格 納 するファイル 名 を 指 定 します。<br />
ファイル 名 の 指 定 はフルパスで 記 述 する 必 要 があります。<br />
パスの 記 述 がない 場 合 には、カレントフォルダのファイル 指 定 となります。<br />
【 戻 り 値 】<br />
正 常 終 了 しますと、 以 下 の 値 を 返 します。<br />
戻 り 値<br />
意 味<br />
2 EOI を 検 出 して 受 信 が 完 了 しました。<br />
1 指 定 された 受 信 データ 数 に 達 して 受 信 が 完 了 しました。<br />
0 デリミタを 検 出 して 受 信 が 完 了 しました。<br />
上 記 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
143
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージ/ 非 コントローラ・イン・チャージの 両 方 で 使 用 で<br />
きます。<br />
・ バスから 読 み 込 まれたデータに 受 信 デリミタが 含 まれていた 場 合 、その 時 点 で 受 信 処 理 を<br />
終 了 します。 従 ってファイル 転 送 等 に 使 用 する 場 合 において、ファイル 中 に CRLF 等 のコード<br />
が 含 まれている 場 合 には、 受 信 デリミタには 必 ず EOI のみを 指 定 してください。<br />
・ ファイルはバスから 読 み 込 まれたデータがそのままの 形 式 で 書 き 込 まれます。<br />
・ オープンされたファイルは 書 き 込 み 終 了 後 、ただちにクローズされます。 既 にファイルが<br />
存 在 していた 場 合 は、 上 書 きされます。<br />
・ 本 関 数 では 非 同 期 入 出 力 設 定 がされていても、 非 同 期 処 理 は 行 われず、 同 期 して 処 理 され<br />
ます。<br />
・ 受 信 バッファサイズ(Length)の 指 定 はデリミタサイズも 含 めて 充 分 余 裕 を 持 って 指 定 して<br />
ください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
DWORD Length;<br />
Length = 64;<br />
Ret = PciGpibExSlavRecvFile( 0, &Length, "test.dat" );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim Length As Long<br />
Length = 64<br />
Ret = PciGpibExSlavRecvFile( 0, Length, "test.dat" );<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Length : Cardinal;<br />
Length := 64;<br />
Ret := PciGpibExSlavRecvFile( 0, Length, 'test.dat' );<br />
データ 受 信 を 実 行 し、ファイル"test.dat"に 受 信 したデータを 書 き 込 みます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
144
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
45. PciGpibExSlavCheckStb<br />
【 機 能 】<br />
ステータス・バイトがコントローラへ 通 知 済 であるかどうか 確 認 します。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExSlavCheckStb (<br />
int BoardNo<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExSlavCheckStb Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExSlavCheckStb (<br />
BoardNo : Integer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 しますと、 以 下 の 値 を 返 します。<br />
戻 り 値<br />
意 味<br />
7 ステータス・バイトはコントローラへ 通 知 済 です。<br />
6 まだ、シリアル・ポールは 行 われていません。<br />
上 記 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージ/ 非 コントローラ・イン・チャージの 両 方 にて 使 用<br />
可 能 です。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExSlavCheckStb( 0 );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExSlavCheckStb( 0 )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
145
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExSlavCheckStb( 0 );<br />
ステータス・バイトがコントローラへ 通 知 済 であるか 否 かを 確 認 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
146
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
46. PciGpibExSlavSetSrq<br />
【 機 能 】<br />
ステータス・バイトを 設 定 し、SRQ 信 号 を 送 出 します。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExSlavSetSrq (<br />
int BoardNo,<br />
int Stb<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExSlavSetSrq Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByVal Stb As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExSlavSetSrq (<br />
BoardNo : Integer;<br />
Stb : Integer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
Stb<br />
ステータスバイトを 指 定 します。<br />
設 定 できるステータス・バイト 情 報 は、ビット 6 を 除 く 7 ビットの 情 報 です。<br />
ビット 6 には 0 を 指 定 してください。<br />
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0<br />
STB7 0 STB5 STB4 STB3 STB2 STB1 STB0<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージ/ 非 コントローラ・イン・チャージの 両 方 にて 使 用<br />
可 能 です。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
147
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExSlavSetSrq( 0, 0x01 );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExSlavSetSrq( 0, &h01 )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExSlavSetSrq( 0, $01 );<br />
ステータス・バイト 値 1 を 設 定 し、SRQ 信 号 を 送 出 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
148
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
47. PciGpibExSlavSetIst<br />
【 機 能 】<br />
パラレルポールにおけるステータスビット(ist ビット)のセット/クリアを 行 います。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExSlavSetIst (<br />
int BoardNo,<br />
int Mode<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExSlavSetIst Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByVal Mode As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExSlavSetIst (<br />
BoardNo : Integer;<br />
Mode : Integer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
Mode<br />
パラレルポールステータス 設 定 を 指 定 します。<br />
設 定 できるステータス・バイト 情 報 は、ビット 6 を 除 く 7 ビットの 情 報 です。<br />
パラメータ<br />
説 明<br />
0 以 外 ist(Individual Status)ビットをセット(1)します。<br />
0 ist(Individual Status)ビットをクリア(0)します。<br />
・パラレルポール 応 答 の 極 性 、アサインはコントローラ(マスタ)からのリモートコンフィ<br />
グレーション(PciGpibExCfgPpoll 関 数 )により 決 まります。<br />
・パラレルポール 実 行 時 (PciGpibExExecPpoll 関 数 )、ist ビットの 設 定 とリモートコンフ<br />
ィグレーションでの 極 性 が 一 致 したとき、 割 り 当 てた DIO ラインをアサートします。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
149
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージ/ 非 コントローラ・イン・チャージの 両 方 にて 使 用 可<br />
能 です。<br />
・リモート・コンフィギュレーションにおけるパラレルポール ステータスビット(ist ビット)<br />
を 設 定 します。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExSlavSetIst( 0, 1 );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExSlavSetIst( 0, 1 )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExSlavSetIst( 0, 1 );<br />
ist ビットをセット(1)します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
150
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
48. PciGpibExSlavSetPp2<br />
【 機 能 】<br />
ローカルコンフィグレーション(pp2)における、パラレルポール 応 答 モードを 設 定 します。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExSlavSetPp2 (<br />
int BoardNo,<br />
int Mode<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExSlavSetPp2 Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByVal Mode As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExSlavSetPp2 (<br />
BoardNo : Integer;<br />
Mode : Integer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
Mode<br />
パラレルポール 応 答 モードを 指 定 します。<br />
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0<br />
0 0 0 0 S p3 p2 p1<br />
【 戻 り 値 】<br />
p3 p2 p1 DIO ライン 1~8 の 指 定<br />
0 0 0 DIO1 で 応 答<br />
0 0 1 DIO2 で 応 答<br />
0 1 0 DIO3 で 応 答<br />
0 1 1 DIO4 で 応 答<br />
1 0 0 DIO5 で 応 答<br />
1 0 1 DIO6 で 応 答<br />
1 1 0 DIO7 で 応 答<br />
1 1 1 DIO8 で 応 答<br />
S<br />
極 性 の 指 定<br />
0 機 器 の ist ビットがクリア(0)のとき、 割 り 当 てた 応 答 DIO ラインをアサートします。<br />
1 機 器 の ist ビットがセット(1)のとき、 割 り 当 てた 応 答 DIO ラインをアサートします。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
151
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 はコントローラ・イン・チャージ/ 非 コントローラ・イン・チャージの 両 方 にて 使 用<br />
可 能 です。<br />
・ ローカル・コンフィギュレーション 時 のパラレルポール 応 答 モードを 設 定 します。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExSlavSetPp2( 0, 0x09 );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExSlavSetPp2( 0, &H9 )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExSlavSetPp2( 0, $09 );<br />
パラレルポーリング 実 行 時 に、ist ビットが 1 ならば DIO ライン 2 をアサートする 設 定 を 行 い<br />
ます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
152
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
49. PciGpibExWaitTimer<br />
【 機 能 】<br />
指 定 した 時 間 待 ちます。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExWaitTimer (<br />
DWORD Timeout<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExWaitTimer Lib "gpc<strong>4304</strong>.dll" ( _<br />
ByVal Timeout As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExWaitTimer (<br />
Timeout : Cardinal<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
Timeout<br />
待 ち 時 間 を 100 ミリ 秒 単 位 で 指 定 します。<br />
( 設 定 範 囲 :0~FFFFFFFFh)<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 本 関 数 を 呼 び 出 し 後 、 指 定 時 間 を 経 過 するまでアプリケーションプログラムには 制 御 が 戻<br />
りません。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExWaitTimer( 10 );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExWaitTimer( 10 )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
153
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExWaitTimer( 10 );<br />
1 秒 間 待 ちます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
154
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
50. PciGpibExStartTimer<br />
【 機 能 】<br />
汎 用 タイマのスタートを 行 います。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExStartTimer (void);<br />
●Visual Basic<br />
Declare Function PciGpibExStartTimer Lib "gpc<strong>4304</strong>.dll"( ) As Long<br />
●Delphi<br />
function PciGpibExStartTimer : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
なし<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 周 期 は 100ms、32bit カウンタです。<br />
・ 本 関 数 はマルチメディアタイマを 使 用 しているので、OS の 負 荷 により 数 ms~ 数 10ms の 誤<br />
差 が 出 る 場 合 があります。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExStartTimer( );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExStartTimer( )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExStartTimer( );<br />
汎 用 タイマのスタートを 行 います。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
155
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
51. PciGpibExClearTimer<br />
【 機 能 】<br />
汎 用 タイマの 現 在 値 をクリアして、 再 スタートを 行 います。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExClearTimer (void);<br />
●Visual Basic<br />
Declare Function PciGpibExClearTimer Lib "gpc<strong>4304</strong>.dll"( ) As Long<br />
●Delphi<br />
function PciGpibExClearTimer : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
なし<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExClearTimer( );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExClearTimer( )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExClearTimer( );<br />
汎 用 タイマの 再 スタートを 行 います。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
156
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
52. PciGpibExReadTimer<br />
【 機 能 】<br />
汎 用 タイマの 現 在 値 を 取 得 します。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExReadTimer (<br />
DWORD* TimerValue<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExReadTimer Lib "gpc<strong>4304</strong>.dll" ( _<br />
ByRef TimerValue As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExReadTimer (<br />
var TimerValue : Cardinal _<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
TimerValue<br />
現 在 のタイマ 値 を 格 納 する 変 数 のポインタ( 参 照 渡 し)を 指 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
DWORD TimeVal;<br />
Ret = PciGpibExReadTimer( &TimeVal );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim TimeVal As Long<br />
Ret = PciGpibExReadTimer( TimeVal )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
157
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
TimeVal : Cardinal;<br />
Ret := PciGpibExReadTimer( TimeVal );<br />
汎 用 タイマの 読 み 出 しを 行 います。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
158
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
53. PciGpibExStopTimer<br />
【 機 能 】<br />
汎 用 タイマを 停 止 させます。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExStopTimer (void);<br />
●Visual Basic<br />
Declare Function PciGpibExStopTimer Lib "gpc<strong>4304</strong>.dll"( ) As Long<br />
●Delphi<br />
function PciGpibExStopTimer : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
なし<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
Ret = PciGpibExStopTimer( );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Ret = PciGpibExStopTimer( )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExStopTimer( );<br />
汎 用 タイマを 停 止 させます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
159
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
54. PciGpibExSetSrqEvent<br />
【 機 能 】<br />
SRQ コールバックイベントを 登 録 します。<br />
【 書 式 】<br />
●C 言 語 (x86)<br />
int PciGpibExSetSrqEvent (<br />
Int<br />
BoardNo,<br />
LPSRQCALLBACK SrqProc,<br />
DWORD<br />
dwUser<br />
);<br />
●C 言 語 (x64)<br />
int PciGpibExSetSrqEvent (<br />
int<br />
BoardNo,<br />
LPSRQCALLBACK SrqProc,<br />
PVOID<br />
dwUser<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExSetSrqEvent Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByVal SrqProc As Long, _<br />
ByVal dwUser As Long _<br />
) As Long<br />
●Delphi<br />
Function PciGpibExSetSrqEvent (<br />
BoardNo : Cardinal;<br />
SrqProc : FARPROC;<br />
DwUser : DWORD<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
SrqProc<br />
コールバック 関 数 のポインタ( 参 照 渡 し)を 指 定 します。<br />
『4.3 コールバック 関 数 』をご 参 照 ください。<br />
dwUser<br />
コールバック 関 数 に 渡 す 任 意 のデータを 指 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
160
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
コールバック 関 数 の 書 式 は 以 下 の 通 りです(C 言 語 (x86))。『4.3 コールバック 関 数 』もご 参 照<br />
ください。<br />
void CALLBACK EventProc (<br />
Int BoardNo,<br />
DWORD dwUser<br />
);<br />
【 使 用 例 】<br />
●C 言 語 (x86)<br />
void CALLBACK OnSrqProc(int BoardNo, DWORD dwUser){<br />
・<br />
・<br />
・<br />
}<br />
int Ret;<br />
Ret = PciGpibExSetSrqEvent( 0, (PLPSRQCALLBACK)OnSrqProc, 100 );<br />
●C 言 語 (x64)<br />
void CALLBACK OnSrqProc(int BoardNo, PVOID dwUser){<br />
・<br />
・<br />
・<br />
}<br />
int Ret;<br />
Ret = PciGpibExSetSrqEvent( 0, (PLPSRQCALLBACK)OnSrqProc, 100 );<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
161
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Visual Basic<br />
コールバックルーチンは PciGpibExSetSrqEvent 関 数 の 呼 び 出 しを 行 うプロジェクト 内 の 標 準<br />
モジュールの 中 に 記 述 しなければなりません。<br />
・ PciGpibExSetSrqEvent 関 数 の 引 数 パラメータでプロシージャのアドレスを 渡 す 為 に<br />
AddressOf 演 算 子 を 使 用 します。<br />
(PciGpibExSetSrqEvent 関 数 の 使 用 例 を 参 照 してください。)<br />
・ AddressOf 演 算 子 を 使 うと、プロシージャからの 戻 り 値 ではなく、プロシージャ 自 体 のア<br />
ドレスが、ダイナミック リンク ライブラリ (DLL)の PciGpibExSetSrqEvent 関 数 に 渡 されま<br />
す。<br />
Sub OnSrqProc(BoardNo As Long, dwUser As Long)<br />
' ・<br />
' ・ 割 り 込 みイベントに 対 応 する 処 理 を 記 述 します。<br />
' ・<br />
End Sub<br />
Dim Ret As Long<br />
Ret = PciGpibExSetSrqEvent( 0, AddressOf OnSrqProc, 100 )<br />
●Delphi<br />
procedure OnSrqProc(BoardNo : Integer, dwUser: DWORD); stdcall;<br />
var<br />
// 変 数 定 義<br />
begin<br />
end;<br />
// ・<br />
// ・ 割 り 込 みイベントに 対 応 する 処 理 を 記 述 します。<br />
// ・<br />
var<br />
Ret : Integer;<br />
Ret := PciGpibExSetSrqEvent( 0, OnSrqProc, 100 );<br />
ボード 番 号 0 の GP-IB <strong>インタフェース</strong>モジュールに 対 して SRQ コールバック 関 数 lpOnSrqProc<br />
を 登 録 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
162
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
55. PciGpibExWaitSrqEvent<br />
【 機 能 】<br />
SRQ コールバックイベントを 待 ちます。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExSetSrqEvent (<br />
int BoardNo,<br />
ULONG Timeout<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExSetSrqEvent Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByVal Timeout As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExSetSrqEvent (<br />
BoardNo : Cardinal;<br />
Timeout : Cardinal<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
Timeout<br />
タイムアウト 時 間 をミリ 秒 単 位 で 指 定 します。<br />
0 を 指 定 した 場 合 は、 状 態 を 調 べてからすぐに 制 御 を 戻 します<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret, BoardNo;<br />
BoardNo = 0;<br />
Ret = PciGpibExWaitSrqEvent( BoardNo, 5000 );<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
163
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim BoardNo As Long<br />
BoardNo = 0<br />
Ret = PciGpibExWaitSrqEvent( BoardNo, 5000 )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
BoardNo : Cardinal;<br />
BoardNo := 0;<br />
Ret := PciGpibExWaitSrqEvent( BoardNo, 5000 );<br />
SRQ コールバックイベント 待 ちをします。(タイムアウト 5 秒 )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
164
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
56. PciGpibExKillSrqEvent<br />
【 機 能 】<br />
SRQ コールバックイベントの 登 録 を 解 除 します。<br />
【 書 式 】<br />
●C 言 語<br />
int PciGpibExKillSrqEvent (<br />
int BoardNo<br />
);<br />
●Visual Basic<br />
Declare Function PciGpibExKillSrqEvent Lib "gpc<strong>4304</strong>.dll"( _<br />
ByVal BoardNo As Long _<br />
) As Long<br />
●Delphi<br />
function PciGpibExKillSrqEvent (<br />
BoardNo : Cardinal<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret, BoardNo;<br />
BoardNo = 0;<br />
Ret = PciGpibExKillSrqEvent( BoardNo );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim BoardNo As Long<br />
BoardNo = 0<br />
Ret = PciGpibExKillSrqEvent( BoardNo )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
165
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
BoardNo : Cardinal;<br />
BoardNo := 0;<br />
Ret := PciGpibExKillSrqEvent( BoardNo );<br />
SRQ コールバックイベント 登 録 を 解 除 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
166
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
4.2 標 準 版 DLL<br />
4.2.1 関 数 一 覧<br />
No 関 数 名 機 能<br />
1 GpibOpen <strong>インタフェース</strong>モジュールをオープンします。<br />
2 GpibSetIfc IFC 信 号 を 送 出 し、<strong>インタフェース</strong>モジュールをコントローラとします。<br />
3 GpibSetRen REN 信 号 を 有 効 にします。<br />
4 GpibSetConfig タイムアウト 時 間 、デリミタ 設 定 を 変 更 します。<br />
5 GpibExecDeviceTrigger デバイストリガを 実 行 します。<br />
6 GpibExecDeviceClear デバイスクリアを 実 行 します。<br />
7 GpibCheckSrq SRQ 信 号 を 受 信 しているかを 確 認 します。<br />
8 GpibExecSpoll シリアルポーリングを 実 行 します。<br />
9 GpibReceive 計 測 機 器 から 受 信 を 行 います。<br />
10 GpibSend 計 測 機 器 に 対 して 送 信 を 行 います。<br />
11 GpibClose <strong>インタフェース</strong>モジュールをクローズします。<br />
12 GpibSetSrqEvent SRQ コールバックイベントを 登 録 します。<br />
13 GpibWaitSrqEvent SRQ コールバックイベントを 待 ちます。<br />
14 GpibKillSrqEvent SRQ コールバックイベント 登 録 を 解 除 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
167
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
4.2.2 関 数 個 別 説 明<br />
1. GpibOpen<br />
【 機 能 】<br />
オープンを 行 い、 以 後 の<strong>インタフェース</strong>モジュールへのアクセスを 行 えるようにします。<br />
【 書 式 】<br />
●C 言 語<br />
int GpibOpen (<br />
ULONG BoardNo<br />
);<br />
●Visual Basic<br />
Declare Function GpibOpen Lib "gpc<strong>4304</strong>2.dll"( _<br />
ByVal BoardNo As Long _<br />
) As Long<br />
●Delphi<br />
function GpibOpen (<br />
BoardNo : Cardinal<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>2.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
<strong>インタフェース</strong>モジュール 上 のロータリスイッチの 値 がボードアクセス 番 号 となります。<br />
CardBus シリーズにつきましては、CardBus ID 設 定 ユーティリティで 設 定 した ID がボー<br />
ドアクセス 番 号 となります。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
コントロールパネルで 次 のパラメータが 設 定 してある 場 合 には、エラーとなります。<br />
送 受 信 デリミタとして「デリミタなし」、「NULL」、「 任 意 の 1 文 字 」を 指 定 している。<br />
※デリミタは、「EOI のみ」,「CR」,「CR+EOI」,「LF」,「LF+EOI」,「CRLF」,「CRLF+EOI」<br />
の 7 種 のみ 使 用 可 能 です。<br />
動 作 モードで「 非 コントローラモード」を 指 定 している。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
168
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
ULONG BoardNo;<br />
BoardNo = 0;<br />
Ret = GpibOpen( BoardNo );<br />
●Visual Basic<br />
Dim Ret As Integer<br />
Dim BoardNo As Long<br />
BoardNo = 0<br />
Ret = GpibOpen( BoardNo )<br />
●Delphi<br />
var<br />
Ret: Integer;<br />
BoardNo: Cardinal;<br />
BoardNo := 0;<br />
Ret := GpibOpen( BoardNo );<br />
<strong>インタフェース</strong>モジュールをオープンします。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
169
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
2. GpibSetIfc<br />
【 機 能 】<br />
IFC 信 号 を 送 出 して、<strong>インタフェース</strong>モジュールをコントローラとし、 以 後 の 計 測 機 器 への 制<br />
御 を 可 能 とします。<br />
【 書 式 】<br />
●C 言 語<br />
int GpibSetIfc (<br />
ULONG BoardNo<br />
);<br />
●Visual Basic<br />
Declare Function GpibSetIfc Lib "gpc<strong>4304</strong>2.dll"( _<br />
ByVal BoardNo As Long _<br />
) As Long<br />
●Delphi<br />
function GpibSetIfc (<br />
BoardNo : Cardinal<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>2.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
ULONG BoardNo;<br />
BoardNo = 0;<br />
Ret = GpibSetIfc( BoardNo );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim BoardNo As Long<br />
BoardNo = 0<br />
Ret = GpibSetIfc( BoardNo )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
170
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
BoardNo : Cardinal;<br />
BoardNo := 0;<br />
Ret := GpibSetIfc( BoardNo );<br />
IFC 信 号 を 送 出 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
171
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
3. GpibSetRen<br />
【 機 能 】<br />
REN 信 号 を 有 効 にします。<br />
【 書 式 】<br />
●C 言 語<br />
int GpibSetRen (<br />
ULONG BoardNo<br />
);<br />
●Visual Basic<br />
Declare Function GpibSetRen Lib "gpc<strong>4304</strong>2.dll"( _<br />
ByVal BoardNo As Long _<br />
) As Long<br />
●Delphi<br />
function GpibSetRen (<br />
BoardNo : Cardinal<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>2.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
ULONG BoardNo;<br />
BoardNo = 0;<br />
Ret = GpibSetRen( BoardNo );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim BoardNo As Long<br />
BoardNo = 0<br />
Ret = GpibSetRen( BoardNo )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
172
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
BoardNo : Cardinal;<br />
BoardNo := 0;<br />
Ret := GpibSetRen( BoardNo );<br />
REN 信 号 を 有 効 にします。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
173
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
4. GpibSetConfig<br />
【 機 能 】<br />
タイムアウト 時 間 、デリミタ 設 定 、GP-IB アドレス 設 定 、その 他 各 種 設 定 を 変 更 します。<br />
【 書 式 】<br />
●C 言 語<br />
int GpibSetConfig (<br />
ULONG BoardNo,<br />
PUCHAR Config<br />
);<br />
●Visual Basic<br />
Declare Function GpibSetConfig Lib "gpc<strong>4304</strong>2.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByVal Config As String _<br />
) As Long<br />
●Delphi<br />
function GpibSetConfig (<br />
BoardNo : Cardinal;<br />
Config : String<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>2.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
Config<br />
設 定 に 関 する 各 種 情 報 を 含 んだ 文 字 列 を 指 定 してください。<br />
指 定 のなかった 項 目 に 対 しては、 初 期 値 が 設 定 されます。<br />
設 定 情 報 の 各 パラメータを 以 下 に 示 します。 各 パラメータは、スペースで 区 切 ってくださ<br />
い。 各 パラメータ 文 字 列 の 中 にはスペースを 入 れないようにしてください。<br />
文 字 列 の 最 後 に NULL 文 字 を 入 れてください。<br />
項 目 文 字 列 内 容<br />
送 受 信 タイムアウト "/TMO=" 送 受 信 時 に 使 用 するタイムアウト 時 間 ( 単 位 :100ms)<br />
を 1~65535 で 設 定 します。<br />
デフォルトは、コントロールパネルアプレットでの 設<br />
定 値 が 使 用 されます。<br />
STB 応 答 時 間 "/SRT=" シリアルポール 時 のステータスバイト 応 答 時 間 ( 単<br />
位 :100ms)を 1~65535 で 設 定 します。<br />
デフォルトは、コントロールパネルアプレットでの 設<br />
定 値 が 使 用 されます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
174
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
項 目 文 字 列 内 容<br />
送 信 デリミタ<br />
"/SDELIM=" 送 信 時 に 使 用 するデリミタを 設 定 します。<br />
デフォルトは、コントロールパネルアプレットでの 設<br />
定 値 が 使 用 されます。<br />
"NO" デリミタ 無 し<br />
"EOI" EOI<br />
"CR" CR<br />
送 信 デリミタ<br />
"/SDELIM=" "CR+EOI" CR+EOI<br />
"LF" LF<br />
"LF+EOI" LF+EOI<br />
"CRLF" CRLF<br />
"CRLF+EOI<br />
"<br />
CRLF+EOI<br />
受 信 デリミタ<br />
"/RDELIM=" 受 信 時 に 使 用 するデリミタを 設 定 します。<br />
デフォルトは、コントロールパネルアプレットでの 設<br />
定 値 が 使 用 されます。<br />
"NO" デリミタ 無 し<br />
"EOI" EOI<br />
"CR" CR<br />
"CR+EOI" CR+EOI<br />
"LF" LF<br />
"LF+EOI" LF+EOI<br />
"CRLF" CRLF<br />
"CRLF+EOI CRLF+EOI<br />
"<br />
1 次 アドレス "/MA=" 1 次 アドレスを 設 定 します。 範 囲 0~30<br />
デフォルトは、コントロールパネルアプレットでの 設<br />
定 値 が 使 用 されます。<br />
2 次 アドレス "/SA=" 2 次 アドレスを 設 定 します。 範 囲 :96~126<br />
96~126 以 外 の 値 を 設 定 すると 2 次 アドレスは 無 効<br />
となります。<br />
デフォルトは、コントロールパネルアプレットでの 設<br />
NRFD 信 号 ラインアサ<br />
ート 待 ち[ 有 効 / 無 効 ]<br />
"/NRFDWAIT<br />
="<br />
定 値 が 使 用 されます。<br />
コントローラデータ 送 信 の 最 終 データ 送 信 後 に<br />
GP-IB バスの NRFD 信 号 ラインがアサートされるま<br />
で「 待 つ」か「 待 たない」かの 設 定 を 行 います。<br />
「 待 ち 時 間 」には「データ 転 送 タイムアウト」の 時 間<br />
が 適 用 されます。<br />
"ON" NRFD 信 号 ラインがアサートされる<br />
まで 待 ちます。<br />
"OFF" NRFD 信 号 ラインのアサート 待 ちは<br />
無 効 となります。(デフォルト)<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
175
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
ULONG BoardNo;<br />
CHAR Param[] = "/TMO=100 /SDELIM=EOI";<br />
BoardNo = 0;<br />
Ret = GpibSetConfig( BoardNo, &Param[0] );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim BoardNo As Long<br />
Dim Param As String<br />
BoardNo = 0<br />
Param = "/TMO=100 /SDELIM=EOI"<br />
Ret = GpibSetConfig( BoardNo, Param )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
BoardNo : Cardinal;<br />
Param : String;<br />
BoardNo := 0;<br />
Param := '/TMO=100 /SDELIM=EOI';<br />
Ret := GpibSetConfig( BoardNo, Param );<br />
ボード 番 号 0 の GP-IB <strong>インタフェース</strong>モジュールの 各 種 パラメータ 情 報 を 変 更 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
176
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
5. GpibExecDeviceTrigger<br />
【 機 能 】<br />
デバイストリガを 実 行 します。<br />
【 書 式 】<br />
●C 言 語<br />
int GpibExecDeviceTrigger (<br />
ULONG BoardNo,<br />
PLONG AdrsTbl<br />
);<br />
●Visual Basic<br />
Declare Function GpibExecDeviceTrigger Lib "gpc<strong>4304</strong>2.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As String _<br />
) As Long<br />
●Delphi<br />
function GpibExecDeviceTrigger (<br />
BoardNo : Cardinal;<br />
AdrsTbl : Pointer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>2.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
AdrsTbl<br />
機 器 のアドレステーブルを 指 定 します。<br />
デバイストリガを 有 効 にする 機 器 のアドレステーブルへのポインタ( 参 照 渡 し)を 指 定 し<br />
ます。 機 器 アドレステーブルは 次 の 形 式 で 指 定 します。<br />
1 台 の 機 器 (アドレス 10)の 場 合 2 台 の 機 器 (アドレス 10, 11)の 場 合<br />
LONG 配 列<br />
LONG 配 列<br />
+0[10] +0[10]<br />
+1[-1]… 終 端 コード +1[11]<br />
+2[-1]… 終 端 コード<br />
※-1( 終 端 コード)は 必 ず 最 後 に 付 加 してください。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
177
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 備 考 】<br />
本 関 数 を 実 行 することにより、 計 測 機 器 に 対 してデバイストリガを 実 行 します。デバイストリ<br />
ガを 受 信 した 計 測 機 器 の 動 作 については、 計 測 機 器 のマニュアルをご 参 照 ください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
ULONG BoardNo;<br />
LONG AdrTbl[] = { 10, -1 }; // 機 器 アドレステーブル<br />
BoardNo = 0;<br />
Ret = GpibExecDeviceTrigger( BoardNo, &AdrTbl[0] );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim BoardNo As Long<br />
Dim AdrTbl(1) As Long<br />
BoardNo = 0<br />
AdrTbl(0) = 10<br />
AdrTbl(1) = -1<br />
Ret = GpibExecDeviceTrigger( BoardNo, AdrTbl(0) )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
BoardNo : Cardinal;<br />
AdrTbl : Array[0..1] of Integer;<br />
BoardNo := 0;<br />
AdrTbl[0] := 10;<br />
AdrTbl[1] := -1;<br />
Ret := GpibExecDeviceTrigger( BoardNo, AdrTbl[0] );<br />
ボード 番 号 0 の GP-IB <strong>インタフェース</strong>モジュールから GP-IB アドレス 10 の 機 器 に 対 して、デ<br />
バイストリガを 実 行 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
178
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
6. GpibExecDeviceClear<br />
【 機 能 】<br />
デバイスクリアを 実 行 します。<br />
【 書 式 】<br />
●C 言 語<br />
int GpibExecDeviceClear (<br />
ULONG BoardNo,<br />
PLONG AdrsTbl<br />
);<br />
●Visual Basic<br />
Declare Function GpibExecDeviceClear Lib "gpc<strong>4304</strong>2.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As String _<br />
) As Long<br />
●Delphi<br />
function GpibExecDeviceClear (<br />
BoardNo : Cardinal;<br />
AdrsTbl : Pointer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>2.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
AdrsTbl<br />
機 器 のアドレステーブルを 指 定 します。<br />
デバイスクリアを 有 効 にする 機 器 のアドレステーブルへのポインタ( 参 照 渡 し)を 指 定 し<br />
ます。 機 器 アドレステーブルは 次 の 形 式 で 指 定 します。<br />
1 台 の 機 器 (アドレス 10)の 場 合 2 台 の 機 器 (アドレス 10, 11)の 場 合<br />
LONG 配 列<br />
LONG 配 列<br />
+0[10] +0[10]<br />
+1[-1]… 終 端 コード +1[11]<br />
+2[-1]… 終 端 コード<br />
※-1( 終 端 コード)は 必 ず 最 後 に 付 加 してください。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
179
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 備 考 】<br />
本 関 数 を 実 行 することにより、 計 測 機 器 に 対 してデバイスクリアを 実 行 します。デバイスクリ<br />
アを 受 信 した 計 測 機 器 の 動 作 については、 計 測 機 器 のマニュアルをご 参 照 ください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
ULONG BoardNo;<br />
LONG AdrTbl[] = { 10, -1 }; // 機 器 アドレステーブル<br />
BoardNo = 0;<br />
Ret = GpibExecDeviceClear( BoardNo, &AdrTbl[0] );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim BoardNo As Long<br />
Dim AdrTbl(1) As Long<br />
BoardNo = 0<br />
AdrTbl(0) = 10<br />
AdrTbl(1) = -1<br />
Ret = GpibExecDeviceClear( BoardNo, AdrTbl(0) )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
BoardNo : Cardinal;<br />
AdrTbl : Array[0..1] of Integer;<br />
BoardNo := 0;<br />
AdrTbl[0] := 10;<br />
AdrTbl[1] := -1;<br />
Ret := GpibExecDeviceClear( BoardNo, AdrTbl[0] );<br />
ボード 番 号 0 の GP-IB <strong>インタフェース</strong>モジュールから GP-IB アドレス 10 の 機 器 に 対 して、デ<br />
バイスクリアを 実 行 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
180
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
7. GpibCheckSrq<br />
【 機 能 】<br />
機 器 から SRQ 信 号 を 受 け 付 けているかどうか 確 認 します。<br />
【 書 式 】<br />
●C 言 語<br />
int GpibCheckSrq (<br />
ULONG BoardNo<br />
);<br />
●Visual Basic<br />
Declare Function GpibCheckSrq Lib "gpc<strong>4304</strong>2.dll"( _<br />
ByVal BoardNo As Long _<br />
) As Long<br />
●Delphi<br />
function GpibCheckSrq (<br />
BoardNo : Cardinal<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>2.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、 以 下 の 値 が 返 されます。<br />
戻 り 値<br />
意 味<br />
5 SRQ 信 号 を 受 け 付 けていません。<br />
4 SRQ 信 号 を 受 け 付 けています。<br />
上 記 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
ULONG BoardNo;<br />
BoardNo = 0;<br />
Ret = GpibCheckSrq( BoardNo );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim BoardNo As Long<br />
BoardNo = 0<br />
Ret = GpibCheckSrq( BoardNo )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
181
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
BoardNo : Cardinal;<br />
BoardNo := 0;<br />
Ret := GpibCheckSrq( BoardNo );<br />
機 器 から SRQ 信 号 を 受 け 付 けているかどうか 確 認 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
182
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
8. GpibExecSpoll<br />
【 機 能 】<br />
シリアルポーリングを 実 行 します。<br />
【 書 式 】<br />
●C 言 語<br />
int GpibExecSpoll (<br />
ULONG BoardNo,<br />
PLONG AdrsTbl,<br />
PLONG StbTbl,<br />
PLONG StbAdrs<br />
);<br />
●Visual Basic<br />
Declare Function GpibExecSpoll Lib "gpc<strong>4304</strong>2.dll”( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long, _<br />
ByRef StbTbl As Long, _<br />
ByRef StbAdrs As Long _<br />
) As Long<br />
●Delphi<br />
function GpibExecSpoll (<br />
BoardNo : Cardinal;<br />
AdrsTbl : Pointer;<br />
StbTbl : Pointer;<br />
StbAdrs : Pointer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>2.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
AdrsTbl<br />
シリアル・ポールを 行 う 機 器 のアドレステーブルへのポインタ( 参 照 渡 し)を 指 定 します。<br />
機 器 アドレステーブルは 次 の 形 式 で 指 定 します。<br />
1 台 の 機 器 (アドレス 10)の 場 合 2 台 の 機 器 (アドレス 10, 11)の 場 合<br />
LONG 配 列<br />
LONG 配 列<br />
+0[10] +0[10]<br />
+1[-1]… 終 端 コード +1[11]<br />
+2[-1]… 終 端 コード<br />
※-1( 終 端 コード)は 必 ず 最 後 に 付 加 してください。<br />
StbTbl<br />
シリアル・ポーリングを 行 い 受 信 した 各 機 器 の 有 効 なステータス・バイトを 格 納 するテー<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
183
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
ブルへのポインタ( 参 照 渡 し)を 指 定 します。<br />
本 関 数 呼 び 出 し 後 、 終 端 に-1 が 付 加 されます。<br />
※AdrsTbl(シリアルポーリング 機 器 アドレステーブル)と 同 じサイズの 領 域 を 確 保 して 呼<br />
び 出 してください。<br />
StbAdrs<br />
SRQ を 送 出 し、 有 効 なステータス・バイトを 持 っていた 各 機 器 のアドレスを 格 納 するテー<br />
ブルへのポインタ( 参 照 渡 し)を 指 定 します。<br />
本 関 数 呼 び 出 し 後 、 終 端 に-1 が 付 加 されます。<br />
※AdrsTbl(シリアルポーリング 機 器 アドレステーブル)と 同 じサイズの 領 域 を 確 保 して<br />
呼 び 出 してください。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
AdrsTbl(シリアルポーリング 機 器 アドレステーブル)、StbTbl( 受 信 STB 格 納 テーブル)、<br />
StbAdrs(STB 送 信 機 器 アドレステーブル)の 各 ポインタ( 参 照 渡 し)には 次 のような 手 順 でデー<br />
タを 格 納 、 取 得 します。<br />
1) 関 数 呼 び 出 し 前 、 呼 び 出 し 時<br />
シリアルポーリングを 行 う 機 器 のアドレスを AdrsTbl(シリアルポーリング 機 器 アドレステ<br />
ーブル)に 順 次 格 納 し、 終 端 -1 を 設 定 しておきます。<br />
StbTbl と StbAdrs は、 関 数 からのリターン 時 にそれぞれデータが 格 納 されて 戻 ってくるため、<br />
必 ず AdrsTbl と 同 じサイズの 領 域 を 確 保 して 関 数 に 指 定 します。そのとき、 確 保 領 域 には 何<br />
もデータを 入 れておく 必 要 はありません( 領 域 の 確 保 さえしておけば 問 題 はありません)。<br />
2) 関 数 の 動 作 、リターン 時<br />
AdrsTbl に 格 納 されている 機 器 に 対 して 順 次 シリアルポーリングを 行 っていきます。<br />
このとき、 機 器 からの 有 効 な STB(ステータスバイト)が 受 信 できた 場 合 には、その STB を<br />
StbTbl ポインタの 領 域 へ 格 納 します。また、そのときの 機 器 アドレスを StbAdrs ポインタに<br />
格 納 します(ポインタは 当 然 格 納 後 に 更 新 されます)。<br />
最 後 までシリアルポーリングを 行 った 時 点 で、StbTbl ポインタと StbAdrs ポインタの 指 す 領<br />
域 に 終 端 コード’-1’が 設 定 されます。<br />
GP-IB アドレス 10、11 の 機 器 に 対 してシリアルポーリングを 行 い、アドレス 11 の 機 器 が 有<br />
効 な STB を 送 信 した 場 合 には 以 下 のようなコードと 実 行 結 果 になります。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
184
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
3)<br />
ULONG BoardNo;<br />
LONG AdrsTbl[3], StbTbl[3], StbAdrsTbl[3];<br />
int Ret, i;<br />
BoardNo = 0;<br />
AdrsTbl[0] = 10; // 1 台 目<br />
AdrsTbl[1] = 11; // 2 台 目<br />
AdrsTbl[2] = -1; // 終 端 コード<br />
Ret = GpibExecSpoll(BoardNo, &AdrsTbl[0], &StbTbl[0], &StbAdrsTbl[0]);<br />
If (Ret == 0) { // 正 常 終 了<br />
for (i = 0; StbTbl[i] != -1; i++) {<br />
printf(“STB 送 出 機 器 アドレス : %d, 有 効 STB 値 : %x¥n”, StbTbl[i], StbAdrsTbl[i]);<br />
}<br />
} else { // 異 常 終 了<br />
…<br />
}<br />
< 実 行 結 果 ><br />
STB 送 出 機 器 アドレス : 11, 有 効 STB 値 : 41<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
ULONG BoardNo;<br />
LONG AdrsTbl[3], StbTbl[3], StbAdrsTbl[3];<br />
BoardNo = 0;<br />
AdrsTbl[0] = 10; // 1 台 目<br />
AdrsTbl[1] = 11; // 2 台 目<br />
AdrsTbl[2] = -1; // 終 端 コード<br />
Ret = GpibExecSpoll( BoardNo, &AdrsTbl[0], &StbTbl[0], &StbAdrsTbl[0] );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim BoardNo As Long<br />
Dim AdrTbl(2) As Long<br />
Dim StbTbl(2) As Long<br />
Dim StbAdr(2) As Long<br />
nBoardNo = 0<br />
AdrTbl(0) = 10<br />
AdrTbl(1) = 11<br />
AdrTbl(2) = -1<br />
Ret = GpibExecSpoll( BoardNo, AdrTbl(0), StbTbl(0), StbAdr(0) )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
185
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
BoardNo : Cardinal;<br />
AdrTbl : Array[0..2] of Integer;<br />
StbTbl : Array[0..2] of Integer;<br />
StbAdr : Array[0..2] of Integer;<br />
BoardNo := 0;<br />
AdrTbl[0] := 10;<br />
AdrTbl[1] := 11;<br />
AdrTbl[2] := -1;<br />
Ret := GpibExecSpoll( BoardNo, @AdrTbl[0], @StbTbl[0], @StbAdr[0] );<br />
ボード 番 号 0 の GP-IB <strong>インタフェース</strong>モジュールから GP-IB アドレス 10、11 の 計 測 機 器 へ、<br />
シリアルポーリングを 実 行 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
186
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
9. GpibReceive<br />
【 機 能 】<br />
計 測 機 器 から 受 信 を 行 います。<br />
【 書 式 】<br />
●C 言 語<br />
int GpibReceive (<br />
ULONG BoardNo,<br />
PLONG AdrsTbl,<br />
PULONG Length,<br />
PVOID Buffer<br />
);<br />
●Visual Basic<br />
バイト 型 / 数 値 型 変 数 のデータ 受 信 の 場 合<br />
Declare Function GpibReceive Lib "gpc<strong>4304</strong>2.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long, _<br />
ByRef Length As Long, _<br />
ByRef Buffer As Any _<br />
) As Long<br />
文 字 列 型 変 数 のデータ 受 信 の 場 合<br />
Declare Function GpibReceive Lib "gpc<strong>4304</strong>2.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long, _<br />
ByRef Length As Long, _<br />
ByVal Buffer As String _<br />
) As Long<br />
●Delphi<br />
function GpibReceive (<br />
BoardNo : Cardinal;<br />
AdrsTbl : Pointer;<br />
var Length : Cardinal;<br />
Buffer : Pointer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>2.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
AdrsTbl<br />
機 器 のアドレステーブルへのポインタ( 参 照 渡 し)を 指 定 します(『3.6 機 器 アドレステー<br />
ブルについて』 参 照 )。<br />
アドレステーブルへの 終 端 には 必 ず-1 を 設 定 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
187
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
Length<br />
受 信 バッファのバイトサイズが 格 納 されている 変 数 へのポインタ( 参 照 渡 し)を 指 定 しま<br />
す。 本 関 数 呼 び 出 し 後 、 実 際 に 受 信 したバイトサイズが 格 納 されます。<br />
受 信 バッファの 領 域 は、 必 ず「 受 信 データ 長 」+「デリミタ」 分 の 領 域 を 確 保 するように<br />
してください( 例 えば、 受 信 データ 長 が 16 バイト、デリミタが「CRLF+EOI」の 場 合 に<br />
は、16+2 の 18 バイト 以 上 の 領 域 を 確 保 する 必 要 となります)。<br />
Buffer<br />
受 信 バッファ 領 域 へのポインタ( 参 照 渡 し)を 指 定 します。<br />
※Visual Basic の 場 合 には、API の Declare Function の 宣 言 がバイト 型 / 数 値 型 と 文 字 列 型 と<br />
では 異 なります。<br />
※Visual Basic では、 文 字 列 変 数 として 固 定 長 文 字 列 を 指 定 してください。<br />
例 : Dim RecvBuffer As String * 32 など<br />
【 戻 り 値 】<br />
正 常 終 了 しますと、 以 下 の 値 を 返 します。<br />
戻 り 値<br />
意 味<br />
2 EOI を 検 出 して 受 信 が 完 了 しました。<br />
1 指 定 された 受 信 データ 数 に 達 して 受 信 が 完 了 しました。<br />
0 デリミタを 検 出 して 受 信 が 完 了 しました。<br />
上 記 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 機 器 からの 応 答 がタイムアウト 時 間 を 経 過 しても 無 い 場 合 には、タイムアウトエラーとし<br />
て 転 送 中 断 が 行 われます。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
ULONG BoardNo;<br />
LONG AdrsTbl[] = { 10, -1 }; // 機 器 アドレステーブル<br />
Static ULONG Length;<br />
Static BYTE RecvBuff[80];<br />
BoardNo = 0;<br />
Length = 80;<br />
Ret = GpibReceive( BoardNo, &AdrsTbl[0], &Length, &RecvBuff[0] );<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
188
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim BoardNo As Long<br />
Dim AdrTbl(1) As Long<br />
Public Dim Length As Long<br />
Public Dim RecvBuff(80) As Byte<br />
BoardNo = 0<br />
Length = 80<br />
AdrTbl(0) = 10<br />
AdrTbl(1) = -1<br />
Ret = GpibReceive( BoardNo, AdrTbl(0), Length, RecvBuff(0) )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
BoardNo : Integer;<br />
AdrTbl : Array[0..1] of Integer;<br />
Length : Cardinal;<br />
RecvBuff : Array[0..79] of Char;<br />
BoardNo := 0;<br />
Length := 80;<br />
AdrTbl[0] := 10;<br />
AdrTbl[1] := -1;<br />
Ret := GpibReceive( BoardNo, @AdrTbl[0], Length, @RecvBuff[0] );<br />
ボード 番 号 0 の GP-IB <strong>インタフェース</strong>モジュールへ GP-IB アドレス 10 の 機 器 から 80 バイトの<br />
データを 読 み 込 みます。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
189
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
10.GpibSend<br />
【 機 能 】<br />
計 測 機 器 へ 送 信 を 行 います。<br />
【 書 式 】<br />
●C 言 語<br />
int GpibSend (<br />
ULONG BoardNo,<br />
PLONG AdrsTbl,<br />
ULONG Length,<br />
PVOID Buffer<br />
);<br />
●Visual Basic<br />
バイト 型 / 数 値 型 変 数 のデータ 送 信 の 場 合<br />
Declare Function GpibSend Lib “gpc<strong>4304</strong>2.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long, _<br />
ByVal Length As Long, _<br />
ByRef Buffer As Any _<br />
) As Long<br />
文 字 列 型 変 数 のデータ 送 信 の 場 合<br />
Declare Function GpibSend Lib “gpc<strong>4304</strong>2.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByRef AdrsTbl As Long, _<br />
ByVal Length As Long, _<br />
ByVal Buffer As String _<br />
) As Long<br />
●Delphi<br />
function GpibSend (<br />
BoardNo : Cardinal;<br />
AdrsTbl : Pointer;<br />
Length : Cardinal;<br />
Buffer : Pointer<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>2.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
AdrsTbl<br />
機 器 のアドレステーブルへのポインタ( 参 照 渡 し)を 指 定 します(『3.6 機 器 アドレステー<br />
ブルについて』 参 照 )。<br />
アドレステーブルへの 終 端 には 必 ず-1 を 設 定 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
190
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
Length<br />
送 信 データ 長 のバイトサイズを 指 定 します。<br />
この 送 信 データ 長 +デリミタ 分 のサイズが GP-IB バスへ 送 信 されます。<br />
デリミタは 自 動 で 付 加 されます。<br />
従 って、 送 信 データ 長 が 10 バイトで、デリミタが「CRLF+EOI」の 場 合 には、 計 12 バイ<br />
トのデータが 送 信 されます。<br />
Buffer<br />
送 信 バッファ 領 域 へのポインタ( 参 照 渡 し)を 指 定 します。<br />
※Visual Basic の 場 合 には、API の Declare Function の 宣 言 がバイト 型 / 数 値 型 と 文 字 列 型 と<br />
では 異 なります。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 機 器 からの 応 答 がタイムアウト 時 間 を 経 過 しても 無 い 場 合 には、タイムアウトエラーとし<br />
て 転 送 中 断 が 行 われます。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
ULONG BoardNo;<br />
LONG AdrsTbl[] = { 10, -1 }; // 機 器 アドレステーブル<br />
Static ULONG Length;<br />
Static PBYTE SendData = "TEST";<br />
BoardNo = 0;<br />
Length = 4;<br />
Ret = GpibSend( BoardNo, &AdrsTbl[0], Length, SendData );<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
191
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim BoardNo As Long<br />
Dim AdrTbl(1) As Long<br />
Dim Length As Long<br />
Dim SendData As String<br />
BoardNo = 0<br />
lLength = 4<br />
AdrTbl(0) = 10<br />
AdrTbl(1) = -1<br />
SendData = "TEST"<br />
Ret = GpibSend( BoardNo, AdrTbl(0), Length, SendData(0) )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
BoardNo : Integer;<br />
AdrTbl : Array[0..1] of Integer;<br />
Length : Cardinal;<br />
SendData : Array[0..3] of Char;<br />
BoardNo := 0;<br />
lLength := 4;<br />
AdrTbl[0] := 10;<br />
AdrTbl[1] := -1;<br />
SendData[0] := 'T';<br />
SendData[1] := 'E';<br />
SendData[2] := 'S';<br />
SendData[3] := 'T';<br />
Ret := GpibSend( BoardNo, @AdrTbl[0], Length, @SendData[0] );<br />
ボード 番 号 0 の GP-IB <strong>インタフェース</strong>モジュールから GP-IB アドレス 10 の 機 器 へ 4 バイトの<br />
データ(TEST)を 送 信 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
192
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
11.GpibClose<br />
【 機 能 】<br />
<strong>インタフェース</strong>モジュールをクローズします。<br />
【 書 式 】<br />
●C 言 語<br />
int GpibClose (<br />
ULONG BoardNo<br />
);<br />
●Visual Basic<br />
Declare Function GpibClose Lib "gpc<strong>4304</strong>2.dll"( _<br />
ByVal BoardNo As Long _<br />
) As Long<br />
●Delphi<br />
function GpibClose (<br />
BoardNo : Cardinal<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>2.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
・ 再 度 、<strong>インタフェース</strong>モジュールへのアクセスを 行 う 場 合 にはオープン 処 理 (GpibOpen 関<br />
数 )を 呼 び 出 してください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
ULONG BoardNo;<br />
BoardNo = 0;<br />
Ret = GpibClose( BoardNo );<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
193
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim BoardNo As Long<br />
BoardNo = 0<br />
Ret = GpibClose( BoardNo )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
BoardNo : Cardinal;<br />
BoardNo := 0;<br />
Ret := GpibClose( BoardNo );<br />
<strong>インタフェース</strong>モジュールをクローズします。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
194
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
12.GpibSetSrqEvent<br />
【 機 能 】<br />
SRQ コールバックイベントを 登 録 します。<br />
ただし、Visual Basic Ver4.0 では、コールバック 関 数 の 登 録 ができない 為 、イベント 機 能 を<br />
使 用 することはできません。<br />
【 書 式 】<br />
●C 言 語 (x86)<br />
int GpibSeqSrqEvent (<br />
ULONG<br />
BoardNo,<br />
LPSRQCALLBACK SrqProc,<br />
DWORD<br />
dwUser<br />
);<br />
●C 言 語 (x64)<br />
int GpibSeqSrqEvent (<br />
ULONG<br />
BoardNo,<br />
LPSRQCALLBACK SrqProc,<br />
PVOID<br />
dwUser<br />
);<br />
●Visual Basic<br />
Declare Function GpibSeqSrqEvent Lib "gpc<strong>4304</strong>2.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByVal SrqProc As Long, _<br />
ByVal dwUser As Long _<br />
) As Long<br />
●Delphi<br />
function GpibSeqSrqEvent (<br />
BoardNo : Cardinal;<br />
SrqProc : FARPROC;<br />
dwUser : DWORD<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>2.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
SrqProc<br />
コールバック 関 数 のアドレスを 指 定 します。<br />
『4.3 コールバック 関 数 』をご 参 照 ください。<br />
dwUser<br />
コールバック 関 数 に 渡 す 任 意 のデータを 指 定 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
195
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 備 考 】<br />
コールバック 関 数 の 書 式 は 以 下 の 通 りです(C 言 語 (x86))。『4.3 コールバック 関 数 』もご 参 照<br />
ください。<br />
●C 言 語 (x86)<br />
void CALLBACK EventProc (<br />
int BoardNo,<br />
DWORD dwUser<br />
);<br />
【 使 用 例 】<br />
●C 言 語 (x86)<br />
void CALLBACK OnSrqProc(int BoardNo,DWORD dwUser){<br />
… // イベントに 対 応 する 処 理 を 記 述 します<br />
}<br />
ULONG BoardNo;<br />
Ret = GpibSetSrqEvent( BoardNo, (PLPSRQCALLBACK)OnSrqProc, 0 );<br />
●C 言 語 (x64)<br />
void CALLBACK OnSrqProc(int BoardNo,PVOID dwUser){<br />
… // イベントに 対 応 する 処 理 を 記 述 します<br />
}<br />
ULONG BoardNo;<br />
Ret = GpibSetSrqEvent( BoardNo, (PLPSRQCALLBACK)OnSrqProc, 0 );<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
196
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Visual Basic<br />
コールバックルーチンは GpibSetSrqEvent 関 数 の 呼 び 出 しを 行 うプロジェクト 内 の 標 準 モジュ<br />
ールの 中 に 記 述 しなければなりません。<br />
GpibSetSrqEvent 関 数 の 引 数 パラメータでプロシージャのアドレスを 渡 す 為 に AddressOf 演 算<br />
子 を 使 用 します。(GpibSetSrqEvent 関 数 の 使 用 例 を 参 照 してください。)<br />
AddressOf 演 算 子 を 使 うと、プロシージャからの 戻 り 値 ではなく、プロシージャ 自 体 のアドレ<br />
スが、ダイナミック リンク ライブラリ (DLL)の GpibSetSrqEvent 関 数 に 渡 されます。<br />
Sub OnSrqProc(BoardNo As Long, dwUser As Long)<br />
… 'イベントに 対 応 する 処 理 を 記 述 します。<br />
End Sub<br />
Dim Ret As Long<br />
Dim BoardNo As Long<br />
Dim dwUser As Long<br />
Ret = GpibSetSrqEvent( BoardNo, AddressOf OnSrqProc, dwUser)<br />
●Delphi<br />
procedure OnSrqProc(BoardNo : DWORD, dwUser : DWORD); stdcall;<br />
var<br />
// 変 数 定 義<br />
begin<br />
end;<br />
… //イベントに 対 応 する 処 理 を 記 述 します。<br />
var<br />
Ret : Integer;<br />
BoardNo : Cardinal;<br />
dwUser : DWORD;<br />
Ret := GpibSetSrqEvent( BoardNo, OnSrqProc, dwUser );<br />
SRQ コールバック 関 数 を 登 録 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
197
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
13.GpibWaitSrqEvent<br />
【 機 能 】<br />
SRQ コールバックイベントを 待 ちます。<br />
【 書 式 】<br />
●C 言 語<br />
int GpibWaitSrqEvent (<br />
ULONG BoardNo,<br />
ULONG Timeout<br />
);<br />
●Visual Basic<br />
Declare Function GpibWaitSrqEvent Lib "gpc<strong>4304</strong>2.dll"( _<br />
ByVal BoardNo As Long, _<br />
ByVal Timeout As Long _<br />
) As Long<br />
●Delphi<br />
function GpibWaitSrqEvent (<br />
BoardNo : Cardinal;<br />
Timeout : Cardinal<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>2.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
Timeout<br />
タイムアウト 時 間 をミリ 秒 単 位 で 指 定 します。<br />
タイムアウト 時 間 が 経 過 すると、 関 数 はオブジェクトの 状 態 が 非 シグナル 状 態 である 場 合<br />
でも、 制 御 を 戻 します。0 を 指 定 した 場 合 は、 状 態 を 調 べてからすぐに 制 御 を 戻 します<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
ULONG BoardNo;<br />
BoardNo = 0;<br />
Ret = GpibWaitSrqEvent( BoardNo, 5000 );<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
198
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim BoardNo As Long<br />
BoardNo = 0<br />
Ret = GpibWaitSrqEvent( BoardNo, 5000 )<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
BoardNo : Cardinal;<br />
BoardNo := 0;<br />
Ret := GpibWaitSrqEvent( BoardNo, 5000 );<br />
SRQ コールバックイベント 待 ちをします。(タイムアウト 5 秒 )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
199
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
14.GpibKillSrqEvent<br />
【 機 能 】<br />
SRQ コールバックイベントの 登 録 を 解 除 します。<br />
【 書 式 】<br />
●C 言 語<br />
int GpibKillSrqEvent (<br />
ULONG BoardNo<br />
);<br />
●Visual Basic<br />
Declare Function GpibKillSrqEvent Lib "gpc<strong>4304</strong>2.dll"( _<br />
ByVal BoardNo As Long _<br />
) As Long<br />
●Delphi<br />
function GpibKillSrqEvent (<br />
BoardNo : Cardinal<br />
) : Integer; stdcall; external '<strong>GPC</strong><strong>4304</strong>2.DLL';<br />
【パラメータ】<br />
BoardNo<br />
ボードアクセス 番 号 (0~15)を 指 定 します。<br />
【 戻 り 値 】<br />
正 常 終 了 した 場 合 は、0 が 返 されます。<br />
0 以 外 の 値 が 返 された 場 合 については、『4.4 戻 り 値 一 覧 』をご 参 照 ください。<br />
【 使 用 例 】<br />
●C 言 語<br />
int Ret;<br />
ULONG BoardNo;<br />
BoardNo = 0;<br />
Ret = GpibKillSrqEvent( BoardNo );<br />
●Visual Basic<br />
Dim Ret As Long<br />
Dim BoardNo As Long<br />
BoardNo = 0<br />
Ret = GpibKillSrqEvent( BoardNo )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
200
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
●Delphi<br />
var<br />
Ret : Integer;<br />
BoardNo : Cardinal;<br />
BoardNo := 0;<br />
Ret := GpibKillSrqEvent( BoardNo );<br />
SRQ コールバックイベント 登 録 を 解 除 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
201
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
4.3 コールバック 関 数<br />
※Visual Basicでコールバック 機 能 を 使 用 する 場 合 、 幾 つかの 制 約 事 項 が 発 生 します( 後 述 の『4.3.2<br />
Visual Basic 使 用 時 の 制 約 事 項 』をご 参 照 下 さい)。<br />
Visual Basic で 非 同 期 のイベント 処 理 を 行 うには、 弊 社 Web siteより 無 償 で 提 供 しております。<br />
BPA- 0515「GP-IB 用 ActiveXコントロール」 をご 使 用 になることを 推 奨 致 します。<br />
4.3.1 PciGpibExSetSrqEvent 関 数 、および GpibSetSrqEvent 関 数 により<br />
設 定 されるコールバック 関 数<br />
PciGpibExSetSrqEvent 関 数 、および GpibSetSrqEvent 関 数 にて 登 録 し、SRQ イベントが 発 生 し<br />
た 時 にコールされるコールバックルーチンです。<br />
【 記 述 】<br />
コールバックルーチンを 使 用 する 場 合 、 下 記 のように 記 述 します。<br />
( 下 記 はコールバックルーチンを OnSrqEvent とする 場 合 の 例 です。)<br />
●C 言 語 (x86)<br />
void CALLBACK OnSrqEvent(int BoardNo, DWORD dwUser)<br />
{<br />
// 割 り 込 みイベントに 対 応 する 処 理 を 記 述 します<br />
}<br />
コールバックルーチンの 関 数 型 LPSRQCALLBACK は 下 記 のように 定 義 されます。<br />
typedef void (CALLBACK LPSRQCALLBACK)(DWORD EventMask, DWORD dwUser);<br />
typedef SRQCALLBACK FAR *LPSRQCALLBACK;<br />
●C 言 語 (x64)<br />
void CALLBACK OnSrqEvent(int BoardNo, PVOID dwUser)<br />
{<br />
// 割 り 込 みイベントに 対 応 する 処 理 を 記 述 します<br />
}<br />
コールバックルーチンの 関 数 型 LPSRQCALLBACK は 下 記 のように 定 義 されます。<br />
typedef void (CALLBACK LPSRQCALLBACK)(DWORD EventMask, PVOID dwUser);<br />
typedef SRQCALLBACK FAR *LPSRQCALLBACK;<br />
●Visual Basic<br />
Function OnSrqEvent(ByVal BoardNo As Long, ByVal dwUser As Long)<br />
‘ 割 り 込 みイベントに 対 応 する 処 理 を 記 述 します<br />
End Sub<br />
コールバックルーチンは PciGpibExSetSrqEvent 関 数 、および GpibSetSrqEvent 関 数 の 呼 び<br />
出 しを 行 うプロジェクト 内 の 標 準 モジュールの 中 に 記 述 しなければなりません。<br />
PciGpibExSetSrqEvent 関 数 、および GpibSetSrqEvent 関 数 の 引 数 パラメータでプロシージ<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
202
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
ャのアドレスを 渡 す 為 に AddressOf 演 算 子 を 使 用 します。(PciGpibExSetSrqEvent 関 数 、お<br />
よび GpibSetSrqEvent 関 数 の 使 用 例 を 参 照 してください。)<br />
AddressOf 演 算 子 を 使 うと、プロシージャからの 戻 り 値 ではなく、プロシージャ 自 体 のアドレ<br />
スが、ダイナミック リンク ライブラリ (DLL)の PciGpibExSetSrqEvent 関 数 、および<br />
GpibSetSrqEvent 関 数 に 渡 されます。<br />
●Delphi<br />
procedure OnSrqEvent(BoardNo:Integer; dwUser:DWORD); stdcall;<br />
begin<br />
// 割 り 込 みイベントに 対 応 する 処 理 を 記 述 します<br />
end;<br />
【パラメータ】<br />
BoardNo<br />
イベントが 発 生 したボード 番 号 が 格 納 されます。<br />
dwUser<br />
ユーザデータが 格 納 されます。エラーが 発 生 した 場 合 、このパラメータは 0 になります。<br />
【 戻 り 値 】<br />
コールバックルーチンに 戻 り 値 はありません。<br />
4.3.2 Visual Basic 使 用 時 の 制 約 事 項<br />
●Visual Basic Ver. 4.0 では、コールバック 関 数 の 登 録 ができない(AddressOf 演 算 子 がサポー<br />
トされない) 為 、イベント 機 能 を 使 用 することはできません。Visual Basic Ver. 5.0 以 降 は 可 能<br />
です。<br />
Microsoft Visual Basic 6.0 上 で 弊 社 ソフトウェアライブラリが 提 供 する 関 数 コールバック 機 能<br />
を 使 用 した 場 合 、 下 記 のアプリケーションエラーが 発 生 する 場 合 があります。<br />
「“0x660d64d0”の 命 令 が“0x0000009c”のメモリを 参 照 しました。メモリが“written”になる<br />
ことはできませんでした。」<br />
※”0x660d64d0”は 異 なる 場 合 があります<br />
アプリケーションエラーは 下 記 の 条 件 で 発 生 します。<br />
〇 登 録 したコールバック 関 数 内 で、 下 記 の 関 数 、ステートメントをコールする。<br />
・ 関 数 コール( 弊 社 ソフトウェアライブラリが 提 供 する 関 数 含 む)<br />
・Visual Basic のステートメント(Str()など)<br />
・スタティックテキストへの 文 字 列 代 入<br />
など<br />
また、この 問 題 は、Visual Basic 6.0 の Learning、Professional、Enterprise Edition のすべ<br />
てに 当 てはまり、サービスパックの 適 用 有 無 にかかわらず 発 生 します。<br />
コールバック 関 数 内 で、アプリケーションエラーを 発 生 させる 処 理 を 行 わずに 別 の 機 能 を 利 用<br />
することで 目 的 の 処 理 が 実 行 できるように 設 計 を 変 更 してください。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
203
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
例 えば、コールバック 関 数 の 登 録 以 外 の 通 知 機 能 、メッセージ、イベントオブジェクトが 提 供<br />
されている 場 合 は、その 機 能 を 利 用 して 下 さい。また、 割 り 込 みなどの 必 要 な 情 報 取 得 が、 関<br />
数 (ステータスを 取 得 する 関 数 など)の 呼 び 出 しで 可 能 な 場 合 は、 定 期 的 に 要 因 をチェックす<br />
るポーリング 処 理 に 変 更 して 下 さい。<br />
弊 社 としては、 関 数 コールバックを 用 いた 非 同 期 、 割 り 込 み 処 理 を、Visual Basic 6.0 上 で 構<br />
築 される 場 合 、これらの 問 題 を 回 避 する 為 に、GP-IB ActiveX コントロールの 使 用 をお 奨 め し<br />
ます。<br />
(GP-IB ActiveX コントロールは、 弊 社 Web site から 無 料 ダウンロード 出 来 る BPA-0515 に 添<br />
付 されております)<br />
Microsoft Visual Basic 6.0 は、スレッディング モデルとして、アパートメント モデルを 採 用<br />
しています。<br />
Microsoft Visual Basic 6.0 が 作 成 、 起 動 したスレッド 以 外 からコールバック 関 数 が 実 行 された<br />
場 合 にアプリケーションエラーが 発 生 する 場 合 があります。<br />
弊 社 ソフトウェアライブラリでは、ライブラリ 内 で 起 動 した 別 のスレッドから 登 録 されたコー<br />
ルバック 関 数 の 実 行 を 行 いますので、この 問 題 が 発 生 します。<br />
解 決 方 法 は、 以 下 の 項 を 参 照 してください。<br />
●Microsoft Visual Basic で 非 同 期 のイベント 処 理 を 行 う 方 法 について<br />
Visual Basic で 非 同 期 のイベント 処 理 を 行 うには、BPA-0515「GP-IB 用 ActiveX コントロ<br />
ール」 を 御 使 用 下 さい。<br />
BPA-0515「GP-IB 用 ActiveX コントロール」 を 使 用 する 事 で、イベント 等 の 各 種 処 理 が 行 え<br />
ます。BPA- 0515「GP-IB 用 ActiveX コントロール」 は 弊 社 Web site よりダウンロードし<br />
てご 使 用 ください。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
204
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
4.4 戻 り 値 一 覧<br />
エラー 識 別 子 値 意 味<br />
GPIB_SUCCESS_NOT_FOUND_LISTENER 11 リスナが 1 台 も 見 つかりませんでした。<br />
GPIB_SUCCESS_OK_SEND_STB 7 ステータス・バイトはコントローラへ 通 知 済 です。<br />
GPIB_SUCCESS_NOT_EXEC_SPOLL 6 まだ、シリアル・ポールは 行 われていません。<br />
GPIB_SUCCESS_NOT_ACTIVE_SRQ 5 SRQ 信 号 無 効 です。<br />
PciGpibExCheckSrq 関 数 において、SRQ 割 り 込 みを 受 け 付 けていな<br />
いとき、この 戻 り 値 が 通 知 されます。<br />
GPIB_SUCCESS_ACTIVE_SRQ 4 SRQ 信 号 有 効 です。<br />
PciGpibExCheckSrq 関 数 において、SRQ 割 り 込 みを 受 け 付 けている<br />
とき、この 戻 り 値 が 通 知 されます。<br />
GPIB_SUCCESS_OK_EOI_DETECT 2 EOI を 検 出 して 終 了 しました。<br />
データ 受 信 時 にデリミタとして EOI を 検 出 して 終 了 しました。<br />
GPIB_SUCCESS_OK_RECV_DATA_CNT 1 指 定 された 受 信 データ 数 に 達 して 終 了 しました。<br />
データ 受 信 時 に 指 定 された 受 信 データ 数 に 達 して 終 了 しました。この<br />
状 態 ではデリミタの 検 出 は 行 われていません。デリミタ 有 りの 送 受 信<br />
処 理 を 行 っている 場 合 には、 引 き 続 いてデータ 受 信 処 理 を 実 行 する 必<br />
要 があります。<br />
GPIB_SUCCESS_OK_DELIM_DETECT 0 データ 受 信 時 に 指 定 された 受 信 デリミタを 検 出 して 終 了 しました。<br />
GPIB_SUCCESS 0 処 理 を 正 常 終 了 しました。<br />
GPIB_ERROR_ILLEGAL_BOARDNO -1 ボードアクセス 番 号 が 違 います。<br />
・コントロールパネルで 指 定 されたボードアクセス 番 号 以 外 のインタ<br />
フェースモジュールを 指 定 しました。<br />
・すでに 初 期 化 済 の<strong>インタフェース</strong>モジュールに 対 して 再 初 期 化 を 行<br />
おうとしました。<br />
・または 初 期 化 が 行 われていない<strong>インタフェース</strong>モジュールに 対 して<br />
制 御 を 行 おうとしました。<br />
・0~15 以 外 の 番 号 を 指 定 しました。<br />
GPIB_ERROR_ILLEGAL_INP_PARAM -2 入 力 パラメータに 間 違 いがあります。<br />
入 力 パラメータの 値 、 範 囲 を 確 認 してください。<br />
GPIB_ERROR_ILLEGAL_PARAM_NO -3 パラメータ 番 号 に 間 違 いがあります。<br />
パラメータ 番 号 の 値 、 範 囲 を 確 認 してください。<br />
GPIB_ERROR_NOT_USE_SLAVE -4 非 コントローラ 状 態 では 使 用 できません。<br />
非 コントローラモードにおいて、コントローラモードでのみ 使 用 可 能<br />
な 関 数 を 呼 び 出 しました。<br />
(<strong>インタフェース</strong>モジュールが[CIC] 状 態 で 無 い 場 合 に、[CIC] 状 態 での<br />
み 使 用 可 能 な API を 呼 び 出 しました)<br />
GPIB_ERROR_NOT_USE_MASTER -5 コントローラ 状 態 では 使 用 できません。<br />
コントローラモードにおいて、 非 コントローラモードでのみ 使 用 可 能<br />
な 関 数 を 呼 び 出 しました。<br />
(<strong>インタフェース</strong>モジュールが[CIC] 状 態 の 場 合 に、 非 [CIC] 状 態 でのみ<br />
使 用 可 能 な API を 呼 び 出 しました)<br />
GPIB_ERROR_NOT_BOTH_USE -6 コントローラ/ 非 コントローラの 両 方 の 指 定 はできません。<br />
PciGpibExSetSignal 関 数 において、コントローラインチャージのみ<br />
と 非 コントローラインチャージのみの 両 方 の 事 象 変 化 検 出 設 定 を 行 お<br />
うとしました。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
205
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
GPIB_ERROR_CMD_TMO -7 バスコマンドの 送 出 に 失 敗 しました。<br />
・コントローラ・イン・チャージにおいて、バスコマンドの 送 出 に 失<br />
敗 しました。 以 下 の 要 因 が 考 えられます。<br />
・システムコントローラにおいて、PciGpibExSetIfc 関 数 を 実 行 して<br />
いない。<br />
・ 現 在 、 他 の 機 器 および 非 同 期 入 出 力 中 により、GP-IB バスが 占 有 状<br />
態 である 場 合<br />
・ 非 コントローラ・イン・チャージにおいて、バスコマンドを 送 出 す<br />
る 関 数 を 実 行 した 場 合<br />
・ 他 のアプリケーションの 負 荷 が 重 く、バスコマンド 送 出 タイムアウ<br />
トが 発 生 した 場 合 (この 場 合 、コントロールパネルでタイムアウト 時 間<br />
を 増 やすようにしてください。)<br />
GPIB_ERROR_NO_SET_SIGNAL -8 検 出 する 事 象 が 設 定 されていません。<br />
PciGpibExSetSignal 関 数 で 事 象 変 化 検 出 設 定 を 行 わずに、<br />
PciGpibExWaitSignal 関 数 を 実 行 しようとしました。<br />
GPIB_ERROR_ACTIVE_SRQ -9 シリアル・ポーリングにも 関 わらず SRQ 送 出 元 を 検 出 できませんで<br />
した。<br />
GPIB_ERROR_STB_TMO -10 STB 受 信 時 にタイムアウトが 発 生 しました。<br />
・ 機 器 からのステータス・バイトが 指 定 した 時 間 内 に 受 信 できません<br />
でした。<br />
・コントロールパネルの 設 定 「STB 応 答 時 間 」を 増 やす 必 要 がありま<br />
す。<br />
GPIB_ERROR_DATA_RECV -12 データ 受 信 に 失 敗 しました。<br />
・データ 受 信 処 理 に 失 敗 しました。 以 下 の 要 因 が 考 えられます。<br />
・ 他 の 機 器 もしくは 非 同 期 転 送 中 により、GP-IB バスが 占 有 中 である<br />
場 合<br />
GPIB_ERROR_DATA_SEND -13 データ 送 信 に 失 敗 しました。<br />
・データ 送 信 処 理 に 失 敗 しました。 以 下 の 要 因 が 考 えられます。<br />
・ 送 信 したデータが 受 信 されなかった(この 場 合 、ケーブル 接 続 、 全 て<br />
の 機 器 の 電 源 が 入 っているか、ケーブル 長 は GP-IB の 規 格 を 守 っ<br />
ているか 等 を 確 認 してください。<br />
・ 他 の 機 器 もしくは 非 同 期 転 送 中 により、GP-IB バスが 占<br />
有 中 である 場 合<br />
GPIB_ERROR_TRANS_TMO -14 タイムアウトが 発 生 しました。<br />
・ 送 受 信 時 に 指 定 時 間 内 にデータ 転 送 が 終 了 しませんでした。 以 下 の<br />
要 因 が 考 えられます。<br />
・ 指 定 したデータ 長 に 対 するデータ 転 送 時 間 がタイムアウト 時 間 より<br />
長 い 場 合 (この 場 合 は 送 受 信 タイムアウト 時 間 を 長 くする 必 要 があ<br />
ります。)<br />
・ 送 受 信 中 に 機 器 からの 応 答 が 何 らかの 要 因 でなくなった<br />
場 合<br />
GPIB_ERROR_WAIT_SIGNAL_TMO -15 タイムアウトで 終 了 しました。<br />
PciGpibExWaitSignal 関 数 において、 指 定 時 間 内 に 事 象 変<br />
化 が 検 出 できませんでした。<br />
GPIB_ERROR_IFC_TRANS_EXIT -16 IFC 受 信 による 強 制 終 了 。<br />
送 受 信 中 に IFC を 受 信 したため、 送 受 信 処 理 を 強 制 終 了 し<br />
ました。<br />
GPIB_ERROR_NOT_CACS -19 コントローラアクティブ 状 態 に 遷 移 できませんでした。<br />
GPIB_ERROR_NOW_BUS_OCCUPATION -20 現 在 、バスが 占 有 状 態 となっています( 非 同 期 入 出 力 中 )。<br />
・ 送 受 信 関 数 を 実 行 しましたが、GP-IB バスが 占 有 状 態 となっていま<br />
す。<br />
・ 非 同 期 入 出 力 の 完 了 を 待 つようにしてください。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
206
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
GPIB_ERROR_NO_SET -22 設 定 変 更 ができませんでした。<br />
・PciGpibExSetConfig 関 数 において、 設 定 変 更 に 失 敗 しました。 以<br />
下 の 要 因 が 考 えられます。<br />
・ 非 同 期 入 出 力 中 に PciGpibExSetConfig 関 数 を 呼 び 出 し<br />
ました。<br />
GPIB_ERROR_NOT_START_TIMER -24 タイマがスタートできませんでした。<br />
GPIB_ERROR_EXIST_START_TIMER -25 すでにタイマはスタートしています。<br />
GPIB_ERROR_NOT_TICK_TIMER -26 タイマが 動 作 中 ではありません。<br />
GPIB_ERROR_FILE_ACCESS -30 ファイルがオープンできません、またはファイル 読 み 込 み/ 書 き 込 み 中<br />
にエラーが 発 生 しました。<br />
以 下 の 要 因 が 考 えられます。<br />
・ 存 在 しないファイルをオープンしようとしました。<br />
・ディスクの 空 き 容 量 が 足 らない。<br />
・ 空 きメモリ 容 量 が 極 端 に 少 ない(ハードディスクの 空 き 容 量 に 注 意 し<br />
てください。)<br />
・ 共 有 ファイルをオープンしようとした、またはそのファ<br />
イルが 別 のプロセスでオープンされている。<br />
GPIB_ERROR_SET_CALLBACK_EVENT -40 コールバックイベントの 登 録 に 失 敗 しました。<br />
既 に 同 じボードアクセス 番 号 にて PciGpibExSetSrqEvent<br />
関 数 にて 登 録 済 です。<br />
GPIB_ERROR_KILL_CALLBACK_EVENT -41 コールバックイベントの 登 録 解 除 に 失 敗 しました。<br />
GPIB_ERROR_WAIT_OBJECT_SIGNAL -42 イベントオブジェクトが 有 効 です。<br />
PciGpibExWaitSrqEvent 関 数 実 行 前 にイベントが 有 効 済<br />
となっています。<br />
GPIB_ERROR_WAIT_OBJECT_TMO -43 イベントオブジェクト 待 ちにてタイムアウトが 発 生 しました。<br />
PciGpibExWaitSrqEvent 関 数 実 行 にてタイムアウト 時 間<br />
内 にイベントが 有 効 になりませんでした。<br />
GPIB_ERROR_WAIT_OBJECT_FAILED -44 イベントオブジェクト 待 ちにてエラーが 発 生 しました。<br />
・PciGpibExWaitSrqEvent 関 数 実 行 にてイベント 待 ちにエラーが 発<br />
生 しました。<br />
・イベントリソースが 足 りなくなっている 可 能 性 があります。<br />
・ 起 動 中 のアプリケーションの 数 を 少 なくしてください。<br />
GPIB_ERROR_NOT_SET_CALLBACK_EVE<br />
NT<br />
-45 まだコールバックイベントが 登 録 されていません。<br />
PciGpibExSetSrqEvent 関 数 を 実 行 してコールバックイベ<br />
ントの 登 録 を 行 ってください。<br />
GPIB_ERROR_NOT_SYS_CONTROLLER -50 システムコントローラではありません。<br />
GPIB_ERROR_NOT_CREATE_EVENT -992 イベントの 作 成 ができませんでした。<br />
以 下 の 要 因 が 考 えられます。<br />
・システムリソースが 極 端 に 不 足 している 可 能 性 がありま<br />
す。<br />
GPIB_ERROR_NOT_CREATE_THREAD -993 スレッドの 作 成 ができませんでした。<br />
以 下 の 要 因 が 考 えられます。<br />
・システムリソースが 極 端 に 不 足 している 可 能 性 がありま<br />
す。<br />
GPIB_ERROR_NOT_INIT_CALL -994 <strong>インタフェース</strong>モジュールの 初 期 化 が 行 われていない 状 態<br />
では、 使 用 できません。<br />
GPIB_ERROR_NOT_ALLOC_PAGE -995 <strong>インタフェース</strong>モジュールの 使 用 終 了 ができませんでした。<br />
以 下 の 要 因 が 考 えられます。<br />
・ 割 り 込 みの 制 御 に 失 敗 しました(このエラーが 発 生 した 場<br />
合 、Windows のシステムに 問 題 があります。リソースの 競<br />
合 がないか 確 認 してください。)。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
207
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
GPIB_ERROR_NOT_BOARD -996 ドライバ 側 のページの 確 保 ができませんでした。<br />
以 下 の 要 因 が 考 えられます。<br />
・ 空 きメモリが 極 端 に 少 ない。<br />
・ハードディスクの 空 き 容 量 が 極 端 に 少 ない 場 合 (1MB 以 下 等 )<br />
・ 他 に 動 作 しているプロセスが 多 く 存 在 する。<br />
・ 本 エラーが 発 生 する 場 合 は、 一 度 に 要 求 するデータサイ<br />
ズを 少 なくしていくか、もしくはメモリの 増 設 をお 勧 めし<br />
ます。<br />
GPIB_ERROR_NOT_USE_TIMER -997 タイマ 設 定 に 失 敗 しました。<br />
以 下 の 要 因 が 考 えられます。<br />
・ 他 のプロセスにおいて、タイマを 多 く 使 用 している 場 合 。<br />
本 エラーが 発 生 する 場 合 は、 他 に 動 作 しているプロセスを<br />
終 了 させるようにしてください。<br />
GPIB_ERROR_NOT_USE_RESOURCE -998 割 り 込 みが 使 用 できません。<br />
以 下 の 要 因 が 考 えられます。<br />
・ 割 り 込 みのリソースが 競 合 している、もしくは 使 用 中 となっている。<br />
・リソースが 競 合 しないようにしてください。<br />
GPIB_ERROR_NOT_BOARD -999 <strong>インタフェース</strong>モジュールが 存 在 しません。<br />
以 下 の 要 因 が 考 えられます。<br />
・<strong>インタフェース</strong>モジュール 自 体 に 異 常 がある 場 合<br />
・ 自 己 診 断 プログラムを 実 行 して、<strong>インタフェース</strong>モジュ<br />
ールのチェックを 行 ってください。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
208
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
4.5 プログラム 例<br />
4.5.1 高 機 能 版 DLL<br />
■C 言 語<br />
// ================================================================<br />
// GP-IB <strong>インタフェース</strong>モジュール 用 Windows ドライバ<br />
// プログラム 例 C 言 語 コンソールアプリケーション<br />
// (MS-DOS プロンプトまたはコマンド プロンプトで 実 行 します)<br />
//<br />
// Copyright 2000, 2007 Interface Corporation. All rights reserved.<br />
//<br />
// プログラム 説 明<br />
// YOKOGAWA 7561 からの 計 測 データを 画 面 に 表 示 します<br />
// ================================================================<br />
#include <br />
#include <br />
#include "<strong>GPC</strong><strong>4304</strong>.H"<br />
int nInpDevAdrsTbl[2] = { 2, -1 }; // 入 力 機 器 アドレステーブル<br />
char *szSendData = "F1R0SI100IT1"; // YOKOGAWA 7561 送 信 データ<br />
char RecvBuf[100];<br />
// バッファ 格 納 領 域<br />
int main(void)<br />
{<br />
int nRet; // 関 数 戻 り 値<br />
DWORD nLen; // バッファサイズ<br />
// ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールを 初 期 化<br />
nRet = PciGpibExInitBoard(0, 0);<br />
if (nRet) {<br />
printf("ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールが 初 期 化 できません¥n");<br />
printf("エラーコード : %d¥n", nRet);<br />
return -1; // プログラム 終 了<br />
}<br />
// IFCを 送 出<br />
nRet = PciGpibExSetIfc(0, 1);<br />
if(nRet) {<br />
printf("IFC 送 出 に 失 敗 しました¥n");<br />
printf("エラーコード : %d¥n", nRet);<br />
return -1; //プログラム 終 了<br />
}<br />
// REN 信 号 有 効<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
209
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
nRet = PciGpibExSetRen(0);<br />
if(nRet) {<br />
printf("REN 信 号 有 効 に 失 敗 しました¥n");<br />
printf("エラーコード : %d¥n", nRet);<br />
return -1; //プログラム 終 了<br />
}<br />
// YOKOGAWA 7561 に 対 して 次 のモード 設 定 を 行 います<br />
//<br />
// ・DCV / AUTO RANGE / Interval100msec / 積 分 時 間 2.5msec<br />
//<br />
printf("YOKOGAWA 7561 : 送 信 文 字 列 = %s¥n", szSendData);<br />
nRet = PciGpibExMastSendData(0, nInpDevAdrsTbl, strlen(szSendData),<br />
szSendData, 0);<br />
if(nRet) {<br />
printf("データ 送 信 に 失 敗 しました¥n");<br />
printf("エラーコード : %d¥n", nRet);<br />
return -1; //プログラム 終 了<br />
}<br />
// YOKOGAWA 7561 から 測 定 データを 受 信 します<br />
nLen = sizeof(RecvBuf);<br />
nRet = PciGpibExMastRecvData(0, nInpDevAdrsTbl, &nLen, RecvBuf, 0);<br />
if(nRet) {<br />
printf("データ 受 信 に 失 敗 しました¥n");<br />
printf("エラーコード : %d¥n", nRet);<br />
return -1; //プログラム 終 了<br />
}<br />
// 受 信 文 字 列 の 表 示<br />
printf(" 受 信 処 理 戻 り 値 = %d¥n", nRet);<br />
printf("YOKOGAWA 7561 : 受 信 文 字 列 = %s¥n", RecvBuf);<br />
printf("YOKOGAWA 7561 : 受 信 データ 長 = %d¥n", nLen);<br />
// ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールを 使 用 終 了<br />
PciGpibExFinishBoard(0);<br />
}<br />
return 0;<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
210
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
■Visual Basic<br />
' ===============================================================<br />
' GP-IB <strong>インタフェース</strong>モジュール 用 Windows ドライバ<br />
' プログラム 例 Visual Basic<br />
'<br />
'<br />
Copyright 2000, 2007 Interface Corporation. All rights reserved.<br />
'<br />
' プログラム 説 明<br />
' YOKOGAWA 7561 からの 計 測 データを 画 面 に 表 示 します<br />
' ===============================================================<br />
' 変 数 定 義<br />
Dim nLen As Long<br />
' バッファサイズ<br />
Dim szData As String<br />
' 送 信 データ<br />
Dim RecvBuf As String ' バッファ 格 納 領 域<br />
Dim InpDevAdrsTbl(1) As Long ' 入 力 機 器 アドレステーブル<br />
' ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールを 初 期 化<br />
nRet = PciGpibExInitBoard(0, 0)<br />
If nRet 0 Then<br />
nRet=MsgBox("ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールが 初 期 化 できません",<br />
_<br />
(vbOKOnly + vbCritical), "PciGpibExInitBoard")<br />
Unload Me ' ダイアログを 閉 じる<br />
End If<br />
' IFC 送 出<br />
nRet = PciGpibExSetIfc(0, 1)<br />
If nRet 0 Then<br />
nRet = MsgBox("IFC 送 出 に 失 敗 しました", (vbOKOnly + vbCritical),<br />
"PciGpibExSetIfc")<br />
PciGpibExFinishBoard (0) ' ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールを 使 用 終<br />
了<br />
Unload Me ' ダイアログを 閉 じる<br />
End If<br />
' REN 信 号 有 効<br />
nRet = PciGpibExSetRen(0)<br />
If nRet 0 Then<br />
nRet = MsgBox("REN 信 号 有 効 に 失 敗 しました", _<br />
(vbOKOnly + vbCritical), "PciGpibExSetRen")<br />
PciGpibExFinishBoard (0) ' ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールを 使 用 終<br />
了<br />
Unload Me ' ダイアログを 閉 じる<br />
End If<br />
' 機 器 アドレスを 設 定<br />
InpDevAdrsTbl(0) = 2<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
211
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
InpDevAdrsTbl(1) = -1<br />
' YOKOGAWA 7561 に 対 して 次 のモード 設 定 を 行 います<br />
'<br />
' ・DCV / AUTO RANGE / Interval100msec / 積 分 時 間 2.5msec<br />
'<br />
' 送 信 文 字 列 の 表 示<br />
nRet = MsgBox("YOKOGAWA 7561 : 送 信 文 字 列 = F1R0SI100IT1", _<br />
(vbOKOnly + vbInformation), "PciGpibExMastSendData")<br />
szData = StrConv("F1R0SI100IT1", vbFromUnicode)<br />
nLen = LenB(szData)<br />
szData = StrConv(szData, vbUnicode)<br />
nRet = PciGpibExMastSendData(0, InpDevAdrsTbl(0), nLen, szData, 0)<br />
If nRet 0 Then<br />
nRet = MsgBox("データ 送 信 に 失 敗 しました", (vbOKOnly + vbCritical), _<br />
"PciGpibExMastSendData")<br />
PciGpibExFinishBoard (0) ' ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールを 使 用 終<br />
了<br />
Unload Me ' ダイアログを 閉 じる<br />
End If<br />
' YOKOGAWA 7561 から 測 定 データを 受 信 します<br />
nLen = 32<br />
RecvBuf = String(nLen, 0)<br />
nRet = PciGpibExMastRecvData(0, InpDevAdrsTbl(0), nLen, RecvBuf, 0)<br />
If nRet 0 Then<br />
nRet = MsgBox("データ 受 信 に 失 敗 しました", (vbOKOnly + vbCritical), _<br />
"PciGpibExMastRecvData")<br />
PciGpibExFinishBoard (0) ' ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールを 使 用 終<br />
了<br />
Unload Me ' ダイアログを 閉 じる<br />
End If<<br />
' 受 信 文 字 列 の 表 示<br />
nRet = MsgBox("YOKOGAWA 7561 : 受 信 文 字 列 = " & RecvBuf, (vbOKOnly +<br />
vbInformation), _<br />
"PciGpibExMastRecvData")<br />
' ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールを 使 用 終 了<br />
PciGpibExFinishBoard (0)<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
212
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
■Delphi<br />
// =================================================================<br />
// GP-IB <strong>インタフェース</strong>モジュール 用 Windows ドライバ<br />
// プログラム 例 Delphi<br />
//<br />
// Copyright 2000, 2007 Interface Corporation. All rights reserved.<br />
//<br />
// プログラム 説 明<br />
// YOKOGAWA 7561 からの 計 測 データを 画 面 に 表 示 します<br />
// =================================================================<br />
var<br />
nRet : Integer;<br />
// 関 数 戻 り 値<br />
gdwSLength : Cardinal;<br />
// 送 信 データ 長<br />
gdwRLength : Cardinal;<br />
// 受 信 データ 長<br />
pSendData : pChar;<br />
// 送 信 データ<br />
gnAdrsTbl : Array[0..7] of Integer; // アドレステーブル<br />
gRecvBuf : Array[0..128] of Char; // 受 信 バッファ<br />
begin<br />
// ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールを 初 期 化<br />
nRet := PciGpibExInitBoard(0, 0);<br />
if nRet0 then<br />
begin<br />
MessageDlg('ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールが 初 期 化 できません',<br />
mtInformation, [mbOK], 0);<br />
Exit; // ダイアログを 閉 じる<br />
end;<br />
// IFCを 送 出<br />
nRet := PciGpibExSetIfc(0, 1);<br />
if nRet0 then<br />
begin<br />
MessageDlg('IFC 送 出 に 失 敗 しました', mtInformation, [mbOK], 0);<br />
PciGpibExFinishBoard(0); // ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールを<br />
使 用 終 了<br />
Exit; // ダイアログを 閉 じる<br />
end;<br />
// REN 信 号 有 効<br />
nRet := PciGpibExSetRen(0);<br />
if nRet0 then<br />
begin<br />
MessageDlg('REN 信 号 有 効 に 失 敗 しました', mtInformation, [mbOK], 0);<br />
PciGpibExFinishBoard(0); // ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールを 使<br />
用 終 了<br />
Exit; // ダイアログを 閉 じる<br />
end;<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
213
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
// 送 信 文 字 列 設 定<br />
pSendData := StrNew('F1R0SI100IT1');<br />
// 機 器 アドレス 設 定<br />
gnAdrsTbl[0] := 2;<br />
gnAdrsTbl[1] := -1;<br />
// YOKOGAWA 7561 に 対 して 次 のモード 設 定 を 行 います<br />
//<br />
// ・DCV / AUTO RANGE / Interval100msec / 積 分 時 間 2.5msec<br />
//<br />
gdwSLength := 12;<br />
nRet := PciGpibExMastSendData(0, @gnAdrsTbl[0], gdwSLength, pSendData,<br />
WM_NULL);<br />
StrDispose(pSendData);<br />
MessageDlg('YOKOGAWA 7561 : 送 信 文 字 列 = ' + 'F1R0SI100IT1',<br />
mtInformation, [mbOK], 0);<br />
if nRet0 then<br />
begin<br />
MessageDlg('データ 送 信 に 失 敗 しました', mtInformation, [mbOK], 0);<br />
PciGpibExFinishBoard(0); // ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールを<br />
使 用 終 了<br />
Exit; // ダイアログを 閉 じる<br />
end;<br />
// YOKOGAWA 7561 から 測 定 データを 受 信 します<br />
gdwRLength := 32;<br />
nRet := PciGpibExMastRecvData(0, @gnAdrsTbl[0], gdwRLength, @gRecvBuf[0],<br />
WM_NULL);<br />
if nRet0 then<br />
begin<br />
MessageDlg('データ 受 信 に 失 敗 しました', mtInformation, [mbOK], 0);<br />
PciGpibExFinishBoard(0); // ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールを<br />
使 用 終 了<br />
Exit; // ダイアログを 閉 じる<br />
end;<br />
0);<br />
// 受 信 文 字 列 の 表 示<br />
MessageDlg('YOKOGAWA 7561 : 受 信 文 字 列 = ' + gRecvBuf, mtInformation, [mbOK],<br />
MessageDlg('YOKOGAWA 7561 : 受 信 データ 長 = ' + IntToStr(gdwRLength),<br />
mtInformation, [mbOK], 0);<br />
PciGpibExFinishBoard(0);<br />
用 終 了<br />
End.<br />
// ボードアクセス 番 号 0 の<strong>インタフェース</strong>モジュールを 使<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
214
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
4.5.2 標 準 版 DLL<br />
■C 言 語<br />
// =================================================================<br />
// GP-IB <strong>インタフェース</strong>モジュール 用 Windows ドライバ<br />
// 標 準 版 DLL プログラム 例 C 言 語 コンソールアプリケーション<br />
// (MS-DOS プロンプトまたはコマンド プロンプトで 実 行 します)<br />
//<br />
// Copyright 2000, 2007 Interface Corporation. All rights reserved.<br />
//<br />
// プログラム 説 明<br />
// YOKOGAWA 7561 からの 計 測 データを 画 面 に 表 示 します<br />
// =================================================================<br />
#include <br />
#include <br />
#include "<strong>GPC</strong><strong>4304</strong>2.H"<br />
int nInpDevAdrsTbl[2] = { 2, -1 }; // 入 力 機 器 アドレステーブル<br />
char *szSendData = "F1R0SI100IT1"; // YOKOGAWA 7561 送 信 データ<br />
char RecvBuf[100];<br />
// バッファ 格 納 領 域<br />
void main(void)<br />
{<br />
int nRet;<br />
DWORD nLen;<br />
ULONG ulBoardNo = 0;<br />
// 関 数 戻 り 値<br />
// バッファサイズ<br />
// ボード 番 号<br />
// ボード 番 号 0 の<strong>インタフェース</strong>モジュールを 初 期 化<br />
nRet = GpibOpen( ulBoardNo );<br />
if (nRet) {<br />
printf("ボード 番 号 0 の<strong>インタフェース</strong>モジュールが 初 期 化 できません¥n");<br />
printf("エラーコード : %d¥n", nRet);<br />
exit(0);<br />
// プログラム 終 了<br />
}<br />
// IFCを 送 出<br />
nRet = GpibSetIfc( ulBoardNo );<br />
if (nRet) {<br />
printf("IFC 送 出 に 失 敗 しました¥n");<br />
printf("エラーコード : %d¥n", nRet);<br />
GpibClose( ulBoardNo );<br />
// ボード 番 号 0 の<strong>インタフェース</strong>モジュール<br />
を 使 用 終 了<br />
exit(0);<br />
// プログラム 終 了<br />
}<br />
// REN 信 号 有 効<br />
nRet = GpibSetRen( ulBoardNo );<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
215
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
if (nRet) {<br />
printf("REN 信 号 有 効 に 失 敗 しました¥n");<br />
printf("エラーコード : %d¥n", nRet);<br />
GpibClose( ulBoardNo );<br />
// ボード 番 号 0 の<strong>インタフェース</strong>モジュール<br />
を 使 用 終 了<br />
exit(0);<br />
// プログラム 終 了<br />
}<br />
// YOKOGAWA 7561 に 対 して 次 のモード 設 定 を 行 います<br />
//<br />
// ・DCV / AUTO RANGE / Interval100msec / 積 分 時 間 2.5msec<br />
//<br />
printf("YOKOGAWA 7561 : 送 信 文 字 列 = %s¥n", szSendData);<br />
nRet = GpibSend( ulBoardNo, nInpDevAdrsTbl, strlen(szSendData), szSendData );<br />
if(nRet) {<br />
printf("データ 送 信 に 失 敗 しました¥n");<br />
printf("エラーコード : %d¥n", nRet);<br />
GpibClose( ulBoardNo );<br />
// ボード 番 号 0 の<strong>インタフェース</strong>モジュール<br />
を 使 用 終 了<br />
exit(0);<br />
// プログラム 終 了<br />
}<br />
// YOKOGAWA 7561 から 測 定 データを 受 信 します<br />
nLen = sizeof(RecvBuf);<br />
nRet = GpibReceive( ulBoardNo, nInpDevAdrsTbl, &nLen, RecvBuf );<br />
if(nRet) {<br />
printf("データ 受 信 に 失 敗 しました¥n");<br />
printf("エラーコード : %d¥n", nRet);<br />
GpibClose( ulBoardNo );<br />
// ボード 番 号 0 の<strong>インタフェース</strong>モジュール<br />
を 使 用 終 了<br />
exit(0);<br />
// プログラム 終 了<br />
}<br />
// 受 信 文 字 列 の 表 示<br />
printf(" 受 信 処 理 戻 り 値 = %d¥n", nRet);<br />
printf("YOKOGAWA 7561 : 受 信 文 字 列 = %s¥n", RecvBuf);<br />
printf("YOKOGAWA 7561 : 受 信 データ 長 = %d¥n", nLen);<br />
}<br />
// ボード 番 号 0 の<strong>インタフェース</strong>モジュールを 使 用 終 了<br />
GpibClose( ulBoardNo );<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
216
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
■Visual Basic<br />
' ===================================================================<br />
' GP-IB <strong>インタフェース</strong>モジュール 用 Windows ドライバ<br />
' 標 準 版 DLL プログラム 例 Visual Basic<br />
'<br />
'<br />
Copyright 2000, 2007 Interface Corporation. All rights reserved.<br />
'<br />
' プログラム 説 明<br />
' YOKOGAWA 7561 からの 計 測 データを 画 面 に 表 示 します<br />
' ===================================================================<br />
' 変 数 定 義<br />
Dim nLen As Long<br />
Dim szData As String<br />
Dim RecvBuf As String<br />
Dim InpDevAdrsTbl(1) As Long<br />
Dim ulBoardNo As Long<br />
' バッファサイズ<br />
' 送 信 データ<br />
' バッファ 格 納 領 域<br />
' 入 力 機 器 アドレステーブル<br />
ulBoardNo = 0<br />
' ボード 番 号 0 の<strong>インタフェース</strong>モジュールを 初 期 化<br />
nRet = GpibOpen( ulBoardNo )<br />
If nRet 0 Then<br />
nRet = MsgBox("ボード 番 号 0 の<strong>インタフェース</strong>モジュールが 初 期 化 できません", _<br />
(vbOKOnly + vbCritical), "GpibOpen")<br />
Unload Me ' ダイアログを 閉 じる<br />
End If<br />
' IFC 送 出<br />
nRet = GpibSetIfc( ulBoardNo )<br />
If nRet 0 Then<br />
nRet = MsgBox("IFC 送 出 に 失 敗 しました", (vbOKOnly + vbCritical), "GpibSetIfc")<br />
GpibClose( ulBoardNo ) ' ボード 番 号 0 の<strong>インタフェース</strong>モジュールを 使 用 終 了<br />
Unload Me ' ダイアログを 閉 じる<br />
End If<br />
' REN 信 号 有 功<br />
nRet = GpibSetRen( ulBoardNo )<br />
If nRet 0 Then<br />
nRet = MsgBox("REN 信 号 有 効 に 失 敗 しました", (vbOKOnly + vbCritical),<br />
"GpibSetRen")<br />
GpibClose( ulBoardNo ) ' ボード 番 号 0 の<strong>インタフェース</strong>モジュールを 使 用 終 了<br />
Unload Me ' ダイアログを 閉 じる<br />
End If<br />
' 機 器 アドレスを 設 定<br />
InpDevAdrsTbl(0) = 2<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
217
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
InpDevAdrsTbl(1) = -1<br />
' YOKOGAWA 7561 に 対 して 次 のモード 設 定 を 行 います<br />
'<br />
' ・DCV / AUTO RANGE / Interval100msec / 積 分 時 間 2.5msec<br />
'<br />
' 送 信 文 字 列 の 表 示<br />
nRet = MsgBox("YOKOGAWA 7561 : 送 信 文 字 列 = F1R0SI100IT1", _<br />
(vbOKOnly + vbInformation), "GpibSend")<br />
szData = StrConv("F1R0SI100IT1", vbFromUnicode)<br />
nLen = LenB(szData)<br />
szData = StrConv(szData, vbUnicode)<br />
nRet = GpibSend( ulBoardNo, InpDevAdrsTbl(0), nLen, szData )<br />
If nRet 0 Then<br />
nRet = MsgBox("データ 送 信 に 失 敗 しました", (vbOKOnly + vbCritical), "GpibSend")<br />
GpibClose( ulBoardNo ) ' ボード 番 号 0 の<strong>インタフェース</strong>モジュールを 使 用 終 了<br />
Unload Me ' ダイアログを 閉 じる<br />
End If<br />
' YOKOGAWA 7561 から 測 定 データを 受 信 します<br />
nLen = 32<br />
RecvBuf = String(nLen, 0)<br />
nRet = GpibReceive( ulBoardNo, InpDevAdrsTbl(0), nLen, RecvBuf )<br />
If nRet 0 Then<br />
nRet = MsgBox("データ 受 信 に 失 敗 しました", (vbOKOnly + vbCritical), "GpibReceive")<br />
GpibClose( ulBoardNo ) ' ボード 番 号 0 の<strong>インタフェース</strong>モジュールを 使 用 終 了<br />
Unload Me ' ダイアログを 閉 じる<br />
End If<br />
' 受 信 文 字 列 の 表 示<br />
nRet = MsgBox("YOKOGAWA 7561 : 受 信 文 字 列 = " & RecvBuf, (vbOKOnly +<br />
vbInformation), "GpibReceive")<br />
' ボード 番 号 0 の<strong>インタフェース</strong>モジュールを 使 用 終 了<br />
GpibClose( ulBoardNo )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
218
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
■Delphi<br />
// =================================================================<br />
// GP-IB <strong>インタフェース</strong>モジュール 用 Windows ドライバ<br />
// 標 準 版 DLL プログラム 例 Delphi<br />
//<br />
// Copyright 2000, 2007 Interface Corporation. All rights reserved.<br />
//<br />
// プログラム 説 明<br />
// YOKOGAWA 7561 からの 計 測 データを 画 面 に 表 示 します<br />
// =================================================================<br />
var<br />
nRet : Integer;<br />
// 関 数 戻 り 値<br />
gdwSLength : Cardinal;<br />
// 送 信 データ 長<br />
gdwRLength : Cardinal;<br />
// 受 信 データ 長<br />
pSendData : pChar;<br />
// 送 信 データ<br />
gnAdrsTbl : Array[0..7]of Integer; // アドレステーブル<br />
gRecvBuf : Array[0..128]of Char; // 受 信 バッファ<br />
ulBoardNo : Cardinal;<br />
begin<br />
ulBoardNo := 0;<br />
// ボード 番 号 0 の<strong>インタフェース</strong>モジュールを 初 期 化<br />
nRet := GpibOpen( ulBoardNo );<br />
if nRet 0 then<br />
begin<br />
MessageDlg('ボード 番 号 0 の<strong>インタフェース</strong>モジュールが 初 期 化 できません',<br />
mtInformation, [mbOK], 0);<br />
Exit;<br />
// ダイアログを 閉 じる<br />
end;<br />
// IFCを 送 出<br />
nRet := GpibSetIfc( ulBoardNo );<br />
if nRet 0 then<br />
begin<br />
MessageDlg('IFC 送 出 に 失 敗 しました', mtInformation, [mbOK], 0);<br />
GpibClose( ulBoardNo ); // ボード 番 号 0 の<strong>インタフェース</strong>モジュールを 使 用 終 了<br />
Exit;<br />
// ダイアログを 閉 じる<br />
end;<br />
// REN 信 号 有 効<br />
nRet := GpibSetRen( ulBoardNo );<br />
if nRet 0 then<br />
begin<br />
MessageDlg('REN 信 号 有 効 に 失 敗 しました', mtInformation, [mbOK], 0);<br />
GpibClose( ulBoardNo ); // ボード 番 号 0 の<strong>インタフェース</strong>モジュールを 使 用 終 了<br />
Exit;<br />
// ダイアログを 閉 じる<br />
end;<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
219
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
// 送 信 文 字 列 設 定<br />
pSendData := StrNew('F1R0SI100IT1');<br />
// 機 器 アドレス 設 定<br />
gnAdrsTbl[0] := 2;<br />
gnAdrsTbl[1] := -1;<br />
// YOKOGAWA 7561 に 対 して 次 のモード 設 定 を 行 います<br />
//<br />
// ・DCV / AUTO RANGE / Interval100msec / 積 分 時 間 2.5msec<br />
//<br />
gdwSLength := 12;<br />
nRet := GpibSend( ulBoardNo, @gnAdrsTbl[0], gdwSLength, pSendData );<br />
StrDispose(pSendData);<br />
MessageDlg('YOKOGAWA 7561 : 送 信 文 字 列 = ' + 'F1R0SI100IT1', mtInformation,<br />
[mbOK], 0);<br />
if nRet0 then<br />
begin<br />
MessageDlg('データ 送 信 に 失 敗 しました', mtInformation, [mbOK], 0);<br />
GpibClose( ulBoardNo );<br />
// ボード 番 号 0 の<strong>インタフェース</strong>モジュールを<br />
使 用 終 了<br />
Exit;<br />
// ダイアログを 閉 じる<br />
end;<br />
// YOKOGAWA 7561 から 測 定 データを 受 信 します<br />
gdwRLength := 32;<br />
nRet := GpibReceive( ulBoardNo, @gnAdrsTbl[0], gdwRLength, @gRecvBuf[0] );<br />
if nRet0 then<br />
begin<br />
MessageDlg('データ 受 信 に 失 敗 しました', mtInformation, [mbOK], 0);<br />
GpibClose( ulBoardNo ); // ボード 番 号 0 の<strong>インタフェース</strong>モジュールを 使 用 終 了<br />
Exit;<br />
// ダイアログを 閉 じる<br />
end;<br />
0);<br />
// 受 信 文 字 列 の 表 示<br />
MessageDlg('YOKOGAWA 7561 : 受 信 文 字 列 = ' + gRecvBuf, mtInformation, [mbOK],<br />
MessageDlg('YOKOGAWA 7561 : 受 信 データ 長 = ' + IntToStr(gdwRLength),<br />
mtInformation, [mbOK], 0);<br />
GpibClose( ulBoardNo );<br />
End.<br />
// ボード 番 号 0 の<strong>インタフェース</strong>モジュールを 使 用 終 了<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
220
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
4.6 マルチライン<strong>インタフェース</strong>メッセージ 一 覧<br />
h:16 進 数 , d:10 進 数 , A:ASCII, M:<strong>インタフェース</strong>メッセージ<br />
h d A M h d A M h d A M<br />
00 0 NUL - 2B 43 + MLA11 56 86 V MTA22<br />
01 1 SOH GTL 2C 44 , MLA12 57 87 W MTA23<br />
02 2 STX - 2D 45 - MLA13 58 88 X MTA24<br />
03 3 ETX - 2E 46 . MLA14 59 89 Y MTA25<br />
04 4 EOT SDC 2F 47 / MLA15 5A 90 Z MTA26<br />
05 5 ENQ PPC 30 48 0 MLA16 5B 91 [ MTA27<br />
06 6 ACK - 31 49 1 MLA17 5C 92 ¥ MTA28<br />
07 7 BEL - 32 50 2 MLA18 5D 93 ] MTA29<br />
08 8 BS GET 33 51 3 MLA19 5E 94 ^ MTA30<br />
09 9 HT TCT 34 52 4 MLA20 5F 95 _ UNT<br />
0A 10 LF - 35 53 5 MLA21 60 96 ` MSA00,PPE<br />
0B 11 VT - 36 54 6 MLA22 61 97 a MSA01,PPE<br />
0C 12 FF - 37 55 7 MLA23 62 98 b MSA02,PPE<br />
0D 13 CR - 38 56 8 MLA24 63 99 c MSA03,PPE<br />
0E 14 SO - 39 57 9 MLA25 64 100 d MSA04,PPE<br />
0F 15 SI - 3A 58 : MLA26 65 101 e MSA05,PPE<br />
10 16 DLE - 3B 59 ; MLA27 66 102 f MSA06,PPE<br />
11 17 DC1 LLO 3C 60 < MLA28 67 103 g MSA07,PPE<br />
12 18 DC2 - 3D 61 = MLA29 68 104 h MSA08,PPE<br />
13 19 DC3 - 3E 62 > MLA30 69 105 i MSA09,PPE<br />
14 20 DC4 DCL 3F 63 UNL 6A 106 j MSA10,PPE<br />
15 21 NAK PPU 40 64 @ MTA00 6B 107 k MSA11,PPE<br />
16 22 SYN - 41 65 A MTA01 6C 108 l MSA12,PPE<br />
17 23 ETB - 42 66 B MTA02 6D 109 m MSA13,PPE<br />
18 24 CAN SPE 43 67 C MTA03 6E 110 n MSA14,PPE<br />
19 25 EM SPD 44 68 D MTA04 6F 111 o MSA15,PPE<br />
1A 26 SUB - 45 69 E MTA05 70 112 p MSA16,PPD<br />
1B 27 ESC - 46 70 F MTA06 71 113 q MSA17,PPD<br />
1C 28 FS - 47 71 G MTA07 72 114 r MSA18,PPD<br />
1D 29 GS - 48 72 H MTA08 73 115 s MSA19,PPD<br />
1E 30 RS - 49 73 I MTA09 74 116 t MSA20,PPD<br />
1F 31 US - 4A 74 J MTA10 75 117 u MSA21,PPD<br />
20 32 SP MLA00 4B 75 K MTA11 76 118 v MSA22,PPD<br />
21 33 ! MLA01 4C 76 L MTA12 77 119 w MSA23,PPD<br />
22 34 “ MLA02 4D 77 M MTA13 78 120 x MSA24,PPD<br />
23 35 # MLA03 4E 78 N MTA14 79 121 y MSA25,PPD<br />
24 36 $ MLA04 4F 79 O MTA15 7A 122 z MSA26,PPD<br />
25 37 % MLA05 50 80 P MTA16 7B 123 { MSA27,PPD<br />
26 38 & MLA06 51 81 Q MTA17 7C 124 | MSA28,PPD<br />
27 39 ‘ MLA07 52 82 R MTA18 7D 125 } MSA29,PPD<br />
28 40 ( MLA08 53 83 S MTA19 7E 126 ~ MSA30,PPD<br />
29 41 ) MLA09 54 84 T MTA20 7F 127 DEL -<br />
2A 42 * MLA10 55 85 U MTA21<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
221
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
■マルチライン<strong>インタフェース</strong>メッセージの 定 義<br />
PPD : Parallel Poll Disable(パラレルポールの 設 定 解 除 )<br />
PPE : Parallel Poll Enable(パラレルポールの 設 定 )<br />
PPU : Parallel Poll Unconfigure(パラレルポール 用 設 定 の 解 除 )<br />
SDC : Selected Device Clear( 選 択 されたデバイスのクリア)<br />
SPD : Serial Poll Disable(シリアルポールの 設 定 解 除 )<br />
SPE : Serial Poll Enable(シリアルポールの 設 定 )<br />
TCT : Take Control(コントロールの 取 得 )<br />
UNL : Unlisten( 全 リスナの 解 除 )<br />
UNT : Untalk( 全 トーカの 解 除 )<br />
DCL : Device Clear(デバイスのクリア)<br />
GET : Group Execute Trigger(グループトリガ 実 行 )<br />
GTL : Go To Local(ローカルモードに 設 定 )<br />
LLO : Local Lockout(ローカルのロックアウト)<br />
MLA : My Listen Address(リスンアドレス)<br />
MSA : My Secondary Address(2 次 アドレス)<br />
MTA : My Talk Address(トーカアドレス)<br />
PPC : Parallel Poll Configure(パラレルポールの 設 定 )<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
222
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
第 5 章 サンプルプログラム<br />
サンプルプログラムには 実 行 形 式 のファイルが 付 属 していません。<br />
ソースコードをコンパイルして 実 行 ファイルを 生 成 してから、 動 作 させてください。<br />
●Visual C++の 場 合<br />
Visual C++(Visual Studio)を 起 動 し、「ファイル」メニューから「ワークスペースを 開 く」を 選 び、<br />
メイクファイル「*.mak」を 開 き、ビルドしてください。<br />
●Visual Basic の 場 合<br />
Visual Basic を 起 動 し、プロジェクトファイル「*.vbp」を 開 き、ビルドしてください。<br />
●Delphi の 場 合<br />
Delphi を 起 動 し、プロジェクトファイル「*.dpr」を 開 き、ビルドしてください。<br />
作 成 後 、「*.exe」を 起 動 してください。<br />
5.1 高 機 能 版 DLL<br />
以 下 、 高 機 能 版 DLL の 各 サンプルプログラムの 概 要 を 説 明 します。<br />
プログラム 名<br />
内 容<br />
Async_X(※) 非 同 期 送 受 信 を 行 います。<br />
Binary_X(※) バイナリデータの 送 受 信 を 行 います。<br />
Ctrl_X(※) 計 測 機 器 の 制 御 を 行 います。<br />
Device_X(※) 計 測 機 器 (YOKOGAWA7561、HP3245A)の 制 御 を 行 います。<br />
ManualOp_X(※) 関 数 の 手 動 実 行 を 行 います。<br />
MultiDevice_X(※) 複 数 機 器 の 制 御 を 行 います。<br />
csend<br />
コントローラの 送 信 を 行 います。<br />
creceive<br />
コントローラの 受 信 を 行 います。<br />
spoll<br />
シリアルポールを 行 います。<br />
tsend<br />
トーカ( 非 コントローラ)の 送 信 を 行 います。<br />
lreceive<br />
リスナ( 非 コントローラ)の 受 信 を 行 います。<br />
srq<br />
サービスリクエストを 行 います。<br />
※プログラム 名 の X は 各 言 語 により 異 なります (X = C:Visual C++, B:Visual Basic, D:Delphi)<br />
5.2 標 準 版 DLL<br />
以 下 、 標 準 版 DLL の 各 サンプルプログラムの 概 要 を 説 明 します。<br />
プログラム 名 内 容<br />
Ctrl_X2(※) 計 測 機 器 の 制 御 を 行 います。<br />
※プログラム 名 の X は 各 言 語 により 異 なります (X = C:Visual C++, B:Visual Basic, D:Delphi)<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
223
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
第 6 章 ユーティリティ<br />
以 下 、 各 ユーティリティの 概 要 を 説 明 します。<br />
6.1 動 作 確 認 プログラム<br />
6.1.1 GP-IB ユーティリティ<br />
GP-IB の 動 作 を 確 認 するための GUI プログラムを 用 意 しています。<br />
【 起 動 方 法 】<br />
付 属 ソフトウェアのインストール 完 了 後 、「スタート」メニューより「Interface <strong>GPC</strong>-<strong>4304</strong>」<br />
→「GP-IB ユーティリティプログラム」を 起 動 します。<br />
【メニュー】<br />
メニュー プルダウンメニュー 内 容<br />
ファイル ボードのオープン GP-IB <strong>インタフェース</strong>モジュールを 使 用 するためにオ<br />
ープンを 行 います。<br />
以 下 のような 設 定 用 ダイアログボックスが 表 示 されま<br />
すので、 オープンする<strong>インタフェース</strong>モジュールとア<br />
ドレスとデリミタを 選 択 し「OK」を 押 します。<br />
ボードのクローズ オープンされている GP-IB <strong>インタフェース</strong>モジュール<br />
をクローズします。<br />
アプリケーションの 終 了 GP-IB ユーティリティを 終 了 させます。<br />
編 集 バッファのクリア 送 信 データ 入 力 テキストボックス、 受 信 データ 表 示 テキ<br />
ストボックス、バスコマンド 入 力 ボックスをクリアしま<br />
す。<br />
ヘルプ バージョン 情 報 GP-IB ユーティリティのバージョン 情 報 を 表 示 します。<br />
【 画 面 の 説 明 】<br />
■GP-IB ステータス<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
224
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
ステータス<br />
CIC(Controller in Charge)<br />
ATN(Attention)<br />
TA(Talk Active)<br />
LA(Listen Active)<br />
REM(Remote)<br />
LOK(Lockout)<br />
SRQ(Service Request)<br />
説 明<br />
コントローラ・イン・チャージであることを 表 します。<br />
ATN ラインの 状 態 を 表 します。<br />
トーカであることを 表 します。<br />
リスナであることを 表 します。<br />
リモート 状 態 を 表 します。<br />
ロックアウト 状 態 を 表 します。<br />
SRQ ラインの 状 態 を 表 します。<br />
■ボードアドレス<br />
使 用 する<strong>インタフェース</strong>モジュールのアドレスを 表 します。<br />
2 次 アドレスを 使 用 しない 場 合 は、1 次 アドレスのみ 表 示 します。<br />
■IFC/REN ボタン<br />
IFC ボタン:IFC 信 号 を 100µs 送 出 します。<br />
REN ボタン:REN 信 号 の ON/OFF を 行 います。<br />
REN 信 号 が Assert 状 態 のとき 上 の LED が 点 灯 します。<br />
■モード 設 定<br />
ユーティリティのモードを 設 定 します<br />
MASTER モードのときのみ 有 効 です(MASTER モードへの 切 り 替 えはコントロールパネルで<br />
行 います)。<br />
モード<br />
説 明<br />
Data Send データ 送 信 を 行 います<br />
Data Receive データ 受 信 を 行 います<br />
Device Clear デバイスクリアを 行 います<br />
Device Trigger デバイストリガを 行 います<br />
Serial Poll シリアルポールを 行 います<br />
Bus Command バスコマンドを 送 信 します<br />
■データ 送 信 設 定<br />
送 信 セットアップを 行 います。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
225
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
「Pri.」ボックスに 接 続 機 器 の 1 次 アドレス、「2nd.」ボックスに 2 次 アドレスを 入 力 し「Exec」<br />
ボタンを 押 します。<br />
(2 次 アドレスがない 場 合 は「2nd.」ボックスには 何 も 入 力 しません)<br />
ボタンを 押 すと 送 信 モードに 切 り 替 わり、 送 信 データ 入 力 テキストボックスが 開 かれ、 設 定 し<br />
た 接 続 相 手 に 対 してデータの 送 信 が 行 えるようになります。<br />
「Exec」ボタンをもう 一 度 押 すと 送 信 データ 入 力 テキストボックスは 閉 じ 送 信 モードを 解 除 し<br />
ます。<br />
■データ 受 信 設 定<br />
受 信 セットアップを 行 います。<br />
「Pri.」ボックスに 接 続 機 器 の 1 次 アドレス、「2nd.」ボックスに 2 次 アドレスを 入 力 し「Exec」<br />
ボタンを 押 します。<br />
(2 次 アドレスがない 場 合 は「2nd.」ボックスには 何 も 入 力 しません)<br />
ボタンを 押 すと 受 信 モードに 切 り 替 わり、 受 信 データ 表 示 テキストボックスが 開 かれ、 設 定 し<br />
た 接 続 相 手 からデータの 受 信 が 行 えるようになります。<br />
「Exec」ボタンをもう 一 度 押 すと 受 信 データ 表 示 テキストボックスは 閉 じ 受 信 モードを 解 除 し<br />
ます。<br />
■デバイスクリア<br />
デバイスクリアコマンドを 送 信 します。<br />
「Pri.」ボックスに 送 信 する 接 続 機 器 の 1 次 アドレス、「2nd.」ボックスに 2 次 アドレスを 入 力<br />
し「Clear」ボタンを 押 します。<br />
(2 次 アドレスがない 場 合 は「2nd.」ボックスには 何 も 入 力 しません)<br />
■デバイストリガ<br />
デバイストリガコマンドを 送 信 します。<br />
「Pri.」ボックスに 送 信 する 接 続 機 器 の 1 次 アドレス、「2nd.」ボックスに 2 次 アドレスを 入 力<br />
し「Trigger」ボタンを 押 します。<br />
(2 次 アドレスがない 場 合 は「2nd.」ボックスには 何 も 入 力 しません)<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
226
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
■シリアルポール<br />
シリアルポールを 行 います。<br />
「Pri.」ボックスにシリアルポールを 行 う 接 続 機 器 の 1 次 アドレス、「2nd.」ボックスに 2 次 ア<br />
ドレスを 入 力 し「Serial Poll」ボタンを 押 します。<br />
(2 次 アドレスがない 場 合 は「2nd.」ボックスには 何 も 入 力 しません)<br />
機 器 から 受 信 した STB(Status Byte)は「STB」ボックスに 表 示 されます。<br />
■バスコマンド<br />
バスコマンドの 送 信 を 行 います。<br />
「Msg.」ボックス 列 にバスコマンドのコードを 16 進 数 で 入 力 していきま<br />
す( 最 大 10 バイト)<br />
「Send」ボタンで 入 力 したバスコマンドが 送 信 されます<br />
「Msg.」ボックス 内 でマウスを 右 クリックするとバスコマンドの 一 覧 が 表<br />
示 されます( 右 図 )<br />
メニューを 選 択 すると 該 当 するコードが「Msg.」ボックスに 入 ります。<br />
一 覧 表 示 されるバスコマンドは 以 下 のとおりです。<br />
バスコマンド<br />
コード<br />
GTL(Go to Local)<br />
01h<br />
SDC(Selected Device Clear) 04h<br />
GET(Group Execute 08h<br />
Trigger)<br />
LLO(Local Lockout) 11h<br />
DCL(Device Clear)<br />
14h<br />
MTA(My Talk Address) [ 弊 社 GP-IB <strong>インタフェース</strong>の 1 次 アドレス] + 40h<br />
[ 弊 社 GP-IB <strong>インタフェース</strong>の 2 次 アドレス](2 次 アドレス 設 定 時 )<br />
MLA(My Listen Address) [ 弊 社 GP-IB <strong>インタフェース</strong>の 1 次 アドレス] + 20h<br />
[ 弊 社 GP-IB <strong>インタフェース</strong>の 2 次 アドレス](2 次 アドレス 設 定 時 )<br />
TA(Talk Address)<br />
[ 接 続 機 器 の 1 次 アドレス(※)] + 40h<br />
[ 接 続 機 器 の 2 次 アドレス(※)](2 次 アドレス 設 定 時 )<br />
LA(Listen Address)<br />
[ 接 続 機 器 の 1 次 アドレス(※)] + 20h<br />
[ 接 続 機 器 の 2 次 アドレス(※)](2 次 アドレス 設 定 時 )<br />
※ 接 続 機 器 のアドレスは 以 下 のアドレス 入 力 用 ダイアログボックスで 入 力 します。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
227
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
■サービス 要 求<br />
SLAVE モードのときのみ 有 効 です(SLAVE モードへの 切 り 替 えはコントロールパネルで 行 い<br />
ます)<br />
「STB」ボックスに STB(Status Byte)を 入 力 し「Request」ボタンを 押 します。<br />
サービス 要 求 が 行 われ SRQ ラインが 有 効 になります。<br />
■ 送 信 データ 入 力 テキストボックス<br />
送 信 するデータを 入 力 します。<br />
リターンキーを 押 した 行 のデータを 接 続 機 器 に 対 して 送 信 します。<br />
■ 受 信 データ 表 示 テキストボックス<br />
受 信 したデータを 表 示 します。<br />
「Recv」ボタンを 押 すと 機 器 から 受 け 取 ったデータを 表 示 します<br />
「Rep.」チェックボックスにチェックを 入 れておくと、 連 続 してデータを 受 信 し 表 示 します。<br />
【 内 部 処 理 】<br />
GP-IB ユーティリティ 内 部 にて、どのように<strong>インタフェース</strong>モジュールの 制 御 を 行 っているか、<br />
その 概 略 を 説 明 いたします。<br />
1.メイン 処 理<br />
1) PciGpibExInitBoard 関 数 にて 初 期 化<br />
2) PciGpibExSetConfig 関 数 にてパラメータ 設 定<br />
→ここで<strong>インタフェース</strong>モジュールオープン 時 のデリミタ 設 定 が 行 われます。<br />
3) タイマをスタートさせる。<br />
→ 後 述 の「4.タイマルーチン」がバックグラウンドにて 常 時 動 作 している 状 態 となります。<br />
4) 入 力 待 ち<br />
→「Data Send」ボタン、「Data Receve」ボタンなどの 入 力 待 ちとなります。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
228
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
5) 押 されたボタンにより 処 理 を 選 択<br />
2.データ 送 信 (Data Send)<br />
1) 「Data Send Setup」にて 以 下 の 処 理 を 行 います。<br />
1.PciGpibExGoActCtrller 関 数 により、ATN をアサート(コマンドモードへ 遷 移 )<br />
2.PciGpibExWriteBusCmd 関 数 にて UNL、MTA、LA 送 信<br />
→UNL… 全 ての 機 器 のリスナ 指 定 を 解 除 (3Fh を 送 信 )<br />
MTA…<strong>インタフェース</strong>モジュール 自 身 をトーカ 指 定 (<strong>インタフェース</strong>モジュールのア<br />
ドレスが 0 ならば、40h を 送 信 )<br />
LA … 入 力 した 機 器 アドレスにより 機 器 をリスナ 指 定 ( 機 器 アドレスが 1 ならば、21h<br />
を 送 信 )<br />
3.PciGpibExGoStandby 関 数 により、ATN をデアサート(データモードへ 遷 移 )<br />
2) 送 信 入 力 ボックスが 開 きます。<br />
3) 送 信 入 力 ボックスへ 機 器 へ 送 信 したいデータを 入 力<br />
→ENTER キーを 押 すと、 次 のデータ 送 信 へ<br />
4) データ 送 信<br />
→PciGpibExSlavSendData 関 数 を 実 行 して、データ 送 信 を 行 います。<br />
3.データ 受 信 (Data Receive)<br />
1) 「Data Receive Setup」にて 以 下 の 処 理 を 行 います。<br />
1.PciGpibExGoActCtrlle r 関 数 により、ATN をアサート (コマンドモードへ 遷 移 )<br />
2.PciGpibExWriteBusCmd 関 数 にて UNL、MLA、TA 送 信<br />
→UNL… 全 ての 機 器 のリスナ 指 定 を 解 除 (3Fh を 送 信 )<br />
MLA…<strong>インタフェース</strong>モジュール 自 身 をリスナ 指 定 (<strong>インタフェース</strong>モジュールのア<br />
ドレスが 0 ならば、20h を 送 信 )<br />
TA … 入 力 した 機 器 アドレスより 機 器 をトーカ 指 定 ( 機 器 アドレスが 1 ならば、41h<br />
を 送 信 )<br />
3. PciGpibExGoStandby 関 数 により、ATN をデアサート (データモードへ 遷 移 )<br />
2) 受 信 データ 表 示 ボックスが 開 きます。<br />
→「Recv」ボタンを 押 した 場 合 には、3)へ<br />
→「Rep.」チェックボックスをチェックした 場 合 には、4)へ<br />
3) データ 受 信<br />
→PciGpibExSlavRecvData 関 数 を 実 行 して、データ 受 信 を 行 い、 表 示 します。<br />
4) 連 続 データ 送 信<br />
→データ 受 信 スレッドを 起 動 して、スレッド 内 にて 繰 り 返 し、PciGpibExSlavRecvData 関<br />
数 を 実 行<br />
→「Rep.」ボタンのチェックが 外 されるまで、スレッドが 動 作 し 続 けます。<br />
→ 受 信 バッファは、16384 バイトまでとなっており、バッファばフルになるまで 受 信 し 続<br />
けます。<br />
4.タイマルーチン<br />
1) 定 期 的 にタイマイベントが 発 生 してタイマルーチンが 呼 び 出 されています。<br />
→ 周 期 100ms<br />
2) タイマルーチンでは、PciGpibExGetStatus 関 数 を 呼 び 出 して、GP-IB Status の 更 新 を<br />
行 っています。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
229
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
6.2 自 己 診 断 プログラム<br />
本 製 品 には、 動 作 不 具 合 時 の 原 因 がハードウェア 的 なものか、ソフトウェア 的 なものかを 容 易 に 判 断<br />
するための 自 己 診 断 機 能 を 搭 載 しています。 診 断 プログラムを 用 いて 動 作 確 認 を 行 ってください。<br />
自 己 診 断 プログラムにより、 以 下 のことが 確 認 できます。<br />
●デバイスドライバがインストールされているか、また 正 常 にインストール 完 了 しているか<br />
●コンピュータと GP-IB <strong>インタフェース</strong>モジュールとの<strong>インタフェース</strong> 動 作 (レジスタアクセス,<br />
割 り 込 み 信 号 )<br />
自 己 診 断 プログラムが 正 常 に 動 作 すれば、システムの 不 具 合 の 原 因 を 以 下 の 要 因 に 絞 ることができま<br />
す。<br />
●GP-IB <strong>インタフェース</strong>モジュールの GP-IB <strong>インタフェース</strong> 部 分 の 故 障<br />
●GP-IB ケーブルの 破 損<br />
● 接 続 している GP-IB 機 器 の 動 作 不 具 合<br />
●アプリケーションプログラムの 不 具 合<br />
【 必 要 な 機 材 】<br />
・ 弊 社 GP-IB <strong>インタフェース</strong><br />
・ 自 己 診 断 プログラム(DiagGpib.exe)<br />
【 起 動 方 法 】<br />
1) PCI/CompactPCI ソフトウェアのインストール 完 了 後 、「スタート」メニューより「プログ<br />
ラム」-「Interface <strong>GPC</strong>-<strong>4304</strong>」-「DiagGpib」を 起 動 します。<br />
2) メニューの「ファイル」-「デバイスの 選 択 」を 選 択 すると、インストールされているデバイ<br />
スの 一 覧 が 表 示 されます。その 中 から、 使 用 したいデバイスを 選 択 し、「OK」ボタンをクリ<br />
ックします。<br />
<strong>インタフェース</strong>モジュールの 一 覧 表 示 に、 対 象 の<strong>インタフェース</strong>モジュールが 見 つからない<br />
場 合 は、 以 下 のことが 考 えられます。<br />
● デバイスドライバが 正 常 にインストールされていない。<br />
● コンピュータの BIOS や、Windows によって、GP-IB <strong>インタフェース</strong>モジュールが 正 し<br />
く 初 期 化 されていない。<br />
● GP-IB <strong>インタフェース</strong>モジュールの 故 障 。 弊 社 カスタマーサポートセンタまでお 問 い 合<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
230
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
わせください。<br />
検 査 を 行 う<strong>インタフェース</strong>モジュールを 選 択 すると、 画 面 に、 型 式 名 、RSW1 の 設 定 値 、I/O<br />
ポート(またはメモリ)ベースアドレス、IRQ 番 号 が 表 示 されます。<br />
コントロールパネル「Interface GP-IB Configuration」の 設 定 で、<strong>インタフェース</strong>モジュー<br />
ルの 動 作 モードは、 必 ず「MASTER」にしてください。「SLAVE」にすると 正 しく 診 断 で<br />
きません。<br />
複 数 枚 使 用 する 場 合 には、RSW1 の 設 定 値 を<strong>インタフェース</strong>モジュール 毎 で 異 なる 値 に 設 定<br />
してください。<br />
※このユーティリティで 同 時 に 複 数 のデバイスをオープンすることはできません。<br />
※GP-IB 製 品 を 複 数 枚 使 用 する 場 合 には、RSW1 の 設 定 値 を<strong>インタフェース</strong>モジュールごとで<br />
異 なる 値 に 設 定 してください。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
231
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
【 診 断 方 法 】<br />
1) メニューの「 診 断 」-「 診 断 開 始 」を 選 択 します。<br />
2) 診 断 開 始 のダイアログボックスが 表 示 されますので、<strong>インタフェース</strong>モジュールにケーブル<br />
が 挿 さっていないことを 確 認 して、OK ボタンをクリックします。<br />
3) 自 動 的 に 各 項 目 の 診 断 が 行 われ、 結 果 が 表 示 されます。<br />
4) 診 断 結 果 が「NG」の 場 合 には、メニューから「ファイル」-「 結 果 の 保 存 」で 診 断 結 果 を 印<br />
刷 してください。<br />
その 診 断 結 果 とともに 弊 社 カスタマーサポートセンタまでお 問 い 合 わせください。<br />
※ 動 作 モードが「MASTER」であること、ケーブルが 接 続 されていないことを 確 認 のうえ、<br />
問 い 合 わせ 頂 くようお 願 いいたします。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
232
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
第 7 章 重 要 な 情 報<br />
保 証 の 内 容 と 制 限<br />
弊 社 は 本 ドキュメントに 含 まれるソースプログラムの 実 行 が 中 断 しないこと、またはその<br />
実 行 に 誤 りが 無 いことを 保 証 していません。<br />
本 製 品 の 品 質 や 使 用 に 起 因 する、 性 能 に 起 因 するいかなるリスクも 使 用 者 が 負 うものとし<br />
ます。<br />
弊 社 はドキュメント 内 の 情 報 の 正 確 さに 万 全 を 期 しています。 万 一 、 誤 記 または 誤 植 など<br />
があった 場 合 、 弊 社 は 予 告 無 く 改 訂 する 場 合 があります。ドキュメントまたはドキュメン<br />
ト 内 の 情 報 に 起 因 するいかなる 損 害 に 対 しても 弊 社 は 責 任 を 負 いません。<br />
ドキュメント 内 の 図 や 表 は 説 明 のためであり、ユーザ 個 別 の 応 用 事 例 により 変 化 する 場 合<br />
があります。<br />
著 作 権 、 知 的 所 有 権<br />
弊 社 は 本 製 品 に 含 まれるおよび 本 製 品 に 対 する 権 利 や 知 的 所 有 権 を 保 持 しています。<br />
本 製 品 はコンピュータ ソフトウェア、 映 像 / 音 声 ( 例 えば 図 、 文 章 、 写 真 など)を 含 んでいま<br />
す。<br />
医 療 機 器 / 器 具 への 適 用 における 注 意<br />
弊 社 の 製 品 は 人 命 に 関 わるような 状 況 下 で 使 用 される 機 器 に 用 いられる 事 を 目 的 として 設<br />
計 、 製 造 された 物 では 有 りません。<br />
弊 社 の 製 品 は 人 体 の 検 査 などに 使 用 するに 適 する 信 頼 性 を 確 保 する 事 を 意 図 された 部 品 や<br />
検 査 機 器 と 共 に 設 計 された 物 では 有 りません。<br />
医 療 機 器 、 治 療 器 具 などの 本 製 品 の 適 用 により、 製 品 の 故 障 、ユーザ、 設 計 者 の 過 失 など<br />
により、 損 傷 / 損 害 を 引 き 起 こす 場 合 が 有 ります。<br />
複 製 の 禁 止<br />
弊 社 の 許 可 なく、 本 ドキュメントの 全 て、または 一 部 に 関 わらず、 複 製 、 改 変 などを 行 う<br />
ことはできません。<br />
責 任 の 制 限<br />
弊 社 は、 弊 社 または 再 販 売 者 の 予 見 の 有 無 にかかわらず 発 生 したいかなる 特 別 損 害 、 偶 発<br />
的 損 害 、 間 接 的 な 損 害 、 重 大 な 損 害 について、 責 任 を 負 いません。<br />
本 製 品 (ハードウェア,ソフトウェア)のシステム 組 み 込 み、 使 用 、ならびに 本 製 品 から 得 ら<br />
れる 結 果 に 関 する 一 切 のリスクについては、 本 製 品 の 使 用 者 に 帰 属 するものとします。<br />
本 製 品 に 含 まれるバグ、あるいは 本 製 品 の 供 給 ( 納 期 遅 延 )、 性 能 もしくは 使 用 に 起 因 する<br />
付 帯 的 損 害 もしくは 間 接 的 損 害 に 対 して、 弊 社 に 全 面 的 に 責 がある 場 合 でも、 弊 社 はその<br />
製 品 に 対 する 改 良 ( 正 常 に 動 作 する)、 代 品 交 換 までとし、 金 銭 面 での 賠 償 の 責 任 は 負 わな<br />
いものとしますので、 予 めご 了 承 ください。<br />
本 製 品 (ソフトウェアを 含 む)は、 日 本 国 内 仕 様 です。 本 製 品 を 日 本 国 外 で 使 用 された 場<br />
合 、 弊 社 は 一 切 責 任 を 負 いかねます。また、 弊 社 は 本 製 品 に 関 し、 海 外 での 保 守 サービス<br />
および 技 術 サポート 等 は 行 っておりません。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
233
<strong>GPC</strong>-<strong>4304</strong> Help for Windows<br />
商 標 / 登 録 商 標<br />
本 書 に 掲 載 されている 会 社 名 、 製 品 名 は、それぞれ 各 社 の 商 標 または 登 録 商 標 です。<br />
© 1997, 2014 Interface Corporation. All rights reserved.<br />
234